@grafana/assistant 0.1.14 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +16 -1
- package/dist/components/button/OpenAssistantButton.d.ts +0 -33
- package/dist/components/button/OpenAssistantButton.d.ts.map +0 -1
- package/dist/components/button/OpenAssistantButton.stories.d.ts +0 -11
- package/dist/components/button/OpenAssistantButton.stories.d.ts.map +0 -1
- package/dist/components/button/OpenAssistantSplitButton.d.ts +0 -32
- package/dist/components/button/OpenAssistantSplitButton.d.ts.map +0 -1
- package/dist/components/index.d.ts +0 -5
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/input/AITextArea.d.ts +0 -12
- package/dist/components/input/AITextArea.d.ts.map +0 -1
- package/dist/components/input/AITextArea.stories.d.ts +0 -26
- package/dist/components/input/AITextArea.stories.d.ts.map +0 -1
- package/dist/components/input/AITextInput.d.ts +0 -10
- package/dist/components/input/AITextInput.d.ts.map +0 -1
- package/dist/components/input/AITextInput.stories.d.ts +0 -22
- package/dist/components/input/AITextInput.stories.d.ts.map +0 -1
- package/dist/components/input/types.d.ts +0 -14
- package/dist/components/input/types.d.ts.map +0 -1
- package/dist/context/base.d.ts +0 -49
- package/dist/context/base.d.ts.map +0 -1
- package/dist/context/chat.d.ts +0 -37
- package/dist/context/chat.d.ts.map +0 -1
- package/dist/context/component.d.ts +0 -45
- package/dist/context/component.d.ts.map +0 -1
- package/dist/context/dashboard.d.ts +0 -28
- package/dist/context/dashboard.d.ts.map +0 -1
- package/dist/context/datasource.d.ts +0 -20
- package/dist/context/datasource.d.ts.map +0 -1
- package/dist/context/entity.d.ts +0 -28
- package/dist/context/entity.d.ts.map +0 -1
- package/dist/context/factory.d.ts +0 -57
- package/dist/context/factory.d.ts.map +0 -1
- package/dist/context/index.d.ts +0 -13
- package/dist/context/index.d.ts.map +0 -1
- package/dist/context/label.d.ts +0 -33
- package/dist/context/label.d.ts.map +0 -1
- package/dist/context/page.d.ts +0 -47
- package/dist/context/page.d.ts.map +0 -1
- package/dist/context/playbook.d.ts +0 -13
- package/dist/context/playbook.d.ts.map +0 -1
- package/dist/context/questions.d.ts +0 -42
- package/dist/context/questions.d.ts.map +0 -1
- package/dist/context/types.d.ts +0 -80
- package/dist/context/types.d.ts.map +0 -1
- package/dist/functions.d.ts +0 -12
- package/dist/functions.d.ts.map +0 -1
- package/dist/hook.d.ts +0 -13
- package/dist/hook.d.ts.map +0 -1
- package/dist/index.d.ts +0 -12
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
- package/dist/inline/index.d.ts +0 -4
- package/dist/inline/index.d.ts.map +0 -1
- package/dist/inline/inlineAssistant.d.ts +0 -40
- package/dist/inline/inlineAssistant.d.ts.map +0 -1
- package/dist/inline/types.d.ts +0 -84
- package/dist/inline/types.d.ts.map +0 -1
- package/dist/inline/useInlineAssistant.d.ts +0 -65
- package/dist/inline/useInlineAssistant.d.ts.map +0 -1
- package/dist/investigations.d.ts +0 -41
- package/dist/investigations.d.ts.map +0 -1
- package/dist/limits/index.d.ts +0 -73
- package/dist/limits/index.d.ts.map +0 -1
- package/dist/plugin.d.ts +0 -9
- package/dist/plugin.d.ts.map +0 -1
- package/dist/sidebar.d.ts +0 -26
- package/dist/sidebar.d.ts.map +0 -1
- package/dist/terms/index.d.ts +0 -60
- package/dist/terms/index.d.ts.map +0 -1
- package/dist/terms/settings.gen.d.ts +0 -461
- package/dist/terms/settings.gen.d.ts.map +0 -1
- package/dist/terms/versionCompare.d.ts +0 -16
- package/dist/terms/versionCompare.d.ts.map +0 -1
- package/dist/tools/index.d.ts +0 -3
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/toolFactory.d.ts +0 -22
- package/dist/tools/toolFactory.d.ts.map +0 -1
- package/dist/tools/types.d.ts +0 -187
- package/dist/tools/types.d.ts.map +0 -1
- package/dist/utils/hash.d.ts +0 -6
- package/dist/utils/hash.d.ts.map +0 -1
- package/dist/utils/theme.d.ts +0 -30
- package/dist/utils/theme.d.ts.map +0 -1
package/dist/context/page.d.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { ChatContextItem } from './types';
|
|
2
|
-
declare global {
|
|
3
|
-
interface Window {
|
|
4
|
-
[key: string]: any;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
export interface PageContextRegistration {
|
|
8
|
-
id: string;
|
|
9
|
-
urlPattern: string | RegExp;
|
|
10
|
-
context: ChatContextItem[];
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Registers context items for specific pages based on URL patterns.
|
|
14
|
-
* Returns a setter function to update the context dynamically, similar to useState.
|
|
15
|
-
*
|
|
16
|
-
* Multiple registrations with the same URL pattern are allowed and will all be merged
|
|
17
|
-
* when the pattern matches. Each call creates a new independent registration.
|
|
18
|
-
*
|
|
19
|
-
* @param urlPattern - URL pattern (string or RegExp) to match against page URLs
|
|
20
|
-
* @param initialContext - *Initial* array of ContextItems to provide when the pattern matches. IMPORTANT: will be overwritten when setContext is used to update the context.
|
|
21
|
-
* @returns A setter function to update the context, with an unregister method attached
|
|
22
|
-
*/
|
|
23
|
-
export declare function providePageContext(urlPattern: string | RegExp, initialContext: ChatContextItem[]): ((context: ChatContextItem[]) => void) & {
|
|
24
|
-
unregister: () => void;
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* React hook for providing page context that automatically cleans up on unmount.
|
|
28
|
-
* This is the recommended way to use page context in React components.
|
|
29
|
-
*
|
|
30
|
-
* @param urlPattern - URL pattern (string or RegExp) to match against page URLs
|
|
31
|
-
* @param initialContext - Initial array of ContextItems to provide when the pattern matches. IMPORTANT: will be overwritten when setContext is used to update the context.
|
|
32
|
-
* @returns A setter function to update the context
|
|
33
|
-
*/
|
|
34
|
-
export declare function useProvidePageContext(urlPattern: string | RegExp, initialContext?: ChatContextItem[]): (context: ChatContextItem[]) => void;
|
|
35
|
-
export declare function usePageContext(options?: {
|
|
36
|
-
allowQuestions: boolean;
|
|
37
|
-
allowComponents: boolean;
|
|
38
|
-
}): ChatContextItem[];
|
|
39
|
-
export declare function generateRegistrationId(prefix?: string): string;
|
|
40
|
-
/**
|
|
41
|
-
* Test utility function to clear all registrations from the registry.
|
|
42
|
-
* This should only be used in tests to ensure a clean slate between test runs.
|
|
43
|
-
*
|
|
44
|
-
* @internal This is for testing purposes only
|
|
45
|
-
*/
|
|
46
|
-
export declare function __clearPageContextRegistryForTesting(): void;
|
|
47
|
-
//# sourceMappingURL=page.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/context/page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI1C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB;CACF;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAuID;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,cAAc,EAAE,eAAe,EAAE,GAChC,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC,GAAG;IAAE,UAAU,EAAE,MAAM,IAAI,CAAA;CAAE,CA4DrE;AAID;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,cAAc,GAAE,eAAe,EAAU,GACxC,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,CAmDtC;AA0BD,wBAAgB,cAAc,CAC5B,OAAO,GAAE;IAAE,cAAc,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAsD,GACjH,eAAe,EAAE,CA4DnB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,SAAiB,GAAG,MAAM,CAEtE;AAiED;;;;;GAKG;AACH,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { BaseParams, NodeData } from './base';
|
|
2
|
-
import { type ContextItemData } from './types';
|
|
3
|
-
export interface CreatePlaybookContextParams extends BaseParams {
|
|
4
|
-
playbookId: string;
|
|
5
|
-
playbookName: string;
|
|
6
|
-
}
|
|
7
|
-
export declare class PlaybookNodeData extends NodeData {
|
|
8
|
-
playbookId: string;
|
|
9
|
-
playbookName: string;
|
|
10
|
-
constructor(params: CreatePlaybookContextParams);
|
|
11
|
-
formatForLLM(codeElementIds?: string[]): ContextItemData;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=playbook.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"playbook.d.ts","sourceRoot":"","sources":["../../src/context/playbook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,SAAS,CAAC;AAEtE,MAAM,WAAW,2BAA4B,SAAQ,UAAU;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,gBAAiB,SAAQ,QAAQ;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;gBAEhB,MAAM,EAAE,2BAA2B;IAY/C,YAAY,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,eAAe;CAazD"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { ChatContextItem } from './types';
|
|
2
|
-
export interface Question {
|
|
3
|
-
prompt: string;
|
|
4
|
-
title?: string;
|
|
5
|
-
context?: ChatContextItem[];
|
|
6
|
-
}
|
|
7
|
-
export interface QuestionRegistration {
|
|
8
|
-
id: string;
|
|
9
|
-
urlPattern: string | RegExp;
|
|
10
|
-
questions: Question[];
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Registers questions for specific pages based on URL patterns.
|
|
14
|
-
* Returns a setter function to update the questions dynamically, similar to useState.
|
|
15
|
-
*
|
|
16
|
-
* Multiple registrations with the same URL pattern are allowed and will all be merged
|
|
17
|
-
* when the pattern matches. Each call creates a new independent registration.
|
|
18
|
-
*
|
|
19
|
-
* @param urlPattern - URL pattern (string or RegExp) to match against page URLs
|
|
20
|
-
* @param initialQuestions - Initial array of questions to provide when the pattern matches
|
|
21
|
-
* @returns A setter function to update the questions, with an unregister method attached
|
|
22
|
-
*/
|
|
23
|
-
export declare function provideQuestions(urlPattern: string | RegExp, initialQuestions: Question[]): ((questions: Question[]) => void) & {
|
|
24
|
-
unregister: () => void;
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* React hook for providing questions that automatically cleans up on unmount.
|
|
28
|
-
* This is the recommended way to use questions in React components.
|
|
29
|
-
*
|
|
30
|
-
* @param urlPattern - URL pattern (string or RegExp) to match against page URLs
|
|
31
|
-
* @param initialQuestions - Initial array of questions to provide when the pattern matches
|
|
32
|
-
* @returns A setter function to update the questions
|
|
33
|
-
*/
|
|
34
|
-
export declare function useProvideQuestions(urlPattern: string | RegExp, initialQuestions?: Question[]): (questions: Question[]) => void;
|
|
35
|
-
/**
|
|
36
|
-
* React hook to get all questions that match the current URL.
|
|
37
|
-
* This filters the page context to only return question-type items.
|
|
38
|
-
*
|
|
39
|
-
* @returns Array of questions from all matching registrations
|
|
40
|
-
*/
|
|
41
|
-
export declare function useQuestions(): Question[];
|
|
42
|
-
//# sourceMappingURL=questions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../src/context/questions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,gBAAgB,EAAE,QAAQ,EAAE,GAC3B,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC,GAAG;IAAE,UAAU,EAAE,MAAM,IAAI,CAAA;CAAE,CAoChE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,gBAAgB,GAAE,QAAQ,EAAO,GAChC,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,CAoCjC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,QAAQ,EAAE,CAKzC"}
|
package/dist/context/types.d.ts
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { IconName } from '@grafana/ui';
|
|
2
|
-
import { ComponentType } from 'react';
|
|
3
|
-
export interface BaseItemData {
|
|
4
|
-
name: string;
|
|
5
|
-
text: string;
|
|
6
|
-
}
|
|
7
|
-
export interface UnknownItemData extends BaseItemData {
|
|
8
|
-
}
|
|
9
|
-
export type ItemDataType = 'unknown' | 'datasource' | 'label_name' | 'label_value' | 'dashboard' | 'dashboard_folder' | 'structured' | 'component' | 'entity' | 'playbook';
|
|
10
|
-
export interface ContextItemData {
|
|
11
|
-
type: ItemDataType;
|
|
12
|
-
codeElementIds?: string[];
|
|
13
|
-
/**
|
|
14
|
-
* When true, bypasses size limits for fixed-size content.
|
|
15
|
-
* @default false
|
|
16
|
-
*/
|
|
17
|
-
bypassLimits?: boolean;
|
|
18
|
-
data: Record<string, any>;
|
|
19
|
-
}
|
|
20
|
-
export interface TreeNode {
|
|
21
|
-
id: string;
|
|
22
|
-
name: string;
|
|
23
|
-
children?: TreeNode[];
|
|
24
|
-
title?: string;
|
|
25
|
-
navigable: boolean;
|
|
26
|
-
selectable?: boolean;
|
|
27
|
-
img?: string;
|
|
28
|
-
icon?: IconName;
|
|
29
|
-
data?: any;
|
|
30
|
-
}
|
|
31
|
-
export interface DatasourceItemData extends BaseItemData {
|
|
32
|
-
uid: string;
|
|
33
|
-
type: string;
|
|
34
|
-
img?: string;
|
|
35
|
-
}
|
|
36
|
-
export interface LabelNameItemData extends BaseItemData {
|
|
37
|
-
datasourceUid: string;
|
|
38
|
-
datasourceType: string;
|
|
39
|
-
datasourceName: string;
|
|
40
|
-
labelName: string;
|
|
41
|
-
img?: string;
|
|
42
|
-
}
|
|
43
|
-
export interface LabelValueItemData extends LabelNameItemData {
|
|
44
|
-
labelValue: string;
|
|
45
|
-
/** Filter operator (defaults to '=' if not specified) */
|
|
46
|
-
operator?: string;
|
|
47
|
-
}
|
|
48
|
-
export interface DashboardItemData extends BaseItemData {
|
|
49
|
-
dashboardUid: string;
|
|
50
|
-
dashboardTitle: string;
|
|
51
|
-
folderUid?: string;
|
|
52
|
-
folderTitle?: string;
|
|
53
|
-
}
|
|
54
|
-
export interface FolderItemData extends BaseItemData {
|
|
55
|
-
folderUid: string;
|
|
56
|
-
folderTitle: string;
|
|
57
|
-
}
|
|
58
|
-
export interface ComponentItemData extends BaseItemData {
|
|
59
|
-
components: Record<string, ComponentType<any>>;
|
|
60
|
-
prompt: string;
|
|
61
|
-
namespace: string;
|
|
62
|
-
}
|
|
63
|
-
export interface EntityItemData extends BaseItemData {
|
|
64
|
-
type: string;
|
|
65
|
-
scope?: {
|
|
66
|
-
env?: string;
|
|
67
|
-
site?: string;
|
|
68
|
-
namespace?: string;
|
|
69
|
-
};
|
|
70
|
-
properties?: Record<string, any>;
|
|
71
|
-
}
|
|
72
|
-
export interface PlaybookItemData extends BaseItemData {
|
|
73
|
-
playbookId: string;
|
|
74
|
-
playbookName: string;
|
|
75
|
-
}
|
|
76
|
-
export interface ChatContextItem {
|
|
77
|
-
node: TreeNode;
|
|
78
|
-
occurrences: string[];
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;CAAG;AACxD,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,WAAW,GACX,kBAAkB,GAClB,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,UAAU,CAAC;AAEf,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B;AAGD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEtB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,SAAS,EAAE,OAAO,CAAC;IAEnB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE;QACN,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB"}
|
package/dist/functions.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { PluginExtensionAddedFunctionConfig } from '@grafana/data';
|
|
2
|
-
export type CallbackFunction = () => FunctionNamespace[];
|
|
3
|
-
export type FunctionImplementation = (...args: any[]) => any;
|
|
4
|
-
export declare const CALLBACK_EXTENSION_POINT = "grafana-assistant-app/callback/v0-alpha";
|
|
5
|
-
export type NamedFunctions = Record<string, FunctionImplementation>;
|
|
6
|
-
export type FunctionNamespace = {
|
|
7
|
-
namespace: string;
|
|
8
|
-
functions: NamedFunctions;
|
|
9
|
-
};
|
|
10
|
-
export declare function newFunctionNamespace(namespace: string, functions: NamedFunctions): FunctionNamespace;
|
|
11
|
-
export declare function getExposeAssistantFunctionsConfig(namespaces: FunctionNamespace[]): PluginExtensionAddedFunctionConfig<() => FunctionNamespace[]>;
|
|
12
|
-
//# sourceMappingURL=functions.d.ts.map
|
package/dist/functions.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,eAAe,CAAC;AAEnE,MAAM,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,EAAE,CAAC;AACzD,MAAM,MAAM,sBAAsB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAC7D,eAAO,MAAM,wBAAwB,4CAA4C,CAAC;AAElF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,iBAAiB,CAKpG;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,iBAAiB,EAAE,GAC9B,kCAAkC,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAa/D"}
|
package/dist/hook.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { OpenAssistantProps } from './sidebar';
|
|
2
|
-
export type AssistantHook = {
|
|
3
|
-
isAvailable: boolean;
|
|
4
|
-
openAssistant: ((props: OpenAssistantProps) => void) | undefined;
|
|
5
|
-
closeAssistant: (() => void) | undefined;
|
|
6
|
-
toggleAssistant: ((props: OpenAssistantProps) => void) | undefined;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Hook to check if the assistant is available and return the open, close, and toggle functions.
|
|
10
|
-
* @returns {AssistantHook}
|
|
11
|
-
*/
|
|
12
|
-
export declare function useAssistant(): AssistantHook;
|
|
13
|
-
//# sourceMappingURL=hook.d.ts.map
|
package/dist/hook.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkD,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/F,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACjE,cAAc,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACzC,eAAe,EAAE,CAAC,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACpE,CAAC;AACF;;;GAGG;AACH,wBAAgB,YAAY,IAAI,aAAa,CAgB5C"}
|
package/dist/index.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export { createAssistantContextItem, ChatContextItem, ComponentNodeData, DashboardNodeData, DatasourceNodeData, EntityNodeData, FolderNodeData, ItemDataType, LabelNameNodeData, LabelValueNodeData, PlaybookNodeData, StructuredNodeData, TreeNode, providePageContext, useProvidePageContext, PageContextRegistration, usePageContext, provideQuestions, useProvideQuestions, useQuestions, Question, QuestionRegistration, usePageComponents, provideComponents, ComponentImplementation, NamedComponents, } from './context/index';
|
|
2
|
-
export * from './investigations';
|
|
3
|
-
export * from './functions';
|
|
4
|
-
export * from './hook';
|
|
5
|
-
export * from './plugin';
|
|
6
|
-
export * from './sidebar';
|
|
7
|
-
export * from './components';
|
|
8
|
-
export * from './inline';
|
|
9
|
-
export * from './terms';
|
|
10
|
-
export * from './tools';
|
|
11
|
-
export * from './limits';
|
|
12
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,QAAQ,EACR,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,oBAAoB,EAEpB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
package/dist/index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function n(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n);return(t>>>0).toString(16)}e.r(t),e.d(t,{AITextArea:()=>Wt,AITextInput:()=>Bt,ASSISTANT_PLUGIN_ID:()=>K,ASSISTANT_PLUGIN_TITLE:()=>Q,CALLBACK_EXTENSION_POINT:()=>B,ComponentNodeData:()=>E,DashboardNodeData:()=>$,DatasourceNodeData:()=>I,EntityNodeData:()=>C,FolderNodeData:()=>S,InvestigationCreatedEvent:()=>M,LIMITS_UPDATED_EVENT:()=>Yt,LabelNameNodeData:()=>L,LabelValueNodeData:()=>T,OpenAssistantButton:()=>It,OpenAssistantSplitButton:()=>Tt,PlaybookNodeData:()=>U,StructuredNodeData:()=>a,TERMS_AND_CONDITIONS_REFRESH_EVENT:()=>Qt,checkLimits:()=>tn,checkTerms:()=>Jt,closeAssistant:()=>re,createAssistantContextItem:()=>P,createTool:()=>Zt,emitInvestigationCreated:()=>j,ensureInlineAssistantInitialized:()=>zt,getExposeAssistantFunctionsConfig:()=>W,getInlineAssistantFactory:()=>Ft,isAssistantAvailable:()=>Z,newFunctionNamespace:()=>G,onInvestigationCreated:()=>q,openAssistant:()=>ne,provideComponents:()=>A,providePageContext:()=>g,provideQuestions:()=>O,setInlineAssistantFactory:()=>Rt,setInlineAssistantInitializer:()=>Dt,toggleAssistant:()=>ae,useAssistant:()=>oe,useInlineAssistant:()=>Mt,useLimits:()=>nn,usePageComponents:()=>k,usePageContext:()=>y,useProvidePageContext:()=>b,useProvideQuestions:()=>R,useQuestions:()=>D,useTerms:()=>Xt});class r{constructor(e){this.params=e,this.text="",this.id=n(e.id),this.type=e.type}get bypassLimits(){var e;return null!==(e=this.params.bypassLimits)&&void 0!==e&&e}formatForLLM(e){var t,n;return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:null!==(t=this.params.text)&&void 0!==t?t:"",text:null!==(n=this.params.text)&&void 0!==n?n:""}}}equals(e){return e instanceof r&&this.id===e.id&&this.type===e.type}}class a extends r{constructor(e){super({...e,id:n(JSON.stringify(e.data)),type:"structured"}),this.data=e.data}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:this.data}}}const o=require("@grafana/runtime"),s=require("react");var i=e.n(s);const c="__grafanaAssistantPageContextRegistry__",l="grafana-assistant:page-context-registry-changed",u="grafana-assistant:page-context-update",d="grafana-assistant:page-context-remove",p="grafana-assistant:page-context-sync";function m(){return window[c]}function f(e,t=!1){window[c]=e,window.dispatchEvent(new CustomEvent(l)),t||window.dispatchEvent(new CustomEvent(p,{detail:{registry:e}}))}window[c]||(window[c]=[]);let h=!1;function g(e,t){var n;(n=e)instanceof RegExp?n.source:"string"!=typeof n||n&&""!==n.trim()||console.warn("useProvidePageContext: Empty string passed as urlPattern. This will cause the context to not match any pages.");const r={id:w(),urlPattern:e,context:[...t]};f([...m(),r]),window.dispatchEvent(new CustomEvent(u,{detail:r}));const a=e=>{const t=m(),n=t.findIndex(e=>e.id===r.id);if(-1!==n){const r=[...t];r[n]={...r[n],context:[...e]},f(r),window.dispatchEvent(new CustomEvent(u,{detail:r[n]}))}};return a.unregister=()=>{const e=m(),t=e.findIndex(e=>e.id===r.id);-1!==t&&(f(e.filter((e,n)=>n!==t)),window.dispatchEvent(new CustomEvent(d,{detail:{id:r.id}})))},a}h||(h=!0,window.addEventListener(u,e=>{const t=e.detail;if(!t||!t.id)return;const n=m(),r=n.findIndex(e=>e.id===t.id);if(-1!==r){const e=[...n];e[r]=t,f(e,!0)}else f([...n,t],!0)}),window.addEventListener(d,e=>{var t;const n=null===(t=e.detail)||void 0===t?void 0:t.id;if(!n)return;const r=m(),a=r.findIndex(e=>e.id===n);-1!==a&&f(r.filter((e,t)=>t!==a),!0)}),window.addEventListener(p,e=>{var t;const n=null===(t=e.detail)||void 0===t?void 0:t.registry;if(!Array.isArray(n))return;const r=m(),a=new Set(r.map(e=>e.id)),o=n.filter(e=>!a.has(e.id));o.length>0&&f([...r,...o],!0)}));const v=[];function b(e,t=v){const n=(0,s.useRef)(void 0),r=(0,s.useRef)(void 0),a=(0,s.useRef)(!1);return(0,s.useEffect)(()=>{a.current=!1;const o=void 0!==r.current?r.current:t;return n.current=g(e,o),void 0!==r.current&&(r.current=void 0),()=>{var e;null===(e=n.current)||void 0===e||e.unregister(),n.current=void 0}},[e]),(0,s.useEffect)(()=>{!a.current&&n.current&&n.current(t)},[t]),(0,s.useCallback)(e=>{a.current=!0,n.current?n.current(e):r.current=e},[])}function y(e={allowQuestions:!1,allowComponents:!1}){const[t,n]=(0,s.useState)([]),r=(0,o.useLocationService)(),a=(0,s.useRef)("");(0,s.useEffect)(()=>{const e=()=>{const e=function(e){if(!e)return[];const t=[],n=m();for(const r of n)x(e,r.urlPattern)&&t.push(...r.context);return t}(r.getLocation().pathname);n(e)},t=()=>{e()},o=r.getLocationObservable().subscribe(t=>{const n=t.pathname;n!==a.current&&(a.current=n,e())});return window.addEventListener(l,t),window.addEventListener(u,t),window.addEventListener(d,t),window.addEventListener(p,t),e(),()=>{o.unsubscribe(),window.removeEventListener(l,t),window.removeEventListener(u,t),window.removeEventListener(d,t),window.removeEventListener(p,t)}},[r]);let i=t;return e.allowQuestions||(i=i.filter(e=>{var t;return"question"!==(null===(t=e.node.data)||void 0===t?void 0:t.type)})),e.allowComponents||(i=i.filter(e=>{var t;return"component"!==(null===(t=e.node.data)||void 0===t?void 0:t.type)})),i}function w(e="page-context"){return`${e}-${Date.now()}-${Math.random().toString(36).slice(2,11)}`}function x(e,t){if(t instanceof RegExp)return t.test(e);if("string"==typeof t){if(!t||""===t.trim())return!1;const n=t.replace(/\*\*/g,"\0DOUBLE_STAR\0").replace(/\*/g,"[^/]*").replace(/\u0000DOUBLE_STAR\u0000/g,".*").replace(/\?/g,".");return new RegExp(`^${n}$`).test(e)}return!1}class E extends r{constructor(e){const t=e.namespace||"components";super({...e,id:`${t}-${Object.keys(e.components).join("-")}`,type:"component"}),this.components=e.components,this.prompt=e.prompt,this.namespace=t}formatForLLM(e){return{type:this.type,codeElementIds:e,data:{name:`${this.namespace} components`,prompt:this.prompt,namespace:this.namespace}}}}function k(){const e=y({allowComponents:!0,allowQuestions:!1});return(0,s.useMemo)(()=>{const t={};return e.filter(e=>{var t;return null===(t=e.node.data)||void 0===t?void 0:t.components}).forEach(e=>{const n=e.node.data;if((null==n?void 0:n.components)&&Object.keys(n.components).length>0){const e=n.namespace||n.name||"components";Object.entries(n.components).forEach(([n,r])=>{t[`${e}_${n}`]=r})}}),t},[e])}function A(e,t,n,r=/.*/){if((a=r)instanceof RegExp?".*"===a.source&&""===a.flags:".*"===a||"/.*/"===a){const r=g(/.*/,[P("component",{components:n,prompt:e,namespace:t})]),a=(e,n)=>{r([P("component",{components:e,prompt:n,namespace:t})])};return a.unregister=r.unregister,a}var a;const o=g(/.*/,[P("component",{components:n,prompt:"",namespace:t})]),s=g(r,[P("component",{components:{},prompt:e,namespace:t})]),i=(e,n)=>{o([P("component",{components:e,prompt:"",namespace:t})]),s([P("component",{components:{},prompt:n,namespace:t})])};return i.unregister=()=>{o.unregister(),s.unregister()},i}class $ extends r{constructor(e){super({...e,id:e.dashboardUid,type:"dashboard"}),this.dashboardUid=e.dashboardUid,this.dashboardTitle=e.dashboardTitle,this.folderUid=e.folderUid,this.folderTitle=e.folderTitle,this.text=e.dashboardTitle}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.dashboardTitle,dashboardUid:this.dashboardUid,dashboardTitle:this.dashboardTitle,folderUid:this.folderUid,folderTitle:this.folderTitle,text:this.text}}}}class S extends r{constructor(e){super({...e,id:e.folderUid,type:"dashboard_folder"}),this.text="",this.folderUid=e.folderUid,this.folderTitle=e.folderTitle,this.text=e.folderTitle}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.folderTitle,folderUid:this.folderUid,folderTitle:this.folderTitle,text:this.text}}}}class I extends r{constructor(e){super({...e,id:e.datasourceUid,type:"datasource"}),this.datasourceUid=e.datasourceUid,this.datasourceType=e.datasourceType,this.datasourceName=e.datasourceName,this.img=e.img,this.text=e.datasourceName}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.datasourceName,uid:this.datasourceUid,type:this.datasourceType,text:this.text}}}}class C extends r{constructor(e){var t,n,r;super({id:`${e.type}-${e.name}-${[null===(t=e.scope)||void 0===t?void 0:t.env,null===(n=e.scope)||void 0===n?void 0:n.site,null===(r=e.scope)||void 0===r?void 0:r.namespace].filter(Boolean).join("-")}`,type:"entity",title:e.title,hidden:e.hidden,img:e.img,icon:e.icon,text:e.name}),this.entityType=e.type,this.name=e.name,this.scope=e.scope,this.properties=e.properties,this.text=e.name}formatForLLM(e){return{type:"entity",codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.name,text:this.text,type:this.entityType,scope:this.scope,properties:this.properties}}}}class L extends r{constructor(e){super({...e,id:`${e.datasourceUid}-${e.labelName}`,type:"label_name"}),this.datasourceUid=e.datasourceUid,this.datasourceType=e.datasourceType,this.datasourceName=e.datasourceName,this.labelName=e.labelName,this.text=e.labelName,this.img=e.img}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.labelName,datasourceUid:this.datasourceUid,datasourceType:this.datasourceType,datasourceName:this.datasourceName,labelName:this.labelName,text:this.text}}}}class T extends r{constructor(e){super({...e,id:`${e.datasourceUid}-${e.labelName}-${e.labelValue}-${e.operator||"="}`,type:"label_value"}),this.datasourceUid=e.datasourceUid,this.datasourceType=e.datasourceType,this.datasourceName=e.datasourceName,this.labelName=e.labelName,this.labelValue=e.labelValue,this.text=e.labelValue,this.img=e.img,this.operator=e.operator||"="}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.labelValue,datasourceUid:this.datasourceUid,datasourceType:this.datasourceType,datasourceName:this.datasourceName,labelName:this.labelName,labelValue:this.labelValue,text:this.text,operator:this.operator}}}}function N(e){var t,n,r,a,s;const i=(0,o.getDataSourceSrv)().getInstanceSettings(e);return{datasourceType:null!==(t=null==i?void 0:i.type)&&void 0!==t?t:"unknown",datasourceName:null!==(n=null==i?void 0:i.name)&&void 0!==n?n:e,img:null===(s=null===(a=null===(r=null==i?void 0:i.meta)||void 0===r?void 0:r.info)||void 0===a?void 0:a.logos)||void 0===s?void 0:s.small}}const _={datasource:"database",label_name:"database",label_value:"database",dashboard:"dashboard",dashboard_folder:"folder",unknown:"circle-mono",structured:"gf-grid",component:"gf-grid",entity:"asserts",playbook:"play"};function P(e,t){var n,o,s;const i=function(e,t){switch(e){case"datasource":return new I({...t,...N(t.datasourceUid)});case"label_name":return new L({...t,...N(t.datasourceUid)});case"label_value":return new T({...t,...N(t.datasourceUid)});case"dashboard":return new $(t);case"dashboard_folder":return new S(t);case"structured":return new a(t);case"component":return new E({...t,hidden:!0});case"entity":return new C(t);case"unknown":return new r(t);default:return console.error(`Unknown context type: ${e}`),new r(t)}}(e,t),c=null!==(n=t.title)&&void 0!==n?n:function(e){var t;return e instanceof a?e.formatForLLM().data.name:null!==(t=e.text)&&void 0!==t?t:"Given Context"}(i),l=null!==(o=t.img)&&void 0!==o?o:function(e){if("img"in e)return e.img}(i);return{node:{id:i.id,name:c,img:l,icon:null!==(s=t.icon)&&void 0!==s?s:_[e],navigable:!1,selectable:!0,data:i},occurrences:[]}}class U extends r{constructor(e){super({...e,id:e.playbookId,type:"playbook",text:e.playbookName}),this.playbookId=e.playbookId,this.playbookName=e.playbookName,this.text=e.playbookName}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.playbookName,playbookId:this.playbookId,playbookName:this.playbookName,text:this.text}}}}function O(e,t){const n=w("question"),r=e=>e.map((e,t)=>({node:{id:`question-${n}-${t}`,name:e.title||e.prompt,navigable:!1,selectable:!0,icon:"question-circle",data:{type:"question",prompt:e.prompt,title:e.title,context:e.context||[]}},occurrences:[]})),a=g(e,r(t)),o=e=>{a(r(e))};return o.unregister=a.unregister,o}function R(e,t=[]){const n=(0,s.useMemo)(()=>w("question"),[]),r=e=>e.map((e,t)=>{var r;return{node:{id:`question-${n}-${t}`,name:null!==(r=e.title)&&void 0!==r?r:e.prompt,navigable:!1,selectable:!0,icon:"question-circle",data:{type:"question",prompt:e.prompt,title:e.title,context:e.context||[]}},occurrences:[]}}),a=b(e,r(t));return e=>{a(r(e))}}function D(){const e=y({allowQuestions:!0,allowComponents:!1});return z(e)}const z=e=>e.filter(e=>{var t;return"question"===(null===(t=e.node.data)||void 0===t?void 0:t.type)}).map(e=>{var t,n,r;return{prompt:(null===(t=e.node.data)||void 0===t?void 0:t.prompt)||e.node.name,title:null===(n=e.node.data)||void 0===n?void 0:n.title,context:(null===(r=e.node.data)||void 0===r?void 0:r.context)||[]}}),F=require("@grafana/data");class M extends F.BusEventWithPayload{}function j(e){const t=new M({investigationId:e});(0,o.getAppEvents)().publish(t)}function q(e){const t=(0,o.getAppEvents)().subscribe(M,t=>{e(t.payload)});return()=>t.unsubscribe()}M.type="grafana-assistant:investigation-created";const B="grafana-assistant-app/callback/v0-alpha";function G(e,t){return{namespace:e,functions:t}}function W(e){return{title:"callback",targets:[B],fn:()=>e.map(e=>({namespace:e.namespace,functions:e.functions}))}}const V=require("rxjs"),K="grafana-assistant-app",Q="Grafana Assistant",H=10,J=100,X=5e3;function Z(){return o.getObservablePluginLinks?(0,V.defer)(()=>{try{return(0,o.getObservablePluginLinks)({extensionPointId:"grafana/extension-sidebar/v0-alpha"}).pipe((0,V.map)(e=>e.some(e=>e.pluginId===K&&e.title===Q)))}catch(e){return(0,V.throwError)(()=>e)}}).pipe((0,V.retry)({count:H,delay:(e,t)=>{var n;const r=(null===(n=null==e?void 0:e.message)||void 0===n?void 0:n.toLowerCase())||"";if(!(r.includes("can only be used after")||r.includes("grafana instance has started")||r.includes("not started")))throw e;const a=Math.min(J*Math.pow(2,t-1),X);return(0,V.timer)(a)}}),(0,V.catchError)(()=>(0,V.of)(!1))):(0,V.of)(!1)}class Y extends F.BusEventWithPayload{}Y.type="open-extension-sidebar";class ee extends F.BusEventBase{}ee.type="close-extension-sidebar";class te extends F.BusEventWithPayload{}function ne(e){var t,n;(0,o.reportInteraction)("grafana_assistant_app_opened_sidebar",{from:e.origin,prompt:null!==(t=e.prompt)&&void 0!==t?t:""}),function(e,t,n){const r=new Y({pluginId:e,componentTitle:t,props:n});(0,o.getAppEvents)().publish(r)}(K,Q,{initialPrompt:e.prompt,initialContext:e.context,initialAutoSend:null===(n=e.autoSend)||void 0===n||n,origin:e.origin,initialMode:e.mode})}function re(){!function(){const e=new ee;(0,o.getAppEvents)().publish(e)}()}function ae(e){var t,n;(0,o.reportInteraction)("grafana_assistant_app_toggled_sidebar",{from:e.origin,prompt:null!==(t=e.prompt)&&void 0!==t?t:""}),function(e,t,n){const r=new te({pluginId:e,componentTitle:t,props:n});(0,o.getAppEvents)().publish(r)}(K,Q,{initialPrompt:e.prompt,initialContext:e.context,initialAutoSend:null===(n=e.autoSend)||void 0===n||n,origin:e.origin,initialMode:e.mode})}function oe(){const[e,t]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{const e=Z().subscribe(e=>t(e));return()=>{e.unsubscribe()}},[]),{isAvailable:e,openAssistant:e?ne:void 0,closeAssistant:e?re:void 0,toggleAssistant:e?ae:void 0}}te.type="toggle-extension-sidebar";const se=require("@grafana/ui");var ie=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{n.insertRule(e,n.cssRules.length)}catch(e){}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach(function(e){var t;return null==(t=e.parentNode)?void 0:t.removeChild(e)}),this.tags=[],this.ctr=0},e}(),ce=Math.abs,le=String.fromCharCode,ue=Object.assign;function de(e){return e.trim()}function pe(e,t,n){return e.replace(t,n)}function me(e,t){return e.indexOf(t)}function fe(e,t){return 0|e.charCodeAt(t)}function he(e,t,n){return e.slice(t,n)}function ge(e){return e.length}function ve(e){return e.length}function be(e,t){return t.push(e),e}var ye=1,we=1,xe=0,Ee=0,ke=0,Ae="";function $e(e,t,n,r,a,o,s){return{value:e,root:t,parent:n,type:r,props:a,children:o,line:ye,column:we,length:s,return:""}}function Se(e,t){return ue($e("",null,null,"",null,null,0),e,{length:-e.length},t)}function Ie(){return ke=Ee>0?fe(Ae,--Ee):0,we--,10===ke&&(we=1,ye--),ke}function Ce(){return ke=Ee<xe?fe(Ae,Ee++):0,we++,10===ke&&(we=1,ye++),ke}function Le(){return fe(Ae,Ee)}function Te(){return Ee}function Ne(e,t){return he(Ae,e,t)}function _e(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Pe(e){return ye=we=1,xe=ge(Ae=e),Ee=0,[]}function Ue(e){return Ae="",e}function Oe(e){return de(Ne(Ee-1,ze(91===e?e+2:40===e?e+1:e)))}function Re(e){for(;(ke=Le())&&ke<33;)Ce();return _e(e)>2||_e(ke)>3?"":" "}function De(e,t){for(;--t&&Ce()&&!(ke<48||ke>102||ke>57&&ke<65||ke>70&&ke<97););return Ne(e,Te()+(t<6&&32==Le()&&32==Ce()))}function ze(e){for(;Ce();)switch(ke){case e:return Ee;case 34:case 39:34!==e&&39!==e&&ze(ke);break;case 40:41===e&&ze(e);break;case 92:Ce()}return Ee}function Fe(e,t){for(;Ce()&&e+ke!==57&&(e+ke!==84||47!==Le()););return"/*"+Ne(t,Ee-1)+"*"+le(47===e?e:Ce())}function Me(e){for(;!_e(Le());)Ce();return Ne(e,Ee)}var je="-ms-",qe="-moz-",Be="-webkit-",Ge="comm",We="rule",Ve="decl",Ke="@keyframes";function Qe(e,t){for(var n="",r=ve(e),a=0;a<r;a++)n+=t(e[a],a,e,t)||"";return n}function He(e,t,n,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case Ve:return e.return=e.return||e.value;case Ge:return"";case Ke:return e.return=e.value+"{"+Qe(e.children,r)+"}";case We:e.value=e.props.join(",")}return ge(n=Qe(e.children,r))?e.return=e.value+"{"+n+"}":""}function Je(e){return Ue(Xe("",null,null,null,[""],e=Pe(e),0,[0],e))}function Xe(e,t,n,r,a,o,s,i,c){for(var l=0,u=0,d=s,p=0,m=0,f=0,h=1,g=1,v=1,b=0,y="",w=a,x=o,E=r,k=y;g;)switch(f=b,b=Ce()){case 40:if(108!=f&&58==fe(k,d-1)){-1!=me(k+=pe(Oe(b),"&","&\f"),"&\f")&&(v=-1);break}case 34:case 39:case 91:k+=Oe(b);break;case 9:case 10:case 13:case 32:k+=Re(f);break;case 92:k+=De(Te()-1,7);continue;case 47:switch(Le()){case 42:case 47:be(Ye(Fe(Ce(),Te()),t,n),c);break;default:k+="/"}break;case 123*h:i[l++]=ge(k)*v;case 125*h:case 59:case 0:switch(b){case 0:case 125:g=0;case 59+u:-1==v&&(k=pe(k,/\f/g,"")),m>0&&ge(k)-d&&be(m>32?et(k+";",r,n,d-1):et(pe(k," ","")+";",r,n,d-2),c);break;case 59:k+=";";default:if(be(E=Ze(k,t,n,l,u,a,i,y,w=[],x=[],d),o),123===b)if(0===u)Xe(k,t,E,E,w,o,d,i,x);else switch(99===p&&110===fe(k,3)?100:p){case 100:case 108:case 109:case 115:Xe(e,E,E,r&&be(Ze(e,E,E,0,0,a,i,y,a,w=[],d),x),a,x,d,i,r?w:x);break;default:Xe(k,E,E,E,[""],x,0,i,x)}}l=u=m=0,h=v=1,y=k="",d=s;break;case 58:d=1+ge(k),m=f;default:if(h<1)if(123==b)--h;else if(125==b&&0==h++&&125==Ie())continue;switch(k+=le(b),b*h){case 38:v=u>0?1:(k+="\f",-1);break;case 44:i[l++]=(ge(k)-1)*v,v=1;break;case 64:45===Le()&&(k+=Oe(Ce())),p=Le(),u=d=ge(y=k+=Me(Te())),b++;break;case 45:45===f&&2==ge(k)&&(h=0)}}return o}function Ze(e,t,n,r,a,o,s,i,c,l,u){for(var d=a-1,p=0===a?o:[""],m=ve(p),f=0,h=0,g=0;f<r;++f)for(var v=0,b=he(e,d+1,d=ce(h=s[f])),y=e;v<m;++v)(y=de(h>0?p[v]+" "+b:pe(b,/&\f/g,p[v])))&&(c[g++]=y);return $e(e,t,n,0===a?We:i,c,l,u)}function Ye(e,t,n){return $e(e,t,n,Ge,le(ke),he(e,2,-2),0)}function et(e,t,n,r){return $e(e,t,n,Ve,he(e,0,r),he(e,r+1,-1),r)}var tt=function(e,t,n){for(var r=0,a=0;r=a,a=Le(),38===r&&12===a&&(t[n]=1),!_e(a);)Ce();return Ne(e,Ee)},nt=new WeakMap,rt=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||nt.get(n))&&!r){nt.set(e,!0);for(var a=[],o=function(e,t){return Ue(function(e,t){var n=-1,r=44;do{switch(_e(r)){case 0:38===r&&12===Le()&&(t[n]=1),e[n]+=tt(Ee-1,t,n);break;case 2:e[n]+=Oe(r);break;case 4:if(44===r){e[++n]=58===Le()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=le(r)}}while(r=Ce());return e}(Pe(e),t))}(t,a),s=n.props,i=0,c=0;i<o.length;i++)for(var l=0;l<s.length;l++,c++)e.props[c]=a[i]?o[i].replace(/&\f/g,s[l]):s[l]+" "+o[i]}}},at=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}};function ot(e,t){switch(function(e,t){return 45^fe(e,0)?(((t<<2^fe(e,0))<<2^fe(e,1))<<2^fe(e,2))<<2^fe(e,3):0}(e,t)){case 5103:return Be+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Be+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Be+e+qe+e+je+e+e;case 6828:case 4268:return Be+e+je+e+e;case 6165:return Be+e+je+"flex-"+e+e;case 5187:return Be+e+pe(e,/(\w+).+(:[^]+)/,Be+"box-$1$2"+je+"flex-$1$2")+e;case 5443:return Be+e+je+"flex-item-"+pe(e,/flex-|-self/,"")+e;case 4675:return Be+e+je+"flex-line-pack"+pe(e,/align-content|flex-|-self/,"")+e;case 5548:return Be+e+je+pe(e,"shrink","negative")+e;case 5292:return Be+e+je+pe(e,"basis","preferred-size")+e;case 6060:return Be+"box-"+pe(e,"-grow","")+Be+e+je+pe(e,"grow","positive")+e;case 4554:return Be+pe(e,/([^-])(transform)/g,"$1"+Be+"$2")+e;case 6187:return pe(pe(pe(e,/(zoom-|grab)/,Be+"$1"),/(image-set)/,Be+"$1"),e,"")+e;case 5495:case 3959:return pe(e,/(image-set\([^]*)/,Be+"$1$`$1");case 4968:return pe(pe(e,/(.+:)(flex-)?(.*)/,Be+"box-pack:$3"+je+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Be+e+e;case 4095:case 3583:case 4068:case 2532:return pe(e,/(.+)-inline(.+)/,Be+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(ge(e)-1-t>6)switch(fe(e,t+1)){case 109:if(45!==fe(e,t+4))break;case 102:return pe(e,/(.+:)(.+)-([^]+)/,"$1"+Be+"$2-$3$1"+qe+(108==fe(e,t+3)?"$3":"$2-$3"))+e;case 115:return~me(e,"stretch")?ot(pe(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==fe(e,t+1))break;case 6444:switch(fe(e,ge(e)-3-(~me(e,"!important")&&10))){case 107:return pe(e,":",":"+Be)+e;case 101:return pe(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Be+(45===fe(e,14)?"inline-":"")+"box$3$1"+Be+"$2$3$1"+je+"$2box$3")+e}break;case 5936:switch(fe(e,t+11)){case 114:return Be+e+je+pe(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Be+e+je+pe(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Be+e+je+pe(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Be+e+je+e+e}return e}var st=[function(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case Ve:e.return=ot(e.value,e.length);break;case Ke:return Qe([Se(e,{value:pe(e.value,"@","@"+Be)})],r);case We:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,function(t){switch(function(e){return(e=/(::plac\w+|:read-\w+)/.exec(e))?e[0]:e}(t)){case":read-only":case":read-write":return Qe([Se(e,{props:[pe(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return Qe([Se(e,{props:[pe(t,/:(plac\w+)/,":"+Be+"input-$1")]}),Se(e,{props:[pe(t,/:(plac\w+)/,":-moz-$1")]}),Se(e,{props:[pe(t,/:(plac\w+)/,je+"input-$1")]})],r)}return""})}}],it={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};function ct(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}var lt=/[A-Z]|^ms/g,ut=/_EMO_([^_]+?)_([^]*?)_EMO_/g,dt=function(e){return 45===e.charCodeAt(1)},pt=function(e){return null!=e&&"boolean"!=typeof e},mt=ct(function(e){return dt(e)?e:e.replace(lt,"-$&").toLowerCase()}),ft=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(ut,function(e,t,n){return gt={name:t,styles:n,next:gt},t})}return 1===it[e]||dt(e)||"number"!=typeof t||0===t?t:t+"px"};function ht(e,t,n){if(null==n)return"";var r=n;if(void 0!==r.__emotion_styles)return r;switch(typeof n){case"boolean":return"";case"object":var a=n;if(1===a.anim)return gt={name:a.name,styles:a.styles,next:gt},a.name;var o=n;if(void 0!==o.styles){var s=o.next;if(void 0!==s)for(;void 0!==s;)gt={name:s.name,styles:s.styles,next:gt},s=s.next;return o.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var a=0;a<n.length;a++)r+=ht(e,t,n[a])+";";else for(var o in n){var s=n[o];if("object"!=typeof s){var i=s;null!=t&&void 0!==t[i]?r+=o+"{"+t[i]+"}":pt(i)&&(r+=mt(o)+":"+ft(o,i)+";")}else if(!Array.isArray(s)||"string"!=typeof s[0]||null!=t&&void 0!==t[s[0]]){var c=ht(e,t,s);switch(o){case"animation":case"animationName":r+=mt(o)+":"+c+";";break;default:r+=o+"{"+c+"}"}}else for(var l=0;l<s.length;l++)pt(s[l])&&(r+=mt(o)+":"+ft(o,s[l])+";")}return r}(e,t,n);case"function":if(void 0!==e){var i=gt,c=n(e);return gt=i,ht(e,t,c)}}var l=n;if(null==t)return l;var u=t[l];return void 0!==u?u:l}var gt,vt=/label:\s*([^\s;{]+)\s*(;|$)/g;function bt(e,t,n){if(1===e.length&&"object"==typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];var r=!0,a="";gt=void 0;var o=e[0];null==o||void 0===o.raw?(r=!1,a+=ht(n,t,o)):a+=o[0];for(var s=1;s<e.length;s++)a+=ht(n,t,e[s]),r&&(a+=o[s]);vt.lastIndex=0;for(var i,c="";null!==(i=vt.exec(a));)c+="-"+i[1];var l=function(e){for(var t,n=0,r=0,a=e.length;a>=4;++r,a-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(a){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)}(a)+c;return{name:l,styles:a,next:gt}}function yt(e,t,n){var r="";return n.split(" ").forEach(function(n){void 0!==e[n]?t.push(e[n]+";"):n&&(r+=n+" ")}),r}function wt(e,t){if(void 0===e.inserted[t.name])return e.insert("",t,e.sheet,!0)}function xt(e,t,n){var r=[],a=yt(e,r,n);return r.length<2?n:a+t(r)}var Et=function e(t){for(var n="",r=0;r<t.length;r++){var a=t[r];if(null!=a){var o=void 0;switch(typeof a){case"boolean":break;case"object":if(Array.isArray(a))o=e(a);else for(var s in o="",a)a[s]&&s&&(o&&(o+=" "),o+=s);break;default:o=a}o&&(n&&(n+=" "),n+=o)}}return n};var kt=function(e){var t=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))})}var r,a,o=e.stylisPlugins||st,s={},i=[];r=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n<t.length;n++)s[t[n]]=!0;i.push(e)});var c,l,u,d,p=[He,(d=function(e){c.insert(e)},function(e){e.root||(e=e.return)&&d(e)})],m=(l=[rt,at].concat(o,p),u=ve(l),function(e,t,n,r){for(var a="",o=0;o<u;o++)a+=l[o](e,t,n,r)||"";return a});a=function(e,t,n,r){c=n,Qe(Je(e?e+"{"+t.styles+"}":t.styles),m),r&&(f.inserted[t.name]=!0)};var f={key:t,sheet:new ie({key:t,container:r,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:s,registered:{},insert:a};return f.sheet.hydrate(i),f}(e);t.sheet.speedy=function(e){this.isSpeedy=e},t.compat=!0;var n=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var a=bt(n,t.registered,void 0);return function(e,t){!function(e,t){var n=e.key+"-"+t.name;void 0===e.registered[n]&&(e.registered[n]=t.styles)}(e,t);var n=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var r=t;do{e.insert(t===r?"."+n:"",r,e.sheet,!0),r=r.next}while(void 0!==r)}}(t,a),t.key+"-"+a.name};return{css:n,cx:function(){for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];return xt(t.registered,n,Et(r))},injectGlobal:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var a=bt(n,t.registered);wt(t,a)},keyframes:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var a=bt(n,t.registered),o="animation-"+a.name;return wt(t,{name:a.name,styles:"@keyframes "+o+"{"+a.styles+"}"}),o},hydrate:function(e){e.forEach(function(e){t.inserted[e]=!0})},flush:function(){t.registered={},t.inserted={},t.sheet.flush()},sheet:t.sheet,cache:t,getRegisteredStyles:yt.bind(null,t.registered),merge:xt.bind(null,t.registered,n)}}({key:"css"}),At=(kt.flush,kt.hydrate,kt.cx),$t=(kt.merge,kt.getRegisteredStyles,kt.injectGlobal,kt.keyframes),St=kt.css;function It(e){const{isAvailable:t,openAssistant:n}=oe();return t&&n?i().createElement(Ct,{...e,openAssistant:n}):null}function Ct({prompt:e,origin:t,context:n,autoSend:r=!0,title:a="Analyze with Assistant",size:c="sm",iconOnlyButton:l=!1,openAssistant:u,onClick:d}){const p=(0,se.useStyles2)(Lt);return(0,s.useEffect)(()=>{(0,o.reportInteraction)("grafana_assistant_app_open_sidebar_button_displayed",{from:t})},[t]),i().createElement(i().Fragment,null,l?i().createElement(se.IconButton,{name:"ai-sparkle",onClick:()=>{null==d||d(),u({prompt:e,context:n,autoSend:r,origin:t})},variant:"secondary",size:c,"aria-label":a,className:p.icon,tooltip:a,"data-testid":"assistant-icon-button"}):i().createElement(se.Button,{icon:"ai-sparkle",onClick:()=>{null==d||d(),u({prompt:e,context:n,autoSend:r,origin:t})},variant:"secondary",fill:"solid",size:c,title:a,"aria-label":a,className:p.button,"data-testid":"assistant-button"},a))}kt.sheet,kt.cache;const Lt=e=>{const t=e.colors.secondary.main,n=e.colors.emphasize(t,.05),r=e.colors.background.canvas,a=e.shape.radius.default,o=`max(calc(${a} - 1px), 1px)`,s={content:'""',position:"absolute",inset:0,borderRadius:a,cornerShape:"squircle",background:"linear-gradient(90deg, rgb(168, 85, 247), rgb(249, 115, 22))",zIndex:-2,pointerEvents:"none"},i=e=>({content:'""',position:"absolute",inset:"1px",borderRadius:o,cornerShape:"squircle",background:`linear-gradient(${e}, ${e}), ${r}`,zIndex:-1,transition:"none",pointerEvents:"none"});return{button:St({label:"assistant-button",position:"relative",isolation:"isolate",border:"none",transition:"none !important","&::before":s,"&::after":{...i(t),transition:"none"},"&:hover":{transition:"none !important"},"&:hover::after":{background:`linear-gradient(${n}, ${n}), ${r}`}}),icon:St({label:"assistant-icon",position:"relative",isolation:"isolate",border:"none",background:"none",padding:e.spacing(.5),"&::before":{...s,transition:"background 0.1s ease"},"&:hover::after":{...i(t),background:`linear-gradient(${n}, ${n}), ${r}`}})}};function Tt(e){const{isAvailable:t,openAssistant:n}=oe();return t&&n?i().createElement(Nt,{...e,openAssistant:n}):null}function Nt({prompt:e,origin:t,context:n,autoSend:r=!0,title:a="Chat with Assistant",size:c="sm",onClick:l,menuItems:u,tooltip:d,openAssistant:p}){const m=(0,se.useStyles2)(_t);(0,s.useEffect)(()=>{(0,o.reportInteraction)("grafana_assistant_app_open_sidebar_split_button_displayed",{from:t})},[t]);const f=i().createElement("div",{className:m.wrapper},i().createElement(se.ButtonGroup,{className:m.buttonGroup},i().createElement(se.Button,{icon:"ai-sparkle",onClick:()=>{null==l||l(),p({prompt:e,context:n,autoSend:r,origin:t})},variant:"secondary",fill:"solid",size:c,"aria-label":a,"data-testid":"assistant-split-button-main"},a),u&&i().createElement(se.Dropdown,{overlay:u},i().createElement(se.Button,{variant:"secondary",icon:"angle-down",size:c,"aria-label":"More AI actions",className:m.dropdownButton,"data-testid":"assistant-split-button-dropdown"}))));return d?i().createElement(se.Tooltip,{content:d},f):f}const _t=e=>{const t=e.colors.secondary.main,n=e.colors.emphasize(t,.05),r=e.colors.background.canvas,a=e.shape.radius.default;return{wrapper:St({label:"assistant-split-button-wrapper",position:"relative",isolation:"isolate",display:"inline-block","&::before":{content:'""',position:"absolute",inset:0,borderRadius:a,cornerShape:"squircle",background:"linear-gradient(90deg, rgb(168, 85, 247), rgb(249, 115, 22))",zIndex:-1,pointerEvents:"none"},"&::after":{content:'""',position:"absolute",inset:"1px",borderRadius:`max(calc(${a} - 1px), 1px)`,cornerShape:"squircle",background:`linear-gradient(${t}, ${t}), ${r}`,zIndex:-1,pointerEvents:"none"},"&:hover::after":{background:`linear-gradient(${n}, ${n}), ${r}`}}),buttonGroup:St({label:"assistant-split-button-group",gap:0,position:"relative",zIndex:1,"& button":{border:"none",background:"transparent !important","&:hover":{background:"transparent !important"}}}),dropdownButton:St({padding:"0 6px"})}},Pt="__grafanaAssistantInlineFactory__",Ut="__grafanaAssistantInlineInitializer__",Ot="__grafanaAssistantInlineInitPromise__";function Rt(e){const t=window[Pt];t&&t!==e?console.warn("InlineAssistant factory already set; ignoring subsequent setInlineAssistantFactory call"):t||(window[Pt]=e)}function Dt(e){const t=window[Ut];t&&t!==e?console.warn("InlineAssistant initializer already set; ignoring subsequent setInlineAssistantInitializer call"):t||(window[Ut]=e)}async function zt(){if(window[Pt])return;const e=window[Ut];if(!e)throw new Error("InlineAssistant not initialized. Make sure the Grafana Assistant plugin is loaded and initialized.");const t=window[Ot];if(t)return t;const n=(async()=>{try{await e()}catch(e){throw window[Ot]=null,e}})();return window[Ot]=n,n}function Ft(){const e=window[Pt];if(!e)throw new Error("InlineAssistant factory not initialized. Make sure the Grafana Assistant plugin is loaded.");return e}function Mt(){const[e,t]=(0,s.useState)(!1),[n,r]=(0,s.useState)(""),[a,o]=(0,s.useState)(null),i=(0,s.useRef)(null),c=(0,s.useCallback)(()=>{o(null),r("")},[]),l=(0,s.useCallback)(()=>{i.current&&i.current.cancel(),t(!1)},[]),u=(0,s.useCallback)(async e=>{var n;o(null),r(""),t(!0);try{await zt();const n=Ft();i.current||(i.current=await n(e.origin)),await i.current.sendPrompt({prompt:e.prompt,systemPrompt:e.systemPrompt,tools:e.tools,onStart:()=>{t(!0)},onDelta:t=>{var n;r(e=>e+t),null===(n=e.onDelta)||void 0===n||n.call(e,t)},onComplete:n=>{var a;r(n),t(!1),null===(a=e.onComplete)||void 0===a||a.call(e,n)},onError:n=>{var r;o(n),t(!1),null===(r=e.onError)||void 0===r||r.call(e,n)}})}catch(r){const a=r instanceof Error?r:new Error(String(r));o(a),t(!1),null===(n=e.onError)||void 0===n||n.call(e,a)}},[]);return(0,s.useEffect)(()=>()=>{i.current&&(i.current.cancel(),i.current.dispose(),i.current=null)},[]),{generate:u,isGenerating:e,content:n,error:a,cancel:l,reset:c}}const jt=e=>{const t=["rgb(168, 85, 247)","rgb(249, 115, 22)"];if("dark"===e.name.toLowerCase()||"light"===e.name.toLowerCase())return t;const n=e.colors.gradients.brandHorizontal.match(/#[0-9A-Fa-f]{6}/g);return!n||n.length<2?t:[n[0],n[1]]},qt=(e,t,n,r)=>{const a=Array.from({length:101},(e,t)=>t),o={},[s,i]=jt(e),c=null!=n?n:s,l=null!=r?r:i;return a.forEach(e=>{o[`${e}%`]={backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from ${3.6*e}deg, transparent 60%, ${c} 80%, ${l} 100%, transparent 15%)\n `}}),o};function Bt({value:e,onChange:t,placeholder:n,origin:r,systemPrompt:a,onComplete:o,onError:s,onDelta:c,disabled:l=!1,className:u,"data-testid":d}){const{generate:p,isGenerating:m,error:f,reset:h}=Mt(),g=!e.trim()||l||m,v=(0,se.useStyles2)(Gt),b=async()=>{if(g)return;const t=e.trim();h(),await p({prompt:t,origin:r,systemPrompt:a,onComplete:e=>{null==o||o(e)},onError:e=>{null==s||s(e)},onDelta:e=>{null==c||c(e)}})},y=i().createElement(se.IconButton,{name:"ai-sparkle",onClick:b,disabled:g,tooltip:g?"Enter text to generate":"Generate with AI","data-testid":d?`${d}-send`:void 0});return i().createElement("div",{className:At(v.wrapper,{[v.animatedWrapper]:m},u),"data-testid":d},i().createElement(se.Input,{value:e,onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),b())},onChange:e=>t(e.currentTarget.value),placeholder:null!=n?n:"Ask AI to generate...",disabled:l||m,suffix:y,invalid:!!f,"data-testid":d?`${d}-input`:void 0}))}const Gt=e=>{const t=e.colors.background.primary,n=$t({label:"ai-input-border-animation",...qt(e,t)}),[r,a]=jt(e);return{wrapper:St({label:"ai-text-input-wrapper",position:"relative",borderRadius:e.shape.radius.default,cornerShape:"squircle"}),animatedWrapper:St({label:"ai-text-input-animated",border:"1px solid transparent",backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from 0deg, transparent 60%, ${r} 80%, ${a} 100%, transparent 15%)\n `,backgroundOrigin:"border-box",backgroundClip:"padding-box, border-box",animation:`${n} 2s linear infinite`,"& input":{border:"none !important"}})}};function Wt({value:e,onChange:t,placeholder:n,origin:r,systemPrompt:a,onComplete:o,onError:s,onDelta:c,disabled:l=!1,rows:u=4,className:d,"data-testid":p}){const{generate:m,isGenerating:f,error:h,reset:g}=Mt(),v=!e.trim()||l||f,b=(0,se.useStyles2)(Vt),y=async()=>{if(v)return;const t=e.trim();g(),await m({prompt:t,origin:r,systemPrompt:a,onComplete:e=>{null==o||o(e)},onError:e=>{null==s||s(e)},onDelta:e=>{null==c||c(e)}})};return i().createElement("div",{className:At(b.textareaWrapper,{[b.animatedWrapper]:f},d),"data-testid":p},i().createElement(se.TextArea,{value:e,onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())},onChange:e=>t(e.currentTarget.value),placeholder:null!=n?n:"Ask AI to generate... (Cmd/Ctrl+Enter to send)",disabled:l||f,rows:u,className:b.textarea,invalid:!!h,"data-testid":p?`${p}-textarea`:void 0}),i().createElement(se.IconButton,{name:"ai-sparkle",onClick:y,disabled:v,className:b.sendButton,"aria-label":"Generate with AI",tooltip:v?"Enter text to generate":"Generate with AI (Cmd/Ctrl+Enter)","data-testid":p?`${p}-send`:void 0}))}const Vt=e=>{const t=e.colors.background.primary,n=$t({label:"ai-textarea-border-animation",...qt(e,t)}),[r,a]=jt(e);return{textareaWrapper:St({label:"ai-textarea-wrapper",position:"relative",borderRadius:e.shape.radius.default,cornerShape:"squircle"}),animatedWrapper:St({label:"ai-textarea-animated",border:"1px solid transparent",backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from 0deg, transparent 60%, ${r} 80%, ${a} 100%, transparent 15%)\n `,backgroundOrigin:"border-box",backgroundClip:"padding-box, border-box",animation:`${n} 2s linear infinite`,"& textarea":{border:"none !important"}}),textarea:St({label:"ai-textarea",paddingRight:e.spacing(4),scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),sendButton:St({label:"ai-textarea-send",position:"absolute",right:e.spacing(1),top:e.spacing(1)})}};function Kt(e){const t=e.split("+")[0].split("-"),n=t[0],r=t.length>1?t.slice(1).join("-"):void 0,a=n.split(".").map(Number);return 3!==a.length||a.some(isNaN)?null:{major:a[0],minor:a[1],patch:a[2],prerelease:r}}const Qt="grafana-assistant-terms-and-conditions-refresh";async function Ht(){var e,t;const n=(0,o.getBackendSrv)(),r=`${null!==(e=null===o.config||void 0===o.config?void 0:o.config.appSubUrl)&&void 0!==e?e:""}/api/plugins/${K}/resources/api/v1/settings/terms`,a=(await(0,V.lastValueFrom)(n.fetch({url:r,method:"GET",showErrorAlert:!1}))).data.data,s=null!==(t=a.acceptedTermsAndConditions)&&void 0!==t&&t,i=a.acceptedVersion,c=a.version,l=a.termsType;if("msa"===l)return{accepted:s,termsType:l};if(!s||!i||!c)return{accepted:!1,termsType:l};const u=1===function(e,t){const n=Kt(e),r=Kt(t);return n&&r?n.major!==r.major?n.major>r.major?1:-1:n.minor!==r.minor?n.minor>r.minor?1:-1:n.patch!==r.patch?n.patch>r.patch?1:-1:n.prerelease&&r.prerelease?n.prerelease===r.prerelease?0:n.prerelease>r.prerelease?1:-1:n.prerelease&&!r.prerelease?-1:!n.prerelease&&r.prerelease?1:0:null}(c,i);return{accepted:s&&!u,termsType:l}}async function Jt(){try{return(await Ht()).accepted}catch(e){throw new Error(`Failed to check terms requirements: ${e instanceof Error?e.message:String(e)}`)}}function Xt(){const[e,t]=(0,s.useState)(!1),[n,r]=(0,s.useState)(null),[a,o]=(0,s.useState)(!0),[i,c]=(0,s.useState)(null);return(0,s.useEffect)(()=>{async function e(){try{o(!0),c(null);const e=await Ht();t(e.accepted),r(e.termsType)}catch(e){const n=e instanceof Error?e.message:"Failed to check terms";c(n),t(!1),r(null)}finally{o(!1)}}e();const n=()=>{e()};return document.addEventListener(Qt,n),()=>{document.removeEventListener(Qt,n)}},[]),{accepted:e,termsType:n,loading:a,error:i}}function Zt(e,t){var n;const{explainer:r,...a}=null!==(n=t.metadata)&&void 0!==n?n:{},o={name:t.name,description:t.description,inputSchema:t.inputSchema,metadata:r?{...a,explainer:e=>r(e)}:a,responseFormat:t.responseFormat,verboseParsingErrors:t.verboseParsingErrors,async invoke(n,r){var a;try{if(null===(a=r.signal)||void 0===a?void 0:a.aborted)throw new Error(`Tool ${t.name} execution was aborted`);const o=t.validate(n),s=[e(o,r)];return r.signal&&s.push(new Promise((e,n)=>{var a;null===(a=r.signal)||void 0===a||a.addEventListener("abort",()=>{n(new Error(`Tool ${t.name} execution was aborted`))},{once:!0})})),r.timeout&&r.timeout>0&&s.push(new Promise((e,n)=>{setTimeout(()=>{n(new Error(`Tool ${t.name} execution timed out after ${r.timeout}ms`))},r.timeout)})),Promise.race(s)}catch(e){throw t.verboseParsingErrors&&console.error(`Error invoking tool ${t.name}:`,e,n),e}}};return o}const Yt="grafana-assistant-limits-updated";async function en(){var e,t,n,r;const a=(0,o.getBackendSrv)(),s=`${null!==(e=null===o.config||void 0===o.config?void 0:o.config.appSubUrl)&&void 0!==e?e:""}/api/plugins/${K}/resources/api/v1/usage/limits/prompt`,i=(await(0,V.lastValueFrom)(a.fetch({url:s,method:"GET",showErrorAlert:!1}))).data.data,c=null!==(t=i.total)&&void 0!==t?t:0,l=null!==(n=i.limit)&&void 0!==n?n:0;return{count:c,limit:l,month:null!==(r=i.month)&&void 0!==r?r:"",isLimitReached:l>0&&c>=l}}async function tn(){try{return await en()}catch(e){throw new Error(`Failed to check limits: ${e instanceof Error?e.message:String(e)}`)}}function nn(){const[e,t]=(0,s.useState)(0),[n,r]=(0,s.useState)(0),[a,o]=(0,s.useState)(""),[i,c]=(0,s.useState)(!0),[l,u]=(0,s.useState)(null),d=(0,s.useCallback)(async()=>{try{c(!0),u(null);const e=await en();t(e.count),r(e.limit),o(e.month)}catch(e){const n=e instanceof Error?e.message:"Failed to fetch limits";u(n),t(0),r(0),o("")}finally{c(!1)}},[]);return(0,s.useEffect)(()=>{d()},[d]),(0,s.useEffect)(()=>{const e=e=>{const n=e;n.detail&&(t(n.detail.count),r(n.detail.limit),u(null))};return window.addEventListener(Yt,e),()=>{window.removeEventListener(Yt,e)}},[]),{count:e,limit:n,month:a,isLimitReached:n>0&&e>=n,loading:i,error:l,refetch:d}}module.exports=t})();
|
|
2
|
-
//# sourceMappingURL=index.js.map
|