* add anomaly threshold configuration to settings
* hide panel if not ml capable
* send threshold value to query
* update license
* update api integration to expect anomalyThreshold to exist
* add some tests to the anomaly queries
* change type to number
* api validate in source update and config for anamolyThreshold and tests
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Add null check for empty process data
* Add Ability to filter datafeed for ml jobs
* Merge user-defined query with default query
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* first pass
* migrate more plugins
* migrate yet more plugins
* more oss plugins
* fix test file
* change Plugin signature on the client-side too
* fix test types
* migrate OSS client-side plugins
* migrate OSS client-side test plugins
* migrate xpack client-side plugins
* revert fix attempt on fleet plugin
* fix presentation start signature
* fix yet another signature
* add warnings for server-side async plugins in dev mode
* remove unused import
* fix isPromise
* Add client-side deprecations
* update migration examples
* update generated doc
* fix xpack unit tests
* nit
* (will be reverted) explicitly await for license to be ready in the auth hook
* Revert "(will be reverted) explicitly await for license to be ready in the auth hook"
This reverts commit fdf73feb
* restore await on on promise contracts
* Revert "(will be reverted) explicitly await for license to be ready in the auth hook"
This reverts commit fdf73feb
* Revert "restore await on on promise contracts"
This reverts commit c5f2fe51
* add delay before starting tests in FTR
* update deprecation ts doc
* add explicit contract for monitoring setup
* migrate monitoring plugin to sync
* change plugin timeout to 10sec
* use delay instead of silence
* [data.search] Add search session methods to search service contract
* Fix types
* Fix tests and switch to cancel
* Update docs
* Fix types/tests
* Fix tests
* Update status of SO before cancelling search requests
* Add API integration test
* Fix types
* Update expiration route to use config defaultExpiration
* Fix test
* Update docs
* New logic for extend
* Remove declare module
* Review feedback
* fix ts
* Remove test that is no longer valid
* Fix undefined bug
* Use DataRequestHandlerContext in maps
* ts
Co-authored-by: Liza K <liza.katz@elastic.co>
* add helptext to of expressions
* Make helptext optional as a prop for of expressions
* Add help text to metric threshold alert form
* Add test for helptext in of expression
* Accept JSX elements as helptext in of expressions
* Remove usage of useEuiI18n and use FormattedMessage component for translations
* Follow writing guidelines and fix typo
* Update translation keys
* Update documentation link
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Move `getTraceUrl` in the APM plugin to `getApmTraceUrl` in the observability plugin and use that instead in infra.
* Remove unused APM plugin depenency in infra.
* Use `pathname` instead of `hash` in infra to apm link to avoid unnecessary redirect.
* get midpoint of max and min instead of half of max number
* remove middle tick from stepped gradient legend
* use value instead of max values to calculate bounds
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* [Observability] Reduced space between title and subtitle
* [Observability] Reduce margin between sections
* [Observability] Reduce list item font size
* [Observability] Remove spacer
* [APM] Changes button style and label
* [Logs] Changes the actions button label and style
* [Logs] Fixes the overlap of actions button and close
* Updated test and snapshot
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* change from type:gauge to type:top_n in inventory models
* Add test for hostSystemOverview metric
* fix lint errors
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
The alerts plugin was importing `JsonObject` from the infra plugin. The infra plugin imported `JsonObject`, `JsonValue`, and `JsonArray` from kibanaUtils and then re-exported them.
Remove the re-export from the infra plugin and instead always import these types from kibanaUtils.
This PR tightens the typing on the Alerting framework's `AlertType` and its deeper typing around `AlertServices ` and `AlertExecutorOptions`.
This ensures the following:
1. It's now impossible<sup>✴</sup> to schedule actions on any ActionGroup other than the groups specified on the AlertType (including the Recovery group)
2. It's now impossible<sup>✴</sup> to schedule actions with incorrect `InstanceState` or `InstanceContext`
✴ Unless they bypass the Typescript typing, which is an explicit choice to bypass type safety
This PR encourages type safe usage of the Alerting framework by replacing the current default Params/State/InstanceState/InstanceContext types (which are `AlertTypeParams`/`AlertTypeState`/etc.) with `never`.
This means that code can continue to omit the specific types for these fields, as long as they aren't referenced.
Once an alert developer wishes to actually reference the parameters (or state/context), then they have to specify the type.
This PR also changed the typing of the `AlertTypeParams` and `AlertTypeState` from `Record<string, any>` to `Record<string, unknown>`, to ensure that where these catch-all types are used they will at least enforce `unknown` rather than `any`.
This change broke some usage in both @elastic/kibana-alerting-services plugins, but also other plugins in the Stack/Solutions. I tried to fix these where I could, but some of these require new types and refactoring in other teams' code, which I decided is best done by the team who own and maintain that code - I've added explicit `TODO` comments in all of these places, describing the required fix.
This PR also introduced a Generics based typing for the `Alert` type so that the `params` field can be typed as something other than `AlertTypeParams`.
* Removed a possibility to define two different names for Alert types on API and UI level
* fixed typechecks
* fixed typechecks
* fixed due to comments
* fixed typechecks
* fixed jest tests
* fixed typechecks
This replaces the usage of a custom auto-completion component with the shared `<QueryStringInput>` component provided by the `data` plugin. Aside from fixing the focus loss issue that caused #84543 this also introduces the inclusion of historic, local-storage-persisted queries in the suggestions.
* Only allow one panel to be open at a time
* Move EuiOutsideClickDetector inside the portal
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* [Alerts][License] Define minimum license required for each alert type (#84997)
* Define minimum license required for each alert type
* fixed typechecks
* fixed tests
* fixed tests
* fixed due to comments
* fixed due to comments
* removed file
* removed casting to LicenseType
* [Alerts][License] Add license checks to alerts HTTP APIs and execution (#85223)
* [Alerts][License] Add license checks to alerts HTTP APIs and execution
* fixed typechecks
* resolved conflicts
* resolved conflicts
* added router tests
* fixed typechecks
* added license check support for alert task running
* fixed typechecks
* added integration tests
* fixed due to comments
* fixed due to comments
* fixed tests
* fixed typechecks
* [Alerting UI][License] Disable alert types in UI when the license doesn't support it. (#85496)
* [Alerting UI][License] Disable alert types in UI when the license doesn't support it.
* fixed typechecks
* added licensing for alert list and details page
* fixed multy select menu
* fixed due to comments
* fixed due to comments
* fixed due to comments
* fixed typechecks
* fixed license error message
* fixed license error message
* fixed typechecks
* fixed license error message
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Updated to eui@30.4.1, fixed types and unit tests
* Cleanup some imports
* Fix a text color swap, now back to danger text
* Bump EUI to v30.4.2
* Revert snapshot changes from ownFocus modification
* Clean up alert flyout test actions to better represent user actions
* Upgrade EUI to 30.5.1
* More accurate test interaction
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Add properties tab to flyout
* Better id for i18n title
* Update i18n ids
* Fix test and styling
* Style changes, add support for collapsing array fields
* Add loading indicators
* Fix type check
* Fix another test
* Fix tests for pods
* Add link to node details page
* Only show the overlay when viewing hosts
* Take into account cores when showing cpu
* Make it easier to read
* Remove unnecessary cast
* Fix PR feedback
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This replaces the log item API with a single-log-entry search strategy. This is used to fetch the data for display in the details flyout. There should be no significant visual difference to the user.
Reapplies the #84123 PR:
This PR changes the default term from “Resolved” to “Recovered”, as it fits most use cases and we feel users are most likely to understand its meaning across domains.
This PR changes the default term from “Resolved” to “Recovered”, as it fits most use cases and we feel users are most likely to understand its meaning across domains.
* bump version to 4.1.1-rc
* fix code to run kbn bootstrap
* fix errors
* DO NOT MERGE. mute errors and ping teams to fix them
* Address EuiSelectableProps configuration in discover sidebar
* use explicit type for EuiSelectable
* update to ts v4.1.2
* fix ts error in EuiSelectable
* update docs
* update prettier with ts version support
* Revert "update prettier with ts version support"
This reverts commit 3de48db3ec.
* address another new problem
Co-authored-by: Chandler Prall <chandler.prall@gmail.com>
* Replaced AppContextProvider introduced by the plugin with KibanaContextProvider
* Removed unused files
* Fixed jest test
* Removed ActionsConnectorContext
* exposed addConnectorFlyout and editConnectorFlyouts as a plugin start result
* removed rest of unused connectors context
* fixed capabilities
* fixed jest tests
* fixed jest tests
* fixed jest tests
* fixed uptime
* fixed typecheck errors
* fixed typechecks
* fixed jest tests
* fixed type
* fixed uptime settings by pathing the correct plugin dependancy
* fixed security detection rules
* fixed due to commetns
* fixed jest tests
* fixed type check
* removed orig files
* fixed cases UI issues
* fixed due to comments
* fixed due to comments
* fixed kibana crash
* fixed es-lint
* update deps
* update rules
use type-aware @typescript-eslint/no-shadow instead of no-shadow. do not use no-undef, rely on TypeScript instead
* fix or mute all lint errors
* react-hooks eslint plugin fails on ? syntax
* fix wrong typings in viz
* remove React as a global type
* fix eslint errors
* update version to 4.8.1
* fix a new error
Jest tests are currently organized into main configuration files (src/dev/jest/config.js and x-pack/dev-tools/jest/create_jest_config.js). Both of these are similar, but very slightly due to previously being in separate repositories. This change consolidates the scripts referenced in those configs and moves them to the `@kbn/test` project.
OSS contained an alias for `test_utils`. Those aliases have been removed in favor of importing these utilities from `@kbn/test/jest`
Blocker to #72569
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* [ML] table config in the URL state
* [ML] fix job list on the management page
* [ML] store query filter in the URL
* [ML] fix context for the management page
* [ML] update module_list_card.tsx in Logs UI
* [ML] fix unit tests
* [ML] fix unit tests
* [ML] fix unit tests
* [ML] move utils functions
* [ML] url generator to support both job and group ids
* [Metrics UI] Add endpoint for Metrics API
* Adding the ability to caculate the interval based on a module
* fixing types
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Mimics metrics permissions for alert mgmt in logs feature
* Updates logs security functional tests
Alert management permissions were added for read and all logs users in this PR, so both of these users now have "Stack Management" appear in the nav.
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* [Metrics UI] Fix Metrics Explorer API to return empty results when field is missing from aggregation
* Update x-pack/plugins/infra/server/routes/metrics_explorer/lib/convert_request_to_metrics_api_options.ts
Co-authored-by: Felix Stürmer <weltenwort@users.noreply.github.com>
* Fixing type
Co-authored-by: Felix Stürmer <weltenwort@users.noreply.github.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Removes the `npStart` legacy singleton used during the migration to the new platform. The singleton was used in API calls to access the `http.fetch` service. To remove the singleton we have injected `fetch` as a dependency in all functions.
Upgrade to Storybook 6 and attempt to use the declarative configuration.
The goals of this PR (as part of Kibana's Storybook roadmap, are:
Upgrade to Storybook 6
Still allow running Storybooks with yarn storybook plugin_name
Use the declarative configuration to (hopefully) make the configuration simpler to use an easier to understand, as well as avoiding deprecation warnings and loss of future compatibility
The ways in which what I have so far differs from how we do things today are:
In the alias configuration it takes a path to a storybook configuration directory instead of the storybook.js file from before
Each plugin (it doesn't have to be a plugin; can be any directory) has a .storybook/main.js (the aliases file in @kbn/storybook specifies these locations) where they can define their Storybook configuration. You can require('@kbn/storybook').defaultConfig to get defaults and override them
@kbn/storybook has a preset that can provide Webpack and Babel configuration and Storybook parameters and decorators
Instead of dynamically creating the list of stories to import, we define them in the globs of the stories property in .storybook/main.js.
Do not build a DLL. We are using @kbn/ui-shared-deps as externals. Startup time is not quite as fast but still acceptable.
Other things done in this PR:
Allow default exports in .stories. to allow for Common Story Format CSF stories
Add guard in Webpack configuration needed for overriding CSS rules
Update filename casing check to allow for files with required names in Storybook
Clean up observability stories
Rename *.examples.tsx and *.story.tsx to *.stories.tsx
* Add ability to fetch anomalies by metric
* Add ability to fetch anomalies to timeline
* Show anomaly annotation on timeline
* Fix type check
* Fix typos
* Add influencers to tooltip, add legend
* Remove unused variable
* Only show anomalies with a score greater than 50
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Add ratio alerting to log threshold alerts
* Fix i18n
* Move grouped query must not filtering from outer to inner clause
* Use new ratio alerting layout
* Use better defaults for ratio alerts
* Remove div wrapper
* Remove type casting, use user-defined type guards
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* added comment about importing lodash library
* fixed space with prefer
* cleaned up extra space and removed comments for lodash/fp
* took out the comment in server files
* Remove newlines
Co-authored-by: Nathan L Smith <smith@nlsmith.com>
This adds dataset-specific categorization warnings for the categorization module. The warnings are displayed in call-outs on the relevant tabs as well as the job setup screens if a prior job with warnings exists. To that end this also changes the categorization job configuration to enable the partitioned categorization mode.
Co-authored-by: Alejandro Fernández Gómez <antarticonorte@gmail.com>