@copilotkit/vue 1.59.3 → 1.59.5-canary.1781104893

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("@copilotkit/core"),A=require("@ag-ui/client"),e=require("./use-render-activity-message-CiFAWxYV.cjs"),a=require("vue"),C=require("@copilotkit/shared");function m(n){return typeof n!="function"?n:(o=>{const r=typeof o.result=="string"?{...o,result:C.parseJson(o.result,o.result)}:o;return n(r)})}function _(n,o){const r="parameters"in n?C.getZodParameters(n.parameters):void 0;if(n.name==="*"){e.useRenderTool({name:"*",render:m(n.render),..."agentId"in n?{agentId:n.agentId}:{}},o);return}const t=n;if("renderAndWaitForResponse"in t||"renderAndWait"in t){const l=t.render??t.renderAndWaitForResponse??t.renderAndWait;if(!l){console.warn(`[CopilotKit] useCopilotAction: HITL action '${t.name}' has no render function. Skipping.`);return}e.useHumanInTheLoop({name:t.name,description:t.description,parameters:r,render:m(l),agentId:t.agentId},o);return}if(t.available==="frontend"||t.available==="disabled"){t.render&&r?e.useRenderTool({name:t.name,parameters:r,render:m(t.render),agentId:t.agentId},o):console.warn(`[CopilotKit] useCopilotAction: action '${t.name}' with available="${t.available}" requires both 'render' and 'parameters'. Skipping registration.`);return}const c=t.handler?l=>Promise.resolve(t.handler(l)):void 0;let s;t.available==="remote"?s=!1:t.available!==void 0&&(s=!0),e.useFrontendTool({name:t.name,description:t.description,parameters:r,handler:c,followUp:t.followUp,render:m(t.render),available:s,agentId:t.agentId},o)}function b(n,o){const{name:r,description:t,parameters:c,handler:s,followUp:l,available:f,render:u,agentId:d}=n,p=C.getZodParameters(c),g=s?i=>Promise.resolve(s(i)):void 0,v=typeof u=="function"?i=>{const h=typeof i.result=="string"?{...i,result:C.parseJson(i.result,i.result)}:i;return u(h)}:u;e.useFrontendTool({name:r,description:t,parameters:p,handler:g,followUp:l,render:v,available:f===void 0?void 0:f!=="disabled",agentId:d},o)}function I(n,o){const{copilotkit:r}=e.useCopilotKit(),t=a.ref(void 0),c=o??[];return a.watch([()=>n.description,()=>n.value,()=>n.convert,()=>n.available,...c],(s,l,f)=>{const u=r.value;if(!u)return;const{description:d,value:p,convert:g,available:v}=n;let i;try{i=g?g(d,p):JSON.stringify(p)}catch(h){console.warn(`[CopilotKit] useCopilotReadable: failed to serialize value for "${d}":`,h),i=String(p)}v!=="disabled"&&(t.value=u.addContext({description:d,value:i}),f(()=>{t.value&&u.removeContext(t.value)}))},{immediate:!0}),t}const R=a.defineComponent({__name:"CopilotKit",props:{publicApiKey:{},publicLicenseKey:{},runtimeUrl:{},headers:{type:[Object,Function]},credentials:{},defaultThrottleMs:{},licenseToken:{},properties:{},useSingleEndpoint:{type:Boolean},agents__unsafe_dev_only:{},selfManagedAgents:{},renderToolCalls:{},renderActivityMessages:{},renderCustomMessages:{},frontendTools:{},humanInTheLoop:{},openGenerativeUI:{},showDevConsole:{type:[Boolean,String]},onError:{type:Function},a2ui:{},inspectorDefaultAnchor:{},debug:{type:[Boolean,Object]}},setup(n){const o=n;return(r,t)=>(a.openBlock(),a.createBlock(e._sfc_main$15,a.normalizeProps(a.guardReactiveProps(o)),{default:a.withCtx(()=>[a.renderSlot(r.$slots,"default")]),_:3},16))}});exports.A2UIActivityContentSchema=e.A2UIActivityContentSchema;exports.A2UISurfaceActivityRenderer=e._sfc_main;exports.A2UISurfaceActivityType=e.A2UISurfaceActivityType;exports.CopilotChat=e.CopilotChat;exports.CopilotChatAssistantMessage=e._sfc_main$1;exports.CopilotChatAttachmentQueue=e._sfc_main$2;exports.CopilotChatAttachmentRenderer=e._sfc_main$3;exports.CopilotChatAudioRecorder=e._sfc_main$4;exports.CopilotChatConfigurationProvider=e._sfc_main$5;exports.CopilotChatDefaultLabels=e.CopilotChatDefaultLabels;exports.CopilotChatInput=e._sfc_main$6;exports.CopilotChatMessageView=e._sfc_main$7;exports.CopilotChatReasoningMessage=e._sfc_main$8;exports.CopilotChatSuggestionPill=e._sfc_main$9;exports.CopilotChatSuggestionView=e._sfc_main$10;exports.CopilotChatToggleButton=e.CopilotChatToggleButton;exports.CopilotChatToggleButtonCloseIcon=e.CopilotChatToggleButtonCloseIcon;exports.CopilotChatToggleButtonOpenIcon=e.CopilotChatToggleButtonOpenIcon;exports.CopilotChatToolCallsView=e._sfc_main$11;exports.CopilotChatUserMessage=e._sfc_main$12;exports.CopilotChatView=e._sfc_main$13;exports.CopilotKitCoreVue=e.CopilotKitCoreVue;exports.CopilotKitInspector=e._sfc_main$14;exports.CopilotKitProvider=e._sfc_main$15;exports.CopilotModalHeader=e.CopilotModalHeader;exports.CopilotPopup=e._sfc_main$16;exports.CopilotPopupView=e.CopilotPopupView;exports.CopilotSidebar=e._sfc_main$17;exports.CopilotSidebarView=e.CopilotSidebarView;exports.GenerateSandboxedUiArgsSchema=e.GenerateSandboxedUiArgsSchema;exports.LicenseContextKey=e.LicenseContextKey;exports.MCPAppsActivityContentSchema=e.MCPAppsActivityContentSchema;exports.MCPAppsActivityRenderer=e.MCPAppsActivityRenderer;exports.MCPAppsActivityType=e.MCPAppsActivityType;exports.OpenGenerativeUIActivityRenderer=e.OpenGenerativeUIActivityRenderer;exports.OpenGenerativeUIActivityType=e.OpenGenerativeUIActivityType;exports.OpenGenerativeUIContentSchema=e.OpenGenerativeUIContentSchema;exports.OpenGenerativeUIRenderer=e.OpenGenerativeUIRenderer;exports.OpenGenerativeUIToolRenderer=e.OpenGenerativeUIToolRenderer;exports.UseAgentUpdate=e.UseAgentUpdate;exports.createA2UIMessageRenderer=e.createA2UIMessageRenderer;exports.createDefaultLicenseRef=e.createDefaultLicenseRef;exports.defineToolCallRenderer=e.defineToolCallRenderer;exports.extractCompleteStyles=e.extractCompleteStyles;exports.getOperationSurfaceId=e.getOperationSurfaceId;exports.processPartialHtml=e.processPartialHtml;exports.useAgent=e.useAgent;exports.useAgentContext=e.useAgentContext;exports.useAttachments=e.useAttachments;exports.useCapabilities=e.useCapabilities;exports.useComponent=e.useComponent;exports.useConfigureSuggestions=e.useConfigureSuggestions;exports.useCopilotChatConfiguration=e.useCopilotChatConfiguration;exports.useCopilotKit=e.useCopilotKit;exports.useDefaultRenderTool=e.useDefaultRenderTool;exports.useHumanInTheLoop=e.useHumanInTheLoop;exports.useInterrupt=e.useInterrupt;exports.useKatexStyles=e.useKatexStyles;exports.useKeyboardHeight=e.useKeyboardHeight;exports.useLicenseContext=e.useLicenseContext;exports.useRenderActivityMessage=e.useRenderActivityMessage;exports.useRenderCustomMessages=e.useRenderCustomMessages;exports.useRenderTool=e.useRenderTool;exports.useSandboxFunctions=e.useSandboxFunctions;exports.useSuggestions=e.useSuggestions;exports.useThreads=e.useThreads;Object.defineProperty(exports,"createLicenseContextValue",{enumerable:!0,get:()=>C.createLicenseContextValue});exports.CopilotKit=R;exports.useCopilotAction=_;exports.useCopilotReadable=I;exports.useFrontendTool=b;Object.keys(y).forEach(n=>{n!=="default"&&!Object.prototype.hasOwnProperty.call(exports,n)&&Object.defineProperty(exports,n,{enumerable:!0,get:()=>y[n]})});Object.keys(A).forEach(n=>{n!=="default"&&!Object.prototype.hasOwnProperty.call(exports,n)&&Object.defineProperty(exports,n,{enumerable:!0,get:()=>A[n]})});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("@copilotkit/core"),A=require("@ag-ui/client"),e=require("./use-render-activity-message-BxkQ_mQ0.cjs"),a=require("vue"),C=require("@copilotkit/shared");function m(n){return typeof n!="function"?n:(o=>{const r=typeof o.result=="string"?{...o,result:C.parseJson(o.result,o.result)}:o;return n(r)})}function _(n,o){const r="parameters"in n?C.getZodParameters(n.parameters):void 0;if(n.name==="*"){e.useRenderTool({name:"*",render:m(n.render),..."agentId"in n?{agentId:n.agentId}:{}},o);return}const t=n;if("renderAndWaitForResponse"in t||"renderAndWait"in t){const l=t.render??t.renderAndWaitForResponse??t.renderAndWait;if(!l){console.warn(`[CopilotKit] useCopilotAction: HITL action '${t.name}' has no render function. Skipping.`);return}e.useHumanInTheLoop({name:t.name,description:t.description,parameters:r,render:m(l),agentId:t.agentId},o);return}if(t.available==="frontend"||t.available==="disabled"){t.render&&r?e.useRenderTool({name:t.name,parameters:r,render:m(t.render),agentId:t.agentId},o):console.warn(`[CopilotKit] useCopilotAction: action '${t.name}' with available="${t.available}" requires both 'render' and 'parameters'. Skipping registration.`);return}const c=t.handler?l=>Promise.resolve(t.handler(l)):void 0;let s;t.available==="remote"?s=!1:t.available!==void 0&&(s=!0),e.useFrontendTool({name:t.name,description:t.description,parameters:r,handler:c,followUp:t.followUp,render:m(t.render),available:s,agentId:t.agentId},o)}function b(n,o){const{name:r,description:t,parameters:c,handler:s,followUp:l,available:f,render:u,agentId:d}=n,p=C.getZodParameters(c),g=s?i=>Promise.resolve(s(i)):void 0,v=typeof u=="function"?i=>{const h=typeof i.result=="string"?{...i,result:C.parseJson(i.result,i.result)}:i;return u(h)}:u;e.useFrontendTool({name:r,description:t,parameters:p,handler:g,followUp:l,render:v,available:f===void 0?void 0:f!=="disabled",agentId:d},o)}function I(n,o){const{copilotkit:r}=e.useCopilotKit(),t=a.ref(void 0),c=o??[];return a.watch([()=>n.description,()=>n.value,()=>n.convert,()=>n.available,...c],(s,l,f)=>{const u=r.value;if(!u)return;const{description:d,value:p,convert:g,available:v}=n;let i;try{i=g?g(d,p):JSON.stringify(p)}catch(h){console.warn(`[CopilotKit] useCopilotReadable: failed to serialize value for "${d}":`,h),i=String(p)}v!=="disabled"&&(t.value=u.addContext({description:d,value:i}),f(()=>{t.value&&u.removeContext(t.value)}))},{immediate:!0}),t}const R=a.defineComponent({__name:"CopilotKit",props:{publicApiKey:{},publicLicenseKey:{},runtimeUrl:{},headers:{type:[Object,Function]},credentials:{},defaultThrottleMs:{},licenseToken:{},properties:{},useSingleEndpoint:{type:Boolean},agents__unsafe_dev_only:{},selfManagedAgents:{},renderToolCalls:{},renderActivityMessages:{},renderCustomMessages:{},frontendTools:{},humanInTheLoop:{},openGenerativeUI:{},showDevConsole:{type:[Boolean,String]},onError:{type:Function},a2ui:{},inspectorDefaultAnchor:{},debug:{type:[Boolean,Object]}},setup(n){const o=n;return(r,t)=>(a.openBlock(),a.createBlock(e._sfc_main$15,a.normalizeProps(a.guardReactiveProps(o)),{default:a.withCtx(()=>[a.renderSlot(r.$slots,"default")]),_:3},16))}});exports.A2UIActivityContentSchema=e.A2UIActivityContentSchema;exports.A2UISurfaceActivityRenderer=e._sfc_main;exports.A2UISurfaceActivityType=e.A2UISurfaceActivityType;exports.CopilotChat=e.CopilotChat;exports.CopilotChatAssistantMessage=e._sfc_main$1;exports.CopilotChatAttachmentQueue=e._sfc_main$2;exports.CopilotChatAttachmentRenderer=e._sfc_main$3;exports.CopilotChatAudioRecorder=e._sfc_main$4;exports.CopilotChatConfigurationProvider=e._sfc_main$5;exports.CopilotChatDefaultLabels=e.CopilotChatDefaultLabels;exports.CopilotChatInput=e._sfc_main$6;exports.CopilotChatMessageView=e._sfc_main$7;exports.CopilotChatReasoningMessage=e._sfc_main$8;exports.CopilotChatSuggestionPill=e._sfc_main$9;exports.CopilotChatSuggestionView=e._sfc_main$10;exports.CopilotChatToggleButton=e.CopilotChatToggleButton;exports.CopilotChatToggleButtonCloseIcon=e.CopilotChatToggleButtonCloseIcon;exports.CopilotChatToggleButtonOpenIcon=e.CopilotChatToggleButtonOpenIcon;exports.CopilotChatToolCallsView=e._sfc_main$11;exports.CopilotChatUserMessage=e._sfc_main$12;exports.CopilotChatView=e._sfc_main$13;exports.CopilotKitCoreVue=e.CopilotKitCoreVue;exports.CopilotKitInspector=e._sfc_main$14;exports.CopilotKitProvider=e._sfc_main$15;exports.CopilotModalHeader=e.CopilotModalHeader;exports.CopilotPopup=e._sfc_main$16;exports.CopilotPopupView=e.CopilotPopupView;exports.CopilotSidebar=e._sfc_main$17;exports.CopilotSidebarView=e.CopilotSidebarView;exports.GenerateSandboxedUiArgsSchema=e.GenerateSandboxedUiArgsSchema;exports.LicenseContextKey=e.LicenseContextKey;exports.MCPAppsActivityContentSchema=e.MCPAppsActivityContentSchema;exports.MCPAppsActivityRenderer=e.MCPAppsActivityRenderer;exports.MCPAppsActivityType=e.MCPAppsActivityType;exports.OpenGenerativeUIActivityRenderer=e.OpenGenerativeUIActivityRenderer;exports.OpenGenerativeUIActivityType=e.OpenGenerativeUIActivityType;exports.OpenGenerativeUIContentSchema=e.OpenGenerativeUIContentSchema;exports.OpenGenerativeUIRenderer=e.OpenGenerativeUIRenderer;exports.OpenGenerativeUIToolRenderer=e.OpenGenerativeUIToolRenderer;exports.UseAgentUpdate=e.UseAgentUpdate;exports.createA2UIMessageRenderer=e.createA2UIMessageRenderer;exports.createDefaultLicenseRef=e.createDefaultLicenseRef;exports.defineToolCallRenderer=e.defineToolCallRenderer;exports.extractCompleteStyles=e.extractCompleteStyles;exports.getOperationSurfaceId=e.getOperationSurfaceId;exports.processPartialHtml=e.processPartialHtml;exports.useAgent=e.useAgent;exports.useAgentContext=e.useAgentContext;exports.useAttachments=e.useAttachments;exports.useCapabilities=e.useCapabilities;exports.useComponent=e.useComponent;exports.useConfigureSuggestions=e.useConfigureSuggestions;exports.useCopilotChatConfiguration=e.useCopilotChatConfiguration;exports.useCopilotKit=e.useCopilotKit;exports.useDefaultRenderTool=e.useDefaultRenderTool;exports.useHumanInTheLoop=e.useHumanInTheLoop;exports.useInterrupt=e.useInterrupt;exports.useKatexStyles=e.useKatexStyles;exports.useKeyboardHeight=e.useKeyboardHeight;exports.useLicenseContext=e.useLicenseContext;exports.useRenderActivityMessage=e.useRenderActivityMessage;exports.useRenderCustomMessages=e.useRenderCustomMessages;exports.useRenderTool=e.useRenderTool;exports.useSandboxFunctions=e.useSandboxFunctions;exports.useSuggestions=e.useSuggestions;exports.useThreads=e.useThreads;Object.defineProperty(exports,"createLicenseContextValue",{enumerable:!0,get:()=>C.createLicenseContextValue});exports.CopilotKit=R;exports.useCopilotAction=_;exports.useCopilotReadable=I;exports.useFrontendTool=b;Object.keys(y).forEach(n=>{n!=="default"&&!Object.prototype.hasOwnProperty.call(exports,n)&&Object.defineProperty(exports,n,{enumerable:!0,get:()=>y[n]})});Object.keys(A).forEach(n=>{n!=="default"&&!Object.prototype.hasOwnProperty.call(exports,n)&&Object.defineProperty(exports,n,{enumerable:!0,get:()=>A[n]})});
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  export * from "@copilotkit/core";
2
2
  export * from "@ag-ui/client";
