@grafana/assistant 0.1.1 → 0.1.2

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 CHANGED
@@ -570,9 +570,94 @@ A pre-built React component that renders a button to open the Grafana Assistant
570
570
  - `title?: string` - Text to display on the button (defaults to `'Analyze with Assistant'`)
571
571
  - `size?: 'xs' | 'sm' | 'md' | 'lg'` - Button size (defaults to `'sm'`)
572
572
  - `iconOnlyButton?: boolean` - If `true`, renders as an icon-only button with tooltip (defaults to `false`)
573
- - `onClick?`- Function to call when the button is clicked (defaults to undefined)
574
573
 
575
- **Returns:** JSX element or `null` if assistant is not available
574
+ #### `<AITextInput />`
575
+
576
+ An AI-powered text input component that uses the inline assistant to generate content. Features a gradient border animation while generating and an integrated send button. Perfect for generating short-form content like titles, labels, or names.
577
+
578
+ **Parameters:**
579
+
580
+ - `value: string` - **Required** The current value of the input (controlled component)
581
+ - `onChange: (value: string) => void` - **Required** Called when the input value changes
582
+ - `origin: string` - **Required** Origin for analytics tracking (e.g., 'grafana/panel-editor/title')
583
+ - `placeholder?: string` - Placeholder text (defaults to 'Ask AI to generate...')
584
+ - `systemPrompt?: string` - Optional system prompt to guide the assistant's behavior
585
+ - `onComplete?: (text: string) => void` - Callback when generation completes successfully
586
+ - `onError?: (error: Error) => void` - Callback if an error occurs during generation
587
+ - `onDelta?: (delta: string) => void` - Callback for streaming tokens as they are received during generation
588
+ - `disabled?: boolean` - Whether the input is disabled
589
+ - `className?: string` - Additional CSS class name
590
+ - `data-testid?: string` - Test ID for testing
591
+
592
+ **Example:**
593
+
594
+ ```typescript
595
+ import { AITextInput } from '@grafana/assistant';
596
+ import { useState } from 'react';
597
+
598
+ function PanelEditor() {
599
+ const [title, setTitle] = useState('');
600
+
601
+ return (
602
+ <AITextInput
603
+ value={title}
604
+ onChange={setTitle}
605
+ origin="grafana/panel-editor/title"
606
+ systemPrompt="Generate a concise, descriptive panel title. Return only the title text."
607
+ placeholder="Ask AI to generate a title..."
608
+ onComplete={(text) => {
609
+ setTitle(text); // Update state to display the generated text
610
+ console.log('Generated:', text);
611
+ }}
612
+ />
613
+ );
614
+ }
615
+ ```
616
+
617
+ #### `<AITextArea />`
618
+
619
+ An AI-powered textarea component that uses the inline assistant to generate longer content. Features a gradient border animation while generating and an integrated send button. Use Cmd/Ctrl+Enter to submit. Ideal for descriptions, documentation, or multi-line content generation.
620
+
621
+ **Parameters:**
622
+
623
+ - `value: string` - **Required** The current value of the textarea (controlled component)
624
+ - `onChange: (value: string) => void` - **Required** Called when the textarea value changes
625
+ - `origin: string` - **Required** Origin for analytics tracking (e.g., 'grafana/panel-editor/description')
626
+ - `placeholder?: string` - Placeholder text (defaults to 'Ask AI to generate... (Cmd/Ctrl+Enter to send)')
627
+ - `systemPrompt?: string` - Optional system prompt to guide the assistant's behavior
628
+ - `onComplete?: (text: string) => void` - Callback when generation completes successfully
629
+ - `onError?: (error: Error) => void` - Callback if an error occurs during generation
630
+ - `onDelta?: (delta: string) => void` - Callback for streaming tokens as they are received during generation
631
+ - `disabled?: boolean` - Whether the textarea is disabled
632
+ - `rows?: number` - Number of rows for the textarea (defaults to 4)
633
+ - `className?: string` - Additional CSS class name
634
+ - `data-testid?: string` - Test ID for testing
635
+
636
+ **Example:**
637
+
638
+ ```typescript
639
+ import { AITextArea } from '@grafana/assistant';
640
+ import { useState } from 'react';
641
+
642
+ function DashboardEditor() {
643
+ const [description, setDescription] = useState('');
644
+
645
+ return (
646
+ <AITextArea
647
+ value={description}
648
+ onChange={setDescription}
649
+ origin="grafana/dashboard-editor/description"
650
+ systemPrompt="Generate a clear dashboard description in 2-3 sentences."
651
+ placeholder="Ask AI to generate a description... (Cmd/Ctrl+Enter to send)"
652
+ rows={6}
653
+ onComplete={(text) => {
654
+ setDescription(text); // Update state to display the generated text
655
+ console.log('Generated:', text);
656
+ }}
657
+ />
658
+ );
659
+ }
660
+ ```
576
661
 
