@grafana/assistant 0.1.2 → 0.1.4

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.
@@ -0,0 +1,32 @@
1
+ import React, { ReactElement } from 'react';
2
+ import { ChatContextItem } from '../../context/types';
3
+ import { OpenAssistantProps } from '../../sidebar';
4
+ export interface OpenAssistantSplitButtonProps {
5
+ /** Prompt to pass to the openAssistant function. */
6
+ prompt: string;
7
+ /** Origin of the request that opened the assistant. */
8
+ origin: string;
9
+ /** Context to pass to the openAssistant function. Optional, defaults to undefined. */
10
+ context?: ChatContextItem[];
11
+ /** Whether to automatically send the prompt. Optional, defaults to true. */
12
+ autoSend?: boolean;
13
+ /** Text to display on the button. Optional, defaults to 'Chat with Assistant' */
14
+ title?: string;
15
+ /** Button size, defaults to sm */
16
+ size?: 'xs' | 'sm' | 'md' | 'lg';
17
+ /** Function to call when the main button is clicked. Optional. */
18
+ onClick?: () => void;
19
+ /** Additional menu items to show in the dropdown. Optional. */
20
+ menuItems?: ReactElement;
21
+ /** Tooltip text to display on hover. Optional. */
22
+ tooltip?: string;
23
+ }
24
+ /**
25
+ * A split button component that opens the Grafana Assistant with a dropdown for additional actions.
26
+ * The gradient border wraps around both buttons as a unified control.
27
+ */
28
+ export declare function OpenAssistantSplitButton(props: OpenAssistantSplitButtonProps): React.JSX.Element | null;
29
+ export declare function OpenAssistantSplitButtonView({ prompt, origin, context, autoSend, title, size, onClick, menuItems, tooltip, openAssistant, }: OpenAssistantSplitButtonProps & {
30
+ openAssistant: (props: OpenAssistantProps) => void;
31
+ }): React.JSX.Element;
32
+ //# sourceMappingURL=OpenAssistantSplitButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAssistantSplitButton.d.ts","sourceRoot":"","sources":["../../../src/components/button/OpenAssistantSplitButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;AAGvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,MAAM,WAAW,6BAA6B;IAC5C,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,4BAM5E;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,MAAM,EACN,MAAM,EACN,OAAO,EACP,QAAe,EACf,KAA6B,EAC7B,IAAW,EACX,OAAO,EACP,SAAS,EACT,OAAO,EACP,aAAa,GACd,EAAE,6BAA6B,GAAG;IACjC,aAAa,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACpD,qBA6CA"}
@@ -1,4 +1,5 @@
1
1
  export { OpenAssistantButton, type OpenAssistantButtonProps } from './button/OpenAssistantButton';
2
+ export { OpenAssistantSplitButton, type OpenAssistantSplitButtonProps } from './button/OpenAssistantSplitButton';
2
3
  export { AITextInput, type AITextInputProps } from './input/AITextInput';
3
4
  export { AITextArea, type AITextAreaProps } from './input/AITextArea';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,EAAE,wBAAwB,EAAE,KAAK,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AACjH,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -19,21 +19,27 @@ export declare class ComponentNodeData extends NodeData {
19
19
  formatForLLM(codeElementIds?: string[]): ContextItemData;
20
20
  }
21
21
  /**
22
- * React hook that provides all components available for the current page.
23
- * This hook automatically updates when the URL changes or when component registrations change.
22
+ * React hook that provides all components available globally.
23
+ * Components are available everywhere, regardless of URL patterns.
24
24
  *
25
- * @returns Object containing all components available for the current page, keyed by namespace.componentName
25
+ * @returns Object containing all components available globally, keyed by namespace.componentName
26
26
  */
27
27
  export declare function usePageComponents(): Record<string, ComponentImplementation>;
28
28
  /**
29
29
  * Provide components to the assistant.
30
30
  *
31
- * @param prompt - The prompt to use for the components.
31
+ * Components are always available globally, but the prompt is only applied when the URL pattern matches.
32
+ *
33
+ * For catch-all URL patterns, returns a setter that takes a context array.
34
+ * For specific URL patterns, returns a setter that takes components and prompt separately.
35
+ *
36
+ * @param prompt - The prompt to use for the components (only applied when URL matches).
32
37
  * @param namespace - The namespace to use for the components.
33
- * @param components - The components to provide.
34
- * @param urlPattern - The URL pattern to match for the components.
38
+ * @param components - The components to provide (always available).
39
+ * @param urlPattern - The URL pattern to match for the prompt (components are always available).
40
+ * @returns A setter function to update the context, with an unregister method attached
35
41
  */
