diff --git a/package.json b/package.json index 26bc506bbf6..fd551f5fe24 100644 --- a/package.json +++ b/package.json @@ -96,8 +96,8 @@ "@swc/helpers": "0.5.15", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.6.3", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/angular": "1.8.9", "@types/angular-route": "1.7.6", "@types/babel__core": "^7", @@ -153,8 +153,8 @@ "@types/webpack-assets-manifest": "^5", "@types/webpack-env": "^1.18.4", "@types/yargs": "17.0.33", - "@typescript-eslint/eslint-plugin": "8.18.1", - "@typescript-eslint/parser": "8.18.1", + "@typescript-eslint/eslint-plugin": "8.22.0", + "@typescript-eslint/parser": "8.22.0", "autoprefixer": "10.4.20", "babel-loader": "9.2.1", "blob-polyfill": "9.0.20240710", @@ -267,6 +267,7 @@ "@grafana/flamegraph": "workspace:*", "@grafana/google-sdk": "0.1.2", "@grafana/lezer-logql": "0.2.7", + "@grafana/llm": "0.12.0", "@grafana/monaco-logql": "^0.0.8", "@grafana/o11y-ds-frontend": "workspace:*", "@grafana/plugin-ui": "0.10.1", diff --git a/packages/grafana-flamegraph/package.json b/packages/grafana-flamegraph/package.json index e48e6113c6b..fd9c092b5e7 100644 --- a/packages/grafana-flamegraph/package.json +++ b/packages/grafana-flamegraph/package.json @@ -63,8 +63,8 @@ "@rollup/plugin-node-resolve": "16.0.0", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "^6.1.2", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/d3": "^7", "@types/jest": "^29.5.4", "@types/lodash": "4.17.15", diff --git a/packages/grafana-o11y-ds-frontend/package.json b/packages/grafana-o11y-ds-frontend/package.json index 9cb9025d02f..903b3d61b26 100644 --- a/packages/grafana-o11y-ds-frontend/package.json +++ b/packages/grafana-o11y-ds-frontend/package.json @@ -33,8 +33,8 @@ "@grafana/tsconfig": "^2.0.0", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "^6.1.2", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/jest": "^29.5.4", "@types/node": "22.12.0", "@types/react": "18.3.18", diff --git a/packages/grafana-prometheus/package.json b/packages/grafana-prometheus/package.json index a27c1776ec7..253b495cc13 100644 --- a/packages/grafana-prometheus/package.json +++ b/packages/grafana-prometheus/package.json @@ -85,8 +85,8 @@ "@swc/helpers": "0.5.15", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.6.3", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/d3": "7.4.3", "@types/debounce-promise": "3.1.9", "@types/eslint": "9.6.1", @@ -102,8 +102,8 @@ "@types/react-window": "1.8.8", "@types/semver": "7.5.8", "@types/uuid": "10.0.0", - "@typescript-eslint/eslint-plugin": "8.18.1", - "@typescript-eslint/parser": "8.18.1", + "@typescript-eslint/eslint-plugin": "8.22.0", + "@typescript-eslint/parser": "8.22.0", "copy-webpack-plugin": "12.0.2", "css-loader": "7.1.2", "esbuild": "0.24.2", diff --git a/packages/grafana-runtime/package.json b/packages/grafana-runtime/package.json index 56876aab254..21c58965847 100644 --- a/packages/grafana-runtime/package.json +++ b/packages/grafana-runtime/package.json @@ -53,8 +53,8 @@ "@rollup/plugin-node-resolve": "16.0.0", "@rollup/plugin-terser": "0.4.4", "@testing-library/dom": "10.4.0", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/angular": "1.8.9", "@types/history": "4.7.11", "@types/jest": "29.5.14", diff --git a/packages/grafana-sql/package.json b/packages/grafana-sql/package.json index e868769944f..b737832e038 100644 --- a/packages/grafana-sql/package.json +++ b/packages/grafana-sql/package.json @@ -37,8 +37,8 @@ "@grafana/tsconfig": "^2.0.0", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "^6.1.2", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/jest": "^29.5.4", "@types/lodash": "4.17.15", "@types/node": "22.12.0", diff --git a/packages/grafana-ui/package.json b/packages/grafana-ui/package.json index a48a1deb146..7892f942bee 100644 --- a/packages/grafana-ui/package.json +++ b/packages/grafana-ui/package.json @@ -136,8 +136,8 @@ "@storybook/theming": "^8.4.2", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.6.3", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/chance": "1.1.6", "@types/common-tags": "^1.8.0", "@types/d3": "7.4.3", diff --git a/pkg/api/apierrors/folder.go b/pkg/api/apierrors/folder.go index 8006001356c..531636bc9c9 100644 --- a/pkg/api/apierrors/folder.go +++ b/pkg/api/apierrors/folder.go @@ -10,6 +10,7 @@ import ( "github.com/grafana/grafana/pkg/api/response" "github.com/grafana/grafana/pkg/services/dashboards" + "github.com/grafana/grafana/pkg/services/folder" "github.com/grafana/grafana/pkg/util" ) @@ -43,6 +44,11 @@ func ToFolderErrorResponse(err error) response.Response { return response.JSON(http.StatusPreconditionFailed, util.DynMap{"status": "version-mismatch", "message": dashboards.ErrFolderVersionMismatch.Error()}) } + // folder errors are wrapped in an error util, so this is the only way of comparing errors + if err.Error() == folder.ErrMaximumDepthReached.Error() { + return response.JSON(http.StatusBadRequest, util.DynMap{"messageId": "folder.maximum-depth-reached", "message": "Maximum nested folder depth reached"}) + } + return response.ErrOrFallback(http.StatusInternalServerError, "Folder API error", err) } diff --git a/pkg/api/apierrors/folder_test.go b/pkg/api/apierrors/folder_test.go new file mode 100644 index 00000000000..e3d70bded31 --- /dev/null +++ b/pkg/api/apierrors/folder_test.go @@ -0,0 +1,83 @@ +package apierrors + +import ( + "errors" + "net/http" + "testing" + + "github.com/grafana/grafana/pkg/api/response" + "github.com/grafana/grafana/pkg/services/dashboards" + "github.com/grafana/grafana/pkg/services/folder" + "github.com/grafana/grafana/pkg/util" + "github.com/stretchr/testify/require" +) + +func TestToFolderErrorResponse(t *testing.T) { + tests := []struct { + name string + input error + want response.Response + }{ + { + name: "dashboard error", + input: dashboards.DashboardErr{StatusCode: 400, Reason: "Dashboard Error", Status: "error"}, + want: response.Error(400, "Dashboard Error", dashboards.DashboardErr{StatusCode: 400, Reason: "Dashboard Error", Status: "error"}), + }, + { + name: "folder title empty", + input: dashboards.ErrFolderTitleEmpty, + want: response.Error(400, "folder title cannot be empty", nil), + }, + { + name: "dashboard type mismatch", + input: dashboards.ErrDashboardTypeMismatch, + want: response.Error(400, "Dashboard cannot be changed to a folder", dashboards.ErrDashboardTypeMismatch), + }, + { + name: "dashboard invalid uid", + input: dashboards.ErrDashboardInvalidUid, + want: response.Error(400, "uid contains illegal characters", dashboards.ErrDashboardInvalidUid), + }, + { + name: "dashboard uid too long", + input: dashboards.ErrDashboardUidTooLong, + want: response.Error(400, "uid too long, max 40 characters", dashboards.ErrDashboardUidTooLong), + }, + { + name: "folder access denied", + input: dashboards.ErrFolderAccessDenied, + want: response.Error(http.StatusForbidden, "Access denied", dashboards.ErrFolderAccessDenied), + }, + { + name: "folder not found", + input: dashboards.ErrFolderNotFound, + want: response.JSON(http.StatusNotFound, util.DynMap{"status": "not-found", "message": dashboards.ErrFolderNotFound.Error()}), + }, + { + name: "folder with same uid exists", + input: dashboards.ErrFolderWithSameUIDExists, + want: response.Error(http.StatusConflict, dashboards.ErrFolderWithSameUIDExists.Error(), nil), + }, + { + name: "folder version mismatch", + input: dashboards.ErrFolderVersionMismatch, + want: response.JSON(http.StatusPreconditionFailed, util.DynMap{"status": "version-mismatch", "message": dashboards.ErrFolderVersionMismatch.Error()}), + }, + { + name: "folder max depth reached", + input: folder.ErrMaximumDepthReached, + want: response.JSON(http.StatusBadRequest, util.DynMap{"messageId": "folder.maximum-depth-reached", "message": "Maximum nested folder depth reached"}), + }, + { + name: "fallback error", + input: errors.New("some error"), + want: response.ErrOrFallback(http.StatusInternalServerError, "Folder API error", errors.New("some error")), + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + resp := ToFolderErrorResponse(tt.input) + require.Equal(t, tt.want, resp) + }) + } +} diff --git a/public/app/features/alerting/unified/components/contact-points/components/ContactPointsFilter.tsx b/public/app/features/alerting/unified/components/contact-points/components/ContactPointsFilter.tsx index 990352f0fcc..22048a9cf66 100644 --- a/public/app/features/alerting/unified/components/contact-points/components/ContactPointsFilter.tsx +++ b/public/app/features/alerting/unified/components/contact-points/components/ContactPointsFilter.tsx @@ -2,8 +2,7 @@ import { css } from '@emotion/css'; import { useCallback, useState } from 'react'; import { useDebounce } from 'react-use'; -import { Stack } from '@grafana/experimental'; -import { Button, Field, Icon, Input, useStyles2 } from '@grafana/ui'; +import { Button, Field, Icon, Input, Stack, useStyles2 } from '@grafana/ui'; import { useURLSearchParams } from '../../../hooks/useURLSearchParams'; diff --git a/public/app/features/alerting/unified/components/rule-viewer/tabs/Query/LokiQueryPreview.tsx b/public/app/features/alerting/unified/components/rule-viewer/tabs/Query/LokiQueryPreview.tsx index 03d2053a380..1d14149a0a2 100644 --- a/public/app/features/alerting/unified/components/rule-viewer/tabs/Query/LokiQueryPreview.tsx +++ b/public/app/features/alerting/unified/components/rule-viewer/tabs/Query/LokiQueryPreview.tsx @@ -1,4 +1,4 @@ -import { RawQuery } from '@grafana/experimental'; +import { RawQuery } from '@grafana/plugin-ui'; import lokiGrammar from 'app/plugins/datasource/loki/syntax'; interface Props { diff --git a/public/app/features/alerting/unified/components/rule-viewer/tabs/Query/PrometheusQueryPreview.tsx b/public/app/features/alerting/unified/components/rule-viewer/tabs/Query/PrometheusQueryPreview.tsx index 446d8a08720..e2bdeb80b38 100644 --- a/public/app/features/alerting/unified/components/rule-viewer/tabs/Query/PrometheusQueryPreview.tsx +++ b/public/app/features/alerting/unified/components/rule-viewer/tabs/Query/PrometheusQueryPreview.tsx @@ -1,4 +1,4 @@ -import { RawQuery } from '@grafana/experimental'; +import { RawQuery } from '@grafana/plugin-ui'; import { promqlGrammar } from '@grafana/prometheus'; interface Props { diff --git a/public/app/features/dashboard-scene/settings/utils.ts b/public/app/features/dashboard-scene/settings/utils.ts index d726085c7b3..88a3be11ad6 100644 --- a/public/app/features/dashboard-scene/settings/utils.ts +++ b/public/app/features/dashboard-scene/settings/utils.ts @@ -64,7 +64,7 @@ export function useDashboardEditPageNav(dashboard: DashboardScene, currentEditVi }); } - if (dashboard.state.id && dashboard.state.meta.canSave) { + if (dashboard.state.uid && dashboard.state.meta.canSave) { pageNav.children!.push({ text: t('dashboard-settings.versions.title', 'Versions'), url: locationUtil.getUrlForPartial(location, { editview: 'versions', editIndex: null }), @@ -72,7 +72,7 @@ export function useDashboardEditPageNav(dashboard: DashboardScene, currentEditVi }); } - if (dashboard.state.id && dashboard.state.meta.canAdmin) { + if (dashboard.state.uid && dashboard.state.meta.canAdmin) { if (contextSrv.hasPermission(AccessControlAction.DashboardsPermissionsRead)) { pageNav.children!.push({ text: t('dashboard-settings.permissions.title', 'Permissions'), diff --git a/public/app/features/dashboard/components/DashboardSettings/DashboardSettings.tsx b/public/app/features/dashboard/components/DashboardSettings/DashboardSettings.tsx index adb6af01c37..e940de38441 100644 --- a/public/app/features/dashboard/components/DashboardSettings/DashboardSettings.tsx +++ b/public/app/features/dashboard/components/DashboardSettings/DashboardSettings.tsx @@ -134,7 +134,7 @@ function getSettingsPages(dashboard: DashboardModel) { }); } - if (dashboard.id && dashboard.meta.canSave) { + if (dashboard.uid && dashboard.meta.canSave) { pages.push({ title: t('dashboard-settings.versions.title', 'Versions'), id: 'versions', @@ -145,7 +145,7 @@ function getSettingsPages(dashboard: DashboardModel) { const permissionsTitle = t('dashboard-settings.permissions.title', 'Permissions'); - if (dashboard.id && dashboard.meta.canAdmin) { + if (dashboard.uid && dashboard.meta.canAdmin) { if (contextSrv.hasPermission(AccessControlAction.DashboardsPermissionsRead)) { pages.push({ title: permissionsTitle, diff --git a/public/app/features/dashboard/components/GenAI/hooks.ts b/public/app/features/dashboard/components/GenAI/hooks.ts index eb0dc9ca9ae..c33dafebb3f 100644 --- a/public/app/features/dashboard/components/GenAI/hooks.ts +++ b/public/app/features/dashboard/components/GenAI/hooks.ts @@ -2,7 +2,7 @@ import { Dispatch, SetStateAction, useCallback, useEffect, useState } from 'reac import { useAsync } from 'react-use'; import { Subscription } from 'rxjs'; -import { llms } from '@grafana/experimental'; +import { openai } from '@grafana/llm'; import { createMonitoringLogger } from '@grafana/runtime'; import { useAppNotification } from 'app/core/copy/appNotification'; @@ -10,7 +10,7 @@ import { isLLMPluginEnabled, DEFAULT_OAI_MODEL } from './utils'; // Declared instead of imported from utils to make this hook modular // Ideally we will want to move the hook itself to a different scope later. -type Message = llms.openai.Message; +type Message = openai.Message; const genAILogger = createMonitoringLogger('features.dashboards.genai'); @@ -93,7 +93,7 @@ export function useOpenAIStream({ model, temperature, onResponse }: Options = de setStreamStatus(StreamStatus.GENERATING); setError(undefined); // Stream the completions. Each element is the next stream chunk. - const stream = llms.openai + const stream = openai .streamChatCompletions({ model, temperature, @@ -102,7 +102,7 @@ export function useOpenAIStream({ model, temperature, onResponse }: Options = de .pipe( // Accumulate the stream content into a stream of strings, where each // element contains the accumulated message so far. - llms.openai.accumulateContent() + openai.accumulateContent() // The stream is just a regular Observable, so we can use standard rxjs // functionality to update state, e.g. recording when the stream // has completed. diff --git a/public/app/features/dashboard/components/GenAI/utils.test.ts b/public/app/features/dashboard/components/GenAI/utils.test.ts index 5707b1c3195..2731d5f4927 100644 --- a/public/app/features/dashboard/components/GenAI/utils.test.ts +++ b/public/app/features/dashboard/components/GenAI/utils.test.ts @@ -1,4 +1,4 @@ -import { llms } from '@grafana/experimental'; +import { openai } from '@grafana/llm'; import { DASHBOARD_SCHEMA_VERSION } from '../../state/DashboardMigrator'; import { createDashboardModelFixture, createPanelSaveModel } from '../../state/__fixtures__/dashboardFixtures'; @@ -6,15 +6,13 @@ import { NEW_PANEL_TITLE } from '../../utils/dashboard'; import { getDashboardChanges, getPanelStrings, isLLMPluginEnabled, sanitizeReply } from './utils'; -// Mock the llms.openai module -jest.mock('@grafana/experimental', () => ({ - ...jest.requireActual('@grafana/experimental'), - llms: { - openai: { - streamChatCompletions: jest.fn(), - accumulateContent: jest.fn(), - health: jest.fn(), - }, +// Mock the openai module +jest.mock('@grafana/llm', () => ({ + ...jest.requireActual('@grafana/llm'), + openai: { + streamChatCompletions: jest.fn(), + accumulateContent: jest.fn(), + health: jest.fn(), }, })); @@ -101,8 +99,8 @@ describe('getDashboardChanges', () => { describe('isLLMPluginEnabled', () => { it('should return false if LLM plugin is not enabled', async () => { - // Mock llms.openai.health to return false - jest.mocked(llms.openai.health).mockResolvedValue({ ok: false, configured: false }); + // Mock openai.health to return false + jest.mocked(openai.health).mockResolvedValue({ ok: false, configured: false }); const enabled = await isLLMPluginEnabled(); @@ -110,8 +108,8 @@ describe('isLLMPluginEnabled', () => { }); it('should return true if LLM plugin is enabled', async () => { - // Mock llms.openai.health to return true - jest.mocked(llms.openai.health).mockResolvedValue({ ok: true, configured: false }); + // Mock openai.health to return true + jest.mocked(openai.health).mockResolvedValue({ ok: true, configured: false }); const enabled = await isLLMPluginEnabled(); diff --git a/public/app/features/dashboard/components/GenAI/utils.ts b/public/app/features/dashboard/components/GenAI/utils.ts index bad69a59e44..8d8938827be 100644 --- a/public/app/features/dashboard/components/GenAI/utils.ts +++ b/public/app/features/dashboard/components/GenAI/utils.ts @@ -1,6 +1,6 @@ import { pick } from 'lodash'; -import { llms } from '@grafana/experimental'; +import { openai } from '@grafana/llm'; import { config } from '@grafana/runtime'; import { Panel } from '@grafana/schema'; @@ -18,7 +18,7 @@ export enum Role { 'user' = 'user', } -export type Message = llms.openai.Message; +export type Message = openai.Message; export enum QuickFeedbackType { Shorter = 'Even shorter', @@ -80,7 +80,7 @@ export async function isLLMPluginEnabled(): Promise { // Check if the LLM plugin is enabled. // If not, we won't be able to make requests, so return early. llmHealthCheck = new Promise((resolve) => { - llms.openai.health().then((response) => { + openai.health().then((response) => { if (!response.ok) { // Health check fail clear cached promise so we can try again later llmHealthCheck = undefined; diff --git a/public/app/features/expressions/components/SqlExpr.tsx b/public/app/features/expressions/components/SqlExpr.tsx index f05ed42c224..5b8d6c0a424 100644 --- a/public/app/features/expressions/components/SqlExpr.tsx +++ b/public/app/features/expressions/components/SqlExpr.tsx @@ -1,7 +1,7 @@ import { useMemo } from 'react'; import { SelectableValue } from '@grafana/data'; -import { SQLEditor } from '@grafana/experimental'; +import { SQLEditor } from '@grafana/plugin-ui'; import { ExpressionQuery } from '../types'; diff --git a/public/app/features/expressions/components/Threshold.tsx b/public/app/features/expressions/components/Threshold.tsx index fac93a84c0b..6474c497e16 100644 --- a/public/app/features/expressions/components/Threshold.tsx +++ b/public/app/features/expressions/components/Threshold.tsx @@ -5,8 +5,7 @@ import * as React from 'react'; import { FormEvent, useEffect, useReducer } from 'react'; import { GrafanaTheme2, SelectableValue } from '@grafana/data'; -import { Stack } from '@grafana/experimental'; -import { InlineField, InlineFieldRow, InlineSwitch, Input, Select, useStyles2 } from '@grafana/ui'; +import { InlineField, InlineFieldRow, InlineSwitch, Input, Select, useStyles2, Stack } from '@grafana/ui'; import { config } from 'app/core/config'; import { EvalFunction } from 'app/features/alerting/state/alertDef'; diff --git a/public/app/plugins/datasource/azuremonitor/package.json b/public/app/plugins/datasource/azuremonitor/package.json index 7d55c792de8..b94e6cbfb9a 100644 --- a/public/app/plugins/datasource/azuremonitor/package.json +++ b/public/app/plugins/datasource/azuremonitor/package.json @@ -29,8 +29,8 @@ "@grafana/plugin-configs": "11.5.0-pre", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.6.3", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/jest": "29.5.14", "@types/lodash": "4.17.15", "@types/node": "22.12.0", diff --git a/public/app/plugins/datasource/cloud-monitoring/package.json b/public/app/plugins/datasource/cloud-monitoring/package.json index 56fa6c5d118..49699a2341c 100644 --- a/public/app/plugins/datasource/cloud-monitoring/package.json +++ b/public/app/plugins/datasource/cloud-monitoring/package.json @@ -30,8 +30,8 @@ "@grafana/plugin-configs": "11.5.0-pre", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.6.3", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/debounce-promise": "3.1.9", "@types/jest": "29.5.14", "@types/lodash": "4.17.15", diff --git a/public/app/plugins/datasource/dashboard/DashboardQueryEditor.tsx b/public/app/plugins/datasource/dashboard/DashboardQueryEditor.tsx index babb3bf438a..4ce823746e2 100644 --- a/public/app/plugins/datasource/dashboard/DashboardQueryEditor.tsx +++ b/public/app/plugins/datasource/dashboard/DashboardQueryEditor.tsx @@ -5,7 +5,7 @@ import { useCallback, useMemo } from 'react'; import { useAsync } from 'react-use'; import { DataQuery, GrafanaTheme2, SelectableValue, DataTopic, QueryEditorProps } from '@grafana/data'; -import { OperationsEditorRow } from '@grafana/experimental'; +import { OperationsEditorRow } from '@grafana/plugin-ui'; import { Field, Select, useStyles2, Spinner, RadioButtonGroup, Stack, InlineSwitch } from '@grafana/ui'; import config from 'app/core/config'; import { getDashboardSrv } from 'app/features/dashboard/services/DashboardSrv'; diff --git a/public/app/plugins/datasource/grafana-postgresql-datasource/package.json b/public/app/plugins/datasource/grafana-postgresql-datasource/package.json index 575d6fa8e5f..9b348a697bd 100644 --- a/public/app/plugins/datasource/grafana-postgresql-datasource/package.json +++ b/public/app/plugins/datasource/grafana-postgresql-datasource/package.json @@ -19,8 +19,8 @@ "@grafana/e2e-selectors": "11.5.0-pre", "@grafana/plugin-configs": "11.5.0-pre", "@testing-library/dom": "10.4.0", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/jest": "29.5.14", "@types/lodash": "4.17.15", "@types/node": "22.12.0", diff --git a/public/app/plugins/datasource/grafana-pyroscope-datasource/package.json b/public/app/plugins/datasource/grafana-pyroscope-datasource/package.json index ca1682f1758..1ad424096a3 100644 --- a/public/app/plugins/datasource/grafana-pyroscope-datasource/package.json +++ b/public/app/plugins/datasource/grafana-pyroscope-datasource/package.json @@ -23,8 +23,8 @@ "@grafana/plugin-configs": "11.5.0-pre", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.6.3", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/jest": "29.5.14", "@types/lodash": "4.17.15", "@types/node": "22.12.0", diff --git a/public/app/plugins/datasource/grafana-testdata-datasource/package.json b/public/app/plugins/datasource/grafana-testdata-datasource/package.json index 10ee41620e5..cdab8016c21 100644 --- a/public/app/plugins/datasource/grafana-testdata-datasource/package.json +++ b/public/app/plugins/datasource/grafana-testdata-datasource/package.json @@ -6,7 +6,6 @@ "dependencies": { "@emotion/css": "11.13.5", "@grafana/data": "11.5.0-pre", - "@grafana/experimental": "2.1.6", "@grafana/runtime": "11.5.0-pre", "@grafana/schema": "11.5.0-pre", "@grafana/ui": "11.5.0-pre", @@ -25,8 +24,8 @@ "@grafana/e2e-selectors": "11.5.0-pre", "@grafana/plugin-configs": "11.5.0-pre", "@testing-library/dom": "10.4.0", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/d3-random": "^3.0.2", "@types/jest": "29.5.14", "@types/lodash": "4.17.15", diff --git a/public/app/plugins/datasource/jaeger/package.json b/public/app/plugins/datasource/jaeger/package.json index caef3607014..2ae92fa4a79 100644 --- a/public/app/plugins/datasource/jaeger/package.json +++ b/public/app/plugins/datasource/jaeger/package.json @@ -26,8 +26,8 @@ "@grafana/plugin-configs": "workspace:*", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.6.3", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/jest": "29.5.14", "@types/lodash": "4.17.15", "@types/logfmt": "^1.2.3", diff --git a/public/app/plugins/datasource/mssql/package.json b/public/app/plugins/datasource/mssql/package.json index 37d3945b481..477be490956 100644 --- a/public/app/plugins/datasource/mssql/package.json +++ b/public/app/plugins/datasource/mssql/package.json @@ -19,8 +19,8 @@ "@grafana/e2e-selectors": "11.5.0-pre", "@grafana/plugin-configs": "11.5.0-pre", "@testing-library/dom": "10.4.0", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/jest": "29.5.14", "@types/lodash": "4.17.15", "@types/node": "22.12.0", diff --git a/public/app/plugins/datasource/mysql/package.json b/public/app/plugins/datasource/mysql/package.json index 15eb6a8607b..86ad07e26c2 100644 --- a/public/app/plugins/datasource/mysql/package.json +++ b/public/app/plugins/datasource/mysql/package.json @@ -19,8 +19,8 @@ "@grafana/e2e-selectors": "11.5.0-pre", "@grafana/plugin-configs": "11.5.0-pre", "@testing-library/dom": "10.4.0", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/jest": "29.5.14", "@types/lodash": "4.17.15", "@types/node": "22.12.0", diff --git a/public/app/plugins/datasource/parca/ConfigEditor.tsx b/public/app/plugins/datasource/parca/ConfigEditor.tsx index 32d61acd0b7..88ec40ee1c7 100644 --- a/public/app/plugins/datasource/parca/ConfigEditor.tsx +++ b/public/app/plugins/datasource/parca/ConfigEditor.tsx @@ -8,7 +8,7 @@ import { ConnectionSettings, DataSourceDescription, convertLegacyAuthProps, -} from '@grafana/experimental'; +} from '@grafana/plugin-ui'; import { config } from '@grafana/runtime'; import { Divider, SecureSocksProxySettings, Stack, useStyles2 } from '@grafana/ui'; diff --git a/public/app/plugins/datasource/parca/package.json b/public/app/plugins/datasource/parca/package.json index cf4dcec1268..4c32c0650ee 100644 --- a/public/app/plugins/datasource/parca/package.json +++ b/public/app/plugins/datasource/parca/package.json @@ -20,8 +20,8 @@ "devDependencies": { "@grafana/plugin-configs": "11.5.0-pre", "@testing-library/dom": "10.4.0", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/lodash": "4.17.15", "@types/node": "22.12.0", "@types/react": "18.3.18", diff --git a/public/app/plugins/datasource/tempo/package.json b/public/app/plugins/datasource/tempo/package.json index 970b6048c84..036930b25f1 100644 --- a/public/app/plugins/datasource/tempo/package.json +++ b/public/app/plugins/datasource/tempo/package.json @@ -42,8 +42,8 @@ "@grafana/plugin-configs": "11.5.0-pre", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.6.3", - "@testing-library/react": "16.1.0", - "@testing-library/user-event": "14.5.2", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", "@types/jest": "29.5.14", "@types/lodash": "4.17.15", "@types/node": "22.12.0", diff --git a/public/app/plugins/datasource/zipkin/package.json b/public/app/plugins/datasource/zipkin/package.json index e0d71055e2a..cb874a51024 100644 --- a/public/app/plugins/datasource/zipkin/package.json +++ b/public/app/plugins/datasource/zipkin/package.json @@ -23,7 +23,7 @@ "@grafana/plugin-configs": "workspace:*", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.6.3", - "@testing-library/react": "16.1.0", + "@testing-library/react": "16.2.0", "@types/jest": "29.5.14", "@types/lodash": "4.17.15", "@types/node": "22.12.0", diff --git a/yarn.lock b/yarn.lock index 2c6b0370c1e..ebd1311fa78 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2714,8 +2714,8 @@ __metadata: "@kusto/monaco-kusto": "npm:^10.0.0" "@testing-library/dom": "npm:10.4.0" "@testing-library/jest-dom": "npm:6.6.3" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/jest": "npm:29.5.14" "@types/lodash": "npm:4.17.15" "@types/node": "npm:22.12.0" @@ -2756,8 +2756,8 @@ __metadata: "@grafana/sql": "npm:11.5.0-pre" "@grafana/ui": "npm:11.5.0-pre" "@testing-library/dom": "npm:10.4.0" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/jest": "npm:29.5.14" "@types/lodash": "npm:4.17.15" "@types/node": "npm:22.12.0" @@ -2786,8 +2786,8 @@ __metadata: "@grafana/ui": "npm:11.5.0-pre" "@testing-library/dom": "npm:10.4.0" "@testing-library/jest-dom": "npm:6.6.3" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/jest": "npm:29.5.14" "@types/lodash": "npm:4.17.15" "@types/node": "npm:22.12.0" @@ -2821,14 +2821,13 @@ __metadata: "@emotion/css": "npm:11.13.5" "@grafana/data": "npm:11.5.0-pre" "@grafana/e2e-selectors": "npm:11.5.0-pre" - "@grafana/experimental": "npm:2.1.6" "@grafana/plugin-configs": "npm:11.5.0-pre" "@grafana/runtime": "npm:11.5.0-pre" "@grafana/schema": "npm:11.5.0-pre" "@grafana/ui": "npm:11.5.0-pre" "@testing-library/dom": "npm:10.4.0" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/d3-random": "npm:^3.0.2" "@types/jest": "npm:29.5.14" "@types/lodash": "npm:4.17.15" @@ -2868,8 +2867,8 @@ __metadata: "@grafana/ui": "workspace:*" "@testing-library/dom": "npm:10.4.0" "@testing-library/jest-dom": "npm:6.6.3" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/jest": "npm:29.5.14" "@types/lodash": "npm:4.17.15" "@types/logfmt": "npm:^1.2.3" @@ -2909,8 +2908,8 @@ __metadata: "@grafana/sql": "npm:11.5.0-pre" "@grafana/ui": "npm:11.5.0-pre" "@testing-library/dom": "npm:10.4.0" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/jest": "npm:29.5.14" "@types/lodash": "npm:4.17.15" "@types/node": "npm:22.12.0" @@ -2940,8 +2939,8 @@ __metadata: "@grafana/sql": "npm:11.5.0-pre" "@grafana/ui": "npm:11.5.0-pre" "@testing-library/dom": "npm:10.4.0" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/jest": "npm:29.5.14" "@types/lodash": "npm:4.17.15" "@types/node": "npm:22.12.0" @@ -2969,8 +2968,8 @@ __metadata: "@grafana/schema": "npm:11.5.0-pre" "@grafana/ui": "npm:11.5.0-pre" "@testing-library/dom": "npm:10.4.0" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/lodash": "npm:4.17.15" "@types/node": "npm:22.12.0" "@types/react": "npm:18.3.18" @@ -3005,8 +3004,8 @@ __metadata: "@grafana/ui": "npm:11.5.0-pre" "@testing-library/dom": "npm:10.4.0" "@testing-library/jest-dom": "npm:6.6.3" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/debounce-promise": "npm:3.1.9" "@types/jest": "npm:29.5.14" "@types/lodash": "npm:4.17.15" @@ -3059,8 +3058,8 @@ __metadata: "@opentelemetry/semantic-conventions": "npm:1.28.0" "@testing-library/dom": "npm:10.4.0" "@testing-library/jest-dom": "npm:6.6.3" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/jest": "npm:29.5.14" "@types/lodash": "npm:4.17.15" "@types/node": "npm:22.12.0" @@ -3110,7 +3109,7 @@ __metadata: "@grafana/ui": "workspace:*" "@testing-library/dom": "npm:10.4.0" "@testing-library/jest-dom": "npm:6.6.3" - "@testing-library/react": "npm:16.1.0" + "@testing-library/react": "npm:16.2.0" "@types/jest": "npm:29.5.14" "@types/lodash": "npm:4.17.15" "@types/node": "npm:22.12.0" @@ -3312,32 +3311,6 @@ __metadata: languageName: unknown linkType: soft -"@grafana/experimental@npm:2.1.6": - version: 2.1.6 - resolution: "@grafana/experimental@npm:2.1.6" - dependencies: - "@hello-pangea/dnd": "npm:^16.6.0" - "@types/uuid": "npm:^8.3.3" - lodash: "npm:^4.17.21" - prismjs: "npm:^1.29.0" - react-popper-tooltip: "npm:^4.4.2" - react-use: "npm:^17.4.2" - semver: "npm:^7.5.4" - uuid: "npm:^8.3.2" - peerDependencies: - "@emotion/css": ^11.11.2 - "@grafana/data": ^10.4.0 || ^11.0.0 - "@grafana/e2e-selectors": ^10.0.0 || ^11.0.0 - "@grafana/runtime": ^10.4.0 || ^11.0.0 - "@grafana/ui": ^10.4.0 || ^11.0.0 - react: ^18.2.0 - react-dom: ^18.2.0 - react-select: ^5.8.0 - rxjs: ^7.8.1 - checksum: 10/3df81fef944e6dfdf843bf5954a586fe3eb90a1a2671088ae526b29fb9118793c05be96a3edd3d3babfdcbfa801fdfb328e87e6cbb1fd0de7f8f2d2e5c32f66f - languageName: node - linkType: hard - "@grafana/faro-core@npm:^1.12.3, @grafana/faro-core@npm:^1.3.6": version: 1.12.3 resolution: "@grafana/faro-core@npm:1.12.3" @@ -3394,8 +3367,8 @@ __metadata: "@rollup/plugin-node-resolve": "npm:16.0.0" "@testing-library/dom": "npm:10.4.0" "@testing-library/jest-dom": "npm:^6.1.2" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/d3": "npm:^7" "@types/jest": "npm:^29.5.4" "@types/lodash": "npm:4.17.15" @@ -3504,8 +3477,8 @@ __metadata: "@grafana/ui": "npm:11.5.0-pre" "@testing-library/dom": "npm:10.4.0" "@testing-library/jest-dom": "npm:^6.1.2" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/jest": "npm:^29.5.4" "@types/node": "npm:22.12.0" "@types/react": "npm:18.3.18" @@ -3648,8 +3621,8 @@ __metadata: "@swc/helpers": "npm:0.5.15" "@testing-library/dom": "npm:10.4.0" "@testing-library/jest-dom": "npm:6.6.3" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/d3": "npm:7.4.3" "@types/debounce-promise": "npm:3.1.9" "@types/eslint": "npm:9.6.1" @@ -3665,8 +3638,8 @@ __metadata: "@types/react-window": "npm:1.8.8" "@types/semver": "npm:7.5.8" "@types/uuid": "npm:10.0.0" - "@typescript-eslint/eslint-plugin": "npm:8.18.1" - "@typescript-eslint/parser": "npm:8.18.1" + "@typescript-eslint/eslint-plugin": "npm:8.22.0" + "@typescript-eslint/parser": "npm:8.22.0" copy-webpack-plugin: "npm:12.0.2" css-loader: "npm:7.1.2" d3: "npm:7.9.0" @@ -3742,8 +3715,8 @@ __metadata: "@rollup/plugin-node-resolve": "npm:16.0.0" "@rollup/plugin-terser": "npm:0.4.4" "@testing-library/dom": "npm:10.4.0" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/angular": "npm:1.8.9" "@types/history": "npm:4.7.11" "@types/jest": "npm:29.5.14" @@ -3910,8 +3883,8 @@ __metadata: "@react-awesome-query-builder/ui": "npm:6.6.4" "@testing-library/dom": "npm:10.4.0" "@testing-library/jest-dom": "npm:^6.1.2" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/jest": "npm:^29.5.4" "@types/lodash": "npm:4.17.15" "@types/node": "npm:22.12.0" @@ -4067,8 +4040,8 @@ __metadata: "@tanstack/react-virtual": "npm:^3.5.1" "@testing-library/dom": "npm:10.4.0" "@testing-library/jest-dom": "npm:6.6.3" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/chance": "npm:1.1.6" "@types/common-tags": "npm:^1.8.0" "@types/d3": "npm:7.4.3" @@ -4179,7 +4152,7 @@ __metadata: languageName: node linkType: hard -"@hello-pangea/dnd@npm:16.6.0, @hello-pangea/dnd@npm:^16.6.0": +"@hello-pangea/dnd@npm:16.6.0": version: 16.6.0 resolution: "@hello-pangea/dnd@npm:16.6.0" dependencies: @@ -8796,9 +8769,9 @@ __metadata: languageName: node linkType: hard -"@testing-library/react@npm:16.1.0": - version: 16.1.0 - resolution: "@testing-library/react@npm:16.1.0" +"@testing-library/react@npm:16.2.0": + version: 16.2.0 + resolution: "@testing-library/react@npm:16.2.0" dependencies: "@babel/runtime": "npm:^7.12.5" peerDependencies: @@ -8812,16 +8785,16 @@ __metadata: optional: true "@types/react-dom": optional: true - checksum: 10/2a20e0dbfadbc93d45a84e82281ed47deed54a6a5fc1461a523172d7fbc0481e8502cf98a2080f38aba94290b3d745671a1c9e320e6f76ad6afcca67c580b963 + checksum: 10/cf10bfa9a363384e6861417696fff4a464a64f98ec6f0bb7f1fa7cbb550d075d23a2f6a943b7df85dded7bde3234f6ea6b6e36f95211f4544b846ea72c288289 languageName: node linkType: hard -"@testing-library/user-event@npm:14.5.2": - version: 14.5.2 - resolution: "@testing-library/user-event@npm:14.5.2" +"@testing-library/user-event@npm:14.6.1": + version: 14.6.1 + resolution: "@testing-library/user-event@npm:14.6.1" peerDependencies: "@testing-library/dom": ">=7.21.4" - checksum: 10/49821459d81c6bc435d97128d6386ca24f1e4b3ba8e46cb5a96fe3643efa6e002d88c1b02b7f2ec58da593e805c59b78d7fdf0db565c1f02ba782f63ee984040 + checksum: 10/34b74fff56a0447731a94b40d4cf246deb8dbc1c1e3aec93acd1c3377a760bb062e979f1572bb34ec164ad28ee2a391744b42d0d6d6cc16c4ce527e5e09610e1 languageName: node linkType: hard @@ -10320,13 +10293,6 @@ __metadata: languageName: node linkType: hard -"@types/uuid@npm:^8.3.3": - version: 8.3.4 - resolution: "@types/uuid@npm:8.3.4" - checksum: 10/6f11f3ff70f30210edaa8071422d405e9c1d4e53abbe50fdce365150d3c698fe7bbff65c1e71ae080cbfb8fded860dbb5e174da96fdbbdfcaa3fb3daa474d20f - languageName: node - linkType: hard - "@types/webpack-assets-manifest@npm:^5": version: 5.1.4 resolution: "@types/webpack-assets-manifest@npm:5.1.4" @@ -10390,40 +10356,40 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.18.1": - version: 8.18.1 - resolution: "@typescript-eslint/eslint-plugin@npm:8.18.1" +"@typescript-eslint/eslint-plugin@npm:8.22.0": + version: 8.22.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.22.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.18.1" - "@typescript-eslint/type-utils": "npm:8.18.1" - "@typescript-eslint/utils": "npm:8.18.1" - "@typescript-eslint/visitor-keys": "npm:8.18.1" + "@typescript-eslint/scope-manager": "npm:8.22.0" + "@typescript-eslint/type-utils": "npm:8.22.0" + "@typescript-eslint/utils": "npm:8.22.0" + "@typescript-eslint/visitor-keys": "npm:8.22.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^1.3.0" + ts-api-utils: "npm:^2.0.0" peerDependencies: "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.8.0" - checksum: 10/ec061a9c64477260d1ef0fc6283d8754838181e17aa90b3b8b9a70936a2ca4bae11607070917a7701e13f5301ced2b6da4b4b6e5cf525c484f97481e540b5111 + checksum: 10/7211ad95f20a27182e2b55ef50102dfee4a7084c267c4e24cca24f0a28daa0360074a38bb71e407dad6d99db1165096b324b708cf35904b1d4f62fc9d5fd0f98 languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.18.1": - version: 8.18.1 - resolution: "@typescript-eslint/parser@npm:8.18.1" +"@typescript-eslint/parser@npm:8.22.0": + version: 8.22.0 + resolution: "@typescript-eslint/parser@npm:8.22.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.18.1" - "@typescript-eslint/types": "npm:8.18.1" - "@typescript-eslint/typescript-estree": "npm:8.18.1" - "@typescript-eslint/visitor-keys": "npm:8.18.1" + "@typescript-eslint/scope-manager": "npm:8.22.0" + "@typescript-eslint/types": "npm:8.22.0" + "@typescript-eslint/typescript-estree": "npm:8.22.0" + "@typescript-eslint/visitor-keys": "npm:8.22.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.8.0" - checksum: 10/09a601ef8b837962e5bb2687358520f337f9d0bbac5c6d5e159654faa5caaffb24d990e8d6bc4dc51ff5008dd9e182315c35bc5e9e3789090ccef8b8040e7659 + checksum: 10/6b7fee52345e8a32d8cfea1ac4aeb563cb0c44ba46290686afde1cd541b787fcf61bec0e6960559f544e9ba3b72670a68f8eda860384aebb5744101f0f1a68c9 languageName: node linkType: hard @@ -10437,28 +10403,28 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.18.1, @typescript-eslint/scope-manager@npm:^8.15.0": - version: 8.18.1 - resolution: "@typescript-eslint/scope-manager@npm:8.18.1" +"@typescript-eslint/scope-manager@npm:8.22.0, @typescript-eslint/scope-manager@npm:^8.15.0": + version: 8.22.0 + resolution: "@typescript-eslint/scope-manager@npm:8.22.0" dependencies: - "@typescript-eslint/types": "npm:8.18.1" - "@typescript-eslint/visitor-keys": "npm:8.18.1" - checksum: 10/14f7c09924c3a006b20752e5204b33c2b6974fc00bea16c23f471e65f2fb089fcbd3fb5296bcfd6727ac95c32ba24ebb15ba84fbf1deadc17b4cc5ca7f41c72a + "@typescript-eslint/types": "npm:8.22.0" + "@typescript-eslint/visitor-keys": "npm:8.22.0" + checksum: 10/7fb4bae6d9f8b86a43405b24828cd36ba0751cce4346d86821a4827cded93227f92668044e5e6d802a32096b50cfcaf2ce9ab65322310fa68f5e3819bef70168 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.18.1": - version: 8.18.1 - resolution: "@typescript-eslint/type-utils@npm:8.18.1" +"@typescript-eslint/type-utils@npm:8.22.0": + version: 8.22.0 + resolution: "@typescript-eslint/type-utils@npm:8.22.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.18.1" - "@typescript-eslint/utils": "npm:8.18.1" + "@typescript-eslint/typescript-estree": "npm:8.22.0" + "@typescript-eslint/utils": "npm:8.22.0" debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.3.0" + ts-api-utils: "npm:^2.0.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.8.0" - checksum: 10/cde53d05f4ca6e172239918cba2b560b9f837aa1fc7d5220784b1a6af9c8c525db020a5160822087e320305492fe359b7fb191420789b5f1e47a01e0cda21ac9 + checksum: 10/1da2447ce12f09370082daeef88f8922842e39d2a7b0abe3def21442f85bf4250524c60cbb97276d5cd876783b976dcb0ed85aeb8c0b100d83b7f3a59cdfccbf languageName: node linkType: hard @@ -10469,10 +10435,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.18.1, @typescript-eslint/types@npm:^8.9.0": - version: 8.18.1 - resolution: "@typescript-eslint/types@npm:8.18.1" - checksum: 10/57a6141ba17be929291a644991f3a76f94fce330376f6a079decb20fb53378d636ad6878f8f9b6fcb8244cf1ca8b118f9e8901ae04cf3de2aa9f9ff57791d97a +"@typescript-eslint/types@npm:8.22.0, @typescript-eslint/types@npm:^8.9.0": + version: 8.22.0 + resolution: "@typescript-eslint/types@npm:8.22.0" + checksum: 10/b43ea5b05ed0b43dcee8d2fa98b2c3f79c604780cbd56e6ba7f89e3066798b7169848694f59523fd2003e8fa699ddc97f28b0860a4eb04eea26c96d5ac9346bd languageName: node linkType: hard @@ -10494,36 +10460,36 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.18.1": - version: 8.18.1 - resolution: "@typescript-eslint/typescript-estree@npm:8.18.1" +"@typescript-eslint/typescript-estree@npm:8.22.0": + version: 8.22.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.22.0" dependencies: - "@typescript-eslint/types": "npm:8.18.1" - "@typescript-eslint/visitor-keys": "npm:8.18.1" + "@typescript-eslint/types": "npm:8.22.0" + "@typescript-eslint/visitor-keys": "npm:8.22.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.4" semver: "npm:^7.6.0" - ts-api-utils: "npm:^1.3.0" + ts-api-utils: "npm:^2.0.0" peerDependencies: typescript: ">=4.8.4 <5.8.0" - checksum: 10/8ecc1b50b9fc32116eee1b3b00f3fb29cf18026c0bbb50ab5f6e01db58ef62b8ac01824f2950f132479be6e1b82466a2bfd1e2cb4525aa8dbce4c27fc2494cfc + checksum: 10/e3c0b191e2a0f55101c3e3333904f3a255d635e4ea0d026981cc25e83b62660a3a8a7993ac4a3d0c8756afb7dc272099eec48fd93e100a2b8467a5b80ef0026c languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.18.1, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0, @typescript-eslint/utils@npm:^8.13.0, @typescript-eslint/utils@npm:^8.15.0, @typescript-eslint/utils@npm:^8.9.0": - version: 8.18.1 - resolution: "@typescript-eslint/utils@npm:8.18.1" +"@typescript-eslint/utils@npm:8.22.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0, @typescript-eslint/utils@npm:^8.13.0, @typescript-eslint/utils@npm:^8.15.0, @typescript-eslint/utils@npm:^8.9.0": + version: 8.22.0 + resolution: "@typescript-eslint/utils@npm:8.22.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.18.1" - "@typescript-eslint/types": "npm:8.18.1" - "@typescript-eslint/typescript-estree": "npm:8.18.1" + "@typescript-eslint/scope-manager": "npm:8.22.0" + "@typescript-eslint/types": "npm:8.22.0" + "@typescript-eslint/typescript-estree": "npm:8.22.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.8.0" - checksum: 10/7b33d2ac273ad606a3dcb776bcf02c901812952550cdc93d4ece272b3b0e5d2a4e05fa92f9bd466f4a296ddd5992902d3b6623aa1c29d09e8e392897103e42a8 + checksum: 10/92a5ae5d79a5988e88fdda8d5e88f73e7b9ce24b339098d72698dba766ded274c24d0e2857bcb799c0aa7a59257e54a273eabdaaab39a5cd20283669201eeb53 languageName: node linkType: hard @@ -10555,13 +10521,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.18.1": - version: 8.18.1 - resolution: "@typescript-eslint/visitor-keys@npm:8.18.1" +"@typescript-eslint/visitor-keys@npm:8.22.0": + version: 8.22.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.22.0" dependencies: - "@typescript-eslint/types": "npm:8.18.1" + "@typescript-eslint/types": "npm:8.22.0" eslint-visitor-keys: "npm:^4.2.0" - checksum: 10/00e88b1640a68c3afea08731395eb09a8216892248fee819cb7526e99093256743239d6b9e880a499f1c0ddfe2ffa4d1ad895d9e778b5d42e702d5880db1a594 + checksum: 10/1a172620d46e23362c5d1e1e7c8186856dff6b6f1c2697d67f9aac1b3dfd0de96c2c73487e4deed80fad3bfa5cf74cfed3519221657c6ede602b04ac091525a4 languageName: node linkType: hard @@ -17815,6 +17781,7 @@ __metadata: "@grafana/flamegraph": "workspace:*" "@grafana/google-sdk": "npm:0.1.2" "@grafana/lezer-logql": "npm:0.2.7" + "@grafana/llm": "npm:0.12.0" "@grafana/monaco-logql": "npm:^0.0.8" "@grafana/o11y-ds-frontend": "workspace:*" "@grafana/plugin-e2e": "npm:1.17.1" @@ -17864,8 +17831,8 @@ __metadata: "@swc/helpers": "npm:0.5.15" "@testing-library/dom": "npm:10.4.0" "@testing-library/jest-dom": "npm:6.6.3" - "@testing-library/react": "npm:16.1.0" - "@testing-library/user-event": "npm:14.5.2" + "@testing-library/react": "npm:16.2.0" + "@testing-library/user-event": "npm:14.6.1" "@types/angular": "npm:1.8.9" "@types/angular-route": "npm:1.7.6" "@types/babel__core": "npm:^7" @@ -17921,8 +17888,8 @@ __metadata: "@types/webpack-assets-manifest": "npm:^5" "@types/webpack-env": "npm:^1.18.4" "@types/yargs": "npm:17.0.33" - "@typescript-eslint/eslint-plugin": "npm:8.18.1" - "@typescript-eslint/parser": "npm:8.18.1" + "@typescript-eslint/eslint-plugin": "npm:8.22.0" + "@typescript-eslint/parser": "npm:8.22.0" "@visx/event": "npm:3.12.0" "@visx/gradient": "npm:3.12.0" "@visx/group": "npm:3.12.0" @@ -26614,7 +26581,7 @@ __metadata: languageName: node linkType: hard -"react-use@npm:17.6.0, react-use@npm:^17.3.1, react-use@npm:^17.4.0, react-use@npm:^17.4.2, react-use@npm:^17.5.0": +"react-use@npm:17.6.0, react-use@npm:^17.3.1, react-use@npm:^17.4.0, react-use@npm:^17.5.0": version: 17.6.0 resolution: "react-use@npm:17.6.0" dependencies: @@ -30057,12 +30024,12 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^1.3.0": - version: 1.3.0 - resolution: "ts-api-utils@npm:1.3.0" +"ts-api-utils@npm:^2.0.0": + version: 2.0.0 + resolution: "ts-api-utils@npm:2.0.0" peerDependencies: - typescript: ">=4.2.0" - checksum: 10/3ee44faa24410cd649b5c864e068d438aa437ef64e9e4a66a41646a6d3024d3097a695eeb3fb26ee364705d3cb9653a65756d009e6a53badb6066a5f447bf7ed + typescript: ">=4.8.4" + checksum: 10/485bdf8bbba98d58712243d958f4fd44742bbe49e559cd77882fb426d866eec6dd05c67ef91935dc4f8a3c776f235859735e1f05be399e4dc9e7ffd580120974 languageName: node linkType: hard