@grafana/assistant 0.1.19 → 0.1.21
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/README.md +10 -1
- package/dist/context/index.d.ts +1 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/skill.d.ts +13 -0
- package/dist/context/skill.d.ts.map +1 -0
- package/dist/context/types.d.ts +4 -4
- package/dist/context/types.d.ts.map +1 -1
- package/dist/hook.d.ts +2 -0
- package/dist/hook.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inline/inlineAssistant.d.ts +2 -0
- package/dist/inline/inlineAssistant.d.ts.map +1 -1
- package/dist/inline/types.d.ts +11 -0
- package/dist/inline/types.d.ts.map +1 -1
- package/dist/inline/useInlineAssistant.d.ts.map +1 -1
- package/package.json +1 -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.stories.d.ts +0 -11
- package/dist/components/button/OpenAssistantSplitButton.stories.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.stories.d.ts +0 -22
- package/dist/components/input/AITextInput.stories.d.ts.map +0 -1
- package/dist/context/playbook.d.ts +0 -13
- package/dist/context/playbook.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -29,7 +29,11 @@ isAssistantAvailable().subscribe((available) => {
|
|
|
29
29
|
import { useAssistant } from '@grafana/assistant';
|
|
30
30
|
|
|
31
31
|
function MyComponent() {
|
|
32
|
-
const { isAvailable, openAssistant, closeAssistant } = useAssistant();
|
|
32
|
+
const { isLoading, isAvailable, openAssistant, closeAssistant } = useAssistant();
|
|
33
|
+
|
|
34
|
+
if (isLoading) {
|
|
35
|
+
return <div>Loading...</div>;
|
|
36
|
+
}
|
|
33
37
|
|
|
34
38
|
if (!isAvailable || !openAssistant) {
|
|
35
39
|
return <div>Assistant not available</div>;
|
|
@@ -516,6 +520,7 @@ A React hook that provides assistant availability status and control functions.
|
|
|
516
520
|
|
|
517
521
|
**Returns:** An object with the following properties:
|
|
518
522
|
|
|
523
|
+
- `isLoading: boolean` - Whether the availability check is still in progress
|
|
519
524
|
- `isAvailable: boolean` - Whether the Assistant is available
|
|
520
525
|
- `openAssistant?: (props: OpenAssistantProps) => void` - Function to open the assistant (undefined if not available)
|
|
521
526
|
- `closeAssistant?: () => void` - Function to close the assistant (undefined if not available)
|
|
@@ -767,6 +772,8 @@ export function PanelEditor() {
|
|
|
767
772
|
titleGen.generate({
|
|
768
773
|
prompt: 'Generate a panel title for CPU metrics',
|
|
769
774
|
origin: 'my-plugin/panel-editor',
|
|
775
|
+
agentName: 'panel-title-generator',
|
|
776
|
+
agentId: 'v1',
|
|
770
777
|
onComplete: (text) => setTitle(text),
|
|
771
778
|
onError: (err) => console.error(err)
|
|
772
779
|
});
|
|
@@ -787,6 +794,8 @@ export function PanelEditor() {
|
|
|
787
794
|
- `generate(options)` - Start a new generation
|
|
788
795
|
- Each instance is independent—use multiple for concurrent fields
|
|
789
796
|
|
|
797
|
+
For instrumentation, keep `origin` focused on where the request came from and use `agentName` for the stable logical inline agent within that integration. The SDK namespaces `agentName` by the `origin` namespace, so different integrations can safely reuse names like `title-generator` without colliding in Sigil. Use `agentId` when you also want to tag a version or implementation identifier.
|
|
798
|
+
|
|
790
799
|
#### Using Tools with Inline Assistant
|
|
791
800
|
|
|
792
801
|
Tools extend the assistant's capabilities with custom actions. Tools can return both text and structured data (artifacts). To access artifact data, include an `onToolComplete` callback in your tool implementation.
|
package/dist/context/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export * from './entity';
|
|
|
7
7
|
export * from './factory';
|
|
8
8
|
export * from './label';
|
|
9
9
|
export * from './page';
|
|
10
|
-
export * from './
|
|
10
|
+
export * from './skill';
|
|
11
11
|
export * from './questions';
|
|
12
12
|
export * from './types';
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseParams, NodeData } from './base';
|
|
2
|
+
import { type ContextItemData } from './types';
|
|
3
|
+
export interface CreateSkillContextParams extends BaseParams {
|
|
4
|
+
skillId: string;
|
|
5
|
+
skillName: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class SkillNodeData extends NodeData {
|
|
8
|
+
skillId: string;
|
|
9
|
+
skillName: string;
|
|
10
|
+
constructor(params: CreateSkillContextParams);
|
|
11
|
+
formatForLLM(codeElementIds?: string[]): ContextItemData;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=skill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/context/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,SAAS,CAAC;AAEnE,MAAM,WAAW,wBAAyB,SAAQ,UAAU;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,aAAc,SAAQ,QAAQ;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;gBAEb,MAAM,EAAE,wBAAwB;IAY5C,YAAY,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,eAAe;CAazD"}
|
package/dist/context/types.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export interface BaseItemData {
|
|
|
6
6
|
}
|
|
7
7
|
export interface UnknownItemData extends BaseItemData {
|
|
8
8
|
}
|
|
9
|
-
export type ItemDataType = 'unknown' | 'datasource' | 'label_name' | 'label_value' | 'dashboard' | 'dashboard_folder' | 'structured' | 'component' | 'entity' | '
|
|
9
|
+
export type ItemDataType = 'unknown' | 'datasource' | 'label_name' | 'label_value' | 'dashboard' | 'dashboard_folder' | 'structured' | 'component' | 'entity' | 'skill';
|
|
10
10
|
export interface ContextItemData {
|
|
11
11
|
type: ItemDataType;
|
|
12
12
|
codeElementIds?: string[];
|
|
@@ -69,9 +69,9 @@ export interface EntityItemData extends BaseItemData {
|
|
|
69
69
|
};
|
|
70
70
|
properties?: Record<string, any>;
|
|
71
71
|
}
|
|
72
|
-
export interface
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
export interface SkillItemData extends BaseItemData {
|
|
73
|
+
skillId: string;
|
|
74
|
+
skillName: string;
|
|
75
75
|
}
|
|
76
76
|
export interface ChatContextItem {
|
|
77
77
|
node: TreeNode;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,OAAO,CAAC;AAEZ,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,aAAc,SAAQ,YAAY;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB"}
|
package/dist/hook.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { OpenAssistantProps } from './sidebar';
|
|
2
2
|
export type AssistantHook = {
|
|
3
|
+
/** Whether the availability check is still in progress. */
|
|
4
|
+
isLoading: boolean;
|
|
3
5
|
isAvailable: boolean;
|
|
4
6
|
openAssistant: ((props: OpenAssistantProps) => void) | undefined;
|
|
5
7
|
closeAssistant: (() => void) | undefined;
|
package/dist/hook.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC;IACnB,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,CAiB5C"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { createAssistantContextItem, ChatContextItem, ComponentNodeData, DashboardNodeData, DatasourceNodeData, EntityNodeData, FolderNodeData, ItemDataType, LabelNameNodeData, LabelValueNodeData,
|
|
1
|
+
export { createAssistantContextItem, ChatContextItem, ComponentNodeData, DashboardNodeData, DatasourceNodeData, EntityNodeData, FolderNodeData, ItemDataType, LabelNameNodeData, LabelValueNodeData, SkillNodeData, StructuredNodeData, TreeNode, providePageContext, useProvidePageContext, PageContextRegistration, usePageContext, provideQuestions, useProvideQuestions, useQuestions, Question, QuestionRegistration, usePageComponents, provideComponents, ComponentImplementation, NamedComponents, } from './context/index';
|
|
2
2
|
export * from './investigations';
|
|
3
3
|
export * from './functions';
|
|
4
4
|
export * from './hook';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,aAAa,EACb,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
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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:()=>Ht,AITextInput:()=>Kt,ASSISTANT_PLUGIN_ID:()=>K,ASSISTANT_PLUGIN_TITLE:()=>Q,CALLBACK_EXTENSION_POINT:()=>j,ComponentNodeData:()=>E,DashboardNodeData:()=>$,DatasourceNodeData:()=>C,EntityNodeData:()=>I,FolderNodeData:()=>S,InvestigationCreatedEvent:()=>M,LIMITS_UPDATED_EVENT:()=>rn,LabelNameNodeData:()=>L,LabelValueNodeData:()=>T,OpenAssistantButton:()=>Ct,OpenAssistantSplitButton:()=>Nt,PlaybookNodeData:()=>R,StructuredNodeData:()=>a,TERMS_AND_CONDITIONS_REFRESH_EVENT:()=>Zt,checkLimits:()=>on,checkTerms:()=>en,closeAssistant:()=>re,createAssistantContextItem:()=>P,createTool:()=>nn,emitInvestigationCreated:()=>F,ensureInlineAssistantInitialized:()=>Ft,getExposeAssistantFunctionsConfig:()=>W,getInlineAssistantFactory:()=>zt,isAssistantAvailable:()=>Z,newFunctionNamespace:()=>q,onInvestigationCreated:()=>z,openAssistant:()=>ne,provideComponents:()=>A,providePageContext:()=>g,provideQuestions:()=>U,setInlineAssistantFactory:()=>Ot,setInlineAssistantInitializer:()=>Mt,toggleAssistant:()=>ae,useAssistant:()=>oe,useInlineAssistant:()=>jt,useLimits:()=>sn,usePageComponents:()=>k,usePageContext:()=>y,useProvidePageContext:()=>v,useProvideQuestions:()=>B,useQuestions:()=>D,useTerms:()=>tn});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 b=[];function v(e,t=b){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:`Custom UI components (${this.namespace})`,prompt:this.prompt?this.prompt+"\n\nIMPORTANT: The instructions and components described above are scoped to this specific context item only. Do not apply them to unrelated queries or components.":""}}}}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 C 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 I 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 C({...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 I(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 R 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 U(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 B(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=v(e,r(t));return e=>{a(r(e))}}function D(){const e=y({allowQuestions:!0,allowComponents:!1});return G(e)}const G=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)||[]}}),O=require("@grafana/data");class M extends O.BusEventWithPayload{}function F(e){const t=new M({investigationId:e});(0,o.getAppEvents)().publish(t)}function z(e){const t=(0,o.getAppEvents)().subscribe(M,t=>{e(t.payload)});return()=>t.unsubscribe()}M.type="grafana-assistant:investigation-created";const j="grafana-assistant-app/callback/v0-alpha";function q(e,t){return{namespace:e,functions:t}}function W(e){return{title:"callback",targets:[j],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 O.BusEventWithPayload{}Y.type="open-extension-sidebar";class ee extends O.BusEventBase{}ee.type="close-extension-sidebar";class te extends O.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 be(e){return e.length}function ve(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 Ce(){return ke=Ee>0?fe(Ae,--Ee):0,we--,10===ke&&(we=1,ye--),ke}function Ie(){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 Re(e){return Ae="",e}function Ue(e){return de(Ne(Ee-1,Ge(91===e?e+2:40===e?e+1:e)))}function Be(e){for(;(ke=Le())&&ke<33;)Ie();return _e(e)>2||_e(ke)>3?"":" "}function De(e,t){for(;--t&&Ie()&&!(ke<48||ke>102||ke>57&&ke<65||ke>70&&ke<97););return Ne(e,Te()+(t<6&&32==Le()&&32==Ie()))}function Ge(e){for(;Ie();)switch(ke){case e:return Ee;case 34:case 39:34!==e&&39!==e&&Ge(ke);break;case 40:41===e&&Ge(e);break;case 92:Ie()}return Ee}function Oe(e,t){for(;Ie()&&e+ke!==57&&(e+ke!==84||47!==Le()););return"/*"+Ne(t,Ee-1)+"*"+le(47===e?e:Ie())}function Me(e){for(;!_e(Le());)Ie();return Ne(e,Ee)}var Fe="-ms-",ze="-moz-",je="-webkit-",qe="comm",We="rule",Ve="decl",Ke="@keyframes";function Qe(e,t){for(var n="",r=be(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 qe: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 Re(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,b=1,v=0,y="",w=a,x=o,E=r,k=y;g;)switch(f=v,v=Ie()){case 40:if(108!=f&&58==fe(k,d-1)){-1!=me(k+=pe(Ue(v),"&","&\f"),"&\f")&&(b=-1);break}case 34:case 39:case 91:k+=Ue(v);break;case 9:case 10:case 13:case 32:k+=Be(f);break;case 92:k+=De(Te()-1,7);continue;case 47:switch(Le()){case 42:case 47:ve(Ye(Oe(Ie(),Te()),t,n),c);break;default:k+="/"}break;case 123*h:i[l++]=ge(k)*b;case 125*h:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:-1==b&&(k=pe(k,/\f/g,"")),m>0&&ge(k)-d&&ve(m>32?et(k+";",r,n,d-1):et(pe(k," ","")+";",r,n,d-2),c);break;case 59:k+=";";default:if(ve(E=Ze(k,t,n,l,u,a,i,y,w=[],x=[],d),o),123===v)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&&ve(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=b=1,y=k="",d=s;break;case 58:d=1+ge(k),m=f;default:if(h<1)if(123==v)--h;else if(125==v&&0==h++&&125==Ce())continue;switch(k+=le(v),v*h){case 38:b=u>0?1:(k+="\f",-1);break;case 44:i[l++]=(ge(k)-1)*b,b=1;break;case 64:45===Le()&&(k+=Ue(Ie())),p=Le(),u=d=ge(y=k+=Me(Te())),v++;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=be(p),f=0,h=0,g=0;f<r;++f)for(var b=0,v=he(e,d+1,d=ce(h=s[f])),y=e;b<m;++b)(y=de(h>0?p[b]+" "+v:pe(v,/&\f/g,p[b])))&&(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,qe,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);)Ie();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 Re(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]+=Ue(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=Ie());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 je+"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 je+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return je+e+ze+e+Fe+e+e;case 6828:case 4268:return je+e+Fe+e+e;case 6165:return je+e+Fe+"flex-"+e+e;case 5187:return je+e+pe(e,/(\w+).+(:[^]+)/,je+"box-$1$2"+Fe+"flex-$1$2")+e;case 5443:return je+e+Fe+"flex-item-"+pe(e,/flex-|-self/,"")+e;case 4675:return je+e+Fe+"flex-line-pack"+pe(e,/align-content|flex-|-self/,"")+e;case 5548:return je+e+Fe+pe(e,"shrink","negative")+e;case 5292:return je+e+Fe+pe(e,"basis","preferred-size")+e;case 6060:return je+"box-"+pe(e,"-grow","")+je+e+Fe+pe(e,"grow","positive")+e;case 4554:return je+pe(e,/([^-])(transform)/g,"$1"+je+"$2")+e;case 6187:return pe(pe(pe(e,/(zoom-|grab)/,je+"$1"),/(image-set)/,je+"$1"),e,"")+e;case 5495:case 3959:return pe(e,/(image-set\([^]*)/,je+"$1$`$1");case 4968:return pe(pe(e,/(.+:)(flex-)?(.*)/,je+"box-pack:$3"+Fe+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+je+e+e;case 4095:case 3583:case 4068:case 2532:return pe(e,/(.+)-inline(.+)/,je+"$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"+je+"$2-$3$1"+ze+(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,":",":"+je)+e;case 101:return pe(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+je+(45===fe(e,14)?"inline-":"")+"box$3$1"+je+"$2$3$1"+Fe+"$2box$3")+e}break;case 5936:switch(fe(e,t+11)){case 114:return je+e+Fe+pe(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return je+e+Fe+pe(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return je+e+Fe+pe(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return je+e+Fe+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,"@","@"+je)})],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+)/,":"+je+"input-$1")]}),Se(e,{props:[pe(t,/:(plac\w+)/,":-moz-$1")]}),Se(e,{props:[pe(t,/:(plac\w+)/,Fe+"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,bt=/label:\s*([^\s;{]+)\s*(;|$)/g;function vt(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]);bt.lastIndex=0;for(var i,c="";null!==(i=bt.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=be(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=vt(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=vt(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=vt(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 Ct(e){const{isAvailable:t,openAssistant:n}=oe();return t&&n?i().createElement(It,{...e,openAssistant:n}):null}function It({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}`}})}},Tt={sm:32,md:36,lg:40};function Nt(e){const{isAvailable:t,openAssistant:n}=oe();return t&&n?i().createElement(_t,{...e,openAssistant:n}):null}function _t({prompt:e,origin:t,context:n,autoSend:r=!0,title:a="Chat with Assistant",size:c="sm",onClick:l,menuItems:u,tooltip:d,dropdownButtonWidth:p,openAssistant:m}){const f=(0,se.useStyles2)(Pt),h=Boolean(u),g="number"==typeof(b=null!=p?p:Tt[c])?`${b}px`:b;var b;(0,s.useEffect)(()=>{(0,o.reportInteraction)("grafana_assistant_app_open_sidebar_split_button_displayed",{from:t})},[t]);const v=i().createElement("div",{className:f.wrapper},i().createElement(se.ButtonGroup,{className:f.buttonGroup},i().createElement(se.Button,{icon:"ai-sparkle",onClick:()=>{null==l||l(),m({prompt:e,context:n,autoSend:r,origin:t})},variant:"secondary",fill:"solid",size:c,"aria-label":a,className:At(f.segmentButton,h?f.mainButtonSplit:f.mainButtonSolo),"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:At(f.segmentButton,f.dropdownButton),style:{width:g,minWidth:g},"data-testid":"assistant-split-button-dropdown"}))));return d?i().createElement(se.Tooltip,{content:d},v):v}const Pt=e=>{const t=e.colors.secondary.main,n=e.colors.emphasize(t,.05),r=e.colors.background.canvas,a=e.colors.border.weak,o=e.shape.radius.default,s=`max(calc(${o} - 1px), 1px)`;return{wrapper:St({label:"assistant-split-button-wrapper",position:"relative",isolation:"isolate",display:"inline-block","&::before":{content:'""',position:"absolute",inset:0,borderRadius:o,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:s,cornerShape:"squircle",background:`linear-gradient(${t}, ${t}), ${r}`,zIndex:-1,pointerEvents:"none"}}),buttonGroup:St({label:"assistant-split-button-group",gap:0,position:"relative",zIndex:1,borderRadius:s,overflow:"hidden","& button":{border:"none",boxShadow:"none",background:"transparent !important"}}),segmentButton:St({label:"assistant-split-button-segment",position:"relative","&:hover":{background:`${n} !important`},"&:focus-visible":{background:`${n} !important`},'&[aria-expanded="true"]':{background:`${n} !important`}}),mainButtonSolo:St({label:"assistant-split-button-main-solo",borderRadius:s}),mainButtonSplit:St({label:"assistant-split-button-main-split",borderTopLeftRadius:s,borderBottomLeftRadius:s,borderTopRightRadius:0,borderBottomRightRadius:0}),dropdownButton:St({label:"assistant-split-button-dropdown",display:"inline-flex",alignItems:"center",justifyContent:"center",gap:0,borderTopLeftRadius:0,borderBottomLeftRadius:0,borderTopRightRadius:s,borderBottomRightRadius:s,padding:"0 !important",boxShadow:`inset 1px 0 0 ${a}`,"& svg":{margin:0}})}},Rt=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]]},Ut=(e,t,n,r)=>{const a=Array.from({length:101},(e,t)=>t),o={},[s,i]=Rt(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},Bt="__grafanaAssistantInlineFactory__",Dt="__grafanaAssistantInlineInitializer__",Gt="__grafanaAssistantInlineInitPromise__";function Ot(e){const t=window[Bt];t&&t!==e?console.warn("InlineAssistant factory already set; ignoring subsequent setInlineAssistantFactory call"):t||(window[Bt]=e)}function Mt(e){const t=window[Dt];t&&t!==e?console.warn("InlineAssistant initializer already set; ignoring subsequent setInlineAssistantInitializer call"):t||(window[Dt]=e)}async function Ft(){if(window[Bt])return;const e=window[Dt];if(!e)throw new Error("InlineAssistant not initialized. Make sure the Grafana Assistant plugin is loaded and initialized.");const t=window[Gt];if(t)return t;const n=(async()=>{try{await e()}catch(e){throw window[Gt]=null,e}})();return window[Gt]=n,n}function zt(){const e=window[Bt];if(!e)throw new Error("InlineAssistant factory not initialized. Make sure the Grafana Assistant plugin is loaded.");return e}function jt(){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 Ft();const n=zt();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}}function qt({value:e,onChange:t,origin:n,systemPrompt:r,onComplete:a,onError:o,onDelta:i,disabled:c=!1,autoGenerate:l=!1,streaming:u=!1,getUserPrompt:d}){const{generate:p,isGenerating:m,content:f,error:h,reset:g}=jt(),b=(0,s.useRef)(!1),v=(0,s.useRef)(e),y=m?u?f:"":e,w=d?d(e.trim()):e.trim(),x=!w||c||m,E=(0,s.useCallback)(s=>{v.current=e,t(""),g(),p({prompt:s,origin:n,systemPrompt:r,onDelta:i,onComplete:e=>{t(e),null==a||a(e)},onError:e=>{t(v.current),null==o||o(e)}})},[e,t,n,r,i,a,o,p,g]);(0,s.useEffect)(()=>{!l||!r||e||b.current||c||(b.current=!0,E(r))},[]);const k=(0,s.useCallback)(()=>{x||E(w)},[x,E,w]);return{displayValue:y,isSendDisabled:x,handleGenerate:k,isGenerating:m,error:h}}const Wt=["Generating...","Brewing...","Cooking...","Crunching...","Phrasing...","Wording...","Crafting...","Composing...","Drafting...","Shaping...","Forming...","Molding...","Sketching...","Whipping up...","Conjuring...","Stirring..."];function Vt(e,t){const[n,r]=(0,s.useState)(""),a=(0,s.useRef)(!1);if(e&&!a.current){const e=Wt[Math.floor(Math.random()*Wt.length)];return r(e),a.current=!0,e}return e||(a.current=!1),e?n:t}function Kt({value:e,onChange:t,placeholder:n,origin:r,systemPrompt:a,onComplete:o,onError:s,onDelta:c,disabled:l=!1,autoGenerate:u=!1,streaming:d=!1,getUserPrompt:p,className:m,"data-testid":f}){const{displayValue:h,isSendDisabled:g,handleGenerate:b,isGenerating:v,error:y}=qt({value:e,onChange:t,origin:r,systemPrompt:a,onComplete:o,onError:s,onDelta:c,disabled:l,autoGenerate:u,streaming:d,getUserPrompt:p}),w=(0,se.useStyles2)(Qt),x=Vt(v,null!=n?n:"Ask AI to generate..."),E=i().createElement(se.IconButton,{name:"ai-sparkle",onClick:b,disabled:g,tooltip:g?"Enter text to generate":"Generate with AI","data-testid":f?`${f}-send`:void 0});return i().createElement("div",{className:At(w.wrapper,{[w.animatedWrapper]:v},m),"data-testid":f},i().createElement(se.Input,{value:h,onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),b())},onChange:e=>t(e.currentTarget.value),placeholder:x,disabled:l||v,suffix:E,invalid:!!y,"data-testid":f?`${f}-input`:void 0}))}const Qt=e=>{const t=e.colors.background.primary,n=$t({label:"ai-input-border-animation",...Ut(e,t)}),[r,a]=Rt(e);return{wrapper:St({label:"ai-text-input-wrapper",position:"relative",border:"1px solid transparent",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 Ht({value:e,onChange:t,placeholder:n,origin:r,systemPrompt:a,onComplete:o,onError:s,onDelta:c,disabled:l=!1,autoGenerate:u=!1,streaming:d=!1,getUserPrompt:p,rows:m=4,className:f,"data-testid":h}){const{displayValue:g,isSendDisabled:b,handleGenerate:v,isGenerating:y,error:w}=qt({value:e,onChange:t,origin:r,systemPrompt:a,onComplete:o,onError:s,onDelta:c,disabled:l,autoGenerate:u,streaming:d,getUserPrompt:p}),x=(0,se.useStyles2)(Jt),E=Vt(y,null!=n?n:"Ask AI to generate... (Cmd/Ctrl+Enter to send)"),k=Math.max(m,2);return i().createElement("div",{className:At(x.textareaWrapper,{[x.animatedWrapper]:y},f),"data-testid":h},i().createElement(se.TextArea,{value:g,onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),v())},onChange:e=>t(e.currentTarget.value),placeholder:E,disabled:l||y,rows:k,className:x.textarea,invalid:!!w,"data-testid":h?`${h}-textarea`:void 0}),i().createElement(se.IconButton,{name:"ai-sparkle",onClick:v,disabled:b,className:x.sendButton,"aria-label":"Generate with AI",tooltip:b?"Enter text to generate":"Generate with AI (Cmd/Ctrl+Enter)","data-testid":h?`${h}-send`:void 0}))}const Jt=e=>{const t=e.colors.background.primary,n=$t({label:"ai-textarea-border-animation",...Ut(e,t)}),[r,a]=Rt(e);return{textareaWrapper:St({label:"ai-textarea-wrapper",position:"relative",border:"1px solid transparent",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),minHeight:e.spacing(6),"& textarea":{minHeight:e.spacing(6)},scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),sendButton:St({label:"ai-textarea-send",position:"absolute",right:e.spacing(1),top:e.spacing(1)})}};function Xt(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 Zt="grafana-assistant-terms-and-conditions-refresh";async function Yt(){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=Xt(e),r=Xt(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 en(){try{return(await Yt()).accepted}catch(e){throw new Error(`Failed to check terms requirements: ${e instanceof Error?e.message:String(e)}`)}}function tn(){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 Yt();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(Zt,n),()=>{document.removeEventListener(Zt,n)}},[]),{accepted:e,termsType:n,loading:a,error:i}}function nn(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 rn="grafana-assistant-limits-updated";async function an(){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 on(){try{return await an()}catch(e){throw new Error(`Failed to check limits: ${e instanceof Error?e.message:String(e)}`)}}function sn(){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 an();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(rn,e),()=>{window.removeEventListener(rn,e)}},[]),{count:e,limit:n,month:a,isLimitReached:n>0&&e>=n,loading:i,error:l,refetch:d}}module.exports=t})();
|
|
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:()=>Ht,AITextInput:()=>Kt,ASSISTANT_PLUGIN_ID:()=>K,ASSISTANT_PLUGIN_TITLE:()=>Q,CALLBACK_EXTENSION_POINT:()=>j,ComponentNodeData:()=>E,DashboardNodeData:()=>$,DatasourceNodeData:()=>C,EntityNodeData:()=>I,FolderNodeData:()=>S,InvestigationCreatedEvent:()=>M,LIMITS_UPDATED_EVENT:()=>rn,LabelNameNodeData:()=>L,LabelValueNodeData:()=>T,OpenAssistantButton:()=>Ct,OpenAssistantSplitButton:()=>Nt,SkillNodeData:()=>R,StructuredNodeData:()=>a,TERMS_AND_CONDITIONS_REFRESH_EVENT:()=>Zt,checkLimits:()=>on,checkTerms:()=>en,closeAssistant:()=>re,createAssistantContextItem:()=>P,createTool:()=>nn,emitInvestigationCreated:()=>F,ensureInlineAssistantInitialized:()=>Ft,getExposeAssistantFunctionsConfig:()=>W,getInlineAssistantFactory:()=>zt,isAssistantAvailable:()=>Z,newFunctionNamespace:()=>q,onInvestigationCreated:()=>z,openAssistant:()=>ne,provideComponents:()=>A,providePageContext:()=>g,provideQuestions:()=>U,setInlineAssistantFactory:()=>Ot,setInlineAssistantInitializer:()=>Mt,toggleAssistant:()=>ae,useAssistant:()=>oe,useInlineAssistant:()=>jt,useLimits:()=>sn,usePageComponents:()=>k,usePageContext:()=>y,useProvidePageContext:()=>b,useProvideQuestions:()=>B,useQuestions:()=>D,useTerms:()=>tn});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:`Custom UI components (${this.namespace})`,prompt:this.prompt?this.prompt+"\n\nIMPORTANT: The instructions and components described above are scoped to this specific context item only. Do not apply them to unrelated queries or components.":""}}}}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 C 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 I 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",skill:"play"};function P(e,t){var n,o,s;const i=function(e,t){switch(e){case"datasource":return new C({...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 I(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 R extends r{constructor(e){super({...e,id:e.skillId,type:"skill",text:e.skillName}),this.skillId=e.skillId,this.skillName=e.skillName,this.text=e.skillName}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.skillName,skillId:this.skillId,skillName:this.skillName,text:this.text}}}}function U(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 B(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 G(e)}const G=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)||[]}}),O=require("@grafana/data");class M extends O.BusEventWithPayload{}function F(e){const t=new M({investigationId:e});(0,o.getAppEvents)().publish(t)}function z(e){const t=(0,o.getAppEvents)().subscribe(M,t=>{e(t.payload)});return()=>t.unsubscribe()}M.type="grafana-assistant:investigation-created";const j="grafana-assistant-app/callback/v0-alpha";function q(e,t){return{namespace:e,functions:t}}function W(e){return{title:"callback",targets:[j],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 O.BusEventWithPayload{}Y.type="open-extension-sidebar";class ee extends O.BusEventBase{}ee.type="close-extension-sidebar";class te extends O.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)(void 0);(0,s.useEffect)(()=>{const e=Z().subscribe(t);return()=>e.unsubscribe()},[]);const n=null!=e&&e;return{isLoading:void 0===e,isAvailable:n,openAssistant:n?ne:void 0,closeAssistant:n?re:void 0,toggleAssistant:n?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 Ce(){return ke=Ee>0?fe(Ae,--Ee):0,we--,10===ke&&(we=1,ye--),ke}function Ie(){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 Re(e){return Ae="",e}function Ue(e){return de(Ne(Ee-1,Ge(91===e?e+2:40===e?e+1:e)))}function Be(e){for(;(ke=Le())&&ke<33;)Ie();return _e(e)>2||_e(ke)>3?"":" "}function De(e,t){for(;--t&&Ie()&&!(ke<48||ke>102||ke>57&&ke<65||ke>70&&ke<97););return Ne(e,Te()+(t<6&&32==Le()&&32==Ie()))}function Ge(e){for(;Ie();)switch(ke){case e:return Ee;case 34:case 39:34!==e&&39!==e&&Ge(ke);break;case 40:41===e&&Ge(e);break;case 92:Ie()}return Ee}function Oe(e,t){for(;Ie()&&e+ke!==57&&(e+ke!==84||47!==Le()););return"/*"+Ne(t,Ee-1)+"*"+le(47===e?e:Ie())}function Me(e){for(;!_e(Le());)Ie();return Ne(e,Ee)}var Fe="-ms-",ze="-moz-",je="-webkit-",qe="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 qe: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 Re(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=Ie()){case 40:if(108!=f&&58==fe(k,d-1)){-1!=me(k+=pe(Ue(b),"&","&\f"),"&\f")&&(v=-1);break}case 34:case 39:case 91:k+=Ue(b);break;case 9:case 10:case 13:case 32:k+=Be(f);break;case 92:k+=De(Te()-1,7);continue;case 47:switch(Le()){case 42:case 47:be(Ye(Oe(Ie(),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==Ce())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+=Ue(Ie())),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,qe,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);)Ie();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 Re(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]+=Ue(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=Ie());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 je+"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 je+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return je+e+ze+e+Fe+e+e;case 6828:case 4268:return je+e+Fe+e+e;case 6165:return je+e+Fe+"flex-"+e+e;case 5187:return je+e+pe(e,/(\w+).+(:[^]+)/,je+"box-$1$2"+Fe+"flex-$1$2")+e;case 5443:return je+e+Fe+"flex-item-"+pe(e,/flex-|-self/,"")+e;case 4675:return je+e+Fe+"flex-line-pack"+pe(e,/align-content|flex-|-self/,"")+e;case 5548:return je+e+Fe+pe(e,"shrink","negative")+e;case 5292:return je+e+Fe+pe(e,"basis","preferred-size")+e;case 6060:return je+"box-"+pe(e,"-grow","")+je+e+Fe+pe(e,"grow","positive")+e;case 4554:return je+pe(e,/([^-])(transform)/g,"$1"+je+"$2")+e;case 6187:return pe(pe(pe(e,/(zoom-|grab)/,je+"$1"),/(image-set)/,je+"$1"),e,"")+e;case 5495:case 3959:return pe(e,/(image-set\([^]*)/,je+"$1$`$1");case 4968:return pe(pe(e,/(.+:)(flex-)?(.*)/,je+"box-pack:$3"+Fe+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+je+e+e;case 4095:case 3583:case 4068:case 2532:return pe(e,/(.+)-inline(.+)/,je+"$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"+je+"$2-$3$1"+ze+(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,":",":"+je)+e;case 101:return pe(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+je+(45===fe(e,14)?"inline-":"")+"box$3$1"+je+"$2$3$1"+Fe+"$2box$3")+e}break;case 5936:switch(fe(e,t+11)){case 114:return je+e+Fe+pe(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return je+e+Fe+pe(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return je+e+Fe+pe(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return je+e+Fe+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,"@","@"+je)})],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+)/,":"+je+"input-$1")]}),Se(e,{props:[pe(t,/:(plac\w+)/,":-moz-$1")]}),Se(e,{props:[pe(t,/:(plac\w+)/,Fe+"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 Ct(e){const{isAvailable:t,openAssistant:n}=oe();return t&&n?i().createElement(It,{...e,openAssistant:n}):null}function It({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}`}})}},Tt={sm:32,md:36,lg:40};function Nt(e){const{isAvailable:t,openAssistant:n}=oe();return t&&n?i().createElement(_t,{...e,openAssistant:n}):null}function _t({prompt:e,origin:t,context:n,autoSend:r=!0,title:a="Chat with Assistant",size:c="sm",onClick:l,menuItems:u,tooltip:d,dropdownButtonWidth:p,openAssistant:m}){const f=(0,se.useStyles2)(Pt),h=Boolean(u),g="number"==typeof(v=null!=p?p:Tt[c])?`${v}px`:v;var v;(0,s.useEffect)(()=>{(0,o.reportInteraction)("grafana_assistant_app_open_sidebar_split_button_displayed",{from:t})},[t]);const b=i().createElement("div",{className:f.wrapper},i().createElement(se.ButtonGroup,{className:f.buttonGroup},i().createElement(se.Button,{icon:"ai-sparkle",onClick:()=>{null==l||l(),m({prompt:e,context:n,autoSend:r,origin:t})},variant:"secondary",fill:"solid",size:c,"aria-label":a,className:At(f.segmentButton,h?f.mainButtonSplit:f.mainButtonSolo),"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:At(f.segmentButton,f.dropdownButton),style:{width:g,minWidth:g},"data-testid":"assistant-split-button-dropdown"}))));return d?i().createElement(se.Tooltip,{content:d},b):b}const Pt=e=>{const t=e.colors.secondary.main,n=e.colors.emphasize(t,.05),r=e.colors.background.canvas,a=e.colors.border.weak,o=e.shape.radius.default,s=`max(calc(${o} - 1px), 1px)`;return{wrapper:St({label:"assistant-split-button-wrapper",position:"relative",isolation:"isolate",display:"inline-block","&::before":{content:'""',position:"absolute",inset:0,borderRadius:o,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:s,cornerShape:"squircle",background:`linear-gradient(${t}, ${t}), ${r}`,zIndex:-1,pointerEvents:"none"}}),buttonGroup:St({label:"assistant-split-button-group",gap:0,position:"relative",zIndex:1,borderRadius:s,overflow:"hidden","& button":{border:"none",boxShadow:"none",background:"transparent !important"}}),segmentButton:St({label:"assistant-split-button-segment",position:"relative","&:hover":{background:`${n} !important`},"&:focus-visible":{background:`${n} !important`},'&[aria-expanded="true"]':{background:`${n} !important`}}),mainButtonSolo:St({label:"assistant-split-button-main-solo",borderRadius:s}),mainButtonSplit:St({label:"assistant-split-button-main-split",borderTopLeftRadius:s,borderBottomLeftRadius:s,borderTopRightRadius:0,borderBottomRightRadius:0}),dropdownButton:St({label:"assistant-split-button-dropdown",display:"inline-flex",alignItems:"center",justifyContent:"center",gap:0,borderTopLeftRadius:0,borderBottomLeftRadius:0,borderTopRightRadius:s,borderBottomRightRadius:s,padding:"0 !important",boxShadow:`inset 1px 0 0 ${a}`,"& svg":{margin:0}})}},Rt=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]]},Ut=(e,t,n,r)=>{const a=Array.from({length:101},(e,t)=>t),o={},[s,i]=Rt(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},Bt="__grafanaAssistantInlineFactory__",Dt="__grafanaAssistantInlineInitializer__",Gt="__grafanaAssistantInlineInitPromise__";function Ot(e){const t=window[Bt];t&&t!==e?console.warn("InlineAssistant factory already set; ignoring subsequent setInlineAssistantFactory call"):t||(window[Bt]=e)}function Mt(e){const t=window[Dt];t&&t!==e?console.warn("InlineAssistant initializer already set; ignoring subsequent setInlineAssistantInitializer call"):t||(window[Dt]=e)}async function Ft(){if(window[Bt])return;const e=window[Dt];if(!e)throw new Error("InlineAssistant not initialized. Make sure the Grafana Assistant plugin is loaded and initialized.");const t=window[Gt];if(t)return t;const n=(async()=>{try{await e()}catch(e){throw window[Gt]=null,e}})();return window[Gt]=n,n}function zt(){const e=window[Bt];if(!e)throw new Error("InlineAssistant factory not initialized. Make sure the Grafana Assistant plugin is loaded.");return e}function jt(){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 Ft();const n=zt();i.current||(i.current=await n(e.origin)),await i.current.sendPrompt({prompt:e.prompt,agentName:e.agentName,agentId:e.agentId,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}}function qt({value:e,onChange:t,origin:n,systemPrompt:r,onComplete:a,onError:o,onDelta:i,disabled:c=!1,autoGenerate:l=!1,streaming:u=!1,getUserPrompt:d}){const{generate:p,isGenerating:m,content:f,error:h,reset:g}=jt(),v=(0,s.useRef)(!1),b=(0,s.useRef)(e),y=m?u?f:"":e,w=d?d(e.trim()):e.trim(),x=!w||c||m,E=(0,s.useCallback)(s=>{b.current=e,t(""),g(),p({prompt:s,origin:n,systemPrompt:r,onDelta:i,onComplete:e=>{t(e),null==a||a(e)},onError:e=>{t(b.current),null==o||o(e)}})},[e,t,n,r,i,a,o,p,g]);(0,s.useEffect)(()=>{!l||!r||e||v.current||c||(v.current=!0,E(r))},[]);const k=(0,s.useCallback)(()=>{x||E(w)},[x,E,w]);return{displayValue:y,isSendDisabled:x,handleGenerate:k,isGenerating:m,error:h}}const Wt=["Generating...","Brewing...","Cooking...","Crunching...","Phrasing...","Wording...","Crafting...","Composing...","Drafting...","Shaping...","Forming...","Molding...","Sketching...","Whipping up...","Conjuring...","Stirring..."];function Vt(e,t){const[n,r]=(0,s.useState)(""),a=(0,s.useRef)(!1);if(e&&!a.current){const e=Wt[Math.floor(Math.random()*Wt.length)];return r(e),a.current=!0,e}return e||(a.current=!1),e?n:t}function Kt({value:e,onChange:t,placeholder:n,origin:r,systemPrompt:a,onComplete:o,onError:s,onDelta:c,disabled:l=!1,autoGenerate:u=!1,streaming:d=!1,getUserPrompt:p,className:m,"data-testid":f}){const{displayValue:h,isSendDisabled:g,handleGenerate:v,isGenerating:b,error:y}=qt({value:e,onChange:t,origin:r,systemPrompt:a,onComplete:o,onError:s,onDelta:c,disabled:l,autoGenerate:u,streaming:d,getUserPrompt:p}),w=(0,se.useStyles2)(Qt),x=Vt(b,null!=n?n:"Ask AI to generate..."),E=i().createElement(se.IconButton,{name:"ai-sparkle",onClick:v,disabled:g,tooltip:g?"Enter text to generate":"Generate with AI","data-testid":f?`${f}-send`:void 0});return i().createElement("div",{className:At(w.wrapper,{[w.animatedWrapper]:b},m),"data-testid":f},i().createElement(se.Input,{value:h,onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),v())},onChange:e=>t(e.currentTarget.value),placeholder:x,disabled:l||b,suffix:E,invalid:!!y,"data-testid":f?`${f}-input`:void 0}))}const Qt=e=>{const t=e.colors.background.primary,n=$t({label:"ai-input-border-animation",...Ut(e,t)}),[r,a]=Rt(e);return{wrapper:St({label:"ai-text-input-wrapper",position:"relative",border:"1px solid transparent",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 Ht({value:e,onChange:t,placeholder:n,origin:r,systemPrompt:a,onComplete:o,onError:s,onDelta:c,disabled:l=!1,autoGenerate:u=!1,streaming:d=!1,getUserPrompt:p,rows:m=4,className:f,"data-testid":h}){const{displayValue:g,isSendDisabled:v,handleGenerate:b,isGenerating:y,error:w}=qt({value:e,onChange:t,origin:r,systemPrompt:a,onComplete:o,onError:s,onDelta:c,disabled:l,autoGenerate:u,streaming:d,getUserPrompt:p}),x=(0,se.useStyles2)(Jt),E=Vt(y,null!=n?n:"Ask AI to generate... (Cmd/Ctrl+Enter to send)"),k=Math.max(m,2);return i().createElement("div",{className:At(x.textareaWrapper,{[x.animatedWrapper]:y},f),"data-testid":h},i().createElement(se.TextArea,{value:g,onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),b())},onChange:e=>t(e.currentTarget.value),placeholder:E,disabled:l||y,rows:k,className:x.textarea,invalid:!!w,"data-testid":h?`${h}-textarea`:void 0}),i().createElement(se.IconButton,{name:"ai-sparkle",onClick:b,disabled:v,className:x.sendButton,"aria-label":"Generate with AI",tooltip:v?"Enter text to generate":"Generate with AI (Cmd/Ctrl+Enter)","data-testid":h?`${h}-send`:void 0}))}const Jt=e=>{const t=e.colors.background.primary,n=$t({label:"ai-textarea-border-animation",...Ut(e,t)}),[r,a]=Rt(e);return{textareaWrapper:St({label:"ai-textarea-wrapper",position:"relative",border:"1px solid transparent",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),minHeight:e.spacing(6),"& textarea":{minHeight:e.spacing(6)},scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),sendButton:St({label:"ai-textarea-send",position:"absolute",right:e.spacing(1),top:e.spacing(1)})}};function Xt(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 Zt="grafana-assistant-terms-and-conditions-refresh";async function Yt(){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=Xt(e),r=Xt(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 en(){try{return(await Yt()).accepted}catch(e){throw new Error(`Failed to check terms requirements: ${e instanceof Error?e.message:String(e)}`)}}function tn(){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 Yt();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(Zt,n),()=>{document.removeEventListener(Zt,n)}},[]),{accepted:e,termsType:n,loading:a,error:i}}function nn(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 rn="grafana-assistant-limits-updated";async function an(){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 on(){try{return await an()}catch(e){throw new Error(`Failed to check limits: ${e instanceof Error?e.message:String(e)}`)}}function sn(){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 an();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(rn,e),()=>{window.removeEventListener(rn,e)}},[]),{count:e,limit:n,month:a,isLimitReached:n>0&&e>=n,loading:i,error:l,refetch:d}}module.exports=t})();
|
|
2
2
|
//# sourceMappingURL=index.js.map
|