@copilotkit/vue 1.57.4 → 1.58.0-canary.thread-id-propagation
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 +1 -1
- package/dist/index.mjs +2 -2
- package/dist/{use-render-activity-message-BCoXRqzE.js → use-render-activity-message-CE0GKV5B.js} +2 -2
- package/dist/use-render-activity-message-CE0GKV5B.js.map +1 -0
- package/dist/{use-render-activity-message-BRL1Rpl-.cjs → use-render-activity-message-D7Ve-ASg.cjs} +2 -2
- package/dist/use-render-activity-message-D7Ve-ASg.cjs.map +1 -0
- package/dist/v2/index.cjs +1 -1
- package/dist/v2/index.mjs +1 -1
- package/package.json +4 -4
- package/src/v2/components/MCPAppsActivityRenderer.ts +1 -1
- package/dist/use-render-activity-message-BCoXRqzE.js.map +0 -1
- package/dist/use-render-activity-message-BRL1Rpl-.cjs.map +0 -1
package/dist/{use-render-activity-message-BRL1Rpl-.cjs → use-render-activity-message-D7Ve-ASg.cjs}
RENAMED
|
@@ -28,7 +28,7 @@ window.parent.postMessage(event.data,"*");
|
|
|
28
28
|
window.parent.postMessage({jsonrpc:"2.0",method:"ui/notifications/sandbox-proxy-ready",params:{}},"*");
|
|
29
29
|
<\/script>
|
|
30
30
|
</body>
|
|
31
|
-
</html>`}class Qn{queues=new Map;processing=new Map;async enqueue(o,n){const a=o.threadId||"default";return new Promise((r,s)=>{let i=this.queues.get(a);i||(i=[],this.queues.set(a,i)),i.push({execute:n,resolve:r,reject:s}),this.processQueue(a,o)})}async processQueue(o,n){if(!this.processing.get(o)){this.processing.set(o,!0);try{const a=this.queues.get(o);if(!a)return;for(;a.length>0;){const r=a[0];try{await this.waitForAgentIdle(n);const s=await r.execute();r.resolve(s)}catch(s){r.reject(s instanceof Error?s:new Error(String(s)))}a.shift()}}finally{this.processing.set(o,!1)}}}cancel(o){const n=this.queues.get(o);if(n){for(const a of n)a.reject(new Error("MCPAppsRequestQueue cancelled on unmount"));n.length=0}this.queues.delete(o),this.processing.delete(o)}waitForAgentIdle(o){return new Promise((n,a)=>{if(!o.isRunning){n();return}let r=!1;const s=setTimeout(()=>{r||(r=!0,clearInterval(c),l.unsubscribe(),a(new Error("[CopilotKit] Timed out waiting for agent to become idle")))},3e4),i=()=>{r||(r=!0,clearTimeout(s),clearInterval(c),l.unsubscribe(),n())},l=o.subscribe({onRunFinalized:i,onRunFailed:i}),c=setInterval(()=>{o.isRunning||i()},500)})}}const st=new Qn,nn="mcp-apps",on=X.z.object({result:X.z.object({content:X.z.array(X.z.any()).optional(),structuredContent:X.z.any().optional(),isError:X.z.boolean().optional()}),resourceUri:X.z.string(),serverHash:X.z.string(),serverId:X.z.string().optional(),toolInput:X.z.record(X.z.unknown()).optional()});function Yn(t){return"id"in t&&"method"in t}function Zn(t){return!("id"in t)&&"method"in t}const an=e.defineComponent({name:"MCPAppsActivityRenderer",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){const{copilotkit:o}=ke(),n=e.ref(null),a=e.ref(null),r=e.ref(!1),s=e.ref(null),i=e.ref(!0),l=e.ref({}),c=e.ref(null),p=e.ref({inProgress:!1,promise:null,resourceUri:null}),y=C=>{a.value?.contentWindow&&a.value.contentWindow.postMessage(C,"*")},u=(C,h)=>{y({jsonrpc:"2.0",id:C,result:h})},d=(C,h,w)=>{y({jsonrpc:"2.0",id:C,error:{code:h,message:w}})},f=(C,h)=>{y({jsonrpc:"2.0",method:C,params:h||{}})};e.watch([()=>t.agent,()=>t.content],([C,h])=>{i.value=!0,s.value=null,r.value=!1,l.value={},c.value=null;const{resourceUri:w,serverHash:m,serverId:b}=h;if(p.value.inProgress&&p.value.resourceUri===w){p.value.promise?.then(k=>{k&&(c.value=k,i.value=!1)}).catch(k=>{s.value=k instanceof Error?k:new Error(String(k)),i.value=!1});return}if(!C){s.value=new Error("No agent available to fetch resource"),i.value=!1;return}p.value.inProgress=!0,p.value.resourceUri=w;const g=(async()=>{try{const A=(await st.enqueue(C,()=>C.runAgent({forwardedProps:{__proxiedMCPRequest:{serverHash:m,serverId:b,method:"resources/read",params:{uri:w}}}}))).result?.contents?.[0];if(!A)throw new Error("No resource content in response");return A}finally{p.value.inProgress=!1}})();p.value.promise=g,g.then(k=>{k&&(c.value=k,i.value=!1)}).catch(k=>{s.value=k instanceof Error?k:new Error(String(k)),i.value=!1})},{immediate:!0}),e.watch([i,c],([C,h],w,m)=>{if(C||!h)return;const b=n.value;if(!b)return;let g=!0,k=null,x=null,A=null;(async()=>{try{const T=document.createElement("iframe");A=T,T.style.width="100%",T.style.height="100px",T.style.border="none",T.style.backgroundColor="transparent",T.style.display="block",T.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms");const F=new Promise(H=>{x=L=>{L.source===T.contentWindow&&L.data?.method==="ui/notifications/sandbox-proxy-ready"&&(x&&(window.removeEventListener("message",x),x=null),H())},window.addEventListener("message",x)});if(!g){x&&(window.removeEventListener("message",x),x=null);return}const U=c.value?._meta?.ui?.csp?.resourceDomains;if(T.srcdoc=Xn(U),a.value=T,b.appendChild(T),await F,!g)return;k=async H=>{if(H.source!==T.contentWindow)return;const L=H.data;if(!(!L||typeof L!="object"||L.jsonrpc!=="2.0")){if(Yn(L))switch(L.method){case"ui/initialize":{u(L.id,{protocolVersion:Jn,hostInfo:{name:"CopilotKit MCP Apps Host",version:"1.0.0"},hostCapabilities:{openLinks:{},logging:{}},hostContext:{theme:"light",platform:"web"}});break}case"ui/message":{const R=t.agent;if(!R){u(L.id,{isError:!1});break}try{const W=L.params,K=W?.role||"user",I=W?.content?.filter(O=>O.type==="text"&&O.text).map(O=>O.text).join(`
|
|
31
|
+
</html>`}class Qn{queues=new Map;processing=new Map;async enqueue(o,n){const a=o.threadId||"default";return new Promise((r,s)=>{let i=this.queues.get(a);i||(i=[],this.queues.set(a,i)),i.push({execute:n,resolve:r,reject:s}),this.processQueue(a,o)})}async processQueue(o,n){if(!this.processing.get(o)){this.processing.set(o,!0);try{const a=this.queues.get(o);if(!a)return;for(;a.length>0;){const r=a[0];try{await this.waitForAgentIdle(n);const s=await r.execute();r.resolve(s)}catch(s){r.reject(s instanceof Error?s:new Error(String(s)))}a.shift()}}finally{this.processing.set(o,!1)}}}cancel(o){const n=this.queues.get(o);if(n){for(const a of n)a.reject(new Error("MCPAppsRequestQueue cancelled on unmount"));n.length=0}this.queues.delete(o),this.processing.delete(o)}waitForAgentIdle(o){return new Promise((n,a)=>{if(!o.isRunning){n();return}let r=!1;const s=setTimeout(()=>{r||(r=!0,clearInterval(c),l.unsubscribe(),a(new Error("[CopilotKit] Timed out waiting for agent to become idle")))},3e4),i=()=>{r||(r=!0,clearTimeout(s),clearInterval(c),l.unsubscribe(),n())},l=o.subscribe({onRunFinalized:i,onRunFailed:i}),c=setInterval(()=>{o.isRunning||i()},500)})}}const st=new Qn,nn="mcp-apps",on=X.z.object({result:X.z.object({content:X.z.array(X.z.any()).optional(),structuredContent:X.z.any().optional(),isError:X.z.boolean().optional()}),resourceUri:X.z.string(),serverHash:X.z.string(),serverId:X.z.string().optional(),toolInput:X.z.record(X.z.string(),X.z.unknown()).optional()});function Yn(t){return"id"in t&&"method"in t}function Zn(t){return!("id"in t)&&"method"in t}const an=e.defineComponent({name:"MCPAppsActivityRenderer",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){const{copilotkit:o}=ke(),n=e.ref(null),a=e.ref(null),r=e.ref(!1),s=e.ref(null),i=e.ref(!0),l=e.ref({}),c=e.ref(null),p=e.ref({inProgress:!1,promise:null,resourceUri:null}),y=C=>{a.value?.contentWindow&&a.value.contentWindow.postMessage(C,"*")},u=(C,h)=>{y({jsonrpc:"2.0",id:C,result:h})},d=(C,h,w)=>{y({jsonrpc:"2.0",id:C,error:{code:h,message:w}})},f=(C,h)=>{y({jsonrpc:"2.0",method:C,params:h||{}})};e.watch([()=>t.agent,()=>t.content],([C,h])=>{i.value=!0,s.value=null,r.value=!1,l.value={},c.value=null;const{resourceUri:w,serverHash:m,serverId:b}=h;if(p.value.inProgress&&p.value.resourceUri===w){p.value.promise?.then(k=>{k&&(c.value=k,i.value=!1)}).catch(k=>{s.value=k instanceof Error?k:new Error(String(k)),i.value=!1});return}if(!C){s.value=new Error("No agent available to fetch resource"),i.value=!1;return}p.value.inProgress=!0,p.value.resourceUri=w;const g=(async()=>{try{const A=(await st.enqueue(C,()=>C.runAgent({forwardedProps:{__proxiedMCPRequest:{serverHash:m,serverId:b,method:"resources/read",params:{uri:w}}}}))).result?.contents?.[0];if(!A)throw new Error("No resource content in response");return A}finally{p.value.inProgress=!1}})();p.value.promise=g,g.then(k=>{k&&(c.value=k,i.value=!1)}).catch(k=>{s.value=k instanceof Error?k:new Error(String(k)),i.value=!1})},{immediate:!0}),e.watch([i,c],([C,h],w,m)=>{if(C||!h)return;const b=n.value;if(!b)return;let g=!0,k=null,x=null,A=null;(async()=>{try{const T=document.createElement("iframe");A=T,T.style.width="100%",T.style.height="100px",T.style.border="none",T.style.backgroundColor="transparent",T.style.display="block",T.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms");const F=new Promise(H=>{x=L=>{L.source===T.contentWindow&&L.data?.method==="ui/notifications/sandbox-proxy-ready"&&(x&&(window.removeEventListener("message",x),x=null),H())},window.addEventListener("message",x)});if(!g){x&&(window.removeEventListener("message",x),x=null);return}const U=c.value?._meta?.ui?.csp?.resourceDomains;if(T.srcdoc=Xn(U),a.value=T,b.appendChild(T),await F,!g)return;k=async H=>{if(H.source!==T.contentWindow)return;const L=H.data;if(!(!L||typeof L!="object"||L.jsonrpc!=="2.0")){if(Yn(L))switch(L.method){case"ui/initialize":{u(L.id,{protocolVersion:Jn,hostInfo:{name:"CopilotKit MCP Apps Host",version:"1.0.0"},hostCapabilities:{openLinks:{},logging:{}},hostContext:{theme:"light",platform:"web"}});break}case"ui/message":{const R=t.agent;if(!R){u(L.id,{isError:!1});break}try{const W=L.params,K=W?.role||"user",I=W?.content?.filter(O=>O.type==="text"&&O.text).map(O=>O.text).join(`
|
|
32
32
|
`)||"";I&&R.addMessage({id:z.randomUUID(),role:K,content:I}),u(L.id,{isError:!1}),(W?.followUp??K==="user")&&I&&st.enqueue(R,()=>o.value.runAgent({agent:R})).catch(O=>{console.error("[MCPAppsRenderer] ui/message agent run failed:",O)})}catch(W){console.error("[CopilotKit] MCPApps ui/message handler error:",W),u(L.id,{isError:!0})}break}case"ui/open-link":{const R=L.params?.url;if(!R){d(L.id,-32602,"Missing url parameter");break}window.open(R,"_blank","noopener,noreferrer"),u(L.id,{isError:!1});break}case"tools/call":{const{serverHash:R,serverId:W}=t.content,K=t.agent;if(!R){d(L.id,-32603,"No server hash available for proxying");break}if(!K){d(L.id,-32603,"No agent available for proxying");break}try{const I=await st.enqueue(K,()=>K.runAgent({forwardedProps:{__proxiedMCPRequest:{serverHash:R,serverId:W,method:"tools/call",params:L.params}}}));u(L.id,I.result||{})}catch(I){d(L.id,-32603,String(I))}break}default:d(L.id,-32601,`Method not found: ${L.method}`)}if(Zn(L))switch(L.method){case"ui/notifications/initialized":g&&(r.value=!0);break;case"ui/notifications/size-changed":{const{width:R,height:W}=L.params||{};g&&(l.value={width:typeof R=="number"?R:void 0,height:typeof W=="number"?W:void 0});break}}}},window.addEventListener("message",k);const te=h.text?h.text:h.blob?atob(h.blob):null;if(!te)throw new Error("Resource has no text or blob content");f("ui/notifications/sandbox-resource-ready",{html:te})}catch(T){g&&(s.value=T instanceof Error?T:new Error(String(T)))}})(),m(()=>{g=!1,x&&(window.removeEventListener("message",x),x=null),k&&window.removeEventListener("message",k),A&&(A.remove(),A=null),a.value=null})},{flush:"post"}),e.watch(l,C=>{a.value&&(C.width!==void 0&&(a.value.style.minWidth=`min(${C.width}px, 100%)`,a.value.style.width="100%"),C.height!==void 0&&(a.value.style.height=`${C.height}px`))},{deep:!0}),e.watch([r,()=>t.content.toolInput],([C,h])=>{C&&h&&f("ui/notifications/tool-input",{arguments:h})},{deep:!0}),e.watch([r,()=>t.content.result],([C,h])=>{C&&h&&f("ui/notifications/tool-result",h)},{deep:!0});const v=e.computed(()=>c.value?._meta?.ui?.prefersBorder!==!0?{}:{borderRadius:"8px",backgroundColor:"#f9f9f9",border:"1px solid #e0e0e0"});return e.onBeforeUnmount(()=>{const C=t.agent?.threadId||"default";st.cancel(C)}),()=>e.h("div",{ref:n,style:{width:"100%",height:l.value.height!==void 0?`${l.value.height}px`:"auto",minHeight:"100px",overflow:"hidden",position:"relative",...v.value}},[i.value?e.h("div",{style:{padding:"1rem",color:"#666"}},"Loading..."):null,s.value?e.h("div",{style:{color:"red",padding:"1rem"}},`Error: ${s.value.message}`):null])}}),eo="a2ui-surface",to=X.z.object({operations:X.z.array(X.z.record(X.z.string(),X.z.unknown()))});function yt(t){return t.surfaceId??t.beginRendering?.surfaceId??t.surfaceUpdate?.surfaceId??t.dataModelUpdate?.surfaceId??t.deleteSurface?.surfaceId??t.createSurface?.surfaceId??t.updateComponents?.surfaceId??t.updateDataModel?.surfaceId??"default"}class sn extends me.CopilotKitCore{_renderToolCalls=[];_hookRenderToolCalls=new Map;_cachedMergedRenderToolCalls=null;_renderCustomMessages=[];_renderActivityMessages=[];_interruptState=null;constructor(o){super(o),this._renderToolCalls=o.renderToolCalls??[],this._renderCustomMessages=o.renderCustomMessages??[],this._renderActivityMessages=o.renderActivityMessages??[]}get renderCustomMessages(){return this._renderCustomMessages}get renderActivityMessages(){return this._renderActivityMessages}setRenderActivityMessages(o){this._renderActivityMessages=[...o]}setRenderCustomMessages(o){this._renderCustomMessages=[...o],this.notifySubscribers(n=>{n.onRenderCustomMessagesChanged?.({copilotkit:this,renderCustomMessages:[...this.renderCustomMessages]})},"Subscriber onRenderCustomMessagesChanged error:")}get propRenderToolCalls(){return this._renderToolCalls}get renderToolCalls(){if(this._hookRenderToolCalls.size===0)return this._renderToolCalls;if(this._cachedMergedRenderToolCalls)return this._cachedMergedRenderToolCalls;const o=new Map;for(const n of this._renderToolCalls)o.set(`${n.agentId??""}:${n.name}`,n);for(const[n,a]of this._hookRenderToolCalls)o.set(n,a);return this._cachedMergedRenderToolCalls=Array.from(o.values()),this._cachedMergedRenderToolCalls}get interruptState(){return this._interruptState}setRenderToolCalls(o){this._renderToolCalls=[...o],this._cachedMergedRenderToolCalls=null,this._notifyRenderToolCallsChanged()}addHookRenderToolCall(o){const n=`${o.agentId??""}:${o.name}`;this._hookRenderToolCalls.set(n,o),this._cachedMergedRenderToolCalls=null,this._notifyRenderToolCallsChanged()}removeHookRenderToolCall(o,n){const a=`${n??""}:${o}`;this._hookRenderToolCalls.delete(a)&&(this._cachedMergedRenderToolCalls=null,this._notifyRenderToolCallsChanged())}_notifyRenderToolCallsChanged(){this.notifySubscribers(o=>{const n=o;n.onRenderToolCallsChanged&&n.onRenderToolCallsChanged({copilotkit:this,renderToolCalls:[...this.renderToolCalls]})},"Subscriber onRenderToolCallsChanged error:")}setInterruptState(o){this._interruptState=o,this.notifySubscribers(n=>{n.onInterruptStateChanged?.({copilotkit:this,interruptState:this._interruptState})},"Subscriber onInterruptStateChanged error:")}subscribe(o){return super.subscribe(o)}async waitForPendingFrameworkUpdates(){await e.nextTick()}}const Lt="a2ui_operations",no=e.defineComponent({name:"DefaultA2UILoading",setup(){const t=[.8,.6,.4];return()=>e.h("div",{class:"cpk:flex cpk:flex-col cpk:gap-3 cpk:rounded-xl cpk:border cpk:border-gray-100 cpk:bg-gray-50/50 cpk:p-5",style:{minHeight:"120px"},"data-testid":"a2ui-loading"},[e.h("div",{class:"cpk:flex cpk:items-center cpk:gap-2"},[e.h("div",{class:"cpk:h-3 cpk:w-3 cpk:rounded-full cpk:bg-gray-200",style:{animation:"cpk-a2ui-pulse 1.5s ease-in-out infinite"},"data-testid":"a2ui-loading-dot"}),e.h("span",{class:"cpk:text-xs cpk:font-medium cpk:text-gray-400"},"Generating UI...")]),e.h("div",{class:"cpk:flex cpk:flex-col cpk:gap-2"},t.map((o,n)=>e.h("div",{key:n,class:"cpk:h-3 cpk:rounded cpk:bg-gray-200/70",style:{width:`${o*100}%`,animation:`cpk-a2ui-pulse 1.5s ease-in-out ${n*.15}s infinite`},"data-testid":"a2ui-loading-bar"}))),e.h("style",{},`@keyframes cpk-a2ui-pulse {
|
|
33
33
|
0%, 100% { opacity: 0.4; }
|
|
34
34
|
50% { opacity: 1; }
|
|
@@ -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 K(){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=K),$});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(Bt)]),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",hr,[e.renderSlot($.$slots,"header",{title:f.value,onClose:A,isOpen:u.value},()=>[e.createVNode(Vt,{title:f.value},null,8,["title"])]),e.createElementVNode("div",vr,[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,gr)],64))}}),Pn=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(yr,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"]))}}),wr={"data-copilotkit":"",class:"cpk:h-full cpk:flex cpk:flex-col","data-testid":"copilot-sidebar-welcome-screen"},Cr={class:"cpk:flex-1 cpk:flex cpk:flex-col cpk:items-center cpk:justify-center cpk:px-4"},xr={class:"cpk:text-xl cpk:sm:text-2xl cpk:font-medium cpk:text-foreground cpk:text-center"},Sr={class:"cpk:px-8 cpk:pb-4"},Tr={class:"cpk:max-w-3xl cpk:mx-auto"},Ir={class:"cpk:mb-4 cpk:flex cpk:justify-center"},zn=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",wr,[e.createElementVNode("div",Cr,[e.renderSlot(c.$slots,"welcome-message",{},()=>[e.createElementVNode("h1",xr,e.toDisplayString(a.value.welcomeMessageText),1)])]),e.createElementVNode("div",Sr,[e.createElementVNode("div",Tr,[e.createElementVNode("div",Ir,[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"])])])])])])}}),Rr=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(At,{key:0,"feature-name":"Popup"})),e.createVNode(Et,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(Dn,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(Ln,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))}}),Ar=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(At,{key:0,"feature-name":"Sidebar"})),e.createVNode(Et,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(Pn,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(zn,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))}}),Er=Object.assign(Et,{View:Ze}),$r=Object.assign(Bt,{OpenIcon:Mt,CloseIcon:$t}),Mr=Object.assign(Vt,{Title:On,CloseButton:Nn}),Br=Object.assign(Dn,{WelcomeScreen:Ln}),Vr=Object.assign(Pn,{WelcomeScreen:zn});function Fr(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 Nr=[];function Ft(t,o){const{copilotkit:n}=ke(),a=o??Nr;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 Or(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;Ft({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 Dr=[];function Un(t,o){const{copilotkit:n}=ke(),a=o??Dr;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 Lr=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:String,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",{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",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",{style:{fontWeight:"600"}},t.name),e.h("span",r)]),o.value?e.h("div",{style:{marginTop:"12px"}},[e.h("div","Arguments"),e.h("pre",JSON.stringify(t.parameters??{},null,2)),t.result!==void 0?e.h("div",[e.h("div","Result"),e.h("pre",t.result)]):null]):null])])}}});function Pr(t,o){Un({name:"*",render:t?.render??(n=>e.h(Lr,{name:n.name,toolCallId:n.toolCallId,parameters:n.parameters,status:n.status,result:n.result}))},o)}function zr(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)}};Ft(l,o),e.onScopeDispose(()=>{n.value.removeHookRenderToolCall(t.name,t.agentId)})}function Ur(t){return"instructions"in t}function jr(t){return t.map(o=>({...o,isLoading:o.isLoading??!1}))}function _r(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(Ur(t))return{...t};const h=jr(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 Hr="on_interrupt";function Wr(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 Gr(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===Hr&&(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});Wr(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 Ge(t,o,n){n.value=o(t.getState());const a=t.select(o).subscribe(()=>{n.value=o(t.getState())});e.onScopeDispose(()=>a.unsubscribe())}function Kr(t){const{copilotkit:o}=ke(),n=me.ɵ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);Ge(n,me.ɵselectThreads,l),Ge(n,me.ɵselectThreadsIsLoading,c),Ge(n,me.ɵselectThreadsError,p),Ge(n,me.ɵselectHasNextPage,y),Ge(n,me.ɵ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!==me.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 Jr(t){const{agent:o}=gt({agentId:t});return e.computed(()=>{const n=o.value;if(n&&"capabilities"in n)return n.capabilities})}function Xr(){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 Qr(){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=to;exports.A2UISurfaceActivityType=eo;exports.CopilotChat=Er;exports.CopilotChatDefaultLabels=Ee;exports.CopilotChatToggleButton=$r;exports.CopilotChatToggleButtonCloseIcon=$t;exports.CopilotChatToggleButtonOpenIcon=Mt;exports.CopilotKitCoreVue=sn;exports.CopilotModalHeader=Mr;exports.CopilotPopupView=Br;exports.CopilotSidebarView=Vr;exports.GenerateSandboxedUiArgsSchema=fn;exports.LicenseContextKey=Rt;exports.MCPAppsActivityContentSchema=on;exports.MCPAppsActivityRenderer=an;exports.MCPAppsActivityType=nn;exports.OpenGenerativeUIActivityRenderer=hn;exports.OpenGenerativeUIActivityType=pn;exports.OpenGenerativeUIContentSchema=mn;exports.OpenGenerativeUIRenderer=gn;exports.OpenGenerativeUIToolRenderer=vn;exports.UseAgentUpdate=In;exports._sfc_main=wn;exports._sfc_main$1=Sn;exports._sfc_main$10=Qe;exports._sfc_main$11=Cn;exports._sfc_main$12=Bn;exports._sfc_main$13=Ze;exports._sfc_main$14=Zt;exports._sfc_main$15=qo;exports._sfc_main$16=Rr;exports._sfc_main$17=Ar;exports._sfc_main$2=xt;exports._sfc_main$3=er;exports._sfc_main$4=Tn;exports._sfc_main$5=mt;exports._sfc_main$6=Xe;exports._sfc_main$7=Vn;exports._sfc_main$8=Mn;exports._sfc_main$9=Fn;exports.createA2UIMessageRenderer=rn;exports.createDefaultLicenseRef=kn;exports.defineToolCallRenderer=ct;exports.extractCompleteStyles=cn;exports.getOperationSurfaceId=yt;exports.processPartialHtml=un;exports.useAgent=gt;exports.useAgentContext=Fr;exports.useAttachments=An;exports.useCapabilities=Jr;exports.useComponent=Or;exports.useConfigureSuggestions=_r;exports.useCopilotChatConfiguration=ge;exports.useCopilotKit=ke;exports.useDefaultRenderTool=Pr;exports.useFrontendTool=Ft;exports.useHumanInTheLoop=zr;exports.useInterrupt=Gr;exports.useKatexStyles=xn;exports.useKeyboardHeight=En;exports.useLicenseContext=ft;exports.useRenderActivityMessage=Qr;exports.useRenderCustomMessages=Xr;exports.useRenderTool=Un;exports.useSandboxFunctions=dn;exports.useSuggestions=Rn;exports.useThreads=Kr;
|
|
85
|
-
//# sourceMappingURL=use-render-activity-message-
|
|
85
|
+
//# sourceMappingURL=use-render-activity-message-D7Ve-ASg.cjs.map
|