36
- export declare function provideComponents(prompt: string, namespace: string, components: Record<string, ComponentImplementation>, urlPattern?: string | RegExp): ((context: import("./types").ChatContextItem[]) => void) & {
42
+ export declare function provideComponents(prompt: string, namespace: string, components: Record<string, ComponentImplementation>, urlPattern?: string | RegExp): ((newComponents: Record<string, ComponentImplementation>, newPrompt: string) => void) & {
37
43
  unregister: () => void;
38
44
  };
39
45
  //# sourceMappingURL=component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/context/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAW,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,eAAe,EAA0B,MAAM,SAAS,CAAC;AAIvE,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,UAAU;IAC9D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,iBAAkB,SAAQ,QAAQ;IACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;gBAEb,MAAM,EAAE,4BAA4B;IAQhD,YAAY,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,eAAe;CAWzD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CA0B3E;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,EACnD,UAAU,GAAE,MAAM,GAAG,MAAa;;EASnC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/context/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAW,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,eAAe,EAA0B,MAAM,SAAS,CAAC;AAIvE,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,UAAU;IAC9D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,iBAAkB,SAAQ,QAAQ;IACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;gBAEb,MAAM,EAAE,4BAA4B;IAQhD,YAAY,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,eAAe;CAWzD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CA0B3E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,EACnD,UAAU,GAAE,MAAM,GAAG,MAAa,GACjC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG;IAAE,UAAU,EAAE,MAAM,IAAI,CAAA;CAAE,CAmFpH"}
@@ -1,4 +1,9 @@
1
1
  import { ChatContextItem } from './types';
2
+ declare global {
3
+ interface Window {
4
+ [key: string]: any;
5
+ }
6
+ }
2
7
  export interface PageContextRegistration {
3
8
  id: string;
4
9
  urlPattern: string | RegExp;
@@ -1 +1 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/context/page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AA8DD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,cAAc,EAAE,eAAe,EAAE,GAChC,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC,GAAG;IAAE,UAAU,EAAE,MAAM,IAAI,CAAA;CAAE,CAiDrE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,cAAc,GAAE,eAAe,EAAO,GACrC,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,CAgCtC;AAoCD,wBAAgB,cAAc,CAC5B,OAAO,GAAE;IAAE,cAAc,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAsD,GACjH,eAAe,EAAE,CAkEnB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,SAAiB,GAAG,MAAM,CAEtE;AAyBD;;;;;GAKG;AACH,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D"}
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/context/page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI1C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB;CACF;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAuID;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,cAAc,EAAE,eAAe,EAAE,GAChC,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC,GAAG;IAAE,UAAU,EAAE,MAAM,IAAI,CAAA;CAAE,CAyDrE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,cAAc,GAAE,eAAe,EAAO,GACrC,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,CAgCtC;AA0BD,wBAAgB,cAAc,CAC5B,OAAO,GAAE;IAAE,cAAc,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAsD,GACjH,eAAe,EAAE,CA4DnB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,SAAiB,GAAG,MAAM,CAEtE;AAyBD;;;;;GAKG;AACH,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D"}
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 a in n)e.o(n,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:n[a]})},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:()=>_t,AITextInput:()=>Tt,ASSISTANT_PLUGIN_ID:()=>z,ASSISTANT_PLUGIN_TITLE:()=>G,CALLBACK_EXTENSION_POINT:()=>O,ComponentNodeData:()=>y,DashboardNodeData:()=>k,DatasourceNodeData:()=>A,EntityNodeData:()=>$,FolderNodeData:()=>E,LabelNameNodeData:()=>C,LabelValueNodeData:()=>S,OpenAssistantButton:()=>vt,StructuredNodeData:()=>r,closeAssistant:()=>K,createAssistantContextItem:()=>T,ensureInlineAssistantInitialized:()=>$t,getExposeAssistantFunctionsConfig:()=>M,getInlineAssistantFactory:()=>Ct,isAssistantAvailable:()=>j,newFunctionNamespace:()=>D,openAssistant:()=>V,provideComponents:()=>w,providePageContext:()=>m,provideQuestions:()=>L,setInlineAssistantFactory:()=>Et,setInlineAssistantInitializer:()=>At,toggleAssistant:()=>Q,useAssistant:()=>H,useInlineAssistant:()=>St,usePageComponents:()=>x,usePageContext:()=>g,useProvidePageContext:()=>h,useProvideQuestions:()=>_,useQuestions:()=>P});class a{constructor(e){this.params=e,this.text="",this.id=n(e.id),this.type=e.type}formatForLLM(e){var t,n;return{type:this.type,codeElementIds:e,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 a&&this.id===e.id&&this.type===e.type}}class r extends a{constructor(e){super({...e,id:n(JSON.stringify(e.data)),type:"structured"}),this.data=e.data}formatForLLM(e){return{type:this.type,codeElementIds:e,data:this.data}}}const o=require("@grafana/runtime"),i=require("react");var s=e.n(i);const c=[],l="grafana-assistant:page-context-sync",u="grafana-assistant:page-context-update",d="grafana-assistant:page-context-remove",p="grafana-assistant:location-changed";let f=!1;function m(e,t){const n={id:v(),urlPattern:e,context:[...t]};c.push(n),window.dispatchEvent(new CustomEvent(u,{detail:n})),window.dispatchEvent(new CustomEvent(l,{detail:{registry:c}}));const a=e=>{const t=c.findIndex((e=>e.id===n.id));-1!==t&&(c[t].context=[...e],window.dispatchEvent(new CustomEvent(u,{detail:c[t]})))};return a.unregister=()=>{const e=c.findIndex((e=>e.id===n.id));-1!==e&&(c.splice(e,1),window.dispatchEvent(new CustomEvent(d,{detail:{id:n.id}})))},a}function h(e,t=[]){const n=(0,i.useRef)(void 0),a=(0,i.useRef)(t);return a.current=t,(0,i.useEffect)((()=>(n.current=m(e,a.current),()=>{var e;null===(e=n.current)||void 0===e||e.unregister()})),[e]),(0,i.useEffect)((()=>{n.current&&n.current(t)}),[t]),(0,i.useCallback)((e=>{var t;null===(t=n.current)||void 0===t||t.call(n,e)}),[])}function g(e={allowQuestions:!1,allowComponents:!1}){const[t,n]=(0,i.useState)([]),a=(0,o.useLocationService)(),r=(0,i.useRef)("");(0,i.useEffect)((()=>{const e=()=>{const e=function(e,t){if(!e)return[];const n=[];for(const a of t)b(e,a.urlPattern)&&n.push(...a.context);return n}(a.getLocation().pathname,c);n(e)},t=()=>{e()},o=t=>{var n;const r=null===(n=t.detail)||void 0===n?void 0:n.pathname;r&&r===a.getLocation().pathname&&e()},i=a.getLocationObservable().subscribe((t=>{const n=t.pathname;n!==r.current&&(r.current=n,function(e){window.dispatchEvent(new CustomEvent(p,{detail:{pathname:e}}))}(n),e())}));return e(),window.addEventListener(l,t),window.addEventListener(u,t),window.addEventListener(d,t),window.addEventListener(p,o),()=>{i.unsubscribe(),window.removeEventListener(l,t),window.removeEventListener(u,t),window.removeEventListener(d,t),window.removeEventListener(p,o)}}),[a]);let s=t;return e.allowQuestions||(s=s.filter((e=>{var t;return"question"!==(null===(t=e.node.data)||void 0===t?void 0:t.type)}))),e.allowComponents||(s=s.filter((e=>{var t;return"component"!==(null===(t=e.node.data)||void 0===t?void 0:t.type)}))),s}function v(e="page-context"){return`${e}-${Date.now()}-${Math.random().toString(36).slice(2,11)}`}function b(e,t){if(t instanceof RegExp)return t.test(e);if("string"==typeof t){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}f||(window.addEventListener(l,(e=>{var t;const n=null===(t=e.detail)||void 0===t?void 0:t.registry;if(n){const e=new Set(c.map((e=>e.id))),t=n.filter((t=>!e.has(t.id)));c.push(...t)}})),window.addEventListener(u,(e=>{const t=e.detail;if(t){const e=c.findIndex((e=>e.id===t.id));-1!==e?c[e]=t:c.push(t)}})),window.addEventListener(d,(e=>{var t;const n=null===(t=e.detail)||void 0===t?void 0:t.id;if(n){const e=c.findIndex((e=>e.id===n));-1!==e&&c.splice(e,1)}})),f=!0);class y extends a{constructor(e){const t=e.namespace||"components";super({...e,id:`${t}-${Object.keys(e.components).join("-")}`,type:"component"}),this.components=e.components,this.prompt=e.prompt,this.namespace=t}formatForLLM(e){return{type:this.type,codeElementIds:e,data:{name:`${this.namespace} components`,prompt:this.prompt,namespace:this.namespace}}}}function x(){const e=g({allowComponents:!0,allowQuestions:!1});return(0,i.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){const e=n.namespace||n.name||"components";Object.entries(n.components).forEach((([n,a])=>{t[`${e}_${n}`]=a}))}})),t}),[e])}function w(e,t,n,a=/.*/){return m(a,[T("component",{components:n,prompt:e,namespace:t})])}class k extends a{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,data:{name:this.dashboardTitle,dashboardUid:this.dashboardUid,dashboardTitle:this.dashboardTitle,folderUid:this.folderUid,folderTitle:this.folderTitle,text:this.text}}}}class E extends a{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,data:{name:this.folderTitle,folderUid:this.folderUid,folderTitle:this.folderTitle,text:this.text}}}}class A extends a{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,data:{name:this.datasourceName,uid:this.datasourceUid,type:this.datasourceType,text:this.text,img:this.img}}}}class $ extends a{constructor(e){var t,n,a;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===(a=e.scope)||void 0===a?void 0:a.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,data:{name:this.name,text:this.text,type:this.entityType,scope:this.scope,properties:this.properties}}}}class C extends a{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,data:{name:this.labelName,datasourceUid:this.datasourceUid,datasourceType:this.datasourceType,datasourceName:this.datasourceName,labelName:this.labelName,img:this.img,text:this.text}}}}class S extends a{constructor(e){super({...e,id:`${e.datasourceUid}-${e.labelName}-${e.labelValue}`,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}formatForLLM(e){return{type:this.type,codeElementIds:e,data:{name:this.labelValue,datasourceUid:this.datasourceUid,datasourceType:this.datasourceType,datasourceName:this.datasourceName,labelName:this.labelName,labelValue:this.labelValue,text:this.text,img:this.img}}}}function I(e){var t,n,a,r,i;const s=(0,o.getDataSourceSrv)().getInstanceSettings(e);return{datasourceType:null!==(t=null==s?void 0:s.type)&&void 0!==t?t:"unknown",datasourceName:null!==(n=null==s?void 0:s.name)&&void 0!==n?n:e,img:null===(i=null===(r=null===(a=null==s?void 0:s.meta)||void 0===a?void 0:a.info)||void 0===r?void 0:r.logos)||void 0===i?void 0:i.small}}const N={datasource:"database",label_name:"database",label_value:"database",dashboard:"dashboard",dashboard_folder:"folder",unknown:"circle-mono",structured:"gf-grid",component:"gf-grid",entity:"asserts"};function T(e,t){var n,o,i;const s=function(e,t){switch(e){case"datasource":return new A({...t,...I(t.datasourceUid)});case"label_name":return new C({...t,...I(t.datasourceUid)});case"label_value":return new S({...t,...I(t.datasourceUid)});case"dashboard":return new k(t);case"dashboard_folder":return new E(t);case"structured":return new r(t);case"component":return new y({...t,hidden:!0});case"entity":return new $(t);case"unknown":return new a(t);default:return console.error(`Unknown context type: ${e}`),new a(t)}}(e,t),c=null!==(n=t.title)&&void 0!==n?n:function(e){var t;return e instanceof r?e.formatForLLM().data.name:null!==(t=e.text)&&void 0!==t?t:"Given Context"}(s),l=null!==(o=t.img)&&void 0!==o?o:function(e){if("img"in e)return e.img}(s);return{node:{id:s.id,name:c,img:l,icon:null!==(i=t.icon)&&void 0!==i?i:N[e],navigable:!1,selectable:!0,data:s},occurrences:[]}}function L(e,t){const n=v("question"),a=e=>e.map(((e,t)=>({node:{id:`question-${n}-${t}`,name:e.prompt,navigable:!1,selectable:!0,icon:"question-circle",data:{type:"question",prompt:e.prompt,context:e.context||[]}},occurrences:[]}))),r=m(e,a(t)),o=e=>{r(a(e))};return o.unregister=r.unregister,o}function _(e,t=[]){const n=(0,i.useMemo)((()=>v("question")),[]),a=e=>e.map(((e,t)=>({node:{id:`question-${n}-${t}`,name:e.prompt,navigable:!1,selectable:!0,icon:"question-circle",data:{type:"question",prompt:e.prompt,context:e.context||[]}},occurrences:[]}))),r=h(e,a(t));return e=>{r(a(e))}}function P(){const e=g({allowQuestions:!0,allowComponents:!1});return U(e)}const U=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;return{prompt:(null===(t=e.node.data)||void 0===t?void 0:t.prompt)||e.node.name,context:(null===(n=e.node.data)||void 0===n?void 0:n.context)||[]}})),O="grafana-assistant-app/callback/v0-alpha";function D(e,t){return{namespace:e,functions:t}}function M(e){return{title:"callback",targets:[O],fn:()=>e.map((e=>({namespace:e.namespace,functions:e.functions})))}}const R=require("rxjs"),z="grafana-assistant-app",G="Grafana Assistant";function j(){if(!o.getObservablePluginLinks)return(0,R.of)(!1);return(0,o.getObservablePluginLinks)({extensionPointId:"grafana/extension-sidebar/v0-alpha"}).pipe((0,R.map)((e=>e.some((e=>e.pluginId===z&&e.title===G)))))}const F=require("@grafana/data");class q extends F.BusEventWithPayload{}q.type="open-extension-sidebar";class B extends F.BusEventBase{}B.type="close-extension-sidebar";class W extends F.BusEventWithPayload{}function V(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 a=new q({pluginId:e,componentTitle:t,props:n});(0,o.getAppEvents)().publish(a)}(z,G,{initialPrompt:e.prompt,initialContext:e.context,initialAutoSend:null===(n=e.autoSend)||void 0===n||n,origin:e.origin,initialMode:e.mode})}function K(){!function(){const e=new B;(0,o.getAppEvents)().publish(e)}()}function Q(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 a=new W({pluginId:e,componentTitle:t,props:n});(0,o.getAppEvents)().publish(a)}(z,G,{initialPrompt:e.prompt,initialContext:e.context,initialAutoSend:null===(n=e.autoSend)||void 0===n||n,origin:e.origin,initialMode:e.mode})}function H(){const[e,t]=(0,i.useState)(!1);return(0,i.useEffect)((()=>{const e=j().subscribe((e=>t(e)));return()=>{e.unsubscribe()}}),[]),{isAvailable:e,openAssistant:e?V:void 0,closeAssistant:e?K:void 0,toggleAssistant:e?Q:void 0}}W.type="toggle-extension-sidebar";const J=require("@grafana/ui");var X=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}(),Z=Math.abs,Y=String.fromCharCode,ee=Object.assign;function te(e){return e.trim()}function ne(e,t,n){return e.replace(t,n)}function ae(e,t){return e.indexOf(t)}function re(e,t){return 0|e.charCodeAt(t)}function oe(e,t,n){return e.slice(t,n)}function ie(e){return e.length}function se(e){return e.length}function ce(e,t){return t.push(e),e}var le=1,ue=1,de=0,pe=0,fe=0,me="";function he(e,t,n,a,r,o,i){return{value:e,root:t,parent:n,type:a,props:r,children:o,line:le,column:ue,length:i,return:""}}function ge(e,t){return ee(he("",null,null,"",null,null,0),e,{length:-e.length},t)}function ve(){return fe=pe>0?re(me,--pe):0,ue--,10===fe&&(ue=1,le--),fe}function be(){return fe=pe<de?re(me,pe++):0,ue++,10===fe&&(ue=1,le++),fe}function ye(){return re(me,pe)}function xe(){return pe}function we(e,t){return oe(me,e,t)}function ke(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 Ee(e){return le=ue=1,de=ie(me=e),pe=0,[]}function Ae(e){return me="",e}function $e(e){return te(we(pe-1,Ie(91===e?e+2:40===e?e+1:e)))}function Ce(e){for(;(fe=ye())&&fe<33;)be();return ke(e)>2||ke(fe)>3?"":" "}function Se(e,t){for(;--t&&be()&&!(fe<48||fe>102||fe>57&&fe<65||fe>70&&fe<97););return we(e,xe()+(t<6&&32==ye()&&32==be()))}function Ie(e){for(;be();)switch(fe){case e:return pe;case 34:case 39:34!==e&&39!==e&&Ie(fe);break;case 40:41===e&&Ie(e);break;case 92:be()}return pe}function Ne(e,t){for(;be()&&e+fe!==57&&(e+fe!==84||47!==ye()););return"/*"+we(t,pe-1)+"*"+Y(47===e?e:be())}function Te(e){for(;!ke(ye());)be();return we(e,pe)}var Le="-ms-",_e="-moz-",Pe="-webkit-",Ue="comm",Oe="rule",De="decl",Me="@keyframes";function Re(e,t){for(var n="",a=se(e),r=0;r<a;r++)n+=t(e[r],r,e,t)||"";return n}function ze(e,t,n,a){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case De:return e.return=e.return||e.value;case Ue:return"";case Me:return e.return=e.value+"{"+Re(e.children,a)+"}";case Oe:e.value=e.props.join(",")}return ie(n=Re(e.children,a))?e.return=e.value+"{"+n+"}":""}function Ge(e){return Ae(je("",null,null,null,[""],e=Ee(e),0,[0],e))}function je(e,t,n,a,r,o,i,s,c){for(var l=0,u=0,d=i,p=0,f=0,m=0,h=1,g=1,v=1,b=0,y="",x=r,w=o,k=a,E=y;g;)switch(m=b,b=be()){case 40:if(108!=m&&58==re(E,d-1)){-1!=ae(E+=ne($e(b),"&","&\f"),"&\f")&&(v=-1);break}case 34:case 39:case 91:E+=$e(b);break;case 9:case 10:case 13:case 32:E+=Ce(m);break;case 92:E+=Se(xe()-1,7);continue;case 47:switch(ye()){case 42:case 47:ce(qe(Ne(be(),xe()),t,n),c);break;default:E+="/"}break;case 123*h:s[l++]=ie(E)*v;case 125*h:case 59:case 0:switch(b){case 0:case 125:g=0;case 59+u:-1==v&&(E=ne(E,/\f/g,"")),f>0&&ie(E)-d&&ce(f>32?Be(E+";",a,n,d-1):Be(ne(E," ","")+";",a,n,d-2),c);break;case 59:E+=";";default:if(ce(k=Fe(E,t,n,l,u,r,s,y,x=[],w=[],d),o),123===b)if(0===u)je(E,t,k,k,x,o,d,s,w);else switch(99===p&&110===re(E,3)?100:p){case 100:case 108:case 109:case 115:je(e,k,k,a&&ce(Fe(e,k,k,0,0,r,s,y,r,x=[],d),w),r,w,d,s,a?x:w);break;default:je(E,k,k,k,[""],w,0,s,w)}}l=u=f=0,h=v=1,y=E="",d=i;break;case 58:d=1+ie(E),f=m;default:if(h<1)if(123==b)--h;else if(125==b&&0==h++&&125==ve())continue;switch(E+=Y(b),b*h){case 38:v=u>0?1:(E+="\f",-1);break;case 44:s[l++]=(ie(E)-1)*v,v=1;break;case 64:45===ye()&&(E+=$e(be())),p=ye(),u=d=ie(y=E+=Te(xe())),b++;break;case 45:45===m&&2==ie(E)&&(h=0)}}return o}function Fe(e,t,n,a,r,o,i,s,c,l,u){for(var d=r-1,p=0===r?o:[""],f=se(p),m=0,h=0,g=0;m<a;++m)for(var v=0,b=oe(e,d+1,d=Z(h=i[m])),y=e;v<f;++v)(y=te(h>0?p[v]+" "+b:ne(b,/&\f/g,p[v])))&&(c[g++]=y);return he(e,t,n,0===r?Oe:s,c,l,u)}function qe(e,t,n){return he(e,t,n,Ue,Y(fe),oe(e,2,-2),0)}function Be(e,t,n,a){return he(e,t,n,De,oe(e,0,a),oe(e,a+1,-1),a)}var We=function(e,t,n){for(var a=0,r=0;a=r,r=ye(),38===a&&12===r&&(t[n]=1),!ke(r);)be();return we(e,pe)},Ve=new WeakMap,Ke=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,a=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)||Ve.get(n))&&!a){Ve.set(e,!0);for(var r=[],o=function(e,t){return Ae(function(e,t){var n=-1,a=44;do{switch(ke(a)){case 0:38===a&&12===ye()&&(t[n]=1),e[n]+=We(pe-1,t,n);break;case 2:e[n]+=$e(a);break;case 4:if(44===a){e[++n]=58===ye()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=Y(a)}}while(a=be());return e}(Ee(e),t))}(t,r),i=n.props,s=0,c=0;s<o.length;s++)for(var l=0;l<i.length;l++,c++)e.props[c]=r[s]?o[s].replace(/&\f/g,i[l]):i[l]+" "+o[s]}}},Qe=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}};function He(e,t){switch(function(e,t){return 45^re(e,0)?(((t<<2^re(e,0))<<2^re(e,1))<<2^re(e,2))<<2^re(e,3):0}(e,t)){case 5103:return Pe+"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 Pe+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Pe+e+_e+e+Le+e+e;case 6828:case 4268:return Pe+e+Le+e+e;case 6165:return Pe+e+Le+"flex-"+e+e;case 5187:return Pe+e+ne(e,/(\w+).+(:[^]+)/,Pe+"box-$1$2"+Le+"flex-$1$2")+e;case 5443:return Pe+e+Le+"flex-item-"+ne(e,/flex-|-self/,"")+e;case 4675:return Pe+e+Le+"flex-line-pack"+ne(e,/align-content|flex-|-self/,"")+e;case 5548:return Pe+e+Le+ne(e,"shrink","negative")+e;case 5292:return Pe+e+Le+ne(e,"basis","preferred-size")+e;case 6060:return Pe+"box-"+ne(e,"-grow","")+Pe+e+Le+ne(e,"grow","positive")+e;case 4554:return Pe+ne(e,/([^-])(transform)/g,"$1"+Pe+"$2")+e;case 6187:return ne(ne(ne(e,/(zoom-|grab)/,Pe+"$1"),/(image-set)/,Pe+"$1"),e,"")+e;case 5495:case 3959:return ne(e,/(image-set\([^]*)/,Pe+"$1$`$1");case 4968:return ne(ne(e,/(.+:)(flex-)?(.*)/,Pe+"box-pack:$3"+Le+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Pe+e+e;case 4095:case 3583:case 4068:case 2532:return ne(e,/(.+)-inline(.+)/,Pe+"$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(ie(e)-1-t>6)switch(re(e,t+1)){case 109:if(45!==re(e,t+4))break;case 102:return ne(e,/(.+:)(.+)-([^]+)/,"$1"+Pe+"$2-$3$1"+_e+(108==re(e,t+3)?"$3":"$2-$3"))+e;case 115:return~ae(e,"stretch")?He(ne(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==re(e,t+1))break;case 6444:switch(re(e,ie(e)-3-(~ae(e,"!important")&&10))){case 107:return ne(e,":",":"+Pe)+e;case 101:return ne(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Pe+(45===re(e,14)?"inline-":"")+"box$3$1"+Pe+"$2$3$1"+Le+"$2box$3")+e}break;case 5936:switch(re(e,t+11)){case 114:return Pe+e+Le+ne(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Pe+e+Le+ne(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Pe+e+Le+ne(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Pe+e+Le+e+e}return e}var Je=[function(e,t,n,a){if(e.length>-1&&!e.return)switch(e.type){case De:e.return=He(e.value,e.length);break;case Me:return Re([ge(e,{value:ne(e.value,"@","@"+Pe)})],a);case Oe: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 Re([ge(e,{props:[ne(t,/:(read-\w+)/,":-moz-$1")]})],a);case"::placeholder":return Re([ge(e,{props:[ne(t,/:(plac\w+)/,":"+Pe+"input-$1")]}),ge(e,{props:[ne(t,/:(plac\w+)/,":-moz-$1")]}),ge(e,{props:[ne(t,/:(plac\w+)/,Le+"input-$1")]})],a)}return""}))}}],Xe={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 Ze(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}var Ye=/[A-Z]|^ms/g,et=/_EMO_([^_]+?)_([^]*?)_EMO_/g,tt=function(e){return 45===e.charCodeAt(1)},nt=function(e){return null!=e&&"boolean"!=typeof e},at=Ze((function(e){return tt(e)?e:e.replace(Ye,"-$&").toLowerCase()})),rt=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(et,(function(e,t,n){return it={name:t,styles:n,next:it},t}))}return 1===Xe[e]||tt(e)||"number"!=typeof t||0===t?t:t+"px"};function ot(e,t,n){if(null==n)return"";var a=n;if(void 0!==a.__emotion_styles)return a;switch(typeof n){case"boolean":return"";case"object":var r=n;if(1===r.anim)return it={name:r.name,styles:r.styles,next:it},r.name;var o=n;if(void 0!==o.styles){var i=o.next;if(void 0!==i)for(;void 0!==i;)it={name:i.name,styles:i.styles,next:it},i=i.next;return o.styles+";"}return function(e,t,n){var a="";if(Array.isArray(n))for(var r=0;r<n.length;r++)a+=ot(e,t,n[r])+";";else for(var o in n){var i=n[o];if("object"!=typeof i){var s=i;null!=t&&void 0!==t[s]?a+=o+"{"+t[s]+"}":nt(s)&&(a+=at(o)+":"+rt(o,s)+";")}else if(!Array.isArray(i)||"string"!=typeof i[0]||null!=t&&void 0!==t[i[0]]){var c=ot(e,t,i);switch(o){case"animation":case"animationName":a+=at(o)+":"+c+";";break;default:a+=o+"{"+c+"}"}}else for(var l=0;l<i.length;l++)nt(i[l])&&(a+=at(o)+":"+rt(o,i[l])+";")}return a}(e,t,n);case"function":if(void 0!==e){var s=it,c=n(e);return it=s,ot(e,t,c)}}var l=n;if(null==t)return l;var u=t[l];return void 0!==u?u:l}var it,st=/label:\s*([^\s;{]+)\s*(;|$)/g;function ct(e,t,n){if(1===e.length&&"object"==typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];var a=!0,r="";it=void 0;var o=e[0];null==o||void 0===o.raw?(a=!1,r+=ot(n,t,o)):r+=o[0];for(var i=1;i<e.length;i++)r+=ot(n,t,e[i]),a&&(r+=o[i]);st.lastIndex=0;for(var s,c="";null!==(s=st.exec(r));)c+="-"+s[1];var l=function(e){for(var t,n=0,a=0,r=e.length;r>=4;++a,r-=4)t=1540483477*(65535&(t=255&e.charCodeAt(a)|(255&e.charCodeAt(++a))<<8|(255&e.charCodeAt(++a))<<16|(255&e.charCodeAt(++a))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(r){case 3:n^=(255&e.charCodeAt(a+2))<<16;case 2:n^=(255&e.charCodeAt(a+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(a)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)}(r)+c;return{name:l,styles:r,next:it}}function lt(e,t,n){var a="";return n.split(" ").forEach((function(n){void 0!==e[n]?t.push(e[n]+";"):n&&(a+=n+" ")})),a}function ut(e,t){if(void 0===e.inserted[t.name])return e.insert("",t,e.sheet,!0)}function dt(e,t,n){var a=[],r=lt(e,a,n);return a.length<2?n:r+t(a)}var pt=function e(t){for(var n="",a=0;a<t.length;a++){var r=t[a];if(null!=r){var o=void 0;switch(typeof r){case"boolean":break;case"object":if(Array.isArray(r))o=e(r);else for(var i in o="",r)r[i]&&i&&(o&&(o+=" "),o+=i);break;default:o=r}o&&(n&&(n+=" "),n+=o)}}return n};var ft=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 a,r,o=e.stylisPlugins||Je,i={},s=[];a=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++)i[t[n]]=!0;s.push(e)}));var c,l,u,d,p=[ze,(d=function(e){c.insert(e)},function(e){e.root||(e=e.return)&&d(e)})],f=(l=[Ke,Qe].concat(o,p),u=se(l),function(e,t,n,a){for(var r="",o=0;o<u;o++)r+=l[o](e,t,n,a)||"";return r});r=function(e,t,n,a){c=n,Re(Ge(e?e+"{"+t.styles+"}":t.styles),f),a&&(m.inserted[t.name]=!0)};var m={key:t,sheet:new X({key:t,container:a,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:i,registered:{},insert:r};return m.sheet.hydrate(s),m}(e);t.sheet.speedy=function(e){this.isSpeedy=e},t.compat=!0;var n=function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];var r=ct(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 a=t;do{e.insert(t===a?"."+n:"",a,e.sheet,!0),a=a.next}while(void 0!==a)}}(t,r),t.key+"-"+r.name};return{css:n,cx:function(){for(var e=arguments.length,a=new Array(e),r=0;r<e;r++)a[r]=arguments[r];return dt(t.registered,n,pt(a))},injectGlobal:function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];var r=ct(n,t.registered);ut(t,r)},keyframes:function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];var r=ct(n,t.registered),o="animation-"+r.name;return ut(t,{name:r.name,styles:"@keyframes "+o+"{"+r.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:lt.bind(null,t.registered),merge:dt.bind(null,t.registered,n)}}({key:"css"}),mt=(ft.flush,ft.hydrate,ft.cx),ht=(ft.merge,ft.getRegisteredStyles,ft.injectGlobal,ft.keyframes),gt=ft.css;function vt(e){const{isAvailable:t,openAssistant:n}=H();return t&&n?s().createElement(bt,{...e,openAssistant:n}):null}function bt({prompt:e,origin:t,context:n,autoSend:a=!0,title:r="Analyze with Assistant",size:c="sm",iconOnlyButton:l=!1,openAssistant:u,onClick:d}){const p=(0,J.useStyles2)(yt);return(0,i.useEffect)((()=>{(0,o.reportInteraction)("grafana_assistant_app_open_sidebar_button_displayed",{from:t})}),[t]),s().createElement(s().Fragment,null,l?s().createElement(J.IconButton,{name:"ai-sparkle",onClick:()=>{null==d||d(),u({prompt:e,context:n,autoSend:a,origin:t})},variant:"secondary",size:c,"aria-label":r,className:p.icon,tooltip:r,"data-testid":"assistant-icon-button"}):s().createElement(J.Button,{icon:"ai-sparkle",onClick:()=>{null==d||d(),u({prompt:e,context:n,autoSend:a,origin:t})},variant:"secondary",fill:"solid",size:c,title:r,"aria-label":r,className:p.button,"data-testid":"assistant-button"},r))}ft.sheet,ft.cache;const yt=e=>{const t=e.colors.secondary.main,n=e.colors.emphasize(t,.05),a=e.colors.background.canvas,r=e.shape.radius.default,o=`max(calc(${r} - 1px), 1px)`,i={content:'""',position:"absolute",inset:0,borderRadius:r,background:"linear-gradient(90deg, rgb(168, 85, 247), rgb(249, 115, 22))",zIndex:-2,pointerEvents:"none"},s=e=>({content:'""',position:"absolute",inset:"1px",borderRadius:o,background:`linear-gradient(${e}, ${e}), ${a}`,zIndex:-1,transition:"none",pointerEvents:"none"});return{button:gt({label:"assistant-button",position:"relative",isolation:"isolate",border:"none",transition:"none !important","&::before":i,"&::after":{...s(t),transition:"none"},"&:hover":{transition:"none !important"},"&:hover::after":{background:`linear-gradient(${n}, ${n}), ${a}`}}),icon:gt({label:"assistant-icon",position:"relative",isolation:"isolate",border:"none",background:"none",padding:e.spacing(.5),"&::before":{...i,transition:"background 0.1s ease"},"&:hover::after":{...s(t),background:`linear-gradient(${n}, ${n}), ${a}`}})}};let xt=null,wt=null,kt=null;function Et(e){xt=e}function At(e){wt=e}async function $t(){if(!xt){if(!wt)throw new Error("InlineAssistant not initialized. Make sure the Grafana Assistant plugin is loaded and initialized.");return kt||(kt=(async()=>{try{await wt()}catch(e){throw kt=null,e}})(),kt)}}function Ct(){if(!xt)throw new Error("InlineAssistant factory not initialized. Make sure the Grafana Assistant plugin is loaded.");return xt}function St(){const[e,t]=(0,i.useState)(!1),[n,a]=(0,i.useState)(""),[r,o]=(0,i.useState)(null),s=(0,i.useRef)(null),c=(0,i.useCallback)((()=>{o(null),a("")}),[]),l=(0,i.useCallback)((()=>{s.current&&s.current.cancel(),t(!1)}),[]),u=(0,i.useCallback)((async e=>{var n;o(null),a(""),t(!0);try{await $t();const n=Ct();s.current||(s.current=await n(e.origin)),await s.current.sendPrompt({prompt:e.prompt,systemPrompt:e.systemPrompt,onStart:()=>{t(!0)},onDelta:t=>{var n;a((e=>e+t)),null===(n=e.onDelta)||void 0===n||n.call(e,t)},onComplete:n=>{var r;a(n),t(!1),null===(r=e.onComplete)||void 0===r||r.call(e,n)},onError:n=>{var a;o(n),t(!1),null===(a=e.onError)||void 0===a||a.call(e,n)}})}catch(a){const r=a instanceof Error?a:new Error(String(a));o(r),t(!1),null===(n=e.onError)||void 0===n||n.call(e,r)}}),[]);return(0,i.useEffect)((()=>()=>{s.current&&(s.current.cancel(),s.current.dispose(),s.current=null)}),[]),{generate:u,isGenerating:e,content:n,error:r,cancel:l,reset:c}}const It=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]]},Nt=(e,t,n,a)=>{const r=Array.from({length:101},((e,t)=>t)),o={},[i,s]=It(e),c=null!=n?n:i,l=null!=a?a:s;return r.forEach((e=>{o[`${e}%`]={backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from ${3.6*e}deg, transparent 60%, ${c} 80%, ${l} 100%, transparent 15%)\n `}})),o};function Tt({value:e,onChange:t,placeholder:n,origin:a,systemPrompt:r,onComplete:o,onError:i,onDelta:c,disabled:l=!1,className:u,"data-testid":d}){const{generate:p,isGenerating:f,error:m,reset:h}=St(),g=!e.trim()||l||f,v=(0,J.useStyles2)(Lt),b=async()=>{if(g)return;const t=e.trim();h(),await p({prompt:t,origin:a,systemPrompt:r,onComplete:e=>{null==o||o(e)},onError:e=>{null==i||i(e)},onDelta:e=>{null==c||c(e)}})},y=s().createElement(J.IconButton,{name:"ai-sparkle",onClick:b,disabled:g,tooltip:g?"Enter text to generate":"Generate with AI","data-testid":d?`${d}-send`:void 0});return s().createElement("div",{className:mt(v.wrapper,{[v.animatedWrapper]:f},u),"data-testid":d},s().createElement(J.Input,{value:e,onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),b())},onChange:e=>t(e.currentTarget.value),placeholder:null!=n?n:"Ask AI to generate...",disabled:l||f,suffix:y,invalid:!!m,"data-testid":d?`${d}-input`:void 0}))}const Lt=e=>{const t=e.colors.background.primary,n=ht({label:"ai-input-border-animation",...Nt(e,t)}),[a,r]=It(e);return{wrapper:gt({label:"ai-text-input-wrapper",position:"relative",borderRadius:e.shape.radius.default}),animatedWrapper:gt({label:"ai-text-input-animated",border:"1px solid transparent",backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from 0deg, transparent 60%, ${a} 80%, ${r} 100%, transparent 15%)\n `,backgroundOrigin:"border-box",backgroundClip:"padding-box, border-box",animation:`${n} 2s linear infinite`,"& input":{border:"none !important"}})}};function _t({value:e,onChange:t,placeholder:n,origin:a,systemPrompt:r,onComplete:o,onError:i,onDelta:c,disabled:l=!1,rows:u=4,className:d,"data-testid":p}){const{generate:f,isGenerating:m,error:h,reset:g}=St(),v=!e.trim()||l||m,b=(0,J.useStyles2)(Pt),y=async()=>{if(v)return;const t=e.trim();g(),await f({prompt:t,origin:a,systemPrompt:r,onComplete:e=>{null==o||o(e)},onError:e=>{null==i||i(e)},onDelta:e=>{null==c||c(e)}})};return s().createElement("div",{className:mt(b.textareaWrapper,{[b.animatedWrapper]:m},d),"data-testid":p},s().createElement(J.TextArea,{value:e,onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())},onChange:e=>t(e.currentTarget.value),placeholder:null!=n?n:"Ask AI to generate... (Cmd/Ctrl+Enter to send)",disabled:l||m,rows:u,className:b.textarea,invalid:!!h,"data-testid":p?`${p}-textarea`:void 0}),s().createElement(J.IconButton,{name:"ai-sparkle",onClick:y,disabled:v,className:b.sendButton,"aria-label":"Generate with AI",tooltip:v?"Enter text to generate":"Generate with AI (Cmd/Ctrl+Enter)","data-testid":p?`${p}-send`:void 0}))}const Pt=e=>{const t=e.colors.background.primary,n=ht({label:"ai-textarea-border-animation",...Nt(e,t)}),[a,r]=It(e);return{textareaWrapper:gt({label:"ai-textarea-wrapper",position:"relative",borderRadius:e.shape.radius.default}),animatedWrapper:gt({label:"ai-textarea-animated",border:"1px solid transparent",backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from 0deg, transparent 60%, ${a} 80%, ${r} 100%, transparent 15%)\n `,backgroundOrigin:"border-box",backgroundClip:"padding-box, border-box",animation:`${n} 2s linear infinite`,"& textarea":{border:"none !important"}}),textarea:gt({label:"ai-textarea",paddingRight:e.spacing(4),scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),sendButton:gt({label:"ai-textarea-send",position:"absolute",right:e.spacing(1),top:e.spacing(1)})}};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 a in n)e.o(n,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:n[a]})},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:()=>Dt,AITextInput:()=>Ot,ASSISTANT_PLUGIN_ID:()=>B,ASSISTANT_PLUGIN_TITLE:()=>j,CALLBACK_EXTENSION_POINT:()=>D,ComponentNodeData:()=>x,DashboardNodeData:()=>E,DatasourceNodeData:()=>C,EntityNodeData:()=>I,FolderNodeData:()=>$,LabelNameNodeData:()=>_,LabelValueNodeData:()=>S,OpenAssistantButton:()=>yt,OpenAssistantSplitButton:()=>kt,StructuredNodeData:()=>r,closeAssistant:()=>H,createAssistantContextItem:()=>L,ensureInlineAssistantInitialized:()=>Nt,getExposeAssistantFunctionsConfig:()=>M,getInlineAssistantFactory:()=>Tt,isAssistantAvailable:()=>F,newFunctionNamespace:()=>R,openAssistant:()=>Q,provideComponents:()=>A,providePageContext:()=>g,provideQuestions:()=>P,setInlineAssistantFactory:()=>_t,setInlineAssistantInitializer:()=>St,toggleAssistant:()=>J,useAssistant:()=>X,useInlineAssistant:()=>Lt,usePageComponents:()=>k,usePageContext:()=>b,useProvidePageContext:()=>v,useProvideQuestions:()=>U,useQuestions:()=>O});class a{constructor(e){this.params=e,this.text="",this.id=n(e.id),this.type=e.type}formatForLLM(e){var t,n;return{type:this.type,codeElementIds:e,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 a&&this.id===e.id&&this.type===e.type}}class r extends a{constructor(e){super({...e,id:n(JSON.stringify(e.data)),type:"structured"}),this.data=e.data}formatForLLM(e){return{type:this.type,codeElementIds:e,data:this.data}}}const o=require("@grafana/runtime"),i=require("react");var s=e.n(i);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 f(){return window[c]}function m(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){const n={id:y(),urlPattern:e,context:[...t]};m([...f(),n]),window.dispatchEvent(new CustomEvent(u,{detail:n}));const a=e=>{const t=f(),a=t.findIndex((e=>e.id===n.id));if(-1!==a){const n=[...t];n[a]={...n[a],context:[...e]},m(n),window.dispatchEvent(new CustomEvent(u,{detail:n[a]}))}};return a.unregister=()=>{const e=f(),t=e.findIndex((e=>e.id===n.id));-1!==t&&(m(e.filter(((e,n)=>n!==t))),window.dispatchEvent(new CustomEvent(d,{detail:{id:n.id}})))},a}function v(e,t=[]){const n=(0,i.useRef)(void 0),a=(0,i.useRef)(t);return a.current=t,(0,i.useEffect)((()=>(n.current=g(e,a.current),()=>{var e;null===(e=n.current)||void 0===e||e.unregister()})),[e]),(0,i.useEffect)((()=>{n.current&&n.current(t)}),[t]),(0,i.useCallback)((e=>{var t;null===(t=n.current)||void 0===t||t.call(n,e)}),[])}function b(e={allowQuestions:!1,allowComponents:!1}){const[t,n]=(0,i.useState)([]),a=(0,o.useLocationService)(),r=(0,i.useRef)("");(0,i.useEffect)((()=>{const e=()=>{const e=function(e){if(!e)return[];const t=[],n=f();for(const a of n)w(e,a.urlPattern)&&t.push(...a.context);return t}(a.getLocation().pathname);n(e)},t=()=>{e()},o=a.getLocationObservable().subscribe((t=>{const n=t.pathname;n!==r.current&&(r.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)}}),[a]);let s=t;return e.allowQuestions||(s=s.filter((e=>{var t;return"question"!==(null===(t=e.node.data)||void 0===t?void 0:t.type)}))),e.allowComponents||(s=s.filter((e=>{var t;return"component"!==(null===(t=e.node.data)||void 0===t?void 0:t.type)}))),s}function y(e="page-context"){return`${e}-${Date.now()}-${Math.random().toString(36).slice(2,11)}`}function w(e,t){if(t instanceof RegExp)return t.test(e);if("string"==typeof t){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}h||(h=!0,window.addEventListener(u,(e=>{const t=e.detail;if(!t||!t.id)return;const n=f(),a=n.findIndex((e=>e.id===t.id));if(-1!==a){const e=[...n];e[a]=t,m(e,!0)}else m([...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 a=f(),r=a.findIndex((e=>e.id===n));-1!==r&&m(a.filter(((e,t)=>t!==r)),!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 a=f(),r=new Set(a.map((e=>e.id))),o=n.filter((e=>!r.has(e.id)));o.length>0&&m([...a,...o],!0)})));class x extends a{constructor(e){const t=e.namespace||"components";super({...e,id:`${t}-${Object.keys(e.components).join("-")}`,type:"component"}),this.components=e.components,this.prompt=e.prompt,this.namespace=t}formatForLLM(e){return{type:this.type,codeElementIds:e,data:{name:`${this.namespace} components`,prompt:this.prompt,namespace:this.namespace}}}}function k(){const e=b({allowComponents:!0,allowQuestions:!1});return(0,i.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,a])=>{t[`${e}_${n}`]=a}))}})),t}),[e])}function A(e,t,n,a=/.*/){if((r=a)instanceof RegExp?".*"===r.source&&""===r.flags:".*"===r||"/.*/"===r){const a=g(/.*/,[L("component",{components:n,prompt:e,namespace:t})]),r=(e,n)=>{a([L("component",{components:e,prompt:n,namespace:t})])};return r.unregister=a.unregister,r}var r;const o=g(/.*/,[L("component",{components:n,prompt:"",namespace:t})]),i=g(a,[L("component",{components:{},prompt:e,namespace:t})]),s=(e,n)=>{o([L("component",{components:e,prompt:"",namespace:t})]),i([L("component",{components:{},prompt:n,namespace:t})])};return s.unregister=()=>{o.unregister(),i.unregister()},s}class E extends a{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,data:{name:this.dashboardTitle,dashboardUid:this.dashboardUid,dashboardTitle:this.dashboardTitle,folderUid:this.folderUid,folderTitle:this.folderTitle,text:this.text}}}}class $ extends a{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,data:{name:this.folderTitle,folderUid:this.folderUid,folderTitle:this.folderTitle,text:this.text}}}}class C extends a{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,data:{name:this.datasourceName,uid:this.datasourceUid,type:this.datasourceType,text:this.text,img:this.img}}}}class I extends a{constructor(e){var t,n,a;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===(a=e.scope)||void 0===a?void 0:a.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,data:{name:this.name,text:this.text,type:this.entityType,scope:this.scope,properties:this.properties}}}}class _ extends a{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,data:{name:this.labelName,datasourceUid:this.datasourceUid,datasourceType:this.datasourceType,datasourceName:this.datasourceName,labelName:this.labelName,img:this.img,text:this.text}}}}class S extends a{constructor(e){super({...e,id:`${e.datasourceUid}-${e.labelName}-${e.labelValue}`,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}formatForLLM(e){return{type:this.type,codeElementIds:e,data:{name:this.labelValue,datasourceUid:this.datasourceUid,datasourceType:this.datasourceType,datasourceName:this.datasourceName,labelName:this.labelName,labelValue:this.labelValue,text:this.text,img:this.img}}}}function N(e){var t,n,a,r,i;const s=(0,o.getDataSourceSrv)().getInstanceSettings(e);return{datasourceType:null!==(t=null==s?void 0:s.type)&&void 0!==t?t:"unknown",datasourceName:null!==(n=null==s?void 0:s.name)&&void 0!==n?n:e,img:null===(i=null===(r=null===(a=null==s?void 0:s.meta)||void 0===a?void 0:a.info)||void 0===r?void 0:r.logos)||void 0===i?void 0:i.small}}const T={datasource:"database",label_name:"database",label_value:"database",dashboard:"dashboard",dashboard_folder:"folder",unknown:"circle-mono",structured:"gf-grid",component:"gf-grid",entity:"asserts"};function L(e,t){var n,o,i;const s=function(e,t){switch(e){case"datasource":return new C({...t,...N(t.datasourceUid)});case"label_name":return new _({...t,...N(t.datasourceUid)});case"label_value":return new S({...t,...N(t.datasourceUid)});case"dashboard":return new E(t);case"dashboard_folder":return new $(t);case"structured":return new r(t);case"component":return new x({...t,hidden:!0});case"entity":return new I(t);case"unknown":return new a(t);default:return console.error(`Unknown context type: ${e}`),new a(t)}}(e,t),c=null!==(n=t.title)&&void 0!==n?n:function(e){var t;return e instanceof r?e.formatForLLM().data.name:null!==(t=e.text)&&void 0!==t?t:"Given Context"}(s),l=null!==(o=t.img)&&void 0!==o?o:function(e){if("img"in e)return e.img}(s);return{node:{id:s.id,name:c,img:l,icon:null!==(i=t.icon)&&void 0!==i?i:T[e],navigable:!1,selectable:!0,data:s},occurrences:[]}}function P(e,t){const n=y("question"),a=e=>e.map(((e,t)=>({node:{id:`question-${n}-${t}`,name:e.prompt,navigable:!1,selectable:!0,icon:"question-circle",data:{type:"question",prompt:e.prompt,context:e.context||[]}},occurrences:[]}))),r=g(e,a(t)),o=e=>{r(a(e))};return o.unregister=r.unregister,o}function U(e,t=[]){const n=(0,i.useMemo)((()=>y("question")),[]),a=e=>e.map(((e,t)=>({node:{id:`question-${n}-${t}`,name:e.prompt,navigable:!1,selectable:!0,icon:"question-circle",data:{type:"question",prompt:e.prompt,context:e.context||[]}},occurrences:[]}))),r=v(e,a(t));return e=>{r(a(e))}}function O(){const e=b({allowQuestions:!0,allowComponents:!1});return z(e)}const z=e=>e.filter((e=>{var t;return"question"===(null===(t=e.node.data)||void 0===t?void 0:t.type)})).map((e=>{var t,n;return{prompt:(null===(t=e.node.data)||void 0===t?void 0:t.prompt)||e.node.name,context:(null===(n=e.node.data)||void 0===n?void 0:n.context)||[]}})),D="grafana-assistant-app/callback/v0-alpha";function R(e,t){return{namespace:e,functions:t}}function M(e){return{title:"callback",targets:[D],fn:()=>e.map((e=>({namespace:e.namespace,functions:e.functions})))}}const G=require("rxjs"),B="grafana-assistant-app",j="Grafana Assistant";function F(){if(!o.getObservablePluginLinks)return(0,G.of)(!1);return(0,o.getObservablePluginLinks)({extensionPointId:"grafana/extension-sidebar/v0-alpha"}).pipe((0,G.map)((e=>e.some((e=>e.pluginId===B&&e.title===j)))))}const q=require("@grafana/data");class W extends q.BusEventWithPayload{}W.type="open-extension-sidebar";class V extends q.BusEventBase{}V.type="close-extension-sidebar";class K extends q.BusEventWithPayload{}function Q(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 a=new W({pluginId:e,componentTitle:t,props:n});(0,o.getAppEvents)().publish(a)}(B,j,{initialPrompt:e.prompt,initialContext:e.context,initialAutoSend:null===(n=e.autoSend)||void 0===n||n,origin:e.origin,initialMode:e.mode})}function H(){!function(){const e=new V;(0,o.getAppEvents)().publish(e)}()}function J(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 a=new K({pluginId:e,componentTitle:t,props:n});(0,o.getAppEvents)().publish(a)}(B,j,{initialPrompt:e.prompt,initialContext:e.context,initialAutoSend:null===(n=e.autoSend)||void 0===n||n,origin:e.origin,initialMode:e.mode})}function X(){const[e,t]=(0,i.useState)(!1);return(0,i.useEffect)((()=>{const e=F().subscribe((e=>t(e)));return()=>{e.unsubscribe()}}),[]),{isAvailable:e,openAssistant:e?Q:void 0,closeAssistant:e?H:void 0,toggleAssistant:e?J:void 0}}K.type="toggle-extension-sidebar";const Z=require("@grafana/ui");var Y=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}(),ee=Math.abs,te=String.fromCharCode,ne=Object.assign;function ae(e){return e.trim()}function re(e,t,n){return e.replace(t,n)}function oe(e,t){return e.indexOf(t)}function ie(e,t){return 0|e.charCodeAt(t)}function se(e,t,n){return e.slice(t,n)}function ce(e){return e.length}function le(e){return e.length}function ue(e,t){return t.push(e),e}var de=1,pe=1,fe=0,me=0,he=0,ge="";function ve(e,t,n,a,r,o,i){return{value:e,root:t,parent:n,type:a,props:r,children:o,line:de,column:pe,length:i,return:""}}function be(e,t){return ne(ve("",null,null,"",null,null,0),e,{length:-e.length},t)}function ye(){return he=me>0?ie(ge,--me):0,pe--,10===he&&(pe=1,de--),he}function we(){return he=me<fe?ie(ge,me++):0,pe++,10===he&&(pe=1,de++),he}function xe(){return ie(ge,me)}function ke(){return me}function Ae(e,t){return se(ge,e,t)}function Ee(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 $e(e){return de=pe=1,fe=ce(ge=e),me=0,[]}function Ce(e){return ge="",e}function Ie(e){return ae(Ae(me-1,Ne(91===e?e+2:40===e?e+1:e)))}function _e(e){for(;(he=xe())&&he<33;)we();return Ee(e)>2||Ee(he)>3?"":" "}function Se(e,t){for(;--t&&we()&&!(he<48||he>102||he>57&&he<65||he>70&&he<97););return Ae(e,ke()+(t<6&&32==xe()&&32==we()))}function Ne(e){for(;we();)switch(he){case e:return me;case 34:case 39:34!==e&&39!==e&&Ne(he);break;case 40:41===e&&Ne(e);break;case 92:we()}return me}function Te(e,t){for(;we()&&e+he!==57&&(e+he!==84||47!==xe()););return"/*"+Ae(t,me-1)+"*"+te(47===e?e:we())}function Le(e){for(;!Ee(xe());)we();return Ae(e,me)}var Pe="-ms-",Ue="-moz-",Oe="-webkit-",ze="comm",De="rule",Re="decl",Me="@keyframes";function Ge(e,t){for(var n="",a=le(e),r=0;r<a;r++)n+=t(e[r],r,e,t)||"";return n}function Be(e,t,n,a){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case Re:return e.return=e.return||e.value;case ze:return"";case Me:return e.return=e.value+"{"+Ge(e.children,a)+"}";case De:e.value=e.props.join(",")}return ce(n=Ge(e.children,a))?e.return=e.value+"{"+n+"}":""}function je(e){return Ce(Fe("",null,null,null,[""],e=$e(e),0,[0],e))}function Fe(e,t,n,a,r,o,i,s,c){for(var l=0,u=0,d=i,p=0,f=0,m=0,h=1,g=1,v=1,b=0,y="",w=r,x=o,k=a,A=y;g;)switch(m=b,b=we()){case 40:if(108!=m&&58==ie(A,d-1)){-1!=oe(A+=re(Ie(b),"&","&\f"),"&\f")&&(v=-1);break}case 34:case 39:case 91:A+=Ie(b);break;case 9:case 10:case 13:case 32:A+=_e(m);break;case 92:A+=Se(ke()-1,7);continue;case 47:switch(xe()){case 42:case 47:ue(We(Te(we(),ke()),t,n),c);break;default:A+="/"}break;case 123*h:s[l++]=ce(A)*v;case 125*h:case 59:case 0:switch(b){case 0:case 125:g=0;case 59+u:-1==v&&(A=re(A,/\f/g,"")),f>0&&ce(A)-d&&ue(f>32?Ve(A+";",a,n,d-1):Ve(re(A," ","")+";",a,n,d-2),c);break;case 59:A+=";";default:if(ue(k=qe(A,t,n,l,u,r,s,y,w=[],x=[],d),o),123===b)if(0===u)Fe(A,t,k,k,w,o,d,s,x);else switch(99===p&&110===ie(A,3)?100:p){case 100:case 108:case 109:case 115:Fe(e,k,k,a&&ue(qe(e,k,k,0,0,r,s,y,r,w=[],d),x),r,x,d,s,a?w:x);break;default:Fe(A,k,k,k,[""],x,0,s,x)}}l=u=f=0,h=v=1,y=A="",d=i;break;case 58:d=1+ce(A),f=m;default:if(h<1)if(123==b)--h;else if(125==b&&0==h++&&125==ye())continue;switch(A+=te(b),b*h){case 38:v=u>0?1:(A+="\f",-1);break;case 44:s[l++]=(ce(A)-1)*v,v=1;break;case 64:45===xe()&&(A+=Ie(we())),p=xe(),u=d=ce(y=A+=Le(ke())),b++;break;case 45:45===m&&2==ce(A)&&(h=0)}}return o}function qe(e,t,n,a,r,o,i,s,c,l,u){for(var d=r-1,p=0===r?o:[""],f=le(p),m=0,h=0,g=0;m<a;++m)for(var v=0,b=se(e,d+1,d=ee(h=i[m])),y=e;v<f;++v)(y=ae(h>0?p[v]+" "+b:re(b,/&\f/g,p[v])))&&(c[g++]=y);return ve(e,t,n,0===r?De:s,c,l,u)}function We(e,t,n){return ve(e,t,n,ze,te(he),se(e,2,-2),0)}function Ve(e,t,n,a){return ve(e,t,n,Re,se(e,0,a),se(e,a+1,-1),a)}var Ke=function(e,t,n){for(var a=0,r=0;a=r,r=xe(),38===a&&12===r&&(t[n]=1),!Ee(r);)we();return Ae(e,me)},Qe=new WeakMap,He=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,a=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)||Qe.get(n))&&!a){Qe.set(e,!0);for(var r=[],o=function(e,t){return Ce(function(e,t){var n=-1,a=44;do{switch(Ee(a)){case 0:38===a&&12===xe()&&(t[n]=1),e[n]+=Ke(me-1,t,n);break;case 2:e[n]+=Ie(a);break;case 4:if(44===a){e[++n]=58===xe()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=te(a)}}while(a=we());return e}($e(e),t))}(t,r),i=n.props,s=0,c=0;s<o.length;s++)for(var l=0;l<i.length;l++,c++)e.props[c]=r[s]?o[s].replace(/&\f/g,i[l]):i[l]+" "+o[s]}}},Je=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}};function Xe(e,t){switch(function(e,t){return 45^ie(e,0)?(((t<<2^ie(e,0))<<2^ie(e,1))<<2^ie(e,2))<<2^ie(e,3):0}(e,t)){case 5103:return Oe+"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 Oe+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Oe+e+Ue+e+Pe+e+e;case 6828:case 4268:return Oe+e+Pe+e+e;case 6165:return Oe+e+Pe+"flex-"+e+e;case 5187:return Oe+e+re(e,/(\w+).+(:[^]+)/,Oe+"box-$1$2"+Pe+"flex-$1$2")+e;case 5443:return Oe+e+Pe+"flex-item-"+re(e,/flex-|-self/,"")+e;case 4675:return Oe+e+Pe+"flex-line-pack"+re(e,/align-content|flex-|-self/,"")+e;case 5548:return Oe+e+Pe+re(e,"shrink","negative")+e;case 5292:return Oe+e+Pe+re(e,"basis","preferred-size")+e;case 6060:return Oe+"box-"+re(e,"-grow","")+Oe+e+Pe+re(e,"grow","positive")+e;case 4554:return Oe+re(e,/([^-])(transform)/g,"$1"+Oe+"$2")+e;case 6187:return re(re(re(e,/(zoom-|grab)/,Oe+"$1"),/(image-set)/,Oe+"$1"),e,"")+e;case 5495:case 3959:return re(e,/(image-set\([^]*)/,Oe+"$1$`$1");case 4968:return re(re(e,/(.+:)(flex-)?(.*)/,Oe+"box-pack:$3"+Pe+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Oe+e+e;case 4095:case 3583:case 4068:case 2532:return re(e,/(.+)-inline(.+)/,Oe+"$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(ce(e)-1-t>6)switch(ie(e,t+1)){case 109:if(45!==ie(e,t+4))break;case 102:return re(e,/(.+:)(.+)-([^]+)/,"$1"+Oe+"$2-$3$1"+Ue+(108==ie(e,t+3)?"$3":"$2-$3"))+e;case 115:return~oe(e,"stretch")?Xe(re(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==ie(e,t+1))break;case 6444:switch(ie(e,ce(e)-3-(~oe(e,"!important")&&10))){case 107:return re(e,":",":"+Oe)+e;case 101:return re(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Oe+(45===ie(e,14)?"inline-":"")+"box$3$1"+Oe+"$2$3$1"+Pe+"$2box$3")+e}break;case 5936:switch(ie(e,t+11)){case 114:return Oe+e+Pe+re(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Oe+e+Pe+re(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Oe+e+Pe+re(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Oe+e+Pe+e+e}return e}var Ze=[function(e,t,n,a){if(e.length>-1&&!e.return)switch(e.type){case Re:e.return=Xe(e.value,e.length);break;case Me:return Ge([be(e,{value:re(e.value,"@","@"+Oe)})],a);case De: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 Ge([be(e,{props:[re(t,/:(read-\w+)/,":-moz-$1")]})],a);case"::placeholder":return Ge([be(e,{props:[re(t,/:(plac\w+)/,":"+Oe+"input-$1")]}),be(e,{props:[re(t,/:(plac\w+)/,":-moz-$1")]}),be(e,{props:[re(t,/:(plac\w+)/,Pe+"input-$1")]})],a)}return""}))}}],Ye={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 et(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}var tt=/[A-Z]|^ms/g,nt=/_EMO_([^_]+?)_([^]*?)_EMO_/g,at=function(e){return 45===e.charCodeAt(1)},rt=function(e){return null!=e&&"boolean"!=typeof e},ot=et((function(e){return at(e)?e:e.replace(tt,"-$&").toLowerCase()})),it=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(nt,(function(e,t,n){return ct={name:t,styles:n,next:ct},t}))}return 1===Ye[e]||at(e)||"number"!=typeof t||0===t?t:t+"px"};function st(e,t,n){if(null==n)return"";var a=n;if(void 0!==a.__emotion_styles)return a;switch(typeof n){case"boolean":return"";case"object":var r=n;if(1===r.anim)return ct={name:r.name,styles:r.styles,next:ct},r.name;var o=n;if(void 0!==o.styles){var i=o.next;if(void 0!==i)for(;void 0!==i;)ct={name:i.name,styles:i.styles,next:ct},i=i.next;return o.styles+";"}return function(e,t,n){var a="";if(Array.isArray(n))for(var r=0;r<n.length;r++)a+=st(e,t,n[r])+";";else for(var o in n){var i=n[o];if("object"!=typeof i){var s=i;null!=t&&void 0!==t[s]?a+=o+"{"+t[s]+"}":rt(s)&&(a+=ot(o)+":"+it(o,s)+";")}else if(!Array.isArray(i)||"string"!=typeof i[0]||null!=t&&void 0!==t[i[0]]){var c=st(e,t,i);switch(o){case"animation":case"animationName":a+=ot(o)+":"+c+";";break;default:a+=o+"{"+c+"}"}}else for(var l=0;l<i.length;l++)rt(i[l])&&(a+=ot(o)+":"+it(o,i[l])+";")}return a}(e,t,n);case"function":if(void 0!==e){var s=ct,c=n(e);return ct=s,st(e,t,c)}}var l=n;if(null==t)return l;var u=t[l];return void 0!==u?u:l}var ct,lt=/label:\s*([^\s;{]+)\s*(;|$)/g;function ut(e,t,n){if(1===e.length&&"object"==typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];var a=!0,r="";ct=void 0;var o=e[0];null==o||void 0===o.raw?(a=!1,r+=st(n,t,o)):r+=o[0];for(var i=1;i<e.length;i++)r+=st(n,t,e[i]),a&&(r+=o[i]);lt.lastIndex=0;for(var s,c="";null!==(s=lt.exec(r));)c+="-"+s[1];var l=function(e){for(var t,n=0,a=0,r=e.length;r>=4;++a,r-=4)t=1540483477*(65535&(t=255&e.charCodeAt(a)|(255&e.charCodeAt(++a))<<8|(255&e.charCodeAt(++a))<<16|(255&e.charCodeAt(++a))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(r){case 3:n^=(255&e.charCodeAt(a+2))<<16;case 2:n^=(255&e.charCodeAt(a+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(a)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)}(r)+c;return{name:l,styles:r,next:ct}}function dt(e,t,n){var a="";return n.split(" ").forEach((function(n){void 0!==e[n]?t.push(e[n]+";"):n&&(a+=n+" ")})),a}function pt(e,t){if(void 0===e.inserted[t.name])return e.insert("",t,e.sheet,!0)}function ft(e,t,n){var a=[],r=dt(e,a,n);return a.length<2?n:r+t(a)}var mt=function e(t){for(var n="",a=0;a<t.length;a++){var r=t[a];if(null!=r){var o=void 0;switch(typeof r){case"boolean":break;case"object":if(Array.isArray(r))o=e(r);else for(var i in o="",r)r[i]&&i&&(o&&(o+=" "),o+=i);break;default:o=r}o&&(n&&(n+=" "),n+=o)}}return n};var ht=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 a,r,o=e.stylisPlugins||Ze,i={},s=[];a=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++)i[t[n]]=!0;s.push(e)}));var c,l,u,d,p=[Be,(d=function(e){c.insert(e)},function(e){e.root||(e=e.return)&&d(e)})],f=(l=[He,Je].concat(o,p),u=le(l),function(e,t,n,a){for(var r="",o=0;o<u;o++)r+=l[o](e,t,n,a)||"";return r});r=function(e,t,n,a){c=n,Ge(je(e?e+"{"+t.styles+"}":t.styles),f),a&&(m.inserted[t.name]=!0)};var m={key:t,sheet:new Y({key:t,container:a,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:i,registered:{},insert:r};return m.sheet.hydrate(s),m}(e);t.sheet.speedy=function(e){this.isSpeedy=e},t.compat=!0;var n=function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];var r=ut(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 a=t;do{e.insert(t===a?"."+n:"",a,e.sheet,!0),a=a.next}while(void 0!==a)}}(t,r),t.key+"-"+r.name};return{css:n,cx:function(){for(var e=arguments.length,a=new Array(e),r=0;r<e;r++)a[r]=arguments[r];return ft(t.registered,n,mt(a))},injectGlobal:function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];var r=ut(n,t.registered);pt(t,r)},keyframes:function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];var r=ut(n,t.registered),o="animation-"+r.name;return pt(t,{name:r.name,styles:"@keyframes "+o+"{"+r.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:dt.bind(null,t.registered),merge:ft.bind(null,t.registered,n)}}({key:"css"}),gt=(ht.flush,ht.hydrate,ht.cx),vt=(ht.merge,ht.getRegisteredStyles,ht.injectGlobal,ht.keyframes),bt=ht.css;function yt(e){const{isAvailable:t,openAssistant:n}=X();return t&&n?s().createElement(wt,{...e,openAssistant:n}):null}function wt({prompt:e,origin:t,context:n,autoSend:a=!0,title:r="Analyze with Assistant",size:c="sm",iconOnlyButton:l=!1,openAssistant:u,onClick:d}){const p=(0,Z.useStyles2)(xt);return(0,i.useEffect)((()=>{(0,o.reportInteraction)("grafana_assistant_app_open_sidebar_button_displayed",{from:t})}),[t]),s().createElement(s().Fragment,null,l?s().createElement(Z.IconButton,{name:"ai-sparkle",onClick:()=>{null==d||d(),u({prompt:e,context:n,autoSend:a,origin:t})},variant:"secondary",size:c,"aria-label":r,className:p.icon,tooltip:r,"data-testid":"assistant-icon-button"}):s().createElement(Z.Button,{icon:"ai-sparkle",onClick:()=>{null==d||d(),u({prompt:e,context:n,autoSend:a,origin:t})},variant:"secondary",fill:"solid",size:c,title:r,"aria-label":r,className:p.button,"data-testid":"assistant-button"},r))}ht.sheet,ht.cache;const xt=e=>{const t=e.colors.secondary.main,n=e.colors.emphasize(t,.05),a=e.colors.background.canvas,r=e.shape.radius.default,o=`max(calc(${r} - 1px), 1px)`,i={content:'""',position:"absolute",inset:0,borderRadius:r,background:"linear-gradient(90deg, rgb(168, 85, 247), rgb(249, 115, 22))",zIndex:-2,pointerEvents:"none"},s=e=>({content:'""',position:"absolute",inset:"1px",borderRadius:o,background:`linear-gradient(${e}, ${e}), ${a}`,zIndex:-1,transition:"none",pointerEvents:"none"});return{button:bt({label:"assistant-button",position:"relative",isolation:"isolate",border:"none",transition:"none !important","&::before":i,"&::after":{...s(t),transition:"none"},"&:hover":{transition:"none !important"},"&:hover::after":{background:`linear-gradient(${n}, ${n}), ${a}`}}),icon:bt({label:"assistant-icon",position:"relative",isolation:"isolate",border:"none",background:"none",padding:e.spacing(.5),"&::before":{...i,transition:"background 0.1s ease"},"&:hover::after":{...s(t),background:`linear-gradient(${n}, ${n}), ${a}`}})}};function kt(e){const{isAvailable:t,openAssistant:n}=X();return t&&n?s().createElement(At,{...e,openAssistant:n}):null}function At({prompt:e,origin:t,context:n,autoSend:a=!0,title:r="Chat with Assistant",size:c="sm",onClick:l,menuItems:u,tooltip:d,openAssistant:p}){const f=(0,Z.useStyles2)(Et);(0,i.useEffect)((()=>{(0,o.reportInteraction)("grafana_assistant_app_open_sidebar_split_button_displayed",{from:t})}),[t]);const m=s().createElement("div",{className:f.wrapper},s().createElement(Z.ButtonGroup,{className:f.buttonGroup},s().createElement(Z.Button,{icon:"ai-sparkle",onClick:()=>{null==l||l(),p({prompt:e,context:n,autoSend:a,origin:t})},variant:"secondary",fill:"solid",size:c,"aria-label":r,"data-testid":"assistant-split-button-main"},r),u&&s().createElement(Z.Dropdown,{overlay:u},s().createElement(Z.Button,{variant:"secondary",icon:"angle-down",size:c,"aria-label":"More AI actions",className:f.dropdownButton,"data-testid":"assistant-split-button-dropdown"}))));return d?s().createElement(Z.Tooltip,{content:d},m):m}const Et=e=>{const t=e.colors.secondary.main,n=e.colors.emphasize(t,.05),a=e.colors.background.canvas,r=e.shape.radius.default;return{wrapper:bt({label:"assistant-split-button-wrapper",position:"relative",isolation:"isolate",display:"inline-block","&::before":{content:'""',position:"absolute",inset:0,borderRadius:r,background:"linear-gradient(90deg, rgb(168, 85, 247), rgb(249, 115, 22))",zIndex:-1,pointerEvents:"none"},"&::after":{content:'""',position:"absolute",inset:"1px",borderRadius:`max(calc(${r} - 1px), 1px)`,background:`linear-gradient(${t}, ${t}), ${a}`,zIndex:-1,pointerEvents:"none"},"&:hover::after":{background:`linear-gradient(${n}, ${n}), ${a}`}}),buttonGroup:bt({label:"assistant-split-button-group",gap:0,position:"relative",zIndex:1,"& button":{border:"none",background:"transparent !important","&:hover":{background:"transparent !important"}}}),dropdownButton:bt({padding:"0 6px"})}},$t="__grafanaAssistantInlineFactory__",Ct="__grafanaAssistantInlineInitializer__",It="__grafanaAssistantInlineInitPromise__";function _t(e){const t=window[$t];t&&t!==e?console.warn("InlineAssistant factory already set; ignoring subsequent setInlineAssistantFactory call"):t||(window[$t]=e)}function St(e){const t=window[Ct];t&&t!==e?console.warn("InlineAssistant initializer already set; ignoring subsequent setInlineAssistantInitializer call"):t||(window[Ct]=e)}async function Nt(){if(window[$t])return;const e=window[Ct];if(!e)throw new Error("InlineAssistant not initialized. Make sure the Grafana Assistant plugin is loaded and initialized.");const t=window[It];if(t)return t;const n=(async()=>{try{await e()}catch(e){throw window[It]=null,e}})();return window[It]=n,n}function Tt(){const e=window[$t];if(!e)throw new Error("InlineAssistant factory not initialized. Make sure the Grafana Assistant plugin is loaded.");return e}function Lt(){const[e,t]=(0,i.useState)(!1),[n,a]=(0,i.useState)(""),[r,o]=(0,i.useState)(null),s=(0,i.useRef)(null),c=(0,i.useCallback)((()=>{o(null),a("")}),[]),l=(0,i.useCallback)((()=>{s.current&&s.current.cancel(),t(!1)}),[]),u=(0,i.useCallback)((async e=>{var n;o(null),a(""),t(!0);try{await Nt();const n=Tt();s.current||(s.current=await n(e.origin)),await s.current.sendPrompt({prompt:e.prompt,systemPrompt:e.systemPrompt,onStart:()=>{t(!0)},onDelta:t=>{var n;a((e=>e+t)),null===(n=e.onDelta)||void 0===n||n.call(e,t)},onComplete:n=>{var r;a(n),t(!1),null===(r=e.onComplete)||void 0===r||r.call(e,n)},onError:n=>{var a;o(n),t(!1),null===(a=e.onError)||void 0===a||a.call(e,n)}})}catch(a){const r=a instanceof Error?a:new Error(String(a));o(r),t(!1),null===(n=e.onError)||void 0===n||n.call(e,r)}}),[]);return(0,i.useEffect)((()=>()=>{s.current&&(s.current.cancel(),s.current.dispose(),s.current=null)}),[]),{generate:u,isGenerating:e,content:n,error:r,cancel:l,reset:c}}const Pt=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,a)=>{const r=Array.from({length:101},((e,t)=>t)),o={},[i,s]=Pt(e),c=null!=n?n:i,l=null!=a?a:s;return r.forEach((e=>{o[`${e}%`]={backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from ${3.6*e}deg, transparent 60%, ${c} 80%, ${l} 100%, transparent 15%)\n `}})),o};function Ot({value:e,onChange:t,placeholder:n,origin:a,systemPrompt:r,onComplete:o,onError:i,onDelta:c,disabled:l=!1,className:u,"data-testid":d}){const{generate:p,isGenerating:f,error:m,reset:h}=Lt(),g=!e.trim()||l||f,v=(0,Z.useStyles2)(zt),b=async()=>{if(g)return;const t=e.trim();h(),await p({prompt:t,origin:a,systemPrompt:r,onComplete:e=>{null==o||o(e)},onError:e=>{null==i||i(e)},onDelta:e=>{null==c||c(e)}})},y=s().createElement(Z.IconButton,{name:"ai-sparkle",onClick:b,disabled:g,tooltip:g?"Enter text to generate":"Generate with AI","data-testid":d?`${d}-send`:void 0});return s().createElement("div",{className:gt(v.wrapper,{[v.animatedWrapper]:f},u),"data-testid":d},s().createElement(Z.Input,{value:e,onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),b())},onChange:e=>t(e.currentTarget.value),placeholder:null!=n?n:"Ask AI to generate...",disabled:l||f,suffix:y,invalid:!!m,"data-testid":d?`${d}-input`:void 0}))}const zt=e=>{const t=e.colors.background.primary,n=vt({label:"ai-input-border-animation",...Ut(e,t)}),[a,r]=Pt(e);return{wrapper:bt({label:"ai-text-input-wrapper",position:"relative",borderRadius:e.shape.radius.default}),animatedWrapper:bt({label:"ai-text-input-animated",border:"1px solid transparent",backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from 0deg, transparent 60%, ${a} 80%, ${r} 100%, transparent 15%)\n `,backgroundOrigin:"border-box",backgroundClip:"padding-box, border-box",animation:`${n} 2s linear infinite`,"& input":{border:"none !important"}})}};function Dt({value:e,onChange:t,placeholder:n,origin:a,systemPrompt:r,onComplete:o,onError:i,onDelta:c,disabled:l=!1,rows:u=4,className:d,"data-testid":p}){const{generate:f,isGenerating:m,error:h,reset:g}=Lt(),v=!e.trim()||l||m,b=(0,Z.useStyles2)(Rt),y=async()=>{if(v)return;const t=e.trim();g(),await f({prompt:t,origin:a,systemPrompt:r,onComplete:e=>{null==o||o(e)},onError:e=>{null==i||i(e)},onDelta:e=>{null==c||c(e)}})};return s().createElement("div",{className:gt(b.textareaWrapper,{[b.animatedWrapper]:m},d),"data-testid":p},s().createElement(Z.TextArea,{value:e,onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())},onChange:e=>t(e.currentTarget.value),placeholder:null!=n?n:"Ask AI to generate... (Cmd/Ctrl+Enter to send)",disabled:l||m,rows:u,className:b.textarea,invalid:!!h,"data-testid":p?`${p}-textarea`:void 0}),s().createElement(Z.IconButton,{name:"ai-sparkle",onClick:y,disabled:v,className:b.sendButton,"aria-label":"Generate with AI",tooltip:v?"Enter text to generate":"Generate with AI (Cmd/Ctrl+Enter)","data-testid":p?`${p}-send`:void 0}))}const Rt=e=>{const t=e.colors.background.primary,n=vt({label:"ai-textarea-border-animation",...Ut(e,t)}),[a,r]=Pt(e);return{textareaWrapper:bt({label:"ai-textarea-wrapper",position:"relative",borderRadius:e.shape.radius.default}),animatedWrapper:bt({label:"ai-textarea-animated",border:"1px solid transparent",backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from 0deg, transparent 60%, ${a} 80%, ${r} 100%, transparent 15%)\n `,backgroundOrigin:"border-box",backgroundClip:"padding-box, border-box",animation:`${n} 2s linear infinite`,"& textarea":{border:"none !important"}}),textarea:bt({label:"ai-textarea",paddingRight:e.spacing(4),scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),sendButton:bt({label:"ai-textarea-send",position:"absolute",right:e.spacing(1),top:e.spacing(1)})}};module.exports=t})();
2
2
  //# sourceMappingURL=index.js.map