@grafana/assistant 0.1.23 → 0.1.24
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAIGeneration.d.ts","sourceRoot":"","sources":["../../../src/components/input/useAIGeneration.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,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,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/C;AAED,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,UAAU,EACV,OAAO,EACP,OAAO,EACP,QAAgB,EAChB,YAAoB,EACpB,SAAiB,EACjB,aAAa,GACd,EAAE,sBAAsB;;;;;;
|
|
1
|
+
{"version":3,"file":"useAIGeneration.d.ts","sourceRoot":"","sources":["../../../src/components/input/useAIGeneration.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,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,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/C;AAED,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,UAAU,EACV,OAAO,EACP,OAAO,EACP,QAAgB,EAChB,YAAoB,EACpB,SAAiB,EACjB,aAAa,GACd,EAAE,sBAAsB;;;;;;EA4DxB"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function n(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n);return(t>>>0).toString(16)}e.r(t),e.d(t,{AITextArea:()=>Ht,AITextInput:()=>Qt,ASSISTANT_PLUGIN_ID:()=>Q,ASSISTANT_PLUGIN_TITLE:()=>K,AssistantPromptCard:()=>en,AssistantPromptCardView:()=>tn,CALLBACK_EXTENSION_POINT:()=>z,ComponentNodeData:()=>k,DashboardNodeData:()=>S,DatasourceNodeData:()=>C,EntityNodeData:()=>I,FolderNodeData:()=>$,InvestigationCreatedEvent:()=>M,LIMITS_UPDATED_EVENT:()=>dn,LabelNameNodeData:()=>T,LabelValueNodeData:()=>L,OpenAssistantButton:()=>Ct,OpenAssistantSplitButton:()=>Nt,QueryWithAssistantButton:()=>Zt,SkillNodeData:()=>R,StructuredNodeData:()=>a,TERMS_AND_CONDITIONS_REFRESH_EVENT:()=>sn,checkLimits:()=>mn,checkTerms:()=>cn,closeAssistant:()=>re,createAssistantContextItem:()=>P,createTool:()=>un,emitInvestigationCreated:()=>G,ensureInlineAssistantInitialized:()=>Gt,getExposeAssistantFunctionsConfig:()=>W,getInlineAssistantFactory:()=>Ft,isAssistantAvailable:()=>Z,newFunctionNamespace:()=>j,onInvestigationCreated:()=>F,openAssistant:()=>ne,provideComponents:()=>A,providePageContext:()=>g,provideQuestions:()=>D,setInlineAssistantFactory:()=>Ot,setInlineAssistantInitializer:()=>Mt,toggleAssistant:()=>ae,useAssistant:()=>se,useInlineAssistant:()=>zt,useLimits:()=>fn,usePageComponents:()=>E,usePageContext:()=>y,useProvidePageContext:()=>v,useProvideQuestions:()=>U,useQuestions:()=>q,useTerms:()=>ln});class r{constructor(e){this.params=e,this.text="",this.id=n(e.id),this.type=e.type}get bypassLimits(){var e;return null!==(e=this.params.bypassLimits)&&void 0!==e&&e}formatForLLM(e){var t,n;return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:null!==(t=this.params.text)&&void 0!==t?t:"",text:null!==(n=this.params.text)&&void 0!==n?n:""}}}equals(e){return e instanceof r&&this.id===e.id&&this.type===e.type}}class a extends r{constructor(e){super({...e,id:n(JSON.stringify(e.data)),type:"structured"}),this.data=e.data}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:this.data}}}const s=require("@grafana/runtime"),o=require("react");var i=e.n(o);const c="__grafanaAssistantPageContextRegistry__",l="grafana-assistant:page-context-registry-changed",u="grafana-assistant:page-context-update",d="grafana-assistant:page-context-remove",p="grafana-assistant:page-context-sync";function m(){return window[c]}function f(e,t=!1){window[c]=e,window.dispatchEvent(new CustomEvent(l)),t||window.dispatchEvent(new CustomEvent(p,{detail:{registry:e}}))}window[c]||(window[c]=[]);let h=!1;function g(e,t){var n;(n=e)instanceof RegExp?n.source:"string"!=typeof n||n&&""!==n.trim()||console.warn("useProvidePageContext: Empty string passed as urlPattern. This will cause the context to not match any pages.");const r={id:w(),urlPattern:e,context:[...t]};f([...m(),r]),window.dispatchEvent(new CustomEvent(u,{detail:r}));const a=e=>{const t=m(),n=t.findIndex(e=>e.id===r.id);if(-1!==n){const r=[...t];r[n]={...r[n],context:[...e]},f(r),window.dispatchEvent(new CustomEvent(u,{detail:r[n]}))}};return a.unregister=()=>{const e=m(),t=e.findIndex(e=>e.id===r.id);-1!==t&&(f(e.filter((e,n)=>n!==t)),window.dispatchEvent(new CustomEvent(d,{detail:{id:r.id}})))},a}h||(h=!0,window.addEventListener(u,e=>{const t=e.detail;if(!t||!t.id)return;const n=m(),r=n.findIndex(e=>e.id===t.id);if(-1!==r){const e=[...n];e[r]=t,f(e,!0)}else f([...n,t],!0)}),window.addEventListener(d,e=>{var t;const n=null===(t=e.detail)||void 0===t?void 0:t.id;if(!n)return;const r=m(),a=r.findIndex(e=>e.id===n);-1!==a&&f(r.filter((e,t)=>t!==a),!0)}),window.addEventListener(p,e=>{var t;const n=null===(t=e.detail)||void 0===t?void 0:t.registry;if(!Array.isArray(n))return;const r=m(),a=new Set(r.map(e=>e.id)),s=n.filter(e=>!a.has(e.id));s.length>0&&f([...r,...s],!0)}));const b=[];function v(e,t=b){const n=(0,o.useRef)(void 0),r=(0,o.useRef)(void 0),a=(0,o.useRef)(!1);return(0,o.useEffect)(()=>{a.current=!1;const s=void 0!==r.current?r.current:t;return n.current=g(e,s),void 0!==r.current&&(r.current=void 0),()=>{var e;null===(e=n.current)||void 0===e||e.unregister(),n.current=void 0}},[e]),(0,o.useEffect)(()=>{!a.current&&n.current&&n.current(t)},[t]),(0,o.useCallback)(e=>{a.current=!0,n.current?n.current(e):r.current=e},[])}function y(e={allowQuestions:!1,allowComponents:!1}){const[t,n]=(0,o.useState)([]),r=(0,s.useLocationService)(),a=(0,o.useRef)("");(0,o.useEffect)(()=>{const e=()=>{const e=function(e){if(!e)return[];const t=[],n=m();for(const r of n)x(e,r.urlPattern)&&t.push(...r.context);return t}(r.getLocation().pathname);n(e)},t=()=>{e()},s=r.getLocationObservable().subscribe(t=>{const n=t.pathname;n!==a.current&&(a.current=n,e())});return window.addEventListener(l,t),window.addEventListener(u,t),window.addEventListener(d,t),window.addEventListener(p,t),e(),()=>{s.unsubscribe(),window.removeEventListener(l,t),window.removeEventListener(u,t),window.removeEventListener(d,t),window.removeEventListener(p,t)}},[r]);let i=t;return e.allowQuestions||(i=i.filter(e=>{var t;return"question"!==(null===(t=e.node.data)||void 0===t?void 0:t.type)})),e.allowComponents||(i=i.filter(e=>{var t;return"component"!==(null===(t=e.node.data)||void 0===t?void 0:t.type)})),i}function w(e="page-context"){return`${e}-${Date.now()}-${Math.random().toString(36).slice(2,11)}`}function x(e,t){if(t instanceof RegExp)return t.test(e);if("string"==typeof t){if(!t||""===t.trim())return!1;const n=t.replace(/\*\*/g,"\0DOUBLE_STAR\0").replace(/\*/g,"[^/]*").replace(/\u0000DOUBLE_STAR\u0000/g,".*").replace(/\?/g,".");return new RegExp(`^${n}$`).test(e)}return!1}class k extends r{constructor(e){const t=e.namespace||"components";super({...e,id:`${t}-${Object.keys(e.components).join("-")}`,type:"component"}),this.components=e.components,this.prompt=e.prompt,this.namespace=t}formatForLLM(e){return{type:this.type,codeElementIds:e,data:{name:`Custom UI components (${this.namespace})`,prompt:this.prompt?this.prompt+"\n\nIMPORTANT: The instructions and components described above are scoped to this specific context item only. Do not apply them to unrelated queries or components.":""}}}}function E(){const e=y({allowComponents:!0,allowQuestions:!1});return(0,o.useMemo)(()=>{const t={};return e.filter(e=>{var t;return null===(t=e.node.data)||void 0===t?void 0:t.components}).forEach(e=>{const n=e.node.data;if((null==n?void 0:n.components)&&Object.keys(n.components).length>0){const e=n.namespace||n.name||"components";Object.entries(n.components).forEach(([n,r])=>{t[`${e}_${n}`]=r})}}),t},[e])}function A(e,t,n,r=/.*/){if((a=r)instanceof RegExp?".*"===a.source&&""===a.flags:".*"===a||"/.*/"===a){const r=g(/.*/,[P("component",{components:n,prompt:e,namespace:t})]),a=(e,n)=>{r([P("component",{components:e,prompt:n,namespace:t})])};return a.unregister=r.unregister,a}var a;const s=g(/.*/,[P("component",{components:n,prompt:"",namespace:t})]),o=g(r,[P("component",{components:{},prompt:e,namespace:t})]),i=(e,n)=>{s([P("component",{components:e,prompt:"",namespace:t})]),o([P("component",{components:{},prompt:n,namespace:t})])};return i.unregister=()=>{s.unregister(),o.unregister()},i}class S extends r{constructor(e){super({...e,id:e.dashboardUid,type:"dashboard"}),this.dashboardUid=e.dashboardUid,this.dashboardTitle=e.dashboardTitle,this.folderUid=e.folderUid,this.folderTitle=e.folderTitle,this.text=e.dashboardTitle}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.dashboardTitle,dashboardUid:this.dashboardUid,dashboardTitle:this.dashboardTitle,folderUid:this.folderUid,folderTitle:this.folderTitle,text:this.text}}}}class $ extends r{constructor(e){super({...e,id:e.folderUid,type:"dashboard_folder"}),this.text="",this.folderUid=e.folderUid,this.folderTitle=e.folderTitle,this.text=e.folderTitle}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.folderTitle,folderUid:this.folderUid,folderTitle:this.folderTitle,text:this.text}}}}class C extends r{constructor(e){super({...e,id:e.datasourceUid,type:"datasource"}),this.datasourceUid=e.datasourceUid,this.datasourceType=e.datasourceType,this.datasourceName=e.datasourceName,this.img=e.img,this.text=e.datasourceName}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.datasourceName,uid:this.datasourceUid,type:this.datasourceType,text:this.text}}}}class I extends r{constructor(e){var t,n,r;super({id:`${e.type}-${e.name}-${[null===(t=e.scope)||void 0===t?void 0:t.env,null===(n=e.scope)||void 0===n?void 0:n.site,null===(r=e.scope)||void 0===r?void 0:r.namespace].filter(Boolean).join("-")}`,type:"entity",title:e.title,hidden:e.hidden,img:e.img,icon:e.icon,text:e.name}),this.entityType=e.type,this.name=e.name,this.scope=e.scope,this.properties=e.properties,this.text=e.name}formatForLLM(e){return{type:"entity",codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.name,text:this.text,type:this.entityType,scope:this.scope,properties:this.properties}}}}class T extends r{constructor(e){super({...e,id:`${e.datasourceUid}-${e.labelName}`,type:"label_name"}),this.datasourceUid=e.datasourceUid,this.datasourceType=e.datasourceType,this.datasourceName=e.datasourceName,this.labelName=e.labelName,this.text=e.labelName,this.img=e.img}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.labelName,datasourceUid:this.datasourceUid,datasourceType:this.datasourceType,datasourceName:this.datasourceName,labelName:this.labelName,text:this.text}}}}class L extends r{constructor(e){super({...e,id:`${e.datasourceUid}-${e.labelName}-${e.labelValue}-${e.operator||"="}`,type:"label_value"}),this.datasourceUid=e.datasourceUid,this.datasourceType=e.datasourceType,this.datasourceName=e.datasourceName,this.labelName=e.labelName,this.labelValue=e.labelValue,this.text=e.labelValue,this.img=e.img,this.operator=e.operator||"="}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.labelValue,datasourceUid:this.datasourceUid,datasourceType:this.datasourceType,datasourceName:this.datasourceName,labelName:this.labelName,labelValue:this.labelValue,text:this.text,operator:this.operator}}}}function N(e){var t,n,r,a,o;const i=(0,s.getDataSourceSrv)().getInstanceSettings(e);return{datasourceType:null!==(t=null==i?void 0:i.type)&&void 0!==t?t:"unknown",datasourceName:null!==(n=null==i?void 0:i.name)&&void 0!==n?n:e,img:null===(o=null===(a=null===(r=null==i?void 0:i.meta)||void 0===r?void 0:r.info)||void 0===a?void 0:a.logos)||void 0===o?void 0:o.small}}const _={datasource:"database",label_name:"database",label_value:"database",dashboard:"dashboard",dashboard_folder:"folder",unknown:"circle-mono",structured:"gf-grid",component:"gf-grid",entity:"asserts",skill:"play"};function P(e,t){var n,s,o;const i=function(e,t){switch(e){case"datasource":return new C({...t,...N(t.datasourceUid)});case"label_name":return new T({...t,...N(t.datasourceUid)});case"label_value":return new L({...t,...N(t.datasourceUid)});case"dashboard":return new S(t);case"dashboard_folder":return new $(t);case"structured":return new a(t);case"component":return new k({...t,hidden:!0});case"entity":return new I(t);case"unknown":return new r(t);default:return console.error(`Unknown context type: ${e}`),new r(t)}}(e,t),c=null!==(n=t.title)&&void 0!==n?n:function(e){var t;return e instanceof a?e.formatForLLM().data.name:null!==(t=e.text)&&void 0!==t?t:"Given Context"}(i),l=null!==(s=t.img)&&void 0!==s?s:function(e){if("img"in e)return e.img}(i);return{node:{id:i.id,name:c,img:l,icon:null!==(o=t.icon)&&void 0!==o?o:_[e],navigable:!1,selectable:!0,data:i},occurrences:[]}}class R extends r{constructor(e){super({...e,id:e.skillId,type:"skill",text:e.skillName}),this.skillId=e.skillId,this.skillName=e.skillName,this.text=e.skillName}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.skillName,skillId:this.skillId,skillName:this.skillName,text:this.text}}}}function D(e,t){const n=w("question"),r=e=>e.map((e,t)=>({node:{id:`question-${n}-${t}`,name:e.title||e.prompt,navigable:!1,selectable:!0,icon:"question-circle",data:{type:"question",prompt:e.prompt,title:e.title,context:e.context||[]}},occurrences:[]})),a=g(e,r(t)),s=e=>{a(r(e))};return s.unregister=a.unregister,s}function U(e,t=[]){const n=(0,o.useMemo)(()=>w("question"),[]),r=e=>e.map((e,t)=>{var r;return{node:{id:`question-${n}-${t}`,name:null!==(r=e.title)&&void 0!==r?r:e.prompt,navigable:!1,selectable:!0,icon:"question-circle",data:{type:"question",prompt:e.prompt,title:e.title,context:e.context||[]}},occurrences:[]}}),a=v(e,r(t));return e=>{a(r(e))}}function q(){const e=y({allowQuestions:!0,allowComponents:!1});return B(e)}const B=e=>e.filter(e=>{var t;return"question"===(null===(t=e.node.data)||void 0===t?void 0:t.type)}).map(e=>{var t,n,r;return{prompt:(null===(t=e.node.data)||void 0===t?void 0:t.prompt)||e.node.name,title:null===(n=e.node.data)||void 0===n?void 0:n.title,context:(null===(r=e.node.data)||void 0===r?void 0:r.context)||[]}}),O=require("@grafana/data");class M extends O.BusEventWithPayload{}function G(e){const t=new M({investigationId:e});(0,s.getAppEvents)().publish(t)}function F(e){const t=(0,s.getAppEvents)().subscribe(M,t=>{e(t.payload)});return()=>t.unsubscribe()}M.type="grafana-assistant:investigation-created";const z="grafana-assistant-app/callback/v0-alpha";function j(e,t){return{namespace:e,functions:t}}function W(e){return{title:"callback",targets:[z],fn:()=>e.map(e=>({namespace:e.namespace,functions:e.functions}))}}const V=require("rxjs"),Q="grafana-assistant-app",K="Grafana Assistant",H=10,J=100,X=5e3;function Z(){return s.getObservablePluginLinks?(0,V.defer)(()=>{try{return(0,s.getObservablePluginLinks)({extensionPointId:"grafana/extension-sidebar/v0-alpha"}).pipe((0,V.map)(e=>e.some(e=>e.pluginId===Q&&e.title===K)))}catch(e){return(0,V.throwError)(()=>e)}}).pipe((0,V.retry)({count:H,delay:(e,t)=>{var n;const r=(null===(n=null==e?void 0:e.message)||void 0===n?void 0:n.toLowerCase())||"";if(!(r.includes("can only be used after")||r.includes("grafana instance has started")||r.includes("not started")))throw e;const a=Math.min(J*Math.pow(2,t-1),X);return(0,V.timer)(a)}}),(0,V.catchError)(()=>(0,V.of)(!1))):(0,V.of)(!1)}class Y extends O.BusEventWithPayload{}Y.type="open-extension-sidebar";class ee extends O.BusEventBase{}ee.type="close-extension-sidebar";class te extends O.BusEventWithPayload{}function ne(e){var t,n;(0,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 Y({pluginId:e,componentTitle:t,props:n});(0,s.getAppEvents)().publish(r)}(Q,K,{initialPrompt:e.prompt,initialContext:e.context,initialAutoSend:null===(n=e.autoSend)||void 0===n||n,origin:e.origin,initialMode:e.mode})}function re(){!function(){const e=new ee;(0,s.getAppEvents)().publish(e)}()}function ae(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 te({pluginId:e,componentTitle:t,props:n});(0,s.getAppEvents)().publish(r)}(Q,K,{initialPrompt:e.prompt,initialContext:e.context,initialAutoSend:null===(n=e.autoSend)||void 0===n||n,origin:e.origin,initialMode:e.mode})}function se(){const[e,t]=(0,o.useState)(void 0);(0,o.useEffect)(()=>{const e=Z().subscribe(t);return()=>e.unsubscribe()},[]);const n=null!=e&&e;return{isLoading:void 0===e,isAvailable:n,openAssistant:n?ne:void 0,closeAssistant:n?re:void 0,toggleAssistant:n?ae:void 0}}te.type="toggle-extension-sidebar";const oe=require("@grafana/ui");var ie=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{n.insertRule(e,n.cssRules.length)}catch(e){}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach(function(e){var t;return null==(t=e.parentNode)?void 0:t.removeChild(e)}),this.tags=[],this.ctr=0},e}(),ce=Math.abs,le=String.fromCharCode,ue=Object.assign;function de(e){return e.trim()}function pe(e,t,n){return e.replace(t,n)}function me(e,t){return e.indexOf(t)}function fe(e,t){return 0|e.charCodeAt(t)}function he(e,t,n){return e.slice(t,n)}function ge(e){return e.length}function be(e){return e.length}function ve(e,t){return t.push(e),e}var ye=1,we=1,xe=0,ke=0,Ee=0,Ae="";function Se(e,t,n,r,a,s,o){return{value:e,root:t,parent:n,type:r,props:a,children:s,line:ye,column:we,length:o,return:""}}function $e(e,t){return ue(Se("",null,null,"",null,null,0),e,{length:-e.length},t)}function Ce(){return Ee=ke>0?fe(Ae,--ke):0,we--,10===Ee&&(we=1,ye--),Ee}function Ie(){return Ee=ke<xe?fe(Ae,ke++):0,we++,10===Ee&&(we=1,ye++),Ee}function Te(){return fe(Ae,ke)}function Le(){return ke}function Ne(e,t){return he(Ae,e,t)}function _e(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Pe(e){return ye=we=1,xe=ge(Ae=e),ke=0,[]}function Re(e){return Ae="",e}function De(e){return de(Ne(ke-1,Be(91===e?e+2:40===e?e+1:e)))}function Ue(e){for(;(Ee=Te())&&Ee<33;)Ie();return _e(e)>2||_e(Ee)>3?"":" "}function qe(e,t){for(;--t&&Ie()&&!(Ee<48||Ee>102||Ee>57&&Ee<65||Ee>70&&Ee<97););return Ne(e,Le()+(t<6&&32==Te()&&32==Ie()))}function Be(e){for(;Ie();)switch(Ee){case e:return ke;case 34:case 39:34!==e&&39!==e&&Be(Ee);break;case 40:41===e&&Be(e);break;case 92:Ie()}return ke}function Oe(e,t){for(;Ie()&&e+Ee!==57&&(e+Ee!==84||47!==Te()););return"/*"+Ne(t,ke-1)+"*"+le(47===e?e:Ie())}function Me(e){for(;!_e(Te());)Ie();return Ne(e,ke)}var Ge="-ms-",Fe="-moz-",ze="-webkit-",je="comm",We="rule",Ve="decl",Qe="@keyframes";function Ke(e,t){for(var n="",r=be(e),a=0;a<r;a++)n+=t(e[a],a,e,t)||"";return n}function He(e,t,n,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case Ve:return e.return=e.return||e.value;case je:return"";case Qe:return e.return=e.value+"{"+Ke(e.children,r)+"}";case We:e.value=e.props.join(",")}return ge(n=Ke(e.children,r))?e.return=e.value+"{"+n+"}":""}function Je(e){return Re(Xe("",null,null,null,[""],e=Pe(e),0,[0],e))}function Xe(e,t,n,r,a,s,o,i,c){for(var l=0,u=0,d=o,p=0,m=0,f=0,h=1,g=1,b=1,v=0,y="",w=a,x=s,k=r,E=y;g;)switch(f=v,v=Ie()){case 40:if(108!=f&&58==fe(E,d-1)){-1!=me(E+=pe(De(v),"&","&\f"),"&\f")&&(b=-1);break}case 34:case 39:case 91:E+=De(v);break;case 9:case 10:case 13:case 32:E+=Ue(f);break;case 92:E+=qe(Le()-1,7);continue;case 47:switch(Te()){case 42:case 47:ve(Ye(Oe(Ie(),Le()),t,n),c);break;default:E+="/"}break;case 123*h:i[l++]=ge(E)*b;case 125*h:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:-1==b&&(E=pe(E,/\f/g,"")),m>0&&ge(E)-d&&ve(m>32?et(E+";",r,n,d-1):et(pe(E," ","")+";",r,n,d-2),c);break;case 59:E+=";";default:if(ve(k=Ze(E,t,n,l,u,a,i,y,w=[],x=[],d),s),123===v)if(0===u)Xe(E,t,k,k,w,s,d,i,x);else switch(99===p&&110===fe(E,3)?100:p){case 100:case 108:case 109:case 115:Xe(e,k,k,r&&ve(Ze(e,k,k,0,0,a,i,y,a,w=[],d),x),a,x,d,i,r?w:x);break;default:Xe(E,k,k,k,[""],x,0,i,x)}}l=u=m=0,h=b=1,y=E="",d=o;break;case 58:d=1+ge(E),m=f;default:if(h<1)if(123==v)--h;else if(125==v&&0==h++&&125==Ce())continue;switch(E+=le(v),v*h){case 38:b=u>0?1:(E+="\f",-1);break;case 44:i[l++]=(ge(E)-1)*b,b=1;break;case 64:45===Te()&&(E+=De(Ie())),p=Te(),u=d=ge(y=E+=Me(Le())),v++;break;case 45:45===f&&2==ge(E)&&(h=0)}}return s}function Ze(e,t,n,r,a,s,o,i,c,l,u){for(var d=a-1,p=0===a?s:[""],m=be(p),f=0,h=0,g=0;f<r;++f)for(var b=0,v=he(e,d+1,d=ce(h=o[f])),y=e;b<m;++b)(y=de(h>0?p[b]+" "+v:pe(v,/&\f/g,p[b])))&&(c[g++]=y);return Se(e,t,n,0===a?We:i,c,l,u)}function Ye(e,t,n){return Se(e,t,n,je,le(Ee),he(e,2,-2),0)}function et(e,t,n,r){return Se(e,t,n,Ve,he(e,0,r),he(e,r+1,-1),r)}var tt=function(e,t,n){for(var r=0,a=0;r=a,a=Te(),38===r&&12===a&&(t[n]=1),!_e(a);)Ie();return Ne(e,ke)},nt=new WeakMap,rt=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||nt.get(n))&&!r){nt.set(e,!0);for(var a=[],s=function(e,t){return Re(function(e,t){var n=-1,r=44;do{switch(_e(r)){case 0:38===r&&12===Te()&&(t[n]=1),e[n]+=tt(ke-1,t,n);break;case 2:e[n]+=De(r);break;case 4:if(44===r){e[++n]=58===Te()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=le(r)}}while(r=Ie());return e}(Pe(e),t))}(t,a),o=n.props,i=0,c=0;i<s.length;i++)for(var l=0;l<o.length;l++,c++)e.props[c]=a[i]?s[i].replace(/&\f/g,o[l]):o[l]+" "+s[i]}}},at=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}};function st(e,t){switch(function(e,t){return 45^fe(e,0)?(((t<<2^fe(e,0))<<2^fe(e,1))<<2^fe(e,2))<<2^fe(e,3):0}(e,t)){case 5103:return ze+"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 ze+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return ze+e+Fe+e+Ge+e+e;case 6828:case 4268:return ze+e+Ge+e+e;case 6165:return ze+e+Ge+"flex-"+e+e;case 5187:return ze+e+pe(e,/(\w+).+(:[^]+)/,ze+"box-$1$2"+Ge+"flex-$1$2")+e;case 5443:return ze+e+Ge+"flex-item-"+pe(e,/flex-|-self/,"")+e;case 4675:return ze+e+Ge+"flex-line-pack"+pe(e,/align-content|flex-|-self/,"")+e;case 5548:return ze+e+Ge+pe(e,"shrink","negative")+e;case 5292:return ze+e+Ge+pe(e,"basis","preferred-size")+e;case 6060:return ze+"box-"+pe(e,"-grow","")+ze+e+Ge+pe(e,"grow","positive")+e;case 4554:return ze+pe(e,/([^-])(transform)/g,"$1"+ze+"$2")+e;case 6187:return pe(pe(pe(e,/(zoom-|grab)/,ze+"$1"),/(image-set)/,ze+"$1"),e,"")+e;case 5495:case 3959:return pe(e,/(image-set\([^]*)/,ze+"$1$`$1");case 4968:return pe(pe(e,/(.+:)(flex-)?(.*)/,ze+"box-pack:$3"+Ge+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+ze+e+e;case 4095:case 3583:case 4068:case 2532:return pe(e,/(.+)-inline(.+)/,ze+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(ge(e)-1-t>6)switch(fe(e,t+1)){case 109:if(45!==fe(e,t+4))break;case 102:return pe(e,/(.+:)(.+)-([^]+)/,"$1"+ze+"$2-$3$1"+Fe+(108==fe(e,t+3)?"$3":"$2-$3"))+e;case 115:return~me(e,"stretch")?st(pe(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==fe(e,t+1))break;case 6444:switch(fe(e,ge(e)-3-(~me(e,"!important")&&10))){case 107:return pe(e,":",":"+ze)+e;case 101:return pe(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+ze+(45===fe(e,14)?"inline-":"")+"box$3$1"+ze+"$2$3$1"+Ge+"$2box$3")+e}break;case 5936:switch(fe(e,t+11)){case 114:return ze+e+Ge+pe(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return ze+e+Ge+pe(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return ze+e+Ge+pe(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return ze+e+Ge+e+e}return e}var ot=[function(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case Ve:e.return=st(e.value,e.length);break;case Qe:return Ke([$e(e,{value:pe(e.value,"@","@"+ze)})],r);case We:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,function(t){switch(function(e){return(e=/(::plac\w+|:read-\w+)/.exec(e))?e[0]:e}(t)){case":read-only":case":read-write":return Ke([$e(e,{props:[pe(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return Ke([$e(e,{props:[pe(t,/:(plac\w+)/,":"+ze+"input-$1")]}),$e(e,{props:[pe(t,/:(plac\w+)/,":-moz-$1")]}),$e(e,{props:[pe(t,/:(plac\w+)/,Ge+"input-$1")]})],r)}return""})}}],it={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};function ct(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}var lt=/[A-Z]|^ms/g,ut=/_EMO_([^_]+?)_([^]*?)_EMO_/g,dt=function(e){return 45===e.charCodeAt(1)},pt=function(e){return null!=e&&"boolean"!=typeof e},mt=ct(function(e){return dt(e)?e:e.replace(lt,"-$&").toLowerCase()}),ft=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(ut,function(e,t,n){return gt={name:t,styles:n,next:gt},t})}return 1===it[e]||dt(e)||"number"!=typeof t||0===t?t:t+"px"};function ht(e,t,n){if(null==n)return"";var r=n;if(void 0!==r.__emotion_styles)return r;switch(typeof n){case"boolean":return"";case"object":var a=n;if(1===a.anim)return gt={name:a.name,styles:a.styles,next:gt},a.name;var s=n;if(void 0!==s.styles){var o=s.next;if(void 0!==o)for(;void 0!==o;)gt={name:o.name,styles:o.styles,next:gt},o=o.next;return s.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var a=0;a<n.length;a++)r+=ht(e,t,n[a])+";";else for(var s in n){var o=n[s];if("object"!=typeof o){var i=o;null!=t&&void 0!==t[i]?r+=s+"{"+t[i]+"}":pt(i)&&(r+=mt(s)+":"+ft(s,i)+";")}else if(!Array.isArray(o)||"string"!=typeof o[0]||null!=t&&void 0!==t[o[0]]){var c=ht(e,t,o);switch(s){case"animation":case"animationName":r+=mt(s)+":"+c+";";break;default:r+=s+"{"+c+"}"}}else for(var l=0;l<o.length;l++)pt(o[l])&&(r+=mt(s)+":"+ft(s,o[l])+";")}return r}(e,t,n);case"function":if(void 0!==e){var i=gt,c=n(e);return gt=i,ht(e,t,c)}}var l=n;if(null==t)return l;var u=t[l];return void 0!==u?u:l}var gt,bt=/label:\s*([^\s;{]+)\s*(;|$)/g;function vt(e,t,n){if(1===e.length&&"object"==typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];var r=!0,a="";gt=void 0;var s=e[0];null==s||void 0===s.raw?(r=!1,a+=ht(n,t,s)):a+=s[0];for(var o=1;o<e.length;o++)a+=ht(n,t,e[o]),r&&(a+=s[o]);bt.lastIndex=0;for(var i,c="";null!==(i=bt.exec(a));)c+="-"+i[1];var l=function(e){for(var t,n=0,r=0,a=e.length;a>=4;++r,a-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(a){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)}(a)+c;return{name:l,styles:a,next:gt}}function yt(e,t,n){var r="";return n.split(" ").forEach(function(n){void 0!==e[n]?t.push(e[n]+";"):n&&(r+=n+" ")}),r}function wt(e,t){if(void 0===e.inserted[t.name])return e.insert("",t,e.sheet,!0)}function xt(e,t,n){var r=[],a=yt(e,r,n);return r.length<2?n:a+t(r)}var kt=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 o in s="",a)a[o]&&o&&(s&&(s+=" "),s+=o);break;default:s=a}s&&(n&&(n+=" "),n+=s)}}return n};var Et=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||ot,o={},i=[];r=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n<t.length;n++)o[t[n]]=!0;i.push(e)});var c,l,u,d,p=[He,(d=function(e){c.insert(e)},function(e){e.root||(e=e.return)&&d(e)})],m=(l=[rt,at].concat(s,p),u=be(l),function(e,t,n,r){for(var a="",s=0;s<u;s++)a+=l[s](e,t,n,r)||"";return a});a=function(e,t,n,r){c=n,Ke(Je(e?e+"{"+t.styles+"}":t.styles),m),r&&(f.inserted[t.name]=!0)};var f={key:t,sheet:new ie({key:t,container:r,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:o,registered:{},insert:a};return f.sheet.hydrate(i),f}(e);t.sheet.speedy=function(e){this.isSpeedy=e},t.compat=!0;var n=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var a=vt(n,t.registered,void 0);return function(e,t){!function(e,t){var n=e.key+"-"+t.name;void 0===e.registered[n]&&(e.registered[n]=t.styles)}(e,t);var n=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var r=t;do{e.insert(t===r?"."+n:"",r,e.sheet,!0),r=r.next}while(void 0!==r)}}(t,a),t.key+"-"+a.name};return{css:n,cx:function(){for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];return xt(t.registered,n,kt(r))},injectGlobal:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var a=vt(n,t.registered);wt(t,a)},keyframes:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var a=vt(n,t.registered),s="animation-"+a.name;return wt(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:yt.bind(null,t.registered),merge:xt.bind(null,t.registered,n)}}({key:"css"}),At=(Et.flush,Et.hydrate,Et.cx),St=(Et.merge,Et.getRegisteredStyles,Et.injectGlobal,Et.keyframes),$t=Et.css;function Ct(e){const{isAvailable:t,openAssistant:n}=se();return t&&n?i().createElement(It,{...e,openAssistant:n}):null}function It({prompt:e,origin:t,context:n,autoSend:r=!0,title:a="Analyze with Assistant",size:c="sm",iconOnlyButton:l=!1,openAssistant:u,onClick:d}){const p=(0,oe.useStyles2)(Tt);return(0,o.useEffect)(()=>{(0,s.reportInteraction)("grafana_assistant_app_open_sidebar_button_displayed",{from:t})},[t]),i().createElement(i().Fragment,null,l?i().createElement(oe.IconButton,{name:"ai-sparkle",onClick:()=>{null==d||d(),u({prompt:e,context:n,autoSend:r,origin:t})},variant:"secondary",size:c,"aria-label":a,className:p.icon,tooltip:a,"data-testid":"assistant-icon-button"}):i().createElement(oe.Button,{icon:"ai-sparkle",onClick:()=>{null==d||d(),u({prompt:e,context:n,autoSend:r,origin:t})},variant:"secondary",fill:"solid",size:c,title:a,"aria-label":a,className:p.button,"data-testid":"assistant-button"},a))}Et.sheet,Et.cache;const Tt=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)`,o={content:'""',position:"absolute",inset:0,borderRadius:a,cornerShape:"squircle",background:"linear-gradient(90deg, rgb(168, 85, 247), rgb(249, 115, 22))",zIndex:-2,pointerEvents:"none"},i=e=>({content:'""',position:"absolute",inset:"1px",borderRadius:s,cornerShape:"squircle",background:`linear-gradient(${e}, ${e}), ${r}`,zIndex:-1,transition:"none",pointerEvents:"none"});return{button:$t({label:"assistant-button",width:"fit-content",maxWidth:"100%",position:"relative",isolation:"isolate",border:"none",transition:"none !important","&::before":o,"&::after":{...i(t),transition:"none"},"&:hover":{transition:"none !important"},"&:hover::after":{background:`linear-gradient(${n}, ${n}), ${r}`}}),icon:$t({label:"assistant-icon",position:"relative",isolation:"isolate",border:"none",background:"none",padding:e.spacing(.5),"&::before":{...o,transition:"background 0.1s ease"},"&:hover::after":{...i(t),background:`linear-gradient(${n}, ${n}), ${r}`}})}},Lt={sm:32,md:36,lg:40};function Nt(e){const{isAvailable:t,openAssistant:n}=se();return t&&n?i().createElement(_t,{...e,openAssistant:n}):null}function _t({prompt:e,origin:t,context:n,autoSend:r=!0,title:a="Chat with Assistant",size:c="sm",onClick:l,menuItems:u,tooltip:d,dropdownButtonWidth:p,openAssistant:m}){const f=(0,oe.useStyles2)(Pt),h=Boolean(u),g="number"==typeof(b=null!=p?p:Lt[c])?`${b}px`:b;var b;(0,o.useEffect)(()=>{(0,s.reportInteraction)("grafana_assistant_app_open_sidebar_split_button_displayed",{from:t})},[t]);const v=i().createElement("div",{className:f.wrapper},i().createElement(oe.ButtonGroup,{className:f.buttonGroup},i().createElement(oe.Button,{icon:"ai-sparkle",onClick:()=>{null==l||l(),m({prompt:e,context:n,autoSend:r,origin:t})},variant:"secondary",fill:"solid",size:c,"aria-label":a,className:At(f.segmentButton,h?f.mainButtonSplit:f.mainButtonSolo),"data-testid":"assistant-split-button-main"},a),u&&i().createElement(oe.Dropdown,{overlay:u},i().createElement(oe.Button,{variant:"secondary",icon:"angle-down",size:c,"aria-label":"More AI actions",className:At(f.segmentButton,f.dropdownButton),style:{width:g,minWidth:g},"data-testid":"assistant-split-button-dropdown"}))));return d?i().createElement(oe.Tooltip,{content:d},v):v}const Pt=e=>{const t=e.colors.secondary.main,n=e.colors.emphasize(t,.05),r=e.colors.background.canvas,a=e.colors.border.weak,s=e.shape.radius.default,o=`max(calc(${s} - 1px), 1px)`;return{wrapper:$t({label:"assistant-split-button-wrapper",position:"relative",isolation:"isolate",display:"inline-block","&::before":{content:'""',position:"absolute",inset:0,borderRadius:s,cornerShape:"squircle",background:"linear-gradient(90deg, rgb(168, 85, 247), rgb(249, 115, 22))",zIndex:-1,pointerEvents:"none"},"&::after":{content:'""',position:"absolute",inset:"1px",borderRadius:o,cornerShape:"squircle",background:`linear-gradient(${t}, ${t}), ${r}`,zIndex:-1,pointerEvents:"none"}}),buttonGroup:$t({label:"assistant-split-button-group",gap:0,position:"relative",zIndex:1,borderRadius:o,overflow:"hidden","& button":{border:"none",boxShadow:"none",background:"transparent !important"}}),segmentButton:$t({label:"assistant-split-button-segment",position:"relative","&:hover":{background:`${n} !important`},"&:focus-visible":{background:`${n} !important`},'&[aria-expanded="true"]':{background:`${n} !important`}}),mainButtonSolo:$t({label:"assistant-split-button-main-solo",borderRadius:o}),mainButtonSplit:$t({label:"assistant-split-button-main-split",borderTopLeftRadius:o,borderBottomLeftRadius:o,borderTopRightRadius:0,borderBottomRightRadius:0}),dropdownButton:$t({label:"assistant-split-button-dropdown",display:"inline-flex",alignItems:"center",justifyContent:"center",gap:0,borderTopLeftRadius:0,borderBottomLeftRadius:0,borderTopRightRadius:o,borderBottomRightRadius:o,padding:"0 !important",boxShadow:`inset 1px 0 0 ${a}`,"& svg":{margin:0}})}},Rt=e=>{const t=["rgb(168, 85, 247)","rgb(249, 115, 22)"];if("dark"===e.name.toLowerCase()||"light"===e.name.toLowerCase())return t;const n=e.colors.gradients.brandHorizontal.match(/#[0-9A-Fa-f]{6}/g);return!n||n.length<2?t:[n[0],n[1]]},Dt=(e,t,n,r)=>{const a=Array.from({length:101},(e,t)=>t),s={},[o,i]=Rt(e),c=null!=n?n:o,l=null!=r?r:i;return a.forEach(e=>{s[`${e}%`]={backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from ${3.6*e}deg, transparent 60%, ${c} 80%, ${l} 100%, transparent 15%)\n `}}),s},Ut="__grafanaAssistantInlineFactory__",qt="__grafanaAssistantInlineInitializer__",Bt="__grafanaAssistantInlineInitPromise__";function Ot(e){const t=window[Ut];t&&t!==e?console.warn("InlineAssistant factory already set; ignoring subsequent setInlineAssistantFactory call"):t||(window[Ut]=e)}function Mt(e){const t=window[qt];t&&t!==e?console.warn("InlineAssistant initializer already set; ignoring subsequent setInlineAssistantInitializer call"):t||(window[qt]=e)}async function Gt(){if(window[Ut])return;const e=window[qt];if(!e)throw new Error("InlineAssistant not initialized. Make sure the Grafana Assistant plugin is loaded and initialized.");const t=window[Bt];if(t)return t;const n=(async()=>{try{await e()}catch(e){throw window[Bt]=null,e}})();return window[Bt]=n,n}function Ft(){const e=window[Ut];if(!e)throw new Error("InlineAssistant factory not initialized. Make sure the Grafana Assistant plugin is loaded.");return e}function zt(){const[e,t]=(0,o.useState)(!1),[n,r]=(0,o.useState)(""),[a,s]=(0,o.useState)(null),i=(0,o.useRef)(null),c=(0,o.useCallback)(()=>{s(null),r("")},[]),l=(0,o.useCallback)(()=>{i.current&&i.current.cancel(),t(!1)},[]),u=(0,o.useCallback)(async e=>{var n;s(null),r(""),t(!0);try{await Gt();const n=Ft();i.current||(i.current=await n(e.origin)),await i.current.sendPrompt({prompt:e.prompt,agentName:e.agentName,agentId:e.agentId,systemPrompt:e.systemPrompt,tools:e.tools,onStart:()=>{t(!0)},onDelta:t=>{var n;r(e=>e+t),null===(n=e.onDelta)||void 0===n||n.call(e,t)},onComplete:n=>{var a;r(n),t(!1),null===(a=e.onComplete)||void 0===a||a.call(e,n)},onError:n=>{var r;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,o.useEffect)(()=>()=>{i.current&&(i.current.cancel(),i.current.dispose(),i.current=null)},[]),{generate:u,isGenerating:e,content:n,error:a,cancel:l,reset:c}}function jt({value:e,onChange:t,origin:n,systemPrompt:r,onComplete:a,onError:s,onDelta:i,disabled:c=!1,autoGenerate:l=!1,streaming:u=!1,getUserPrompt:d}){const{generate:p,isGenerating:m,content:f,error:h,reset:g}=zt(),b=(0,o.useRef)(!1),v=(0,o.useRef)(e),y=m?u?f:"":e,w=d?d(e.trim()):e.trim(),x=!w||c||m,k=(0,o.useCallback)(o=>{v.current=e,t(""),g(),p({prompt:o,origin:n,systemPrompt:r,onDelta:i,onComplete:e=>{t(e),null==a||a(e)},onError:e=>{t(v.current),null==s||s(e)}})},[e,t,n,r,i,a,s,p,g]);(0,o.useEffect)(()=>{!l||!r||e||b.current||c||(b.current=!0,k(r))},[]);const E=(0,o.useCallback)(()=>{x||k(w)},[x,k,w]);return{displayValue:y,isSendDisabled:x,handleGenerate:E,isGenerating:m,error:h}}const Wt=["Generating...","Brewing...","Cooking...","Crunching...","Phrasing...","Wording...","Crafting...","Composing...","Drafting...","Shaping...","Forming...","Molding...","Sketching...","Whipping up...","Conjuring...","Stirring..."];function Vt(e,t){const[n,r]=(0,o.useState)(""),a=(0,o.useRef)(!1);if(e&&!a.current){const e=Wt[Math.floor(Math.random()*Wt.length)];return r(e),a.current=!0,e}return e||(a.current=!1),e?n:t}function Qt({value:e,onChange:t,placeholder:n,origin:r,systemPrompt:a,onComplete:s,onError:o,onDelta:c,disabled:l=!1,autoGenerate:u=!1,streaming:d=!1,getUserPrompt:p,className:m,"data-testid":f}){const{displayValue:h,isSendDisabled:g,handleGenerate:b,isGenerating:v,error:y}=jt({value:e,onChange:t,origin:r,systemPrompt:a,onComplete:s,onError:o,onDelta:c,disabled:l,autoGenerate:u,streaming:d,getUserPrompt:p}),w=(0,oe.useStyles2)(Kt),x=Vt(v,null!=n?n:"Ask AI to generate..."),k=i().createElement(oe.IconButton,{name:"ai-sparkle",onClick:b,disabled:g,tooltip:g?"Enter text to generate":"Generate with AI","data-testid":f?`${f}-send`:void 0});return i().createElement("div",{className:At(w.wrapper,{[w.animatedWrapper]:v},m),"data-testid":f},i().createElement(oe.Input,{value:h,onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),b())},onChange:e=>t(e.currentTarget.value),placeholder:x,disabled:l||v,suffix:k,invalid:!!y,"data-testid":f?`${f}-input`:void 0}))}const Kt=e=>{const t=e.colors.background.primary,n=St({label:"ai-input-border-animation",...Dt(e,t)}),[r,a]=Rt(e);return{wrapper:$t({label:"ai-text-input-wrapper",position:"relative",border:"1px solid transparent",borderRadius:e.shape.radius.default,cornerShape:"squircle"}),animatedWrapper:$t({label:"ai-text-input-animated",border:"1px solid transparent",backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from 0deg, transparent 60%, ${r} 80%, ${a} 100%, transparent 15%)\n `,backgroundOrigin:"border-box",backgroundClip:"padding-box, border-box",animation:`${n} 2s linear infinite`,"& input":{border:"none !important"}})}};function Ht({value:e,onChange:t,placeholder:n,origin:r,systemPrompt:a,onComplete:s,onError:o,onDelta:c,disabled:l=!1,autoGenerate:u=!1,streaming:d=!1,getUserPrompt:p,rows:m=4,className:f,"data-testid":h}){const{displayValue:g,isSendDisabled:b,handleGenerate:v,isGenerating:y,error:w}=jt({value:e,onChange:t,origin:r,systemPrompt:a,onComplete:s,onError:o,onDelta:c,disabled:l,autoGenerate:u,streaming:d,getUserPrompt:p}),x=(0,oe.useStyles2)(Jt),k=Vt(y,null!=n?n:"Ask AI to generate... (Cmd/Ctrl+Enter to send)"),E=Math.max(m,2);return i().createElement("div",{className:At(x.textareaWrapper,{[x.animatedWrapper]:y},f),"data-testid":h},i().createElement(oe.TextArea,{value:g,onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),v())},onChange:e=>t(e.currentTarget.value),placeholder:k,disabled:l||y,rows:E,className:x.textarea,invalid:!!w,"data-testid":h?`${h}-textarea`:void 0}),i().createElement(oe.IconButton,{name:"ai-sparkle",onClick:v,disabled:b,className:x.sendButton,"aria-label":"Generate with AI",tooltip:b?"Enter text to generate":"Generate with AI (Cmd/Ctrl+Enter)","data-testid":h?`${h}-send`:void 0}))}const Jt=e=>{const t=e.colors.background.primary,n=St({label:"ai-textarea-border-animation",...Dt(e,t)}),[r,a]=Rt(e);return{textareaWrapper:$t({label:"ai-textarea-wrapper",position:"relative",border:"1px solid transparent",borderRadius:e.shape.radius.default,cornerShape:"squircle"}),animatedWrapper:$t({label:"ai-textarea-animated",border:"1px solid transparent",backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from 0deg, transparent 60%, ${r} 80%, ${a} 100%, transparent 15%)\n `,backgroundOrigin:"border-box",backgroundClip:"padding-box, border-box",animation:`${n} 2s linear infinite`,"& textarea":{border:"none !important"}}),textarea:$t({label:"ai-textarea",paddingRight:e.spacing(4),minHeight:e.spacing(6),"& textarea":{minHeight:e.spacing(6)},scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),sendButton:$t({label:"ai-textarea-send",position:"absolute",right:e.spacing(1),top:e.spacing(1)})}};function Xt(e){const t=["refId","hide","key","queryType","datasource"];for(const n in e)if("label"!==n&&!t.includes(n))return!1;return!0}function Zt({size:e,currentQuery:t,queries:n,dataSourceInstanceSettings:r,app:a,datasourceApi:s,title:o="Query with Assistant"}){var c;const{isAvailable:l,openAssistant:u}=se();if(!l||!u)return null;const d=`grafana/query-editor/${r.type}/${null!==(c=null!=a?a:O.CoreApp.Unknown)&&void 0!==c?c:"unknown"}`,p=!Xt(t),m=n.filter(e=>e.refId!==t.refId&&!Xt(e)),f=[P("datasource",{datasourceUid:r.uid})];p&&f.push(P("structured",{title:"Current query",data:t})),m.length>0&&f.push(P("structured",{title:"Other queries",data:{queries:m}}));const h=p&&(null==s?void 0:s.getQueryDisplayText)?s.getQueryDisplayText(t):null,g=!!h,b=g?"Help me update the current query to answer my questions and provide the insights I need.":"Help me create a new query to answer my questions and provide the insights I need.",v=[];h&&v.push(`Current query: ${h}`),v.push(`Selected data source: ${r.name}`);const y=g?"Please describe what you want to change or improve in this query.":"Please describe what you want to query and what insights you're looking for.",w=[b,"```",...v,"```",y].join("\n");return i().createElement(It,{prompt:w,origin:d,context:f,autoSend:!1,title:o,size:e,openAssistant:u})}const Yt=["What does this panel show?","Explain the trend in this data","Why is there a spike?","Add a threshold at 80%","Change the legend to table mode"];function en(e){const{isAvailable:t,openAssistant:n}=se();return t&&n?i().createElement(tn,{...e,openAssistant:n}):null}function tn({origin:e,context:t,mode:n,placeholder:r,examplePrompts:a,animated:c=!0,onClose:l,onSubmit:u,onClick:d,className:p,openAssistant:m}){const[f,h]=(0,o.useState)(""),g=(0,o.useRef)(null),b=(0,oe.useStyles2)(rn),v=null!=r?r:"Ask Assistant...",y=function(e,t,n){const[r,a]=(0,o.useState)(""),s=(0,o.useRef)(0),i=(0,o.useRef)(0),c=(0,o.useRef)("typing");return(0,o.useEffect)(()=>{if(s.current=0,i.current=0,c.current="typing",a(""),n||0===t.length)return;let e;const r=()=>{e=setTimeout(()=>{(()=>{const e=t[s.current];"typing"===c.current?(i.current++,a(e.slice(0,i.current)),i.current>=e.length&&(c.current="pause")):"pause"===c.current?c.current="erasing":"erasing"===c.current&&(i.current--,a(e.slice(0,i.current)),i.current<=0&&(c.current="typing",s.current=(s.current+1)%t.length))})(),r()},"pause"===c.current?800:"erasing"===c.current?15:30+20*Math.random())};return r(),()=>clearTimeout(e)},[n,t]),n||0===t.length?e:r}(v,null!=a?a:void 0!==r?[]:Yt,f.length>0);(0,o.useEffect)(()=>{(0,s.reportInteraction)("grafana_assistant_app_prompt_card_displayed",{from:e})},[e]),(0,o.useEffect)(()=>{const e=requestAnimationFrame(()=>{var e;return null===(e=g.current)||void 0===e?void 0:e.focus()});return()=>cancelAnimationFrame(e)},[t]);const w=(0,o.useCallback)(r=>{const a=r.trim();a&&(m({prompt:a,context:t,autoSend:!0,origin:e,mode:n}),null==u||u(a),h(""))},[m,t,e,n,u]);return i().createElement("div",{className:At(c?b.card:b.cardStatic,p),onClick:d,role:"search","aria-label":v,"data-testid":"assistant-prompt-card"},i().createElement("div",{className:b.inputRow},i().createElement(oe.Input,{ref:g,value:f,onChange:e=>h(e.currentTarget.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),w(f)),"Escape"===e.key&&(e.preventDefault(),null==l||l())},placeholder:y,suffix:i().createElement(oe.IconButton,{name:"ai-sparkle",onClick:()=>w(f),disabled:!f.trim(),tooltip:"Send to assistant","aria-label":"Send to assistant","data-testid":"assistant-prompt-card-send"}),"data-testid":"assistant-prompt-card-input"})))}function nn(e){return["rgba(168, 85, 247, 0.25) 3px -1px 20px","rgba(249, 115, 22, 0.18) -5px 3px 40px","rgba(168, 85, 247, 0.12) 7px 4px 60px",(e.isDark?"rgb(17 18 23)":"rgb(245 245 245)")+" 0 6px 30px"].join(", ")}const rn=e=>{const t=e.colors.background.primary,[n,r]=Rt(e),a=St({label:"prompt-card-border",...Dt(e,t)}),s={label:"assistant-prompt-card",position:"relative",display:"flex",flexDirection:"column",gap:e.spacing(1),padding:e.spacing(1),borderRadius:e.shape.radius.lg,boxShadow:nn(e)};return{card:$t({...s,cornerShape:"squircle",background:t,border:"1px solid transparent",backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from 0deg, transparent 60%, ${n} 80%, ${r} 100%, transparent 15%)\n `,backgroundOrigin:"border-box",backgroundClip:"padding-box, border-box",[e.transitions.handleMotion("no-preference")]:{animation:`${a} 2s linear infinite`}}),cardStatic:$t({...s,label:"assistant-prompt-card-static",background:e.colors.background.elevated,border:`1px solid ${e.colors.border.weak}`}),inputRow:$t({label:"prompt-card-input-row",display:"flex",alignItems:"center",gap:e.spacing(.5),"& input":{border:"none !important"}})}};function an(e){const t=e.split("+")[0].split("-"),n=t[0],r=t.length>1?t.slice(1).join("-"):void 0,a=n.split(".").map(Number);return 3!==a.length||a.some(isNaN)?null:{major:a[0],minor:a[1],patch:a[2],prerelease:r}}const sn="grafana-assistant-terms-and-conditions-refresh";async function on(){var e,t;const n=(0,s.getBackendSrv)(),r=`${null!==(e=null===s.config||void 0===s.config?void 0:s.config.appSubUrl)&&void 0!==e?e:""}/api/plugins/${Q}/resources/api/v1/settings/terms`,a=(await(0,V.lastValueFrom)(n.fetch({url:r,method:"GET",showErrorAlert:!1}))).data.data,o=null!==(t=a.acceptedTermsAndConditions)&&void 0!==t&&t,i=a.acceptedVersion,c=a.version,l=a.termsType;if("msa"===l)return{accepted:o,termsType:l};if(!o||!i||!c)return{accepted:!1,termsType:l};const u=1===function(e,t){const n=an(e),r=an(t);return n&&r?n.major!==r.major?n.major>r.major?1:-1:n.minor!==r.minor?n.minor>r.minor?1:-1:n.patch!==r.patch?n.patch>r.patch?1:-1:n.prerelease&&r.prerelease?n.prerelease===r.prerelease?0:n.prerelease>r.prerelease?1:-1:n.prerelease&&!r.prerelease?-1:!n.prerelease&&r.prerelease?1:0:null}(c,i);return{accepted:o&&!u,termsType:l}}async function cn(){try{return(await on()).accepted}catch(e){throw new Error(`Failed to check terms requirements: ${e instanceof Error?e.message:String(e)}`)}}function ln(){const[e,t]=(0,o.useState)(!1),[n,r]=(0,o.useState)(null),[a,s]=(0,o.useState)(!0),[i,c]=(0,o.useState)(null);return(0,o.useEffect)(()=>{async function e(){try{s(!0),c(null);const e=await on();t(e.accepted),r(e.termsType)}catch(e){const n=e instanceof Error?e.message:"Failed to check terms";c(n),t(!1),r(null)}finally{s(!1)}}e();const n=()=>{e()};return document.addEventListener(sn,n),()=>{document.removeEventListener(sn,n)}},[]),{accepted:e,termsType:n,loading:a,error:i}}function un(e,t){var n;const{explainer:r,...a}=null!==(n=t.metadata)&&void 0!==n?n:{},s={name:t.name,description:t.description,inputSchema:t.inputSchema,metadata:r?{...a,explainer:e=>r(e)}:a,responseFormat:t.responseFormat,verboseParsingErrors:t.verboseParsingErrors,async invoke(n,r){var a;try{if(null===(a=r.signal)||void 0===a?void 0:a.aborted)throw new Error(`Tool ${t.name} execution was aborted`);const s=t.validate(n),o=[e(s,r)];return r.signal&&o.push(new Promise((e,n)=>{var a;null===(a=r.signal)||void 0===a||a.addEventListener("abort",()=>{n(new Error(`Tool ${t.name} execution was aborted`))},{once:!0})})),r.timeout&&r.timeout>0&&o.push(new Promise((e,n)=>{setTimeout(()=>{n(new Error(`Tool ${t.name} execution timed out after ${r.timeout}ms`))},r.timeout)})),Promise.race(o)}catch(e){throw t.verboseParsingErrors&&console.error(`Error invoking tool ${t.name}:`,e,n),e}}};return s}const dn="grafana-assistant-limits-updated";async function pn(){var e,t,n,r;const a=(0,s.getBackendSrv)(),o=`${null!==(e=null===s.config||void 0===s.config?void 0:s.config.appSubUrl)&&void 0!==e?e:""}/api/plugins/${Q}/resources/api/v1/usage/limits/prompt`,i=(await(0,V.lastValueFrom)(a.fetch({url:o,method:"GET",showErrorAlert:!1}))).data.data,c=null!==(t=i.total)&&void 0!==t?t:0,l=null!==(n=i.limit)&&void 0!==n?n:0;return{count:c,limit:l,month:null!==(r=i.month)&&void 0!==r?r:"",isLimitReached:l>0&&c>=l}}async function mn(){try{return await pn()}catch(e){throw new Error(`Failed to check limits: ${e instanceof Error?e.message:String(e)}`)}}function fn(){const[e,t]=(0,o.useState)(0),[n,r]=(0,o.useState)(0),[a,s]=(0,o.useState)(""),[i,c]=(0,o.useState)(!0),[l,u]=(0,o.useState)(null),d=(0,o.useCallback)(async()=>{try{c(!0),u(null);const e=await pn();t(e.count),r(e.limit),s(e.month)}catch(e){const n=e instanceof Error?e.message:"Failed to fetch limits";u(n),t(0),r(0),s("")}finally{c(!1)}},[]);return(0,o.useEffect)(()=>{d()},[d]),(0,o.useEffect)(()=>{const e=e=>{const n=e;n.detail&&(t(n.detail.count),r(n.detail.limit),u(null))};return window.addEventListener(dn,e),()=>{window.removeEventListener(dn,e)}},[]),{count:e,limit:n,month:a,isLimitReached:n>0&&e>=n,loading:i,error:l,refetch:d}}module.exports=t})();
|
|
1
|
+
(()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function n(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n);return(t>>>0).toString(16)}e.r(t),e.d(t,{AITextArea:()=>Ht,AITextInput:()=>Qt,ASSISTANT_PLUGIN_ID:()=>Q,ASSISTANT_PLUGIN_TITLE:()=>K,AssistantPromptCard:()=>en,AssistantPromptCardView:()=>tn,CALLBACK_EXTENSION_POINT:()=>z,ComponentNodeData:()=>k,DashboardNodeData:()=>S,DatasourceNodeData:()=>C,EntityNodeData:()=>I,FolderNodeData:()=>$,InvestigationCreatedEvent:()=>M,LIMITS_UPDATED_EVENT:()=>dn,LabelNameNodeData:()=>T,LabelValueNodeData:()=>L,OpenAssistantButton:()=>Ct,OpenAssistantSplitButton:()=>Nt,QueryWithAssistantButton:()=>Zt,SkillNodeData:()=>R,StructuredNodeData:()=>a,TERMS_AND_CONDITIONS_REFRESH_EVENT:()=>sn,checkLimits:()=>mn,checkTerms:()=>cn,closeAssistant:()=>re,createAssistantContextItem:()=>P,createTool:()=>un,emitInvestigationCreated:()=>G,ensureInlineAssistantInitialized:()=>Gt,getExposeAssistantFunctionsConfig:()=>W,getInlineAssistantFactory:()=>Ft,isAssistantAvailable:()=>Z,newFunctionNamespace:()=>j,onInvestigationCreated:()=>F,openAssistant:()=>ne,provideComponents:()=>A,providePageContext:()=>g,provideQuestions:()=>D,setInlineAssistantFactory:()=>Ot,setInlineAssistantInitializer:()=>Mt,toggleAssistant:()=>ae,useAssistant:()=>se,useInlineAssistant:()=>zt,useLimits:()=>fn,usePageComponents:()=>E,usePageContext:()=>y,useProvidePageContext:()=>v,useProvideQuestions:()=>U,useQuestions:()=>q,useTerms:()=>ln});class r{constructor(e){this.params=e,this.text="",this.id=n(e.id),this.type=e.type}get bypassLimits(){var e;return null!==(e=this.params.bypassLimits)&&void 0!==e&&e}formatForLLM(e){var t,n;return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:null!==(t=this.params.text)&&void 0!==t?t:"",text:null!==(n=this.params.text)&&void 0!==n?n:""}}}equals(e){return e instanceof r&&this.id===e.id&&this.type===e.type}}class a extends r{constructor(e){super({...e,id:n(JSON.stringify(e.data)),type:"structured"}),this.data=e.data}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:this.data}}}const s=require("@grafana/runtime"),o=require("react");var i=e.n(o);const c="__grafanaAssistantPageContextRegistry__",l="grafana-assistant:page-context-registry-changed",u="grafana-assistant:page-context-update",d="grafana-assistant:page-context-remove",p="grafana-assistant:page-context-sync";function m(){return window[c]}function f(e,t=!1){window[c]=e,window.dispatchEvent(new CustomEvent(l)),t||window.dispatchEvent(new CustomEvent(p,{detail:{registry:e}}))}window[c]||(window[c]=[]);let h=!1;function g(e,t){var n;(n=e)instanceof RegExp?n.source:"string"!=typeof n||n&&""!==n.trim()||console.warn("useProvidePageContext: Empty string passed as urlPattern. This will cause the context to not match any pages.");const r={id:w(),urlPattern:e,context:[...t]};f([...m(),r]),window.dispatchEvent(new CustomEvent(u,{detail:r}));const a=e=>{const t=m(),n=t.findIndex(e=>e.id===r.id);if(-1!==n){const r=[...t];r[n]={...r[n],context:[...e]},f(r),window.dispatchEvent(new CustomEvent(u,{detail:r[n]}))}};return a.unregister=()=>{const e=m(),t=e.findIndex(e=>e.id===r.id);-1!==t&&(f(e.filter((e,n)=>n!==t)),window.dispatchEvent(new CustomEvent(d,{detail:{id:r.id}})))},a}h||(h=!0,window.addEventListener(u,e=>{const t=e.detail;if(!t||!t.id)return;const n=m(),r=n.findIndex(e=>e.id===t.id);if(-1!==r){const e=[...n];e[r]=t,f(e,!0)}else f([...n,t],!0)}),window.addEventListener(d,e=>{var t;const n=null===(t=e.detail)||void 0===t?void 0:t.id;if(!n)return;const r=m(),a=r.findIndex(e=>e.id===n);-1!==a&&f(r.filter((e,t)=>t!==a),!0)}),window.addEventListener(p,e=>{var t;const n=null===(t=e.detail)||void 0===t?void 0:t.registry;if(!Array.isArray(n))return;const r=m(),a=new Set(r.map(e=>e.id)),s=n.filter(e=>!a.has(e.id));s.length>0&&f([...r,...s],!0)}));const b=[];function v(e,t=b){const n=(0,o.useRef)(void 0),r=(0,o.useRef)(void 0),a=(0,o.useRef)(!1);return(0,o.useEffect)(()=>{a.current=!1;const s=void 0!==r.current?r.current:t;return n.current=g(e,s),void 0!==r.current&&(r.current=void 0),()=>{var e;null===(e=n.current)||void 0===e||e.unregister(),n.current=void 0}},[e]),(0,o.useEffect)(()=>{!a.current&&n.current&&n.current(t)},[t]),(0,o.useCallback)(e=>{a.current=!0,n.current?n.current(e):r.current=e},[])}function y(e={allowQuestions:!1,allowComponents:!1}){const[t,n]=(0,o.useState)([]),r=(0,s.useLocationService)(),a=(0,o.useRef)("");(0,o.useEffect)(()=>{const e=()=>{const e=function(e){if(!e)return[];const t=[],n=m();for(const r of n)x(e,r.urlPattern)&&t.push(...r.context);return t}(r.getLocation().pathname);n(e)},t=()=>{e()},s=r.getLocationObservable().subscribe(t=>{const n=t.pathname;n!==a.current&&(a.current=n,e())});return window.addEventListener(l,t),window.addEventListener(u,t),window.addEventListener(d,t),window.addEventListener(p,t),e(),()=>{s.unsubscribe(),window.removeEventListener(l,t),window.removeEventListener(u,t),window.removeEventListener(d,t),window.removeEventListener(p,t)}},[r]);let i=t;return e.allowQuestions||(i=i.filter(e=>{var t;return"question"!==(null===(t=e.node.data)||void 0===t?void 0:t.type)})),e.allowComponents||(i=i.filter(e=>{var t;return"component"!==(null===(t=e.node.data)||void 0===t?void 0:t.type)})),i}function w(e="page-context"){return`${e}-${Date.now()}-${Math.random().toString(36).slice(2,11)}`}function x(e,t){if(t instanceof RegExp)return t.test(e);if("string"==typeof t){if(!t||""===t.trim())return!1;const n=t.replace(/\*\*/g,"\0DOUBLE_STAR\0").replace(/\*/g,"[^/]*").replace(/\u0000DOUBLE_STAR\u0000/g,".*").replace(/\?/g,".");return new RegExp(`^${n}$`).test(e)}return!1}class k extends r{constructor(e){const t=e.namespace||"components";super({...e,id:`${t}-${Object.keys(e.components).join("-")}`,type:"component"}),this.components=e.components,this.prompt=e.prompt,this.namespace=t}formatForLLM(e){return{type:this.type,codeElementIds:e,data:{name:`Custom UI components (${this.namespace})`,prompt:this.prompt?this.prompt+"\n\nIMPORTANT: The instructions and components described above are scoped to this specific context item only. Do not apply them to unrelated queries or components.":""}}}}function E(){const e=y({allowComponents:!0,allowQuestions:!1});return(0,o.useMemo)(()=>{const t={};return e.filter(e=>{var t;return null===(t=e.node.data)||void 0===t?void 0:t.components}).forEach(e=>{const n=e.node.data;if((null==n?void 0:n.components)&&Object.keys(n.components).length>0){const e=n.namespace||n.name||"components";Object.entries(n.components).forEach(([n,r])=>{t[`${e}_${n}`]=r})}}),t},[e])}function A(e,t,n,r=/.*/){if((a=r)instanceof RegExp?".*"===a.source&&""===a.flags:".*"===a||"/.*/"===a){const r=g(/.*/,[P("component",{components:n,prompt:e,namespace:t})]),a=(e,n)=>{r([P("component",{components:e,prompt:n,namespace:t})])};return a.unregister=r.unregister,a}var a;const s=g(/.*/,[P("component",{components:n,prompt:"",namespace:t})]),o=g(r,[P("component",{components:{},prompt:e,namespace:t})]),i=(e,n)=>{s([P("component",{components:e,prompt:"",namespace:t})]),o([P("component",{components:{},prompt:n,namespace:t})])};return i.unregister=()=>{s.unregister(),o.unregister()},i}class S extends r{constructor(e){super({...e,id:e.dashboardUid,type:"dashboard"}),this.dashboardUid=e.dashboardUid,this.dashboardTitle=e.dashboardTitle,this.folderUid=e.folderUid,this.folderTitle=e.folderTitle,this.text=e.dashboardTitle}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.dashboardTitle,dashboardUid:this.dashboardUid,dashboardTitle:this.dashboardTitle,folderUid:this.folderUid,folderTitle:this.folderTitle,text:this.text}}}}class $ extends r{constructor(e){super({...e,id:e.folderUid,type:"dashboard_folder"}),this.text="",this.folderUid=e.folderUid,this.folderTitle=e.folderTitle,this.text=e.folderTitle}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.folderTitle,folderUid:this.folderUid,folderTitle:this.folderTitle,text:this.text}}}}class C extends r{constructor(e){super({...e,id:e.datasourceUid,type:"datasource"}),this.datasourceUid=e.datasourceUid,this.datasourceType=e.datasourceType,this.datasourceName=e.datasourceName,this.img=e.img,this.text=e.datasourceName}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.datasourceName,uid:this.datasourceUid,type:this.datasourceType,text:this.text}}}}class I extends r{constructor(e){var t,n,r;super({id:`${e.type}-${e.name}-${[null===(t=e.scope)||void 0===t?void 0:t.env,null===(n=e.scope)||void 0===n?void 0:n.site,null===(r=e.scope)||void 0===r?void 0:r.namespace].filter(Boolean).join("-")}`,type:"entity",title:e.title,hidden:e.hidden,img:e.img,icon:e.icon,text:e.name}),this.entityType=e.type,this.name=e.name,this.scope=e.scope,this.properties=e.properties,this.text=e.name}formatForLLM(e){return{type:"entity",codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.name,text:this.text,type:this.entityType,scope:this.scope,properties:this.properties}}}}class T extends r{constructor(e){super({...e,id:`${e.datasourceUid}-${e.labelName}`,type:"label_name"}),this.datasourceUid=e.datasourceUid,this.datasourceType=e.datasourceType,this.datasourceName=e.datasourceName,this.labelName=e.labelName,this.text=e.labelName,this.img=e.img}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.labelName,datasourceUid:this.datasourceUid,datasourceType:this.datasourceType,datasourceName:this.datasourceName,labelName:this.labelName,text:this.text}}}}class L extends r{constructor(e){super({...e,id:`${e.datasourceUid}-${e.labelName}-${e.labelValue}-${e.operator||"="}`,type:"label_value"}),this.datasourceUid=e.datasourceUid,this.datasourceType=e.datasourceType,this.datasourceName=e.datasourceName,this.labelName=e.labelName,this.labelValue=e.labelValue,this.text=e.labelValue,this.img=e.img,this.operator=e.operator||"="}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.labelValue,datasourceUid:this.datasourceUid,datasourceType:this.datasourceType,datasourceName:this.datasourceName,labelName:this.labelName,labelValue:this.labelValue,text:this.text,operator:this.operator}}}}function N(e){var t,n,r,a,o;const i=(0,s.getDataSourceSrv)().getInstanceSettings(e);return{datasourceType:null!==(t=null==i?void 0:i.type)&&void 0!==t?t:"unknown",datasourceName:null!==(n=null==i?void 0:i.name)&&void 0!==n?n:e,img:null===(o=null===(a=null===(r=null==i?void 0:i.meta)||void 0===r?void 0:r.info)||void 0===a?void 0:a.logos)||void 0===o?void 0:o.small}}const _={datasource:"database",label_name:"database",label_value:"database",dashboard:"dashboard",dashboard_folder:"folder",unknown:"circle-mono",structured:"gf-grid",component:"gf-grid",entity:"asserts",skill:"play"};function P(e,t){var n,s,o;const i=function(e,t){switch(e){case"datasource":return new C({...t,...N(t.datasourceUid)});case"label_name":return new T({...t,...N(t.datasourceUid)});case"label_value":return new L({...t,...N(t.datasourceUid)});case"dashboard":return new S(t);case"dashboard_folder":return new $(t);case"structured":return new a(t);case"component":return new k({...t,hidden:!0});case"entity":return new I(t);case"unknown":return new r(t);default:return console.error(`Unknown context type: ${e}`),new r(t)}}(e,t),c=null!==(n=t.title)&&void 0!==n?n:function(e){var t;return e instanceof a?e.formatForLLM().data.name:null!==(t=e.text)&&void 0!==t?t:"Given Context"}(i),l=null!==(s=t.img)&&void 0!==s?s:function(e){if("img"in e)return e.img}(i);return{node:{id:i.id,name:c,img:l,icon:null!==(o=t.icon)&&void 0!==o?o:_[e],navigable:!1,selectable:!0,data:i},occurrences:[]}}class R extends r{constructor(e){super({...e,id:e.skillId,type:"skill",text:e.skillName}),this.skillId=e.skillId,this.skillName=e.skillName,this.text=e.skillName}formatForLLM(e){return{type:this.type,codeElementIds:e,bypassLimits:this.bypassLimits,data:{name:this.skillName,skillId:this.skillId,skillName:this.skillName,text:this.text}}}}function D(e,t){const n=w("question"),r=e=>e.map((e,t)=>({node:{id:`question-${n}-${t}`,name:e.title||e.prompt,navigable:!1,selectable:!0,icon:"question-circle",data:{type:"question",prompt:e.prompt,title:e.title,context:e.context||[]}},occurrences:[]})),a=g(e,r(t)),s=e=>{a(r(e))};return s.unregister=a.unregister,s}function U(e,t=[]){const n=(0,o.useMemo)(()=>w("question"),[]),r=e=>e.map((e,t)=>{var r;return{node:{id:`question-${n}-${t}`,name:null!==(r=e.title)&&void 0!==r?r:e.prompt,navigable:!1,selectable:!0,icon:"question-circle",data:{type:"question",prompt:e.prompt,title:e.title,context:e.context||[]}},occurrences:[]}}),a=v(e,r(t));return e=>{a(r(e))}}function q(){const e=y({allowQuestions:!0,allowComponents:!1});return B(e)}const B=e=>e.filter(e=>{var t;return"question"===(null===(t=e.node.data)||void 0===t?void 0:t.type)}).map(e=>{var t,n,r;return{prompt:(null===(t=e.node.data)||void 0===t?void 0:t.prompt)||e.node.name,title:null===(n=e.node.data)||void 0===n?void 0:n.title,context:(null===(r=e.node.data)||void 0===r?void 0:r.context)||[]}}),O=require("@grafana/data");class M extends O.BusEventWithPayload{}function G(e){const t=new M({investigationId:e});(0,s.getAppEvents)().publish(t)}function F(e){const t=(0,s.getAppEvents)().subscribe(M,t=>{e(t.payload)});return()=>t.unsubscribe()}M.type="grafana-assistant:investigation-created";const z="grafana-assistant-app/callback/v0-alpha";function j(e,t){return{namespace:e,functions:t}}function W(e){return{title:"callback",targets:[z],fn:()=>e.map(e=>({namespace:e.namespace,functions:e.functions}))}}const V=require("rxjs"),Q="grafana-assistant-app",K="Grafana Assistant",H=10,J=100,X=5e3;function Z(){return s.getObservablePluginLinks?(0,V.defer)(()=>{try{return(0,s.getObservablePluginLinks)({extensionPointId:"grafana/extension-sidebar/v0-alpha"}).pipe((0,V.map)(e=>e.some(e=>e.pluginId===Q&&e.title===K)))}catch(e){return(0,V.throwError)(()=>e)}}).pipe((0,V.retry)({count:H,delay:(e,t)=>{var n;const r=(null===(n=null==e?void 0:e.message)||void 0===n?void 0:n.toLowerCase())||"";if(!(r.includes("can only be used after")||r.includes("grafana instance has started")||r.includes("not started")))throw e;const a=Math.min(J*Math.pow(2,t-1),X);return(0,V.timer)(a)}}),(0,V.catchError)(()=>(0,V.of)(!1))):(0,V.of)(!1)}class Y extends O.BusEventWithPayload{}Y.type="open-extension-sidebar";class ee extends O.BusEventBase{}ee.type="close-extension-sidebar";class te extends O.BusEventWithPayload{}function ne(e){var t,n;(0,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 Y({pluginId:e,componentTitle:t,props:n});(0,s.getAppEvents)().publish(r)}(Q,K,{initialPrompt:e.prompt,initialContext:e.context,initialAutoSend:null===(n=e.autoSend)||void 0===n||n,origin:e.origin,initialMode:e.mode})}function re(){!function(){const e=new ee;(0,s.getAppEvents)().publish(e)}()}function ae(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 te({pluginId:e,componentTitle:t,props:n});(0,s.getAppEvents)().publish(r)}(Q,K,{initialPrompt:e.prompt,initialContext:e.context,initialAutoSend:null===(n=e.autoSend)||void 0===n||n,origin:e.origin,initialMode:e.mode})}function se(){const[e,t]=(0,o.useState)(void 0);(0,o.useEffect)(()=>{const e=Z().subscribe(t);return()=>e.unsubscribe()},[]);const n=null!=e&&e;return{isLoading:void 0===e,isAvailable:n,openAssistant:n?ne:void 0,closeAssistant:n?re:void 0,toggleAssistant:n?ae:void 0}}te.type="toggle-extension-sidebar";const oe=require("@grafana/ui");var ie=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{n.insertRule(e,n.cssRules.length)}catch(e){}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach(function(e){var t;return null==(t=e.parentNode)?void 0:t.removeChild(e)}),this.tags=[],this.ctr=0},e}(),ce=Math.abs,le=String.fromCharCode,ue=Object.assign;function de(e){return e.trim()}function pe(e,t,n){return e.replace(t,n)}function me(e,t){return e.indexOf(t)}function fe(e,t){return 0|e.charCodeAt(t)}function he(e,t,n){return e.slice(t,n)}function ge(e){return e.length}function be(e){return e.length}function ve(e,t){return t.push(e),e}var ye=1,we=1,xe=0,ke=0,Ee=0,Ae="";function Se(e,t,n,r,a,s,o){return{value:e,root:t,parent:n,type:r,props:a,children:s,line:ye,column:we,length:o,return:""}}function $e(e,t){return ue(Se("",null,null,"",null,null,0),e,{length:-e.length},t)}function Ce(){return Ee=ke>0?fe(Ae,--ke):0,we--,10===Ee&&(we=1,ye--),Ee}function Ie(){return Ee=ke<xe?fe(Ae,ke++):0,we++,10===Ee&&(we=1,ye++),Ee}function Te(){return fe(Ae,ke)}function Le(){return ke}function Ne(e,t){return he(Ae,e,t)}function _e(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Pe(e){return ye=we=1,xe=ge(Ae=e),ke=0,[]}function Re(e){return Ae="",e}function De(e){return de(Ne(ke-1,Be(91===e?e+2:40===e?e+1:e)))}function Ue(e){for(;(Ee=Te())&&Ee<33;)Ie();return _e(e)>2||_e(Ee)>3?"":" "}function qe(e,t){for(;--t&&Ie()&&!(Ee<48||Ee>102||Ee>57&&Ee<65||Ee>70&&Ee<97););return Ne(e,Le()+(t<6&&32==Te()&&32==Ie()))}function Be(e){for(;Ie();)switch(Ee){case e:return ke;case 34:case 39:34!==e&&39!==e&&Be(Ee);break;case 40:41===e&&Be(e);break;case 92:Ie()}return ke}function Oe(e,t){for(;Ie()&&e+Ee!==57&&(e+Ee!==84||47!==Te()););return"/*"+Ne(t,ke-1)+"*"+le(47===e?e:Ie())}function Me(e){for(;!_e(Te());)Ie();return Ne(e,ke)}var Ge="-ms-",Fe="-moz-",ze="-webkit-",je="comm",We="rule",Ve="decl",Qe="@keyframes";function Ke(e,t){for(var n="",r=be(e),a=0;a<r;a++)n+=t(e[a],a,e,t)||"";return n}function He(e,t,n,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case Ve:return e.return=e.return||e.value;case je:return"";case Qe:return e.return=e.value+"{"+Ke(e.children,r)+"}";case We:e.value=e.props.join(",")}return ge(n=Ke(e.children,r))?e.return=e.value+"{"+n+"}":""}function Je(e){return Re(Xe("",null,null,null,[""],e=Pe(e),0,[0],e))}function Xe(e,t,n,r,a,s,o,i,c){for(var l=0,u=0,d=o,p=0,m=0,f=0,h=1,g=1,b=1,v=0,y="",w=a,x=s,k=r,E=y;g;)switch(f=v,v=Ie()){case 40:if(108!=f&&58==fe(E,d-1)){-1!=me(E+=pe(De(v),"&","&\f"),"&\f")&&(b=-1);break}case 34:case 39:case 91:E+=De(v);break;case 9:case 10:case 13:case 32:E+=Ue(f);break;case 92:E+=qe(Le()-1,7);continue;case 47:switch(Te()){case 42:case 47:ve(Ye(Oe(Ie(),Le()),t,n),c);break;default:E+="/"}break;case 123*h:i[l++]=ge(E)*b;case 125*h:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:-1==b&&(E=pe(E,/\f/g,"")),m>0&&ge(E)-d&&ve(m>32?et(E+";",r,n,d-1):et(pe(E," ","")+";",r,n,d-2),c);break;case 59:E+=";";default:if(ve(k=Ze(E,t,n,l,u,a,i,y,w=[],x=[],d),s),123===v)if(0===u)Xe(E,t,k,k,w,s,d,i,x);else switch(99===p&&110===fe(E,3)?100:p){case 100:case 108:case 109:case 115:Xe(e,k,k,r&&ve(Ze(e,k,k,0,0,a,i,y,a,w=[],d),x),a,x,d,i,r?w:x);break;default:Xe(E,k,k,k,[""],x,0,i,x)}}l=u=m=0,h=b=1,y=E="",d=o;break;case 58:d=1+ge(E),m=f;default:if(h<1)if(123==v)--h;else if(125==v&&0==h++&&125==Ce())continue;switch(E+=le(v),v*h){case 38:b=u>0?1:(E+="\f",-1);break;case 44:i[l++]=(ge(E)-1)*b,b=1;break;case 64:45===Te()&&(E+=De(Ie())),p=Te(),u=d=ge(y=E+=Me(Le())),v++;break;case 45:45===f&&2==ge(E)&&(h=0)}}return s}function Ze(e,t,n,r,a,s,o,i,c,l,u){for(var d=a-1,p=0===a?s:[""],m=be(p),f=0,h=0,g=0;f<r;++f)for(var b=0,v=he(e,d+1,d=ce(h=o[f])),y=e;b<m;++b)(y=de(h>0?p[b]+" "+v:pe(v,/&\f/g,p[b])))&&(c[g++]=y);return Se(e,t,n,0===a?We:i,c,l,u)}function Ye(e,t,n){return Se(e,t,n,je,le(Ee),he(e,2,-2),0)}function et(e,t,n,r){return Se(e,t,n,Ve,he(e,0,r),he(e,r+1,-1),r)}var tt=function(e,t,n){for(var r=0,a=0;r=a,a=Te(),38===r&&12===a&&(t[n]=1),!_e(a);)Ie();return Ne(e,ke)},nt=new WeakMap,rt=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||nt.get(n))&&!r){nt.set(e,!0);for(var a=[],s=function(e,t){return Re(function(e,t){var n=-1,r=44;do{switch(_e(r)){case 0:38===r&&12===Te()&&(t[n]=1),e[n]+=tt(ke-1,t,n);break;case 2:e[n]+=De(r);break;case 4:if(44===r){e[++n]=58===Te()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=le(r)}}while(r=Ie());return e}(Pe(e),t))}(t,a),o=n.props,i=0,c=0;i<s.length;i++)for(var l=0;l<o.length;l++,c++)e.props[c]=a[i]?s[i].replace(/&\f/g,o[l]):o[l]+" "+s[i]}}},at=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}};function st(e,t){switch(function(e,t){return 45^fe(e,0)?(((t<<2^fe(e,0))<<2^fe(e,1))<<2^fe(e,2))<<2^fe(e,3):0}(e,t)){case 5103:return ze+"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 ze+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return ze+e+Fe+e+Ge+e+e;case 6828:case 4268:return ze+e+Ge+e+e;case 6165:return ze+e+Ge+"flex-"+e+e;case 5187:return ze+e+pe(e,/(\w+).+(:[^]+)/,ze+"box-$1$2"+Ge+"flex-$1$2")+e;case 5443:return ze+e+Ge+"flex-item-"+pe(e,/flex-|-self/,"")+e;case 4675:return ze+e+Ge+"flex-line-pack"+pe(e,/align-content|flex-|-self/,"")+e;case 5548:return ze+e+Ge+pe(e,"shrink","negative")+e;case 5292:return ze+e+Ge+pe(e,"basis","preferred-size")+e;case 6060:return ze+"box-"+pe(e,"-grow","")+ze+e+Ge+pe(e,"grow","positive")+e;case 4554:return ze+pe(e,/([^-])(transform)/g,"$1"+ze+"$2")+e;case 6187:return pe(pe(pe(e,/(zoom-|grab)/,ze+"$1"),/(image-set)/,ze+"$1"),e,"")+e;case 5495:case 3959:return pe(e,/(image-set\([^]*)/,ze+"$1$`$1");case 4968:return pe(pe(e,/(.+:)(flex-)?(.*)/,ze+"box-pack:$3"+Ge+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+ze+e+e;case 4095:case 3583:case 4068:case 2532:return pe(e,/(.+)-inline(.+)/,ze+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(ge(e)-1-t>6)switch(fe(e,t+1)){case 109:if(45!==fe(e,t+4))break;case 102:return pe(e,/(.+:)(.+)-([^]+)/,"$1"+ze+"$2-$3$1"+Fe+(108==fe(e,t+3)?"$3":"$2-$3"))+e;case 115:return~me(e,"stretch")?st(pe(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==fe(e,t+1))break;case 6444:switch(fe(e,ge(e)-3-(~me(e,"!important")&&10))){case 107:return pe(e,":",":"+ze)+e;case 101:return pe(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+ze+(45===fe(e,14)?"inline-":"")+"box$3$1"+ze+"$2$3$1"+Ge+"$2box$3")+e}break;case 5936:switch(fe(e,t+11)){case 114:return ze+e+Ge+pe(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return ze+e+Ge+pe(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return ze+e+Ge+pe(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return ze+e+Ge+e+e}return e}var ot=[function(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case Ve:e.return=st(e.value,e.length);break;case Qe:return Ke([$e(e,{value:pe(e.value,"@","@"+ze)})],r);case We:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,function(t){switch(function(e){return(e=/(::plac\w+|:read-\w+)/.exec(e))?e[0]:e}(t)){case":read-only":case":read-write":return Ke([$e(e,{props:[pe(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return Ke([$e(e,{props:[pe(t,/:(plac\w+)/,":"+ze+"input-$1")]}),$e(e,{props:[pe(t,/:(plac\w+)/,":-moz-$1")]}),$e(e,{props:[pe(t,/:(plac\w+)/,Ge+"input-$1")]})],r)}return""})}}],it={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};function ct(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}var lt=/[A-Z]|^ms/g,ut=/_EMO_([^_]+?)_([^]*?)_EMO_/g,dt=function(e){return 45===e.charCodeAt(1)},pt=function(e){return null!=e&&"boolean"!=typeof e},mt=ct(function(e){return dt(e)?e:e.replace(lt,"-$&").toLowerCase()}),ft=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(ut,function(e,t,n){return gt={name:t,styles:n,next:gt},t})}return 1===it[e]||dt(e)||"number"!=typeof t||0===t?t:t+"px"};function ht(e,t,n){if(null==n)return"";var r=n;if(void 0!==r.__emotion_styles)return r;switch(typeof n){case"boolean":return"";case"object":var a=n;if(1===a.anim)return gt={name:a.name,styles:a.styles,next:gt},a.name;var s=n;if(void 0!==s.styles){var o=s.next;if(void 0!==o)for(;void 0!==o;)gt={name:o.name,styles:o.styles,next:gt},o=o.next;return s.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var a=0;a<n.length;a++)r+=ht(e,t,n[a])+";";else for(var s in n){var o=n[s];if("object"!=typeof o){var i=o;null!=t&&void 0!==t[i]?r+=s+"{"+t[i]+"}":pt(i)&&(r+=mt(s)+":"+ft(s,i)+";")}else if(!Array.isArray(o)||"string"!=typeof o[0]||null!=t&&void 0!==t[o[0]]){var c=ht(e,t,o);switch(s){case"animation":case"animationName":r+=mt(s)+":"+c+";";break;default:r+=s+"{"+c+"}"}}else for(var l=0;l<o.length;l++)pt(o[l])&&(r+=mt(s)+":"+ft(s,o[l])+";")}return r}(e,t,n);case"function":if(void 0!==e){var i=gt,c=n(e);return gt=i,ht(e,t,c)}}var l=n;if(null==t)return l;var u=t[l];return void 0!==u?u:l}var gt,bt=/label:\s*([^\s;{]+)\s*(;|$)/g;function vt(e,t,n){if(1===e.length&&"object"==typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];var r=!0,a="";gt=void 0;var s=e[0];null==s||void 0===s.raw?(r=!1,a+=ht(n,t,s)):a+=s[0];for(var o=1;o<e.length;o++)a+=ht(n,t,e[o]),r&&(a+=s[o]);bt.lastIndex=0;for(var i,c="";null!==(i=bt.exec(a));)c+="-"+i[1];var l=function(e){for(var t,n=0,r=0,a=e.length;a>=4;++r,a-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(a){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)}(a)+c;return{name:l,styles:a,next:gt}}function yt(e,t,n){var r="";return n.split(" ").forEach(function(n){void 0!==e[n]?t.push(e[n]+";"):n&&(r+=n+" ")}),r}function wt(e,t){if(void 0===e.inserted[t.name])return e.insert("",t,e.sheet,!0)}function xt(e,t,n){var r=[],a=yt(e,r,n);return r.length<2?n:a+t(r)}var kt=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 o in s="",a)a[o]&&o&&(s&&(s+=" "),s+=o);break;default:s=a}s&&(n&&(n+=" "),n+=s)}}return n};var Et=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||ot,o={},i=[];r=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n<t.length;n++)o[t[n]]=!0;i.push(e)});var c,l,u,d,p=[He,(d=function(e){c.insert(e)},function(e){e.root||(e=e.return)&&d(e)})],m=(l=[rt,at].concat(s,p),u=be(l),function(e,t,n,r){for(var a="",s=0;s<u;s++)a+=l[s](e,t,n,r)||"";return a});a=function(e,t,n,r){c=n,Ke(Je(e?e+"{"+t.styles+"}":t.styles),m),r&&(f.inserted[t.name]=!0)};var f={key:t,sheet:new ie({key:t,container:r,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:o,registered:{},insert:a};return f.sheet.hydrate(i),f}(e);t.sheet.speedy=function(e){this.isSpeedy=e},t.compat=!0;var n=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var a=vt(n,t.registered,void 0);return function(e,t){!function(e,t){var n=e.key+"-"+t.name;void 0===e.registered[n]&&(e.registered[n]=t.styles)}(e,t);var n=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var r=t;do{e.insert(t===r?"."+n:"",r,e.sheet,!0),r=r.next}while(void 0!==r)}}(t,a),t.key+"-"+a.name};return{css:n,cx:function(){for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];return xt(t.registered,n,kt(r))},injectGlobal:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var a=vt(n,t.registered);wt(t,a)},keyframes:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var a=vt(n,t.registered),s="animation-"+a.name;return wt(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:yt.bind(null,t.registered),merge:xt.bind(null,t.registered,n)}}({key:"css"}),At=(Et.flush,Et.hydrate,Et.cx),St=(Et.merge,Et.getRegisteredStyles,Et.injectGlobal,Et.keyframes),$t=Et.css;function Ct(e){const{isAvailable:t,openAssistant:n}=se();return t&&n?i().createElement(It,{...e,openAssistant:n}):null}function It({prompt:e,origin:t,context:n,autoSend:r=!0,title:a="Analyze with Assistant",size:c="sm",iconOnlyButton:l=!1,openAssistant:u,onClick:d}){const p=(0,oe.useStyles2)(Tt);return(0,o.useEffect)(()=>{(0,s.reportInteraction)("grafana_assistant_app_open_sidebar_button_displayed",{from:t})},[t]),i().createElement(i().Fragment,null,l?i().createElement(oe.IconButton,{name:"ai-sparkle",onClick:()=>{null==d||d(),u({prompt:e,context:n,autoSend:r,origin:t})},variant:"secondary",size:c,"aria-label":a,className:p.icon,tooltip:a,"data-testid":"assistant-icon-button"}):i().createElement(oe.Button,{icon:"ai-sparkle",onClick:()=>{null==d||d(),u({prompt:e,context:n,autoSend:r,origin:t})},variant:"secondary",fill:"solid",size:c,title:a,"aria-label":a,className:p.button,"data-testid":"assistant-button"},a))}Et.sheet,Et.cache;const Tt=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)`,o={content:'""',position:"absolute",inset:0,borderRadius:a,cornerShape:"squircle",background:"linear-gradient(90deg, rgb(168, 85, 247), rgb(249, 115, 22))",zIndex:-2,pointerEvents:"none"},i=e=>({content:'""',position:"absolute",inset:"1px",borderRadius:s,cornerShape:"squircle",background:`linear-gradient(${e}, ${e}), ${r}`,zIndex:-1,transition:"none",pointerEvents:"none"});return{button:$t({label:"assistant-button",width:"fit-content",maxWidth:"100%",position:"relative",isolation:"isolate",border:"none",transition:"none !important","&::before":o,"&::after":{...i(t),transition:"none"},"&:hover":{transition:"none !important"},"&:hover::after":{background:`linear-gradient(${n}, ${n}), ${r}`}}),icon:$t({label:"assistant-icon",position:"relative",isolation:"isolate",border:"none",background:"none",padding:e.spacing(.5),"&::before":{...o,transition:"background 0.1s ease"},"&:hover::after":{...i(t),background:`linear-gradient(${n}, ${n}), ${r}`}})}},Lt={sm:32,md:36,lg:40};function Nt(e){const{isAvailable:t,openAssistant:n}=se();return t&&n?i().createElement(_t,{...e,openAssistant:n}):null}function _t({prompt:e,origin:t,context:n,autoSend:r=!0,title:a="Chat with Assistant",size:c="sm",onClick:l,menuItems:u,tooltip:d,dropdownButtonWidth:p,openAssistant:m}){const f=(0,oe.useStyles2)(Pt),h=Boolean(u),g="number"==typeof(b=null!=p?p:Lt[c])?`${b}px`:b;var b;(0,o.useEffect)(()=>{(0,s.reportInteraction)("grafana_assistant_app_open_sidebar_split_button_displayed",{from:t})},[t]);const v=i().createElement("div",{className:f.wrapper},i().createElement(oe.ButtonGroup,{className:f.buttonGroup},i().createElement(oe.Button,{icon:"ai-sparkle",onClick:()=>{null==l||l(),m({prompt:e,context:n,autoSend:r,origin:t})},variant:"secondary",fill:"solid",size:c,"aria-label":a,className:At(f.segmentButton,h?f.mainButtonSplit:f.mainButtonSolo),"data-testid":"assistant-split-button-main"},a),u&&i().createElement(oe.Dropdown,{overlay:u},i().createElement(oe.Button,{variant:"secondary",icon:"angle-down",size:c,"aria-label":"More AI actions",className:At(f.segmentButton,f.dropdownButton),style:{width:g,minWidth:g},"data-testid":"assistant-split-button-dropdown"}))));return d?i().createElement(oe.Tooltip,{content:d},v):v}const Pt=e=>{const t=e.colors.secondary.main,n=e.colors.emphasize(t,.05),r=e.colors.background.canvas,a=e.colors.border.weak,s=e.shape.radius.default,o=`max(calc(${s} - 1px), 1px)`;return{wrapper:$t({label:"assistant-split-button-wrapper",position:"relative",isolation:"isolate",display:"inline-block","&::before":{content:'""',position:"absolute",inset:0,borderRadius:s,cornerShape:"squircle",background:"linear-gradient(90deg, rgb(168, 85, 247), rgb(249, 115, 22))",zIndex:-1,pointerEvents:"none"},"&::after":{content:'""',position:"absolute",inset:"1px",borderRadius:o,cornerShape:"squircle",background:`linear-gradient(${t}, ${t}), ${r}`,zIndex:-1,pointerEvents:"none"}}),buttonGroup:$t({label:"assistant-split-button-group",gap:0,position:"relative",zIndex:1,borderRadius:o,overflow:"hidden","& button":{border:"none",boxShadow:"none",background:"transparent !important"}}),segmentButton:$t({label:"assistant-split-button-segment",position:"relative","&:hover":{background:`${n} !important`},"&:focus-visible":{background:`${n} !important`},'&[aria-expanded="true"]':{background:`${n} !important`}}),mainButtonSolo:$t({label:"assistant-split-button-main-solo",borderRadius:o}),mainButtonSplit:$t({label:"assistant-split-button-main-split",borderTopLeftRadius:o,borderBottomLeftRadius:o,borderTopRightRadius:0,borderBottomRightRadius:0}),dropdownButton:$t({label:"assistant-split-button-dropdown",display:"inline-flex",alignItems:"center",justifyContent:"center",gap:0,borderTopLeftRadius:0,borderBottomLeftRadius:0,borderTopRightRadius:o,borderBottomRightRadius:o,padding:"0 !important",boxShadow:`inset 1px 0 0 ${a}`,"& svg":{margin:0}})}},Rt=e=>{const t=["rgb(168, 85, 247)","rgb(249, 115, 22)"];if("dark"===e.name.toLowerCase()||"light"===e.name.toLowerCase())return t;const n=e.colors.gradients.brandHorizontal.match(/#[0-9A-Fa-f]{6}/g);return!n||n.length<2?t:[n[0],n[1]]},Dt=(e,t,n,r)=>{const a=Array.from({length:101},(e,t)=>t),s={},[o,i]=Rt(e),c=null!=n?n:o,l=null!=r?r:i;return a.forEach(e=>{s[`${e}%`]={backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from ${3.6*e}deg, transparent 60%, ${c} 80%, ${l} 100%, transparent 15%)\n `}}),s},Ut="__grafanaAssistantInlineFactory__",qt="__grafanaAssistantInlineInitializer__",Bt="__grafanaAssistantInlineInitPromise__";function Ot(e){const t=window[Ut];t&&t!==e?console.warn("InlineAssistant factory already set; ignoring subsequent setInlineAssistantFactory call"):t||(window[Ut]=e)}function Mt(e){const t=window[qt];t&&t!==e?console.warn("InlineAssistant initializer already set; ignoring subsequent setInlineAssistantInitializer call"):t||(window[qt]=e)}async function Gt(){if(window[Ut])return;const e=window[qt];if(!e)throw new Error("InlineAssistant not initialized. Make sure the Grafana Assistant plugin is loaded and initialized.");const t=window[Bt];if(t)return t;const n=(async()=>{try{await e()}catch(e){throw window[Bt]=null,e}})();return window[Bt]=n,n}function Ft(){const e=window[Ut];if(!e)throw new Error("InlineAssistant factory not initialized. Make sure the Grafana Assistant plugin is loaded.");return e}function zt(){const[e,t]=(0,o.useState)(!1),[n,r]=(0,o.useState)(""),[a,s]=(0,o.useState)(null),i=(0,o.useRef)(null),c=(0,o.useCallback)(()=>{s(null),r("")},[]),l=(0,o.useCallback)(()=>{i.current&&i.current.cancel(),t(!1)},[]),u=(0,o.useCallback)(async e=>{var n;s(null),r(""),t(!0);try{await Gt();const n=Ft();i.current||(i.current=await n(e.origin)),await i.current.sendPrompt({prompt:e.prompt,agentName:e.agentName,agentId:e.agentId,systemPrompt:e.systemPrompt,tools:e.tools,onStart:()=>{t(!0)},onDelta:t=>{var n;r(e=>e+t),null===(n=e.onDelta)||void 0===n||n.call(e,t)},onComplete:n=>{var a;r(n),t(!1),null===(a=e.onComplete)||void 0===a||a.call(e,n)},onError:n=>{var r;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,o.useEffect)(()=>()=>{i.current&&(i.current.cancel(),i.current.dispose(),i.current=null)},[]),{generate:u,isGenerating:e,content:n,error:a,cancel:l,reset:c}}function jt({value:e,onChange:t,origin:n,systemPrompt:r,onComplete:a,onError:s,onDelta:i,disabled:c=!1,autoGenerate:l=!1,streaming:u=!1,getUserPrompt:d}){const{generate:p,isGenerating:m,content:f,error:h,reset:g}=zt(),b=(0,o.useRef)(!1),v=(0,o.useRef)(e),y=(0,o.useRef)(d);y.current=d;const w=m?u?f:"":e,x=!(d?d(e.trim()):e.trim())||c||m,k=(0,o.useCallback)(o=>{v.current=e,t(""),g(),p({prompt:o,origin:n,systemPrompt:r,onDelta:i,onComplete:e=>{t(e),null==a||a(e)},onError:e=>{t(v.current),null==s||s(e)}})},[e,t,n,r,i,a,s,p,g]);return(0,o.useEffect)(()=>{!l||!r||e||b.current||c||(b.current=!0,k(r))},[]),{displayValue:w,isSendDisabled:x,handleGenerate:(0,o.useCallback)(()=>{const t=y.current,n=t?t(e.trim()):e.trim();!n||c||m||k(n)},[e,c,m,k]),isGenerating:m,error:h}}const Wt=["Generating...","Brewing...","Cooking...","Crunching...","Phrasing...","Wording...","Crafting...","Composing...","Drafting...","Shaping...","Forming...","Molding...","Sketching...","Whipping up...","Conjuring...","Stirring..."];function Vt(e,t){const[n,r]=(0,o.useState)(""),a=(0,o.useRef)(!1);if(e&&!a.current){const e=Wt[Math.floor(Math.random()*Wt.length)];return r(e),a.current=!0,e}return e||(a.current=!1),e?n:t}function Qt({value:e,onChange:t,placeholder:n,origin:r,systemPrompt:a,onComplete:s,onError:o,onDelta:c,disabled:l=!1,autoGenerate:u=!1,streaming:d=!1,getUserPrompt:p,className:m,"data-testid":f}){const{displayValue:h,isSendDisabled:g,handleGenerate:b,isGenerating:v,error:y}=jt({value:e,onChange:t,origin:r,systemPrompt:a,onComplete:s,onError:o,onDelta:c,disabled:l,autoGenerate:u,streaming:d,getUserPrompt:p}),w=(0,oe.useStyles2)(Kt),x=Vt(v,null!=n?n:"Ask AI to generate..."),k=i().createElement(oe.IconButton,{name:"ai-sparkle",onClick:b,disabled:g,tooltip:g?"Enter text to generate":"Generate with AI","data-testid":f?`${f}-send`:void 0});return i().createElement("div",{className:At(w.wrapper,{[w.animatedWrapper]:v},m),"data-testid":f},i().createElement(oe.Input,{value:h,onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),b())},onChange:e=>t(e.currentTarget.value),placeholder:x,disabled:l||v,suffix:k,invalid:!!y,"data-testid":f?`${f}-input`:void 0}))}const Kt=e=>{const t=e.colors.background.primary,n=St({label:"ai-input-border-animation",...Dt(e,t)}),[r,a]=Rt(e);return{wrapper:$t({label:"ai-text-input-wrapper",position:"relative",border:"1px solid transparent",borderRadius:e.shape.radius.default,cornerShape:"squircle"}),animatedWrapper:$t({label:"ai-text-input-animated",border:"1px solid transparent",backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from 0deg, transparent 60%, ${r} 80%, ${a} 100%, transparent 15%)\n `,backgroundOrigin:"border-box",backgroundClip:"padding-box, border-box",animation:`${n} 2s linear infinite`,"& input":{border:"none !important"}})}};function Ht({value:e,onChange:t,placeholder:n,origin:r,systemPrompt:a,onComplete:s,onError:o,onDelta:c,disabled:l=!1,autoGenerate:u=!1,streaming:d=!1,getUserPrompt:p,rows:m=4,className:f,"data-testid":h}){const{displayValue:g,isSendDisabled:b,handleGenerate:v,isGenerating:y,error:w}=jt({value:e,onChange:t,origin:r,systemPrompt:a,onComplete:s,onError:o,onDelta:c,disabled:l,autoGenerate:u,streaming:d,getUserPrompt:p}),x=(0,oe.useStyles2)(Jt),k=Vt(y,null!=n?n:"Ask AI to generate... (Cmd/Ctrl+Enter to send)"),E=Math.max(m,2);return i().createElement("div",{className:At(x.textareaWrapper,{[x.animatedWrapper]:y},f),"data-testid":h},i().createElement(oe.TextArea,{value:g,onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),v())},onChange:e=>t(e.currentTarget.value),placeholder:k,disabled:l||y,rows:E,className:x.textarea,invalid:!!w,"data-testid":h?`${h}-textarea`:void 0}),i().createElement(oe.IconButton,{name:"ai-sparkle",onClick:v,disabled:b,className:x.sendButton,"aria-label":"Generate with AI",tooltip:b?"Enter text to generate":"Generate with AI (Cmd/Ctrl+Enter)","data-testid":h?`${h}-send`:void 0}))}const Jt=e=>{const t=e.colors.background.primary,n=St({label:"ai-textarea-border-animation",...Dt(e,t)}),[r,a]=Rt(e);return{textareaWrapper:$t({label:"ai-textarea-wrapper",position:"relative",border:"1px solid transparent",borderRadius:e.shape.radius.default,cornerShape:"squircle"}),animatedWrapper:$t({label:"ai-textarea-animated",border:"1px solid transparent",backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from 0deg, transparent 60%, ${r} 80%, ${a} 100%, transparent 15%)\n `,backgroundOrigin:"border-box",backgroundClip:"padding-box, border-box",animation:`${n} 2s linear infinite`,"& textarea":{border:"none !important"}}),textarea:$t({label:"ai-textarea",paddingRight:e.spacing(4),minHeight:e.spacing(6),"& textarea":{minHeight:e.spacing(6)},scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),sendButton:$t({label:"ai-textarea-send",position:"absolute",right:e.spacing(1),top:e.spacing(1)})}};function Xt(e){const t=["refId","hide","key","queryType","datasource"];for(const n in e)if("label"!==n&&!t.includes(n))return!1;return!0}function Zt({size:e,currentQuery:t,queries:n,dataSourceInstanceSettings:r,app:a,datasourceApi:s,title:o="Query with Assistant"}){var c;const{isAvailable:l,openAssistant:u}=se();if(!l||!u)return null;const d=`grafana/query-editor/${r.type}/${null!==(c=null!=a?a:O.CoreApp.Unknown)&&void 0!==c?c:"unknown"}`,p=!Xt(t),m=n.filter(e=>e.refId!==t.refId&&!Xt(e)),f=[P("datasource",{datasourceUid:r.uid})];p&&f.push(P("structured",{title:"Current query",data:t})),m.length>0&&f.push(P("structured",{title:"Other queries",data:{queries:m}}));const h=p&&(null==s?void 0:s.getQueryDisplayText)?s.getQueryDisplayText(t):null,g=!!h,b=g?"Help me update the current query to answer my questions and provide the insights I need.":"Help me create a new query to answer my questions and provide the insights I need.",v=[];h&&v.push(`Current query: ${h}`),v.push(`Selected data source: ${r.name}`);const y=g?"Please describe what you want to change or improve in this query.":"Please describe what you want to query and what insights you're looking for.",w=[b,"```",...v,"```",y].join("\n");return i().createElement(It,{prompt:w,origin:d,context:f,autoSend:!1,title:o,size:e,openAssistant:u})}const Yt=["What does this panel show?","Explain the trend in this data","Why is there a spike?","Add a threshold at 80%","Change the legend to table mode"];function en(e){const{isAvailable:t,openAssistant:n}=se();return t&&n?i().createElement(tn,{...e,openAssistant:n}):null}function tn({origin:e,context:t,mode:n,placeholder:r,examplePrompts:a,animated:c=!0,onClose:l,onSubmit:u,onClick:d,className:p,openAssistant:m}){const[f,h]=(0,o.useState)(""),g=(0,o.useRef)(null),b=(0,oe.useStyles2)(rn),v=null!=r?r:"Ask Assistant...",y=function(e,t,n){const[r,a]=(0,o.useState)(""),s=(0,o.useRef)(0),i=(0,o.useRef)(0),c=(0,o.useRef)("typing");return(0,o.useEffect)(()=>{if(s.current=0,i.current=0,c.current="typing",a(""),n||0===t.length)return;let e;const r=()=>{e=setTimeout(()=>{(()=>{const e=t[s.current];"typing"===c.current?(i.current++,a(e.slice(0,i.current)),i.current>=e.length&&(c.current="pause")):"pause"===c.current?c.current="erasing":"erasing"===c.current&&(i.current--,a(e.slice(0,i.current)),i.current<=0&&(c.current="typing",s.current=(s.current+1)%t.length))})(),r()},"pause"===c.current?800:"erasing"===c.current?15:30+20*Math.random())};return r(),()=>clearTimeout(e)},[n,t]),n||0===t.length?e:r}(v,null!=a?a:void 0!==r?[]:Yt,f.length>0);(0,o.useEffect)(()=>{(0,s.reportInteraction)("grafana_assistant_app_prompt_card_displayed",{from:e})},[e]),(0,o.useEffect)(()=>{const e=requestAnimationFrame(()=>{var e;return null===(e=g.current)||void 0===e?void 0:e.focus()});return()=>cancelAnimationFrame(e)},[t]);const w=(0,o.useCallback)(r=>{const a=r.trim();a&&(m({prompt:a,context:t,autoSend:!0,origin:e,mode:n}),null==u||u(a),h(""))},[m,t,e,n,u]);return i().createElement("div",{className:At(c?b.card:b.cardStatic,p),onClick:d,role:"search","aria-label":v,"data-testid":"assistant-prompt-card"},i().createElement("div",{className:b.inputRow},i().createElement(oe.Input,{ref:g,value:f,onChange:e=>h(e.currentTarget.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),w(f)),"Escape"===e.key&&(e.preventDefault(),null==l||l())},placeholder:y,suffix:i().createElement(oe.IconButton,{name:"ai-sparkle",onClick:()=>w(f),disabled:!f.trim(),tooltip:"Send to assistant","aria-label":"Send to assistant","data-testid":"assistant-prompt-card-send"}),"data-testid":"assistant-prompt-card-input"})))}function nn(e){return["rgba(168, 85, 247, 0.25) 3px -1px 20px","rgba(249, 115, 22, 0.18) -5px 3px 40px","rgba(168, 85, 247, 0.12) 7px 4px 60px",(e.isDark?"rgb(17 18 23)":"rgb(245 245 245)")+" 0 6px 30px"].join(", ")}const rn=e=>{const t=e.colors.background.primary,[n,r]=Rt(e),a=St({label:"prompt-card-border",...Dt(e,t)}),s={label:"assistant-prompt-card",position:"relative",display:"flex",flexDirection:"column",gap:e.spacing(1),padding:e.spacing(1),borderRadius:e.shape.radius.lg,boxShadow:nn(e)};return{card:$t({...s,cornerShape:"squircle",background:t,border:"1px solid transparent",backgroundImage:`\n linear-gradient(${t}, ${t}),\n conic-gradient(from 0deg, transparent 60%, ${n} 80%, ${r} 100%, transparent 15%)\n `,backgroundOrigin:"border-box",backgroundClip:"padding-box, border-box",[e.transitions.handleMotion("no-preference")]:{animation:`${a} 2s linear infinite`}}),cardStatic:$t({...s,label:"assistant-prompt-card-static",background:e.colors.background.elevated,border:`1px solid ${e.colors.border.weak}`}),inputRow:$t({label:"prompt-card-input-row",display:"flex",alignItems:"center",gap:e.spacing(.5),"& input":{border:"none !important"}})}};function an(e){const t=e.split("+")[0].split("-"),n=t[0],r=t.length>1?t.slice(1).join("-"):void 0,a=n.split(".").map(Number);return 3!==a.length||a.some(isNaN)?null:{major:a[0],minor:a[1],patch:a[2],prerelease:r}}const sn="grafana-assistant-terms-and-conditions-refresh";async function on(){var e,t;const n=(0,s.getBackendSrv)(),r=`${null!==(e=null===s.config||void 0===s.config?void 0:s.config.appSubUrl)&&void 0!==e?e:""}/api/plugins/${Q}/resources/api/v1/settings/terms`,a=(await(0,V.lastValueFrom)(n.fetch({url:r,method:"GET",showErrorAlert:!1}))).data.data,o=null!==(t=a.acceptedTermsAndConditions)&&void 0!==t&&t,i=a.acceptedVersion,c=a.version,l=a.termsType;if("msa"===l)return{accepted:o,termsType:l};if(!o||!i||!c)return{accepted:!1,termsType:l};const u=1===function(e,t){const n=an(e),r=an(t);return n&&r?n.major!==r.major?n.major>r.major?1:-1:n.minor!==r.minor?n.minor>r.minor?1:-1:n.patch!==r.patch?n.patch>r.patch?1:-1:n.prerelease&&r.prerelease?n.prerelease===r.prerelease?0:n.prerelease>r.prerelease?1:-1:n.prerelease&&!r.prerelease?-1:!n.prerelease&&r.prerelease?1:0:null}(c,i);return{accepted:o&&!u,termsType:l}}async function cn(){try{return(await on()).accepted}catch(e){throw new Error(`Failed to check terms requirements: ${e instanceof Error?e.message:String(e)}`)}}function ln(){const[e,t]=(0,o.useState)(!1),[n,r]=(0,o.useState)(null),[a,s]=(0,o.useState)(!0),[i,c]=(0,o.useState)(null);return(0,o.useEffect)(()=>{async function e(){try{s(!0),c(null);const e=await on();t(e.accepted),r(e.termsType)}catch(e){const n=e instanceof Error?e.message:"Failed to check terms";c(n),t(!1),r(null)}finally{s(!1)}}e();const n=()=>{e()};return document.addEventListener(sn,n),()=>{document.removeEventListener(sn,n)}},[]),{accepted:e,termsType:n,loading:a,error:i}}function un(e,t){var n;const{explainer:r,...a}=null!==(n=t.metadata)&&void 0!==n?n:{},s={name:t.name,description:t.description,inputSchema:t.inputSchema,metadata:r?{...a,explainer:e=>r(e)}:a,responseFormat:t.responseFormat,verboseParsingErrors:t.verboseParsingErrors,async invoke(n,r){var a;try{if(null===(a=r.signal)||void 0===a?void 0:a.aborted)throw new Error(`Tool ${t.name} execution was aborted`);const s=t.validate(n),o=[e(s,r)];return r.signal&&o.push(new Promise((e,n)=>{var a;null===(a=r.signal)||void 0===a||a.addEventListener("abort",()=>{n(new Error(`Tool ${t.name} execution was aborted`))},{once:!0})})),r.timeout&&r.timeout>0&&o.push(new Promise((e,n)=>{setTimeout(()=>{n(new Error(`Tool ${t.name} execution timed out after ${r.timeout}ms`))},r.timeout)})),Promise.race(o)}catch(e){throw t.verboseParsingErrors&&console.error(`Error invoking tool ${t.name}:`,e,n),e}}};return s}const dn="grafana-assistant-limits-updated";async function pn(){var e,t,n,r;const a=(0,s.getBackendSrv)(),o=`${null!==(e=null===s.config||void 0===s.config?void 0:s.config.appSubUrl)&&void 0!==e?e:""}/api/plugins/${Q}/resources/api/v1/usage/limits/prompt`,i=(await(0,V.lastValueFrom)(a.fetch({url:o,method:"GET",showErrorAlert:!1}))).data.data,c=null!==(t=i.total)&&void 0!==t?t:0,l=null!==(n=i.limit)&&void 0!==n?n:0;return{count:c,limit:l,month:null!==(r=i.month)&&void 0!==r?r:"",isLimitReached:l>0&&c>=l}}async function mn(){try{return await pn()}catch(e){throw new Error(`Failed to check limits: ${e instanceof Error?e.message:String(e)}`)}}function fn(){const[e,t]=(0,o.useState)(0),[n,r]=(0,o.useState)(0),[a,s]=(0,o.useState)(""),[i,c]=(0,o.useState)(!0),[l,u]=(0,o.useState)(null),d=(0,o.useCallback)(async()=>{try{c(!0),u(null);const e=await pn();t(e.count),r(e.limit),s(e.month)}catch(e){const n=e instanceof Error?e.message:"Failed to fetch limits";u(n),t(0),r(0),s("")}finally{c(!1)}},[]);return(0,o.useEffect)(()=>{d()},[d]),(0,o.useEffect)(()=>{const e=e=>{const n=e;n.detail&&(t(n.detail.count),r(n.detail.limit),u(null))};return window.addEventListener(dn,e),()=>{window.removeEventListener(dn,e)}},[]),{count:e,limit:n,month:a,isLimitReached:n>0&&e>=n,loading:i,error:l,refetch:d}}module.exports=t})();
|
|
2
2
|
//# sourceMappingURL=index.js.map
|