577
662
  ### Availability Functions
578
663
 
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { ChatContextItem } from '../context/types';
3
- import { OpenAssistantProps } from '../sidebar';
2
+ import { ChatContextItem } from '../../context/types';
3
+ import { OpenAssistantProps } from '../../sidebar';
4
4
  export interface OpenAssistantButtonProps {
5
5
  /** Prompt to pass to the openAssistant function. */
6
6
  prompt: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAssistantButton.d.ts","sourceRoot":"","sources":["../../../src/components/button/OpenAssistantButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAGzC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,MAAM,WAAW,wBAAwB;IACvC,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,iUAAiU;IACjU,MAAM,EAAE,MAAM,CAAC;IACf,iIAAiI;IACjI,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,6FAA6F;IAC7F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,4BAOlE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,MAAM,EACN,MAAM,EACN,OAAO,EACP,QAAe,EACf,KAAgC,EAChC,IAAW,EACX,cAAsB,EACtB,aAAa,EACb,OAAO,GACR,EAAE,wBAAwB,GAAG;IAC5B,aAAa,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACpD,qBA6CA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAssistantButton.stories.d.ts","sourceRoot":"","sources":["../../../src/components/button/OpenAssistantButton.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,uBAAuB,CA0B9C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEtD,eAAO,MAAM,OAAO,EAAE,KASrB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAStB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KASzB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KASzB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAgC5B,CAAC"}
@@ -1,2 +1,4 @@
1
- export { OpenAssistantButton, type OpenAssistantButtonProps } from './OpenAssistantButton';
1
+ export { OpenAssistantButton, type OpenAssistantButtonProps } from './button/OpenAssistantButton';
2
+ export { AITextInput, type AITextInputProps } from './input/AITextInput';
3
+ export { AITextArea, type AITextAreaProps } from './input/AITextArea';
2
4
  //# 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,uBAAuB,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,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { AIInputProps } from './types';
3
+ export interface AITextAreaProps extends AIInputProps {
4
+ /** Number of rows for the textarea */
5
+ rows?: number;
6
+ }
7
+ /**
8
+ * An AI-powered controlled textarea component that uses the Grafana Assistant engine to generate content.
9
+ * Features an integrated send button as well as a gradient border animation while generating.
10
+ */
11
+ export declare function AITextArea({ value, onChange, placeholder, origin, systemPrompt, onComplete, onError, onDelta, disabled, rows, className, 'data-testid': dataTestId, }: AITextAreaProps): React.JSX.Element;
12
+ //# sourceMappingURL=AITextArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AITextArea.d.ts","sourceRoot":"","sources":["../../../src/components/input/AITextArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAM7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,MAAM,EACN,YAAY,EACZ,UAAU,EACV,OAAO,EACP,OAAO,EACP,QAAgB,EAChB,IAAQ,EACR,SAAS,EACT,aAAa,EAAE,UAAU,GAC1B,EAAE,eAAe,qBAkEjB"}
@@ -0,0 +1,26 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { AITextArea } from './AITextArea';
3
+ declare const meta: Meta<typeof AITextArea>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AITextArea>;
6
+ /**
7
+ * Basic usage with controlled state
8
+ */
9
+ export declare const Basic: Story;
10
+ /**
11
+ * Larger textarea for longer content
12
+ */
13
+ export declare const LargeTextArea: Story;
14
+ /**
15
+ * Disabled state
16
+ */
17
+ export declare const Disabled: Story;
18
+ /**
19
+ * Custom width
20
+ */
21
+ export declare const CustomWidth: Story;
22
+ /**
23
+ * With error handling
24
+ */
25
+ export declare const WithErrorHandling: Story;
26
+ //# sourceMappingURL=AITextArea.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AITextArea.stories.d.ts","sourceRoot":"","sources":["../../../src/components/input/AITextArea.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAyCjC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,UAAU,CAAC,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,KA6BnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAuB3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KAatB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAazB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAiD/B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { AIInputProps } from './types';
3
+ export interface AITextInputProps extends AIInputProps {
4
+ }
5
+ /**
6
+ * An AI-powered controlled text input component that uses the Grafana Assistant engine to generate content.
7
+ * Features an integrated send button as well as a gradient border animation while generating.
8
+ */
9
+ export declare function AITextInput({ value, onChange, placeholder, origin, systemPrompt, onComplete, onError, onDelta, disabled, className, 'data-testid': dataTestId, }: AITextInputProps): React.JSX.Element;
10
+ //# sourceMappingURL=AITextInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AITextInput.d.ts","sourceRoot":"","sources":["../../../src/components/input/AITextInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAM7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,gBAAiB,SAAQ,YAAY;CAAG;AAEzD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,WAAW,EACX,MAAM,EACN,YAAY,EACZ,UAAU,EACV,OAAO,EACP,OAAO,EACP,QAAgB,EAChB,SAAS,EACT,aAAa,EAAE,UAAU,GAC1B,EAAE,gBAAgB,qBA+DlB"}
@@ -0,0 +1,22 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { AITextInput } from './AITextInput';
3
+ declare const meta: Meta<typeof AITextInput>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AITextInput>;
6
+ /**
7
+ * Basic usage with controlled state
8
+ */
9
+ export declare const Basic: Story;
10
+ /**
11
+ * Disabled state
12
+ */
13
+ export declare const Disabled: Story;
14
+ /**
15
+ * Custom width
16
+ */
17
+ export declare const CustomWidth: Story;
18
+ /**
19
+ * With error handling
20
+ */
21
+ export declare const WithErrorHandling: Story;
22
+ //# sourceMappingURL=AITextInput.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AITextInput.stories.d.ts","sourceRoot":"","sources":["../../../src/components/input/AITextInput.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAqClC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,KA0BnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KAatB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAazB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAsC/B,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface AIInputProps {
2
+ value: string;
3
+ onChange: (value: string) => void;
4
+ placeholder?: string;
5
+ origin: string;
6
+ systemPrompt?: string;
7
+ onComplete?: (text: string) => void;
8
+ onError?: (error: Error) => void;
9
+ onDelta?: (delta: string) => void;
10
+ disabled?: boolean;
11
+ className?: string;
12
+ 'data-testid'?: string;
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/input/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
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,{ASSISTANT_PLUGIN_ID:()=>z,ASSISTANT_PLUGIN_TITLE:()=>q,CALLBACK_EXTENSION_POINT:()=>O,ComponentNodeData:()=>y,DashboardNodeData:()=>k,DatasourceNodeData:()=>A,EntityNodeData:()=>$,FolderNodeData:()=>E,LabelNameNodeData:()=>S,LabelValueNodeData:()=>C,OpenAssistantButton:()=>mt,StructuredNodeData:()=>a,closeAssistant:()=>W,createAssistantContextItem:()=>I,ensureInlineAssistantInitialized:()=>Et,getExposeAssistantFunctionsConfig:()=>R,getInlineAssistantFactory:()=>At,isAssistantAvailable:()=>D,newFunctionNamespace:()=>M,openAssistant:()=>Q,provideComponents:()=>x,providePageContext:()=>h,provideQuestions:()=>L,setInlineAssistantFactory:()=>xt,setInlineAssistantInitializer:()=>kt,toggleAssistant:()=>H,useAssistant:()=>J,useInlineAssistant:()=>$t,usePageComponents:()=>w,usePageContext:()=>v,useProvidePageContext:()=>m,useProvideQuestions:()=>_,useQuestions:()=>U});class r{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 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,data:this.data}}}const s=require("@grafana/runtime"),i=require("react");var o=e.n(i);const c=[],u="grafana-assistant:page-context-sync",l="grafana-assistant:page-context-update",d="grafana-assistant:page-context-remove",p="grafana-assistant:location-changed";let f=!1;function h(e,t){const n={id:g(),urlPattern:e,context:[...t]};c.push(n),window.dispatchEvent(new CustomEvent(l,{detail:n})),window.dispatchEvent(new CustomEvent(u,{detail:{registry:c}}));const r=e=>{const t=c.findIndex((e=>e.id===n.id));-1!==t&&(c[t].context=[...e],window.dispatchEvent(new CustomEvent(l,{detail:c[t]})))};return r.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}})))},r}function m(e,t=[]){const n=(0,i.useRef)(void 0),r=(0,i.useRef)(t);return r.current=t,(0,i.useEffect)((()=>(n.current=h(e,r.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 v(e={allowQuestions:!1,allowComponents:!1}){const[t,n]=(0,i.useState)([]),r=(0,s.useLocationService)(),a=(0,i.useRef)("");(0,i.useEffect)((()=>{const e=()=>{const e=function(e,t){if(!e)return[];const n=[];for(const r of t)b(e,r.urlPattern)&&n.push(...r.context);return n}(r.getLocation().pathname,c);n(e)},t=()=>{e()},s=t=>{var n;const a=null===(n=t.detail)||void 0===n?void 0:n.pathname;a&&a===r.getLocation().pathname&&e()},i=r.getLocationObservable().subscribe((t=>{const n=t.pathname;n!==a.current&&(a.current=n,function(e){window.dispatchEvent(new CustomEvent(p,{detail:{pathname:e}}))}(n),e())}));return e(),window.addEventListener(u,t),window.addEventListener(l,t),window.addEventListener(d,t),window.addEventListener(p,s),()=>{i.unsubscribe(),window.removeEventListener(u,t),window.removeEventListener(l,t),window.removeEventListener(d,t),window.removeEventListener(p,s)}}),[r]);let o=t;return e.allowQuestions||(o=o.filter((e=>{var t;return"question"!==(null===(t=e.node.data)||void 0===t?void 0:t.type)}))),e.allowComponents||(o=o.filter((e=>{var t;return"component"!==(null===(t=e.node.data)||void 0===t?void 0:t.type)}))),o}function g(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(u,(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(l,(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 r{constructor(e){const t=e.namespace||"components";super({...e,id:`${t}-${Object.keys(e.components).join("-")}`,type:"component"}),this.components=e.components,this.prompt=e.prompt,this.namespace=t}formatForLLM(e){return{type:this.type,codeElementIds:e,data:{name:`${this.namespace} components`,prompt:this.prompt,namespace:this.namespace}}}}function w(){const e=v({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,r])=>{t[`${e}_${n}`]=r}))}})),t}),[e])}function x(e,t,n,r=/.*/){return h(r,[I("component",{components:n,prompt:e,namespace:t})])}class k 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,data:{name:this.dashboardTitle,dashboardUid:this.dashboardUid,dashboardTitle:this.dashboardTitle,folderUid:this.folderUid,folderTitle:this.folderTitle,text:this.text}}}}class E 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,data:{name:this.folderTitle,folderUid:this.folderUid,folderTitle:this.folderTitle,text:this.text}}}}class A 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,data:{name:this.datasourceName,uid:this.datasourceUid,type:this.datasourceType,text:this.text,img:this.img}}}}class $ 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,data:{name:this.name,text:this.text,type:this.entityType,scope:this.scope,properties:this.properties}}}}class S 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,data:{name:this.labelName,datasourceUid:this.datasourceUid,datasourceType:this.datasourceType,datasourceName:this.datasourceName,labelName:this.labelName,img:this.img,text:this.text}}}}class C extends r{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,r,a,i;const o=(0,s.getDataSourceSrv)().getInstanceSettings(e);return{datasourceType:null!==(t=null==o?void 0:o.type)&&void 0!==t?t:"unknown",datasourceName:null!==(n=null==o?void 0:o.name)&&void 0!==n?n:e,img:null===(i=null===(a=null===(r=null==o?void 0:o.meta)||void 0===r?void 0:r.info)||void 0===a?void 0:a.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 I(e,t){var n,s,i;const o=function(e,t){switch(e){case"datasource":return new A({...t,...N(t.datasourceUid)});case"label_name":return new S({...t,...N(t.datasourceUid)});case"label_value":return new C({...t,...N(t.datasourceUid)});case"dashboard":return new k(t);case"dashboard_folder":return new E(t);case"structured":return new a(t);case"component":return new y({...t,hidden:!0});case"entity":return new $(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"}(o),u=null!==(s=t.img)&&void 0!==s?s:function(e){if("img"in e)return e.img}(o);return{node:{id:o.id,name:c,img:u,icon:null!==(i=t.icon)&&void 0!==i?i:T[e],navigable:!1,selectable:!0,data:o},occurrences:[]}}function L(e,t){const n=g("question"),r=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:[]}))),a=h(e,r(t)),s=e=>{a(r(e))};return s.unregister=a.unregister,s}function _(e,t=[]){const n=(0,i.useMemo)((()=>g("question")),[]),r=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:[]}))),a=m(e,r(t));return e=>{a(r(e))}}function U(){const e=v({allowQuestions:!0,allowComponents:!1});return P(e)}const P=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 M(e,t){return{namespace:e,functions:t}}function R(e){return{title:"callback",targets:[O],fn:()=>e.map((e=>({namespace:e.namespace,functions:e.functions})))}}const j=require("rxjs"),z="grafana-assistant-app",q="Grafana Assistant";function D(){if(!s.getObservablePluginLinks)return(0,j.of)(!1);return(0,s.getObservablePluginLinks)({extensionPointId:"grafana/extension-sidebar/v0-alpha"}).pipe((0,j.map)((e=>e.some((e=>e.pluginId===z&&e.title===q)))))}const F=require("@grafana/data");class G extends F.BusEventWithPayload{}G.type="open-extension-sidebar";class B extends F.BusEventBase{}B.type="close-extension-sidebar";class V extends F.BusEventWithPayload{}function Q(e){var t,n;(0,s.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 G({pluginId:e,componentTitle:t,props:n});(0,s.getAppEvents)().publish(r)}(z,q,{initialPrompt:e.prompt,initialContext:e.context,initialAutoSend:null===(n=e.autoSend)||void 0===n||n,origin:e.origin,initialMode:e.mode})}function W(){!function(){const e=new B;(0,s.getAppEvents)().publish(e)}()}function H(e){var t,n;(0,s.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 V({pluginId:e,componentTitle:t,props:n});(0,s.getAppEvents)().publish(r)}(z,q,{initialPrompt:e.prompt,initialContext:e.context,initialAutoSend:null===(n=e.autoSend)||void 0===n||n,origin:e.origin,initialMode:e.mode})}function J(){const[e,t]=(0,i.useState)(!1);return(0,i.useEffect)((()=>{const e=D().subscribe((e=>t(e)));return()=>{e.unsubscribe()}}),[]),{isAvailable:e,openAssistant:e?Q:void 0,closeAssistant:e?W:void 0,toggleAssistant:e?H:void 0}}V.type="toggle-extension-sidebar";const K=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 re(e,t){return e.indexOf(t)}function ae(e,t){return 0|e.charCodeAt(t)}function se(e,t,n){return e.slice(t,n)}function ie(e){return e.length}function oe(e){return e.length}function ce(e,t){return t.push(e),e}var ue=1,le=1,de=0,pe=0,fe=0,he="";function me(e,t,n,r,a,s,i){return{value:e,root:t,parent:n,type:r,props:a,children:s,line:ue,column:le,length:i,return:""}}function ve(e,t){return ee(me("",null,null,"",null,null,0),e,{length:-e.length},t)}function ge(){return fe=pe>0?ae(he,--pe):0,le--,10===fe&&(le=1,ue--),fe}function be(){return fe=pe<de?ae(he,pe++):0,le++,10===fe&&(le=1,ue++),fe}function ye(){return ae(he,pe)}function we(){return pe}function xe(e,t){return se(he,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 ue=le=1,de=ie(he=e),pe=0,[]}function Ae(e){return he="",e}function $e(e){return te(xe(pe-1,Ne(91===e?e+2:40===e?e+1:e)))}function Se(e){for(;(fe=ye())&&fe<33;)be();return ke(e)>2||ke(fe)>3?"":" "}function Ce(e,t){for(;--t&&be()&&!(fe<48||fe>102||fe>57&&fe<65||fe>70&&fe<97););return xe(e,we()+(t<6&&32==ye()&&32==be()))}function Ne(e){for(;be();)switch(fe){case e:return pe;case 34:case 39:34!==e&&39!==e&&Ne(fe);break;case 40:41===e&&Ne(e);break;case 92:be()}return pe}function Te(e,t){for(;be()&&e+fe!==57&&(e+fe!==84||47!==ye()););return"/*"+xe(t,pe-1)+"*"+Y(47===e?e:be())}function Ie(e){for(;!ke(ye());)be();return xe(e,pe)}var Le="-ms-",_e="-moz-",Ue="-webkit-",Pe="comm",Oe="rule",Me="decl",Re="@keyframes";function je(e,t){for(var n="",r=oe(e),a=0;a<r;a++)n+=t(e[a],a,e,t)||"";return n}function ze(e,t,n,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case Me:return e.return=e.return||e.value;case Pe:return"";case Re:return e.return=e.value+"{"+je(e.children,r)+"}";case Oe:e.value=e.props.join(",")}return ie(n=je(e.children,r))?e.return=e.value+"{"+n+"}":""}function qe(e){return Ae(De("",null,null,null,[""],e=Ee(e),0,[0],e))}function De(e,t,n,r,a,s,i,o,c){for(var u=0,l=0,d=i,p=0,f=0,h=0,m=1,v=1,g=1,b=0,y="",w=a,x=s,k=r,E=y;v;)switch(h=b,b=be()){case 40:if(108!=h&&58==ae(E,d-1)){-1!=re(E+=ne($e(b),"&","&\f"),"&\f")&&(g=-1);break}case 34:case 39:case 91:E+=$e(b);break;case 9:case 10:case 13:case 32:E+=Se(h);break;case 92:E+=Ce(we()-1,7);continue;case 47:switch(ye()){case 42:case 47:ce(Ge(Te(be(),we()),t,n),c);break;default:E+="/"}break;case 123*m:o[u++]=ie(E)*g;case 125*m:case 59:case 0:switch(b){case 0:case 125:v=0;case 59+l:-1==g&&(E=ne(E,/\f/g,"")),f>0&&ie(E)-d&&ce(f>32?Be(E+";",r,n,d-1):Be(ne(E," ","")+";",r,n,d-2),c);break;case 59:E+=";";default:if(ce(k=Fe(E,t,n,u,l,a,o,y,w=[],x=[],d),s),123===b)if(0===l)De(E,t,k,k,w,s,d,o,x);else switch(99===p&&110===ae(E,3)?100:p){case 100:case 108:case 109:case 115:De(e,k,k,r&&ce(Fe(e,k,k,0,0,a,o,y,a,w=[],d),x),a,x,d,o,r?w:x);break;default:De(E,k,k,k,[""],x,0,o,x)}}u=l=f=0,m=g=1,y=E="",d=i;break;case 58:d=1+ie(E),f=h;default:if(m<1)if(123==b)--m;else if(125==b&&0==m++&&125==ge())continue;switch(E+=Y(b),b*m){case 38:g=l>0?1:(E+="\f",-1);break;case 44:o[u++]=(ie(E)-1)*g,g=1;break;case 64:45===ye()&&(E+=$e(be())),p=ye(),l=d=ie(y=E+=Ie(we())),b++;break;case 45:45===h&&2==ie(E)&&(m=0)}}return s}function Fe(e,t,n,r,a,s,i,o,c,u,l){for(var d=a-1,p=0===a?s:[""],f=oe(p),h=0,m=0,v=0;h<r;++h)for(var g=0,b=se(e,d+1,d=Z(m=i[h])),y=e;g<f;++g)(y=te(m>0?p[g]+" "+b:ne(b,/&\f/g,p[g])))&&(c[v++]=y);return me(e,t,n,0===a?Oe:o,c,u,l)}function Ge(e,t,n){return me(e,t,n,Pe,Y(fe),se(e,2,-2),0)}function Be(e,t,n,r){return me(e,t,n,Me,se(e,0,r),se(e,r+1,-1),r)}var Ve=function(e,t,n){for(var r=0,a=0;r=a,a=ye(),38===r&&12===a&&(t[n]=1),!ke(a);)be();return xe(e,pe)},Qe=new WeakMap,We=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)||Qe.get(n))&&!r){Qe.set(e,!0);for(var a=[],s=function(e,t){return Ae(function(e,t){var n=-1,r=44;do{switch(ke(r)){case 0:38===r&&12===ye()&&(t[n]=1),e[n]+=Ve(pe-1,t,n);break;case 2:e[n]+=$e(r);break;case 4:if(44===r){e[++n]=58===ye()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=Y(r)}}while(r=be());return e}(Ee(e),t))}(t,a),i=n.props,o=0,c=0;o<s.length;o++)for(var u=0;u<i.length;u++,c++)e.props[c]=a[o]?s[o].replace(/&\f/g,i[u]):i[u]+" "+s[o]}}},He=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}};function Je(e,t){switch(function(e,t){return 45^ae(e,0)?(((t<<2^ae(e,0))<<2^ae(e,1))<<2^ae(e,2))<<2^ae(e,3):0}(e,t)){case 5103:return Ue+"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 Ue+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Ue+e+_e+e+Le+e+e;case 6828:case 4268:return Ue+e+Le+e+e;case 6165:return Ue+e+Le+"flex-"+e+e;case 5187:return Ue+e+ne(e,/(\w+).+(:[^]+)/,Ue+"box-$1$2"+Le+"flex-$1$2")+e;case 5443:return Ue+e+Le+"flex-item-"+ne(e,/flex-|-self/,"")+e;case 4675:return Ue+e+Le+"flex-line-pack"+ne(e,/align-content|flex-|-self/,"")+e;case 5548:return Ue+e+Le+ne(e,"shrink","negative")+e;case 5292:return Ue+e+Le+ne(e,"basis","preferred-size")+e;case 6060:return Ue+"box-"+ne(e,"-grow","")+Ue+e+Le+ne(e,"grow","positive")+e;case 4554:return Ue+ne(e,/([^-])(transform)/g,"$1"+Ue+"$2")+e;case 6187:return ne(ne(ne(e,/(zoom-|grab)/,Ue+"$1"),/(image-set)/,Ue+"$1"),e,"")+e;case 5495:case 3959:return ne(e,/(image-set\([^]*)/,Ue+"$1$`$1");case 4968:return ne(ne(e,/(.+:)(flex-)?(.*)/,Ue+"box-pack:$3"+Le+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Ue+e+e;case 4095:case 3583:case 4068:case 2532:return ne(e,/(.+)-inline(.+)/,Ue+"$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(ae(e,t+1)){case 109:if(45!==ae(e,t+4))break;case 102:return ne(e,/(.+:)(.+)-([^]+)/,"$1"+Ue+"$2-$3$1"+_e+(108==ae(e,t+3)?"$3":"$2-$3"))+e;case 115:return~re(e,"stretch")?Je(ne(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==ae(e,t+1))break;case 6444:switch(ae(e,ie(e)-3-(~re(e,"!important")&&10))){case 107:return ne(e,":",":"+Ue)+e;case 101:return ne(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Ue+(45===ae(e,14)?"inline-":"")+"box$3$1"+Ue+"$2$3$1"+Le+"$2box$3")+e}break;case 5936:switch(ae(e,t+11)){case 114:return Ue+e+Le+ne(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Ue+e+Le+ne(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Ue+e+Le+ne(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Ue+e+Le+e+e}return e}var Ke=[function(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case Me:e.return=Je(e.value,e.length);break;case Re:return je([ve(e,{value:ne(e.value,"@","@"+Ue)})],r);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 je([ve(e,{props:[ne(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return je([ve(e,{props:[ne(t,/:(plac\w+)/,":"+Ue+"input-$1")]}),ve(e,{props:[ne(t,/:(plac\w+)/,":-moz-$1")]}),ve(e,{props:[ne(t,/:(plac\w+)/,Le+"input-$1")]})],r)}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},rt=Ze((function(e){return tt(e)?e:e.replace(Ye,"-$&").toLowerCase()})),at=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 st(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 it={name:a.name,styles:a.styles,next:it},a.name;var s=n;if(void 0!==s.styles){var i=s.next;if(void 0!==i)for(;void 0!==i;)it={name:i.name,styles:i.styles,next:it},i=i.next;return s.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var a=0;a<n.length;a++)r+=st(e,t,n[a])+";";else for(var s in n){var i=n[s];if("object"!=typeof i){var o=i;null!=t&&void 0!==t[o]?r+=s+"{"+t[o]+"}":nt(o)&&(r+=rt(s)+":"+at(s,o)+";")}else if(!Array.isArray(i)||"string"!=typeof i[0]||null!=t&&void 0!==t[i[0]]){var c=st(e,t,i);switch(s){case"animation":case"animationName":r+=rt(s)+":"+c+";";break;default:r+=s+"{"+c+"}"}}else for(var u=0;u<i.length;u++)nt(i[u])&&(r+=rt(s)+":"+at(s,i[u])+";")}return r}(e,t,n);case"function":if(void 0!==e){var o=it,c=n(e);return it=o,st(e,t,c)}}var u=n;if(null==t)return u;var l=t[u];return void 0!==l?l:u}var it,ot=/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 r=!0,a="";it=void 0;var s=e[0];null==s||void 0===s.raw?(r=!1,a+=st(n,t,s)):a+=s[0];for(var i=1;i<e.length;i++)a+=st(n,t,e[i]),r&&(a+=s[i]);ot.lastIndex=0;for(var o,c="";null!==(o=ot.exec(a));)c+="-"+o[1];var u=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:u,styles:a,next:it}}function ut(e,t,n){var r="";return n.split(" ").forEach((function(n){void 0!==e[n]?t.push(e[n]+";"):n&&(r+=n+" ")})),r}function lt(e,t){if(void 0===e.inserted[t.name])return e.insert("",t,e.sheet,!0)}function dt(e,t,n){var r=[],a=ut(e,r,n);return r.length<2?n:a+t(r)}var pt=function e(t){for(var n="",r=0;r<t.length;r++){var a=t[r];if(null!=a){var s=void 0;switch(typeof a){case"boolean":break;case"object":if(Array.isArray(a))s=e(a);else for(var i in s="",a)a[i]&&i&&(s&&(s+=" "),s+=i);break;default:s=a}s&&(n&&(n+=" "),n+=s)}}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 r,a,s=e.stylisPlugins||Ke,i={},o=[];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++)i[t[n]]=!0;o.push(e)}));var c,u,l,d,p=[ze,(d=function(e){c.insert(e)},function(e){e.root||(e=e.return)&&d(e)})],f=(u=[We,He].concat(s,p),l=oe(u),function(e,t,n,r){for(var a="",s=0;s<l;s++)a+=u[s](e,t,n,r)||"";return a});a=function(e,t,n,r){c=n,je(qe(e?e+"{"+t.styles+"}":t.styles),f),r&&(h.inserted[t.name]=!0)};var h={key:t,sheet:new X({key:t,container:r,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:i,registered:{},insert:a};return h.sheet.hydrate(o),h}(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=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 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 dt(t.registered,n,pt(r))},injectGlobal:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var a=ct(n,t.registered);lt(t,a)},keyframes:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var a=ct(n,t.registered),s="animation-"+a.name;return lt(t,{name:a.name,styles:"@keyframes "+s+"{"+a.styles+"}"}),s},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:ut.bind(null,t.registered),merge:dt.bind(null,t.registered,n)}}({key:"css"}),ht=(ft.flush,ft.hydrate,ft.cx,ft.merge,ft.getRegisteredStyles,ft.injectGlobal,ft.keyframes,ft.css);function mt(e){const{isAvailable:t,openAssistant:n}=J();return t&&n?o().createElement(vt,{...e,openAssistant:n}):null}function vt({prompt:e,origin:t,context:n,autoSend:r=!0,title:a="Analyze with Assistant",size:c="sm",iconOnlyButton:u=!1,openAssistant:l,onClick:d}){const p=(0,K.useStyles2)(gt);return(0,i.useEffect)((()=>{(0,s.reportInteraction)("grafana_assistant_app_open_sidebar_button_displayed",{from:t})}),[t]),o().createElement(o().Fragment,null,u?o().createElement(K.IconButton,{name:"ai-sparkle",onClick:()=>{null==d||d(),l({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"}):o().createElement(K.Button,{icon:"ai-sparkle",onClick:()=>{null==d||d(),l({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))}ft.sheet,ft.cache;const gt=e=>{const t=e.colors.secondary.main,n=e.colors.emphasize(t,.05),r=e.colors.background.canvas,a=e.shape.radius.default,s=`max(calc(${a} - 1px), 1px)`,i={content:'""',position:"absolute",inset:0,borderRadius:a,background:"linear-gradient(90deg, rgb(168, 85, 247), rgb(249, 115, 22))",zIndex:-2,pointerEvents:"none"},o=e=>({content:'""',position:"absolute",inset:"1px",borderRadius:s,background:`linear-gradient(${e}, ${e}), ${r}`,zIndex:-1,transition:"none",pointerEvents:"none"});return{button:ht({label:"assistant-button",position:"relative",isolation:"isolate",border:"none",transition:"none !important","&::before":i,"&::after":{...o(t),transition:"none"},"&:hover":{transition:"none !important"},"&:hover::after":{background:`linear-gradient(${n}, ${n}), ${r}`}}),icon:ht({label:"assistant-icon",position:"relative",isolation:"isolate",border:"none",background:"none",padding:e.spacing(.5),"&::before":{...i,transition:"background 0.1s ease"},"&:hover::after":{...o(t),background:`linear-gradient(${n}, ${n}), ${r}`}})}};let bt=null,yt=null,wt=null;function xt(e){bt=e}function kt(e){yt=e}async function Et(){if(!bt){if(!yt)throw new Error("InlineAssistant not initialized. Make sure the Grafana Assistant plugin is loaded and initialized.");return wt||(wt=(async()=>{try{await yt()}catch(e){throw wt=null,e}})(),wt)}}function At(){if(!bt)throw new Error("InlineAssistant factory not initialized. Make sure the Grafana Assistant plugin is loaded.");return bt}function $t(){const[e,t]=(0,i.useState)(!1),[n,r]=(0,i.useState)(""),[a,s]=(0,i.useState)(null),o=(0,i.useRef)(null),c=(0,i.useCallback)((()=>{s(null),r("")}),[]),u=(0,i.useCallback)((()=>{o.current&&o.current.cancel(),t(!1)}),[]),l=(0,i.useCallback)((async e=>{var n;s(null),r(""),t(!0);try{await Et();const n=At();o.current||(o.current=await n(e.origin)),await o.current.sendPrompt({prompt:e.prompt,systemPrompt:e.systemPrompt,onStart:()=>{t(!0)},onDelta:e=>{r((t=>t+e))},onComplete:n=>{var a;r(n),t(!1),null===(a=e.onComplete)||void 0===a||a.call(e,n)},onError:n=>{var r;s(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));s(a),t(!1),null===(n=e.onError)||void 0===n||n.call(e,a)}}),[]);return(0,i.useEffect)((()=>()=>{o.current&&(o.current.cancel(),o.current.dispose(),o.current=null)}),[]),{generate:l,isGenerating:e,content:n,error:a,cancel:u,reset:c}}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:()=>_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})();
2
2
  //# sourceMappingURL=index.js.map