3
- import { a9 as g, a2 as y, a1 as v, $ as b, u as I } from "./use-render-activity-message-C6mweDb2.js";
4
- import { A as k, _ as W, a as J, C as j, b as E, c as q, d as N, e as Q, f as Z, g as X, h as Y, i as ee, j as te, k as ae, l as oe, m as ne, n as re, o as se, p as ie, q as le, r as de, s as ue, t as pe, v as ce, w as Ce, x as me, y as fe, z as ge, G as ve, L as he, M as Ae, B as ye, D as be, O as Ie, E as Re, F as Se, H as Te, I as xe, U as we, J as Ue, K as Pe, N as Me, P as Ke, Q as _e, R as ze, S as Oe, T as Ve, V as Le, W as Be, X as He, Y as De, Z as Fe, a0 as Ge, a3 as $e, a4 as ke, a5 as We, a6 as Je, a7 as je, a8 as Ee, aa as qe, ab as Ne, ac as Qe } from "./use-render-activity-message-C6mweDb2.js";
3
+ import { a9 as g, a2 as y, a1 as v, $ as b, u as I } from "./use-render-activity-message-CCdCVec7.js";
4
+ import { A as k, _ as W, a as J, C as j, b as E, c as q, d as N, e as Q, f as Z, g as X, h as Y, i as ee, j as te, k as ae, l as oe, m as ne, n as re, o as se, p as ie, q as le, r as de, s as ue, t as pe, v as ce, w as Ce, x as me, y as fe, z as ge, G as ve, L as he, M as Ae, B as ye, D as be, O as Ie, E as Re, F as Se, H as Te, I as xe, U as we, J as Ue, K as Pe, N as Me, P as Ke, Q as _e, R as ze, S as Oe, T as Ve, V as Le, W as Be, X as He, Y as De, Z as Fe, a0 as Ge, a3 as $e, a4 as ke, a5 as We, a6 as Je, a7 as je, a8 as Ee, aa as qe, ab as Ne, ac as Qe } from "./use-render-activity-message-CCdCVec7.js";
5
5
  import { ref as R, watch as S, defineComponent as T, openBlock as x, createBlock as w, normalizeProps as U, guardReactiveProps as P, withCtx as M, renderSlot as K } from "vue";
6
6
  import { getZodParameters as h, parseJson as A } from "@copilotkit/shared";
7
7
  import { createLicenseContextValue as Xe } from "@copilotkit/shared";
@@ -45,7 +45,7 @@ window.parent.postMessage({jsonrpc:"2.0",method:"ui/notifications/sandbox-proxy-
45
45
  `);let r=!0;for(const i of Ge.components.keys())if(!o.components.has(i)){r=!1;break}const s=[];for(const i of o.components.keys())Ge.components.has(i)||s.push(i);a.push(`- ${o.id}`),r?a.push(" Extends the basic catalog with all standard components plus:"):(a.push(" Custom catalog (does NOT include all basic components)."),a.push(" Custom components:"));for(const i of s){const l=o.components.get(i);if(!l)continue;const c=Tt.zodToJsonSchema(l.schema);a.push(` - ${i}:`),a.push(` ${JSON.stringify(c,null,2).split(`
46
46
  `).join(`
47
47
  `)}`)}return a.join(`
48
- `)}function Fo(t){const o=t??Ge,n={};for(const[a,r]of o.components){const s=Tt.zodToJsonSchema(r.schema,{target:"jsonSchema2019-09"});n[a]={allOf:[{$ref:"common_types.json#/$defs/ComponentCommon"},{properties:{component:{const:a},...s.properties??{}},required:["component",...s.required??[]]}]}}return{catalogId:o.id,components:n}}function No(t,o){const n=e.computed(()=>Vo(o.catalog()));e.watch([()=>t.value,o.enabled,n],([r,s,i],l,c)=>{if(!s)return;const p=r.addContext({description:"A2UI catalog capabilities: available catalog IDs and custom component definitions the client can render.",value:i});c(()=>r.removeContext(p))},{immediate:!0});const a=e.computed(()=>o.includeSchema()?JSON.stringify(Fo(o.catalog())):null);e.watch([()=>t.value,o.enabled,a],([r,s,i],l,c)=>{if(!s||!i)return;const p=[];p.push(r.addContext({description:Bo,value:i})),p.push(r.addContext({description:"A2UI generation guidelines — protocol rules, tool arguments, path rules, data model format, and form/two-way-binding instructions.",value:z.A2UI_DEFAULT_GENERATION_GUIDELINES})),p.push(r.addContext({description:"A2UI design guidelines — visual design rules, component hierarchy tips, and action handler patterns.",value:z.A2UI_DEFAULT_DESIGN_GUIDELINES})),c(()=>{for(const y of p)r.removeContext(y)})},{immediate:!0})}function mn(t){const o=t.match(/<style\b[^>]*>[\s\S]*?<\/style>/gi);return o?o.join(""):""}function fn(t){let o=t;o=o.replace(/<[^>]*$/,""),o=o.replace(/<(style|script|head)\b[^>]*>[\s\S]*?<\/\1>/gi,""),o=o.replace(/<(style|script|head)\b[^>]*>[\s\S]*$/gi,""),o=o.replace(/&[a-zA-Z0-9#]*$/,"");const n=o.match(/<body[^>]*>([\s\S]*)/i);return n&&(o=n[1],o=o.replace(/<\/body>[\s\S]*/i,"")),o}function gn(){const t=e.inject(sn,e.computed(()=>[]));return e.computed(()=>t.value)}const hn="open-generative-ui",vn=X.z.object({initialHeight:X.z.number().optional(),generating:X.z.boolean().optional(),css:X.z.string().optional(),cssComplete:X.z.boolean().optional(),html:X.z.array(X.z.string()).optional(),htmlComplete:X.z.boolean().optional(),jsFunctions:X.z.string().optional(),jsFunctionsComplete:X.z.boolean().optional(),jsExpressions:X.z.array(X.z.string()).optional(),jsExpressionsComplete:X.z.boolean().optional()}),kn=X.z.object({initialHeight:X.z.number().optional(),placeholderMessages:X.z.array(X.z.string()).optional(),css:X.z.string().optional(),html:X.z.string().optional(),jsFunctions:X.z.string().optional(),jsExpressions:X.z.array(X.z.string()).optional()});function Oo(t,o){return!!(o.cssComplete&&(!t||!t.cssComplete)||o.htmlComplete||o.generating===!1||o.jsFunctions&&(!t||!t.jsFunctions)||(o.jsExpressions?.length??0)>(t?.jsExpressions?.length??0)||o.html?.length&&(!t||!t.html?.length))}function Do(t){return/<head[\s>]/i.test(t)?t:`<head></head>${t}`}function Lo(t,o){const n=t.indexOf("</head>");return n!==-1?t.slice(0,n)+`<style>${o}</style>`+t.slice(n):`<head><style>${o}</style></head>${t}`}async function zt(){const t=await import("@jetbrains/websandbox");return t.default?.default??t.default}const bn=e.defineComponent({name:"OpenGenerativeUIRenderer",props:{content:{type:Object,required:!0}},setup(t){const o=gn(),n=e.ref(null),a=e.ref(t.content),r=e.ref(t.content),s=e.ref(null),i=e.ref(null),l=e.ref(null),c=e.ref(!1),p=e.ref(!1),y=e.ref(0),u=e.ref(!1),d=e.ref([]),f=e.computed(()=>{const T={};for(const F of o.value)T[F.name]=F.handler;return T});e.watch(()=>t.content,T=>{if(r.value=T,Oo(a.value,T)){s.value!==null&&(window.clearTimeout(s.value),s.value=null),a.value=T;return}s.value===null&&(s.value=window.setTimeout(()=>{a.value=r.value,s.value=null},1e3))},{immediate:!0}),e.onBeforeUnmount(()=>{s.value!==null&&window.clearTimeout(s.value)});const v=e.computed(()=>{if(!a.value.htmlComplete&&a.value.html?.length)return a.value.html.join("")}),C=e.computed(()=>v.value?fn(v.value):void 0),h=e.computed(()=>v.value?mn(v.value):""),w=e.computed(()=>a.value.htmlComplete&&a.value.html?.length?a.value.html.join(""):void 0),m=e.computed(()=>a.value.cssComplete?a.value.css:void 0),b=e.computed(()=>!!a.value.cssComplete&&!!C.value&&C.value.trim().length>0),g=e.computed(()=>!!w.value||b.value),k=e.computed(()=>`${a.value.initialHeight??200}px`),x=()=>{l.value&&(l.value.destroy(),l.value=null),p.value=!1},A=()=>{i.value&&(i.value.destroy(),i.value=null),c.value=!1,d.value=[],y.value=0,u.value=!1};e.watch([b,w,m,C,h,()=>n.value],async([T,F],U,te)=>{if(!T||F||!n.value||l.value)return;let H=!1;try{const L=await zt();if(H||!n.value)return;const R=L.create({},{frameContainer:n.value,frameContent:"<head></head><body></body>",allowAdditionalAttributes:""});l.value=R,R.iframe.setAttribute("data-testid","open-generative-ui-preview-sandbox"),R.iframe.style.width="100%",R.iframe.style.height="100%",R.iframe.style.border="none",R.iframe.style.backgroundColor="transparent",R.promise.then(()=>{H||!l.value||(p.value=!0,R.run("var s=document.createElement('style');s.textContent='html, body { overflow: hidden !important; }';document.head.appendChild(s);"))})}catch(L){console.error("[OpenGenerativeUI] Failed to load sandbox module:",L)}te(()=>{H=!0})},{immediate:!0}),e.watch([C,h,m,p],([T,F,U,te])=>{if(!l.value||!te)return;const H=[];U&&H.push(`<style>${U}</style>`),F&&H.push(F),H.length&&l.value.run(`document.head.innerHTML = ${JSON.stringify(H.join(""))}`),T&&l.value.run(`document.body.innerHTML = ${JSON.stringify(T)}`)},{immediate:!0}),e.watch([w,m,f,()=>n.value],async([T,F,U],te,H)=>{if(A(),!T||!n.value)return;x();let L=!1;try{const R=await zt();if(L||!n.value)return;const W=Do(T),G=F?Lo(W,F):W,I=R.create(U,{frameContainer:n.value,frameContent:G,allowAdditionalAttributes:""});i.value=I,I.iframe.setAttribute("data-testid","open-generative-ui-final-sandbox"),I.iframe.style.width="100%",I.iframe.style.height="100%",I.iframe.style.border="none",I.iframe.style.backgroundColor="transparent",I.promise.then(()=>{if(L||!i.value)return;c.value=!0,I.run("var s=document.createElement('style');s.textContent='html, body { overflow: hidden !important; }';document.head.appendChild(s);");const $=a.value.jsFunctions;$&&!u.value&&(u.value=!0,d.value.unshift($));const O=a.value.jsExpressions;if(O?.length){const se=y.value;se<O.length&&(d.value.push(...O.slice(se)),y.value=O.length)}const q=[...d.value];d.value=[];for(const se of q)I.run(se)})}catch(R){console.error("[OpenGenerativeUI] Failed to load sandbox module:",R)}H(()=>{L=!0})},{immediate:!0}),e.watch(()=>a.value.jsFunctions,T=>{!T||u.value||(u.value=!0,c.value&&i.value?i.value.run(T):d.value.push(T))}),e.watch(()=>a.value.jsExpressions,T=>{if(!T?.length)return;const F=y.value;if(F>=T.length)return;const U=T.slice(F);if(y.value=T.length,c.value&&i.value)for(const te of U)i.value.run(te);else d.value.push(...U)},{deep:!0});const E=e.computed(()=>a.value.generating!==!1);return e.watch([b,w],([T,F])=>{F&&x(),T||x()},{immediate:!0}),e.onBeforeUnmount(()=>{s.value!==null&&window.clearTimeout(s.value),x(),A()}),()=>e.h("div",{ref:n,"data-testid":"open-generative-ui-renderer",style:{position:"relative",width:"100%",height:k.value,borderRadius:"8px",backgroundColor:g.value?"transparent":"#f5f5f5",border:g.value?"none":"1px solid #e0e0e0",overflow:"hidden",display:g.value?"block":"flex",alignItems:g.value?void 0:"center",justifyContent:g.value?void 0:"center"}},[g.value?null:e.h("div",{"data-testid":"open-generative-ui-placeholder"},[e.h("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",style:{animation:"ck-spin 1s linear infinite"}},[e.h("circle",{cx:"12",cy:"12",r:"10",stroke:"#e0e0e0","stroke-width":"3"}),e.h("path",{d:"M12 2a10 10 0 0 1 10 10",stroke:"#999","stroke-width":"3","stroke-linecap":"round"})]),e.h("style","@keyframes ck-spin { to { transform: rotate(360deg) } }")]),E.value?e.h("div",{"data-testid":"open-generative-ui-progress-overlay",style:{position:"absolute",inset:0,backgroundColor:"rgba(255,255,255,0.45)"}}):null])}}),yn=e.defineComponent({name:"OpenGenerativeUIActivityRenderer",props:{activityType:{type:String,required:!0},content:{type:Object,required:!0},message:{type:Object,required:!0},agent:{type:Object,required:!1,default:void 0}},setup(t){return()=>e.h(bn,{content:t.content})}}),wn=e.defineComponent({name:"OpenGenerativeUIToolRenderer",props:{name:{type:String,required:!0},args:{type:Object,required:!0},status:{type:String,required:!0},result:{type:String,required:!1}},setup(t){const o=e.ref(0);return e.watch(()=>t.args.placeholderMessages,(n,a,r)=>{if(!n?.length||t.status===ce.ToolCallStatus.Complete)return;o.value=Math.max(n.length-1,0);const s=window.setInterval(()=>{o.value=(o.value+1)%Math.max(n.length,1)},5e3);r(()=>window.clearInterval(s))},{immediate:!0}),()=>{if(t.status===ce.ToolCallStatus.Complete)return null;const n=t.args.placeholderMessages;if(!n?.length)return null;const a=n[o.value]??n[0];return e.h("div",{style:{padding:"8px 12px",color:"#999",fontSize:"14px"},"data-testid":"open-generative-ui-tool-placeholder"},a)}}}),At=Symbol("LicenseContext");function Cn(){return e.ref(z.createLicenseContextValue(null))}const Po={style:{display:"flex",gap:"8px",alignItems:"center"}},zo=["href"],Uo=52,Ut="--copilotkit-license-banner-offset",rt=e.defineComponent({__name:"LicenseWarningBanner",props:{type:{},featureName:{default:void 0},expiryDate:{default:void 0},graceRemaining:{default:void 0}},emits:["dismiss"],setup(t,{emit:o}){const n=t,a=o,r=e.computed(()=>{switch(n.type){case"no_license":return{severity:"info",message:"Powered by CopilotKit",actionLabel:"Get a license",actionUrl:"https://copilotkit.ai/pricing"};case"feature_unlicensed":return{severity:"warning",message:`⚠ The "${n.featureName??""}" feature requires a CopilotKit license.`,actionLabel:"Get a license",actionUrl:"https://copilotkit.ai/pricing"};case"expiring":{const u=n.graceRemaining;return{severity:"warning",message:`Your CopilotKit license expires in ${u} ${u===1?"day":"days"}. Please renew.`,actionLabel:"Renew",actionUrl:"https://cloud.copilotkit.ai"}}case"expired":return{severity:"critical",message:`Your CopilotKit license expired${n.expiryDate?` on ${n.expiryDate}`:""}. Please renew at copilotkit.ai/pricing`,actionLabel:"Renew now",actionUrl:"https://copilotkit.ai/pricing"};case"invalid":return{severity:"critical",message:"Invalid CopilotKit license token. Please check your configuration.",actionLabel:"Get a license",actionUrl:"https://copilotkit.ai/pricing"};default:return null}}),s={position:"fixed",bottom:"8px",left:"50%",transform:"translateX(-50%)",zIndex:99999,display:"inline-flex",alignItems:"center",gap:"12px",whiteSpace:"nowrap",padding:"8px 16px",fontSize:"13px",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif",borderRadius:"6px",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},i=e.computed(()=>{switch(r.value?.severity){case"warning":return{backgroundColor:"#fffbeb",border:"1px solid #fbbf24",color:"#92400e"};case"critical":return{backgroundColor:"#fef2f2",border:"1px solid #fca5a5",color:"#991b1b"};default:return{backgroundColor:"#eff6ff",border:"1px solid #93c5fd",color:"#1e40af"}}}),l=e.computed(()=>({...s,...i.value})),c=e.getCurrentInstance(),p=e.computed(()=>typeof(c?.vnode.props??{}).onDismiss=="function");function y(){a("dismiss")}return e.onMounted(()=>{typeof document>"u"||document.documentElement.style.setProperty(Ut,`${Uo}px`)}),e.onBeforeUnmount(()=>{typeof document>"u"||document.documentElement.style.removeProperty(Ut)}),(u,d)=>r.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(l.value),"data-testid":"copilot-license-banner"},[e.createElementVNode("span",null,e.toDisplayString(r.value.message),1),e.createElementVNode("div",Po,[e.createElementVNode("a",{href:r.value.actionUrl,target:"_blank",rel:"noopener noreferrer",style:{fontWeight:600,textDecoration:"underline",color:"inherit"}},e.toDisplayString(r.value.actionLabel),9,zo),p.value?(e.openBlock(),e.createElementBlock("button",{key:0,style:{background:"none",border:"none",cursor:"pointer",color:"inherit",fontSize:"16px"},onClick:y}," × ")):e.createCommentVNode("",!0)])],4)):e.createCommentVNode("",!0)}}),jt="X-CopilotCloud-Public-Api-Key",jo="https://api.cloud.copilotkit.ai/copilotkit/v1",_o="frontendTools must be a stable array. If you want to dynamically add or remove tools, use `useFrontendTool` instead.",Ho="humanInTheLoop must be a stable array. If you want to dynamically add or remove human-in-the-loop tools, use `useHumanInTheLoop` instead.",Wo="renderCustomMessages must be a stable array.",qo="renderActivityMessages must be a stable array.",Ko="openGenerativeUI.sandboxFunctions must be a stable array.",Go=`When generating UI with generateSandboxedUi, follow these design principles inspired by shadcn/ui:
48
+ `)}function Fo(t){const o=t??Ge,n={};for(const[a,r]of o.components){const s=Tt.zodToJsonSchema(r.schema,{target:"jsonSchema2019-09"});n[a]={allOf:[{$ref:"common_types.json#/$defs/ComponentCommon"},{properties:{component:{const:a},...s.properties??{}},required:["component",...s.required??[]]}]}}return{catalogId:o.id,components:n}}function No(t,o){const n=e.computed(()=>Vo(o.catalog()));e.watch([()=>t.value,o.enabled,n],([r,s,i],l,c)=>{if(!s)return;const p=r.addContext({description:"A2UI catalog capabilities: available catalog IDs and custom component definitions the client can render.",value:i});c(()=>r.removeContext(p))},{immediate:!0});const a=e.computed(()=>o.includeSchema()?JSON.stringify(Fo(o.catalog())):null);e.watch([()=>t.value,o.enabled,a],([r,s,i],l,c)=>{if(!s||!i)return;const p=[];p.push(r.addContext({description:Bo,value:i})),p.push(r.addContext({description:"A2UI generation guidelines — protocol rules, tool arguments, path rules, data model format, and form/two-way-binding instructions.",value:z.A2UI_DEFAULT_GENERATION_GUIDELINES})),p.push(r.addContext({description:"A2UI design guidelines — visual design rules, component hierarchy tips, and action handler patterns.",value:z.A2UI_DEFAULT_DESIGN_GUIDELINES})),c(()=>{for(const y of p)r.removeContext(y)})},{immediate:!0})}function mn(t){const o=t.match(/<style\b[^>]*>[\s\S]*?<\/style>/gi);return o?o.join(""):""}function fn(t){let o=t;o=o.replace(/<[^>]*$/,""),o=o.replace(/<(style|script|head)\b[^>]*>[\s\S]*?<\/\1>/gi,""),o=o.replace(/<(style|script|head)\b[^>]*>[\s\S]*$/gi,""),o=o.replace(/&[a-zA-Z0-9#]*$/,"");const n=o.match(/<body[^>]*>([\s\S]*)/i);return n&&(o=n[1],o=o.replace(/<\/body>[\s\S]*/i,"")),o}function gn(){const t=e.inject(sn,e.computed(()=>[]));return e.computed(()=>t.value)}const hn="open-generative-ui",vn=X.z.object({initialHeight:X.z.number().optional(),generating:X.z.boolean().optional(),css:X.z.string().optional(),cssComplete:X.z.boolean().optional(),html:X.z.array(X.z.string()).optional(),htmlComplete:X.z.boolean().optional(),jsFunctions:X.z.string().optional(),jsFunctionsComplete:X.z.boolean().optional(),jsExpressions:X.z.array(X.z.string()).optional(),jsExpressionsComplete:X.z.boolean().optional()}),kn=X.z.object({initialHeight:X.z.number().optional(),placeholderMessages:X.z.array(X.z.string()).optional(),css:X.z.string().optional(),html:X.z.string().optional(),jsFunctions:X.z.string().optional(),jsExpressions:X.z.array(X.z.string()).optional()});function Oo(t,o){return!!(o.cssComplete&&(!t||!t.cssComplete)||o.htmlComplete||o.generating===!1||o.jsFunctions&&(!t||!t.jsFunctions)||(o.jsExpressions?.length??0)>(t?.jsExpressions?.length??0)||o.html?.length&&(!t||!t.html?.length))}function Do(t){return/<head[\s>]/i.test(t)?t:`<head></head>${t}`}function Lo(t,o){const n=t.indexOf("</head>");return n!==-1?t.slice(0,n)+`<style>${o}</style>`+t.slice(n):`<head><style>${o}</style></head>${t}`}async function zt(){const t=await import("@jetbrains/websandbox");return t.default?.default??t.default}const bn=e.defineComponent({name:"OpenGenerativeUIRenderer",props:{content:{type:Object,required:!0}},setup(t){const o=gn(),n=e.ref(null),a=e.ref(t.content),r=e.ref(t.content),s=e.ref(null),i=e.ref(null),l=e.ref(null),c=e.ref(!1),p=e.ref(!1),y=e.ref(0),u=e.ref(!1),d=e.ref([]),f=e.computed(()=>{const T={};for(const F of o.value)T[F.name]=F.handler;return T});e.watch(()=>t.content,T=>{if(r.value=T,Oo(a.value,T)){s.value!==null&&(window.clearTimeout(s.value),s.value=null),a.value=T;return}s.value===null&&(s.value=window.setTimeout(()=>{a.value=r.value,s.value=null},1e3))},{immediate:!0}),e.onBeforeUnmount(()=>{s.value!==null&&window.clearTimeout(s.value)});const v=e.computed(()=>{if(!a.value.htmlComplete&&a.value.html?.length)return a.value.html.join("")}),C=e.computed(()=>v.value?fn(v.value):void 0),h=e.computed(()=>v.value?mn(v.value):""),w=e.computed(()=>a.value.htmlComplete&&a.value.html?.length?a.value.html.join(""):void 0),m=e.computed(()=>a.value.cssComplete?a.value.css:void 0),b=e.computed(()=>!!a.value.cssComplete&&!!C.value&&C.value.trim().length>0),g=e.computed(()=>!!w.value||b.value),k=e.computed(()=>`${a.value.initialHeight??200}px`),x=()=>{l.value&&(l.value.destroy(),l.value=null),p.value=!1},A=()=>{i.value&&(i.value.destroy(),i.value=null),c.value=!1,d.value=[],y.value=0,u.value=!1};e.watch([b,w,m,C,h,()=>n.value],async([T,F],U,te)=>{if(!T||F||!n.value||l.value)return;let H=!1;try{const L=await zt();if(H||!n.value)return;const R=L.create({},{frameContainer:n.value,frameContent:"<head></head><body></body>",allowAdditionalAttributes:""});l.value=R,R.iframe.setAttribute("data-testid","open-generative-ui-preview-sandbox"),R.iframe.style.width="100%",R.iframe.style.height="100%",R.iframe.style.border="none",R.iframe.style.backgroundColor="transparent",R.promise.then(()=>{H||!l.value||(p.value=!0,R.run("var s=document.createElement('style');s.textContent='html, body { overflow: hidden !important; }';document.head.appendChild(s);"))})}catch(L){console.error("[OpenGenerativeUI] Failed to load sandbox module:",L)}te(()=>{H=!0})},{immediate:!0}),e.watch([C,h,m,p],([T,F,U,te])=>{if(!l.value||!te)return;const H=[];U&&H.push(`<style>${U}</style>`),F&&H.push(F),H.length&&l.value.run(`document.head.innerHTML = ${JSON.stringify(H.join(""))}`),T&&l.value.run(`document.body.innerHTML = ${JSON.stringify(T)}`)},{immediate:!0}),e.watch([w,m,f,()=>n.value],async([T,F,U],te,H)=>{if(A(),!T||!n.value)return;x();let L=!1;try{const R=await zt();if(L||!n.value)return;const W=Do(T),G=F?Lo(W,F):W,I=R.create(U,{frameContainer:n.value,frameContent:G,allowAdditionalAttributes:""});i.value=I,I.iframe.setAttribute("data-testid","open-generative-ui-final-sandbox"),I.iframe.style.width="100%",I.iframe.style.height="100%",I.iframe.style.border="none",I.iframe.style.backgroundColor="transparent",I.promise.then(()=>{if(L||!i.value)return;c.value=!0,I.run("var s=document.createElement('style');s.textContent='html, body { overflow: hidden !important; }';document.head.appendChild(s);");const $=a.value.jsFunctions;$&&!u.value&&(u.value=!0,d.value.unshift($));const O=a.value.jsExpressions;if(O?.length){const se=y.value;se<O.length&&(d.value.push(...O.slice(se)),y.value=O.length)}const q=[...d.value];d.value=[];for(const se of q)I.run(se)})}catch(R){console.error("[OpenGenerativeUI] Failed to load sandbox module:",R)}H(()=>{L=!0})},{immediate:!0}),e.watch(()=>a.value.jsFunctions,T=>{!T||u.value||(u.value=!0,c.value&&i.value?i.value.run(T):d.value.push(T))}),e.watch(()=>a.value.jsExpressions,T=>{if(!T?.length)return;const F=y.value;if(F>=T.length)return;const U=T.slice(F);if(y.value=T.length,c.value&&i.value)for(const te of U)i.value.run(te);else d.value.push(...U)},{deep:!0});const E=e.computed(()=>a.value.generating!==!1);return e.watch([b,w],([T,F])=>{F&&x(),T||x()},{immediate:!0}),e.onBeforeUnmount(()=>{s.value!==null&&window.clearTimeout(s.value),x(),A()}),()=>e.h("div",{ref:n,"data-testid":"open-generative-ui-renderer",style:{position:"relative",width:"100%",height:k.value,borderRadius:"8px",backgroundColor:g.value?"transparent":"#f5f5f5",border:g.value?"none":"1px solid #e0e0e0",overflow:"hidden",display:g.value?"block":"flex",alignItems:g.value?void 0:"center",justifyContent:g.value?void 0:"center"}},[g.value?null:e.h("div",{"data-testid":"open-generative-ui-placeholder"},[e.h("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",style:{animation:"ck-spin 1s linear infinite"}},[e.h("circle",{cx:"12",cy:"12",r:"10",stroke:"#e0e0e0","stroke-width":"3"}),e.h("path",{d:"M12 2a10 10 0 0 1 10 10",stroke:"#999","stroke-width":"3","stroke-linecap":"round"})]),e.h("style","@keyframes ck-spin { to { transform: rotate(360deg) } }")]),E.value?e.h("div",{"data-testid":"open-generative-ui-progress-overlay",style:{position:"absolute",inset:0,backgroundColor:"rgba(255,255,255,0.45)"}}):null])}}),yn=e.defineComponent({name:"OpenGenerativeUIActivityRenderer",props:{activityType:{type:String,required:!0},content:{type:Object,required:!0},message:{type:Object,required:!0},agent:{type:Object,required:!1,default:void 0}},setup(t){return()=>e.h(bn,{content:t.content})}}),wn=e.defineComponent({name:"OpenGenerativeUIToolRenderer",props:{name:{type:String,required:!0},args:{type:Object,required:!0},status:{type:String,required:!0},result:{type:String,required:!1}},setup(t){const o=e.ref(0);return e.watch(()=>t.args.placeholderMessages,(n,a,r)=>{if(!n?.length||t.status===ce.ToolCallStatus.Complete)return;o.value=Math.max(n.length-1,0);const s=window.setInterval(()=>{o.value=(o.value+1)%Math.max(n.length,1)},5e3);r(()=>window.clearInterval(s))},{immediate:!0}),()=>{if(t.status===ce.ToolCallStatus.Complete)return null;const n=t.args.placeholderMessages;if(!n?.length)return null;const a=n[o.value]??n[0];return e.h("div",{style:{padding:"8px 12px",color:"#999",fontSize:"14px"},"data-testid":"open-generative-ui-tool-placeholder"},a)}}}),At=Symbol("LicenseContext");function Cn(){return e.ref(z.createLicenseContextValue(null))}const Po={style:{display:"flex",gap:"8px",alignItems:"center"}},zo=["href"],Uo=52,Ut="--copilotkit-license-banner-offset",rt=e.defineComponent({__name:"LicenseWarningBanner",props:{type:{},featureName:{default:void 0},expiryDate:{default:void 0},graceRemaining:{default:void 0}},emits:["dismiss"],setup(t,{emit:o}){const n=t,a=o,r=e.computed(()=>{switch(n.type){case"no_license":return{severity:"info",message:"Powered by CopilotKit",actionLabel:"Get a license",actionUrl:"https://copilotkit.ai/pricing"};case"feature_unlicensed":return{severity:"warning",message:`⚠ The "${n.featureName??""}" feature requires a CopilotKit license.`,actionLabel:"Get a license",actionUrl:"https://copilotkit.ai/pricing"};case"expiring":{const u=n.graceRemaining;return{severity:"warning",message:`Your CopilotKit license expires in ${u} ${u===1?"day":"days"}. Please renew.`,actionLabel:"Renew",actionUrl:"https://dashboard.operations.copilotkit.ai"}}case"expired":return{severity:"critical",message:`Your CopilotKit license expired${n.expiryDate?` on ${n.expiryDate}`:""}. Please renew at copilotkit.ai/pricing`,actionLabel:"Renew now",actionUrl:"https://copilotkit.ai/pricing"};case"invalid":return{severity:"critical",message:"Invalid CopilotKit license token. Please check your configuration.",actionLabel:"Get a license",actionUrl:"https://copilotkit.ai/pricing"};default:return null}}),s={position:"fixed",bottom:"8px",left:"50%",transform:"translateX(-50%)",zIndex:99999,display:"inline-flex",alignItems:"center",gap:"12px",whiteSpace:"nowrap",padding:"8px 16px",fontSize:"13px",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif",borderRadius:"6px",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},i=e.computed(()=>{switch(r.value?.severity){case"warning":return{backgroundColor:"#fffbeb",border:"1px solid #fbbf24",color:"#92400e"};case"critical":return{backgroundColor:"#fef2f2",border:"1px solid #fca5a5",color:"#991b1b"};default:return{backgroundColor:"#eff6ff",border:"1px solid #93c5fd",color:"#1e40af"}}}),l=e.computed(()=>({...s,...i.value})),c=e.getCurrentInstance(),p=e.computed(()=>typeof(c?.vnode.props??{}).onDismiss=="function");function y(){a("dismiss")}return e.onMounted(()=>{typeof document>"u"||document.documentElement.style.setProperty(Ut,`${Uo}px`)}),e.onBeforeUnmount(()=>{typeof document>"u"||document.documentElement.style.removeProperty(Ut)}),(u,d)=>r.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(l.value),"data-testid":"copilot-license-banner"},[e.createElementVNode("span",null,e.toDisplayString(r.value.message),1),e.createElementVNode("div",Po,[e.createElementVNode("a",{href:r.value.actionUrl,target:"_blank",rel:"noopener noreferrer",style:{fontWeight:600,textDecoration:"underline",color:"inherit"}},e.toDisplayString(r.value.actionLabel),9,zo),p.value?(e.openBlock(),e.createElementBlock("button",{key:0,style:{background:"none",border:"none",cursor:"pointer",color:"inherit",fontSize:"16px"},onClick:y}," × ")):e.createCommentVNode("",!0)])],4)):e.createCommentVNode("",!0)}}),jt="X-CopilotCloud-Public-Api-Key",jo="https://api.cloud.copilotkit.ai/copilotkit/v1",_o="frontendTools must be a stable array. If you want to dynamically add or remove tools, use `useFrontendTool` instead.",Ho="humanInTheLoop must be a stable array. If you want to dynamically add or remove human-in-the-loop tools, use `useHumanInTheLoop` instead.",Wo="renderCustomMessages must be a stable array.",qo="renderActivityMessages must be a stable array.",Ko="openGenerativeUI.sandboxFunctions must be a stable array.",Go=`When generating UI with generateSandboxedUi, follow these design principles inspired by shadcn/ui:
49
49
 
50
50
  - Use a minimal, flat aesthetic. Avoid drop shadows and gradients — rely on subtle borders (1px solid, light gray like #e5e7eb) to define surfaces.
51
51
  - Neutral base palette: white backgrounds, zinc/slate gray text (#09090b for headings, #71717a for secondary text). One accent color for interactive elements.
@@ -82,4 +82,4 @@ PARAMETER ORDER IS CRITICAL — generate parameters in exactly this order:
82
82
  `);function b($){const O=l.value[$];return Array.isArray(O)?O.length>0:!!O}function g($){return typeof $=="number"?`${$}px`:$}function k($){return typeof $=="number"?`${$}px`:$}function x(){if(n.width!==void 0||!c.value)return;const $=c.value.getBoundingClientRect().width;$>0&&(p.value=$)}function A(){s.value?.setModalOpen?.(!1)}function E(){s.value?.setModalOpen?.(!0)}function T(){s.value?.setModalOpen?.(!u.value)}function F($){a("submit-message",$)}function U(){a("stop")}function te($){a("input-change",$)}function H($,O){a("select-suggestion",$,O)}function L(){a("add-file")}function R(){a("start-transcribe")}function W(){a("cancel-transcribe")}function G(){a("finish-transcribe")}const I=e.computed(()=>{const $={onSubmitMessage:F,onInputChange:te,onSelectSuggestion:H};return h.value&&($.onStop=U),b("onAddFile")&&($.onAddFile=L),b("onStartTranscribe")&&($.onStartTranscribe=R),b("onCancelTranscribe")&&($.onCancelTranscribe=W),b("onFinishTranscribe")&&($.onFinishTranscribe=G),$});return e.watch(()=>n.width,$=>{if($!==void 0){p.value=$;return}x()}),e.onMounted(async()=>{await e.nextTick(),x(),!(n.width!==void 0||!c.value||typeof ResizeObserver>"u")&&(y=new ResizeObserver(()=>{x()}),y.observe(c.value))}),e.onBeforeUnmount(()=>{y?.disconnect(),y=null}),($,O)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[u.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent("style"),{key:0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value),1)]),_:1})):e.createCommentVNode("",!0),e.renderSlot($.$slots,"toggle-button",{isOpen:u.value,toggle:T,open:E,close:A},()=>[e.createVNode(Vt)]),e.createElementVNode("aside",e.mergeProps({ref_key:"sidebarRef",ref:c,"data-copilotkit":"","data-copilot-sidebar":"",class:v.value,style:w.value,"aria-label":"Copilot chat sidebar","aria-hidden":!u.value,role:"complementary"},C.value),[e.createElementVNode("div",yr,[e.renderSlot($.$slots,"header",{title:f.value,onClose:A,isOpen:u.value},()=>[e.createVNode(Ft,{title:f.value},null,8,["title"])]),e.createElementVNode("div",wr,[e.createVNode(Ze,e.mergeProps({messages:t.messages,"auto-scroll":t.autoScroll,"is-running":t.isRunning,suggestions:t.suggestions,"suggestion-loading-indexes":t.suggestionLoadingIndexes,"welcome-screen":t.welcomeScreen,"input-value":t.inputValue,"input-mode":t.inputMode,"input-tools-menu":t.inputToolsMenu,"on-finish-transcribe-with-audio":t.onFinishTranscribeWithAudio},I.value),e.createSlots({_:2},[$.$slots["message-view"]?{name:"message-view",fn:e.withCtx(q=>[e.renderSlot($.$slots,"message-view",e.normalizeProps(e.guardReactiveProps(q)))]),key:"0"}:void 0,$.$slots["scroll-view"]?{name:"scroll-view",fn:e.withCtx(q=>[e.renderSlot($.$slots,"scroll-view",e.normalizeProps(e.guardReactiveProps(q)))]),key:"1"}:void 0,$.$slots.feather?{name:"feather",fn:e.withCtx(()=>[e.renderSlot($.$slots,"feather")]),key:"2"}:void 0,$.$slots["scroll-to-bottom-button"]?{name:"scroll-to-bottom-button",fn:e.withCtx(q=>[e.renderSlot($.$slots,"scroll-to-bottom-button",e.normalizeProps(e.guardReactiveProps(q)))]),key:"3"}:void 0,$.$slots.input?{name:"input",fn:e.withCtx(q=>[e.renderSlot($.$slots,"input",e.normalizeProps(e.guardReactiveProps(q)))]),key:"4"}:void 0,$.$slots["suggestion-view"]?{name:"suggestion-view",fn:e.withCtx(q=>[e.renderSlot($.$slots,"suggestion-view",e.normalizeProps(e.guardReactiveProps(q)))]),key:"5"}:void 0,$.$slots["welcome-screen"]?{name:"welcome-screen",fn:e.withCtx(q=>[e.renderSlot($.$slots,"welcome-screen",e.normalizeProps(e.guardReactiveProps(q)))]),key:"6"}:void 0,$.$slots["welcome-message"]?{name:"welcome-message",fn:e.withCtx(()=>[e.renderSlot($.$slots,"welcome-message")]),key:"7"}:void 0]),1040,["messages","auto-scroll","is-running","suggestions","suggestion-loading-indexes","welcome-screen","input-value","input-mode","input-tools-menu","on-finish-transcribe-with-audio"])])])],16,br)],64))}}),_n=e.defineComponent({inheritAttrs:!1,__name:"CopilotSidebarView",props:{width:{default:void 0},defaultOpen:{type:Boolean,default:!0},messages:{default:()=>[]},autoScroll:{type:[String,Boolean],default:!0},isRunning:{type:Boolean,default:!1},suggestions:{default:()=>[]},suggestionLoadingIndexes:{default:()=>[]},welcomeScreen:{type:Boolean,default:!0},attachments:{},dragOver:{type:Boolean},inputValue:{default:void 0},inputMode:{default:"input"},inputToolsMenu:{default:()=>[]},isConnecting:{type:Boolean},hasExplicitThreadId:{type:Boolean},onRemoveAttachment:{},onAddFile:{},onDragOver:{},onDragLeave:{},onDrop:{},onFinishTranscribeWithAudio:{type:Function,default:void 0}},emits:["submit-message","stop","input-change","select-suggestion","add-file","start-transcribe","cancel-transcribe","finish-transcribe"],setup(t,{emit:o}){const n=t,a=o,r=e.useAttrs(),s=e.getCurrentInstance(),i=e.computed(()=>s?.vnode.props??{}),l=e.computed(()=>{const{defaultOpen:u,...d}=n;return d}),c=e.computed(()=>({...r,...l.value,...y.value}));function p(u){const d=i.value[u];return Array.isArray(d)?d.length>0:!!d}const y=e.computed(()=>{const u={onSubmitMessage:d=>a("submit-message",d),onStop:()=>a("stop"),onInputChange:d=>a("input-change",d),onSelectSuggestion:(d,f)=>a("select-suggestion",d,f)};return p("onAddFile")&&(u.onAddFile=()=>a("add-file")),p("onStartTranscribe")&&(u.onStartTranscribe=()=>a("start-transcribe")),p("onCancelTranscribe")&&(u.onCancelTranscribe=()=>a("cancel-transcribe")),p("onFinishTranscribe")&&(u.onFinishTranscribe=()=>a("finish-transcribe")),u});return(u,d)=>(e.openBlock(),e.createBlock(mt,{"is-modal-default-open":t.defaultOpen},{default:e.withCtx(()=>[e.createVNode(Sr,e.normalizeProps(e.guardReactiveProps(c.value)),e.createSlots({_:2},[u.$slots.header?{name:"header",fn:e.withCtx(f=>[e.renderSlot(u.$slots,"header",e.normalizeProps(e.guardReactiveProps(f)))]),key:"0"}:void 0,u.$slots["toggle-button"]?{name:"toggle-button",fn:e.withCtx(f=>[e.renderSlot(u.$slots,"toggle-button",e.normalizeProps(e.guardReactiveProps(f)))]),key:"1"}:void 0,u.$slots["message-view"]?{name:"message-view",fn:e.withCtx(f=>[e.renderSlot(u.$slots,"message-view",e.normalizeProps(e.guardReactiveProps(f)))]),key:"2"}:void 0,u.$slots["scroll-view"]?{name:"scroll-view",fn:e.withCtx(f=>[e.renderSlot(u.$slots,"scroll-view",e.normalizeProps(e.guardReactiveProps(f)))]),key:"3"}:void 0,u.$slots.feather?{name:"feather",fn:e.withCtx(f=>[e.renderSlot(u.$slots,"feather",e.normalizeProps(e.guardReactiveProps(f)))]),key:"4"}:void 0,u.$slots["scroll-to-bottom-button"]?{name:"scroll-to-bottom-button",fn:e.withCtx(f=>[e.renderSlot(u.$slots,"scroll-to-bottom-button",e.normalizeProps(e.guardReactiveProps(f)))]),key:"5"}:void 0,u.$slots.input?{name:"input",fn:e.withCtx(f=>[e.renderSlot(u.$slots,"input",e.normalizeProps(e.guardReactiveProps(f)))]),key:"6"}:void 0,u.$slots["suggestion-view"]?{name:"suggestion-view",fn:e.withCtx(f=>[e.renderSlot(u.$slots,"suggestion-view",e.normalizeProps(e.guardReactiveProps(f)))]),key:"7"}:void 0,u.$slots["welcome-screen"]?{name:"welcome-screen",fn:e.withCtx(f=>[e.renderSlot(u.$slots,"welcome-screen",e.normalizeProps(e.guardReactiveProps(f)))]),key:"8"}:void 0,u.$slots["welcome-message"]?{name:"welcome-message",fn:e.withCtx(()=>[e.renderSlot(u.$slots,"welcome-message")]),key:"9"}:void 0]),1040)]),_:3},8,["is-modal-default-open"]))}}),Tr={"data-copilotkit":"",class:"cpk:h-full cpk:flex cpk:flex-col","data-testid":"copilot-sidebar-welcome-screen"},Ir={class:"cpk:flex-1 cpk:flex cpk:flex-col cpk:items-center cpk:justify-center cpk:px-4"},Rr={class:"cpk:text-xl cpk:sm:text-2xl cpk:font-medium cpk:text-foreground cpk:text-center"},Ar={class:"cpk:px-8 cpk:pb-4"},Er={class:"cpk:max-w-3xl cpk:mx-auto"},$r={class:"cpk:mb-4 cpk:flex cpk:justify-center"},Hn=e.defineComponent({__name:"CopilotSidebarWelcomeScreen",props:{modelValue:{default:""},isRunning:{type:Boolean,default:!1},inputMode:{default:"input"},inputToolsMenu:{default:()=>[]},onUpdateModelValue:{},onSubmitMessage:{},onStop:{},onAddFile:{type:Function,default:void 0},onStartTranscribe:{type:Function,default:void 0},onCancelTranscribe:{type:Function,default:void 0},onFinishTranscribe:{type:Function,default:void 0},onFinishTranscribeWithAudio:{type:Function,default:void 0},suggestions:{default:()=>[]},loadingIndexes:{default:()=>[]},onSelectSuggestion:{}},setup(t){const o=t,n=ge(),a=e.computed(()=>n.value?.labels??Ee),r=e.computed(()=>({modelValue:o.modelValue,isRunning:o.isRunning,inputMode:o.inputMode,inputToolsMenu:o.inputToolsMenu,onUpdateModelValue:o.onUpdateModelValue,onSubmitMessage:o.onSubmitMessage,onStop:o.onStop,onAddFile:o.onAddFile,onStartTranscribe:o.onStartTranscribe,onCancelTranscribe:o.onCancelTranscribe,onFinishTranscribe:o.onFinishTranscribe,onFinishTranscribeWithAudio:o.onFinishTranscribeWithAudio})),s=e.computed(()=>({suggestions:o.suggestions,loadingIndexes:o.loadingIndexes,onSelectSuggestion:o.onSelectSuggestion})),i=e.computed(()=>({...r.value,...s.value})),l=e.computed(()=>{const c={"onUpdate:modelValue":o.onUpdateModelValue,onSubmitMessage:o.onSubmitMessage,onStop:o.onStop};return o.onAddFile&&(c.onAddFile=o.onAddFile),o.onStartTranscribe&&(c.onStartTranscribe=o.onStartTranscribe),o.onCancelTranscribe&&(c.onCancelTranscribe=o.onCancelTranscribe),o.onFinishTranscribe&&(c.onFinishTranscribe=o.onFinishTranscribe),o.onFinishTranscribeWithAudio&&(c.onFinishTranscribeWithAudio=o.onFinishTranscribeWithAudio),c});return(c,p)=>e.renderSlot(c.$slots,"layout",e.normalizeProps(e.guardReactiveProps(i.value)),()=>[e.createElementVNode("div",Tr,[e.createElementVNode("div",Ir,[e.renderSlot(c.$slots,"welcome-message",{},()=>[e.createElementVNode("h1",Rr,e.toDisplayString(a.value.welcomeMessageText),1)])]),e.createElementVNode("div",Ar,[e.createElementVNode("div",Er,[e.createElementVNode("div",$r,[e.renderSlot(c.$slots,"suggestion-view",e.normalizeProps(e.guardReactiveProps(s.value)),()=>[e.createVNode(Qe,{suggestions:t.suggestions,"loading-indexes":t.loadingIndexes,onSelectSuggestion:t.onSelectSuggestion},null,8,["suggestions","loading-indexes","onSelectSuggestion"])])]),e.renderSlot(c.$slots,"input",e.normalizeProps(e.guardReactiveProps(r.value)),()=>[e.createVNode(Xe,e.mergeProps({"model-value":t.modelValue,"is-running":t.isRunning,mode:t.inputMode,"tools-menu":t.inputToolsMenu,positioning:"static","show-disclaimer":!0},l.value),null,16,["model-value","is-running","mode","tools-menu"])])])])])])}}),Mr=e.defineComponent({__name:"CopilotPopup",props:{width:{default:void 0},height:{default:void 0},clickOutsideToClose:{type:Boolean,default:!1},defaultOpen:{type:Boolean,default:!0},agentId:{},threadId:{},throttleMs:{},labels:{},attachments:{},onError:{},autoScroll:{type:[String,Boolean],default:!0},welcomeScreen:{type:Boolean,default:!0},inputValue:{default:void 0},inputMode:{default:"input"},inputToolsMenu:{default:()=>[]},isConnecting:{type:Boolean},hasExplicitThreadId:{type:Boolean},onFinishTranscribeWithAudio:{type:Function,default:void 0}},emits:["submit-message","stop","input-change","select-suggestion","add-file","start-transcribe","cancel-transcribe","finish-transcribe"],setup(t){function o(s){return{onSubmitMessage:s.onSubmitMessage,onInputChange:s.onInputChange,onSelectSuggestion:s.onSelectSuggestion,...s.onStop?{onStop:s.onStop}:{},...s.onAddFile?{onAddFile:s.onAddFile}:{},...s.onStartTranscribe?{onStartTranscribe:s.onStartTranscribe}:{},...s.onCancelTranscribe?{onCancelTranscribe:s.onCancelTranscribe}:{},...s.onFinishTranscribe?{onFinishTranscribe:s.onFinishTranscribe}:{}}}const n=t,a=ft(),r=e.computed(()=>a.value.checkFeature("popup"));return e.watch(r,s=>{s||console.warn('[CopilotKit] Warning: "popup" feature is not licensed. Visit copilotkit.ai/pricing')},{immediate:!0}),(s,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Et,{key:0,"feature-name":"Popup"})),e.createVNode($t,e.mergeProps(n,{onSubmitMessage:i[0]||(i[0]=l=>s.$emit("submit-message",l)),onStop:i[1]||(i[1]=l=>s.$emit("stop")),onInputChange:i[2]||(i[2]=l=>s.$emit("input-change",l)),onSelectSuggestion:i[3]||(i[3]=(l,c)=>s.$emit("select-suggestion",l,c)),onAddFile:i[4]||(i[4]=l=>s.$emit("add-file")),onStartTranscribe:i[5]||(i[5]=l=>s.$emit("start-transcribe")),onCancelTranscribe:i[6]||(i[6]=l=>s.$emit("cancel-transcribe")),onFinishTranscribe:i[7]||(i[7]=l=>s.$emit("finish-transcribe"))}),{"chat-view":e.withCtx(l=>[s.$slots["chat-view"]?e.renderSlot(s.$slots,"chat-view",e.normalizeProps(e.mergeProps({key:0},l))):(e.openBlock(),e.createBlock(Un,e.mergeProps({key:1,messages:l.messages,"auto-scroll":l.autoScroll,"is-running":l.isRunning,suggestions:l.suggestions,"suggestion-loading-indexes":l.suggestionLoadingIndexes,"welcome-screen":l.welcomeScreen,"input-value":l.inputValue,"input-mode":l.inputMode,"input-tools-menu":l.inputToolsMenu,width:t.width,height:t.height,"click-outside-to-close":t.clickOutsideToClose,"default-open":t.defaultOpen,"on-finish-transcribe-with-audio":l.onFinishTranscribeWithAudio},o(l)),e.createSlots({"welcome-screen":e.withCtx(c=>[s.$slots["welcome-screen"]?e.renderSlot(s.$slots,"welcome-screen",e.normalizeProps(e.mergeProps({key:0},c))):(e.openBlock(),e.createBlock(jn,e.normalizeProps(e.mergeProps({key:1},c)),e.createSlots({_:2},[s.$slots["welcome-message"]?{name:"welcome-message",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"welcome-message")]),key:"0"}:void 0,s.$slots["suggestion-view"]?{name:"suggestion-view",fn:e.withCtx(p=>[e.renderSlot(s.$slots,"suggestion-view",e.normalizeProps(e.guardReactiveProps(p)))]),key:"1"}:void 0,s.$slots.input?{name:"input",fn:e.withCtx(p=>[e.renderSlot(s.$slots,"input",e.normalizeProps(e.guardReactiveProps(p)))]),key:"2"}:void 0]),1040))]),_:2},[s.$slots.header?{name:"header",fn:e.withCtx(c=>[e.renderSlot(s.$slots,"header",e.normalizeProps(e.guardReactiveProps(c)))]),key:"0"}:void 0,s.$slots["toggle-button"]?{name:"toggle-button",fn:e.withCtx(c=>[e.renderSlot(s.$slots,"toggle-button",e.normalizeProps(e.guardReactiveProps(c)))]),key:"1"}:void 0,s.$slots["message-view"]?{name:"message-view",fn:e.withCtx(c=>[e.renderSlot(s.$slots,"message-view",e.normalizeProps(e.guardReactiveProps(c)))]),key:"2"}:void 0,s.$slots.input?{name:"input",fn:e.withCtx(c=>[e.renderSlot(s.$slots,"input",e.normalizeProps(e.guardReactiveProps(c)))]),key:"3"}:void 0,s.$slots["suggestion-view"]?{name:"suggestion-view",fn:e.withCtx(c=>[e.renderSlot(s.$slots,"suggestion-view",e.normalizeProps(e.guardReactiveProps(c)))]),key:"4"}:void 0]),1040,["messages","auto-scroll","is-running","suggestions","suggestion-loading-indexes","welcome-screen","input-value","input-mode","input-tools-menu","width","height","click-outside-to-close","default-open","on-finish-transcribe-with-audio"]))]),_:3},16)],64))}}),Br=e.defineComponent({__name:"CopilotSidebar",props:{width:{default:void 0},defaultOpen:{type:Boolean,default:!0},agentId:{},threadId:{},throttleMs:{},labels:{},attachments:{},onError:{},autoScroll:{type:[String,Boolean],default:!0},welcomeScreen:{type:Boolean,default:!0},inputValue:{default:void 0},inputMode:{default:"input"},inputToolsMenu:{default:()=>[]},isConnecting:{type:Boolean},hasExplicitThreadId:{type:Boolean},onFinishTranscribeWithAudio:{type:Function,default:void 0}},emits:["submit-message","stop","input-change","select-suggestion","add-file","start-transcribe","cancel-transcribe","finish-transcribe"],setup(t){function o(s){return{onSubmitMessage:s.onSubmitMessage,onInputChange:s.onInputChange,onSelectSuggestion:s.onSelectSuggestion,...s.onStop?{onStop:s.onStop}:{},...s.onAddFile?{onAddFile:s.onAddFile}:{},...s.onStartTranscribe?{onStartTranscribe:s.onStartTranscribe}:{},...s.onCancelTranscribe?{onCancelTranscribe:s.onCancelTranscribe}:{},...s.onFinishTranscribe?{onFinishTranscribe:s.onFinishTranscribe}:{}}}const n=t,a=ft(),r=e.computed(()=>a.value.checkFeature("sidebar"));return e.watch(r,s=>{s||console.warn('[CopilotKit] Warning: "sidebar" feature is not licensed. Visit copilotkit.ai/pricing')},{immediate:!0}),(s,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Et,{key:0,"feature-name":"Sidebar"})),e.createVNode($t,e.mergeProps(n,{onSubmitMessage:i[0]||(i[0]=l=>s.$emit("submit-message",l)),onStop:i[1]||(i[1]=l=>s.$emit("stop")),onInputChange:i[2]||(i[2]=l=>s.$emit("input-change",l)),onSelectSuggestion:i[3]||(i[3]=(l,c)=>s.$emit("select-suggestion",l,c)),onAddFile:i[4]||(i[4]=l=>s.$emit("add-file")),onStartTranscribe:i[5]||(i[5]=l=>s.$emit("start-transcribe")),onCancelTranscribe:i[6]||(i[6]=l=>s.$emit("cancel-transcribe")),onFinishTranscribe:i[7]||(i[7]=l=>s.$emit("finish-transcribe"))}),{"chat-view":e.withCtx(l=>[s.$slots["chat-view"]?e.renderSlot(s.$slots,"chat-view",e.normalizeProps(e.mergeProps({key:0},l))):(e.openBlock(),e.createBlock(_n,e.mergeProps({key:1,messages:l.messages,"auto-scroll":l.autoScroll,"is-running":l.isRunning,suggestions:l.suggestions,"suggestion-loading-indexes":l.suggestionLoadingIndexes,"welcome-screen":l.welcomeScreen,"input-value":l.inputValue,"input-mode":l.inputMode,"input-tools-menu":l.inputToolsMenu,width:t.width,"default-open":t.defaultOpen,"on-finish-transcribe-with-audio":l.onFinishTranscribeWithAudio},o(l)),e.createSlots({"welcome-screen":e.withCtx(c=>[s.$slots["welcome-screen"]?e.renderSlot(s.$slots,"welcome-screen",e.normalizeProps(e.mergeProps({key:0},c))):(e.openBlock(),e.createBlock(Hn,e.normalizeProps(e.mergeProps({key:1},c)),e.createSlots({_:2},[s.$slots["welcome-message"]?{name:"welcome-message",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"welcome-message")]),key:"0"}:void 0,s.$slots["suggestion-view"]?{name:"suggestion-view",fn:e.withCtx(p=>[e.renderSlot(s.$slots,"suggestion-view",e.normalizeProps(e.guardReactiveProps(p)))]),key:"1"}:void 0,s.$slots.input?{name:"input",fn:e.withCtx(p=>[e.renderSlot(s.$slots,"input",e.normalizeProps(e.guardReactiveProps(p)))]),key:"2"}:void 0]),1040))]),_:2},[s.$slots.header?{name:"header",fn:e.withCtx(c=>[e.renderSlot(s.$slots,"header",e.normalizeProps(e.guardReactiveProps(c)))]),key:"0"}:void 0,s.$slots["toggle-button"]?{name:"toggle-button",fn:e.withCtx(c=>[e.renderSlot(s.$slots,"toggle-button",e.normalizeProps(e.guardReactiveProps(c)))]),key:"1"}:void 0,s.$slots["message-view"]?{name:"message-view",fn:e.withCtx(c=>[e.renderSlot(s.$slots,"message-view",e.normalizeProps(e.guardReactiveProps(c)))]),key:"2"}:void 0,s.$slots.input?{name:"input",fn:e.withCtx(c=>[e.renderSlot(s.$slots,"input",e.normalizeProps(e.guardReactiveProps(c)))]),key:"3"}:void 0,s.$slots["suggestion-view"]?{name:"suggestion-view",fn:e.withCtx(c=>[e.renderSlot(s.$slots,"suggestion-view",e.normalizeProps(e.guardReactiveProps(c)))]),key:"4"}:void 0]),1040,["messages","auto-scroll","is-running","suggestions","suggestion-loading-indexes","welcome-screen","input-value","input-mode","input-tools-menu","width","default-open","on-finish-transcribe-with-audio"]))]),_:3},16)],64))}}),Vr=Object.assign($t,{View:Ze}),Fr=Object.assign(Vt,{OpenIcon:Bt,CloseIcon:Mt}),Nr=Object.assign(Ft,{Title:zn,CloseButton:Pn}),Or=Object.assign(Un,{WelcomeScreen:jn}),Dr=Object.assign(_n,{WelcomeScreen:Hn});function Lr(t){const{copilotkit:o}=ke(),n=e.computed(()=>e.toValue(t.description)),a=e.computed(()=>e.toValue(t.value)),r=e.computed(()=>typeof a.value=="string"?a.value:JSON.stringify(a.value));e.watch([()=>o.value,n,r],(s,i,l)=>{const c=o.value,p=c.addContext({description:n.value,value:r.value});l(()=>c.removeContext(p))},{immediate:!0})}const Pr=[];function Nt(t,o){const{copilotkit:n}=ke(),a=o??Pr;e.watch([()=>t.name,()=>t.available,()=>a.length,...a],(r,s,i)=>{const l=n.value,c=t.name;l.getTool({toolName:c,agentId:t.agentId})&&(console.warn(`Tool '${c}' already exists for agent '${t.agentId||"global"}'. Overriding with latest registration.`),l.removeTool(c,t.agentId)),l.addTool(t),t.render&&l.addHookRenderToolCall({name:c,args:t.parameters,agentId:t.agentId,render:t.render}),i(()=>{l.removeTool(c,t.agentId)})},{immediate:!0})}function zr(t,o){const n=`Use this tool to display the "${t.name}" component in the chat. This tool renders a visual UI component for the user.`,a=t.description?`${n}
83
83
 
84
84
  ${t.description}`:n;Nt({name:t.name,description:a,parameters:t.parameters,render:({args:r})=>{const s=t.render;return e.h(s,r)},agentId:t.agentId},o)}const Ur=[];function Wn(t,o){const{copilotkit:n}=ke(),a=o??Ur;e.watch([()=>n.value,()=>t.name,()=>t.agentId,()=>a.length,...a],()=>{const r=i=>typeof t.render=="function"?t.render(i):e.h(t.render,i),s=t.name==="*"&&!t.parameters?ct({name:"*",render:i=>r({...i,parameters:i.args}),...t.agentId?{agentId:t.agentId}:{}}):ct({name:t.name,args:t.parameters,render:i=>r({...i,parameters:i.args}),...t.agentId?{agentId:t.agentId}:{}});n.value.addHookRenderToolCall(s)},{immediate:!0})}const Zt=new Set;function jr(t){switch(t){case ce.ToolCallStatus.Complete:return"complete";case ce.ToolCallStatus.Executing:return"executing";case ce.ToolCallStatus.InProgress:return"inProgress";default:{const o=String(t);return Zt.has(o)||(Zt.add(o),console.warn(`[CopilotKit] Unknown ToolCallStatus "${o}" in default tool-call renderer; falling back to "inProgress".`)),"inProgress"}}}function bt(t){const o=t.parameters!==void 0?t.parameters:t.args,n=t.status,a=n==="inProgress"||n==="executing"||n==="complete"?n:jr(n);return{name:t.name,toolCallId:t.toolCallId,parameters:o,status:a,result:t.result}}function en(t){try{return JSON.stringify(t,null,2)}catch(o){console.warn("[CopilotKit] Failed to JSON.stringify tool-call payload for default renderer; falling back to String():",o);try{return String(t)}catch(n){return console.warn("[CopilotKit] safeStringifyForPre: value could not be stringified:",n),"[unserializable]"}}}const _r=e.defineComponent({props:{name:{type:String,required:!0},toolCallId:{type:String,required:!0},parameters:{type:null,required:!1,default:void 0},status:{type:String,required:!0},result:{type:null,required:!1,default:void 0}},setup(t){const o=e.ref(!1);return()=>{const n=t.status==="inProgress"||t.status==="executing",a=t.status==="complete",r=n?"Running":a?"Done":t.status;return e.h("div",{"data-testid":"copilot-tool-render","data-tool-name":t.name,"data-tool-call-id":t.toolCallId,"data-status":t.status,"data-args":tn(t.parameters),"data-result":tn(t.result),style:{marginTop:"8px",paddingBottom:"8px"}},[e.h("div",{style:{borderRadius:"12px",border:"1px solid #e4e4e7",backgroundColor:"#fafafa",padding:"14px 16px"}},[e.h("button",{type:"button","aria-expanded":String(o.value),onClick:()=>{o.value=!o.value},style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:"10px",cursor:"pointer",border:"none",padding:0,margin:0,background:"transparent",textAlign:"left"}},[e.h("span",{"data-testid":"copilot-tool-render-name",style:{fontWeight:"600"}},t.name),e.h("span",{"data-testid":"copilot-tool-render-status"},r)]),o.value?e.h("div",{style:{marginTop:"12px"}},[e.h("div","Arguments"),e.h("pre",en(t.parameters??{})),t.result!==void 0?e.h("div",[e.h("div","Result"),e.h("pre",typeof t.result=="string"?t.result:en(t.result))]):null]):null])])}}});function tn(t){if(t==null)return"";if(typeof t=="string")return t;try{return JSON.stringify(t)}catch(o){console.warn("[CopilotKit] Failed to JSON.stringify tool-call payload for data-* attribute; falling back to String():",o);try{return String(t)}catch(n){return console.warn("[CopilotKit] safeStringifyForAttr: value could not be stringified:",n),""}}}function Hr(t,o){const n=t?.render;let a;if(typeof n=="function"){const r=n;a=(s=>{const i=bt(s);return r(i)})}else if(n){const r=n;a=(s=>{const i=bt(s);return e.h(r,{name:i.name,toolCallId:i.toolCallId,parameters:i.parameters,status:i.status,result:i.result})})}else a=(r=>{const s=bt(r);return e.h(_r,{name:s.name,toolCallId:s.toolCallId,parameters:s.parameters,status:s.status,result:s.result})});Wn({name:"*",render:a},o)}function Wr(t,o){const{copilotkit:n}=ke(),a=e.ref(null),r=async c=>{a.value&&(a.value(c),a.value=null)},l={...t,handler:async()=>new Promise(c=>{a.value=c}),render:c=>{const p=t.render;return c.status==="inProgress"?e.h(p,{...c,name:t.name,description:t.description||"",respond:void 0}):c.status==="executing"?e.h(p,{...c,name:t.name,description:t.description||"",respond:r}):c.status==="complete"?e.h(p,{...c,name:t.name,description:t.description||"",respond:void 0}):e.h(p,c)}};Nt(l,o),e.onScopeDispose(()=>{n.value.removeHookRenderToolCall(t.name,t.agentId)})}function qr(t){return"instructions"in t}function Kr(t){return t.map(o=>({...o,isLoading:o.isLoading??!1}))}function Gr(t,o){const{copilotkit:n}=ke(),a=ge(),r=o??[],s=e.computed(()=>a.value?.agentId??z.DEFAULT_AGENT_ID),i=e.computed(()=>t?t.consumerAgentId:void 0),l=e.computed(()=>{if(!t||t.available==="disabled")return null;if(qr(t))return{...t};const h=Kr(t.suggestions);return{...t,suggestions:h}}),c=e.computed(()=>l.value?JSON.stringify(l.value):null),p=e.computed(()=>{if(!l.value)return s.value;const h=l.value.consumerAgentId;return!h||h==="*"?s.value:h}),y=e.computed(()=>i.value===void 0||i.value==="*"),u=e.ref(!1),d=e.ref(null),f=e.ref(null),v=()=>{if(!u.value||!y.value)return;if(Object.values(n.value.agents??{}).some(w=>!!w.agentId&&w.isRunning)){d.value=setTimeout(()=>{d.value=null,v()},0);return}u.value=!1,C()},C=()=>{if(l.value){if(y.value){let h=!1;const w=Object.values(n.value.agents??{});for(const m of w){const b=m.agentId;b&&(m.isRunning?h=!0:n.value.reloadSuggestions(b))}u.value=h,h&&d.value===null&&(d.value=setTimeout(()=>{d.value=null,v()},0));return}p.value&&n.value.reloadSuggestions(p.value)}};e.watch([()=>n.value,c],([h,w],m,b)=>{if(!w||!l.value)return;const g=n.value,k=l.value,x=g.addSuggestionsConfig(k);C(),b(()=>g.removeSuggestionsConfig(x))},{immediate:!0}),e.watch([l,c],([h,w])=>{if(!h){f.value=null;return}w&&f.value===w||(w&&(f.value=w),C())},{immediate:!1}),e.watch([l,()=>r.length,...r],([h])=>{!h||r.length===0||C()},{immediate:!0}),e.watch([()=>n.value,u],(h,w,m)=>{m(()=>{d.value!==null&&(clearTimeout(d.value),d.value=null)})},{immediate:!0}),e.watch([()=>n.value,y],([h,w],m,b)=>{if(!w)return;const g=Object.values(h.agents??{}).filter(k=>!!k).map(k=>k.subscribe({onRunStartedEvent:v,onRunFinishedEvent:v,onRunFinalized:v,onRunFailed:v,onRunErrorEvent:v}));b(()=>{for(const k of g)k.unsubscribe()})},{immediate:!0})}const Jr="on_interrupt";function Xr(t){return(typeof t=="object"||typeof t=="function")&&t!==null&&typeof Reflect.get(t,"then")=="function"}function Qr(t){return t instanceof Promise?t:new Promise((o,n)=>{try{t.then(o,n)}catch(a){n(a)}})}function Yr(t={}){const{copilotkit:o}=ke(),{agent:n}=gt({agentId:t.agentId}),a=e.shallowRef(null),r=e.shallowRef(null);e.watch(n,(l,c,p)=>{if(!l){a.value=null,r.value=null;return}let y=null;const u=l.subscribe({onCustomEvent:({event:d})=>{d.name===Jr&&(y={name:d.name,value:d.value})},onRunStartedEvent:()=>{y=null,a.value=null},onRunFinalized:()=>{y&&(a.value=y,y=null)},onRunFailed:()=>{y=null}});p(()=>u.unsubscribe())},{immediate:!0});const s=l=>{const c=n.value;if(!c)return;const p=a.value?.value;a.value=null,o.value.runAgent({agent:c,forwardedProps:{command:{resume:l,interruptEvent:p}}}).catch(y=>{console.error("[CopilotKit] useInterrupt: failed to resume agent:",y)})};e.watch(a,(l,c,p)=>{if(!l){r.value=null;return}if(t.enabled&&!t.enabled(l)){r.value=null;return}const y=t.handler;if(!y){r.value=null;return}let u=!1;const d=y({event:l,resolve:s});Xr(d)?Qr(d).then(f=>{u||(r.value=f)}).catch(f=>{u||(console.error("[CopilotKit] useInterrupt handler failed:",f),r.value=null)}):r.value=d,p(()=>{u=!0})},{immediate:!0});const i=e.computed(()=>!a.value||t.enabled&&!t.enabled(a.value)?null:{event:a.value,result:r.value,resolve:s});return e.watch([()=>o.value,i,()=>t.renderInChat!==!1],([l,c,p],y,u)=>{if(!p)return;l.setInterruptState(c);const d=c;u(()=>{l.interruptState===d&&l.setInterruptState(null)})},{immediate:!0}),e.onScopeDispose(()=>{const l=o.value;t.renderInChat!==!1&&l.interruptState===i.value&&l.setInterruptState(null)}),{interrupt:a,result:r,hasInterrupt:e.computed(()=>i.value!==null),resolveInterrupt:s,slotProps:i}}function Ke(t,o,n){n.value=o(t.getState());const a=t.select(o).subscribe(()=>{n.value=o(t.getState())});e.onScopeDispose(()=>a.unsubscribe())}function Zr(t){const{copilotkit:o}=ke(),n=ce.ɵcreateThreadStore({fetch:globalThis.fetch}),a=e.computed(()=>e.toValue(t.agentId)),r=e.computed(()=>e.toValue(t.includeArchived)),s=e.computed(()=>e.toValue(t.limit)),i=e.computed(()=>JSON.stringify(Object.entries(o.value.headers??{}).sort(([w],[m])=>w.localeCompare(m)))),l=e.ref([]),c=e.ref(!1),p=e.ref(null),y=e.ref(!1),u=e.ref(!1);Ke(n,ce.ɵselectThreads,l),Ke(n,ce.ɵselectThreadsIsLoading,c),Ke(n,ce.ɵselectThreadsError,p),Ke(n,ce.ɵselectHasNextPage,y),Ke(n,ce.ɵselectIsFetchingNextPage,u),n.start(),e.onScopeDispose(()=>{n.stop()});const d=e.ref(!1);e.watch([()=>o.value.runtimeUrl,()=>o.value.runtimeConnectionStatus,i,()=>o.value.intelligence?.wsUrl,a,r,s],([w,m,,b,g,k,x])=>{if(!w){n.setContext(null);return}if(m!==ce.CopilotKitCoreRuntimeConnectionStatus.Connected)return;const A={runtimeUrl:w,headers:{...o.value.headers},wsUrl:b,agentId:g,includeArchived:k,limit:x};n.setContext(A),d.value=!0},{immediate:!0});const f=e.computed(()=>o.value.runtimeUrl?null:new Error("Runtime URL is not configured")),v=e.computed(()=>!!o.value.runtimeUrl&&!d.value),C=e.computed(()=>f.value?!1:v.value||c.value),h=e.computed(()=>f.value??p.value);return{threads:e.computed(()=>l.value.map(({id:w,agentId:m,name:b,archived:g,createdAt:k,updatedAt:x,lastRunAt:A})=>({id:w,agentId:m,name:b,archived:g,createdAt:k,updatedAt:x,...A!==void 0?{lastRunAt:A}:{}}))),isLoading:C,error:h,hasMoreThreads:y,isFetchingMoreThreads:u,fetchMoreThreads:()=>n.fetchNextPage(),renameThread:(w,m)=>n.renameThread(w,m),archiveThread:w=>n.archiveThread(w),deleteThread:w=>n.deleteThread(w)}}function ei(t){const{agent:o}=gt({agentId:t});return e.computed(()=>{const n=o.value;if(n&&"capabilities"in n)return n.capabilities})}function ti(){const{copilotkit:t}=ke(),o=ge();return function(a){const r=o.value;if(!r)return null;const s=r.agentId||z.DEFAULT_AGENT_ID,{threadId:i}=r,l=t.value,c=[...l.renderCustomMessages].filter(k=>k.agentId===void 0||k.agentId===s).sort((k,x)=>{const A=k.agentId!==void 0,E=x.agentId!==void 0;return A===E?0:A?-1:1});if(!c.length)return null;const{message:p,position:y}=a,u=l.getRunIdForMessage(s,i,p.id)??l.getRunIdsForThread(s,i).slice(-1)[0],d=u??`missing-run-id:${p.id}`,f=l.getAgent(s);if(!f)return null;const v=u?f.messages.filter(k=>l.getRunIdForMessage(s,i,k.id)===u).map(k=>k.id):[p.id],C=f.messages.findIndex(k=>k.id===p.id);C<0&&console.warn(`[CopilotKit] useRenderCustomMessages: message "${p.id}" not found in agent "${s}" messages`);const h=Math.max(0,C),w=u?Math.max(v.indexOf(p.id),0):0,m=u?v.length:1,b=u?l.getStateByRun(s,i,u):void 0,g={message:p,position:y,runId:d,messageIndex:h,messageIndexInRun:w,numberOfMessagesInRun:m,agentId:s,stateSnapshot:b};for(const k of c)if(k.render)return{renderer:k.render,props:g};return null}}function ni(){const{copilotkit:t}=ke(),o=ge(),n=e.computed(()=>o.value?.agentId??z.DEFAULT_AGENT_ID),a=e.computed(()=>[...t.value.renderActivityMessages]);function r(i){const l=a.value;if(!l.length)return null;const c=l.filter(p=>p.activityType===i);return c.find(p=>p.agentId===n.value)??c.find(p=>p.agentId===void 0)??l.find(p=>p.activityType==="*")??null}function s(i){const l=r(i.activityType);if(!l)return null;const c=l.content.safeParse(i.content);if(!c.success)return console.warn(`Failed to parse content for activity message '${i.activityType}':`,c.error),null;const p=t.value.getAgent(n.value);return{renderer:l.render,props:{activityType:i.activityType,content:c.data,message:i,agent:p}}}return{renderActivityMessage:s,findRenderer:r}}exports.A2UIActivityContentSchema=so;exports.A2UISurfaceActivityType=ao;exports.CopilotChat=Vr;exports.CopilotChatDefaultLabels=Ee;exports.CopilotChatToggleButton=Fr;exports.CopilotChatToggleButtonCloseIcon=Mt;exports.CopilotChatToggleButtonOpenIcon=Bt;exports.CopilotKitCoreVue=un;exports.CopilotModalHeader=Nr;exports.CopilotPopupView=Or;exports.CopilotSidebarView=Dr;exports.GenerateSandboxedUiArgsSchema=kn;exports.LicenseContextKey=At;exports.MCPAppsActivityContentSchema=ln;exports.MCPAppsActivityRenderer=cn;exports.MCPAppsActivityType=rn;exports.OpenGenerativeUIActivityRenderer=yn;exports.OpenGenerativeUIActivityType=hn;exports.OpenGenerativeUIContentSchema=vn;exports.OpenGenerativeUIRenderer=bn;exports.OpenGenerativeUIToolRenderer=wn;exports.UseAgentUpdate=$n;exports._sfc_main=Tn;exports._sfc_main$1=An;exports._sfc_main$10=Qe;exports._sfc_main$11=In;exports._sfc_main$12=On;exports._sfc_main$13=Ze;exports._sfc_main$14=on;exports._sfc_main$15=Xo;exports._sfc_main$16=Mr;exports._sfc_main$17=Br;exports._sfc_main$2=St;exports._sfc_main$3=ar;exports._sfc_main$4=En;exports._sfc_main$5=mt;exports._sfc_main$6=Xe;exports._sfc_main$7=Dn;exports._sfc_main$8=Nn;exports._sfc_main$9=Ln;exports.createA2UIMessageRenderer=dn;exports.createDefaultLicenseRef=Cn;exports.defineToolCallRenderer=ct;exports.extractCompleteStyles=mn;exports.getOperationSurfaceId=wt;exports.processPartialHtml=fn;exports.useAgent=gt;exports.useAgentContext=Lr;exports.useAttachments=Bn;exports.useCapabilities=ei;exports.useComponent=zr;exports.useConfigureSuggestions=Gr;exports.useCopilotChatConfiguration=ge;exports.useCopilotKit=ke;exports.useDefaultRenderTool=Hr;exports.useFrontendTool=Nt;exports.useHumanInTheLoop=Wr;exports.useInterrupt=Yr;exports.useKatexStyles=Rn;exports.useKeyboardHeight=Vn;exports.useLicenseContext=ft;exports.useRenderActivityMessage=ni;exports.useRenderCustomMessages=ti;exports.useRenderTool=Wn;exports.useSandboxFunctions=gn;exports.useSuggestions=Mn;exports.useThreads=Zr;
85
- //# sourceMappingURL=use-render-activity-message-CiFAWxYV.cjs.map
85
+ //# sourceMappingURL=use-render-activity-message-BxkQ_mQ0.cjs.map