@copilotkit/vue 1.75.1 → 1.76.0
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 +272 -157
- package/dist/index.mjs.map +1 -1
- package/dist/use-render-activity-message-BTKmd3f3.cjs +110 -0
- package/dist/use-render-activity-message-BTKmd3f3.cjs.map +1 -0
- package/dist/use-render-activity-message-Eu6R2vGT.js +12801 -0
- package/dist/use-render-activity-message-Eu6R2vGT.js.map +1 -0
- package/dist/v2/components/chat/CopilotChat.vue.d.ts.map +1 -1
- package/dist/v2/components/chat/CopilotChatAssistantMessage.vue.d.ts +8 -152
- package/dist/v2/components/chat/CopilotChatAssistantMessage.vue.d.ts.map +1 -1
- package/dist/v2/components/chat/CopilotChatMessageView.vue.d.ts.map +1 -1
- package/dist/v2/components/chat/copilotChatToolCallItemRender.d.ts.map +1 -1
- package/dist/v2/hooks/use-agent.d.ts.map +1 -1
- package/dist/v2/index.cjs +1 -1
- package/dist/v2/index.d.cts +2 -0
- package/dist/v2/index.d.mts +2 -0
- package/dist/v2/index.d.ts +2 -0
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/index.mjs +187 -72
- package/dist/v2/index.mjs.map +1 -1
- package/package.json +7 -7
- package/src/v2/__tests__/utils/test-helpers.ts +26 -6
- package/src/v2/components/chat/CopilotChat.vue +100 -20
- package/src/v2/components/chat/CopilotChatMessageView.vue +41 -30
- package/src/v2/components/chat/__tests__/CopilotChat.clearOnFresh.test.ts +130 -2
- package/src/v2/components/chat/__tests__/CopilotChat.e2e.test.ts +6 -1
- package/src/v2/components/chat/__tests__/CopilotChatMessageView.slotMetaCost.test.ts +187 -0
- package/src/v2/components/chat/__tests__/CopilotChatToolRendering.e2e.test.ts +22 -40
- package/src/v2/components/chat/__tests__/CopilotChatToolRerenders.e2e.test.ts +12 -24
- package/src/v2/components/chat/copilotChatToolCallItemRender.ts +3 -2
- package/src/v2/hooks/__tests__/use-agent-headers.test.ts +83 -0
- package/src/v2/hooks/__tests__/use-agent-stability.test.ts +2 -0
- package/src/v2/hooks/__tests__/use-agent.e2e.test.ts +5 -3
- package/src/v2/hooks/__tests__/use-frontend-tool.e2e.test.ts +2 -2
- package/src/v2/hooks/use-agent.ts +3 -3
- package/src/v2/index.ts +5 -0
- package/src/v2/providers/__tests__/CopilotKitProvider.renderCustomMessages.e2e.test.ts +6 -4
- package/dist/use-render-activity-message-BOPauH9X.cjs +0 -85
- package/dist/use-render-activity-message-BOPauH9X.cjs.map +0 -1
- package/dist/use-render-activity-message-xvpuaGyf.js +0 -9807
- package/dist/use-render-activity-message-xvpuaGyf.js.map +0 -1
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";var Cs=Object.create;var Wn=Object.defineProperty;var Ts=Object.getOwnPropertyDescriptor;var xs=Object.getOwnPropertyNames;var Is=Object.getPrototypeOf,Es=Object.prototype.hasOwnProperty;var Rs=(e,n,o,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of xs(n))!Es.call(e,r)&&r!==o&&Wn(e,r,{get:()=>n[r],enumerable:!(a=Ts(n,r))||a.enumerable});return e};var ln=(e,n,o)=>(o=e!=null?Cs(Is(e)):{},Rs(n||!e||!e.__esModule?Wn(o,"default",{value:e,enumerable:!0}):o,e));const t=require("vue"),re=require("zod"),le=require("@copilotkit/core"),G=require("@copilotkit/shared"),Sn=require("zod-to-json-schema"),Xt=require("@a2ui/web_core/v0_9"),Me=require("@a2ui/web_core/v0_9/basic_catalog"),Wt=require("@ag-ui/client"),fe=require("lucide-vue-next"),Mo=require("streamdown-vue"),No=require("@ag-ui/core");let ge=(function(e){return e.TEXT_MESSAGE_START="TEXT_MESSAGE_START",e.TEXT_MESSAGE_CONTENT="TEXT_MESSAGE_CONTENT",e.TEXT_MESSAGE_END="TEXT_MESSAGE_END",e.TEXT_MESSAGE_CHUNK="TEXT_MESSAGE_CHUNK",e.TOOL_CALL_START="TOOL_CALL_START",e.TOOL_CALL_ARGS="TOOL_CALL_ARGS",e.TOOL_CALL_END="TOOL_CALL_END",e.TOOL_CALL_CHUNK="TOOL_CALL_CHUNK",e.TOOL_CALL_RESULT="TOOL_CALL_RESULT",e.STATE_SNAPSHOT="STATE_SNAPSHOT",e.STATE_DELTA="STATE_DELTA",e.MESSAGES_SNAPSHOT="MESSAGES_SNAPSHOT",e.ACTIVITY_SNAPSHOT="ACTIVITY_SNAPSHOT",e.ACTIVITY_DELTA="ACTIVITY_DELTA",e.RAW="RAW",e.CUSTOM="CUSTOM",e.RUN_STARTED="RUN_STARTED",e.RUN_FINISHED="RUN_FINISHED",e.RUN_ERROR="RUN_ERROR",e.STEP_STARTED="STEP_STARTED",e.STEP_FINISHED="STEP_FINISHED",e.REASONING_START="REASONING_START",e.REASONING_MESSAGE_START="REASONING_MESSAGE_START",e.REASONING_MESSAGE_CONTENT="REASONING_MESSAGE_CONTENT",e.REASONING_MESSAGE_END="REASONING_MESSAGE_END",e.REASONING_MESSAGE_CHUNK="REASONING_MESSAGE_CHUNK",e.REASONING_END="REASONING_END",e.REASONING_ENCRYPTED_VALUE="REASONING_ENCRYPTED_VALUE",e.SUBAGENT_STARTED="SUBAGENT_STARTED",e.SUBAGENT_FINISHED="SUBAGENT_FINISHED",e.SUBAGENT_ERROR="SUBAGENT_ERROR",e})({});function $(e,n,o){function a(l,c){var u;Object.defineProperty(l,"_zod",{value:l._zod??{},enumerable:!1}),(u=l._zod).traits??(u.traits=new Set),l._zod.traits.add(e),n(l,c);for(const d in i.prototype)d in l||Object.defineProperty(l,d,{value:i.prototype[d].bind(l)});l._zod.constr=i,l._zod.def=c}const r=o?.Parent??Object;class s extends r{}Object.defineProperty(s,"name",{value:e});function i(l){var c;const u=o?.Parent?new s:this;a(u,l),(c=u._zod).deferred??(c.deferred=[]);for(const d of u._zod.deferred)d();return u}return Object.defineProperty(i,"init",{value:a}),Object.defineProperty(i,Symbol.hasInstance,{value:l=>o?.Parent&&l instanceof o.Parent?!0:l?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}class xt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const zo={};function pt(e){return zo}function As(e){const n=Object.values(e).filter(a=>typeof a=="number");return Object.entries(e).filter(([a,r])=>n.indexOf(+a)===-1).map(([a,r])=>r)}function _s(e,n){return typeof n=="bigint"?n.toString():n}function Cn(e){return{get value(){{const n=e();return Object.defineProperty(this,"value",{value:n}),n}}}}function Tn(e){return e==null}function xn(e){const n=e.startsWith("^")?1:0,o=e.endsWith("$")?e.length-1:e.length;return e.slice(n,o)}function $s(e,n){const o=(e.toString().split(".")[1]||"").length,a=(n.toString().split(".")[1]||"").length,r=o>a?o:a,s=Number.parseInt(e.toFixed(r).replace(".","")),i=Number.parseInt(n.toFixed(r).replace(".",""));return s%i/10**r}function be(e,n,o){Object.defineProperty(e,n,{get(){{const a=o();return e[n]=a,a}},set(a){Object.defineProperty(e,n,{value:a})},configurable:!0})}function In(e,n,o){Object.defineProperty(e,n,{value:o,writable:!0,enumerable:!0,configurable:!0})}function Ct(e){return JSON.stringify(e)}const Oo=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Kt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Ms=Cn(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function fn(e){if(Kt(e)===!1)return!1;const n=e.constructor;if(n===void 0)return!0;const o=n.prototype;return!(Kt(o)===!1||Object.prototype.hasOwnProperty.call(o,"isPrototypeOf")===!1)}const Ns=new Set(["string","number","symbol"]);function _t(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ft(e,n,o){const a=new e._zod.constr(n??e._zod.def);return(!n||o?.parent)&&(a._zod.parent=e),a}function J(e){const n=e;if(!n)return{};if(typeof n=="string")return{error:()=>n};if(n?.message!==void 0){if(n?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");n.error=n.message}return delete n.message,typeof n.error=="string"?{...n,error:()=>n.error}:n}function zs(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}const Os={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Bs(e,n){const o={},a=e._zod.def;for(const r in n){if(!(r in a.shape))throw new Error(`Unrecognized key: "${r}"`);n[r]&&(o[r]=a.shape[r])}return ft(e,{...e._zod.def,shape:o,checks:[]})}function Fs(e,n){const o={...e._zod.def.shape},a=e._zod.def;for(const r in n){if(!(r in a.shape))throw new Error(`Unrecognized key: "${r}"`);n[r]&&delete o[r]}return ft(e,{...e._zod.def,shape:o,checks:[]})}function Ds(e,n){if(!fn(n))throw new Error("Invalid input to extend: expected a plain object");const o={...e._zod.def,get shape(){const a={...e._zod.def.shape,...n};return In(this,"shape",a),a},checks:[]};return ft(e,o)}function Ps(e,n){return ft(e,{...e._zod.def,get shape(){const o={...e._zod.def.shape,...n._zod.def.shape};return In(this,"shape",o),o},catchall:n._zod.def.catchall,checks:[]})}function Vs(e,n,o){const a=n._zod.def.shape,r={...a};if(o)for(const s in o){if(!(s in a))throw new Error(`Unrecognized key: "${s}"`);o[s]&&(r[s]=e?new e({type:"optional",innerType:a[s]}):a[s])}else for(const s in a)r[s]=e?new e({type:"optional",innerType:a[s]}):a[s];return ft(n,{...n._zod.def,shape:r,checks:[]})}function Ls(e,n,o){const a=n._zod.def.shape,r={...a};if(o)for(const s in o){if(!(s in r))throw new Error(`Unrecognized key: "${s}"`);o[s]&&(r[s]=new e({type:"nonoptional",innerType:a[s]}))}else for(const s in a)r[s]=new e({type:"nonoptional",innerType:a[s]});return ft(n,{...n._zod.def,shape:r,checks:[]})}function Tt(e,n=0){for(let o=n;o<e.issues.length;o++)if(e.issues[o]?.continue!==!0)return!0;return!1}function En(e,n){return n.map(o=>{var a;return(a=o).path??(a.path=[]),o.path.unshift(e),o})}function Pt(e){return typeof e=="string"?e:e?.message}function mt(e,n,o){const a={...e,path:e.path??[]};if(!e.message){const r=Pt(e.inst?._zod.def?.error?.(e))??Pt(n?.error?.(e))??Pt(o.customError?.(e))??Pt(o.localeError?.(e))??"Invalid input";a.message=r}return delete a.inst,delete a.continue,n?.reportInput||delete a.input,a}function Rn(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function It(...e){const[n,o,a]=e;return typeof n=="string"?{message:n,code:"custom",input:o,inst:a}:{...n}}const Bo=(e,n)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:n,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(n,_s,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Fo=$("$ZodError",Bo),Do=$("$ZodError",Bo,{Parent:Error});function Us(e,n=o=>o.message){const o={},a=[];for(const r of e.issues)r.path.length>0?(o[r.path[0]]=o[r.path[0]]||[],o[r.path[0]].push(n(r))):a.push(n(r));return{formErrors:a,fieldErrors:o}}function js(e,n){const o=n||function(s){return s.message},a={_errors:[]},r=s=>{for(const i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(l=>r({issues:l}));else if(i.code==="invalid_key")r({issues:i.issues});else if(i.code==="invalid_element")r({issues:i.issues});else if(i.path.length===0)a._errors.push(o(i));else{let l=a,c=0;for(;c<i.path.length;){const u=i.path[c];c===i.path.length-1?(l[u]=l[u]||{_errors:[]},l[u]._errors.push(o(i))):l[u]=l[u]||{_errors:[]},l=l[u],c++}}};return r(e),a}const Zs=e=>(n,o,a,r)=>{const s=a?Object.assign(a,{async:!1}):{async:!1},i=n._zod.run({value:o,issues:[]},s);if(i instanceof Promise)throw new xt;if(i.issues.length){const l=new(r?.Err??e)(i.issues.map(c=>mt(c,s,pt())));throw Oo(l,r?.callee),l}return i.value},Hs=e=>async(n,o,a,r)=>{const s=a?Object.assign(a,{async:!0}):{async:!0};let i=n._zod.run({value:o,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){const l=new(r?.Err??e)(i.issues.map(c=>mt(c,s,pt())));throw Oo(l,r?.callee),l}return i.value},Po=e=>(n,o,a)=>{const r=a?{...a,async:!1}:{async:!1},s=n._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw new xt;return s.issues.length?{success:!1,error:new(e??Fo)(s.issues.map(i=>mt(i,r,pt())))}:{success:!0,data:s.value}},Gs=Po(Do),Vo=e=>async(n,o,a)=>{const r=a?Object.assign(a,{async:!0}):{async:!0};let s=n._zod.run({value:o,issues:[]},r);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(i=>mt(i,r,pt())))}:{success:!0,data:s.value}},Ws=Vo(Do),Ks=/^[cC][^\s-]{8,}$/,qs=/^[0-9a-z]+$/,Js=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Xs=/^[0-9a-vA-V]{20}$/,Ys=/^[A-Za-z0-9]{27}$/,Qs=/^[a-zA-Z0-9_-]{21}$/,ei=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ti=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Kn=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,ni=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,oi="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function ai(){return new RegExp(oi,"u")}const ri=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,si=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,ii=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,li=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,ci=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Lo=/^[A-Za-z0-9_-]*$/,ui=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,di=/^\+(?:[0-9]){6,14}[0-9]$/,Uo="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",pi=new RegExp(`^${Uo}$`);function jo(e){const n="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${n}`:e.precision===0?`${n}:[0-5]\\d`:`${n}:[0-5]\\d\\.\\d{${e.precision}}`:`${n}(?::[0-5]\\d(?:\\.\\d+)?)?`}function mi(e){return new RegExp(`^${jo(e)}$`)}function fi(e){const n=jo({precision:e.precision}),o=["Z"];e.local&&o.push(""),e.offset&&o.push("([+-]\\d{2}:\\d{2})");const a=`${n}(?:${o.join("|")})`;return new RegExp(`^${Uo}T(?:${a})$`)}const hi=e=>{const n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},gi=/^\d+$/,vi=/^-?\d+(?:\.\d+)?/i,bi=/true|false/i,ki=/^[^A-Z]*$/,yi=/^[^a-z]*$/,qe=$("$ZodCheck",(e,n)=>{var o;e._zod??(e._zod={}),e._zod.def=n,(o=e._zod).onattach??(o.onattach=[])}),Zo={number:"number",bigint:"bigint",object:"date"},Ho=$("$ZodCheckLessThan",(e,n)=>{qe.init(e,n);const o=Zo[typeof n.value];e._zod.onattach.push(a=>{const r=a._zod.bag,s=(n.inclusive?r.maximum:r.exclusiveMaximum)??Number.POSITIVE_INFINITY;n.value<s&&(n.inclusive?r.maximum=n.value:r.exclusiveMaximum=n.value)}),e._zod.check=a=>{(n.inclusive?a.value<=n.value:a.value<n.value)||a.issues.push({origin:o,code:"too_big",maximum:n.value,input:a.value,inclusive:n.inclusive,inst:e,continue:!n.abort})}}),Go=$("$ZodCheckGreaterThan",(e,n)=>{qe.init(e,n);const o=Zo[typeof n.value];e._zod.onattach.push(a=>{const r=a._zod.bag,s=(n.inclusive?r.minimum:r.exclusiveMinimum)??Number.NEGATIVE_INFINITY;n.value>s&&(n.inclusive?r.minimum=n.value:r.exclusiveMinimum=n.value)}),e._zod.check=a=>{(n.inclusive?a.value>=n.value:a.value>n.value)||a.issues.push({origin:o,code:"too_small",minimum:n.value,input:a.value,inclusive:n.inclusive,inst:e,continue:!n.abort})}}),wi=$("$ZodCheckMultipleOf",(e,n)=>{qe.init(e,n),e._zod.onattach.push(o=>{var a;(a=o._zod.bag).multipleOf??(a.multipleOf=n.value)}),e._zod.check=o=>{if(typeof o.value!=typeof n.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof o.value=="bigint"?o.value%n.value===BigInt(0):$s(o.value,n.value)===0)||o.issues.push({origin:typeof o.value,code:"not_multiple_of",divisor:n.value,input:o.value,inst:e,continue:!n.abort})}}),Si=$("$ZodCheckNumberFormat",(e,n)=>{qe.init(e,n),n.format=n.format||"float64";const o=n.format?.includes("int"),a=o?"int":"number",[r,s]=Os[n.format];e._zod.onattach.push(i=>{const l=i._zod.bag;l.format=n.format,l.minimum=r,l.maximum=s,o&&(l.pattern=gi)}),e._zod.check=i=>{const l=i.value;if(o){if(!Number.isInteger(l)){i.issues.push({expected:a,format:n.format,code:"invalid_type",input:l,inst:e});return}if(!Number.isSafeInteger(l)){l>0?i.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:a,continue:!n.abort}):i.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:a,continue:!n.abort});return}}l<r&&i.issues.push({origin:"number",input:l,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!n.abort}),l>s&&i.issues.push({origin:"number",input:l,code:"too_big",maximum:s,inst:e})}}),Ci=$("$ZodCheckMaxLength",(e,n)=>{var o;qe.init(e,n),(o=e._zod.def).when??(o.when=a=>{const r=a.value;return!Tn(r)&&r.length!==void 0}),e._zod.onattach.push(a=>{const r=a._zod.bag.maximum??Number.POSITIVE_INFINITY;n.maximum<r&&(a._zod.bag.maximum=n.maximum)}),e._zod.check=a=>{const r=a.value;if(r.length<=n.maximum)return;const i=Rn(r);a.issues.push({origin:i,code:"too_big",maximum:n.maximum,inclusive:!0,input:r,inst:e,continue:!n.abort})}}),Ti=$("$ZodCheckMinLength",(e,n)=>{var o;qe.init(e,n),(o=e._zod.def).when??(o.when=a=>{const r=a.value;return!Tn(r)&&r.length!==void 0}),e._zod.onattach.push(a=>{const r=a._zod.bag.minimum??Number.NEGATIVE_INFINITY;n.minimum>r&&(a._zod.bag.minimum=n.minimum)}),e._zod.check=a=>{const r=a.value;if(r.length>=n.minimum)return;const i=Rn(r);a.issues.push({origin:i,code:"too_small",minimum:n.minimum,inclusive:!0,input:r,inst:e,continue:!n.abort})}}),xi=$("$ZodCheckLengthEquals",(e,n)=>{var o;qe.init(e,n),(o=e._zod.def).when??(o.when=a=>{const r=a.value;return!Tn(r)&&r.length!==void 0}),e._zod.onattach.push(a=>{const r=a._zod.bag;r.minimum=n.length,r.maximum=n.length,r.length=n.length}),e._zod.check=a=>{const r=a.value,s=r.length;if(s===n.length)return;const i=Rn(r),l=s>n.length;a.issues.push({origin:i,...l?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},inclusive:!0,exact:!0,input:a.value,inst:e,continue:!n.abort})}}),Yt=$("$ZodCheckStringFormat",(e,n)=>{var o,a;qe.init(e,n),e._zod.onattach.push(r=>{const s=r._zod.bag;s.format=n.format,n.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(n.pattern))}),n.pattern?(o=e._zod).check??(o.check=r=>{n.pattern.lastIndex=0,!n.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:n.format,input:r.value,...n.pattern?{pattern:n.pattern.toString()}:{},inst:e,continue:!n.abort})}):(a=e._zod).check??(a.check=()=>{})}),Ii=$("$ZodCheckRegex",(e,n)=>{Yt.init(e,n),e._zod.check=o=>{n.pattern.lastIndex=0,!n.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:"regex",input:o.value,pattern:n.pattern.toString(),inst:e,continue:!n.abort})}}),Ei=$("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=ki),Yt.init(e,n)}),Ri=$("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=yi),Yt.init(e,n)}),Ai=$("$ZodCheckIncludes",(e,n)=>{qe.init(e,n);const o=_t(n.includes),a=new RegExp(typeof n.position=="number"?`^.{${n.position}}${o}`:o);n.pattern=a,e._zod.onattach.push(r=>{const s=r._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(a)}),e._zod.check=r=>{r.value.includes(n.includes,n.position)||r.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:n.includes,input:r.value,inst:e,continue:!n.abort})}}),_i=$("$ZodCheckStartsWith",(e,n)=>{qe.init(e,n);const o=new RegExp(`^${_t(n.prefix)}.*`);n.pattern??(n.pattern=o),e._zod.onattach.push(a=>{const r=a._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(o)}),e._zod.check=a=>{a.value.startsWith(n.prefix)||a.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:n.prefix,input:a.value,inst:e,continue:!n.abort})}}),$i=$("$ZodCheckEndsWith",(e,n)=>{qe.init(e,n);const o=new RegExp(`.*${_t(n.suffix)}$`);n.pattern??(n.pattern=o),e._zod.onattach.push(a=>{const r=a._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(o)}),e._zod.check=a=>{a.value.endsWith(n.suffix)||a.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:n.suffix,input:a.value,inst:e,continue:!n.abort})}}),Mi=$("$ZodCheckOverwrite",(e,n)=>{qe.init(e,n),e._zod.check=o=>{o.value=n.tx(o.value)}});class Ni{constructor(n=[]){this.content=[],this.indent=0,this&&(this.args=n)}indented(n){this.indent+=1,n(this),this.indent-=1}write(n){if(typeof n=="function"){n(this,{execution:"sync"}),n(this,{execution:"async"});return}const a=n.split(`
|
|
2
|
+
`).filter(i=>i),r=Math.min(...a.map(i=>i.length-i.trimStart().length)),s=a.map(i=>i.slice(r)).map(i=>" ".repeat(this.indent*2)+i);for(const i of s)this.content.push(i)}compile(){const n=Function,o=this?.args,r=[...(this?.content??[""]).map(s=>` ${s}`)];return new n(...o,r.join(`
|
|
3
|
+
`))}}const zi={major:4,minor:0,patch:0},ye=$("$ZodType",(e,n)=>{var o;e??(e={}),e._zod.def=n,e._zod.bag=e._zod.bag||{},e._zod.version=zi;const a=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&a.unshift(e);for(const r of a)for(const s of r._zod.onattach)s(e);if(a.length===0)(o=e._zod).deferred??(o.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const r=(s,i,l)=>{let c=Tt(s),u;for(const d of i){if(d._zod.def.when){if(!d._zod.def.when(s))continue}else if(c)continue;const h=s.issues.length,g=d._zod.check(s);if(g instanceof Promise&&l?.async===!1)throw new xt;if(u||g instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await g,s.issues.length!==h&&(c||(c=Tt(s,h)))});else{if(s.issues.length===h)continue;c||(c=Tt(s,h))}}return u?u.then(()=>s):s};e._zod.run=(s,i)=>{const l=e._zod.parse(s,i);if(l instanceof Promise){if(i.async===!1)throw new xt;return l.then(c=>r(c,a,i))}return r(l,a,i)}}e["~standard"]={validate:r=>{try{const s=Gs(e,r);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Ws(e,r).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),An=$("$ZodString",(e,n)=>{ye.init(e,n),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??hi(e._zod.bag),e._zod.parse=(o,a)=>{if(n.coerce)try{o.value=String(o.value)}catch{}return typeof o.value=="string"||o.issues.push({expected:"string",code:"invalid_type",input:o.value,inst:e}),o}}),we=$("$ZodStringFormat",(e,n)=>{Yt.init(e,n),An.init(e,n)}),Oi=$("$ZodGUID",(e,n)=>{n.pattern??(n.pattern=ti),we.init(e,n)}),Bi=$("$ZodUUID",(e,n)=>{if(n.version){const a={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[n.version];if(a===void 0)throw new Error(`Invalid UUID version: "${n.version}"`);n.pattern??(n.pattern=Kn(a))}else n.pattern??(n.pattern=Kn());we.init(e,n)}),Fi=$("$ZodEmail",(e,n)=>{n.pattern??(n.pattern=ni),we.init(e,n)}),Di=$("$ZodURL",(e,n)=>{we.init(e,n),e._zod.check=o=>{try{const a=o.value,r=new URL(a),s=r.href;n.hostname&&(n.hostname.lastIndex=0,n.hostname.test(r.hostname)||o.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:ui.source,input:o.value,inst:e,continue:!n.abort})),n.protocol&&(n.protocol.lastIndex=0,n.protocol.test(r.protocol.endsWith(":")?r.protocol.slice(0,-1):r.protocol)||o.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:n.protocol.source,input:o.value,inst:e,continue:!n.abort})),!a.endsWith("/")&&s.endsWith("/")?o.value=s.slice(0,-1):o.value=s;return}catch{o.issues.push({code:"invalid_format",format:"url",input:o.value,inst:e,continue:!n.abort})}}}),Pi=$("$ZodEmoji",(e,n)=>{n.pattern??(n.pattern=ai()),we.init(e,n)}),Vi=$("$ZodNanoID",(e,n)=>{n.pattern??(n.pattern=Qs),we.init(e,n)}),Li=$("$ZodCUID",(e,n)=>{n.pattern??(n.pattern=Ks),we.init(e,n)}),Ui=$("$ZodCUID2",(e,n)=>{n.pattern??(n.pattern=qs),we.init(e,n)}),ji=$("$ZodULID",(e,n)=>{n.pattern??(n.pattern=Js),we.init(e,n)}),Zi=$("$ZodXID",(e,n)=>{n.pattern??(n.pattern=Xs),we.init(e,n)}),Hi=$("$ZodKSUID",(e,n)=>{n.pattern??(n.pattern=Ys),we.init(e,n)}),Gi=$("$ZodISODateTime",(e,n)=>{n.pattern??(n.pattern=fi(n)),we.init(e,n)}),Wi=$("$ZodISODate",(e,n)=>{n.pattern??(n.pattern=pi),we.init(e,n)}),Ki=$("$ZodISOTime",(e,n)=>{n.pattern??(n.pattern=mi(n)),we.init(e,n)}),qi=$("$ZodISODuration",(e,n)=>{n.pattern??(n.pattern=ei),we.init(e,n)}),Ji=$("$ZodIPv4",(e,n)=>{n.pattern??(n.pattern=ri),we.init(e,n),e._zod.onattach.push(o=>{const a=o._zod.bag;a.format="ipv4"})}),Xi=$("$ZodIPv6",(e,n)=>{n.pattern??(n.pattern=si),we.init(e,n),e._zod.onattach.push(o=>{const a=o._zod.bag;a.format="ipv6"}),e._zod.check=o=>{try{new URL(`http://[${o.value}]`)}catch{o.issues.push({code:"invalid_format",format:"ipv6",input:o.value,inst:e,continue:!n.abort})}}}),Yi=$("$ZodCIDRv4",(e,n)=>{n.pattern??(n.pattern=ii),we.init(e,n)}),Qi=$("$ZodCIDRv6",(e,n)=>{n.pattern??(n.pattern=li),we.init(e,n),e._zod.check=o=>{const[a,r]=o.value.split("/");try{if(!r)throw new Error;const s=Number(r);if(`${s}`!==r)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${a}]`)}catch{o.issues.push({code:"invalid_format",format:"cidrv6",input:o.value,inst:e,continue:!n.abort})}}});function Wo(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const el=$("$ZodBase64",(e,n)=>{n.pattern??(n.pattern=ci),we.init(e,n),e._zod.onattach.push(o=>{o._zod.bag.contentEncoding="base64"}),e._zod.check=o=>{Wo(o.value)||o.issues.push({code:"invalid_format",format:"base64",input:o.value,inst:e,continue:!n.abort})}});function tl(e){if(!Lo.test(e))return!1;const n=e.replace(/[-_]/g,a=>a==="-"?"+":"/"),o=n.padEnd(Math.ceil(n.length/4)*4,"=");return Wo(o)}const nl=$("$ZodBase64URL",(e,n)=>{n.pattern??(n.pattern=Lo),we.init(e,n),e._zod.onattach.push(o=>{o._zod.bag.contentEncoding="base64url"}),e._zod.check=o=>{tl(o.value)||o.issues.push({code:"invalid_format",format:"base64url",input:o.value,inst:e,continue:!n.abort})}}),ol=$("$ZodE164",(e,n)=>{n.pattern??(n.pattern=di),we.init(e,n)});function al(e,n=null){try{const o=e.split(".");if(o.length!==3)return!1;const[a]=o;if(!a)return!1;const r=JSON.parse(atob(a));return!("typ"in r&&r?.typ!=="JWT"||!r.alg||n&&(!("alg"in r)||r.alg!==n))}catch{return!1}}const rl=$("$ZodJWT",(e,n)=>{we.init(e,n),e._zod.check=o=>{al(o.value,n.alg)||o.issues.push({code:"invalid_format",format:"jwt",input:o.value,inst:e,continue:!n.abort})}}),Ko=$("$ZodNumber",(e,n)=>{ye.init(e,n),e._zod.pattern=e._zod.bag.pattern??vi,e._zod.parse=(o,a)=>{if(n.coerce)try{o.value=Number(o.value)}catch{}const r=o.value;if(typeof r=="number"&&!Number.isNaN(r)&&Number.isFinite(r))return o;const s=typeof r=="number"?Number.isNaN(r)?"NaN":Number.isFinite(r)?void 0:"Infinity":void 0;return o.issues.push({expected:"number",code:"invalid_type",input:r,inst:e,...s?{received:s}:{}}),o}}),sl=$("$ZodNumber",(e,n)=>{Si.init(e,n),Ko.init(e,n)}),il=$("$ZodBoolean",(e,n)=>{ye.init(e,n),e._zod.pattern=bi,e._zod.parse=(o,a)=>{if(n.coerce)try{o.value=!!o.value}catch{}const r=o.value;return typeof r=="boolean"||o.issues.push({expected:"boolean",code:"invalid_type",input:r,inst:e}),o}}),ll=$("$ZodAny",(e,n)=>{ye.init(e,n),e._zod.parse=o=>o}),cl=$("$ZodUnknown",(e,n)=>{ye.init(e,n),e._zod.parse=o=>o}),ul=$("$ZodNever",(e,n)=>{ye.init(e,n),e._zod.parse=(o,a)=>(o.issues.push({expected:"never",code:"invalid_type",input:o.value,inst:e}),o)});function qn(e,n,o){e.issues.length&&n.issues.push(...En(o,e.issues)),n.value[o]=e.value}const dl=$("$ZodArray",(e,n)=>{ye.init(e,n),e._zod.parse=(o,a)=>{const r=o.value;if(!Array.isArray(r))return o.issues.push({expected:"array",code:"invalid_type",input:r,inst:e}),o;o.value=Array(r.length);const s=[];for(let i=0;i<r.length;i++){const l=r[i],c=n.element._zod.run({value:l,issues:[]},a);c instanceof Promise?s.push(c.then(u=>qn(u,o,i))):qn(c,o,i)}return s.length?Promise.all(s).then(()=>o):o}});function Vt(e,n,o){e.issues.length&&n.issues.push(...En(o,e.issues)),n.value[o]=e.value}function Jn(e,n,o,a){e.issues.length?a[o]===void 0?o in a?n.value[o]=void 0:n.value[o]=e.value:n.issues.push(...En(o,e.issues)):e.value===void 0?o in a&&(n.value[o]=void 0):n.value[o]=e.value}const pl=$("$ZodObject",(e,n)=>{ye.init(e,n);const o=Cn(()=>{const h=Object.keys(n.shape);for(const p of h)if(!(n.shape[p]instanceof ye))throw new Error(`Invalid element at key "${p}": expected a Zod schema`);const g=zs(n.shape);return{shape:n.shape,keys:h,keySet:new Set(h),numKeys:h.length,optionalKeys:new Set(g)}});be(e._zod,"propValues",()=>{const h=n.shape,g={};for(const p in h){const f=h[p]._zod;if(f.values){g[p]??(g[p]=new Set);for(const b of f.values)g[p].add(b)}}return g});const a=h=>{const g=new Ni(["shape","payload","ctx"]),p=o.value,f=m=>{const k=Ct(m);return`shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`};g.write("const input = payload.value;");const b=Object.create(null);let v=0;for(const m of p.keys)b[m]=`key_${v++}`;g.write("const newResult = {}");for(const m of p.keys)if(p.optionalKeys.has(m)){const k=b[m];g.write(`const ${k} = ${f(m)};`);const w=Ct(m);g.write(`
|
|
4
|
+
if (${k}.issues.length) {
|
|
5
|
+
if (input[${w}] === undefined) {
|
|
6
|
+
if (${w} in input) {
|
|
7
|
+
newResult[${w}] = undefined;
|
|
8
|
+
}
|
|
9
|
+
} else {
|
|
10
|
+
payload.issues = payload.issues.concat(
|
|
11
|
+
${k}.issues.map((iss) => ({
|
|
12
|
+
...iss,
|
|
13
|
+
path: iss.path ? [${w}, ...iss.path] : [${w}],
|
|
14
|
+
}))
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
} else if (${k}.value === undefined) {
|
|
18
|
+
if (${w} in input) newResult[${w}] = undefined;
|
|
19
|
+
} else {
|
|
20
|
+
newResult[${w}] = ${k}.value;
|
|
21
|
+
}
|
|
22
|
+
`)}else{const k=b[m];g.write(`const ${k} = ${f(m)};`),g.write(`
|
|
23
|
+
if (${k}.issues.length) payload.issues = payload.issues.concat(${k}.issues.map(iss => ({
|
|
24
|
+
...iss,
|
|
25
|
+
path: iss.path ? [${Ct(m)}, ...iss.path] : [${Ct(m)}]
|
|
26
|
+
})));`),g.write(`newResult[${Ct(m)}] = ${k}.value`)}g.write("payload.value = newResult;"),g.write("return payload;");const S=g.compile();return(m,k)=>S(h,m,k)};let r;const s=Kt,i=!zo.jitless,c=i&&Ms.value,u=n.catchall;let d;e._zod.parse=(h,g)=>{d??(d=o.value);const p=h.value;if(!s(p))return h.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),h;const f=[];if(i&&c&&g?.async===!1&&g.jitless!==!0)r||(r=a(n.shape)),h=r(h,g);else{h.value={};const k=d.shape;for(const w of d.keys){const T=k[w],y=T._zod.run({value:p[w],issues:[]},g),A=T._zod.optin==="optional"&&T._zod.optout==="optional";y instanceof Promise?f.push(y.then(I=>A?Jn(I,h,w,p):Vt(I,h,w))):A?Jn(y,h,w,p):Vt(y,h,w)}}if(!u)return f.length?Promise.all(f).then(()=>h):h;const b=[],v=d.keySet,S=u._zod,m=S.def.type;for(const k of Object.keys(p)){if(v.has(k))continue;if(m==="never"){b.push(k);continue}const w=S.run({value:p[k],issues:[]},g);w instanceof Promise?f.push(w.then(T=>Vt(T,h,k))):Vt(w,h,k)}return b.length&&h.issues.push({code:"unrecognized_keys",keys:b,input:p,inst:e}),f.length?Promise.all(f).then(()=>h):h}});function Xn(e,n,o,a){for(const r of e)if(r.issues.length===0)return n.value=r.value,n;return n.issues.push({code:"invalid_union",input:n.value,inst:o,errors:e.map(r=>r.issues.map(s=>mt(s,a,pt())))}),n}const qo=$("$ZodUnion",(e,n)=>{ye.init(e,n),be(e._zod,"optin",()=>n.options.some(o=>o._zod.optin==="optional")?"optional":void 0),be(e._zod,"optout",()=>n.options.some(o=>o._zod.optout==="optional")?"optional":void 0),be(e._zod,"values",()=>{if(n.options.every(o=>o._zod.values))return new Set(n.options.flatMap(o=>Array.from(o._zod.values)))}),be(e._zod,"pattern",()=>{if(n.options.every(o=>o._zod.pattern)){const o=n.options.map(a=>a._zod.pattern);return new RegExp(`^(${o.map(a=>xn(a.source)).join("|")})$`)}}),e._zod.parse=(o,a)=>{let r=!1;const s=[];for(const i of n.options){const l=i._zod.run({value:o.value,issues:[]},a);if(l instanceof Promise)s.push(l),r=!0;else{if(l.issues.length===0)return l;s.push(l)}}return r?Promise.all(s).then(i=>Xn(i,o,e,a)):Xn(s,o,e,a)}}),ml=$("$ZodDiscriminatedUnion",(e,n)=>{qo.init(e,n);const o=e._zod.parse;be(e._zod,"propValues",()=>{const r={};for(const s of n.options){const i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(s)}"`);for(const[l,c]of Object.entries(i)){r[l]||(r[l]=new Set);for(const u of c)r[l].add(u)}}return r});const a=Cn(()=>{const r=n.options,s=new Map;for(const i of r){const l=i._zod.propValues[n.discriminator];if(!l||l.size===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(i)}"`);for(const c of l){if(s.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);s.set(c,i)}}return s});e._zod.parse=(r,s)=>{const i=r.value;if(!Kt(i))return r.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),r;const l=a.value.get(i?.[n.discriminator]);return l?l._zod.run(r,s):n.unionFallback?o(r,s):(r.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[n.discriminator],inst:e}),r)}}),fl=$("$ZodIntersection",(e,n)=>{ye.init(e,n),e._zod.parse=(o,a)=>{const r=o.value,s=n.left._zod.run({value:r,issues:[]},a),i=n.right._zod.run({value:r,issues:[]},a);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>Yn(o,c,u)):Yn(o,s,i)}});function hn(e,n){if(e===n)return{valid:!0,data:e};if(e instanceof Date&&n instanceof Date&&+e==+n)return{valid:!0,data:e};if(fn(e)&&fn(n)){const o=Object.keys(n),a=Object.keys(e).filter(s=>o.indexOf(s)!==-1),r={...e,...n};for(const s of a){const i=hn(e[s],n[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};r[s]=i.data}return{valid:!0,data:r}}if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return{valid:!1,mergeErrorPath:[]};const o=[];for(let a=0;a<e.length;a++){const r=e[a],s=n[a],i=hn(r,s);if(!i.valid)return{valid:!1,mergeErrorPath:[a,...i.mergeErrorPath]};o.push(i.data)}return{valid:!0,data:o}}return{valid:!1,mergeErrorPath:[]}}function Yn(e,n,o){if(n.issues.length&&e.issues.push(...n.issues),o.issues.length&&e.issues.push(...o.issues),Tt(e))return e;const a=hn(n.value,o.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}const hl=$("$ZodEnum",(e,n)=>{ye.init(e,n);const o=As(n.entries);e._zod.values=new Set(o),e._zod.pattern=new RegExp(`^(${o.filter(a=>Ns.has(typeof a)).map(a=>typeof a=="string"?_t(a):a.toString()).join("|")})$`),e._zod.parse=(a,r)=>{const s=a.value;return e._zod.values.has(s)||a.issues.push({code:"invalid_value",values:o,input:s,inst:e}),a}}),gl=$("$ZodLiteral",(e,n)=>{ye.init(e,n),e._zod.values=new Set(n.values),e._zod.pattern=new RegExp(`^(${n.values.map(o=>typeof o=="string"?_t(o):o?o.toString():String(o)).join("|")})$`),e._zod.parse=(o,a)=>{const r=o.value;return e._zod.values.has(r)||o.issues.push({code:"invalid_value",values:n.values,input:r,inst:e}),o}}),vl=$("$ZodTransform",(e,n)=>{ye.init(e,n),e._zod.parse=(o,a)=>{const r=n.transform(o.value,o);if(a.async)return(r instanceof Promise?r:Promise.resolve(r)).then(i=>(o.value=i,o));if(r instanceof Promise)throw new xt;return o.value=r,o}}),bl=$("$ZodOptional",(e,n)=>{ye.init(e,n),e._zod.optin="optional",e._zod.optout="optional",be(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,void 0]):void 0),be(e._zod,"pattern",()=>{const o=n.innerType._zod.pattern;return o?new RegExp(`^(${xn(o.source)})?$`):void 0}),e._zod.parse=(o,a)=>n.innerType._zod.optin==="optional"?n.innerType._zod.run(o,a):o.value===void 0?o:n.innerType._zod.run(o,a)}),kl=$("$ZodNullable",(e,n)=>{ye.init(e,n),be(e._zod,"optin",()=>n.innerType._zod.optin),be(e._zod,"optout",()=>n.innerType._zod.optout),be(e._zod,"pattern",()=>{const o=n.innerType._zod.pattern;return o?new RegExp(`^(${xn(o.source)}|null)$`):void 0}),be(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,null]):void 0),e._zod.parse=(o,a)=>o.value===null?o:n.innerType._zod.run(o,a)}),yl=$("$ZodDefault",(e,n)=>{ye.init(e,n),e._zod.optin="optional",be(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(o,a)=>{if(o.value===void 0)return o.value=n.defaultValue,o;const r=n.innerType._zod.run(o,a);return r instanceof Promise?r.then(s=>Qn(s,n)):Qn(r,n)}});function Qn(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const wl=$("$ZodPrefault",(e,n)=>{ye.init(e,n),e._zod.optin="optional",be(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(o,a)=>(o.value===void 0&&(o.value=n.defaultValue),n.innerType._zod.run(o,a))}),Sl=$("$ZodNonOptional",(e,n)=>{ye.init(e,n),be(e._zod,"values",()=>{const o=n.innerType._zod.values;return o?new Set([...o].filter(a=>a!==void 0)):void 0}),e._zod.parse=(o,a)=>{const r=n.innerType._zod.run(o,a);return r instanceof Promise?r.then(s=>eo(s,e)):eo(r,e)}});function eo(e,n){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:n}),e}const Cl=$("$ZodCatch",(e,n)=>{ye.init(e,n),e._zod.optin="optional",be(e._zod,"optout",()=>n.innerType._zod.optout),be(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(o,a)=>{const r=n.innerType._zod.run(o,a);return r instanceof Promise?r.then(s=>(o.value=s.value,s.issues.length&&(o.value=n.catchValue({...o,error:{issues:s.issues.map(i=>mt(i,a,pt()))},input:o.value}),o.issues=[]),o)):(o.value=r.value,r.issues.length&&(o.value=n.catchValue({...o,error:{issues:r.issues.map(s=>mt(s,a,pt()))},input:o.value}),o.issues=[]),o)}}),Tl=$("$ZodPipe",(e,n)=>{ye.init(e,n),be(e._zod,"values",()=>n.in._zod.values),be(e._zod,"optin",()=>n.in._zod.optin),be(e._zod,"optout",()=>n.out._zod.optout),e._zod.parse=(o,a)=>{const r=n.in._zod.run(o,a);return r instanceof Promise?r.then(s=>to(s,n,a)):to(r,n,a)}});function to(e,n,o){return Tt(e)?e:n.out._zod.run({value:e.value,issues:e.issues},o)}const xl=$("$ZodReadonly",(e,n)=>{ye.init(e,n),be(e._zod,"propValues",()=>n.innerType._zod.propValues),be(e._zod,"values",()=>n.innerType._zod.values),be(e._zod,"optin",()=>n.innerType._zod.optin),be(e._zod,"optout",()=>n.innerType._zod.optout),e._zod.parse=(o,a)=>{const r=n.innerType._zod.run(o,a);return r instanceof Promise?r.then(no):no(r)}});function no(e){return e.value=Object.freeze(e.value),e}const Il=$("$ZodCustom",(e,n)=>{qe.init(e,n),ye.init(e,n),e._zod.parse=(o,a)=>o,e._zod.check=o=>{const a=o.value,r=n.fn(a);if(r instanceof Promise)return r.then(s=>oo(s,o,a,e));oo(r,o,a,e)}});function oo(e,n,o,a){if(!e){const r={code:"custom",input:o,inst:a,path:[...a._zod.def.path??[]],continue:!a._zod.def.abort};a._zod.def.params&&(r.params=a._zod.def.params),n.issues.push(It(r))}}class El{constructor(){this._map=new Map,this._idmap=new Map}add(n,...o){const a=o[0];if(this._map.set(n,a),a&&typeof a=="object"&&"id"in a){if(this._idmap.has(a.id))throw new Error(`ID ${a.id} already exists in the registry`);this._idmap.set(a.id,n)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(n){const o=this._map.get(n);return o&&typeof o=="object"&&"id"in o&&this._idmap.delete(o.id),this._map.delete(n),this}get(n){const o=n._zod.parent;if(o){const a={...this.get(o)??{}};return delete a.id,{...a,...this._map.get(n)}}return this._map.get(n)}has(n){return this._map.has(n)}}function Rl(){return new El}const Lt=Rl();function Al(e,n){return new e({type:"string",...J(n)})}function _l(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,...J(n)})}function ao(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...J(n)})}function $l(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...J(n)})}function Ml(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...J(n)})}function Nl(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...J(n)})}function zl(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...J(n)})}function Ol(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,...J(n)})}function Bl(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...J(n)})}function Fl(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...J(n)})}function Dl(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...J(n)})}function Pl(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...J(n)})}function Vl(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...J(n)})}function Ll(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...J(n)})}function Ul(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...J(n)})}function jl(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...J(n)})}function Zl(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...J(n)})}function Hl(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...J(n)})}function Gl(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...J(n)})}function Wl(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...J(n)})}function Kl(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...J(n)})}function ql(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...J(n)})}function Jl(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...J(n)})}function Xl(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...J(n)})}function Yl(e,n){return new e({type:"string",format:"date",check:"string_format",...J(n)})}function Ql(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...J(n)})}function ec(e,n){return new e({type:"string",format:"duration",check:"string_format",...J(n)})}function tc(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...J(n)})}function nc(e,n){return new e({type:"boolean",...J(n)})}function oc(e){return new e({type:"any"})}function ac(e){return new e({type:"unknown"})}function rc(e,n){return new e({type:"never",...J(n)})}function ro(e,n){return new Ho({check:"less_than",...J(n),value:e,inclusive:!1})}function cn(e,n){return new Ho({check:"less_than",...J(n),value:e,inclusive:!0})}function so(e,n){return new Go({check:"greater_than",...J(n),value:e,inclusive:!1})}function un(e,n){return new Go({check:"greater_than",...J(n),value:e,inclusive:!0})}function io(e,n){return new wi({check:"multiple_of",...J(n),value:e})}function Jo(e,n){return new Ci({check:"max_length",...J(n),maximum:e})}function qt(e,n){return new Ti({check:"min_length",...J(n),minimum:e})}function Xo(e,n){return new xi({check:"length_equals",...J(n),length:e})}function sc(e,n){return new Ii({check:"string_format",format:"regex",...J(n),pattern:e})}function ic(e){return new Ei({check:"string_format",format:"lowercase",...J(e)})}function lc(e){return new Ri({check:"string_format",format:"uppercase",...J(e)})}function cc(e,n){return new Ai({check:"string_format",format:"includes",...J(n),includes:e})}function uc(e,n){return new _i({check:"string_format",format:"starts_with",...J(n),prefix:e})}function dc(e,n){return new $i({check:"string_format",format:"ends_with",...J(n),suffix:e})}function $t(e){return new Mi({check:"overwrite",tx:e})}function pc(e){return $t(n=>n.normalize(e))}function mc(){return $t(e=>e.trim())}function fc(){return $t(e=>e.toLowerCase())}function hc(){return $t(e=>e.toUpperCase())}function gc(e,n,o){return new e({type:"array",element:n,...J(o)})}function vc(e,n,o){const a=J(o);return a.abort??(a.abort=!0),new e({type:"custom",check:"custom",fn:n,...a})}function bc(e,n,o){return new e({type:"custom",check:"custom",fn:n,...J(o)})}const kc=$("ZodISODateTime",(e,n)=>{Gi.init(e,n),Te.init(e,n)});function yc(e){return Xl(kc,e)}const wc=$("ZodISODate",(e,n)=>{Wi.init(e,n),Te.init(e,n)});function Sc(e){return Yl(wc,e)}const Cc=$("ZodISOTime",(e,n)=>{Ki.init(e,n),Te.init(e,n)});function Tc(e){return Ql(Cc,e)}const xc=$("ZodISODuration",(e,n)=>{qi.init(e,n),Te.init(e,n)});function Ic(e){return ec(xc,e)}const Ec=(e,n)=>{Fo.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:o=>js(e,o)},flatten:{value:o=>Us(e,o)},addIssue:{value:o=>e.issues.push(o)},addIssues:{value:o=>e.issues.push(...o)},isEmpty:{get(){return e.issues.length===0}}})},Qt=$("ZodError",Ec,{Parent:Error}),Rc=Zs(Qt),Ac=Hs(Qt),_c=Po(Qt),$c=Vo(Qt),xe=$("ZodType",(e,n)=>(ye.init(e,n),e.def=n,Object.defineProperty(e,"_def",{value:n}),e.check=(...o)=>e.clone({...n,checks:[...n.checks??[],...o.map(a=>typeof a=="function"?{_zod:{check:a,def:{check:"custom"},onattach:[]}}:a)]}),e.clone=(o,a)=>ft(e,o,a),e.brand=()=>e,e.register=((o,a)=>(o.add(e,a),e)),e.parse=(o,a)=>Rc(e,o,a,{callee:e.parse}),e.safeParse=(o,a)=>_c(e,o,a),e.parseAsync=async(o,a)=>Ac(e,o,a,{callee:e.parseAsync}),e.safeParseAsync=async(o,a)=>$c(e,o,a),e.spa=e.safeParseAsync,e.refine=(o,a)=>e.check(Cu(o,a)),e.superRefine=o=>e.check(Tu(o)),e.overwrite=o=>e.check($t(o)),e.optional=()=>co(e),e.nullable=()=>uo(e),e.nullish=()=>co(uo(e)),e.nonoptional=o=>gu(e,o),e.array=()=>$e(e),e.or=o=>en([e,o]),e.and=o=>iu(e,o),e.transform=o=>po(e,uu(o)),e.default=o=>mu(e,o),e.prefault=o=>hu(e,o),e.catch=o=>bu(e,o),e.pipe=o=>po(e,o),e.readonly=()=>wu(e),e.describe=o=>{const a=e.clone();return Lt.add(a,{description:o}),a},Object.defineProperty(e,"description",{get(){return Lt.get(e)?.description},configurable:!0}),e.meta=(...o)=>{if(o.length===0)return Lt.get(e);const a=e.clone();return Lt.add(a,o[0]),a},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),Yo=$("_ZodString",(e,n)=>{An.init(e,n),xe.init(e,n);const o=e._zod.bag;e.format=o.format??null,e.minLength=o.minimum??null,e.maxLength=o.maximum??null,e.regex=(...a)=>e.check(sc(...a)),e.includes=(...a)=>e.check(cc(...a)),e.startsWith=(...a)=>e.check(uc(...a)),e.endsWith=(...a)=>e.check(dc(...a)),e.min=(...a)=>e.check(qt(...a)),e.max=(...a)=>e.check(Jo(...a)),e.length=(...a)=>e.check(Xo(...a)),e.nonempty=(...a)=>e.check(qt(1,...a)),e.lowercase=a=>e.check(ic(a)),e.uppercase=a=>e.check(lc(a)),e.trim=()=>e.check(mc()),e.normalize=(...a)=>e.check(pc(...a)),e.toLowerCase=()=>e.check(fc()),e.toUpperCase=()=>e.check(hc())}),Mc=$("ZodString",(e,n)=>{An.init(e,n),Yo.init(e,n),e.email=o=>e.check(_l(Nc,o)),e.url=o=>e.check(Ol(zc,o)),e.jwt=o=>e.check(Jl(qc,o)),e.emoji=o=>e.check(Bl(Oc,o)),e.guid=o=>e.check(ao(lo,o)),e.uuid=o=>e.check($l(Ut,o)),e.uuidv4=o=>e.check(Ml(Ut,o)),e.uuidv6=o=>e.check(Nl(Ut,o)),e.uuidv7=o=>e.check(zl(Ut,o)),e.nanoid=o=>e.check(Fl(Bc,o)),e.guid=o=>e.check(ao(lo,o)),e.cuid=o=>e.check(Dl(Fc,o)),e.cuid2=o=>e.check(Pl(Dc,o)),e.ulid=o=>e.check(Vl(Pc,o)),e.base64=o=>e.check(Wl(Gc,o)),e.base64url=o=>e.check(Kl(Wc,o)),e.xid=o=>e.check(Ll(Vc,o)),e.ksuid=o=>e.check(Ul(Lc,o)),e.ipv4=o=>e.check(jl(Uc,o)),e.ipv6=o=>e.check(Zl(jc,o)),e.cidrv4=o=>e.check(Hl(Zc,o)),e.cidrv6=o=>e.check(Gl(Hc,o)),e.e164=o=>e.check(ql(Kc,o)),e.datetime=o=>e.check(yc(o)),e.date=o=>e.check(Sc(o)),e.time=o=>e.check(Tc(o)),e.duration=o=>e.check(Ic(o))});function R(e){return Al(Mc,e)}const Te=$("ZodStringFormat",(e,n)=>{we.init(e,n),Yo.init(e,n)}),Nc=$("ZodEmail",(e,n)=>{Fi.init(e,n),Te.init(e,n)}),lo=$("ZodGUID",(e,n)=>{Oi.init(e,n),Te.init(e,n)}),Ut=$("ZodUUID",(e,n)=>{Bi.init(e,n),Te.init(e,n)}),zc=$("ZodURL",(e,n)=>{Di.init(e,n),Te.init(e,n)}),Oc=$("ZodEmoji",(e,n)=>{Pi.init(e,n),Te.init(e,n)}),Bc=$("ZodNanoID",(e,n)=>{Vi.init(e,n),Te.init(e,n)}),Fc=$("ZodCUID",(e,n)=>{Li.init(e,n),Te.init(e,n)}),Dc=$("ZodCUID2",(e,n)=>{Ui.init(e,n),Te.init(e,n)}),Pc=$("ZodULID",(e,n)=>{ji.init(e,n),Te.init(e,n)}),Vc=$("ZodXID",(e,n)=>{Zi.init(e,n),Te.init(e,n)}),Lc=$("ZodKSUID",(e,n)=>{Hi.init(e,n),Te.init(e,n)}),Uc=$("ZodIPv4",(e,n)=>{Ji.init(e,n),Te.init(e,n)}),jc=$("ZodIPv6",(e,n)=>{Xi.init(e,n),Te.init(e,n)}),Zc=$("ZodCIDRv4",(e,n)=>{Yi.init(e,n),Te.init(e,n)}),Hc=$("ZodCIDRv6",(e,n)=>{Qi.init(e,n),Te.init(e,n)}),Gc=$("ZodBase64",(e,n)=>{el.init(e,n),Te.init(e,n)}),Wc=$("ZodBase64URL",(e,n)=>{nl.init(e,n),Te.init(e,n)}),Kc=$("ZodE164",(e,n)=>{ol.init(e,n),Te.init(e,n)}),qc=$("ZodJWT",(e,n)=>{rl.init(e,n),Te.init(e,n)}),Jc=$("ZodNumber",(e,n)=>{Ko.init(e,n),xe.init(e,n),e.gt=(a,r)=>e.check(so(a,r)),e.gte=(a,r)=>e.check(un(a,r)),e.min=(a,r)=>e.check(un(a,r)),e.lt=(a,r)=>e.check(ro(a,r)),e.lte=(a,r)=>e.check(cn(a,r)),e.max=(a,r)=>e.check(cn(a,r)),e.int=a=>e.check(ie(a)),e.safe=a=>e.check(ie(a)),e.positive=a=>e.check(so(0,a)),e.nonnegative=a=>e.check(un(0,a)),e.negative=a=>e.check(ro(0,a)),e.nonpositive=a=>e.check(cn(0,a)),e.multipleOf=(a,r)=>e.check(io(a,r)),e.step=(a,r)=>e.check(io(a,r)),e.finite=()=>e;const o=e._zod.bag;e.minValue=Math.max(o.minimum??Number.NEGATIVE_INFINITY,o.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(o.maximum??Number.POSITIVE_INFINITY,o.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(o.format??"").includes("int")||Number.isSafeInteger(o.multipleOf??.5),e.isFinite=!0,e.format=o.format??null}),Xc=$("ZodNumberFormat",(e,n)=>{sl.init(e,n),Jc.init(e,n)});function ie(e){return tc(Xc,e)}const Yc=$("ZodBoolean",(e,n)=>{il.init(e,n),xe.init(e,n)});function de(e){return nc(Yc,e)}const Qc=$("ZodAny",(e,n)=>{ll.init(e,n),xe.init(e,n)});function ee(){return oc(Qc)}const eu=$("ZodUnknown",(e,n)=>{cl.init(e,n),xe.init(e,n)});function gn(){return ac(eu)}const tu=$("ZodNever",(e,n)=>{ul.init(e,n),xe.init(e,n)});function nu(e){return rc(tu,e)}const ou=$("ZodArray",(e,n)=>{dl.init(e,n),xe.init(e,n),e.element=n.element,e.min=(o,a)=>e.check(qt(o,a)),e.nonempty=o=>e.check(qt(1,o)),e.max=(o,a)=>e.check(Jo(o,a)),e.length=(o,a)=>e.check(Xo(o,a)),e.unwrap=()=>e.element});function $e(e,n){return gc(ou,e,n)}const au=$("ZodObject",(e,n)=>{pl.init(e,n),xe.init(e,n),be(e,"shape",()=>n.shape),e.keyof=()=>wt(Object.keys(e._zod.def.shape)),e.catchall=o=>e.clone({...e._zod.def,catchall:o}),e.passthrough=()=>e.clone({...e._zod.def,catchall:gn()}),e.loose=()=>e.clone({...e._zod.def,catchall:gn()}),e.strict=()=>e.clone({...e._zod.def,catchall:nu()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=o=>Ds(e,o),e.merge=o=>Ps(e,o),e.pick=o=>Bs(e,o),e.omit=o=>Fs(e,o),e.partial=(...o)=>Vs(ea,e,o[0]),e.required=(...o)=>Ls(ta,e,o[0])});function L(e,n){return new au({type:"object",get shape(){return In(this,"shape",{...e}),this.shape},catchall:gn(),...J(n)})}const Qo=$("ZodUnion",(e,n)=>{qo.init(e,n),xe.init(e,n),e.options=n.options});function en(e,n){return new Qo({type:"union",options:e,...J(n)})}const ru=$("ZodDiscriminatedUnion",(e,n)=>{Qo.init(e,n),ml.init(e,n)});function ht(e,n,o){return new ru({type:"union",options:n,discriminator:e,...J(o)})}const su=$("ZodIntersection",(e,n)=>{fl.init(e,n),xe.init(e,n)});function iu(e,n){return new su({type:"intersection",left:e,right:n})}const vn=$("ZodEnum",(e,n)=>{hl.init(e,n),xe.init(e,n),e.enum=n.entries,e.options=Object.values(n.entries);const o=new Set(Object.keys(n.entries));e.extract=(a,r)=>{const s={};for(const i of a)if(o.has(i))s[i]=n.entries[i];else throw new Error(`Key ${i} not found in enum`);return new vn({...n,checks:[],...J(r),entries:s})},e.exclude=(a,r)=>{const s={...n.entries};for(const i of a)if(o.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new vn({...n,checks:[],...J(r),entries:s})}});function wt(e,n){const o=Array.isArray(e)?Object.fromEntries(e.map(a=>[a,a])):e;return new vn({type:"enum",entries:o,...J(n)})}const lu=$("ZodLiteral",(e,n)=>{gl.init(e,n),xe.init(e,n),e.values=new Set(n.values),Object.defineProperty(e,"value",{get(){if(n.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return n.values[0]}})});function q(e,n){return new lu({type:"literal",values:Array.isArray(e)?e:[e],...J(n)})}const cu=$("ZodTransform",(e,n)=>{vl.init(e,n),xe.init(e,n),e._zod.parse=(o,a)=>{o.addIssue=s=>{if(typeof s=="string")o.issues.push(It(s,o.value,n));else{const i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=o.value),i.inst??(i.inst=e),i.continue??(i.continue=!0),o.issues.push(It(i))}};const r=n.transform(o.value,o);return r instanceof Promise?r.then(s=>(o.value=s,o)):(o.value=r,o)}});function uu(e){return new cu({type:"transform",transform:e})}const ea=$("ZodOptional",(e,n)=>{bl.init(e,n),xe.init(e,n),e.unwrap=()=>e._zod.def.innerType});function co(e){return new ea({type:"optional",innerType:e})}const du=$("ZodNullable",(e,n)=>{kl.init(e,n),xe.init(e,n),e.unwrap=()=>e._zod.def.innerType});function uo(e){return new du({type:"nullable",innerType:e})}const pu=$("ZodDefault",(e,n)=>{yl.init(e,n),xe.init(e,n),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function mu(e,n){return new pu({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():n}})}const fu=$("ZodPrefault",(e,n)=>{wl.init(e,n),xe.init(e,n),e.unwrap=()=>e._zod.def.innerType});function hu(e,n){return new fu({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():n}})}const ta=$("ZodNonOptional",(e,n)=>{Sl.init(e,n),xe.init(e,n),e.unwrap=()=>e._zod.def.innerType});function gu(e,n){return new ta({type:"nonoptional",innerType:e,...J(n)})}const vu=$("ZodCatch",(e,n)=>{Cl.init(e,n),xe.init(e,n),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function bu(e,n){return new vu({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const ku=$("ZodPipe",(e,n)=>{Tl.init(e,n),xe.init(e,n),e.in=n.in,e.out=n.out});function po(e,n){return new ku({type:"pipe",in:e,out:n})}const yu=$("ZodReadonly",(e,n)=>{xl.init(e,n),xe.init(e,n)});function wu(e){return new yu({type:"readonly",innerType:e})}const na=$("ZodCustom",(e,n)=>{Il.init(e,n),xe.init(e,n)});function Su(e){const n=new qe({check:"custom"});return n._zod.check=e,n}function Mt(e,n){return vc(na,e??(()=>!0),n)}function Cu(e,n={}){return bc(na,e,n)}function Tu(e){const n=Su(o=>(o.addIssue=a=>{if(typeof a=="string")o.issues.push(It(a,o.value,n._zod.def));else{const r=a;r.fatal&&(r.continue=!1),r.code??(r.code="custom"),r.input??(r.input=o.value),r.inst??(r.inst=n),r.continue??(r.continue=!n._zod.def.abort),o.issues.push(It(r))}},e(o.value,o)));return n}const oa=wt(ge),te=Mt(e=>typeof e=="object"&&e!==null&&!Array.isArray(e)),ce=R(),_n=wt(["developer","system","assistant","user"]),aa=L({type:q(ge.TEXT_MESSAGE_START),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),messageId:R(),role:_n.optional(),name:R().optional()}),ra=L({type:q(ge.TEXT_MESSAGE_CONTENT),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),messageId:R(),delta:R()}),sa=L({type:q(ge.TEXT_MESSAGE_END),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),messageId:R()}),ia=L({type:q(ge.TEXT_MESSAGE_CHUNK),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),messageId:R().optional(),role:_n.optional(),delta:R().optional(),name:R().optional()}),la=L({type:q(ge.TOOL_CALL_START),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),toolCallId:R(),toolCallName:R(),parentMessageId:R().optional()}),ca=L({type:q(ge.TOOL_CALL_ARGS),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),toolCallId:R(),delta:R()}),ua=L({type:q(ge.TOOL_CALL_END),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),toolCallId:R()}),da=L({type:q(ge.TOOL_CALL_CHUNK),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),toolCallId:R().optional(),toolCallName:R().optional(),parentMessageId:R().optional(),delta:R().optional()}),pa=L({type:q("text"),id:R().optional(),text:R(),metadata:ee().refine(e=>e!==null).optional()}),ma=L({type:q("data"),value:R(),mimeType:R()}),fa=L({type:q("url"),value:R(),mimeType:R().optional()}),ha=L({type:q("file"),value:R(),provider:R().optional(),mimeType:R().optional()}),Nt=ht("type",[ma,fa,ha]),ga=L({type:q("image"),id:R().optional(),source:Nt,metadata:ee().refine(e=>e!==null).optional()}),va=L({type:q("audio"),id:R().optional(),source:Nt,metadata:ee().refine(e=>e!==null).optional()}),ba=L({type:q("video"),id:R().optional(),source:Nt,metadata:ee().refine(e=>e!==null).optional()}),ka=L({type:q("document"),id:R().optional(),source:Nt,metadata:ee().refine(e=>e!==null).optional()}),tn=ht("type",[pa,ga,va,ba,ka]),ya=L({type:q(ge.TOOL_CALL_RESULT),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),messageId:R(),toolCallId:R(),content:en([R(),$e(tn)]),role:q("tool").optional()}),$n=ee(),wa=L({type:q(ge.STATE_SNAPSHOT),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),snapshot:$n.refine(e=>e!==void 0)}),it=R().regex(new RegExp("^(/([^/~]|~[01])*)*$")),Sa=L({op:q("add"),path:it,value:ee().refine(e=>e!==void 0)}).meta({specOpen:!0}),Ca=L({op:q("remove"),path:it}).meta({specOpen:!0}),Ta=L({op:q("replace"),path:it,value:ee().refine(e=>e!==void 0)}).meta({specOpen:!0}),xa=L({op:q("move"),from:it,path:it}).meta({specOpen:!0}),Ia=L({op:q("copy"),from:it,path:it}).meta({specOpen:!0}),Ea=L({op:q("test"),path:it,value:ee().refine(e=>e!==void 0)}).meta({specOpen:!0}),Ra=ht("op",[Sa,Ca,Ta,xa,Ia,Ea]),Mn=$e(Ra),Aa=L({type:q(ge.STATE_DELTA),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),delta:Mn}),_a=L({subagentRunId:ce.optional(),id:R(),role:q("developer"),name:R().optional(),encryptedValue:R().optional(),metadata:te.optional(),content:R()}),$a=L({subagentRunId:ce.optional(),id:R(),role:q("system"),name:R().optional(),encryptedValue:R().optional(),metadata:te.optional(),content:R()}),Ma=L({name:R(),arguments:R()}),Na=L({id:R(),type:q("function"),function:Ma,encryptedValue:R().optional(),metadata:te.optional()}),za=L({subagentRunId:ce.optional(),id:R(),role:q("assistant"),name:R().optional(),encryptedValue:R().optional(),metadata:te.optional(),content:R().optional(),toolCalls:$e(Na).optional()}),Oa=L({subagentRunId:ce.optional(),id:R(),role:q("user"),name:R().optional(),encryptedValue:R().optional(),metadata:te.optional(),content:en([R(),$e(tn)])}),Ba=L({subagentRunId:ce.optional(),id:R(),role:q("tool"),content:en([R(),$e(tn)]),toolCallId:R(),error:R().optional(),encryptedValue:R().optional(),metadata:te.optional()}),Fa=L({subagentRunId:ce.optional(),id:R(),role:q("activity"),activityType:R(),content:Mt(e=>typeof e=="object"&&e!==null&&!Array.isArray(e)),metadata:te.optional()}),Da=L({subagentRunId:ce.optional(),id:R(),role:q("reasoning"),content:R(),encryptedValue:R().optional(),metadata:te.optional()}),Nn=ht("role",[_a,$a,za,Oa,Ba,Fa,Da]),Pa=L({type:q(ge.MESSAGES_SNAPSHOT),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),messages:$e(Nn)}),Va=L({type:q(ge.ACTIVITY_SNAPSHOT),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),messageId:R(),activityType:R(),content:Mt(e=>typeof e=="object"&&e!==null&&!Array.isArray(e)),replace:de().optional()}),La=L({type:q(ge.ACTIVITY_DELTA),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),messageId:R(),activityType:R(),patch:Mn}),Ua=L({type:q(ge.RAW),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),event:ee().refine(e=>e!==void 0),source:R().optional()}),ja=L({type:q(ge.CUSTOM),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),name:R(),value:ee().refine(e=>e!==void 0)}),zn=L({name:R(),description:R(),parameters:ee().refine(e=>e!==null).optional(),metadata:te.optional()}),Za=L({description:R(),value:R()}),Ha=L({interruptId:R(),status:wt(["resolved","cancelled"]),payload:ee().refine(e=>e!==null).optional(),metadata:te.optional()}),Ga=L({threadId:R(),runId:R(),protocolVersion:R().optional(),parentRunId:R().optional(),state:$n.refine(e=>e!==null).nullable().transform(e=>e??void 0).optional(),messages:$e(Nn),tools:$e(zn).default(()=>[]),context:$e(Za).default(()=>[]),forwardedProps:ee().refine(e=>e!==null).optional(),resume:$e(Ha).optional()}),Wa=L({type:q(ge.RUN_STARTED),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),threadId:R(),runId:R(),protocolVersion:R().optional(),parentRunId:R().optional(),input:Ga.optional()}),Ka=L({type:q("success"),pendingToolCallIds:$e(R()).optional()}),qa=L({subagentRunId:ce.optional(),id:R(),reason:R(),message:R().optional(),toolCallId:R().optional(),responseSchema:Mt(e=>typeof e=="object"&&e!==null&&!Array.isArray(e)).optional(),expiresAt:R().optional(),metadata:te.optional()}),Ja=L({type:q("interrupt"),interrupts:$e(qa).min(1)}),Xa=L({type:q("cancelled")}),Ya=ht("type",[Ka,Ja,Xa]),On=L({provider:R().optional(),model:R().optional(),inputTokens:ie().min(0).max(9007199254740991).optional(),outputTokens:ie().min(0).max(9007199254740991).optional(),totalTokens:ie().min(0).max(9007199254740991).optional(),reasoningTokens:ie().min(0).max(9007199254740991).optional(),cachedInputTokens:ie().min(0).max(9007199254740991).optional(),cacheWriteInputTokens:ie().min(0).max(9007199254740991).optional()}),Qa=L({type:q(ge.RUN_FINISHED),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),threadId:R(),runId:R(),result:ee().refine(e=>e!==null).optional(),outcome:Ya.optional(),usage:$e(On).optional()}),er=L({type:q(ge.RUN_ERROR),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),message:R(),code:R().optional(),usage:$e(On).optional()}),tr=L({type:q(ge.STEP_STARTED),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),stepName:R()}),nr=L({type:q(ge.STEP_FINISHED),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),stepName:R()}),or=L({type:q(ge.REASONING_START),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),messageId:R()}),ar=L({type:q(ge.REASONING_MESSAGE_START),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),messageId:R(),role:q("reasoning")}),rr=L({type:q(ge.REASONING_MESSAGE_CONTENT),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),messageId:R(),delta:R()}),sr=L({type:q(ge.REASONING_MESSAGE_END),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),messageId:R()}),ir=L({type:q(ge.REASONING_MESSAGE_CHUNK),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),messageId:R().optional(),delta:R().optional()}),lr=L({type:q(ge.REASONING_END),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),messageId:R()}),cr=wt(["tool-call","message"]),ur=L({type:q(ge.REASONING_ENCRYPTED_VALUE),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce.optional(),subtype:cr,entityId:R(),encryptedValue:R()}),dr=L({type:q(ge.SUBAGENT_STARTED),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce,name:R(),description:R().optional(),parentSubagentRunId:ce.optional(),parentToolCallId:R().optional(),parentMessageId:R().optional()}),pr=L({type:q("success")}),mr=L({type:q("suspended"),interruptIds:$e(R()).optional()}),fr=ht("type",[pr,mr]),hr=L({type:q(ge.SUBAGENT_FINISHED),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce,result:ee().refine(e=>e!==null).optional(),outcome:fr.optional()}),gr=L({type:q(ge.SUBAGENT_ERROR),timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional(),subagentRunId:ce,message:R(),code:R().optional()}),xu=ht("type",[aa,ra,sa,ia,la,ca,ua,da,ya,wa,Aa,Pa,Va,La,Ua,ja,Wa,Qa,er,tr,nr,or,ar,rr,sr,ir,lr,ur,dr,hr,gr]),Iu=wt(["developer","system","assistant","user","tool","activity","reasoning"]),vr=L({name:R(),description:R().optional()}),br=L({name:R().optional(),type:R().optional(),description:R().optional(),version:R().optional(),provider:R().optional(),documentationUrl:R().optional(),metadata:te.optional()}),kr=L({streaming:de().optional(),websocket:de().optional(),httpBinary:de().optional(),pushNotifications:de().optional(),resumable:de().optional()}),yr=L({supported:de().optional(),items:$e(zn).optional(),parallelCalls:de().optional(),clientProvided:de().optional()}),wr=L({structuredOutput:de().optional(),supportedMimeTypes:$e(R()).optional()}),Sr=L({snapshots:de().optional(),deltas:de().optional(),memory:de().optional(),persistentState:de().optional()}),Cr=L({supported:de().optional(),delegation:de().optional(),handoffs:de().optional(),subagents:$e(vr).optional()}),Tr=L({supported:de().optional(),streaming:de().optional(),encrypted:de().optional()}),xr=L({image:de().optional(),audio:de().optional(),video:de().optional(),pdf:de().optional(),file:de().optional()}),Ir=L({image:de().optional(),audio:de().optional()}),Er=L({input:xr.optional(),output:Ir.optional()}),Rr=L({codeExecution:de().optional(),sandboxed:de().optional(),maxIterations:ie().min(0).max(9007199254740991).optional(),maxExecutionTime:ie().min(0).max(9007199254740991).optional()}),Ar=L({supported:de().optional(),approvals:de().optional(),interventions:de().optional(),feedback:de().optional(),interrupts:de().optional(),approveWithEdits:de().optional()}),Eu=L({identity:br.optional(),transport:kr.optional(),tools:yr.optional(),output:wr.optional(),state:Sr.optional(),multiAgent:Cr.optional(),reasoning:Tr.optional(),multimodal:Er.optional(),execution:Rr.optional(),humanInTheLoop:Ar.optional(),custom:Mt(e=>typeof e=="object"&&e!==null&&!Array.isArray(e)).optional()}),Ru=L({subagentRunId:ce.optional()}),Au=L({type:oa,timestamp:ie().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:te.optional()}),_u=L({subagentRunId:ce.optional(),id:R(),role:R(),name:R().optional(),encryptedValue:R().optional(),metadata:te.optional()}),$u=te.optional(),Mu="1.76.0",_r=t.defineComponent({inheritAttrs:!1,__name:"CopilotKitInspector",props:{core:{},openRequest:{}},setup(e){const n=e,o=t.useAttrs(),a=t.shallowRef(null),r=t.shallowRef(null);let s=!0,i=null;const l={created(c){i?.(c,n.core??null),r.value=c,n.openRequest&&c.openInspector?.("message_toolbar",n.openRequest)}};return t.onMounted(()=>{import("@copilotkit/web-inspector").then(c=>{s&&(c.defineWebInspector?.(),i=(u,d)=>c.configureWebInspectorElement(u,d,{development:process.env.NODE_ENV==="development",framework:"vue",sdkVersion:Mu}),a.value=c.WEB_INSPECTOR_TAG)}).catch(c=>{console.error("Failed to load CopilotKit inspector:",c)})}),t.onUnmounted(()=>{s=!1,r.value=null}),t.watch(()=>n.core,c=>{r.value&&(r.value.core=c??null)}),t.watch(()=>n.openRequest,c=>{c&&r.value?.openInspector?.("message_toolbar",c)}),(c,u)=>a.value?t.withDirectives((t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.value),t.normalizeProps(t.mergeProps({key:0},t.unref(o))),null,16)),[[l]]):t.createCommentVNode("",!0)}}),$r=Symbol("CopilotKit"),bn=Symbol("CopilotChatConfiguration"),Mr=Symbol("SandboxFunctions"),Nu=Symbol("CopilotKitInspector");function Pe(){const e=t.inject($r);if(!e)throw new Error("useCopilotKit must be used within CopilotKitProvider");return e}const zu="2025-06-18";function Ou(e){const n="'self' 'wasm-unsafe-eval' 'unsafe-inline' 'unsafe-eval' blob: data: http://localhost:* https://localhost:*",o="* blob: data: http://localhost:* https://localhost:*",a=e?.length?` ${e.join(" ")}`:"",r=`${n}${a}`,s=`${o}${a}`;return`<!doctype html>
|
|
27
|
+
<html>
|
|
28
|
+
<head>
|
|
29
|
+
<meta charset="utf-8" />
|
|
30
|
+
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src * data: blob: 'unsafe-inline'; media-src * blob: data:; font-src * blob: data:; script-src ${r}; style-src * blob: data: 'unsafe-inline'; connect-src *; frame-src ${s}; base-uri 'self';" />
|
|
31
|
+
<style>html,body{margin:0;padding:0;height:100%;width:100%;overflow:hidden}*{box-sizing:border-box}iframe{background-color:transparent;border:none;padding:0;overflow:hidden;width:100%;height:100%}</style>
|
|
32
|
+
</head>
|
|
33
|
+
<body>
|
|
34
|
+
<script>
|
|
35
|
+
if(window.self===window.top){throw new Error("This file must be used in an iframe.")}
|
|
36
|
+
const inner=document.createElement("iframe");
|
|
37
|
+
inner.style="width:100%;height:100%;border:none;";
|
|
38
|
+
inner.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms");
|
|
39
|
+
document.body.appendChild(inner);
|
|
40
|
+
window.addEventListener("message",async(event)=>{
|
|
41
|
+
if(event.source===window.parent){
|
|
42
|
+
if(event.data&&event.data.method==="ui/notifications/sandbox-resource-ready"){
|
|
43
|
+
const{html,sandbox}=event.data.params;
|
|
44
|
+
if(typeof sandbox==="string")inner.setAttribute("sandbox",sandbox);
|
|
45
|
+
if(typeof html==="string")inner.srcdoc=html;
|
|
46
|
+
}else if(inner&&inner.contentWindow){
|
|
47
|
+
inner.contentWindow.postMessage(event.data,"*");
|
|
48
|
+
}
|
|
49
|
+
}else if(event.source===inner.contentWindow){
|
|
50
|
+
window.parent.postMessage(event.data,"*");
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
window.parent.postMessage({jsonrpc:"2.0",method:"ui/notifications/sandbox-proxy-ready",params:{}},"*");
|
|
54
|
+
<\/script>
|
|
55
|
+
</body>
|
|
56
|
+
</html>`}class Bu{queues=new Map;processing=new Map;async enqueue(n,o){const a=n.threadId||"default";return new Promise((r,s)=>{let i=this.queues.get(a);i||(i=[],this.queues.set(a,i)),i.push({execute:o,resolve:r,reject:s}),this.processQueue(a,n)})}async processQueue(n,o){if(!this.processing.get(n)){this.processing.set(n,!0);try{const a=this.queues.get(n);if(!a)return;for(;a.length>0;){const r=a[0];try{await this.waitForAgentIdle(o);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(n,!1)}}}cancel(n){const o=this.queues.get(n);if(o){for(const a of o)a.reject(new Error("MCPAppsRequestQueue cancelled on unmount"));o.length=0}this.queues.delete(n),this.processing.delete(n)}waitForAgentIdle(n){return new Promise((o,a)=>{if(!n.isRunning){o();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(),o())},l=n.subscribe({onRunFinalized:i,onRunFailed:i}),c=setInterval(()=>{n.isRunning||i()},500)})}}const jt=new Bu,Nr="mcp-apps",zr=re.z.object({result:re.z.object({content:re.z.array(re.z.any()).optional(),structuredContent:re.z.any().optional(),isError:re.z.boolean().optional()}),resourceUri:re.z.string(),serverHash:re.z.string(),serverId:re.z.string().optional(),toolInput:re.z.record(re.z.string(),re.z.unknown()).optional()});function Fu(e){return"id"in e&&"method"in e}function Du(e){return!("id"in e)&&"method"in e}const Or=t.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(e){const{copilotkit:n}=Pe(),o=t.ref(null),a=t.ref(null),r=t.ref(!1),s=t.ref(null),i=t.ref(!0),l=t.ref({}),c=t.ref(null),u=t.ref({inProgress:!1,promise:null,resourceUri:null}),d=b=>{a.value?.contentWindow&&a.value.contentWindow.postMessage(b,"*")},h=(b,v)=>{d({jsonrpc:"2.0",id:b,result:v})},g=(b,v,S)=>{d({jsonrpc:"2.0",id:b,error:{code:v,message:S}})},p=(b,v)=>{d({jsonrpc:"2.0",method:b,params:v||{}})};t.watch([()=>e.agent,()=>e.content],([b,v])=>{i.value=!0,s.value=null,r.value=!1,l.value={},c.value=null;const{resourceUri:S,serverHash:m,serverId:k}=v;if(u.value.inProgress&&u.value.resourceUri===S){u.value.promise?.then(T=>{T&&(c.value=T,i.value=!1)}).catch(T=>{s.value=T instanceof Error?T:new Error(String(T)),i.value=!1});return}if(!b){s.value=new Error("No agent available to fetch resource"),i.value=!1;return}u.value.inProgress=!0,u.value.resourceUri=S;const w=(async()=>{try{const A=(await jt.enqueue(b,()=>b.runAgent({forwardedProps:{__proxiedMCPRequest:{serverHash:m,serverId:k,method:"resources/read",params:{uri:S}}}}))).result?.contents?.[0];if(!A)throw new Error("No resource content in response");return A}finally{u.value.inProgress=!1}})();u.value.promise=w,w.then(T=>{T&&(c.value=T,i.value=!1)}).catch(T=>{s.value=T instanceof Error?T:new Error(String(T)),i.value=!1})},{immediate:!0}),t.watch([i,c],([b,v],S,m)=>{if(b||!v)return;const k=o.value;if(!k)return;let w=!0,T=null,y=null,A=null;(async()=>{try{const _=document.createElement("iframe");A=_,_.style.width="100%",_.style.height="100px",_.style.border="none",_.style.backgroundColor="transparent",_.style.display="block",_.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms"),_.setAttribute("data-testid","mcp-app-iframe"),_.setAttribute("title","Interactive MCP application");const z=new Promise(j=>{y=x=>{x.source===_.contentWindow&&x.data?.method==="ui/notifications/sandbox-proxy-ready"&&(y&&(window.removeEventListener("message",y),y=null),j())},window.addEventListener("message",y)});if(!w){y&&(window.removeEventListener("message",y),y=null);return}const O=c.value?._meta?.ui?.csp?.resourceDomains;if(_.srcdoc=Ou(O),a.value=_,k.appendChild(_),await z,!w)return;T=async j=>{if(j.source!==_.contentWindow)return;const x=j.data;if(!(!x||typeof x!="object"||x.jsonrpc!=="2.0")){if(Fu(x))switch(x.method){case"ui/initialize":{h(x.id,{protocolVersion:zu,hostInfo:{name:"CopilotKit MCP Apps Host",version:"1.0.0"},hostCapabilities:{openLinks:{},logging:{}},hostContext:{theme:"light",platform:"web"}});break}case"ui/message":{const E=e.agent;if(!E){h(x.id,{isError:!1});break}try{const P=x.params,N=P?.role||"user",B=P?.content?.filter(M=>M.type==="text"&&M.text).map(M=>M.text).join(`
|
|
57
|
+
`)||"";B&&E.addMessage({id:G.randomUUID(),role:N,content:B}),h(x.id,{isError:!1}),(P?.followUp??N==="user")&&B&&jt.enqueue(E,()=>n.value.runAgent({agent:E})).catch(M=>{console.error("[MCPAppsRenderer] ui/message agent run failed:",M)})}catch(P){console.error("[CopilotKit] MCPApps ui/message handler error:",P),h(x.id,{isError:!0})}break}case"ui/open-link":{const E=x.params?.url;if(!E){g(x.id,-32602,"Missing url parameter");break}window.open(E,"_blank","noopener,noreferrer"),h(x.id,{isError:!1});break}case"tools/call":{const{serverHash:E,serverId:P}=e.content,N=e.agent;if(!E){g(x.id,-32603,"No server hash available for proxying");break}if(!N){g(x.id,-32603,"No agent available for proxying");break}try{const B=await jt.enqueue(N,()=>N.runAgent({forwardedProps:{__proxiedMCPRequest:{serverHash:E,serverId:P,method:"tools/call",params:x.params}}}));h(x.id,B.result||{})}catch(B){g(x.id,-32603,String(B))}break}default:g(x.id,-32601,`Method not found: ${x.method}`)}if(Du(x))switch(x.method){case"ui/notifications/initialized":w&&(r.value=!0);break;case"ui/notifications/size-changed":{const{width:E,height:P}=x.params||{};w&&(l.value={width:typeof E=="number"?E:void 0,height:typeof P=="number"?P:void 0});break}}}},window.addEventListener("message",T);const F=v.text?v.text:v.blob?atob(v.blob):null;if(!F)throw new Error("Resource has no text or blob content");p("ui/notifications/sandbox-resource-ready",{html:F})}catch(_){w&&(s.value=_ instanceof Error?_:new Error(String(_)))}})(),m(()=>{w=!1,y&&(window.removeEventListener("message",y),y=null),T&&window.removeEventListener("message",T),A&&(A.remove(),A=null),a.value=null})},{flush:"post"}),t.watch(l,b=>{a.value&&(b.width!==void 0&&(a.value.style.minWidth=`min(${b.width}px, 100%)`,a.value.style.width="100%"),b.height!==void 0&&(a.value.style.height=`${b.height}px`))},{deep:!0}),t.watch([r,()=>e.content.toolInput],([b,v])=>{b&&v&&p("ui/notifications/tool-input",{arguments:v})},{deep:!0}),t.watch([r,()=>e.content.result],([b,v])=>{b&&v&&p("ui/notifications/tool-result",v)},{deep:!0});const f=t.computed(()=>c.value?._meta?.ui?.prefersBorder!==!0?{}:{borderRadius:"8px",backgroundColor:"#f9f9f9",border:"1px solid #e0e0e0"});return t.onBeforeUnmount(()=>{const b=e.agent?.threadId||"default";jt.cancel(b)}),()=>t.h("div",{ref:o,style:{width:"100%",height:l.value.height!==void 0?`${l.value.height}px`:"auto",minHeight:"100px",overflow:"hidden",position:"relative",...f.value}},[i.value?t.h("div",{style:{padding:"1rem",color:"#666"}},"Loading..."):null,s.value?t.h("div",{style:{color:"red",padding:"1rem"}},`Error: ${s.value.message}`):null])}}),Pu="a2ui-surface",Vu=re.z.object({operations:re.z.array(re.z.record(re.z.string(),re.z.unknown()))});function kn(e){return e.surfaceId??e.beginRendering?.surfaceId??e.surfaceUpdate?.surfaceId??e.dataModelUpdate?.surfaceId??e.deleteSurface?.surfaceId??e.createSurface?.surfaceId??e.updateComponents?.surfaceId??e.updateDataModel?.surfaceId??"default"}class Br extends le.CopilotKitCore{_renderToolCalls=[];_hookRenderToolCalls=new Map;_cachedMergedRenderToolCalls=null;_renderCustomMessages=[];_renderActivityMessages=[];_interruptState=null;constructor(n){super(n),this._renderToolCalls=n.renderToolCalls??[],this._renderCustomMessages=n.renderCustomMessages??[],this._renderActivityMessages=n.renderActivityMessages??[]}get renderCustomMessages(){return this._renderCustomMessages}get renderActivityMessages(){return this._renderActivityMessages}setRenderActivityMessages(n){this._renderActivityMessages=[...n]}setRenderCustomMessages(n){this._renderCustomMessages=[...n],this.notifySubscribers(o=>{o.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 n=new Map;for(const o of this._renderToolCalls)n.set(`${o.agentId??""}:${o.name}`,o);for(const[o,a]of this._hookRenderToolCalls)n.set(o,a);return this._cachedMergedRenderToolCalls=Array.from(n.values()),this._cachedMergedRenderToolCalls}get interruptState(){return this._interruptState}setRenderToolCalls(n){this._renderToolCalls=[...n],this._cachedMergedRenderToolCalls=null,this._notifyRenderToolCallsChanged()}addHookRenderToolCall(n){const o=`${n.agentId??""}:${n.name}`;this._hookRenderToolCalls.set(o,n),this._cachedMergedRenderToolCalls=null,this._notifyRenderToolCallsChanged()}removeHookRenderToolCall(n,o){const a=`${o??""}:${n}`;this._hookRenderToolCalls.delete(a)&&(this._cachedMergedRenderToolCalls=null,this._notifyRenderToolCallsChanged())}_notifyRenderToolCallsChanged(){this.notifySubscribers(n=>{const o=n;o.onRenderToolCallsChanged&&o.onRenderToolCallsChanged({copilotkit:this,renderToolCalls:[...this.renderToolCalls]})},"Subscriber onRenderToolCallsChanged error:")}setInterruptState(n){this._interruptState=n,this.notifySubscribers(o=>{o.onInterruptStateChanged?.({copilotkit:this,interruptState:this._interruptState})},"Subscriber onInterruptStateChanged error:")}subscribe(n){return super.subscribe(n)}async waitForPendingFrameworkUpdates(){await t.nextTick()}}const mo="a2ui_operations",Lu=t.defineComponent({name:"DefaultA2UILoading",setup(){const e=[.8,.6,.4];return()=>t.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"},[t.h("div",{class:"cpk:flex cpk:items-center cpk:gap-2"},[t.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"}),t.h("span",{class:"cpk:text-xs cpk:font-medium cpk:text-gray-400"},"Generating UI...")]),t.h("div",{class:"cpk:flex cpk:flex-col cpk:gap-2"},e.map((n,o)=>t.h("div",{key:o,class:"cpk:h-3 cpk:rounded cpk:bg-gray-200/70",style:{width:`${n*100}%`,animation:`cpk-a2ui-pulse 1.5s ease-in-out ${o*.15}s infinite`},"data-testid":"a2ui-loading-bar"}))),t.h("style",{},`@keyframes cpk-a2ui-pulse {
|
|
58
|
+
0%, 100% { opacity: 0.4; }
|
|
59
|
+
50% { opacity: 1; }
|
|
60
|
+
}`)])}});function Fr(e){return{activityType:"a2ui-surface",content:re.z.any(),render:t.defineComponent({name:"A2UIMessageRendererHost",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(n){const o=t.computed(()=>Array.isArray(n.content?.[mo])?n.content[mo]:[]);return()=>o.value.length===0?e.loadingComponent?t.h(e.loadingComponent):t.h(Lu):t.h(Yr,{activityType:"a2ui-surface",content:{operations:o.value},message:n.message,agent:n.agent,theme:e.theme,catalog:e.catalog})}})}}function Jt(e){const n=e.name==="*"&&!e.args?re.z.any():e.args;return{name:e.name,args:n,render:e.render,...e.agentId?{agentId:e.agentId}:{}}}const dn="render_a2ui";function Uu(e,n){t.watch([()=>e.value,n],([o,a],r,s)=>{if(!a)return;const i=Jt({name:dn,args:re.z.any(),render:({status:c,args:u})=>{if(c==="complete")return null;const d=u,h=d?.items;if(Array.isArray(h)&&h.length>0)return null;const g=d?.components;return Array.isArray(g)&&g.length>2?null:ju(u)}}),l=o.propRenderToolCalls;o.setRenderToolCalls([...l.filter(c=>c.name!==dn),i]),s(()=>{const c=o.propRenderToolCalls;o.setRenderToolCalls(c.filter(u=>u.name!==dn)),yn.clear()})},{immediate:!0})}const yn=new Map;function ju(e){const n=e,o=typeof n?.name=="string"?n.name:"__default__";let a=yn.get(o);a||(a={lastTime:0,lastTokens:0},yn.set(o,a));const r=Date.now();let s=a.lastTokens;if(r-a.lastTime>200){const h=JSON.stringify(e??{}).length;s=Math.round(h/4),a.lastTime=r,a.lastTokens=s}const i=s<50?0:s<200?1:s<400?2:3,l=()=>t.h("div",{style:{width:"7px",height:"7px",borderRadius:"50%",backgroundColor:"#d4d4d8",flexShrink:0}}),c=()=>t.h("div",{style:{width:"12px"}}),u=(h,g,p,f,b,v)=>t.h("div",{style:{width:`${h}px`,height:`${g}px`,borderRadius:"9999px",backgroundColor:p,...f!==void 0?{animation:`cpk-a2ui-fade 2.4s ease-in-out ${f}s infinite`}:{},...b!==void 0?{opacity:b}:{},...v?{transition:v}:{}}}),d=(h,g,p)=>t.h("div",{style:{display:"flex",alignItems:"center",gap:"6px",opacity:h?1:0,transition:`opacity 0.4s ${g}s`}},p);return t.h("div",{style:{margin:"12px 0",maxWidth:"320px"}},[t.h("div",{style:{position:"relative",overflow:"hidden",borderRadius:"12px",border:"1px solid rgba(228,228,231,0.8)",backgroundColor:"#fff",boxShadow:"0 1px 2px rgba(0,0,0,0.04)",padding:"16px 18px 14px"}},[t.h("div",{style:{display:"flex",alignItems:"center",gap:"8px",marginBottom:"12px"}},[t.h("div",{style:{display:"flex",gap:"4px"}},[l(),l(),l()]),u(64,6,"#e4e4e7",void 0,i>=1?1:.4,"opacity 0.5s")]),t.h("div",{style:{display:"grid",gap:"7px"}},[d(i>=0,0,[u(36,7,"rgba(147,197,253,0.7)",0),u(80,7,"rgba(219,234,254,0.8)",.2)]),d(i>=0,.1,[c(),l(),u(100,7,"rgba(24,24,27,0.2)",.3)]),d(i>=1,.15,[c(),u(48,7,"rgba(24,24,27,0.15)",.1),u(40,7,"rgba(153,246,228,0.6)",.5),u(56,7,"rgba(147,197,253,0.6)",.3)]),d(i>=1,.2,[c(),l(),u(60,7,"rgba(24,24,27,0.15)",.4)]),d(i>=2,.25,[u(40,7,"rgba(153,246,228,0.5)",.2),l(),u(48,7,"rgba(24,24,27,0.15)",.6),u(64,7,"rgba(147,197,253,0.5)",.1)]),d(i>=2,.3,[u(36,7,"rgba(147,197,253,0.6)",.5),u(36,7,"rgba(24,24,27,0.12)",.7)]),d(i>=3,.35,[l(),u(44,7,"rgba(24,24,27,0.18)",.3),l(),u(56,7,"rgba(153,246,228,0.5)",.8),u(48,7,"rgba(147,197,253,0.5)",.4)])]),t.h("div",{style:{pointerEvents:"none",position:"absolute",inset:"0",background:"linear-gradient(105deg, transparent 0%, transparent 40%, rgba(255,255,255,0.6) 50%, transparent 60%, transparent 100%)",backgroundSize:"250% 100%",animation:"cpk-a2ui-sweep 3s ease-in-out infinite"}})]),t.h("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",marginTop:"8px"}},[t.h("span",{style:{fontSize:"12px",color:"#a1a1aa",letterSpacing:"0.025em"}},"Building interface"),...s>0?[t.h("span",{style:{fontSize:"11px",color:"#d4d4d8",fontVariantNumeric:"tabular-nums"}},`~${s.toLocaleString()} tokens`)]:[]]),t.h("style",`
|
|
61
|
+
@keyframes cpk-a2ui-fade {
|
|
62
|
+
0%, 100% { opacity: 1; }
|
|
63
|
+
50% { opacity: 0.5; }
|
|
64
|
+
}
|
|
65
|
+
@keyframes cpk-a2ui-sweep {
|
|
66
|
+
0% { background-position: 250% 0; }
|
|
67
|
+
100% { background-position: -250% 0; }
|
|
68
|
+
}
|
|
69
|
+
`)])}function Oe(e,n,o){const a=t.defineComponent({name:`A2UI_${e.name}`,props:{context:{type:Object,required:!0},buildChild:{type:Function,required:!0}},setup(r){const s=t.ref({});let i=null;const l=o?o():void 0;function c(u){i&&i.dispose(),i=new Xt.GenericBinder(u,e.schema),s.value=i.snapshot,i.subscribe(d=>{s.value=d})}return c(r.context),t.watch(()=>r.context,u=>{c(u)}),t.onUnmounted(()=>{i&&(i.dispose(),i=null)}),()=>n({props:s.value,buildChild:r.buildChild,context:r.context,state:l})}});return{name:e.name,schema:e.schema,render:a}}const rt="8px",Zu="16px",Et="1px solid #ccc",nn="8px",Dr=e=>{switch(e){case"center":return"center";case"end":return"flex-end";case"spaceAround":return"space-around";case"spaceBetween":return"space-between";case"spaceEvenly":return"space-evenly";case"start":return"flex-start";case"stretch":return"stretch";default:return"flex-start"}},Bn=e=>{switch(e){case"start":return"flex-start";case"center":return"center";case"end":return"flex-end";case"stretch":return"stretch";default:return"stretch"}},zt=()=>({margin:rt,boxSizing:"border-box"}),Hu=()=>({margin:rt,padding:Zu,border:Et,borderRadius:nn,boxSizing:"border-box"});function Fn(e,n){return Array.isArray(e)?e.map(o=>{if(o&&typeof o=="object"&&"id"in o){const a=o;return n(a.id,a.basePath)}return typeof o=="string"?n(o):null}).filter(o=>o!==null):[]}let Gu=0;function on(){return`a2ui-vue-${++Gu}`}const Wu=Oe(Me.TextApi,({props:e})=>{const n=e.text??"",o={...zt(),display:"inline-block"};switch(e.variant){case"h1":return t.h("h1",{style:o},n);case"h2":return t.h("h2",{style:o},n);case"h3":return t.h("h3",{style:o},n);case"h4":return t.h("h4",{style:o},n);case"h5":return t.h("h5",{style:o},n);case"caption":return t.h("small",{style:{...o,color:"#666",textAlign:"left"}},n);default:return t.h("span",{style:o},n)}}),Ku=Oe(Me.ImageApi,({props:e})=>{const n=a=>a==="scaleDown"?"scale-down":a||"fill",o={...zt(),objectFit:n(e.fit),width:"100%",height:"auto",display:"block"};return e.variant==="icon"?(o.width="24px",o.height="24px"):e.variant==="avatar"?(o.width="40px",o.height="40px",o.borderRadius="50%"):e.variant==="smallFeature"?o.maxWidth="100px":e.variant==="largeFeature"?o.maxHeight="400px":e.variant==="header"&&(o.height="200px",o.objectFit="cover"),t.h("img",{src:e.url,alt:e.description||"",style:o})}),qu=Oe(Me.IconApi,({props:e})=>{const n=typeof e.name=="string"?e.name:e.name?.path,o={...zt(),fontSize:"24px",width:"24px",height:"24px",display:"inline-flex",alignItems:"center",justifyContent:"center"};return t.h("span",{class:"material-symbols-outlined",style:o},n)}),Ju=Oe(Me.VideoApi,({props:e})=>{const n={...zt(),width:"100%",aspectRatio:"16/9"};return t.h("video",{src:e.url,controls:!0,style:n})}),Xu=Oe(Me.AudioPlayerApi,({props:e})=>{const n={...zt(),width:"100%"};return t.h("div",{style:{display:"flex",flexDirection:"column",gap:"4px",width:"100%"}},[e.description?t.h("span",{style:{fontSize:"12px",color:"#666"}},e.description):null,t.h("audio",{src:e.url,controls:!0,style:n})])}),Yu=Oe(Me.RowApi,({props:e,buildChild:n})=>t.h("div",{style:{display:"flex",flexDirection:"row",justifyContent:Dr(e.justify),alignItems:Bn(e.align),width:"100%",margin:"0",padding:"0"}},Fn(e.children,n))),Qu=Oe(Me.ColumnApi,({props:e,buildChild:n})=>t.h("div",{style:{display:"flex",flexDirection:"column",justifyContent:Dr(e.justify),alignItems:Bn(e.align),width:"100%",margin:"0",padding:"0"}},Fn(e.children,n))),ed=Oe(Me.ListApi,({props:e,buildChild:n})=>{const o=e.direction==="horizontal",a={display:"flex",flexDirection:o?"row":"column",alignItems:Bn(e.align),overflowX:o?"auto":"hidden",overflowY:o?"hidden":"auto",width:"100%",margin:"0",padding:"0"};return t.h("div",{style:a},Fn(e.children,n))}),td=Oe(Me.CardApi,({props:e,buildChild:n})=>{const o={...Hu(),backgroundColor:"#fff",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",width:"100%"};return t.h("div",{style:o},[e.child?n(e.child):null])}),nd=Oe(Me.TabsApi,({props:e,buildChild:n,state:o})=>{const a=e.tabs||[];return t.h("div",{style:{display:"flex",flexDirection:"column",width:"100%",margin:rt}},[t.h("div",{style:{display:"flex",borderBottom:"1px solid #ccc",marginBottom:"8px"}},a.map((r,s)=>{const i=typeof r.title=="string"?r.title:String(r.title??"");return t.h("button",{key:s,onClick:()=>{o.selectedIndex.value=s},style:{padding:"8px 16px",border:"none",background:"none",borderBottom:o.selectedIndex.value===s?"2px solid var(--a2ui-primary-color, #007bff)":"none",fontWeight:o.selectedIndex.value===s?"bold":"normal",cursor:"pointer",color:o.selectedIndex.value===s?"var(--a2ui-primary-color, #007bff)":"inherit"}},i)})),t.h("div",{style:{flex:"1"}},[a[o.selectedIndex.value]?.child?n(a[o.selectedIndex.value].child):null])])},()=>({selectedIndex:t.ref(0)})),od=Oe(Me.DividerApi,({props:e})=>{const n=e.axis==="vertical",o={margin:rt,border:"none",backgroundColor:"#ccc"};return n?(o.width="1px",o.height="100%"):(o.width="100%",o.height="1px"),t.h("div",{style:o})}),ad=Oe(Me.ModalApi,({props:e,buildChild:n,state:o})=>t.h("div",{},[t.h("div",{onClick:()=>{o.isOpen.value=!0},style:{display:"inline-block"}},[e.trigger?n(e.trigger):null]),o.isOpen.value?t.h("div",{style:{position:"fixed",top:"0",left:"0",right:"0",bottom:"0",backgroundColor:"rgba(0,0,0,0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:"1000"},onClick:()=>{o.isOpen.value=!1}},[t.h("div",{style:{backgroundColor:"#fff",padding:"24px",borderRadius:"8px",maxWidth:"90%",maxHeight:"90%",overflow:"auto",display:"flex",flexDirection:"column"},onClick:a=>a.stopPropagation()},[t.h("div",{style:{display:"flex",justifyContent:"flex-end"}},[t.h("button",{onClick:()=>{o.isOpen.value=!1},style:{border:"none",background:"none",fontSize:"20px",cursor:"pointer",padding:"4px"}},"×")]),t.h("div",{style:{flex:"1"}},[e.content?n(e.content):null])])]):null]),()=>({isOpen:t.ref(!1)})),rd=Oe(Me.ButtonApi,({props:e,buildChild:n})=>{const o={margin:rt,padding:"8px 16px",cursor:"pointer",border:e.variant==="borderless"?"none":"1px solid #ccc",backgroundColor:e.variant==="primary"?"var(--a2ui-primary-color, #007bff)":e.variant==="borderless"?"transparent":"#fff",color:e.variant==="primary"?"#fff":"inherit",borderRadius:"4px",display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box"};return t.h("button",{style:o,onClick:e.action,disabled:e.isValid===!1},[e.child?n(e.child):null])}),sd=Oe(Me.TextFieldApi,({props:e,state:n})=>{const o=n.id,a=e.variant==="longText",r=e.variant==="number"?"number":e.variant==="obscured"?"password":"text",s={padding:"8px",width:"100%",border:e.validationErrors&&e.validationErrors.length>0?"1px solid red":Et,borderRadius:nn,boxSizing:"border-box"},i=e.validationErrors&&e.validationErrors.length>0;return t.h("div",{style:{display:"flex",flexDirection:"column",gap:"4px",width:"100%",margin:rt}},[e.label?t.h("label",{for:o,style:{fontSize:"14px",fontWeight:"bold"}},e.label):null,a?t.h("textarea",{id:o,style:s,value:e.value||"",onInput:l=>e.setValue(l.target.value)}):t.h("input",{id:o,type:r,style:s,value:e.value||"",onInput:l=>e.setValue(l.target.value)}),i?t.h("span",{style:{fontSize:"12px",color:"red"}},e.validationErrors[0]):null])},()=>({id:on()})),id=Oe(Me.CheckBoxApi,({props:e,state:n})=>{const o=n.id,a=e.validationErrors&&e.validationErrors.length>0;return t.h("div",{style:{display:"flex",flexDirection:"column",margin:rt}},[t.h("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},[t.h("input",{id:o,type:"checkbox",checked:!!e.value,onChange:r=>e.setValue(r.target.checked),style:{cursor:"pointer",outline:a?"1px solid red":"none"}}),e.label?t.h("label",{for:o,style:{cursor:"pointer",color:a?"red":"inherit"}},e.label):null]),a?t.h("span",{style:{fontSize:"12px",color:"red",marginTop:"4px"}},e.validationErrors?.[0]):null])},()=>({id:on()})),ld=Oe(Me.ChoicePickerApi,({props:e,context:n,state:o})=>{const a=Array.isArray(e.value)?e.value:[],r=e.variant==="mutuallyExclusive",s=l=>{if(r)e.setValue([l]);else{const c=a.includes(l)?a.filter(u=>u!==l):[...a,l];e.setValue(c)}},i=(e.options||[]).filter(l=>!e.filterable||o.filter.value===""||String(typeof l.label=="string"?l.label:"").toLowerCase().includes(o.filter.value.toLowerCase()));return t.h("div",{style:{display:"flex",flexDirection:"column",gap:"8px",margin:rt,width:"100%"}},[e.label?t.h("strong",{style:{fontSize:"14px"}},e.label):null,e.filterable?t.h("input",{type:"text",placeholder:"Filter options...",value:o.filter.value,onInput:l=>{o.filter.value=l.target.value},style:{padding:"4px 8px",border:Et,borderRadius:nn}}):null,t.h("div",{style:{display:"flex",flexDirection:e.displayStyle==="chips"?"row":"column",flexWrap:e.displayStyle==="chips"?"wrap":"nowrap",gap:"8px"}},i.map((l,c)=>{const u=a.includes(l.value),d=typeof l.label=="string"?l.label:String(l.label??l.value);return e.displayStyle==="chips"?t.h("button",{key:c,onClick:()=>s(l.value),style:{padding:"4px 12px",borderRadius:"16px",border:u?"1px solid var(--a2ui-primary-color, #007bff)":Et,backgroundColor:u?"var(--a2ui-primary-color, #007bff)":"#fff",color:u?"#fff":"inherit",cursor:"pointer",fontSize:"12px"}},d):t.h("label",{key:c,style:{display:"flex",alignItems:"center",gap:"8px",cursor:"pointer"}},[t.h("input",{type:r?"radio":"checkbox",checked:u,onChange:()=>s(l.value),name:r?`choice-${n.componentModel.id}`:void 0}),t.h("span",{style:{fontSize:"14px"}},d)])}))])},()=>({filter:t.ref("")})),cd=Oe(Me.SliderApi,({props:e,state:n})=>{const o=n.id;return t.h("div",{style:{display:"flex",flexDirection:"column",gap:"4px",margin:rt,width:"100%"}},[t.h("div",{style:{display:"flex",justifyContent:"space-between"}},[e.label?t.h("label",{for:o,style:{fontSize:"14px",fontWeight:"bold"}},e.label):null,t.h("span",{style:{fontSize:"12px",color:"#666"}},String(e.value))]),t.h("input",{id:o,type:"range",min:e.min??0,max:e.max,value:e.value??0,onInput:a=>e.setValue(Number(a.target.value)),style:{width:"100%",cursor:"pointer"}})])},()=>({id:on()})),ud=Oe(Me.DateTimeInputApi,({props:e,state:n})=>{const o=n.id;let a="datetime-local";e.enableDate&&!e.enableTime&&(a="date"),!e.enableDate&&e.enableTime&&(a="time");const r={padding:"8px",width:"100%",border:Et,borderRadius:nn,boxSizing:"border-box"};return t.h("div",{style:{display:"flex",flexDirection:"column",gap:"4px",width:"100%",margin:rt}},[e.label?t.h("label",{for:o,style:{fontSize:"14px",fontWeight:"bold"}},e.label):null,t.h("input",{id:o,type:a,style:r,value:e.value||"",onInput:s=>e.setValue(s.target.value),min:typeof e.min=="string"?e.min:void 0,max:typeof e.max=="string"?e.max:void 0})])},()=>({id:on()})),dd=[Wu,Ku,qu,Ju,Xu,Yu,Qu,ed,td,nd,od,ad,rd,sd,id,ld,cd,ud],yt=new Xt.Catalog("https://a2ui.org/specification/v0_9/basic_catalog.json",dd,Me.BASIC_FUNCTIONS),pd="A2UI Component Schema — available components for generating UI surfaces. Use these component names and properties when creating A2UI operations.";function md(e){const n=e??yt,o="https://a2ui.org/specification/v0_9/basic_catalog.json",a=[];if(a.push("Available A2UI catalog:"),n.id===o)return a.push(`- ${n.id} (basic catalog)`),a.join(`
|
|
70
|
+
`);let r=!0;for(const i of yt.components.keys())if(!n.components.has(i)){r=!1;break}const s=[];for(const i of n.components.keys())yt.components.has(i)||s.push(i);a.push(`- ${n.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=n.components.get(i);if(!l)continue;const c=Sn.zodToJsonSchema(l.schema);a.push(` - ${i}:`),a.push(` ${JSON.stringify(c,null,2).split(`
|
|
71
|
+
`).join(`
|
|
72
|
+
`)}`)}return a.join(`
|
|
73
|
+
`)}function fd(e){const n=e??yt,o={};for(const[a,r]of n.components){const s=Sn.zodToJsonSchema(r.schema,{target:"jsonSchema2019-09"});o[a]={allOf:[{$ref:"common_types.json#/$defs/ComponentCommon"},{properties:{component:{const:a},...s.properties},required:["component",...s.required??[]]}]}}return{catalogId:n.id,components:o}}function hd(e,n){const o=t.computed(()=>md(n.catalog()));t.watch([()=>e.value,n.enabled,o],([r,s,i],l,c)=>{if(!s)return;const u=r.a2uiAgents,d=r.addContext({description:"A2UI catalog capabilities: available catalog IDs and custom component definitions the client can render.",value:i,...u?{agentIds:u}:{}});c(()=>r.removeContext(d))},{immediate:!0});const a=t.computed(()=>n.includeSchema()?JSON.stringify(fd(n.catalog())):null);t.watch([()=>e.value,n.enabled,a],([r,s,i],l,c)=>{if(!s||!i)return;const u=r.a2uiAgents,d=u?{agentIds:u}:{},h=[];h.push(r.addContext({description:pd,value:i,...d})),h.push(r.addContext({description:"A2UI generation guidelines — protocol rules, tool arguments, path rules, data model format, and form/two-way-binding instructions.",value:G.A2UI_DEFAULT_GENERATION_GUIDELINES,...d})),h.push(r.addContext({description:"A2UI design guidelines — visual design rules, component hierarchy tips, and action handler patterns.",value:G.A2UI_DEFAULT_DESIGN_GUIDELINES,...d})),c(()=>{for(const g of h)r.removeContext(g)})},{immediate:!0})}function Pr(e){const n=e.match(/<style\b[^>]*>[\s\S]*?<\/style>/gi);return n?n.join(""):""}function Vr(e){let n=e;n=n.replace(/<[^>]*$/,""),n=n.replace(/<(style|script|head)\b[^>]*>[\s\S]*?<\/\1>/gi,""),n=n.replace(/<(style|script|head)\b[^>]*>[\s\S]*$/gi,""),n=n.replace(/&[a-zA-Z0-9#]*$/,"");const o=n.match(/<body[^>]*>([\s\S]*)/i);return o&&(n=o[1],n=n.replace(/<\/body>[\s\S]*/i,"")),n}function Lr(){const e=t.inject(Mr,t.computed(()=>[]));return t.computed(()=>e.value)}const Ur="open-generative-ui",jr=re.z.object({initialHeight:re.z.number().optional(),generating:re.z.boolean().optional(),css:re.z.string().optional(),cssComplete:re.z.boolean().optional(),html:re.z.array(re.z.string()).optional(),htmlComplete:re.z.boolean().optional(),jsFunctions:re.z.string().optional(),jsFunctionsComplete:re.z.boolean().optional(),jsExpressions:re.z.array(re.z.string()).optional(),jsExpressionsComplete:re.z.boolean().optional()}),Zr=re.z.object({initialHeight:re.z.number().optional(),placeholderMessages:re.z.array(re.z.string()).optional(),css:re.z.string().optional(),html:re.z.string().optional(),jsFunctions:re.z.string().optional(),jsExpressions:re.z.array(re.z.string()).optional()});function gd(e,n){return!!(n.cssComplete&&(!e||!e.cssComplete)||n.htmlComplete||n.generating===!1||n.jsFunctions&&(!e||!e.jsFunctions)||(n.jsExpressions?.length??0)>(e?.jsExpressions?.length??0)||n.html?.length&&(!e||!e.html?.length))}function vd(e){return/<head[\s>]/i.test(e)?e:`<head></head>${e}`}function bd(e,n){const o=e.indexOf("</head>");return o!==-1?e.slice(0,o)+`<style>${n}</style>`+e.slice(o):`<head><style>${n}</style></head>${e}`}async function fo(){const e=await import("@jetbrains/websandbox");return e.default?.default??e.default}const Hr=t.defineComponent({name:"OpenGenerativeUIRenderer",props:{content:{type:Object,required:!0}},setup(e){const n=Lr(),o=t.ref(null),a=t.ref(e.content),r=t.ref(e.content),s=t.ref(null),i=t.ref(null),l=t.ref(null),c=t.ref(!1),u=t.ref(!1),d=t.ref(0),h=t.ref(!1),g=t.ref([]),p=t.computed(()=>{const _={};for(const z of n.value)_[z.name]=z.handler;return _});t.watch(()=>e.content,_=>{if(r.value=_,gd(a.value,_)){s.value!==null&&(window.clearTimeout(s.value),s.value=null),a.value=_;return}s.value===null&&(s.value=window.setTimeout(()=>{a.value=r.value,s.value=null},1e3))},{immediate:!0}),t.onBeforeUnmount(()=>{s.value!==null&&window.clearTimeout(s.value)});const f=t.computed(()=>{if(!a.value.htmlComplete&&a.value.html?.length)return a.value.html.join("")}),b=t.computed(()=>f.value?Vr(f.value):void 0),v=t.computed(()=>f.value?Pr(f.value):""),S=t.computed(()=>a.value.htmlComplete&&a.value.html?.length?a.value.html.join(""):void 0),m=t.computed(()=>a.value.cssComplete?a.value.css:void 0),k=t.computed(()=>!!a.value.cssComplete&&!!b.value&&b.value.trim().length>0),w=t.computed(()=>!!S.value||k.value),T=t.computed(()=>`${a.value.initialHeight??200}px`),y=()=>{l.value&&(l.value.destroy(),l.value=null),u.value=!1},A=()=>{i.value&&(i.value.destroy(),i.value=null),c.value=!1,g.value=[],d.value=0,h.value=!1};t.watch([k,S,m,b,v,()=>o.value],async([_,z],O,F)=>{if(!_||z||!o.value||l.value)return;let j=!1;try{const x=await fo();if(j||!o.value)return;const E=x.create({},{frameContainer:o.value,frameContent:"<head></head><body></body>",allowAdditionalAttributes:""});l.value=E,E.iframe.setAttribute("data-testid","open-generative-ui-preview-sandbox"),E.iframe.style.width="100%",E.iframe.style.height="100%",E.iframe.style.border="none",E.iframe.style.backgroundColor="transparent",E.promise.then(()=>{j||!l.value||(u.value=!0,E.run("var s=document.createElement('style');s.textContent='html, body { overflow: hidden !important; }';document.head.appendChild(s);"))})}catch(x){console.error("[OpenGenerativeUI] Failed to load sandbox module:",x)}F(()=>{j=!0})},{immediate:!0}),t.watch([b,v,m,u],([_,z,O,F])=>{if(!l.value||!F)return;const j=[];O&&j.push(`<style>${O}</style>`),z&&j.push(z),j.length&&l.value.run(`document.head.innerHTML = ${JSON.stringify(j.join(""))}`),_&&l.value.run(`document.body.innerHTML = ${JSON.stringify(_)}`)},{immediate:!0}),t.watch([S,m,p,()=>o.value],async([_,z,O],F,j)=>{if(A(),!_||!o.value)return;y();let x=!1;try{const E=await fo();if(x||!o.value)return;const P=vd(_),N=z?bd(P,z):P,B=E.create(O,{frameContainer:o.value,frameContent:N,allowAdditionalAttributes:""});i.value=B,B.iframe.setAttribute("data-testid","open-generative-ui-final-sandbox"),B.iframe.style.width="100%",B.iframe.style.height="100%",B.iframe.style.border="none",B.iframe.style.backgroundColor="transparent",B.promise.then(()=>{if(x||!i.value)return;c.value=!0,B.run("var s=document.createElement('style');s.textContent='html, body { overflow: hidden !important; }';document.head.appendChild(s);");const ne=a.value.jsFunctions;ne&&!h.value&&(h.value=!0,g.value.unshift(ne));const M=a.value.jsExpressions;if(M?.length){const H=d.value;H<M.length&&(g.value.push(...M.slice(H)),d.value=M.length)}const Y=[...g.value];g.value=[];for(const H of Y)B.run(H)})}catch(E){console.error("[OpenGenerativeUI] Failed to load sandbox module:",E)}j(()=>{x=!0})},{immediate:!0}),t.watch(()=>a.value.jsFunctions,_=>{!_||h.value||(h.value=!0,c.value&&i.value?i.value.run(_):g.value.push(_))}),t.watch(()=>a.value.jsExpressions,_=>{if(!_?.length)return;const z=d.value;if(z>=_.length)return;const O=_.slice(z);if(d.value=_.length,c.value&&i.value)for(const F of O)i.value.run(F);else g.value.push(...O)},{deep:!0});const I=t.computed(()=>a.value.generating!==!1);return t.watch([k,S],([_,z])=>{z&&y(),_||y()},{immediate:!0}),t.onBeforeUnmount(()=>{s.value!==null&&window.clearTimeout(s.value),y(),A()}),()=>t.h("div",{ref:o,"data-testid":"open-generative-ui-renderer",style:{position:"relative",width:"100%",height:T.value,borderRadius:"8px",backgroundColor:w.value?"transparent":"#f5f5f5",border:w.value?"none":"1px solid #e0e0e0",overflow:"hidden",display:w.value?"block":"flex",alignItems:w.value?void 0:"center",justifyContent:w.value?void 0:"center"}},[w.value?null:t.h("div",{"data-testid":"open-generative-ui-placeholder"},[t.h("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",style:{animation:"ck-spin 1s linear infinite"}},[t.h("circle",{cx:"12",cy:"12",r:"10",stroke:"#e0e0e0","stroke-width":"3"}),t.h("path",{d:"M12 2a10 10 0 0 1 10 10",stroke:"#999","stroke-width":"3","stroke-linecap":"round"})]),t.h("style","@keyframes ck-spin { to { transform: rotate(360deg) } }")]),I.value?t.h("div",{"data-testid":"open-generative-ui-progress-overlay",style:{position:"absolute",inset:0,backgroundColor:"rgba(255,255,255,0.45)"}}):null])}}),Gr=t.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(e){return()=>t.h(Hr,{content:e.content})}}),Wr=t.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(e){const n=t.ref(0);return t.watch(()=>e.args.placeholderMessages,(o,a,r)=>{if(!o?.length||e.status===le.ToolCallStatus.Complete)return;n.value=Math.max(o.length-1,0);const s=window.setInterval(()=>{n.value=(n.value+1)%Math.max(o.length,1)},5e3);r(()=>window.clearInterval(s))},{immediate:!0}),()=>{if(e.status===le.ToolCallStatus.Complete)return null;const o=e.args.placeholderMessages;if(!o?.length)return null;const a=o[n.value]??o[0];return t.h("div",{style:{padding:"8px 12px",color:"#999",fontSize:"14px"},"data-testid":"open-generative-ui-tool-placeholder"},a)}}}),Dn=Symbol("LicenseContext");function Kr(){return t.ref(G.createLicenseContextValue(null))}const kd={style:{display:"flex",gap:"8px",alignItems:"center"}},yd=["href"],wd=52,ho="--copilotkit-license-banner-offset",Zt=t.defineComponent({__name:"LicenseWarningBanner",props:{type:{},featureName:{default:void 0},expiryDate:{default:void 0},graceRemaining:{default:void 0},onDismiss:{type:Function,default:void 0}},setup(e){const n=e,o=t.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 i=n.graceRemaining;return{severity:"warning",message:`Your CopilotKit license expires in ${i} ${i===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}}),a={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)"},r=t.computed(()=>{switch(o.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"}}}),s=t.computed(()=>({...a,...r.value}));return t.onMounted(()=>{typeof document>"u"||document.documentElement.style.setProperty(ho,`${wd}px`)}),t.onBeforeUnmount(()=>{typeof document>"u"||document.documentElement.style.removeProperty(ho)}),(i,l)=>o.value?(t.openBlock(),t.createElementBlock("div",{key:0,style:t.normalizeStyle(s.value),"data-testid":"copilot-license-banner"},[t.createElementVNode("span",null,t.toDisplayString(o.value.message),1),t.createElementVNode("div",kd,[t.createElementVNode("a",{href:o.value.actionUrl,target:"_blank",rel:"noopener noreferrer",style:{fontWeight:600,textDecoration:"underline",color:"inherit"}},t.toDisplayString(o.value.actionLabel),9,yd),n.onDismiss?(t.openBlock(),t.createElementBlock("button",{key:0,style:{background:"none",border:"none",cursor:"pointer",color:"inherit",fontSize:"16px"},onClick:l[0]||(l[0]=(...c)=>n.onDismiss&&n.onDismiss(...c))}," × ")):t.createCommentVNode("",!0)])],4)):t.createCommentVNode("",!0)}}),go="X-CopilotCloud-Public-Api-Key",Sd="https://api.cloud.copilotkit.ai/copilotkit/v1",Cd="frontendTools must be a stable array. If you want to dynamically add or remove tools, use `useFrontendTool` instead.",Td="humanInTheLoop must be a stable array. If you want to dynamically add or remove human-in-the-loop tools, use `useHumanInTheLoop` instead.",xd="renderCustomMessages must be a stable array.",Id="renderActivityMessages must be a stable array.",Ed="openGenerativeUI.sandboxFunctions must be a stable array.",vo="Human-in-the-loop interaction aborted",Rd=`When generating UI with generateSandboxedUi, follow these design principles inspired by shadcn/ui:
|
|
74
|
+
|
|
75
|
+
- Use a minimal, flat aesthetic. Avoid drop shadows and gradients — rely on subtle borders (1px solid, light gray like #e5e7eb) to define surfaces.
|
|
76
|
+
- Neutral base palette: white backgrounds, zinc/slate gray text (#09090b for headings, #71717a for secondary text). One accent color for interactive elements.
|
|
77
|
+
- Use system font stacks (system-ui, -apple-system, sans-serif) at readable sizes (14px body, 600 weight for headings). Tight line-heights.
|
|
78
|
+
- Small, consistent border-radius (6–8px). Cards and containers use border, not shadow, for separation.
|
|
79
|
+
- Buttons: solid fill for primary (dark bg, white text), outline for secondary (border + transparent bg). Subtle hover state (slight opacity or background shift).
|
|
80
|
+
- Use CSS Grid or Flexbox for layout. Ensure the UI looks good at any width.
|
|
81
|
+
- Minimal transitions (150ms) for hover/focus states only. No decorative animations.
|
|
82
|
+
- Keep the UI focused and dense — avoid excessive padding. Use compact spacing (8–12px gaps, 10–14px padding in controls).`,Ad=`Generate sandboxed UI. IMPORTANT: The generated code runs in a sandboxed iframe WITHOUT same-origin access. Do NOT use localStorage, sessionStorage, document.cookie, IndexedDB, or fetch/XMLHttpRequest to same-origin URLs. To communicate with the host application, use Websandbox.connection.remote.<functionName>(args) which returns a Promise.
|
|
83
|
+
|
|
84
|
+
You CAN use external libraries from CDNs by including <script> or <link> tags in the HTML <head> (e.g., Chart.js, D3, Three.js, x-data-spreadsheet, etc.). CDN resources load normally inside the sandbox.
|
|
85
|
+
|
|
86
|
+
PARAMETER ORDER IS CRITICAL — generate parameters in exactly this order:
|
|
87
|
+
1. initialHeight + placeholderMessages (shown to user while generating)
|
|
88
|
+
2. css (all styles FIRST — the user sees a placeholder until CSS is complete)
|
|
89
|
+
3. html (streams in live — the user watches the UI build as HTML is generated)
|
|
90
|
+
4. jsFunctions (reusable helper functions)
|
|
91
|
+
5. jsExpressions (applied one-by-one — the user sees each expression take effect)`,_d=t.defineComponent({__name:"CopilotKitProvider",props:{runtimeUrl:{},headers:{type:[Object,Function],default:()=>({})},credentials:{},messageFilter:{},defaultThrottleMs:{},publicApiKey:{},publicLicenseKey:{},licenseToken:{},properties:{default:()=>({})},useSingleEndpoint:{type:Boolean,default:void 0},agents__unsafe_dev_only:{default:()=>({})},selfManagedAgents:{default:()=>({})},renderToolCalls:{},renderActivityMessages:{default:()=>[]},renderCustomMessages:{default:()=>[]},frontendTools:{default:()=>[]},humanInTheLoop:{default:()=>[]},openGenerativeUI:{default:void 0},showDevConsole:{type:[Boolean,String]},enableInspector:{type:Boolean,default:void 0},onError:{},a2ui:{default:void 0},debug:{type:[Boolean,Object]}},setup(e){const n={},o=e,a=t.ref(!1);function r(){a.value=G.shouldEnableInspector({enableInspector:o.enableInspector,isBrowser:!0,isDevelopment:process.env.NODE_ENV==="development"})}t.onMounted(r),t.watch(()=>o.enableInspector,r);const s=t.ref(null),i=t.computed(()=>a.value);function l(U){s.value={...U}}t.provide(Nu,{isInspectorEnabled:i,openInspector:l});const c=o.frontendTools,u=o.humanInTheLoop,d=o.renderCustomMessages,h=o.renderActivityMessages,g=o.openGenerativeUI?.sandboxFunctions;t.watch(()=>o.frontendTools,U=>{U!==c&&console.error(Cd)}),t.watch(()=>o.humanInTheLoop,U=>{U!==u&&console.error(Td)}),t.watch(()=>o.renderCustomMessages,U=>{U!==d&&console.error(xd)}),t.watch(()=>o.renderActivityMessages,U=>{U!==h&&console.error(Id)}),t.watch(()=>o.openGenerativeUI?.sandboxFunctions,U=>{U!==g&&console.error(Ed)});const p=t.computed(()=>o.publicApiKey??o.publicLicenseKey),f=t.computed(()=>({...o.agents__unsafe_dev_only,...o.selfManagedAgents})),b=t.computed(()=>Object.keys(f.value).length>0),v=t.computed(()=>typeof o.headers=="function"?o.headers():o.headers),S=t.computed(()=>{const U=v.value;return!p.value||U[go]?U:{...U,[go]:p.value}}),m=t.computed(()=>o.runtimeUrl??(p.value?Sd:void 0));t.watch([m,p,b],([U,he,me])=>{if(U||he||me)return;const Ue="Missing required prop: 'runtimeUrl' or 'publicApiKey' or 'publicLicenseKey'";if(process.env.NODE_ENV==="production")throw new Error(Ue);console.warn(Ue)},{immediate:!0});const k=new Map,w=U=>{const he=k.get(U);if(he)return he.detachAbort?.(),k.delete(U),he},T=t.computed(()=>{const U=[],he=[];for(const me of o.humanInTheLoop)if(U.push({type:"human-in-the-loop",name:me.name,description:me.description,parameters:me.parameters,followUp:me.followUp,...me.agentId&&{agentId:me.agentId},handler:async(Ue,Ze)=>{const Se=Ze?.signal,ze=Ze?.toolCall?.id??me.name;return new Promise((je,Be)=>{if(Se?.aborted){Be(new Error(vo));return}const at={resolve:je};if(k.set(ze,at),Se){const st=()=>{k.delete(ze),Be(new Error(vo))};Se.addEventListener("abort",st,{once:!0}),at.detachAbort=()=>{Se.removeEventListener("abort",st)}}})}}),me.render){const Ue=me.render,Ze=Se=>{const ze=Se.toolCallId??me.name;return t.h(Ue,{...Se,name:me.name==="*"?Se.name:me.name,description:me.description||"",agentId:me.agentId,respond:Se.status===le.ToolCallStatus.Executing?async je=>{w(ze)?.resolve(je)}:void 0})};he.push({name:me.name,args:me.parameters??re.z.any(),render:Ze,...me.agentId&&{agentId:me.agentId}})}return{tools:U,renderToolCalls:he}}),y=t.computed(()=>{const U=[];for(const he of o.frontendTools)U.push(he);for(const he of M.value)U.push(he);return U.push(...T.value.tools),U}),A=t.computed(()=>{const U=[...o.renderToolCalls??[]];for(const he of[...o.frontendTools,...M.value])if(he.render){const me=he.parameters??(he.name==="*"?re.z.any():void 0);me&&U.push({name:he.name,args:me,render:he.render})}return U.push(...T.value.renderToolCalls),U}),I=t.computed(()=>o.renderCustomMessages??[]),_=t.ref(!1),z=t.ref(!1),O=t.ref(void 0),F=t.ref(void 0),j=t.ref(!1),x=t.computed(()=>z.value||!!o.openGenerativeUI),E=t.computed(()=>!!o.a2ui?.catalog),P=t.computed(()=>_.value||E.value),N=t.computed(()=>E.value?{...o.properties,a2uiCatalogAvailable:!0}:o.properties),B=t.computed(()=>o.openGenerativeUI?.sandboxFunctions??[]),ne=(U,he)=>Sn.zodToJsonSchema(U,he),M=t.computed(()=>x.value?[{name:"generateSandboxedUi",description:Ad,parameters:Zr,handler:async()=>"UI generated",followUp:!0,render:Wr}]:[]),Y=t.computed(()=>{const U=[{activityType:Nr,content:zr,render:Or}];return x.value&&U.push({activityType:Ur,content:jr,render:Gr}),P.value&&U.unshift(Fr({theme:o.a2ui?.theme??n,catalog:o.a2ui?.catalog,loadingComponent:o.a2ui?.loadingComponent})),U}),H=t.computed(()=>[...o.renderActivityMessages??[],...Y.value]),Q=U=>{o.defaultThrottleMs!==void 0&&(!Number.isFinite(o.defaultThrottleMs)||o.defaultThrottleMs<0)&&console.error(`CopilotKitProvider: defaultThrottleMs must be a non-negative finite number, got ${o.defaultThrottleMs}. useAgent hooks without an explicit throttleMs will fall back to unthrottled.`),U.setDefaultThrottleMs(o.defaultThrottleMs)},ue=()=>{const U=new Br({runtimeUrl:m.value,runtimeTransport:o.useSingleEndpoint===!0?"single":o.useSingleEndpoint===!1?"rest":"auto",headers:S.value,credentials:o.credentials,messageFilter:o.messageFilter,properties:N.value,agents__unsafe_dev_only:f.value,tools:y.value,renderToolCalls:A.value,renderActivityMessages:H.value,renderCustomMessages:I.value,debug:o.debug});return Q(U),U},X=t.shallowRef(ue()),ve=t.ref(!1),Ae=t.ref(new Set);t.watch(X,(U,he,me)=>{const Ue=U.subscribe({onToolExecutionStart:({toolCallId:Be})=>{Ae.value=new Set(Ae.value).add(Be)},onToolExecutionEnd:({toolCallId:Be})=>{setTimeout(()=>{const at=new Set(Ae.value);at.delete(Be),Ae.value=at,t.triggerRef(X)},0)}}),Ze=U.subscribe({onRenderToolCallsChanged:()=>{t.triggerRef(X)}}),Se=U.subscribe({onRenderCustomMessagesChanged:()=>{t.triggerRef(X)}}),ze=U.subscribe({onRuntimeConnectionStatusChanged:()=>{_.value=U.a2uiEnabled,z.value=U.openGenerativeUIEnabled,O.value=U.licenseStatus,F.value=U.runtimeEntitlements,j.value=U.runtimeEntitlementRetryPending,t.triggerRef(X)}}),je=U.subscribe({onError:Be=>{o.onError?.({error:Be.error,code:Be.code,context:Be.context})}});me(()=>{Ue.unsubscribe(),Ze.unsubscribe(),Se.unsubscribe(),ze.unsubscribe(),je.unsubscribe()})},{immediate:!0}),t.watch([y],([U])=>{ve.value&&X.value.setTools(U)}),t.watch([A],([U])=>{ve.value&&X.value.setRenderToolCalls(U)}),t.watch([I],([U])=>{ve.value&&(X.value.setRenderCustomMessages(U),t.triggerRef(X))}),t.watch([H],([U])=>{ve.value&&(X.value.setRenderActivityMessages(U),t.triggerRef(X))});function Ne(){X.value.setRuntimeUrl(m.value),X.value.setRuntimeTransport(o.useSingleEndpoint===!0?"single":o.useSingleEndpoint===!1?"rest":"auto"),X.value.setHeaders(S.value),X.value.setCredentials(o.credentials),X.value.setMessageFilter(o.messageFilter),X.value.setProperties(N.value),X.value.setAgents__unsafe_dev_only(f.value),X.value.setDebug(o.debug),Q(X.value)}t.watch([()=>m.value,()=>S.value,()=>o.credentials,()=>o.messageFilter,()=>N.value,()=>f.value,()=>o.useSingleEndpoint,()=>o.debug],()=>{ve.value&&Ne()}),t.watch(()=>o.defaultThrottleMs,()=>{ve.value&&(Q(X.value),t.triggerRef(X))}),t.onMounted(()=>{Ne(),_.value=X.value.a2uiEnabled,z.value=X.value.openGenerativeUIEnabled,O.value=X.value.licenseStatus,F.value=X.value.runtimeEntitlements,j.value=X.value.runtimeEntitlementRetryPending,ve.value=!0});const Ye=t.computed(()=>o.a2ui?.theme),Qe=t.computed(()=>o.a2ui?.catalog),Ve=t.computed(()=>o.a2ui?.loadingComponent),et=t.computed(()=>o.a2ui?.includeSchema??!0);Uu(X,()=>P.value),hd(X,{enabled:()=>P.value,catalog:()=>o.a2ui?.catalog,includeSchema:()=>o.a2ui?.includeSchema??!0});const Je=t.ref([]);t.watch([x,B,()=>o.openGenerativeUI?.designSkill],([U,he,me],Ue,Ze)=>{if(!U)return;const Se=[];if(Se.push(X.value.addContext({description:"Design guidelines for the generateSandboxedUi tool. Follow these when building UI.",value:me??Rd})),he.length>0){const ze=JSON.stringify(he.map(je=>({name:je.name,description:je.description,parameters:G.schemaToJsonSchema(je.parameters,{zodToJsonSchema:ne})})));Se.push(X.value.addContext({description:"Sandbox functions available in generated sandboxed UI code. Call via Websandbox.connection.remote.<functionName>(args).",value:ze}))}Je.value=Se,Ze(()=>{for(const ze of Se)X.value.removeContext(ze)})},{immediate:!0}),t.provide($r,{copilotkit:X,executingToolCallIds:Ae,a2uiTheme:Ye,a2uiCatalog:Qe,a2uiLoadingComponent:Ve,a2uiIncludeSchema:et}),t.provide(Mr,B);const Le=t.computed(()=>F.value?.status!=="ready"&&F.value?.error.retryable===!0),ke=t.computed(()=>F.value!==void 0&&F.value.status!=="ready"),V=t.computed(()=>O.value==="valid"||O.value==="expiring"),se=t.computed(()=>Le.value&&j.value&&!V.value),Ie=t.computed(()=>ke.value&&!se.value&&!V.value),Xe=t.computed(()=>{const U=G.createLicenseContextValue(se.value?void 0:O.value,F.value);return Ie.value?{...U,checkFeature:()=>!1,getLimit:()=>null}:U});t.provide(Dn,Xe);const Ee=t.computed(()=>se.value?void 0:Xe.value.status??void 0),lt=t.computed(()=>Ee.value==="none"&&!p.value),ct=t.computed(()=>Ee.value==="expired"),ut=t.computed(()=>Ee.value==="invalid"),gt=t.computed(()=>Ee.value==="expiring");return(U,he)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.renderSlot(U.$slots,"default"),a.value?(t.openBlock(),t.createBlock(_r,{key:0,core:X.value,"open-request":s.value},null,8,["core","open-request"])):t.createCommentVNode("",!0),lt.value?(t.openBlock(),t.createBlock(Zt,{key:1,type:"no_license"})):t.createCommentVNode("",!0),ct.value?(t.openBlock(),t.createBlock(Zt,{key:2,type:"expired"})):t.createCommentVNode("",!0),ut.value?(t.openBlock(),t.createBlock(Zt,{key:3,type:"invalid"})):t.createCommentVNode("",!0),gt.value?(t.openBlock(),t.createBlock(Zt,{key:4,type:"expiring"})):t.createCommentVNode("",!0)],64))}}),ot={chatInputPlaceholder:"Type a message...",chatInputToolbarStartTranscribeButtonLabel:"Transcribe",chatInputToolbarCancelTranscribeButtonLabel:"Cancel",chatInputToolbarFinishTranscribeButtonLabel:"Finish",chatInputToolbarAddButtonLabel:"Add photos or files",chatInputToolbarToolsButtonLabel:"Tools",assistantMessageToolbarCopyCodeLabel:"Copy",assistantMessageToolbarCopyCodeCopiedLabel:"Copied",assistantMessageToolbarCopyMessageLabel:"Copy",assistantMessageToolbarThumbsUpLabel:"Good response",assistantMessageToolbarThumbsDownLabel:"Bad response",assistantMessageToolbarReadAloudLabel:"Read aloud",assistantMessageToolbarRegenerateLabel:"Regenerate",userMessageToolbarCopyMessageLabel:"Copy",userMessageToolbarEditMessageLabel:"Edit",chatDisclaimerText:"AI can make mistakes. Please verify important information.",chatToggleOpenLabel:"Open chat",chatToggleCloseLabel:"Close chat",modalHeaderTitle:"CopilotKit Chat",welcomeMessageText:"How can I help you today?"};function $d(e,n){const o=Object.keys(e),a=Object.keys(n);if(o.length!==a.length)return!1;for(const r of o)if(e[r]!==n[r])return!1;return!0}function bo(e){return e!==null&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"}function qr(e){const n=t.shallowRef(t.toValue(e));return t.watch(()=>t.toValue(e),o=>{const a=n.value;a!==o&&(bo(a)&&bo(o)&&$d(a,o)||(n.value=o))},{immediate:!0}),n}const Jr="(max-width: 767px)";function ko(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia(Jr).matches}const an=t.defineComponent({__name:"CopilotChatConfigurationProvider",props:{labels:{},agentId:{},threadId:{},hasExplicitThreadId:{type:Boolean,default:void 0},isModalDefaultOpen:{type:Boolean,default:void 0}},setup(e){const n=e,o=t.inject(bn,null),a=t.computed(()=>o?.value??null),r=t.computed(()=>n.threadId!==void 0&&n.hasExplicitThreadId!==!1),s=t.ref(null),i=qr(t.computed(()=>n.labels)),l=t.computed(()=>({...ot,...a.value?.labels,...i.value})),c=t.computed(()=>n.agentId??a.value?.agentId??G.DEFAULT_AGENT_ID),u=G.randomUUID(),d=t.computed(()=>r.value?n.threadId:s.value?s.value.threadId:n.threadId?n.threadId:a.value?.threadId?a.value.threadId:u),h=t.computed(()=>r.value?!0:(s.value?s.value.explicit:n.hasExplicitThreadId!==void 0?n.hasExplicitThreadId:!!n.threadId)||!!a.value?.hasExplicitThreadId),g=t.computed(()=>n.isModalDefaultOpen!==void 0),p=t.computed(()=>n.isModalDefaultOpen??!0),f=t.ref(a.value?.isModalOpen??p.value);function b(x){f.value=x}const v=t.computed(()=>g.value?f.value:a.value?.isModalOpen),S=t.computed(()=>g.value?b:a.value?.setModalOpen);function m(x,E){if(r.value){console.warn("[CopilotKit] Ignoring setActiveThreadId(): threadId is controlled via the `threadId` prop on CopilotChatConfigurationProvider.");return}s.value={threadId:x,explicit:E?.explicit??!0}}function k(){if(r.value){console.warn("[CopilotKit] Ignoring startNewThread(): threadId is controlled via the `threadId` prop on CopilotChatConfigurationProvider.");return}s.value={threadId:G.randomUUID(),explicit:!1}}const w=t.ref(!1),T=t.ref(0);function y(x){w.value=x,x&&ko()&&S.value?.(!1)}function A(){return T.value+=1,()=>{T.value=Math.max(0,T.value-1)}}const I=t.computed(()=>a.value?a.value.drawerOpen:w.value),_=t.computed(()=>a.value?a.value.setDrawerOpen:y),z=t.computed(()=>a.value?a.value.drawerRegistered:T.value>0),O=t.computed(()=>a.value?a.value.registerDrawer:A),F=t.computed(()=>{const x=S.value;if(x)return E=>{E&&ko()&&_.value?.(!1),x(E)}}),j=t.computed(()=>({labels:l.value,agentId:c.value,threadId:d.value,hasExplicitThreadId:h.value,isModalOpen:v.value,setModalOpen:F.value,drawerOpen:I.value,setDrawerOpen:_.value,drawerRegistered:z.value,registerDrawer:O.value,setActiveThreadId:m,startNewThread:k}));return t.provide(bn,j),(x,E)=>t.renderSlot(x.$slots,"default")}});function Ot(){const e=t.inject(Dn,Kr(),!0);return t.computed(()=>e.value)}function Re(){const e=t.inject(bn,void 0);return t.computed(()=>e?.value??null)}const Xr=t.defineComponent({name:"A2UIDeferredChild",props:{surface:{type:Object,required:!0},id:{type:String,required:!0},basePath:{type:String,required:!0}},setup(e){const n=t.ref(0),o=e.surface.componentsModel.onCreated.subscribe(s=>{s.id===e.id&&n.value++}),a=e.surface.componentsModel.onDeleted.subscribe(s=>{s===e.id&&n.value++});t.onUnmounted(()=>{o.unsubscribe(),a.unsubscribe()});function r(s,i){const l=i||e.basePath;return t.h(Xr,{key:`${s}-${l}`,surface:e.surface,id:s,basePath:l})}return()=>{n.value;const s=e.surface.componentsModel.get(e.id);if(!s)return t.h("div",{style:{padding:"12px 16px",borderRadius:"8px",background:"linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 50%, #f3f4f6 75%)",backgroundSize:"200% 100%",animation:"a2ui-shimmer 1.5s ease-in-out infinite",minHeight:"2rem"},innerHTML:"<style>@keyframes a2ui-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }</style>"});const i=e.surface.catalog.components.get(s.type);if(!i)return t.h("div",{style:{color:"red"}},`Unknown component: ${s.type}`);const l=new Xt.ComponentContext(e.surface,e.id,e.basePath);return t.h(i.render,{context:l,buildChild:r})}}}),Md=t.defineComponent({name:"A2uiSurface",props:{surface:{type:Object,required:!0}},setup(e){return()=>t.h(Xr,{surface:e.surface,id:"root",basePath:"/"})}}),Nd=["data-activity-type","data-message-id"],zd={key:0,class:"cpk:rounded-lg cpk:border cpk:border-red-200 cpk:bg-red-50 cpk:p-3 cpk:text-sm cpk:text-red-700"},Od={key:1,class:"cpk:flex cpk:min-h-0 cpk:flex-1 cpk:flex-col cpk:gap-6 cpk:overflow-auto cpk:py-6","data-testid":"a2ui-activity-renderer"},Bd=["data-surface-id"],Fd={class:"a2ui-surface cpk:flex cpk:flex-1"},yo="default",Yr=t.defineComponent({__name:"A2UISurfaceActivityRenderer",props:{activityType:{},content:{},message:{},agent:{},theme:{},catalog:{}},setup(e){const n=e,{copilotkit:o}=Pe(),a=t.shallowRef(null),r=t.ref(0),s=t.ref(null);let i="";function l(){if(!a.value){const g=n.catalog??yt;a.value=new Xt.MessageProcessor([g],p=>{c(p)})}return a.value}async function c(g){if(n.agent)try{o.value.setProperties({...o.value.properties??{},a2uiAction:g}),await o.value.runAgent({agent:n.agent})}finally{const{a2uiAction:p,...f}=o.value.properties??{};o.value.setProperties(f)}}function u(g){if(!g?.length)return;const p=JSON.stringify(g);if(p===i)return;i=p;const f=l();try{const b=new Map;for(const v of g){const S=kn(v)??yo;b.has(S)||b.set(S,[]),b.get(S).push(v)}for(const[v,S]of b){const k=f.model.getSurface(v)?S.filter(w=>!w?.createSurface):S;f.processMessages(k)}s.value=null}catch(b){console.warn("[A2UI Vue] processMessages error:",b),s.value=b instanceof Error?b.message:String(b)}r.value++}t.watch(()=>[n.content.operations,n.theme,n.catalog,n.agent],()=>{u(n.content.operations)},{deep:!0,immediate:!0}),t.onBeforeUnmount(()=>{a.value=null,i=""});const d=t.computed(()=>(n.content.operations??[]).length>0),h=t.computed(()=>{if(r.value,!a.value)return[];const g=[],p=new Map;for(const f of n.content.operations??[]){const b=kn(f)??yo;p.has(b)||p.set(b,[]),p.get(b).push(f)}for(const[f]of p){const b=a.value.model.getSurface(f);b&&g.push({surfaceId:f,surface:b})}return g});return(g,p)=>d.value?(t.openBlock(),t.createElementBlock("div",{key:0,"data-copilotkit":"","data-activity-type":e.activityType,"data-message-id":e.message.id},[s.value?(t.openBlock(),t.createElementBlock("div",zd," A2UI render error: "+t.toDisplayString(s.value),1)):(t.openBlock(),t.createElementBlock("div",Od,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,f=>(t.openBlock(),t.createElementBlock("div",{key:f.surfaceId,class:"cpk:flex cpk:w-full cpk:flex-none cpk:flex-col cpk:gap-4","data-surface-id":f.surfaceId},[t.createElementVNode("div",Fd,[t.createVNode(t.unref(Md),{surface:f.surface},null,8,["surface"])])],8,Bd))),128))]))],8,Nd)):t.createCommentVNode("",!0)}});function Pn(e,n){return e.find(o=>o.role==="tool"&&o.toolCallId===n)}function Dd(e){return`tool-call-${e}`}function Qr(e,n,o){const a=n.filter(r=>r.name===e.function.name);return a.find(r=>r.agentId===o)??a.find(r=>!r.agentId)??a[0]??n.find(r=>r.name==="*")}function Pd(e,n,o){const a=Pn(n,e.id),r=G.partialJSONParse(e.function.arguments);if(a)return{name:e.function.name,args:r,status:le.ToolCallStatus.Complete,result:No.contentToText(a.content),toolCall:e,toolMessage:a};const s=o.has(e.id);return{name:e.function.name,args:r,status:s?le.ToolCallStatus.Executing:le.ToolCallStatus.InProgress,result:void 0,toolCall:e,toolMessage:void 0}}function Vd(e,n,o){const a=Pn(n,e.id),r=G.partialJSONParse(e.function.arguments);return a?{name:e.function.name,toolCallId:e.id,args:r,status:le.ToolCallStatus.Complete,result:No.contentToText(a.content)}:o.has(e.id)?{name:e.function.name,toolCallId:e.id,args:r,status:le.ToolCallStatus.Executing,result:void 0}:{name:e.function.name,toolCallId:e.id,args:r&&typeof r=="object"?r:{},status:le.ToolCallStatus.InProgress,result:void 0}}function Ld(e,n,o,a,r=G.DEFAULT_AGENT_ID){return[e.id,e.function.name,e.function.arguments,Pn(n,e.id)?.content,o.has(e.id),Qr(e,a,r)?.render]}const Ud=t.defineComponent({__name:"CopilotChatToolCallItem",props:{toolCall:{},messages:{default:()=>[]}},setup(e){const n=e,{copilotkit:o,executingToolCallIds:a}=Pe(),r=Re();function s(){return Pd(n.toolCall,n.messages,a.value)}function i(){return Vd(n.toolCall,n.messages,a.value)}function l(){const u=r.value?.agentId??G.DEFAULT_AGENT_ID;return Qr(n.toolCall,o.value.renderToolCalls,u)}function c(){const u=r.value?.agentId??G.DEFAULT_AGENT_ID;return Ld(n.toolCall,n.messages,a.value,o.value.renderToolCalls,u)}return(u,d)=>t.renderSlot(u.$slots,t.unref(Dd)(e.toolCall.function.name),t.normalizeProps(t.guardReactiveProps(s())),()=>[t.renderSlot(u.$slots,"tool-call",t.normalizeProps(t.guardReactiveProps(s())),()=>[l()?t.withMemo(c(),()=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l()?.render),t.normalizeProps(t.mergeProps({key:0},i())),null,16)),d,0):t.createCommentVNode("",!0)])])}}),es=t.defineComponent({__name:"CopilotChatToolCallsView",props:{message:{},messages:{default:()=>[]}},setup(e){const n=t.useSlots();function o(){return Object.keys(n)}return(a,r)=>(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.message.toolCalls??[],s=>(t.openBlock(),t.createBlock(Ud,{key:s.id,"tool-call":s,messages:e.messages},t.createSlots({_:2},[t.renderList(o(),i=>({name:i,fn:t.withCtx(l=>[t.renderSlot(a.$slots,i,t.mergeProps({ref_for:!0},l??{}))])}))]),1032,["tool-call","messages"]))),128))}});let wo=!1;function ts(){t.onMounted(()=>{if(wo||typeof document>"u")return;wo=!0,import("katex/dist/katex.min.css").catch(()=>{console.warn("[CopilotKit] Failed to load katex styles — math content may render without formatting")})})}const jd=["data-message-id"],Zd={class:"cpk:w-full cpk:bg-transparent cpk:flex cpk:items-center cpk:-ml-[5px] cpk:-mt-[0px]"},Hd={class:"cpk:flex cpk:items-center cpk:gap-1"},Gd=["aria-label","title"],Wd=["aria-label","title"],Kd=["aria-label","title"],qd=["aria-label","title"],Jd=["aria-label","title"],So="cpk:cursor-pointer cpk:p-1 cpk:text-muted-foreground cpk:transition-all cpk:hover:text-foreground cpk:disabled:cursor-not-allowed cpk:disabled:opacity-50",Co="cpk:absolute cpk:top-full cpk:right-0 cpk:z-10 cpk:mt-1 cpk:min-w-[120px] cpk:overflow-hidden cpk:rounded-md cpk:border cpk:border-border cpk:bg-background cpk:shadow-lg",Ht="cpk:w-full cpk:px-3 cpk:py-2 cpk:text-left cpk:text-sm cpk:transition-colors cpk:hover:bg-muted/40",To="cpk:cursor-pointer cpk:p-1 cpk:text-muted-foreground cpk:transition-all cpk:hover:text-foreground cpk:disabled:cursor-not-allowed cpk:disabled:opacity-50",ns=t.defineComponent({__name:"CopilotChatAssistantMessage",props:{message:{},messages:{default:()=>[]},isRunning:{type:Boolean,default:!1},toolbarVisible:{type:Boolean,default:!0},onThumbsUp:{},onThumbsDown:{},onReadAloud:{},onRegenerate:{}},emits:["thumbs-up","thumbs-down","read-aloud","regenerate"],setup(e,{emit:n}){ts();const o=e,a=n,r=Re(),s=t.computed(()=>r.value?.labels??ot),i=t.ref(!1);let l=null;const c=["cpk:inline-flex cpk:h-8 cpk:w-8 cpk:items-center cpk:justify-center cpk:rounded-md cpk:p-0","cpk:cursor-pointer cpk:text-[rgb(93,93,93)] cpk:transition-colors cpk:hover:bg-[#E8E8E8]","cpk:hover:text-[rgb(93,93,93)] cpk:dark:text-[rgb(243,243,243)] cpk:dark:hover:bg-[#303030]","cpk:dark:hover:text-[rgb(243,243,243)] cpk:disabled:pointer-events-none cpk:disabled:opacity-50"].join(" ");function u(M,Y){try{const Q=new URL(M,"https://copilotkit.local").pathname.split("/").filter(Boolean).pop();if(Q)return decodeURIComponent(Q)}catch{return Y}return Y}function d(M,Y){if(typeof document>"u")return;const H=document.createElement("a");H.href=M,H.download=Y,H.rel="noopener noreferrer",document.body.appendChild(H),H.click(),document.body.removeChild(H)}function h(M){const Y=Array.from(M.querySelectorAll("thead th")).map(Q=>(Q.textContent??"").trim()),H=Array.from(M.querySelectorAll("tbody tr")).map(Q=>Array.from(Q.querySelectorAll("td")).map(ue=>(ue.textContent??"").trim()));return{headers:Y,rows:H}}function g(M,Y){const H=ue=>{const X=ue.includes(Y)||ue.includes('"')||ue.includes(`
|
|
92
|
+
`),ve=ue.replace(/"/g,'""');return X?`"${ve}"`:ve},Q=[];M.headers.length>0&&Q.push(M.headers.map(H).join(Y));for(const ue of M.rows)Q.push(ue.map(H).join(Y));return Q.join(`
|
|
93
|
+
`)}function p(M){if(M.headers.length===0)return M.rows.map(Q=>`| ${Q.join(" | ")} |`).join(`
|
|
94
|
+
`);const Y=`| ${M.headers.map(()=>"---").join(" | ")} |`,H=M.rows.map(Q=>`| ${Q.join(" | ")} |`);return[`| ${M.headers.join(" | ")} |`,Y,...H].join(`
|
|
95
|
+
`)}function f(M,Y,H){if(typeof document>"u")return;const Q=new Blob([M],{type:H}),ue=URL.createObjectURL(Q);d(ue,Y),URL.revokeObjectURL(ue)}const b=t.defineComponent({name:"CopilotMarkdownImage",inheritAttrs:!1,props:{src:{type:String,default:""},alt:{type:String,default:""}},setup(M,{attrs:Y}){async function H(){if(!M.src)return;const Q=u(M.src,"image");try{const ue=await fetch(M.src);if(!ue.ok)throw new Error("Failed to fetch image");const X=await ue.blob(),ve=URL.createObjectURL(X);d(ve,Q),URL.revokeObjectURL(ve)}catch{d(M.src,Q)}}return()=>{const Q={...Y,src:M.src,alt:M.alt,class:["cpk:max-w-full cpk:rounded-lg",Y.class].filter(Boolean).join(" "),"data-streamdown":"image"};return delete Q.className,t.h("div",{class:"cpk:group cpk:relative cpk:my-4 cpk:inline-block","data-streamdown":"image-wrapper"},[t.h("img",Q),t.h("div",{class:"cpk:pointer-events-none cpk:absolute cpk:inset-0 cpk:hidden cpk:rounded-lg cpk:bg-black/10 cpk:group-hover:block"}),t.h("button",{type:"button",class:"cpk:absolute cpk:right-2 cpk:bottom-2 cpk:flex cpk:h-8 cpk:w-8 cpk:cursor-pointer cpk:items-center cpk:justify-center cpk:rounded-md cpk:border cpk:border-border cpk:bg-background/90 cpk:shadow-sm cpk:backdrop-blur-sm cpk:transition-all cpk:duration-200 cpk:hover:bg-background cpk:opacity-0 cpk:group-hover:opacity-100",title:"Download image",onClick:H},[t.h(fe.Download,{class:"cpk:size-[14px]"})])])}}}),v=t.defineComponent({name:"CopilotMarkdownTable",inheritAttrs:!1,setup(M,{attrs:Y,slots:H}){const Q=t.ref(null),ue=t.ref(!1),X=t.ref(!1),ve=t.ref(!1);let Ae=null;const Ne=()=>{ue.value=!1,X.value=!1},Ye=()=>{Ae&&clearTimeout(Ae),ve.value=!0,Ae=setTimeout(()=>{ve.value=!1,Ae=null},2e3)},Qe=()=>Q.value?Q.value.querySelector("table"):null,Ve=()=>{const ke=Qe();return ke?h(ke):null},et=async ke=>{const V=Ve();if(!V)return;const Ie=g(V,ke==="csv"?",":" ");if(typeof navigator<"u"&&navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(Ie)}catch{return}Ne(),Ye()},Je=ke=>{const V=Ve();V&&(ke==="csv"?f(g(V,","),"table.csv","text/csv"):f(p(V),"table.md","text/markdown"),Ne())},Le=ke=>{if(!Q.value)return;const V=ke.target;V&&!Q.value.contains(V)&&Ne()};return t.onMounted(()=>{typeof document<"u"&&document.addEventListener("mousedown",Le)}),t.onBeforeUnmount(()=>{Ae&&clearTimeout(Ae),typeof document<"u"&&document.removeEventListener("mousedown",Le)}),()=>{const ke={...Y,class:["cpk:w-full cpk:border-collapse cpk:border cpk:border-border",Y.class].filter(Boolean).join(" "),"data-streamdown":"table"};return delete ke.className,t.h("div",{ref:Q,class:"cpk:my-4 cpk:flex cpk:flex-col cpk:space-y-2","data-streamdown":"table-wrapper"},[t.h("div",{class:"cpk:flex cpk:items-center cpk:justify-end cpk:gap-1"},[t.h("div",{class:"cpk:relative"},[t.h("button",{type:"button",class:So,title:"Copy table",onClick:()=>{ue.value=!ue.value,X.value=!1}},[ve.value?t.h(fe.Check,{class:"cpk:size-[14px]"}):t.h(fe.Copy,{class:"cpk:size-[14px]"})]),ue.value?t.h("div",{class:Co},[t.h("button",{type:"button",class:Ht,title:"Copy table as CSV",onClick:()=>et("csv")},"CSV"),t.h("button",{type:"button",class:Ht,title:"Copy table as TSV",onClick:()=>et("tsv")},"TSV")]):null]),t.h("div",{class:"cpk:relative"},[t.h("button",{type:"button",class:So,title:"Download table",onClick:()=>{X.value=!X.value,ue.value=!1}},[t.h(fe.Download,{class:"cpk:size-[14px]"})]),X.value?t.h("div",{class:Co},[t.h("button",{type:"button",class:Ht,title:"Download table as CSV",onClick:()=>Je("csv")},"CSV"),t.h("button",{type:"button",class:Ht,title:"Download table as Markdown",onClick:()=>Je("markdown")},"Markdown")]):null])]),t.h("div",{class:"cpk:overflow-x-auto"},[t.h("table",ke,H.default?H.default():[])])])}}}),S={javascript:"js",js:"js",typescript:"ts",ts:"ts",json:"json",vue:"vue",html:"html",css:"css",md:"md",markdown:"md",sh:"sh",bash:"sh",py:"py",python:"py",go:"go",rust:"rs",rs:"rs"},m=t.defineComponent({name:"CopilotCodeBlockCopyAction",props:{code:{type:String,default:""}},setup(M){const Y=t.ref(!1);let H=null;const Q=async()=>{if(M.code){if(typeof navigator<"u"&&navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(M.code)}catch{return}H&&clearTimeout(H),Y.value=!0,H=setTimeout(()=>{Y.value=!1,H=null},2e3)}};return t.onBeforeUnmount(()=>{H&&clearTimeout(H)}),()=>t.h("button",{type:"button",class:To,title:"Copy Code","data-streamdown":"code-block-copy-button",onClick:Q},[Y.value?t.h(fe.Check,{class:"cpk:size-[14px]"}):t.h(fe.Copy,{class:"cpk:size-[14px]"})])}}),k=t.defineComponent({name:"CopilotCodeBlockDownloadAction",props:{code:{type:String,default:""},language:{type:String,default:""}},setup(M){const Y=()=>{if(!M.code)return;const H=S[M.language.toLowerCase()]??"txt";f(M.code,`file.${H}`,"text/plain")};return()=>t.h("button",{type:"button",class:To,title:"Download file","data-streamdown":"code-block-download-button",onClick:Y},[t.h(fe.Download,{class:"cpk:size-[14px]"})])}}),w={img:b,table:v};function T(M){return M?typeof M=="string"?M:Array.isArray(M)?M.map(H=>H&&typeof H=="object"&&"type"in H&&H.type==="text"&&typeof H.text=="string"?H.text:"").filter(H=>H.length>0).join(`
|
|
96
|
+
`):"":""}const y=t.computed(()=>T(o.message.content)),A=t.computed(()=>y.value.trim().length>0),I=t.computed(()=>typeof o.onThumbsUp=="function"),_=t.computed(()=>typeof o.onThumbsDown=="function"),z=t.computed(()=>typeof o.onReadAloud=="function"),O=t.computed(()=>typeof o.onRegenerate=="function"),F=t.computed(()=>o.messages[o.messages.length-1]?.id===o.message.id),j=t.computed(()=>o.toolbarVisible&&A.value&&!(o.isRunning&&F.value));function x(){l&&clearTimeout(l),i.value=!0,l=setTimeout(()=>{i.value=!1,l=null},2e3)}async function E(){const M=y.value;if(M&&!(typeof navigator>"u"||typeof navigator.clipboard?.writeText!="function"))try{await navigator.clipboard.writeText(M),x()}catch(Y){console.error("Failed to copy to clipboard:",Y)}}function P(){a("thumbs-up",o.message)}function N(){a("thumbs-down",o.message)}function B(){a("read-aloud",o.message)}function ne(){a("regenerate",o.message)}return t.onBeforeUnmount(()=>{l&&clearTimeout(l)}),(M,Y)=>t.renderSlot(M.$slots,"layout",{message:e.message,content:y.value,isRunning:e.isRunning,toolbarVisible:e.toolbarVisible,shouldShowToolbar:j.value,messageRenderer:M.$slots["message-renderer"]??(()=>null),toolbar:M.$slots.toolbar??(()=>null),copyButton:M.$slots["copy-button"]??(()=>null),thumbsUpButton:M.$slots["thumbs-up-button"]??(()=>null),thumbsDownButton:M.$slots["thumbs-down-button"]??(()=>null),readAloudButton:M.$slots["read-aloud-button"]??(()=>null),regenerateButton:M.$slots["regenerate-button"]??(()=>null),toolCallsView:M.$slots["tool-calls-view"]??(()=>null),onCopy:E,onThumbsUp:P,onThumbsDown:N,onReadAloud:B,onRegenerate:ne},()=>[t.createElementVNode("div",t.mergeProps({"data-copilotkit":"","data-testid":"copilot-assistant-message",class:"cpk:prose cpk:max-w-full cpk:break-words cpk:dark:prose-invert","data-message-id":e.message.id},M.$attrs),[t.renderSlot(M.$slots,"message-renderer",{message:e.message,content:y.value},()=>[A.value?(t.openBlock(),t.createBlock(t.unref(Mo.StreamMarkdown),{key:0,class:"copilot-chat-assistant-markdown",content:y.value,components:w,"code-block-actions":[t.unref(k),t.unref(m)],"code-block-show-line-numbers":!1,"code-block-hide-copy":!0,"code-block-hide-download":!0,"allowed-link-prefixes":["https://","http://","#","/","./","../"],"shiki-theme":{light:"github-light",dark:"github-dark"}},null,8,["content","code-block-actions"])):t.createCommentVNode("",!0)]),t.renderSlot(M.$slots,"tool-calls-view",{message:e.message,messages:e.messages},()=>[t.createVNode(es,{message:e.message,messages:e.messages},t.createSlots({_:2},[t.renderList(M.$slots,(H,Q)=>({name:Q,fn:t.withCtx(ue=>[t.renderSlot(M.$slots,Q,t.normalizeProps(t.guardReactiveProps(ue)))])}))]),1032,["message","messages"])]),j.value?t.renderSlot(M.$slots,"toolbar",{key:0,message:e.message,shouldShowToolbar:j.value},()=>[t.createElementVNode("div",Zd,[t.createElementVNode("div",Hd,[t.renderSlot(M.$slots,"copy-button",{onCopy:E,copied:i.value,label:s.value.assistantMessageToolbarCopyMessageLabel},()=>[t.createElementVNode("button",{"data-testid":"copilot-copy-button",type:"button",class:t.normalizeClass(t.unref(c)),"aria-label":s.value.assistantMessageToolbarCopyMessageLabel,title:s.value.assistantMessageToolbarCopyMessageLabel,onClick:E},[i.value?(t.openBlock(),t.createBlock(t.unref(fe.Check),{key:0,class:"cpk:size-[18px]"})):(t.openBlock(),t.createBlock(t.unref(fe.Copy),{key:1,class:"cpk:size-[18px]"}))],10,Gd)]),I.value||M.$slots["thumbs-up-button"]?t.renderSlot(M.$slots,"thumbs-up-button",{key:0,onThumbsUp:P,label:s.value.assistantMessageToolbarThumbsUpLabel},()=>[t.createElementVNode("button",{type:"button",class:t.normalizeClass(t.unref(c)),"aria-label":s.value.assistantMessageToolbarThumbsUpLabel,title:s.value.assistantMessageToolbarThumbsUpLabel,onClick:P},[t.createVNode(t.unref(fe.ThumbsUp),{class:"cpk:size-[18px]"})],10,Wd)]):t.createCommentVNode("",!0),_.value||M.$slots["thumbs-down-button"]?t.renderSlot(M.$slots,"thumbs-down-button",{key:1,onThumbsDown:N,label:s.value.assistantMessageToolbarThumbsDownLabel},()=>[t.createElementVNode("button",{type:"button",class:t.normalizeClass(t.unref(c)),"aria-label":s.value.assistantMessageToolbarThumbsDownLabel,title:s.value.assistantMessageToolbarThumbsDownLabel,onClick:N},[t.createVNode(t.unref(fe.ThumbsDown),{class:"cpk:size-[18px]"})],10,Kd)]):t.createCommentVNode("",!0),z.value||M.$slots["read-aloud-button"]?t.renderSlot(M.$slots,"read-aloud-button",{key:2,onReadAloud:B,label:s.value.assistantMessageToolbarReadAloudLabel},()=>[t.createElementVNode("button",{type:"button",class:t.normalizeClass(t.unref(c)),"aria-label":s.value.assistantMessageToolbarReadAloudLabel,title:s.value.assistantMessageToolbarReadAloudLabel,onClick:B},[t.createVNode(t.unref(fe.Volume2),{class:"cpk:size-[20px]"})],10,qd)]):t.createCommentVNode("",!0),O.value||M.$slots["regenerate-button"]?t.renderSlot(M.$slots,"regenerate-button",{key:3,onRegenerate:ne,label:s.value.assistantMessageToolbarRegenerateLabel},()=>[t.createElementVNode("button",{type:"button",class:t.normalizeClass(t.unref(c)),"aria-label":s.value.assistantMessageToolbarRegenerateLabel,title:s.value.assistantMessageToolbarRegenerateLabel,onClick:ne},[t.createVNode(t.unref(fe.RefreshCw),{class:"cpk:size-[18px]"})],10,Jd)]):t.createCommentVNode("",!0),t.renderSlot(M.$slots,"toolbar-items")])])]):t.createCommentVNode("",!0)],16,jd)])}});class bt extends Error{constructor(n){super(n),this.name="AudioRecorderError"}}const os=t.defineComponent({inheritAttrs:!1,__name:"CopilotChatAudioRecorder",setup(e,{expose:n}){const o=t.useAttrs(),a=t.ref(null),r=t.ref("idle"),s=t.ref(null),i=t.ref(null),l=t.ref(null),c=t.ref(null),u=t.ref(null),d=t.ref([]),h=t.ref([]),g=t.ref(0),p=t.ref(0),f=t.ref(0);function b(){u.value!==null&&(cancelAnimationFrame(u.value),u.value=null);const w=s.value;if(w&&w.state!=="inactive")try{w.stop()}catch{}i.value&&(i.value.getTracks().forEach(y=>y.stop()),i.value=null);const T=c.value;T&&T.state!=="closed"&&T.close().catch(()=>{}),s.value=null,l.value=null,c.value=null,d.value=[],h.value=[],g.value=0,p.value=0,f.value=0}async function v(){if(r.value!=="idle")throw new bt("Recorder is already active");try{const w=await navigator.mediaDevices.getUserMedia({audio:!0});i.value=w;const T=new AudioContext;c.value=T;const y=T.createMediaStreamSource(w),A=T.createAnalyser();A.fftSize=2048,y.connect(A),l.value=A;const I=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":MediaRecorder.isTypeSupported("audio/webm")?"audio/webm":MediaRecorder.isTypeSupported("audio/mp4")?"audio/mp4":"",_=I?{mimeType:I}:{},z=new MediaRecorder(w,_);s.value=z,d.value=[],z.ondataavailable=O=>{O.data.size>0&&d.value.push(O.data)},z.start(100),r.value="recording"}catch(w){throw b(),w instanceof Error&&w.name==="NotAllowedError"?new bt("Microphone permission denied"):w instanceof Error&&w.name==="NotFoundError"?new bt("No microphone found"):new bt(w instanceof Error?w.message:"Failed to start recording")}}function S(){return new Promise((w,T)=>{const y=s.value;if(!y||r.value!=="recording"){T(new bt("No active recording"));return}r.value="processing",y.onstop=()=>{const A=new Blob(d.value,{type:y.mimeType||"audio/webm"});b(),r.value="idle",w(A)},y.onerror=()=>{b(),r.value="idle",T(new bt("Recording failed"))},y.stop()})}function m(w){let T=0;for(let y=0;y<w.length;y+=1){const A=(w[y]??128)/128-1;T+=A*A}return Math.sqrt(T/w.length)}function k(){const w=a.value;if(!w)return;const T=w.getContext("2d");if(!T)return;const y=w.getBoundingClientRect(),A=window.devicePixelRatio||1;(w.width!==y.width*A||w.height!==y.height*A)&&(w.width=y.width*A,w.height=y.height*A,T.scale(A,A));const I=2,z=I+1,O=Math.floor(y.width/z)+2;if(l.value&&r.value==="recording"){h.value.length===0&&(h.value=Array.from({length:O},()=>0)),f.value<1&&(f.value=Math.min(1,f.value+.03)),g.value+=1/3;const P=l.value.fftSize,N=new Uint8Array(P);l.value.getByteTimeDomainData(N);const B=m(N),Y=B>p.value?.12:.08;p.value+=(B-p.value)*Y,g.value>=z&&(g.value-=z,h.value.push(p.value),h.value.length>O&&(h.value=h.value.slice(-O)))}T.clearRect(0,0,y.width,y.height);const F=window.getComputedStyle(w);T.fillStyle=F.color,T.globalAlpha=f.value;const j=y.height/2,x=y.height/2-2,E=12;for(let P=0;P<h.value.length;P+=1){const N=h.value[P]??0,B=Math.min(N*4,1),ne=Math.max(2,B*x*2),M=y.width-(h.value.length-P)*z-g.value,Y=j-ne/2;if(M+I<=0||M>=y.width)continue;let H=1;M<E?H=Math.max(0,M/E):M>y.width-E&&(H=Math.max(0,(y.width-M)/E)),T.globalAlpha=f.value*H,T.fillRect(M,Y,I,ne)}u.value=requestAnimationFrame(k)}return t.watch(r,()=>{u.value!==null&&(cancelAnimationFrame(u.value),u.value=null),u.value=requestAnimationFrame(k)},{immediate:!0}),t.onBeforeUnmount(()=>{b()}),n({get state(){return r.value},start:v,stop:S,dispose:b}),(w,T)=>(t.openBlock(),t.createElementBlock("div",t.mergeProps({"data-copilotkit":"",class:"cpk:w-full cpk:px-5 cpk:py-3"},t.unref(o)),[t.createElementVNode("canvas",{ref_key:"canvasRef",ref:a,class:"cpk:block cpk:h-[26px] cpk:w-full"},null,512)],16))}}),Vn=t.defineComponent({__name:"InlineFeatureWarning",props:{featureName:{}},setup(e){const n={padding:"8px 12px",backgroundColor:"#fffbeb",border:"1px solid #fbbf24",borderRadius:"6px",fontSize:"13px",color:"#92400e",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif"},o={color:"#b45309",textDecoration:"underline"};return(a,r)=>(t.openBlock(),t.createElementBlock("div",{style:n,"data-testid":"copilot-inline-feature-warning"},[t.createTextVNode(' ⚠ The "'+t.toDisplayString(e.featureName)+'" feature requires a CopilotKit license. ',1),t.createElementVNode("a",{href:"https://copilotkit.ai/pricing",target:"_blank",rel:"noopener noreferrer",style:o}," Get one at copilotkit.ai/pricing ")]))}});var as=(e=>(e.OnMessagesChanged="OnMessagesChanged",e.OnStateChanged="OnStateChanged",e.OnRunStatusChanged="OnRunStatusChanged",e))(as||{});const Xd=["OnMessagesChanged","OnStateChanged","OnRunStatusChanged"];function rn(e={}){const n=e.threadId!==void 0,o=e.runtimeAgentId!==void 0,a=e.agentId!==void 0;if(n&&!o)throw new Error('useAgent: `threadId` requires `runtimeAgentId`. A threadId is written onto a single agent, but an agent resolved by agentId alone is shared, so scoping a thread to it would clobber other useAgent callers. Pass a distinct local `agentId` and the runtime agent to route to, e.g. useAgent({ agentId: "chat-1", runtimeAgentId: "assistant", threadId }).');if(o&&!n)throw new Error("useAgent: `runtimeAgentId` requires `threadId`. A proxied agent exists to scope a thread to a private instance; without a threadId it behaves like the shared agent while adding a registration and a local agentId to keep unique. Either pass the thread, or bind to the agent directly with useAgent({ agentId }).");if(o&&!a)throw new Error(`useAgent: \`runtimeAgentId\` requires an explicit \`agentId\`. The proxied agent is registered under \`agentId\`, and the usual fallbacks (chat configuration, then "${G.DEFAULT_AGENT_ID}") name agents that already exist — registering over one throws or shadows it. Pick a local id for this hook, e.g. useAgent({ agentId: "chat-1", runtimeAgentId: "assistant", threadId }).`);const r=o,s=Re(),i=t.computed(()=>t.toValue(e.agentId)??s.value?.agentId??G.DEFAULT_AGENT_ID),l=t.computed(()=>r?t.toValue(e.runtimeAgentId):void 0),c=t.computed(()=>t.toValue(e.threadId)??(s.value?.hasExplicitThreadId?s.value.threadId:void 0)),{copilotkit:u}=Pe(),d=t.computed(()=>e.updates??Xd),h=t.computed(()=>u.value.defaultThrottleMs),g=t.computed(()=>t.toValue(e.throttleMs)),p=t.shallowRef(null),f=t.shallowRef(null),b=new Map,v=(k,w,T,y)=>{const A=new le.ProxiedCopilotRuntimeAgent({runtimeUrl:w,agentId:k,transport:T,runtimeMode:"pending"});return A.headers={...y},A},S=t.shallowRef(null);r&&t.watch([i,l,()=>u.value],([k,w],T,y)=>{const{agent:A,unregister:I}=u.value.registerProxiedAgent({agentId:k,runtimeAgentId:w});b.delete(k),S.value=A,y(()=>{I(),S.value=null})},{immediate:!0});const m=()=>{const k=i.value,w=u.value;if(r){const z=S.value;if(z){b.delete(k);const j=p.value===z;p.value=z,f.value=z,j&&t.triggerRef(p);return}const O=b.get(k);if(O){O.headers={...w.headers},p.value=O,f.value=O;return}const F=new le.ProxiedCopilotRuntimeAgent({runtimeUrl:w.runtimeUrl,agentId:k,runtimeAgentId:l.value,transport:w.runtimeTransport,runtimeMode:"pending"});F.headers={...w.headers},b.set(k,F),p.value=F,f.value=F;return}const T=w.getAgent(k);if(T){b.delete(k);const z=p.value===T;p.value=T,f.value=T,z&&t.triggerRef(p);return}const y=w.runtimeUrl!==void 0,A=w.runtimeConnectionStatus;if(y&&(A===le.CopilotKitCoreRuntimeConnectionStatus.Disconnected||A===le.CopilotKitCoreRuntimeConnectionStatus.Connecting||A===le.CopilotKitCoreRuntimeConnectionStatus.Error)){const z=b.get(k);if(z){z.headers={...w.headers},p.value=z,f.value=z;return}const O=v(k,w.runtimeUrl,w.runtimeTransport,w.headers);b.set(k,O),p.value=O,f.value=O;return}const I=Object.keys(w.agents??{}),_=y?`runtimeUrl=${w.runtimeUrl}`:"no runtimeUrl";throw new Error(`useAgent: Agent '${k}' not found after runtime sync (${_}). `+(I.length?`Known agents: [${I.join(", ")}]`:"No agents registered.")+" Verify your runtime /info and/or agents__unsafe_dev_only.")};return t.watch([i,S,()=>u.value.agents,()=>u.value.runtimeConnectionStatus,()=>u.value.runtimeUrl,()=>u.value.runtimeTransport,()=>JSON.stringify(Object.entries(u.value.headers??{}).sort(([k],[w])=>k.localeCompare(w)))],m,{immediate:!0}),t.watch([()=>p.value,c],([k,w])=>{!k||!w||(k.threadId=w)},{immediate:!0}),t.watch([f,()=>JSON.stringify(Object.entries(u.value.headers??{}).sort(([k],[w])=>k.localeCompare(w)))],([k])=>{le.ɵisHttpAgent(k)&&u.value.applyHeadersToAgent(k)},{immediate:!0}),t.watch([f,d,g,h],([k,w],T,y)=>{const A=w;if(!k||A.length===0)return;let I=!0,_=!1;const z=()=>{I&&(_||(_=!0,queueMicrotask(()=>{_=!1,I&&t.triggerRef(p)})))},O={};A.includes("OnMessagesChanged")&&(O.onMessagesChanged=()=>{I&&t.triggerRef(p)}),A.includes("OnStateChanged")&&(O.onStateChanged=z),A.includes("OnRunStatusChanged")&&(O.onRunInitialized=z,O.onRunFinalized=z,O.onRunFailed=z,O.onRunErrorEvent=z);const F=u.value.subscribeToAgentWithOptions(k,O,{throttleMs:t.toValue(e.throttleMs)});y(()=>{I=!1,F.unsubscribe()})},{immediate:!0}),{agent:p}}function rs(e={}){const{copilotkit:n}=Pe(),o=Re(),a=t.computed(()=>t.toValue(e.agentId)??o.value?.agentId??G.DEFAULT_AGENT_ID),r=t.ref([]),s=t.ref(!1),i=()=>{const u=n.value.getSuggestions(a.value);r.value=u.suggestions,s.value=u.isLoading};return t.watch([()=>n.value,a],()=>i(),{immediate:!0}),t.watch([()=>n.value,a],(u,d,h)=>{const g=n.value,p=a.value,f=g.subscribe({onSuggestionsChanged:({agentId:b,suggestions:v})=>{if(b!==p)return;r.value=v;const S=g.getSuggestions(p);s.value=S.isLoading},onSuggestionsStartedLoading:({agentId:b})=>{b===p&&(s.value=!0)},onSuggestionsFinishedLoading:({agentId:b})=>{b===p&&(s.value=!1)},onSuggestionsConfigChanged:()=>{const b=g.getSuggestions(p);r.value=b.suggestions,s.value=b.isLoading}});h(()=>f.unsubscribe())},{immediate:!0}),{suggestions:r,isLoading:s,reloadSuggestions:()=>{n.value.reloadSuggestions(a.value)},clearSuggestions:()=>{n.value.clearSuggestions(a.value)}}}function ss(e){const n=t.shallowRef([]),o=t.ref(!1),a=t.ref(null),r=t.ref(null),s=t.ref(t.toValue(e.config)),i=t.shallowRef(n.value),l=t.computed(()=>s.value?.enabled??!1);t.watch(()=>t.toValue(e.config),m=>{s.value=m},{immediate:!0});const c=m=>{n.value=m,i.value=m},u=m=>{c(m(i.value))};async function d(m){const k=s.value,w=k?.accept??"*/*",T=k?.maxSize??20*1024*1024,y=m.filter(I=>!G.matchesAcceptFilter(I,w));for(const I of y)k?.onUploadFailed?.({reason:"invalid-type",file:I,message:`File "${I.name}" is not accepted. Supported types: ${w}`});const A=m.filter(I=>G.matchesAcceptFilter(I,w));for(const I of A){if(G.exceedsMaxSize(I,T)){k?.onUploadFailed?.({reason:"file-too-large",file:I,message:`File "${I.name}" exceeds the maximum size of ${G.formatFileSize(T)}`});continue}const _=G.getModalityFromMimeType(I.type),z=G.randomUUID();u(O=>[...O,{id:z,type:_,source:{type:"data",value:"",mimeType:I.type},filename:I.name,size:I.size,status:"uploading"}]);try{let O,F;if(k?.onUpload){const x=await k.onUpload(I),{metadata:E,...P}=x;O=P,F=E}else O={type:"data",value:await G.readFileAsBase64(I),mimeType:I.type};let j;_==="video"&&(j=await G.generateVideoThumbnail(I)),u(x=>x.map(E=>E.id===z?{...E,source:O,status:"ready",thumbnail:j,metadata:F}:E))}catch(O){u(F=>F.filter(j=>j.id!==z)),console.error(`[CopilotKit] Failed to upload "${I.name}":`,O),k?.onUploadFailed?.({reason:"upload-failed",file:I,message:O instanceof Error?O.message:`Failed to upload "${I.name}"`})}}}async function h(m){const k=m.target;k?.files?.length&&(await d(Array.from(k.files)),k&&(k.value=""))}function g(m){l.value&&(m.preventDefault(),m.stopPropagation(),o.value=!0)}function p(m){m.preventDefault(),m.stopPropagation(),o.value=!1}async function f(m){if(m.preventDefault(),m.stopPropagation(),o.value=!1,!l.value)return;const k=Array.from(m.dataTransfer?.files??[]);k.length>0&&await d(k)}function b(m){u(k=>k.filter(w=>w.id!==m))}function v(){const m=i.value.filter(k=>k.status==="ready");return m.length===0||(u(k=>k.filter(w=>w.status!=="ready")),a.value&&(a.value.value="")),m}async function S(m){if(!l.value)return;const k=m.target;if(!k||!r.value?.contains(k))return;const w=s.value?.accept??"*/*",y=Array.from(m.clipboardData?.items??[]).filter(I=>{if(I.kind!=="file")return!1;const _=I.getAsFile();return _!==null&&G.matchesAcceptFilter(_,w)});if(y.length===0)return;m.preventDefault();const A=y.map(I=>I.getAsFile()).filter(I=>I!==null);await d(A)}return t.onMounted(()=>{typeof document<"u"&&document.addEventListener("paste",S)}),t.onBeforeUnmount(()=>{typeof document<"u"&&document.removeEventListener("paste",S)}),{attachments:n,enabled:l,dragOver:o,fileInputRef:a,containerRef:r,processFiles:d,handleFileUpload:h,handleDragOver:g,handleDragLeave:p,handleDrop:f,removeAttachment:b,consumeAttachments:v}}async function Yd(e){return await new Promise((n,o)=>{const a=new FileReader;a.onloadend=()=>{const r=a.result;n(r.split(",")[1]??"")},a.addEventListener("error",()=>o(new Error("Failed to read audio data"))),a.readAsDataURL(e)})}function Qd(e){return typeof e=="object"&&e!==null&&"error"in e&&"message"in e&&typeof e.error=="string"&&typeof e.message=="string"}function ep(e){return{code:e.error,message:e.message,retryable:e.retryable??!1}}class kt extends Error{info;constructor(n){super(n.message),this.name="TranscriptionError",this.info=n}}async function tp(e,n,o="recording.webm"){const a=e.runtimeUrl;if(!a)throw new kt({code:G.TranscriptionErrorCode.INVALID_REQUEST,message:"Runtime URL is not configured",retryable:!1});const r={...e.headers};let s;try{if(e.runtimeTransport==="single"){const i=await Yd(n);r["Content-Type"]="application/json",s=await fetch(a,{method:"POST",headers:r,body:JSON.stringify({method:"transcribe",body:{audio:i,mimeType:n.type||"audio/webm",filename:o}})})}else{delete r["Content-Type"];const i=new FormData;i.append("audio",n,o),s=await fetch(`${a}/transcribe`,{method:"POST",headers:r,body:i})}}catch(i){throw new kt({code:G.TranscriptionErrorCode.NETWORK_ERROR,message:i instanceof Error?i.message:"Network request failed",retryable:!0})}if(!s.ok){let i;try{i=await s.json()}catch{throw new kt({code:G.TranscriptionErrorCode.PROVIDER_ERROR,message:`HTTP ${s.status}: ${s.statusText}`,retryable:s.status>=500})}throw Qd(i)?new kt(ep(i)):new kt({code:G.TranscriptionErrorCode.PROVIDER_ERROR,message:typeof i=="object"&&i!==null&&"message"in i?String(i.message):"Transcription failed",retryable:s.status>=500})}return await s.json()}function is(){const e=typeof window<"u"?window.innerHeight:0,n=t.ref(!1),o=t.ref(0),a=t.ref(e),r=t.ref(e),s=()=>{if(typeof window>"u")return;const l=window.visualViewport;if(!l)return;const c=window.innerHeight,u=l.height,d=Math.max(0,c-u),h=d>150;o.value=d,n.value=h,a.value=u,r.value=c};let i=null;return t.onMounted(()=>{typeof window>"u"||(i=window.visualViewport??null,i&&(s(),i.addEventListener("resize",s),i.addEventListener("scroll",s)))}),t.onBeforeUnmount(()=>{i&&(i.removeEventListener("resize",s),i.removeEventListener("scroll",s),i=null)}),{isKeyboardOpen:t.readonly(n),keyboardHeight:t.readonly(o),availableHeight:t.readonly(a),viewportHeight:t.readonly(r)}}const np={id:null,sendNonce:0},ls=Symbol("LastUserMessage");function op(){return t.ref({...np})}function ap({scrollRef:e,contentRef:n,spacerRef:o,topOffset:a=16}){const r=t.inject(ls,op(),!0);let s=-1,i=null,l=null;function c(){i!==null&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(i),i=null,l?.disconnect(),l=null}t.watch([()=>r.value.id,()=>r.value.sendNonce,e,n,o,()=>a],([u,d,h,g,p],f,b)=>{if(b(c),d===s||(s=d,!u)||!h||!g||!p)return;const v=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(u):u.replace(/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g,"\\$&"),S=g.querySelector(`[data-message-id="${v}"]`);if(!S)return;const m=h.clientHeight,k=S.getBoundingClientRect().height,w=parseFloat(getComputedStyle(S).paddingTop)||0,T=Math.max(0,k-w),y=Math.max(0,m-T-a);p.style.height=`${y}px`,typeof requestAnimationFrame=="function"&&(i=requestAnimationFrame(()=>{const A=xo(S,h)+w-a;h.scrollTo({top:Math.max(0,A),behavior:"smooth"})})),typeof ResizeObserver<"u"&&(l=new ResizeObserver(()=>{if(!g||!p||!h)return;const A=g.getBoundingClientRect().height,I=xo(S,g),_=A-I-k,z=Math.max(0,y-_);p.style.height=`${z}px`}),l.observe(g))},{immediate:!0,flush:"post"})}function xo(e,n){const o=e.getBoundingClientRect(),a=n.getBoundingClientRect();return o.top-a.top+n.scrollTop}const rp={class:"cpk:pointer-events-auto cpk:mx-auto cpk:max-w-3xl cpk:px-4 cpk:py-0 cpk:@3xl:px-0 cpk:[div[data-sidebar-chat]_&]:px-8 cpk:[div[data-popup-chat]_&]:px-4"},sp=["data-layout"],ip=["data-layout"],lp=["aria-label","disabled"],cp={key:0,class:"cpk:my-1 cpk:h-px cpk:bg-border cpk:dark:bg-[#333333]"},up=["onClick"],dp={key:1,class:"cpk:flex cpk:w-full cpk:items-center cpk:justify-center cpk:px-5 cpk:py-3"},pp=["value","placeholder","disabled"],mp={key:0,class:"cpk:px-3 cpk:py-2 cpk:text-sm cpk:text-muted-foreground"},fp=["data-slash-index","aria-selected","data-active","onMouseenter","onMousedown"],hp=["aria-label","disabled"],gp=["aria-label","disabled"],vp=["aria-label","disabled"],bp={class:"cpk:mr-[10px]"},kp=["disabled"],yp={"data-testid":"copilot-chat-input-disclaimer",class:"cpk:mx-auto cpk:max-w-3xl cpk:px-4 cpk:py-3 cpk:text-center cpk:text-xs cpk:text-muted-foreground"},Rt=t.defineComponent({inheritAttrs:!1,__name:"CopilotChatInput",props:{modelValue:{},disabled:{type:Boolean,default:!1},placeholder:{},autoFocus:{type:Boolean,default:!0},clearOnSubmit:{type:Boolean,default:!0},mode:{default:"input"},toolsMenu:{default:()=>[]},isRunning:{type:Boolean,default:!1},positioning:{default:"static"},keyboardHeight:{default:0},showDisclaimer:{type:Boolean,default:void 0},maxRows:{default:5},bottomAnchored:{type:Boolean,default:!1},onSubmitMessage:{},onStop:{},onAddFile:{},onStartTranscribe:{},onCancelTranscribe:{},onFinishTranscribe:{},onFinishTranscribeWithAudio:{}},emits:["update:modelValue","submit-message","stop","add-file","start-transcribe","cancel-transcribe","finish-transcribe","finish-transcribe-with-audio"],setup(e,{emit:n}){const o=e,a=n,r=t.useAttrs(),s=Re(),i=t.ref(null),l=t.ref(null),c=t.ref(null),u=t.ref(null),d=t.ref(null),h=t.ref(null),g=t.ref(null),p=t.ref(null),f=t.ref(o.modelValue??""),b=t.ref(!1),v=t.ref("compact"),S=t.ref(null),m=t.ref(0),k=t.ref(null),w=t.ref(!1),T=t.ref({singleLineHeight:0,maxHeight:0,paddingLeft:0,paddingRight:0}),y=t.ref(null),A=t.ref(!1),I=t.ref(null),_=t.ref(null),z=t.ref(!1),O=t.ref(!1);let F=null,j=null;const x=t.computed(()=>o.modelValue!==void 0),E=t.computed(()=>x.value?o.modelValue??"":f.value),P=t.computed(()=>s.value?.labels??ot),N=t.computed(()=>o.placeholder??P.value.chatInputPlaceholder),B=t.computed(()=>o.mode==="input"&&v.value==="expanded"),ne=t.computed(()=>o.mode!=="transcribe"&&o.isRunning),M=t.computed(()=>o.showDisclaimer??o.positioning==="absolute"),Y=t.computed(()=>typeof o.onSubmitMessage=="function"),H=t.computed(()=>typeof o.onStop=="function"),Q=t.computed(()=>typeof o.onAddFile=="function"),ue=t.computed(()=>typeof o.onStartTranscribe=="function"),X=t.computed(()=>typeof o.onCancelTranscribe=="function"),ve=t.computed(()=>typeof o.onFinishTranscribe=="function"||typeof o.onFinishTranscribeWithAudio=="function"),Ae=t.computed(()=>o.mode==="input"&&!o.disabled&&Y.value&&E.value.trim().length>0),Ne=t.computed(()=>ne.value?!H.value:!Ae.value),Ye=t.computed(()=>[o.positioning==="absolute"&&"cpk:absolute cpk:bottom-0 cpk:left-0 cpk:right-0 cpk:z-20 cpk:pointer-events-none",r.class]),Qe=t.computed(()=>{const C={...r};return delete C.class,C});function Ve(C){return Array.isArray(C.items)}function et(){return Q.value?{label:P.value.chatInputToolbarAddButtonLabel,action:()=>a("add-file")}:null}function Je(){const C=[],D=et();if(D&&C.push(D),o.toolsMenu.length>0){C.length>0&&C.push("-");for(const K of o.toolsMenu){if(K==="-"){if(C.length===0||C[C.length-1]==="-")continue;C.push("-");continue}C.push(K)}}for(;C.length>0&&C[C.length-1]==="-";)C.pop();return C}const Le=t.computed(()=>Je()),ke=t.computed(()=>Le.value.length>0);function V(C){const D=new Set,K=[],ae=Ce=>{for(const pe of Ce)if(pe!=="-"){if(Ve(pe)&&pe.items.length>0){ae(pe.items);continue}!pe.action||D.has(pe.label)||(D.add(pe.label),K.push(pe))}};return ae(C),K}const se=t.computed(()=>V(Le.value));function Ie(C,D=0,K="root"){const ae=[];for(const[Ce,pe]of C.entries()){const _e=`${K}-${Ce}`;if(pe==="-"){ae.push({type:"separator",key:`sep-${_e}`});continue}if(Ve(pe)&&pe.items.length>0){ae.push({type:"label",key:`label-${_e}`,label:pe.label,depth:D}),ae.push(...Ie(pe.items,D+1,_e));continue}pe.action&&ae.push({type:"item",key:`item-${_e}`,label:pe.label,depth:D,action:pe.action})}return ae}const Xe=t.computed(()=>Ie(Le.value)),Ee=t.computed(()=>{if(S.value===null||se.value.length===0)return[];const C=S.value.trim().toLowerCase();if(C.length===0)return se.value;const D=[],K=[];for(const ae of se.value){const Ce=ae.label.toLowerCase();if(Ce.startsWith(C)){D.push(ae);continue}Ce.includes(C)&&K.push(ae)}return[...D,...K]}),lt=t.computed(()=>S.value!==null&&se.value.length>0);function ct(C){x.value||(f.value=C),a("update:modelValue",C)}function ut(){ct("")}function gt(C){if(se.value.length===0){S.value=null;return}if(C.startsWith("/")){const D=C.split(/\r?\n/,1)[0]??"";S.value=D.slice(1);return}S.value=null}function U(C){ut(),C.action?.(),S.value=null,m.value=0,requestAnimationFrame(()=>{l.value?.focus()})}function he(){if(o.mode!=="input"||o.disabled||!Y.value)return;const D=(l.value?.value??E.value).trim();D&&(a("submit-message",D),o.clearOnSubmit&&ut(),l.value?.focus())}function me(C){const D=C.target.value;ct(D),gt(D)}function Ue(){if(ne.value){H.value&&a("stop");return}he()}function Ze(C){if(!o.disabled&&!(b.value||C.isComposing||C.keyCode===229)){if(S.value!==null&&o.mode==="input"){if(C.key==="ArrowDown"){Ee.value.length>0&&(C.preventDefault(),m.value=m.value<0?0:(m.value+1)%Ee.value.length);return}if(C.key==="ArrowUp"){Ee.value.length>0&&(C.preventDefault(),m.value<0?m.value=Ee.value.length-1:m.value=m.value<=0?Ee.value.length-1:m.value-1);return}if(C.key==="Enter"){const D=m.value>=0?Ee.value[m.value]:void 0;if(D){C.preventDefault(),U(D);return}}if(C.key==="Escape"){C.preventDefault(),S.value=null;return}}if(C.key==="Enter"&&!C.shiftKey&&o.mode==="input"){if(C.preventDefault(),ne.value){H.value&&a("stop");return}he()}}}function Se(){!ke.value||o.mode==="transcribe"||o.disabled||(w.value=!w.value)}function ze(){w.value=!1}function je(C){C(),ze(),t.nextTick(()=>{l.value?.focus()})}async function Be(){const C=p.value;if(C&&C.state==="recording")try{const D=await C.stop();a("finish-transcribe-with-audio",D)}catch(D){console.error("Failed to stop recording:",D)}a("finish-transcribe")}function at(C){const D=C.target;!D||o.mode!=="input"||D.tagName==="BUTTON"||D.closest("button")||l.value?.focus()}function st(){const C=l.value;if(!C||b.value)return;const D=C.value,K=C.style.height;C.style.height="auto";const ae=window.getComputedStyle(C),Ce=parseFloat(ae.paddingLeft)||0,pe=parseFloat(ae.paddingRight)||0,_e=parseFloat(ae.paddingTop)||0,He=parseFloat(ae.paddingBottom)||0;C.value="";const Ge=C.scrollHeight;C.value=D;const nt=(Ge-_e-He)*o.maxRows+_e+He;T.value={singleLineHeight:Ge,maxHeight:nt,paddingLeft:Ce,paddingRight:pe},C.style.height=K,C.style.maxHeight=`${nt}px`}function Ft(){const C=l.value;if(!C)return 0;T.value.singleLineHeight===0&&st();const{maxHeight:D}=T.value;D&&(C.style.maxHeight=`${D}px`),C.style.height="auto";const K=C.scrollHeight;return C.style.height=`${D?Math.min(K,D):K}px`,K}function Fe(C){v.value!==C&&(A.value=!0,v.value=C)}function sn(C){const D=window.getComputedStyle(C);if(D.font?.trim())return D.font;if(D.fontSize&&D.fontFamily){const K=`${D.fontStyle} ${D.fontVariant} ${D.fontWeight} ${D.fontSize}/${D.lineHeight} ${D.fontFamily}`;if(K.trim())return K}return process.env.NODE_ENV!=="production"&&!z.value&&(z.value=!0,console.warn("[CopilotChatInput] Could not resolve textarea font for layout measurement. Text-width-based expansion will be skipped until the next container resize.")),null}function Z(){const C=c.value,D=u.value,K=d.value;if(!C||!D||!K)return _.value=null,null;const ae=window.getComputedStyle(C),Ce=parseFloat(ae.paddingLeft)||0,pe=parseFloat(ae.paddingRight)||0,_e=parseFloat(ae.columnGap)||0,He=C.clientWidth-Ce-pe;if(He<=0)return _.value=null,null;const Ge=D.getBoundingClientRect().width,tt=K.getBoundingClientRect().width,nt=Math.max(He-Ge-tt-_e*2,0);if(nt<=0)return _.value=null,null;const We={compactWidth:nt};return _.value=We,We}function oe(){if(o.mode!=="input"){Fe("compact");return}if(typeof window.matchMedia=="function"&&window.matchMedia("(max-width: 767px)").matches){st(),Ft(),Fe("expanded");return}const C=l.value;if(!C||!c.value||!u.value||!d.value)return;T.value.singleLineHeight===0&&st();const D=Ft(),K=T.value.singleLineHeight,ae=E.value.includes(`
|
|
97
|
+
`),Ce=K>0?D>K+1:!1;let pe=ae||Ce;if(!pe){const _e=_.value??Z();if(_e&&_e.compactWidth>0){const He=Math.max(_e.compactWidth-T.value.paddingLeft-T.value.paddingRight,0);if(He>0){const Ge=I.value??document.createElement("canvas");I.value||(I.value=Ge);const tt=Ge.getContext("2d");if(tt){const nt=sn(C);if(nt){tt.font=nt;const We=E.value.length>0?E.value.split(`
|
|
98
|
+
`):[""];let St=0;for(const Ke of We){const De=tt.measureText(Ke||" ").width;De>St&&(St=De)}St>He&&(pe=!0)}}else process.env.NODE_ENV!=="production"&&!O.value&&(O.value=!0,console.warn("[CopilotChatInput] canvas.getContext('2d') returned null. Text-width-based expansion will be skipped."))}}}Fe(pe?"expanded":"compact")}function W(C){if(A.value){A.value=!1;return}C&&(_.value=null,z.value=!1,O.value=!1),y.value!==null&&cancelAnimationFrame(y.value),y.value=requestAnimationFrame(()=>{y.value=null,oe()})}return t.watch(()=>o.modelValue,C=>{x.value&&(f.value=C??"")}),t.watch(E,C=>{gt(C),oe()}),t.watch(se,()=>{se.value.length===0&&(S.value=null)}),t.watch([S,()=>Ee.value.length],([C,D])=>{C!==null&&C!==k.value&&D>0&&(m.value=0),k.value=C},{immediate:!0}),t.watch([S,Ee],()=>{if(S.value===null){m.value=0;return}if(Ee.value.length===0){m.value=-1;return}(m.value<0||m.value>=Ee.value.length)&&(m.value=0)},{immediate:!0}),t.watch(()=>o.mode,async C=>{C!=="input"&&(v.value="compact",S.value=null,ze());const D=p.value;if(D){if(C==="transcribe"){try{await D.start()}catch(K){console.error(K)}return}if(D.state==="recording")try{await D.stop()}catch{}}},{immediate:!0}),t.watch(p,async C=>{if(!(!C||o.mode!=="transcribe")&&C.state==="idle")try{await C.start()}catch(D){console.error(D)}},{immediate:!0}),t.watch(m,async C=>{if(!lt.value||C<0)return;await t.nextTick(),h.value?.querySelector(`[data-slash-index="${C}"]`)?.scrollIntoView?.({block:"nearest"})}),t.watch(()=>o.disabled,C=>{C&&ze()}),t.onMounted(()=>{if(o.autoFocus&&o.mode==="input"&&l.value?.focus(),oe(),typeof ResizeObserver<"u"){const C=new Set;c.value&&C.add(c.value),u.value&&C.add(u.value),d.value&&C.add(d.value),F=new ResizeObserver(D=>{const K=D.some(ae=>C.has(ae.target));W(K)}),c.value&&F.observe(c.value),u.value&&F.observe(u.value),d.value&&F.observe(d.value),l.value&&F.observe(l.value)}j=C=>{if(!w.value)return;const D=C.target;D&&(g.value?.contains(D)||u.value?.contains(D)||ze())},document.addEventListener("mousedown",j)}),t.onBeforeUnmount(()=>{j&&(document.removeEventListener("mousedown",j),j=null),F?.disconnect(),F=null,y.value!==null&&(cancelAnimationFrame(y.value),y.value=null)}),(C,D)=>(t.openBlock(),t.createElementBlock("div",t.mergeProps({"data-copilotkit":"","data-testid":"copilot-chat-input-container",class:Ye.value,style:{transform:e.keyboardHeight>0?`translateY(-${e.keyboardHeight}px)`:void 0,transition:"transform 0.2s ease-out",...e.positioning==="absolute"||e.bottomAnchored?{paddingBottom:"var(--copilotkit-license-banner-offset, 0px)"}:{}}},Qe.value),[t.createElementVNode("div",rp,[t.renderSlot(C.$slots,"layout",{mode:e.mode,isMultiline:B.value,value:E.value,disabled:e.disabled,placeholder:N.value,isProcessing:ne.value,sendDisabled:Ne.value,menuOpen:w.value,menuItems:Xe.value,onToggleMenu:Se,onMenuAction:je,onUpdateValue:ct,onSubmit:he,onKeydown:Ze,onSendClick:Ue,onStartTranscribe:()=>a("start-transcribe"),onCancelTranscribe:()=>a("cancel-transcribe"),onFinishTranscribe:Be},()=>[t.createElementVNode("div",{ref_key:"shellRef",ref:i,"data-testid":"copilot-chat-input-shell",class:"cpk:flex cpk:w-full cpk:cursor-text cpk:flex-col cpk:items-center cpk:justify-center cpk:overflow-visible cpk:rounded-[28px] cpk:bg-white cpk:bg-clip-padding cpk:shadow-[0_4px_4px_0_#0000000a,0_0_1px_0_#0000009e] cpk:contain-inline-size cpk:dark:bg-[#303030]","data-layout":B.value?"expanded":"compact",onClick:at},[t.createElementVNode("div",{ref_key:"gridRef",ref:c,class:t.normalizeClass(["cpk:grid cpk:w-full cpk:gap-x-3 cpk:gap-y-3 cpk:px-3 cpk:py-2",B.value?"cpk:grid-cols-[auto_minmax(0,1fr)_auto] cpk:grid-rows-[auto_auto]":"cpk:grid-cols-[auto_minmax(0,1fr)_auto] cpk:items-center"]),"data-layout":B.value?"expanded":"compact"},[t.createElementVNode("div",{ref_key:"addButtonContainerRef",ref:u,class:t.normalizeClass(["cpk:relative cpk:flex cpk:items-center cpk:col-start-1",B.value?"cpk:row-start-2":"cpk:row-start-1"])},[t.renderSlot(C.$slots,"add-menu-button",{disabled:e.disabled||e.mode==="transcribe"||!ke.value,menuOpen:w.value,toggleMenu:Se,labels:P.value},()=>[t.createElementVNode("button",{type:"button","data-testid":"copilot-chat-input-add","aria-label":P.value.chatInputToolbarAddButtonLabel,disabled:e.disabled||e.mode==="transcribe"||!ke.value,class:"cpk:ml-1 cpk:inline-flex cpk:h-9 cpk:w-9 cpk:shrink-0 cpk:items-center cpk:justify-center cpk:rounded-full cpk:bg-transparent cpk:text-[#444444] cpk:transition-colors cpk:hover:bg-[#f8f8f8] cpk:hover:text-[#333333] cpk:disabled:cursor-not-allowed cpk:disabled:opacity-50 cpk:disabled:hover:bg-transparent cpk:disabled:hover:text-[#444444] cpk:dark:text-white cpk:dark:hover:bg-[#404040] cpk:dark:hover:text-[#FFFFFF] cpk:dark:disabled:hover:bg-transparent cpk:dark:disabled:hover:text-[#CCCCCC]",onClick:t.withModifiers(Se,["stop"])},[t.createVNode(t.unref(fe.Plus),{class:"cpk:size-[20px]"})],8,lp)]),w.value&&ke.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"addMenuRef",ref:g,class:"cpk:absolute cpk:bottom-full cpk:left-0 cpk:z-30 cpk:mb-2 cpk:min-w-[220px] cpk:overflow-hidden cpk:rounded-lg cpk:border cpk:border-border cpk:bg-white cpk:shadow-lg cpk:dark:border-[#3a3a3a] cpk:dark:bg-[#1f1f1f]","data-testid":"copilot-chat-input-add-menu"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Xe.value,K=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:K.key},[K.type==="separator"?(t.openBlock(),t.createElementBlock("div",cp)):K.type==="label"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"cpk:flex cpk:items-center cpk:gap-1 cpk:px-3 cpk:py-1.5 cpk:text-xs cpk:font-semibold cpk:text-muted-foreground",style:t.normalizeStyle({paddingLeft:`${12+K.depth*12}px`})},[t.createElementVNode("span",null,t.toDisplayString(K.label),1),t.createVNode(t.unref(fe.ChevronRight),{class:"cpk:size-3"})],4)):(t.openBlock(),t.createElementBlock("button",{key:2,type:"button",role:"menuitem",class:"cpk:w-full cpk:px-3 cpk:py-2 cpk:text-left cpk:text-sm cpk:transition-colors cpk:hover:bg-muted cpk:dark:hover:bg-[#2f2f2f]",style:t.normalizeStyle({paddingLeft:`${12+K.depth*12}px`}),onClick:ae=>je(K.action)},t.toDisplayString(K.label),13,up))],64))),128))],512)):t.createCommentVNode("",!0)],2),t.createElementVNode("div",{class:t.normalizeClass(["cpk:relative cpk:flex cpk:min-h-[50px] cpk:min-w-0 cpk:flex-col cpk:justify-center",B.value?"cpk:col-span-3 cpk:row-start-1":"cpk:col-start-2 cpk:row-start-1"])},[e.mode==="transcribe"?t.renderSlot(C.$slots,"audio-recorder",{key:0},()=>[t.createVNode(os,{ref_key:"audioRecorderRef",ref:p},null,512)]):e.mode==="processing"?(t.openBlock(),t.createElementBlock("div",dp,[t.createVNode(t.unref(fe.Loader2),{class:"cpk:size-[26px] cpk:animate-spin cpk:text-muted-foreground"})])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.renderSlot(C.$slots,"text-area",{value:E.value,disabled:e.disabled,placeholder:N.value,onInput:me,onKeydown:Ze,autoFocus:e.autoFocus,isExpanded:B.value,rows:1,labels:P.value},()=>[t.createElementVNode("textarea",{ref_key:"textareaRef",ref:l,"data-testid":"copilot-chat-input-textarea",value:E.value,placeholder:N.value,disabled:e.disabled,rows:"1",class:t.normalizeClass(["cpk:w-full cpk:bg-transparent cpk:py-3 cpk:text-[16px] cpk:font-normal cpk:leading-relaxed cpk:text-foreground cpk:antialiased cpk:outline-none cpk:placeholder:text-[#00000077] cpk:dark:placeholder:text-[#fffc]",B.value?"cpk:px-5":"cpk:pr-5"]),style:{overflow:"auto",resize:"none"},onInput:me,onKeydown:Ze,onCompositionstart:D[0]||(D[0]=K=>b.value=!0),onCompositionend:D[1]||(D[1]=K=>b.value=!1)},null,42,pp)]),lt.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"slashMenuRef",ref:h,"data-testid":"copilot-slash-menu",role:"listbox","aria-label":"Slash commands",class:"cpk:absolute cpk:bottom-full cpk:left-0 cpk:right-0 cpk:z-30 cpk:mb-2 cpk:max-h-64 cpk:overflow-y-auto cpk:rounded-lg cpk:border cpk:border-border cpk:bg-white cpk:shadow-lg cpk:dark:border-[#3a3a3a] cpk:dark:bg-[#1f1f1f]",style:{maxHeight:"200px"}},[Ee.value.length===0?(t.openBlock(),t.createElementBlock("div",mp," No commands found ")):(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:1},t.renderList(Ee.value,(K,ae)=>(t.openBlock(),t.createElementBlock("button",{key:`${K.label}-${ae}`,type:"button",role:"option","data-slash-index":ae,"aria-selected":ae===m.value,"data-active":ae===m.value?"true":void 0,class:t.normalizeClass(["cpk:w-full cpk:px-3 cpk:py-2 cpk:text-left cpk:text-sm cpk:transition-colors cpk:hover:bg-muted cpk:dark:hover:bg-[#2f2f2f]",ae===m.value?"cpk:bg-muted cpk:dark:bg-[#2f2f2f]":"cpk:bg-transparent"]),onMouseenter:Ce=>m.value=ae,onMousedown:t.withModifiers(Ce=>U(K),["prevent"])},t.toDisplayString(K.label),43,fp))),128))],512)):t.createCommentVNode("",!0)],64))],2),t.createElementVNode("div",{ref_key:"actionsContainerRef",ref:d,class:t.normalizeClass(["cpk:flex cpk:items-center cpk:justify-end cpk:gap-2",B.value?"cpk:col-start-3 cpk:row-start-2":"cpk:col-start-3 cpk:row-start-1"])},[e.mode==="transcribe"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[X.value||C.$slots["cancel-transcribe-button"]?t.renderSlot(C.$slots,"cancel-transcribe-button",{key:0,disabled:e.disabled,onClick:()=>a("cancel-transcribe"),labels:P.value},()=>[t.createElementVNode("button",{type:"button","data-testid":"copilot-chat-input-cancel-transcribe","aria-label":P.value.chatInputToolbarCancelTranscribeButtonLabel,disabled:e.disabled,class:"cpk:mr-2 cpk:inline-flex cpk:h-9 cpk:w-9 cpk:shrink-0 cpk:items-center cpk:justify-center cpk:rounded-full cpk:bg-transparent cpk:text-[#444444] cpk:transition-colors cpk:hover:bg-[#f8f8f8] cpk:hover:text-[#333333] cpk:disabled:cursor-not-allowed cpk:disabled:opacity-50 cpk:dark:text-white cpk:dark:hover:bg-[#404040] cpk:dark:hover:text-[#FFFFFF]",onClick:D[2]||(D[2]=K=>a("cancel-transcribe"))},[t.createVNode(t.unref(fe.X),{class:"cpk:size-[18px]"})],8,hp)]):t.createCommentVNode("",!0),ve.value||C.$slots["finish-transcribe-button"]?t.renderSlot(C.$slots,"finish-transcribe-button",{key:1,disabled:e.disabled,onClick:Be,labels:P.value},()=>[t.createElementVNode("button",{type:"button","data-testid":"copilot-chat-input-finish-transcribe","aria-label":P.value.chatInputToolbarFinishTranscribeButtonLabel,disabled:e.disabled,class:"cpk:mr-[10px] cpk:inline-flex cpk:h-9 cpk:w-9 cpk:shrink-0 cpk:items-center cpk:justify-center cpk:rounded-full cpk:bg-transparent cpk:text-[#444444] cpk:transition-colors cpk:hover:bg-[#f8f8f8] cpk:hover:text-[#333333] cpk:disabled:cursor-not-allowed cpk:disabled:opacity-50 cpk:dark:text-white cpk:dark:hover:bg-[#404040] cpk:dark:hover:text-[#FFFFFF]",onClick:Be},[t.createVNode(t.unref(fe.Check),{class:"cpk:size-[18px]"})],8,gp)]):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[ue.value||C.$slots["start-transcribe-button"]?t.renderSlot(C.$slots,"start-transcribe-button",{key:0,disabled:e.disabled,onClick:()=>a("start-transcribe"),labels:P.value},()=>[t.createElementVNode("button",{type:"button","data-testid":"copilot-chat-input-start-transcribe","aria-label":P.value.chatInputToolbarStartTranscribeButtonLabel,disabled:e.disabled,class:"cpk:mr-2 cpk:inline-flex cpk:h-9 cpk:w-9 cpk:shrink-0 cpk:items-center cpk:justify-center cpk:rounded-full cpk:bg-transparent cpk:text-[#444444] cpk:transition-colors cpk:hover:bg-[#f8f8f8] cpk:hover:text-[#333333] cpk:disabled:cursor-not-allowed cpk:disabled:opacity-50 cpk:disabled:hover:bg-transparent cpk:disabled:hover:text-[#444444] cpk:dark:text-white cpk:dark:hover:bg-[#404040] cpk:dark:hover:text-[#FFFFFF] cpk:dark:disabled:hover:bg-transparent cpk:dark:disabled:hover:text-[#CCCCCC]",onClick:D[3]||(D[3]=K=>a("start-transcribe"))},[t.createVNode(t.unref(fe.Mic),{class:"cpk:size-[18px]"})],8,vp)]):t.createCommentVNode("",!0),t.renderSlot(C.$slots,"send-button",{disabled:Ne.value,isProcessing:ne.value,onClick:Ue},()=>[t.createElementVNode("div",bp,[t.createElementVNode("button",{type:"button","data-testid":"copilot-chat-input-send","aria-label":"Send message",disabled:Ne.value,class:"cpk:inline-flex cpk:h-9 cpk:w-9 cpk:shrink-0 cpk:items-center cpk:justify-center cpk:rounded-full cpk:bg-black cpk:text-white cpk:transition-colors cpk:hover:opacity-70 cpk:disabled:cursor-not-allowed cpk:disabled:opacity-50 cpk:disabled:bg-[#00000014] cpk:disabled:text-[rgb(13,13,13)] cpk:disabled:hover:opacity-100 cpk:dark:bg-white cpk:dark:text-black cpk:dark:disabled:bg-[#454545] cpk:dark:disabled:text-white",onClick:Ue},[ne.value&&H.value?(t.openBlock(),t.createBlock(t.unref(fe.Square),{key:0,class:"cpk:size-[18px] cpk:fill-current"})):(t.openBlock(),t.createBlock(t.unref(fe.ArrowUp),{key:1,class:"cpk:size-[18px]"}))],8,kp)])])],64))],2)],10,ip)],8,sp)])]),M.value?t.renderSlot(C.$slots,"disclaimer",{key:0,labels:P.value},()=>[t.createElementVNode("p",yp,t.toDisplayString(P.value.chatDisclaimerText),1)]):t.createCommentVNode("",!0)],16))}}),wp=["data-card-type"],Sp={key:0,class:"cpk:absolute cpk:inset-0 cpk:flex cpk:items-center cpk:justify-center cpk:bg-black/40 cpk:z-10","data-testid":"copilot-chat-attachment-uploading-overlay"},Cp=["onClick"],Tp=["src","alt"],xp={key:1,class:"cpk:w-full cpk:h-full cpk:relative"},Ip=["src","alt"],Ep=["src"],Rp=["onClick"],Ap={key:2,class:"cpk:flex cpk:flex-col cpk:gap-1 cpk:w-full"},_p=["src"],$p={key:0,class:"cpk:text-xs cpk:font-medium cpk:overflow-hidden cpk:text-ellipsis cpk:whitespace-nowrap"},Mp=["onClick"],Np={class:"cpk:w-8 cpk:h-8 cpk:rounded-md cpk:bg-primary cpk:text-primary-foreground cpk:flex cpk:items-center cpk:justify-center cpk:text-[10px] cpk:font-semibold cpk:shrink-0"},zp={class:"cpk:flex cpk:flex-col cpk:min-w-0"},Op={class:"cpk:text-xs cpk:font-medium cpk:break-all cpk:leading-tight","data-testid":"copilot-chat-attachment-document-filename"},Bp={key:0,class:"cpk:text-[11px] cpk:text-muted-foreground"},Fp={key:2,class:"cpk:w-full cpk:h-full cpk:bg-muted-foreground/20","data-testid":"copilot-chat-attachment-placeholder"},Dp=["onClick"],Pp=["src","alt"],Vp=["src"],Lp=["src","title"],Up={key:1,class:"cpk:w-[90vw] cpk:max-w-[800px] cpk:max-h-[90vh] cpk:overflow-auto cpk:rounded-lg cpk:bg-white cpk:dark:bg-gray-900 cpk:p-6"},jp={key:0,class:"cpk:text-sm cpk:whitespace-pre-wrap cpk:wrap-break-word cpk:text-gray-800 cpk:dark:text-gray-200 cpk:font-mono cpk:m-0","data-testid":"copilot-chat-attachment-lightbox-document-text"},Zp=["src","title"],Hp={key:2,class:"cpk:flex cpk:flex-col cpk:items-center cpk:gap-4 cpk:p-8 cpk:rounded-lg cpk:bg-white cpk:dark:bg-gray-900","data-testid":"copilot-chat-attachment-lightbox-document-fallback"},Gp={class:"cpk:w-16 cpk:h-16 cpk:rounded-xl cpk:bg-primary cpk:text-primary-foreground cpk:flex cpk:items-center cpk:justify-center cpk:text-xl cpk:font-bold"},Wp={class:"cpk:text-center"},Kp={class:"cpk:text-base cpk:font-medium cpk:text-gray-800 cpk:dark:text-gray-200"},qp={class:"cpk:text-sm cpk:text-gray-500 cpk:dark:text-gray-400 cpk:mt-1"},wn=t.defineComponent({__name:"CopilotChatAttachmentQueue",props:{attachments:{default:()=>[]},className:{default:""}},emits:["remove-attachment"],setup(e,{emit:n}){const o=e,a=n,r=t.ref(null),s=t.ref(null),i=t.computed(()=>r.value!==null),l=t.computed(()=>{const v=r.value;if(!v||v.type!=="document")return!1;const S=v.source.mimeType;return p(S)||f(S)}),c=t.computed(()=>{const v=r.value;if(!v||v.type!=="document")return null;const S=v.source.mimeType;if(!f(S)||v.source.type!=="data")return null;try{return atob(v.source.value)}catch{return v.source.value}}),u=t.computed(()=>{const v=r.value;return!v||v.type!=="document"?null:v.source.type==="url"?v.source.value:s.value});t.watch(r,(v,S)=>{if(s.value&&(URL.revokeObjectURL(s.value),s.value=null),!v||v.type!=="document"||v.source.type!=="data"||typeof window>"u")return;const m=v.source.mimeType;if(!p(m)&&!f(m))return;const k=b(v.source.value,m);s.value=k},{immediate:!0}),t.watch(i,(v,S,m)=>{if(!v||typeof document>"u")return;const k=w=>{w.key==="Escape"&&h()};document.addEventListener("keydown",k),m(()=>{document.removeEventListener("keydown",k)})}),t.onBeforeUnmount(()=>{s.value&&(URL.revokeObjectURL(s.value),s.value=null)});function d(v){if(typeof document<"u"){const S=document;if(typeof S.startViewTransition=="function"){S.startViewTransition(()=>{r.value=v});return}}r.value=v}function h(){r.value=null}function g(v){return v.type==="image"||v.type==="video"?"cpk:w-[72px] cpk:h-[72px]":v.type==="audio"?"cpk:min-w-[200px] cpk:max-w-[280px] cpk:flex-col cpk:p-1 cpk:pr-8":"cpk:p-2 cpk:px-3 cpk:pr-8 cpk:max-w-[240px]"}function p(v){return!!v&&v.includes("pdf")}function f(v){return!!v&&v.startsWith("text/")}function b(v,S){try{const m=atob(v),k=new Uint8Array(m.length);for(let T=0;T<m.length;T+=1)k[T]=m.charCodeAt(T);const w=new Blob([k],{type:S||"application/octet-stream"});return URL.createObjectURL(w)}catch(m){return console.error("[CopilotKit] Failed to decode attachment data:",m),null}}return(v,S)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[o.attachments.length>0?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["cpk:flex cpk:flex-wrap cpk:gap-2 cpk:p-2",o.className]),"data-testid":"copilot-chat-attachment-queue"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.attachments,m=>(t.openBlock(),t.createElementBlock("div",{key:m.id,class:t.normalizeClass(["cpk:relative cpk:inline-flex cpk:rounded-lg cpk:overflow-hidden cpk:border cpk:border-border",g(m)]),"data-testid":"copilot-chat-attachment-item","data-card-type":m.type},[m.status==="uploading"?(t.openBlock(),t.createElementBlock("div",Sp,[...S[1]||(S[1]=[t.createElementVNode("div",{class:"cpk:w-5 cpk:h-5 cpk:border-2 cpk:border-white cpk:border-t-transparent cpk:rounded-full cpk:animate-spin"},null,-1)])])):t.createCommentVNode("",!0),m.status==="ready"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[m.type==="image"?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"cpk:w-full cpk:h-full cpk:border-none cpk:bg-transparent cpk:p-0 cpk:cursor-pointer","data-testid":"copilot-chat-attachment-image-button",onClick:k=>d(m)},[t.createElementVNode("img",{src:t.unref(G.getSourceUrl)(m.source),alt:m.filename||"Image attachment",class:"cpk:w-full cpk:h-full cpk:object-cover","data-testid":"copilot-chat-attachment-image-thumbnail"},null,8,Tp)],8,Cp)):m.type==="video"?(t.openBlock(),t.createElementBlock("div",xp,[m.thumbnail?(t.openBlock(),t.createElementBlock("img",{key:0,src:m.thumbnail,alt:m.filename||"Video thumbnail",class:"cpk:w-full cpk:h-full cpk:object-cover","data-testid":"copilot-chat-attachment-video-thumbnail"},null,8,Ip)):(t.openBlock(),t.createElementBlock("video",{key:1,src:t.unref(G.getSourceUrl)(m.source),preload:"metadata",muted:"",class:"cpk:w-full cpk:h-full cpk:object-cover","data-testid":"copilot-chat-attachment-video-fallback"},null,8,Ep)),t.createElementVNode("button",{type:"button",class:"cpk:absolute cpk:inset-0 cpk:flex cpk:items-center cpk:justify-center cpk:z-10 cpk:cursor-pointer cpk:bg-black/20 cpk:border-none cpk:p-0","aria-label":"Play video","data-testid":"copilot-chat-attachment-video-play",onClick:k=>d(m)},[...S[2]||(S[2]=[t.createElementVNode("div",{class:"cpk:w-8 cpk:h-8 cpk:rounded-full cpk:bg-black/60 cpk:flex cpk:items-center cpk:justify-center cpk:text-white cpk:text-xs cpk:font-semibold"}," ▶ ",-1)])],8,Rp)])):m.type==="audio"?(t.openBlock(),t.createElementBlock("div",Ap,[t.createElementVNode("audio",{src:t.unref(G.getSourceUrl)(m.source),controls:"",preload:"metadata",class:"cpk:w-full cpk:h-8","data-testid":"copilot-chat-attachment-audio-player"},null,8,_p),m.filename?(t.openBlock(),t.createElementBlock("span",$p,t.toDisplayString(m.filename),1)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createElementBlock("button",{key:3,type:"button",class:t.normalizeClass(["cpk:flex cpk:items-center cpk:gap-2 cpk:w-full cpk:border-none cpk:bg-transparent cpk:p-0 cpk:text-left",p(m.source.mimeType)||f(m.source.mimeType)?"cpk:cursor-pointer":"cpk:cursor-default"]),"data-testid":"copilot-chat-attachment-document-button",onClick:k=>(p(m.source.mimeType)||f(m.source.mimeType))&&d(m)},[t.createElementVNode("div",Np,t.toDisplayString(t.unref(G.getDocumentIcon)(m.source.mimeType??"")),1),t.createElementVNode("div",zp,[t.createElementVNode("span",Op,t.toDisplayString(m.filename||"Document"),1),m.size!=null?(t.openBlock(),t.createElementBlock("span",Bp,t.toDisplayString(t.unref(G.formatFileSize)(m.size)),1)):t.createCommentVNode("",!0)])],10,Mp))],64)):(t.openBlock(),t.createElementBlock("div",Fp)),t.createElementVNode("button",{type:"button",class:"cpk:absolute cpk:bg-black/60 cpk:text-white cpk:border-none cpk:rounded-full cpk:w-5 cpk:h-5 cpk:flex cpk:items-center cpk:justify-center cpk:cursor-pointer cpk:text-[10px] cpk:z-20 cpk:top-1 cpk:right-1","aria-label":"Remove attachment",onClick:k=>a("remove-attachment",m.id)}," ✕ ",8,Dp)],10,wp))),128))],2)):t.createCommentVNode("",!0),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[r.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"cpk:fixed cpk:inset-0 cpk:z-[9999] cpk:flex cpk:items-center cpk:justify-center cpk:bg-black/80","data-testid":"copilot-chat-attachment-lightbox",onClick:h},[t.createElementVNode("button",{type:"button",class:"cpk:absolute cpk:top-4 cpk:right-4 cpk:text-white cpk:bg-white/10 cpk:hover:bg-white/20 cpk:rounded-full cpk:w-10 cpk:h-10 cpk:flex cpk:items-center cpk:justify-center cpk:cursor-pointer cpk:border-none","aria-label":"Close preview",onClick:t.withModifiers(h,["stop"])}," ✕ "),t.createElementVNode("div",{"data-testid":"copilot-chat-attachment-lightbox-content",onClick:S[0]||(S[0]=t.withModifiers(()=>{},["stop"]))},[r.value.type==="image"?(t.openBlock(),t.createElementBlock("img",{key:0,src:t.unref(G.getSourceUrl)(r.value.source),alt:r.value.filename||"Image attachment",class:"cpk:max-w-[90vw] cpk:max-h-[90vh] cpk:object-contain cpk:rounded-lg","data-testid":"copilot-chat-attachment-lightbox-image"},null,8,Pp)):r.value.type==="video"?(t.openBlock(),t.createElementBlock("video",{key:1,src:t.unref(G.getSourceUrl)(r.value.source),controls:"",autoplay:"",class:"cpk:max-w-[90vw] cpk:max-h-[90vh] cpk:rounded-lg","data-testid":"copilot-chat-attachment-lightbox-video"},null,8,Vp)):r.value.type==="document"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[l.value&&p(r.value.source.mimeType)&&u.value?(t.openBlock(),t.createElementBlock("iframe",{key:0,src:u.value,title:r.value.filename||"PDF preview",class:"cpk:w-[90vw] cpk:h-[90vh] cpk:max-w-[1000px] cpk:rounded-lg cpk:bg-white","data-testid":"copilot-chat-attachment-lightbox-document-iframe"},null,8,Lp)):l.value&&f(r.value.source.mimeType)?(t.openBlock(),t.createElementBlock("div",Up,[c.value!==null?(t.openBlock(),t.createElementBlock("pre",jp,t.toDisplayString(c.value),1)):u.value?(t.openBlock(),t.createElementBlock("iframe",{key:1,src:u.value,title:r.value.filename||"Text preview",class:"cpk:w-full cpk:h-[80vh] cpk:border-none","data-testid":"copilot-chat-attachment-lightbox-document-iframe"},null,8,Zp)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createElementBlock("div",Hp,[t.createElementVNode("div",Gp,t.toDisplayString(t.unref(G.getDocumentIcon)(r.value.source.mimeType??"")),1),t.createElementVNode("div",Wp,[t.createElementVNode("div",Kp,t.toDisplayString(r.value.filename||"Document"),1),t.createElementVNode("div",qp,t.toDisplayString(r.value.source.mimeType||"Unknown type")+" "+t.toDisplayString(r.value.size!=null?` · ${t.unref(G.formatFileSize)(r.value.size)}`:""),1)]),S[3]||(S[3]=t.createElementVNode("div",{class:"cpk:text-xs cpk:text-gray-400 cpk:dark:text-gray-500"}," No preview available for this file type ",-1))]))],64)):t.createCommentVNode("",!0)])])):t.createCommentVNode("",!0)]))],64))}}),Jp=["data-message-id"],Xp=["aria-expanded"],Yp={class:"cpk:font-medium"},Qp={key:0,class:"cpk:inline-flex cpk:items-center cpk:ml-1"},em={class:"cpk:overflow-hidden"},tm={key:0,class:"cpk:pb-2 cpk:pt-1"},nm={class:"cpk:text-sm cpk:text-muted-foreground"},om={key:0,class:"cpk:inline-flex cpk:items-center cpk:ml-1 cpk:align-middle"},cs=t.defineComponent({__name:"CopilotChatReasoningMessage",props:{message:{},messages:{default:()=>[]},isRunning:{type:Boolean,default:!1}},setup(e){const n=e;function o(v){if(v<1)return"a few seconds";if(v<60)return`${Math.round(v)} seconds`;const S=Math.floor(v/60),m=Math.round(v%60);return m===0?`${S} minute${S>1?"s":""}`:`${S}m ${m}s`}const a=t.computed(()=>typeof n.message.content=="string"?n.message.content:""),r=t.computed(()=>a.value.length>0),s=t.computed(()=>n.messages[n.messages.length-1]?.id===n.message.id),i=t.computed(()=>!!(n.isRunning&&s.value)),l=t.ref(0),c=t.ref(i.value),u=t.ref(!1);let d=null,h=null;function g(){h&&(clearInterval(h),h=null)}function p(){d!==null&&(l.value=(Date.now()-d)/1e3)}t.watch(i,v=>{if(v){d===null&&(d=Date.now()),g(),h=setInterval(p,1e3),u.value=!1,c.value=!0;return}g(),p(),u.value||(c.value=!1)},{immediate:!0}),t.onBeforeUnmount(()=>{g()});const f=t.computed(()=>i.value?"Thinking…":`Thought for ${o(l.value)}`);function b(){r.value&&(u.value=!0,c.value=!c.value)}return(v,S)=>(t.openBlock(),t.createElementBlock("div",{"data-copilotkit":"",class:"cpk:my-1","data-message-id":e.message.id},[t.renderSlot(v.$slots,"layout",{message:e.message,messages:e.messages,isRunning:e.isRunning,header:{isOpen:c.value,label:f.value,hasContent:r.value,isStreaming:i.value,onClick:r.value?b:void 0},contentView:{isStreaming:i.value,hasContent:r.value,content:a.value},toggle:{isOpen:c.value,contentView:{isStreaming:i.value,hasContent:r.value,content:a.value}}},()=>[t.renderSlot(v.$slots,"header",{isOpen:c.value,label:f.value,hasContent:r.value,isStreaming:i.value,onClick:r.value?b:void 0},()=>[t.createElementVNode("button",{type:"button",class:t.normalizeClass(["cpk:inline-flex cpk:items-center cpk:gap-1 cpk:py-1 cpk:text-sm cpk:text-muted-foreground cpk:transition-colors cpk:select-none",r.value?"cpk:hover:text-foreground cpk:cursor-pointer":"cpk:cursor-default"]),"aria-expanded":r.value?c.value:void 0,onClick:S[0]||(S[0]=m=>r.value?b():void 0)},[t.createElementVNode("span",Yp,t.toDisplayString(f.value),1),i.value&&!r.value?(t.openBlock(),t.createElementBlock("span",Qp,[...S[1]||(S[1]=[t.createElementVNode("span",{class:"cpk:w-1.5 cpk:h-1.5 cpk:rounded-full cpk:bg-muted-foreground cpk:animate-pulse"},null,-1)])])):t.createCommentVNode("",!0),r.value?(t.openBlock(),t.createBlock(t.unref(fe.ChevronRight),{key:1,class:t.normalizeClass(["cpk:size-3.5 cpk:shrink-0 cpk:transition-transform cpk:duration-200",{"cpk:rotate-90":c.value}])},null,8,["class"])):t.createCommentVNode("",!0)],10,Xp)]),t.renderSlot(v.$slots,"toggle",{isOpen:c.value,contentView:{isStreaming:i.value,hasContent:r.value,content:a.value}},()=>[t.createElementVNode("div",{class:"cpk:grid cpk:transition-[grid-template-rows] cpk:duration-200 cpk:ease-in-out",style:t.normalizeStyle({gridTemplateRows:c.value?"1fr":"0fr"})},[t.createElementVNode("div",em,[t.renderSlot(v.$slots,"content-view",{isStreaming:i.value,hasContent:r.value,content:a.value},()=>[r.value||i.value?(t.openBlock(),t.createElementBlock("div",tm,[t.createElementVNode("div",nm,[t.createVNode(t.unref(Mo.StreamMarkdown),{content:a.value},null,8,["content"]),i.value&&r.value?(t.openBlock(),t.createElementBlock("span",om,[...S[2]||(S[2]=[t.createElementVNode("span",{class:"cpk:w-2 cpk:h-2 cpk:rounded-full cpk:bg-muted-foreground cpk:animate-pulse-cursor"},null,-1)])])):t.createCommentVNode("",!0)])])):t.createCommentVNode("",!0)])])],4)])])],8,Jp))}}),am=["data-message-id"],rm=["data-multiline"],sm={class:"cpk:w-full cpk:bg-transparent cpk:flex cpk:items-center cpk:justify-end cpk:-mr-[5px] cpk:mt-[4px] cpk:invisible cpk:group-hover:visible"},im={class:"cpk:flex cpk:items-center cpk:gap-1 cpk:justify-end"},lm=["aria-label","title"],cm=["aria-label","title"],um={class:"cpk:flex cpk:items-center cpk:gap-1"},dm=["disabled"],pm={class:"cpk:text-sm cpk:text-muted-foreground cpk:px-0 cpk:font-medium"},mm=["disabled"],us=t.defineComponent({__name:"CopilotChatUserMessage",props:{message:{},branchIndex:{default:0},numberOfBranches:{default:1},onEditMessage:{},onSwitchToBranch:{}},emits:["edit-message","switch-to-branch"],setup(e,{emit:n}){const o=e,a=n,r=Re(),s=t.computed(()=>r.value?.labels??ot),i=t.ref(!1);let l=null;const c=["cpk:inline-flex cpk:h-8 cpk:w-8 cpk:items-center cpk:justify-center cpk:rounded-md cpk:p-0","cpk:cursor-pointer cpk:text-[rgb(93,93,93)] cpk:transition-colors cpk:hover:bg-[#E8E8E8]","cpk:hover:text-[rgb(93,93,93)] cpk:dark:text-[rgb(243,243,243)] cpk:dark:hover:bg-[#303030]","cpk:dark:hover:text-[rgb(243,243,243)] cpk:disabled:pointer-events-none cpk:disabled:opacity-50"].join(" ");function u(y){return y?typeof y=="string"?y:y.map(A=>A&&typeof A=="object"&&"type"in A&&A.type==="text"&&typeof A.text=="string"?A.text:"").filter(A=>A.length>0).join(`
|
|
99
|
+
`):""}const d=t.computed(()=>u(o.message.content)),h=t.computed(()=>d.value.includes(`
|
|
100
|
+
`)),g=t.computed(()=>typeof o.onEditMessage=="function"),p=t.computed(()=>o.numberOfBranches>1&&typeof o.onSwitchToBranch=="function"),f=t.computed(()=>p.value&&o.branchIndex>0),b=t.computed(()=>p.value&&o.branchIndex<o.numberOfBranches-1);function v(){l&&clearTimeout(l),i.value=!0,l=setTimeout(()=>{i.value=!1,l=null},2e3)}async function S(){if(d.value&&!(typeof navigator>"u"||typeof navigator.clipboard?.writeText!="function"))try{await navigator.clipboard.writeText(d.value),v()}catch(y){console.error("Failed to copy to clipboard:",y)}}function m(){if(!g.value)return;const y={message:o.message};a("edit-message",y)}function k(y){if(!p.value)return;const A={branchIndex:y,numberOfBranches:o.numberOfBranches,message:o.message};a("switch-to-branch",A)}function w(){f.value&&k(o.branchIndex-1)}function T(){b.value&&k(o.branchIndex+1)}return t.onBeforeUnmount(()=>{l&&clearTimeout(l)}),(y,A)=>t.renderSlot(y.$slots,"layout",{message:e.message,content:d.value,isMultiline:h.value,showBranchNavigation:p.value,hasEditAction:g.value,branchIndex:e.branchIndex,numberOfBranches:e.numberOfBranches,canGoPrev:f.value,canGoNext:b.value,onCopy:S,onEdit:m,goPrev:w,goNext:T,copied:i.value},()=>[t.createElementVNode("div",t.mergeProps({"data-copilotkit":"","data-testid":"copilot-user-message",class:"cpk:flex cpk:flex-col cpk:items-end cpk:group cpk:pt-10","data-message-id":e.message.id},y.$attrs),[t.renderSlot(y.$slots,"message-renderer",{message:e.message,content:d.value,isMultiline:h.value},()=>[t.createElementVNode("div",{class:t.normalizeClass(["cpk:prose cpk:dark:prose-invert cpk:bg-muted cpk:relative cpk:max-w-[80%] cpk:rounded-[18px] cpk:px-4 cpk:py-1.5 cpk:inline-block cpk:whitespace-pre-wrap",{"cpk:py-3":h.value}]),"data-multiline":h.value?"true":void 0},t.toDisplayString(d.value),11,rm)]),t.renderSlot(y.$slots,"toolbar",{message:e.message,showBranchNavigation:p.value,hasEditAction:g.value},()=>[t.createElementVNode("div",sm,[t.createElementVNode("div",im,[t.renderSlot(y.$slots,"toolbar-items"),t.renderSlot(y.$slots,"copy-button",{onCopy:S,copied:i.value,label:s.value.userMessageToolbarCopyMessageLabel},()=>[t.createElementVNode("button",{"data-testid":"copilot-user-copy-button",type:"button",class:t.normalizeClass(t.unref(c)),"aria-label":s.value.userMessageToolbarCopyMessageLabel,title:s.value.userMessageToolbarCopyMessageLabel,onClick:S},[i.value?(t.openBlock(),t.createBlock(t.unref(fe.Check),{key:0,class:"cpk:size-[18px]"})):(t.openBlock(),t.createBlock(t.unref(fe.Copy),{key:1,class:"cpk:size-[18px]"}))],10,lm)]),g.value||y.$slots["edit-button"]?t.renderSlot(y.$slots,"edit-button",{key:0,onEdit:m,label:s.value.userMessageToolbarEditMessageLabel},()=>[t.createElementVNode("button",{type:"button",class:t.normalizeClass(t.unref(c)),"aria-label":s.value.userMessageToolbarEditMessageLabel,title:s.value.userMessageToolbarEditMessageLabel,onClick:m},[t.createVNode(t.unref(fe.Edit),{class:"cpk:size-[18px]"})],10,cm)]):t.createCommentVNode("",!0),e.numberOfBranches>1&&(p.value||y.$slots["branch-navigation"])?t.renderSlot(y.$slots,"branch-navigation",{key:1,branchIndex:e.branchIndex,numberOfBranches:e.numberOfBranches,canGoPrev:f.value,canGoNext:b.value,goPrev:w,goNext:T},()=>[t.createElementVNode("div",um,[t.createElementVNode("button",{type:"button",class:t.normalizeClass([t.unref(c),"cpk:h-6 cpk:w-6 cpk:p-0"]),disabled:!f.value,"aria-label":"Previous branch",title:"Previous branch",onClick:w},[t.createVNode(t.unref(fe.ChevronLeft),{class:"cpk:size-[20px]"})],10,dm),t.createElementVNode("span",pm,t.toDisplayString(e.branchIndex+1)+"/"+t.toDisplayString(e.numberOfBranches),1),t.createElementVNode("button",{type:"button",class:t.normalizeClass([t.unref(c),"cpk:h-6 cpk:w-6 cpk:p-0"]),disabled:!b.value,"aria-label":"Next branch",title:"Next branch",onClick:T},[t.createVNode(t.unref(fe.ChevronRight),{class:"cpk:size-[20px]"})],10,mm)])]):t.createCommentVNode("",!0)])])])],16,am)])}}),ds=t.defineComponent({__name:"CopilotChatMessageView",props:{messages:{default:()=>[]},isRunning:{type:Boolean,default:!1}},setup(e){const n=e,{copilotkit:o}=Pe(),a=Re(),r=t.ref(0),s=t.ref(null),i=t.useSlots(),l=t.computed(()=>Object.keys(i)),c=t.computed(()=>a.value?.agentId??G.DEFAULT_AGENT_ID),u=t.computed(()=>(o.value.agents,o.value.getAgent(c.value)));t.watch([c,()=>a.value?.threadId,()=>o.value,()=>o.value.runtimeConnectionStatus],(y,A,I)=>{const _=u.value;if(!_)return;const z=_.subscribe({onStateChanged:()=>{r.value+=1},onRunStartedEvent:()=>{r.value+=1},onRunFinishedEvent:()=>{r.value+=1},onRunErrorEvent:()=>{r.value+=1}});I(()=>z.unsubscribe())},{immediate:!0}),t.watch(()=>o.value,(y,A,I)=>{s.value=y.interruptState;const _=y.subscribe({onInterruptStateChanged:({interruptState:z})=>{s.value=z},onRuntimeConnectionStatusChanged:()=>{r.value+=1}});I(()=>_.unsubscribe())},{immediate:!0});function d(y){const A=new Map;for(const I of y){const _=A.get(I.id);if(_&&I.role==="assistant"&&_.role==="assistant"){const z=I.content||_.content,O=I.toolCalls??_.toolCalls;A.set(I.id,{..._,...I,content:z,toolCalls:O})}else A.set(I.id,I)}return[...A.values()]}const h=t.computed(()=>d(n.messages)),g=G.createRowKeyStore(),p=t.computed(()=>G.resolveRowRenderKeysById(g,h.value));t.onMounted(()=>G.commitRowKeyStore(g,h.value)),t.watch(h,y=>G.commitRowKeyStore(g,y),{flush:"post"});const f=t.computed(()=>n.messages[n.messages.length-1]),b=t.computed(()=>n.isRunning&&f.value?.role!=="reasoning");t.watch([()=>n.messages.length,()=>h.value.length],([y,A])=>{process.env.NODE_ENV==="development"&&A<y&&console.warn(`CopilotChatMessageView: Deduplicated ${y-A} message(s) with duplicate IDs.`)},{immediate:!0});function v(y){r.value+=0;const A=c.value,I=a.value?.threadId??"",_=o.value,z=_.getRunIdForMessage(A,I,y.id)??_.getRunIdsForThread(A,I).slice(-1)[0],O=z??`missing-run-id:${y.id}`,F=u.value??_.getAgent(A),j=z&&F?F.messages.filter(M=>_.getRunIdForMessage(A,I,M.id)===z).map(M=>M.id):[y.id],x=F?F.messages.findIndex(M=>M.id===y.id):-1,E=x>=0?x:0,P=z?Math.max(j.indexOf(y.id),0):0,N=z?j.length:1;let B,ne=!1;return{runId:O,messageIndex:E,messageIndexInRun:P,numberOfMessagesInRun:N,agentId:A,get stateSnapshot(){return ne||(ne=!0,B=z?_.getStateByRun(A,I,z):void 0),B}}}function S(y,A){return Object.assign(v(y),{message:y,position:A})}const m=({render:y,slotProps:A})=>y(A);m.props=["render","slotProps"];function k(y){return`activity-${y}`}function w(y,A){if(r.value+=0,i[A==="before"?"message-before":"message-after"])return null;const _=c.value,O=[...o.value.renderCustomMessages].filter(F=>F.agentId===void 0||F.agentId===_).sort((F,j)=>{const x=F.agentId!==void 0,E=j.agentId!==void 0;return x===E?0:x?-1:1})[0];return O?.render?{renderer:O.render,props:S(y,A)}:null}function T(y){r.value+=0;const A=c.value,I=[...o.value.renderActivityMessages].filter(z=>z.activityType===y.activityType&&(z.agentId===void 0||z.agentId===A)).sort((z,O)=>{const F=z.agentId!==void 0,j=O.agentId!==void 0;return F===j?0:F?-1:1})[0];if(!I)return null;const _=I.content.safeParse(y.content);return _.success?{renderer:I.render,props:{activityType:y.activityType,content:_.data,message:y,agent:u.value}}:null}return(y,A)=>(t.openBlock(),t.createElementBlock("div",t.mergeProps({"data-copilotkit":"",class:"cpk:flex cpk:flex-col"},y.$attrs),[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,I=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:p.value.get(I.id)??I.id},[t.unref(i)["message-before"]?(t.openBlock(),t.createBlock(m,{key:0,render:t.unref(i)["message-before"],"slot-props":S(I,"before")},null,8,["render","slot-props"])):w(I,"before")?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(w(I,"before").renderer),t.mergeProps({key:1,ref_for:!0},w(I,"before").props),null,16)):t.createCommentVNode("",!0),I.role==="assistant"?t.renderSlot(y.$slots,"assistant-message",{key:2,message:I,messages:e.messages,isRunning:e.isRunning},()=>[t.createVNode(ns,{message:I,messages:e.messages,"is-running":e.isRunning},t.createSlots({_:2},[t.renderList(l.value,_=>({name:_,fn:t.withCtx(z=>[t.renderSlot(y.$slots,_,t.mergeProps({ref_for:!0},z))])}))]),1032,["message","messages","is-running"])]):I.role==="user"?t.renderSlot(y.$slots,"user-message",{key:3,message:I},()=>[t.createVNode(us,{message:I},t.createSlots({_:2},[t.renderList(l.value,_=>({name:_,fn:t.withCtx(z=>[t.renderSlot(y.$slots,_,t.mergeProps({ref_for:!0},z))])}))]),1032,["message"])]):I.role==="reasoning"?t.renderSlot(y.$slots,"reasoning-message",{key:4,message:I,messages:e.messages,isRunning:e.isRunning},()=>[t.createVNode(cs,{message:I,messages:e.messages,"is-running":e.isRunning},null,8,["message","messages","is-running"])]):I.role==="activity"?t.renderSlot(y.$slots,k(I.activityType),{key:5,activityType:I.activityType,content:I.content,message:I,agent:u.value},()=>[t.renderSlot(y.$slots,"activity-message",{activityType:I.activityType,content:I.content,message:I,agent:u.value},()=>[T(I)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(T(I).renderer),t.mergeProps({key:0,ref_for:!0},T(I).props),null,16)):t.createCommentVNode("",!0)])]):t.createCommentVNode("",!0),t.unref(i)["message-after"]?(t.openBlock(),t.createBlock(m,{key:6,render:t.unref(i)["message-after"],"slot-props":S(I,"after")},null,8,["render","slot-props"])):w(I,"after")?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(w(I,"after").renderer),t.mergeProps({key:7,ref_for:!0},w(I,"after").props),null,16)):t.createCommentVNode("",!0)],64))),128)),s.value?t.renderSlot(y.$slots,"interrupt",{key:0,event:s.value.event,interrupt:s.value.interrupt,interrupts:s.value.interrupts,result:s.value.result,resolve:s.value.resolve,cancel:s.value.cancel}):t.createCommentVNode("",!0),b.value?t.renderSlot(y.$slots,"cursor",{key:1},()=>[A[0]||(A[0]=t.createElementVNode("div",{class:"cpk:w-[11px] cpk:h-[11px] cpk:rounded-full cpk:bg-foreground cpk:animate-pulse cpk:ml-1","data-testid":"copilot-loading-cursor"},null,-1))]):t.createCommentVNode("",!0)],16))}}),fm=["type","aria-busy","disabled"],hm={key:0,class:"cpk:flex cpk:h-3.5 cpk:w-3.5 cpk:items-center cpk:justify-center cpk:text-muted-foreground cpk:sm:h-4 cpk:sm:w-4"},gm={key:1,class:"cpk:flex cpk:h-3.5 cpk:w-3.5 cpk:items-center cpk:justify-center cpk:text-muted-foreground cpk:sm:h-4 cpk:sm:w-4"},vm={class:"cpk:whitespace-nowrap cpk:font-medium cpk:leading-none"},ps=t.defineComponent({__name:"CopilotChatSuggestionPill",props:{icon:{default:void 0},isLoading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},type:{default:"button"}},setup(e){const n=e,o=t.computed(()=>n.isLoading||n.disabled);return(a,r)=>(t.openBlock(),t.createElementBlock("button",t.mergeProps({"data-copilotkit":"","data-slot":"suggestion-pill","data-testid":"copilot-chat-suggestion-pill",type:e.type,"aria-busy":e.isLoading?"true":void 0,disabled:o.value,class:"cpk:group cpk:inline-flex cpk:h-7 cpk:w-fit cpk:items-center cpk:gap-1 cpk:rounded-full cpk:border cpk:border-border/60 cpk:bg-background cpk:px-2.5 cpk:text-[11px] cpk:leading-none cpk:text-foreground cpk:transition-colors cpk:cursor-pointer cpk:hover:bg-accent/60 cpk:hover:text-foreground cpk:focus-visible:outline-none cpk:focus-visible:ring-2 cpk:focus-visible:ring-ring cpk:focus-visible:ring-offset-2 cpk:focus-visible:ring-offset-background cpk:disabled:cursor-not-allowed cpk:disabled:text-muted-foreground cpk:disabled:hover:bg-background cpk:disabled:hover:text-muted-foreground cpk:pointer-events-auto cpk:sm:h-8 cpk:sm:gap-1.5 cpk:sm:px-3 cpk:sm:text-xs"},a.$attrs),[e.isLoading?(t.openBlock(),t.createElementBlock("span",hm,[t.createVNode(t.unref(fe.Loader2),{class:"cpk:h-3.5 cpk:w-3.5 cpk:animate-spin cpk:sm:h-4 cpk:sm:w-4","aria-hidden":"true"})])):a.$slots.icon||e.icon?(t.openBlock(),t.createElementBlock("span",gm,[t.renderSlot(a.$slots,"icon",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.icon)))])])):t.createCommentVNode("",!0),t.createElementVNode("span",vm,[t.renderSlot(a.$slots,"default")])],16,fm))}}),At=t.defineComponent({inheritAttrs:!1,__name:"CopilotChatSuggestionView",props:{suggestions:{},loadingIndexes:{default:()=>[]}},emits:["select-suggestion"],setup(e,{emit:n}){const o=e,a=n,r=t.useAttrs(),s=t.computed(()=>new Set(o.loadingIndexes)),i=t.computed(()=>["cpk:flex cpk:flex-wrap cpk:items-center cpk:gap-1.5 cpk:pl-0 cpk:pr-4 cpk:pointer-events-none cpk:sm:gap-2 cpk:@3xl:px-0",r.class]),l=t.computed(()=>{const{class:h,...g}=r;return g});function c(h,g){return s.value.has(h)||g.isLoading===!0}function u(h,g){a("select-suggestion",h,g)}const d=t.computed(()=>({suggestions:o.suggestions,loadingIndexes:o.loadingIndexes,onSelectSuggestion:u,containerClass:i.value,containerAttrs:l.value}));return(h,g)=>t.renderSlot(h.$slots,"layout",t.normalizeProps(t.guardReactiveProps(d.value)),()=>[t.renderSlot(h.$slots,"container",t.normalizeProps(t.guardReactiveProps(d.value)),()=>[t.createElementVNode("div",t.mergeProps({"data-copilotkit":"","data-testid":"copilot-chat-suggestion-view",class:i.value},l.value),[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.suggestions,(p,f)=>t.renderSlot(h.$slots,"suggestion",{key:`${p.title}-${f}`,suggestion:p,index:f,isLoading:c(f,p),onSelect:()=>u(p,f)},()=>[t.createVNode(ps,{"is-loading":c(f,p),type:"button",onClick:b=>u(p,f)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(p.title),1)]),_:2},1032,["is-loading","onClick"])])),128))],16)])])}}),bm=["pin-to-bottom","pin-to-send","none"];function km(e){return e===void 0||e===!0?"pin-to-bottom":e===!1?"none":bm.includes(e)?e:"pin-to-bottom"}const ym={key:0,class:"cpk:absolute cpk:inset-0 cpk:z-50 cpk:pointer-events-none cpk:flex cpk:items-center cpk:justify-center cpk:bg-primary/5 cpk:border-2 cpk:border-dashed cpk:border-primary/40 cpk:rounded-lg cpk:m-2","data-testid":"copilot-chat-drop-overlay"},wm={class:"cpk:flex cpk:h-full cpk:flex-col cpk:items-center cpk:justify-center cpk:px-4","data-testid":"copilot-chat-view-welcome-screen"},Sm={class:"cpk:w-full cpk:max-w-3xl cpk:flex cpk:flex-col cpk:items-center"},Cm={class:"cpk:mb-6"},Tm={class:"cpk:text-xl cpk:sm:text-2xl cpk:font-medium cpk:text-foreground cpk:text-center"},xm={class:"cpk:w-full"},Im={key:0,class:"cpk:mt-4 cpk:flex cpk:justify-center"},Em={class:"cpk:px-4 cpk:@3xl:px-0 cpk:[div[data-sidebar-chat]_&]:px-8 cpk:[div[data-popup-chat]_&]:px-6"},Rm={class:"cpk:max-w-3xl cpk:mx-auto"},Am={key:0,class:"cpk:mt-4 cpk:pl-0 cpk:pr-4 cpk:@3xl:px-0"},_m={key:0,class:"cpk:max-w-3xl cpk:mx-auto cpk:w-full cpk:pointer-events-auto"},$m=16,Mm=12,Bt=t.defineComponent({__name:"CopilotChatView",props:{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:()=>[]},onSubmitMessage:{},onStop:{},onInputChange:{},onSelectSuggestion:{},onStartTranscribe:{},onCancelTranscribe:{},onFinishTranscribe:{},isConnecting:{type:Boolean,default:!1},hasExplicitThreadId:{type:Boolean,default:!1},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(e,{emit:n}){const o=e,a=n,r=Re(),s=t.computed(()=>r.value?.labels??ot),i=t.useSlots(),l=t.ref(null),c=t.ref(null),u=t.ref(null),d=t.ref(null),h=t.ref(0),g=t.ref(!0),p=t.computed(()=>o.inputValue!==void 0),f=t.ref(o.inputValue??""),b=t.computed(()=>km(o.autoScroll)),v=t.computed(()=>b.value==="pin-to-bottom"),S=t.computed(()=>b.value==="pin-to-send");ap({scrollRef:l,contentRef:c,spacerRef:u,topOffset:16});const{isKeyboardOpen:m,keyboardHeight:k}=is(),w=t.computed(()=>m.value?k.value:0),T=t.computed(()=>p.value?o.inputValue??"":f.value),y=t.computed(()=>!o.isConnecting&&!o.isRunning&&Array.isArray(o.suggestions)&&o.suggestions.length>0),A=t.computed(()=>Array.isArray(o.attachments)&&o.attachments.length>0),I=t.computed(()=>Object.keys(i).filter(V=>V!=="message-view"&&V!=="scroll-view"&&V!=="feather"&&V!=="scroll-to-bottom-button"&&V!=="input"&&V!=="suggestion-view"&&V!=="welcome-screen"&&V!=="welcome-message")),_=t.computed(()=>o.messages.length===0&&o.welcomeScreen!==!1&&!o.isConnecting&&!o.hasExplicitThreadId),z=t.computed(()=>`${h.value+(y.value?4:32)}px`),O=t.computed(()=>!_.value&&!g.value);let F=null,j=null;function x(){if(typeof ResizeObserver>"u")return;F?.disconnect(),F=null;const V=d.value;V&&(F=new ResizeObserver(se=>{const Ie=g.value,Xe=se[0]?.contentRect?.height;typeof Xe=="number"?h.value=Xe:N(),P(),v.value&&Ie&&B("auto")}),F.observe(V))}function E(){if(typeof ResizeObserver>"u")return;j?.disconnect(),j=null;const V=c.value;V&&(j=new ResizeObserver(()=>{const se=g.value;P(),v.value&&se&&B("auto")}),j.observe(V))}t.watch(_,async V=>{V||(await t.nextTick(),N(),x(),E())}),t.watch(()=>o.inputValue,V=>{p.value&&(f.value=V??"")}),t.watch([()=>o.messages,()=>o.suggestions,()=>o.isRunning],async()=>{const V=g.value;await t.nextTick(),!(!v.value||!V)&&(B("auto"),typeof requestAnimationFrame=="function"&&requestAnimationFrame(()=>{B("auto")}))},{deep:!0});function P(){const V=l.value;if(!V){g.value=!0;return}const se=V.scrollHeight-V.scrollTop-V.clientHeight;g.value=se<=Mm}function N(){const V=d.value;h.value=V?.offsetHeight??0}function B(V="smooth"){const se=l.value;se&&(typeof se.scrollTo=="function"?se.scrollTo({top:se.scrollHeight,behavior:V}):se.scrollTop=se.scrollHeight,P())}function ne(){P()}function M(V){p.value||(f.value=V),a("input-change",V)}function Y(V){a("submit-message",V)}function H(){a("stop")}function Q(V,se){a("select-suggestion",V,se)}function ue(){a("add-file")}function X(V){o.onDragOver?.(V)}function ve(V){o.onDragLeave?.(V)}function Ae(V){o.onDrop?.(V)}function Ne(){a("start-transcribe")}function Ye(){a("cancel-transcribe")}function Qe(){a("finish-transcribe")}async function Ve(V){await o.onFinishTranscribeWithAudio?.(V)}const et=t.computed(()=>{const V={"onUpdate:modelValue":M,onSubmitMessage:o.onSubmitMessage?Y:void 0};return o.onStop&&(V.onStop=H),o.onAddFile&&(V.onAddFile=ue),o.onStartTranscribe&&(V.onStartTranscribe=Ne),o.onCancelTranscribe&&(V.onCancelTranscribe=Ye),o.onFinishTranscribe&&(V.onFinishTranscribe=Qe),o.onFinishTranscribeWithAudio&&(V.onFinishTranscribeWithAudio=Ve),V}),Je=t.computed(()=>!!o.onStop),Le=t.computed(()=>!!o.onAddFile),ke=t.computed(()=>!!o.onStartTranscribe);return t.onMounted(async()=>{await t.nextTick(),N(),P(),v.value&&(B("auto"),typeof requestAnimationFrame=="function"&&requestAnimationFrame(()=>{B("auto")})),x(),E()}),t.onBeforeUnmount(()=>{F?.disconnect(),j?.disconnect(),F=null,j=null}),(V,se)=>(t.openBlock(),t.createElementBlock("div",t.mergeProps({"data-copilotkit":"",class:"cpk:@container cpk:relative cpk:h-full","data-testid":"copilot-chat-view"},V.$attrs,{onDragover:X,onDragleave:ve,onDrop:Ae}),[e.dragOver?(t.openBlock(),t.createElementBlock("div",ym,[...se[3]||(se[3]=[t.createElementVNode("span",{class:"cpk:text-sm cpk:font-medium cpk:text-primary/70"}," Drop files here ",-1)])])):t.createCommentVNode("",!0),_.value?t.renderSlot(V.$slots,"welcome-screen",{key:1,suggestions:e.suggestions,loadingIndexes:e.suggestionLoadingIndexes,attachments:e.attachments??[],modelValue:T.value,isRunning:e.isRunning,inputMode:e.inputMode,inputToolsMenu:e.inputToolsMenu,canStop:Je.value,canAddFile:Le.value,canTranscribe:ke.value,onUpdateModelValue:M,onSubmitMessage:Y,onStop:H,onAddFile:ue,onStartTranscribe:Ne,onCancelTranscribe:Ye,onFinishTranscribe:Qe,onFinishTranscribeWithAudio:Ve,onSelectSuggestion:Q},()=>[t.createElementVNode("div",wm,[t.createElementVNode("div",Sm,[t.createElementVNode("div",Cm,[t.renderSlot(V.$slots,"welcome-message",{},()=>[t.createElementVNode("h1",Tm,t.toDisplayString(s.value.welcomeMessageText),1)])]),t.createElementVNode("div",xm,[A.value?(t.openBlock(),t.createBlock(wn,{key:0,attachments:e.attachments??[],"class-name":"cpk:mb-2",onRemoveAttachment:se[0]||(se[0]=Ie=>e.onRemoveAttachment&&e.onRemoveAttachment(Ie))},null,8,["attachments"])):t.createCommentVNode("",!0),t.renderSlot(V.$slots,"input",{modelValue:T.value,isRunning:e.isRunning,inputMode:e.inputMode,inputToolsMenu:e.inputToolsMenu,attachments:e.attachments??[],canStop:Je.value,canAddFile:Le.value,canTranscribe:ke.value,onUpdateModelValue:M,onSubmitMessage:Y,onStop:H,onAddFile:ue,onStartTranscribe:Ne,onCancelTranscribe:Ye,onFinishTranscribe:Qe,onFinishTranscribeWithAudio:Ve},()=>[t.createVNode(Rt,t.mergeProps({"model-value":T.value,"is-running":e.isRunning,mode:e.inputMode,"tools-menu":e.inputToolsMenu,positioning:"static","show-disclaimer":!0,"keyboard-height":w.value},et.value),null,16,["model-value","is-running","mode","tools-menu","keyboard-height"])])]),y.value?(t.openBlock(),t.createElementBlock("div",Im,[t.renderSlot(V.$slots,"suggestion-view",{suggestions:e.suggestions,loadingIndexes:e.suggestionLoadingIndexes,onSelectSuggestion:Q},()=>[t.createVNode(At,{suggestions:e.suggestions,"loading-indexes":e.suggestionLoadingIndexes,onSelectSuggestion:Q},null,8,["suggestions","loading-indexes"])])])):t.createCommentVNode("",!0)])])]):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.renderSlot(V.$slots,"scroll-view",{messages:e.messages,isRunning:e.isRunning,suggestions:e.suggestions,loadingIndexes:e.suggestionLoadingIndexes,messagePaddingBottom:z.value,showScrollToBottomButton:O.value,onSelectSuggestion:Q,onScroll:ne,scrollToBottom:B},()=>[t.createElementVNode("div",{ref_key:"scrollContainerRef",ref:l,"data-testid":"copilot-chat-view-scroll",class:"cpk:h-full cpk:max-h-full cpk:min-h-0 cpk:overflow-y-scroll cpk:overflow-x-hidden cpk:relative",onScroll:ne},[t.createElementVNode("div",Em,[t.createElementVNode("div",{ref_key:"scrollContentRef",ref:c,"data-testid":"copilot-scroll-content",style:t.normalizeStyle({paddingBottom:z.value})},[t.createElementVNode("div",Rm,[t.renderSlot(V.$slots,"message-view",{messages:e.messages,isRunning:e.isRunning},()=>[t.createVNode(ds,{messages:e.messages,"is-running":e.isRunning},t.createSlots({_:2},[t.renderList(I.value,Ie=>({name:Ie,fn:t.withCtx(Xe=>[t.renderSlot(V.$slots,Ie,t.normalizeProps(t.guardReactiveProps(Xe)))])}))]),1032,["messages","is-running"])]),y.value?(t.openBlock(),t.createElementBlock("div",Am,[t.renderSlot(V.$slots,"suggestion-view",{suggestions:e.suggestions,loadingIndexes:e.suggestionLoadingIndexes,onSelectSuggestion:Q},()=>[t.createVNode(At,{class:"cpk:mb-3 cpk:lg:ml-4 cpk:lg:mr-4 cpk:ml-0 cpk:mr-0",suggestions:e.suggestions,"loading-indexes":e.suggestionLoadingIndexes,onSelectSuggestion:Q},null,8,["suggestions","loading-indexes"])])])):t.createCommentVNode("",!0)])],4),S.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"spacerRef",ref:u,"data-pin-to-send-spacer":"","aria-hidden":"true",style:{height:"0px",flex:"0 0 auto"}},null,512)):t.createCommentVNode("",!0)])],544)]),t.renderSlot(V.$slots,"feather",{},()=>[se[4]||(se[4]=t.createElementVNode("div",{"data-testid":"copilot-chat-view-feather"},null,-1))]),O.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"cpk:absolute cpk:inset-x-0 cpk:flex cpk:justify-center cpk:z-30 cpk:pointer-events-none",style:t.normalizeStyle({bottom:`${h.value+$m}px`})},[t.renderSlot(V.$slots,"scroll-to-bottom-button",{onClick:()=>B()},()=>[t.createElementVNode("button",{type:"button","data-testid":"copilot-chat-view-scroll-to-bottom",class:"cpk:rounded-full cpk:w-10 cpk:h-10 cpk:p-0 cpk:pointer-events-auto cpk:bg-white cpk:dark:bg-gray-900 cpk:shadow-lg cpk:border cpk:border-gray-200 cpk:dark:border-gray-700 cpk:hover:bg-gray-50 cpk:dark:hover:bg-gray-800 cpk:flex cpk:items-center cpk:justify-center cpk:cursor-pointer",onClick:se[1]||(se[1]=Ie=>B())},[t.createVNode(t.unref(fe.ChevronDown),{class:"cpk:w-4 cpk:h-4 cpk:text-gray-600 cpk:dark:text-white"})])])],4)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"inputContainerRef",ref:d,class:"cpk:absolute cpk:bottom-0 cpk:left-0 cpk:right-0 cpk:z-20 cpk:pointer-events-none","data-testid":"copilot-input-overlay"},[A.value?(t.openBlock(),t.createElementBlock("div",_m,[t.createVNode(wn,{attachments:e.attachments??[],"class-name":"cpk:px-4",onRemoveAttachment:se[2]||(se[2]=Ie=>e.onRemoveAttachment&&e.onRemoveAttachment(Ie))},null,8,["attachments"])])):t.createCommentVNode("",!0),t.renderSlot(V.$slots,"input",{modelValue:T.value,isRunning:e.isRunning,inputMode:e.inputMode,inputToolsMenu:e.inputToolsMenu,attachments:e.attachments??[],canStop:Je.value,canAddFile:Le.value,canTranscribe:ke.value,onUpdateModelValue:M,onSubmitMessage:Y,onStop:H,onAddFile:ue,onStartTranscribe:Ne,onCancelTranscribe:Ye,onFinishTranscribe:Qe,onFinishTranscribeWithAudio:Ve},()=>[t.createVNode(Rt,t.mergeProps({"model-value":T.value,"is-running":e.isRunning,mode:e.inputMode,"tools-menu":e.inputToolsMenu,positioning:"static","show-disclaimer":!0,"keyboard-height":w.value,"bottom-anchored":!0},et.value),null,16,["model-value","is-running","mode","tools-menu","keyboard-height"])])],512)],64))],16))}});function Nm(e){const n=t.ref(null),o=(r,s)=>{n.value=null,le.emitInspectorActiveThread({requestId:r.requestId,threadId:s,agentId:r.agentId,source:"app"})},a=r=>{const s=n.value;!s||s.requestId!==r||(le.emitInspectorViewThreadResult({requestId:r,threadId:s.threadId,agentId:s.agentId,ok:!1,reason:"connect-failed"}),o(s,s.previousThreadId))};if(le.isInspectorThreadBridgeEnabled()){const r=le.onInspectorViewThread(i=>i.agentId!==e.agentId.value?!1:(n.value=n.value?{...n.value,...i}:{...i,previousThreadId:e.baseThreadId.value},le.emitInspectorViewThreadResult({...i,ok:!0}),le.emitInspectorActiveThread({...i,source:"override"}),!0)),s=le.onInspectorStopViewing(i=>{const l=n.value;l&&i.requestId===l.requestId&&i.agentId===l.agentId&&o(l,l.previousThreadId)});t.onBeforeUnmount(()=>{r(),s()})}return t.watch([e.agentId,e.baseThreadId],([r,s])=>{const i=n.value;if(i){if(r!==i.agentId){o(i,i.previousThreadId);return}s!==i.previousThreadId&&s!==i.threadId&&o(i,s)}}),{inspectorThreadId:t.computed(()=>n.value?.threadId??null),inspectorRequestId:t.computed(()=>n.value?.requestId??null),failInspectorOverride:a}}const zm=["accept"],Om={key:2,style:{position:"absolute",bottom:"100px",left:"50%",transform:"translateX(-50%)","background-color":"#ef4444",color:"white",padding:"8px 16px","border-radius":"8px","font-size":"14px","z-index":"50"}},Ln=t.defineComponent({inheritAttrs:!1,__name:"CopilotChat",props:{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(e,{emit:n}){const o=e,a=n,r=t.useAttrs(),s=t.useSlots(),i=Re(),{copilotkit:l}=Pe(),c=t.computed(()=>Object.keys(s).filter(Z=>Z!=="chat-view")),u=t.ref(G.randomUUID()),d=t.ref("input"),h=t.ref(o.inputValue??""),g=t.ref(null),p=t.ref(!1),f=t.ref(!1),b=t.ref(!1),v=t.shallowRef(null);let S=null;const m=new WeakMap;let k=Promise.resolve();const w=new WeakMap,T=t.computed(()=>o.agentId??i.value?.agentId??G.DEFAULT_AGENT_ID),y=t.computed(()=>o.threadId??i.value?.threadId),A=t.computed(()=>y.value??u.value),I=t.computed(()=>!!o.threadId||!!i.value?.hasExplicitThreadId),{inspectorThreadId:_,inspectorRequestId:z,failInspectorOverride:O}=Nm({agentId:T,baseThreadId:A}),F=t.computed(()=>_.value??A.value),j=t.computed(()=>_.value!==null||I.value),x=t.ref(null),E=t.computed(()=>j.value&&x.value!==F.value),P=qr(t.computed(()=>o.labels)),N=t.computed(()=>P.value),{agent:B}=rn({agentId:T,throttleMs:t.computed(()=>o.throttleMs)}),{suggestions:ne}=rs({agentId:T}),M=Ot(),Y=t.computed(()=>M.value.checkFeature("chat"));t.watch(Y,Z=>{Z||console.warn('[CopilotKit] Warning: "chat" feature is not licensed. Visit copilotkit.ai/pricing')},{immediate:!0});const H=t.computed(()=>l.value.audioFileTranscriptionEnabled),Q=t.computed(()=>typeof window<"u"&&typeof MediaRecorder<"u"),ue=t.computed(()=>H.value&&Q.value),{attachments:X,enabled:ve,dragOver:Ae,fileInputRef:Ne,containerRef:Ye,handleFileUpload:Qe,handleDragOver:Ve,handleDragLeave:et,handleDrop:Je,removeAttachment:Le,consumeAttachments:ke}=ss({config:t.computed(()=>o.attachments)}),V=t.computed(()=>p.value?"processing":d.value),se=t.ref(0),Ie=t.computed(()=>[...B.value?.messages??[]]),Xe=t.computed(()=>(se.value,B.value?.isRunning??!1)),Ee=t.computed(()=>Xe.value&&Ie.value.length>0),lt=t.computed(()=>{for(let Z=Ie.value.length-1;Z>=0;Z--){const oe=Ie.value[Z];if(oe?.role==="user")return oe.id}return null}),ct=t.ref(0);let ut=lt.value;t.watch(lt,Z=>{Z&&Z!==ut&&(ct.value+=1,ut=Z)});const gt=t.computed(()=>({id:lt.value,sendNonce:ct.value}));t.provide(ls,gt),t.watch(()=>B.value,(Z,oe,W)=>{if(!Z)return;const C=Z.subscribe({onRunStartedEvent:()=>{se.value+=1},onRunFinishedEvent:()=>{se.value+=1},onRunErrorEvent:()=>{se.value+=1}});W(()=>C.unsubscribe())},{immediate:!0}),t.watch(()=>o.inputValue,Z=>{Z!==void 0&&(h.value=Z)}),t.watch([()=>o.threadId,()=>i.value?.threadId],([Z,oe],W)=>{Z||oe||W&&(W[0]||W[1])&&(u.value=G.randomUUID())}),t.watch([()=>l.value,T,()=>o.onError],([Z,oe,W],C,D)=>{if(!W)return;const K=Z.subscribe({onError:ae=>{(ae.context?.agentId===oe||!ae.context?.agentId)&&W({error:ae.error,code:ae.code,context:ae.context})}});D(()=>K.unsubscribe())},{immediate:!0}),t.watch([()=>l.value,T,F,z],([Z,oe,W,C],D,K)=>{if(!C)return;const ae=Z.subscribe({onError:Ce=>{Ce.code===le.CopilotKitCoreErrorCode.AGENT_CONNECT_FAILED&&Ce.context?.agentId===oe&&Ce.context?.threadId===W&&O(C)}});K(()=>ae.unsubscribe())},{immediate:!0}),t.watch([f,()=>l.value,()=>B.value,F,j,z],([Z,oe,W,C,D,K],ae,Ce)=>{if(!Z||typeof window>"u"||!W)return;const pe=v.value;if(pe!==null&&pe.threadId!==C&&pe.inspectorRequestId!==K&&(pe.inspectorRequestId!==null||K!==null))try{oe.stopAgent({agent:W})}catch{}if(w.set(W,W.threadId),W.threadId=C,!D)return;const He=Wt.AbstractAgent.prototype,Ge=W,tt=Ge.connect!==He.connect,nt=Ge.connectAgent!==He.connectAgent;if(!tt&&!nt){x.value=C;return}const We=v.value,St=We&&We.core===oe&&We.agent===W&&We.threadId===C&&We.inspectorRequestId===K;let Ke;if(St&&We)Ke=We;else{const De=new AbortController;Ke={core:oe,agent:W,threadId:C,inspectorRequestId:K,abortController:De,detached:!1},v.value=Ke,S=Ke,k.then(()=>{if(!Ke.detached)return le.ɵisHttpAgent(W)&&(W.abortController=De),oe.connectAgent({agent:W})}).catch(Dt=>{if(Ke.detached){Ke.clearDiscardedBaseline?.();return}Dt instanceof Wt.AGUIConnectNotImplementedError||(console.error("CopilotChat: connectAgent failed",Dt),K&&O(K))}).finally(()=>{if(Ke.detached){Ke.clearDiscardedBaseline?.();return}(typeof requestAnimationFrame=="function"?requestAnimationFrame:vt=>setTimeout(vt,16))(()=>{Ke.detached||(x.value=Ke.threadId)})})}Ce(()=>{const De=v.value;if(!De||De!==Ke||!(b.value||l.value!==De.core||B.value!==De.agent||F.value!==De.threadId))return;De.detached=!0,De.abortController.abort();const vt=De.agent.detachActiveRun().catch(Ss=>{console.error("CopilotChat: detachActiveRun failed",Ss)});m.set(De.agent,vt),k=Promise.all([k,vt]).then(()=>{}),vt.then(()=>{m.get(De.agent)===vt&&m.delete(De.agent)}),v.value=null})},{immediate:!0});let U;t.watch([F,j,()=>B.value],([Z,oe,W],C,D)=>{const K=U,ae={threadId:Z,agent:W};if(U=ae,!W||oe||K===void 0||Z===K.threadId)return;let Ce=!0,pe=!0;D(()=>{Ce=!1});const _e=K.agent===W?K.threadId:w.get(W),He=()=>{_e&&("clearReplayCursor"in W&&typeof W.clearReplayCursor=="function"&&W.clearReplayCursor(_e),"clearReconnectCursor"in W&&typeof W.clearReconnectCursor=="function"&&W.clearReconnectCursor(_e))},Ge=()=>{!Ce||!pe||b.value||U!==ae||B.value!==W||(W.setMessages([]),W.setState({}),W.pendingInterrupts=[],He())};S?.agent===W&&S.threadId===_e&&(S.clearDiscardedBaseline=Ge);const tt=m.get(W)??W.detachActiveRun();m.set(W,tt);const nt=()=>{pe&&(He(),Ge(),pe=!1)};Ge(),k=Promise.all([k,tt]).then(nt).catch(We=>{console.error("CopilotChat: detachActiveRun failed",We)}).finally(()=>{m.get(W)===tt&&m.delete(W)})},{immediate:!0}),t.onBeforeUnmount(()=>{b.value=!0}),t.onMounted(()=>{f.value=!0}),t.watch(g,(Z,oe,W)=>{if(!Z)return;const C=setTimeout(()=>{g.value=null},5e3);W(()=>clearTimeout(C))});async function he(){const Z=B.value;if(Z)try{const oe=v.value;oe&&oe.agent===Z&&oe.threadId===F.value&&(oe.detached=!0,oe.abortController.abort(),v.value=null,await oe.agent.detachActiveRun?.()),await l.value.runAgent({agent:Z})}catch(oe){console.error("CopilotChat: runAgent failed",oe)}}async function me(Z){if(X.value.some(C=>C.status==="uploading")){console.error("[CopilotKit] Cannot send while attachments are uploading");return}if(a("submit-message",Z),!B.value){console.error("[CopilotKit] Cannot send message: no agent available");return}const W=ke();if(W.length>0){const C=[];Z.trim()&&C.push({type:"text",text:Z});for(const D of W)C.push(G.createAttachmentContent(D));B.value.addMessage({id:G.randomUUID(),role:"user",content:C})}else B.value.addMessage({id:G.randomUUID(),role:"user",content:Z});h.value="",await he()}async function Ue(Z,oe){a("select-suggestion",Z,oe),B.value?.addMessage({id:G.randomUUID(),role:"user",content:Z.message}),await he()}function Ze(){const Z=B.value;if(Z)try{l.value.stopAgent({agent:Z})}catch(oe){console.error("CopilotChat: stopAgent failed",oe);try{Z.abortRun()}catch(W){console.error("CopilotChat: abortRun fallback failed",W)}}}function Se(){a("stop"),Ee.value&&Ze()}function ze(Z){h.value=Z,a("input-change",Z)}function je(){a("add-file"),ve.value&&setTimeout(()=>{Ne.value?.click()},100)}function Be(){ue.value&&(g.value=null,d.value="transcribe",a("start-transcribe"))}function at(){ue.value&&(g.value=null,d.value="input",a("cancel-transcribe"))}function st(){ue.value&&(d.value="input",a("finish-transcribe"))}async function Ft(Z){if(ue.value){if(o.onFinishTranscribeWithAudio){await o.onFinishTranscribeWithAudio(Z);return}p.value=!0;try{g.value=null;const oe=await tp(l.value,Z),W=h.value.trim();h.value=W?`${W} ${oe.text}`:oe.text}catch(oe){if(console.error("CopilotChat: Transcription failed",oe),oe instanceof kt){const{code:W,retryable:C,message:D}=oe.info;switch(W){case G.TranscriptionErrorCode.RATE_LIMITED:g.value="Too many requests. Please wait a moment.";break;case G.TranscriptionErrorCode.AUTH_FAILED:g.value="Authentication error. Please check your configuration.";break;case G.TranscriptionErrorCode.AUDIO_TOO_LONG:g.value="Recording is too long. Please try a shorter recording.";break;case G.TranscriptionErrorCode.AUDIO_TOO_SHORT:g.value="Recording is too short. Please try again.";break;case G.TranscriptionErrorCode.INVALID_AUDIO_FORMAT:g.value="Audio format not supported.";break;case G.TranscriptionErrorCode.SERVICE_NOT_CONFIGURED:g.value="Transcription service is not available.";break;case G.TranscriptionErrorCode.NETWORK_ERROR:g.value="Network error. Please check your connection.";break;default:g.value=C?"Transcription failed. Please try again.":D}}else g.value="Transcription failed. Please try again."}finally{p.value=!1}}}const Fe=t.computed(()=>({messages:Ie.value,autoScroll:o.autoScroll,isRunning:Xe.value,suggestions:ne.value,suggestionLoadingIndexes:[],welcomeScreen:o.welcomeScreen,attachments:X.value,dragOver:Ae.value,inputValue:h.value,inputMode:V.value,inputToolsMenu:o.inputToolsMenu,isConnecting:E.value,hasExplicitThreadId:j.value,canStop:Ee.value,canAddFile:ve.value,canTranscribe:ue.value,onSubmitMessage:me,onStop:Se,onInputChange:ze,onSelectSuggestion:Ue,onRemoveAttachment:Le,onAddFile:je,onDragOver:ve.value?Ve:void 0,onDragLeave:ve.value?et:void 0,onDrop:ve.value?Je:void 0,onStartTranscribe:Be,onCancelTranscribe:at,onFinishTranscribe:st,onFinishTranscribeWithAudio:Ft})),sn=t.computed(()=>{const Z={...r,onSubmitMessage:me,onInputChange:ze,onSelectSuggestion:Ue};return Ee.value&&(Z.onStop=Se),ve.value&&(Z.onAddFile=je,Z.attachments=X.value,Z.onRemoveAttachment=Le,Z.dragOver=Ae.value,Z.onDragOver=Ve,Z.onDragLeave=et,Z.onDrop=Je),ue.value&&(Z.onStartTranscribe=Be,Z.onCancelTranscribe=at,Z.onFinishTranscribe=st),Z});return(Z,oe)=>(t.openBlock(),t.createBlock(an,{"agent-id":T.value,"thread-id":F.value,"has-explicit-thread-id":j.value,labels:N.value},{default:t.withCtx(()=>[t.createElementVNode("div",{ref_key:"attachmentContainerRef",ref:Ye,style:{display:"contents"}},[t.unref(ve)?(t.openBlock(),t.createElementBlock("input",{key:0,ref_key:"fileInputRef",ref:Ne,type:"file",multiple:"",accept:o.attachments?.accept??"*/*",style:{display:"none"},onChange:oe[0]||(oe[0]=W=>{t.unref(Qe)(W)})},null,40,zm)):t.createCommentVNode("",!0),Y.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(Vn,{key:1,"feature-name":"Chat"})),g.value?(t.openBlock(),t.createElementBlock("div",Om,t.toDisplayString(g.value),1)):t.createCommentVNode("",!0),t.renderSlot(Z.$slots,"chat-view",t.normalizeProps(t.guardReactiveProps(Fe.value)),()=>[t.createVNode(Bt,t.mergeProps(sn.value,{messages:Fe.value.messages,"auto-scroll":Fe.value.autoScroll,"is-running":Fe.value.isRunning,suggestions:Fe.value.suggestions,"suggestion-loading-indexes":Fe.value.suggestionLoadingIndexes,"welcome-screen":Fe.value.welcomeScreen,"input-value":Fe.value.inputValue,"input-mode":Fe.value.inputMode,"input-tools-menu":Fe.value.inputToolsMenu,"is-connecting":Fe.value.isConnecting,"has-explicit-thread-id":Fe.value.hasExplicitThreadId,"on-finish-transcribe-with-audio":Fe.value.onFinishTranscribeWithAudio}),t.createSlots({_:2},[t.renderList(c.value,W=>({name:W,fn:t.withCtx(C=>[t.renderSlot(Z.$slots,W,t.normalizeProps(t.guardReactiveProps(C)))])}))]),1040,["messages","auto-scroll","is-running","suggestions","suggestion-loading-indexes","welcome-screen","input-value","input-mode","input-tools-menu","is-connecting","has-explicit-thread-id","on-finish-transcribe-with-audio"])])],512)]),_:3},8,["agent-id","thread-id","has-explicit-thread-id","labels"]))}}),Bm=["src"],Fm=["src"],Dm={key:0,class:"cpk:text-xs cpk:text-muted-foreground cpk:truncate cpk:max-w-[300px]","data-testid":"copilot-chat-attachment-renderer-audio-filename"},Pm=["src"],Vm={class:"cpk:text-xs cpk:font-bold cpk:uppercase","data-testid":"copilot-chat-attachment-renderer-document-icon"},Lm={class:"cpk:text-sm cpk:text-muted-foreground cpk:truncate","data-testid":"copilot-chat-attachment-renderer-document-label"},Um=t.defineComponent({__name:"CopilotChatAttachmentRenderer",props:{type:{},source:{},filename:{default:void 0},className:{default:""}},setup(e){const n=e,o=t.ref(!1),a=t.computed(()=>G.getSourceUrl(n.source)),r=t.computed(()=>n.filename||n.source.mimeType||"Unknown type");return(s,i)=>n.type==="image"&&!o.value?(t.openBlock(),t.createElementBlock("img",{key:0,src:a.value,alt:"Image attachment",class:t.normalizeClass(["cpk:max-w-full cpk:h-auto cpk:rounded-lg",n.className]),"data-testid":"copilot-chat-attachment-renderer-image",onError:i[0]||(i[0]=l=>o.value=!0)},null,42,Bm)):n.type==="image"?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["cpk:flex cpk:flex-col cpk:items-center cpk:justify-center cpk:rounded-lg cpk:bg-muted cpk:p-4 cpk:text-sm cpk:text-muted-foreground",n.className]),"data-testid":"copilot-chat-attachment-renderer-image-fallback"},[...i[1]||(i[1]=[t.createElementVNode("span",null,"Failed to load image",-1)])],2)):n.type==="audio"?(t.openBlock(),t.createElementBlock("div",{key:2,class:t.normalizeClass(["cpk:flex cpk:flex-col cpk:gap-1",n.className]),"data-testid":"copilot-chat-attachment-renderer-audio"},[t.createElementVNode("audio",{src:a.value,controls:"",preload:"metadata",class:"cpk:max-w-[300px] cpk:w-full cpk:h-10"},null,8,Fm),n.filename?(t.openBlock(),t.createElementBlock("span",Dm,t.toDisplayString(n.filename),1)):t.createCommentVNode("",!0)],2)):n.type==="video"?(t.openBlock(),t.createElementBlock("video",{key:3,src:a.value,controls:"",preload:"metadata",class:t.normalizeClass(["cpk:max-w-[400px] cpk:w-full cpk:rounded-lg",n.className]),"data-testid":"copilot-chat-attachment-renderer-video"},null,10,Pm)):(t.openBlock(),t.createElementBlock("div",{key:4,class:t.normalizeClass(["cpk:inline-flex cpk:items-center cpk:gap-2 cpk:px-3 cpk:py-2 cpk:border cpk:border-border cpk:rounded-lg cpk:bg-muted",n.className]),"data-testid":"copilot-chat-attachment-renderer-document"},[t.createElementVNode("span",Vm,t.toDisplayString(t.unref(G.getDocumentIcon)(n.source.mimeType??"")),1),t.createElementVNode("span",Lm,t.toDisplayString(r.value),1)],2))}});function dt(e,n,o){o.value=n(e.getState());const a=e.select(n).subscribe(()=>{o.value=n(e.getState())});t.onScopeDispose(()=>a.unsubscribe())}function ms(e){const{copilotkit:n}=Pe(),o=le.ɵcreateThreadStore({fetch:n.value.ɵruntimeFetch}),a=t.computed(()=>t.toValue(e.agentId)),r=t.computed(()=>t.toValue(e.includeArchived)),s=t.computed(()=>t.toValue(e.limit)),i=t.computed(()=>t.toValue(e.enabled)??!0),l=t.computed(()=>n.value.threadEndpoints?.list!==!1),c=t.computed(()=>n.value.threadEndpoints?.mutations!==!1),u=t.computed(()=>!!n.value.runtimeUrl&&n.value.runtimeConnectionStatus===le.CopilotKitCoreRuntimeConnectionStatus.Connected&&!l.value),d=t.computed(()=>u.value?new Error("Thread endpoints are not available on this CopilotKit runtime"):null),h=t.computed(()=>c.value?null:new Error("Thread mutations are not available on this CopilotKit runtime")),g=t.computed(()=>JSON.stringify(Object.entries(n.value.headers??{}).sort(([O],[F])=>O.localeCompare(F)))),p=t.ref([]),f=t.ref(!1),b=t.ref(null),v=t.ref(null),S=t.ref(!1),m=t.ref(!1),k=t.ref(!1);dt(o,le.ɵselectThreads,p),dt(o,le.ɵselectThreadsIsLoading,f),dt(o,le.ɵselectThreadsError,b),dt(o,le.ɵselectFetchMoreError,v),dt(o,le.ɵselectHasNextPage,S),dt(o,le.ɵselectIsFetchingNextPage,m),dt(o,le.ɵselectIsMutating,k),o.start(),t.onScopeDispose(()=>{o.stop()}),t.watch([i,a],([O,F],j,x)=>{O&&(n.value.registerThreadStore(F,o),x(()=>{n.value.unregisterThreadStore(F)}))},{immediate:!0});const w=t.ref(!1);t.watch([()=>n.value.runtimeUrl,()=>n.value.runtimeConnectionStatus,g,()=>n.value.intelligence?.wsUrl,a,r,s,i,l],([O,F,,j,x,E,P,N,B])=>{if(!O||!N){o.setContext(null),w.value=!1;return}if(F!==le.CopilotKitCoreRuntimeConnectionStatus.Connected)return;if(!B){o.setContext(null),w.value=!1;return}const ne={runtimeUrl:O,headers:{...n.value.headers},wsUrl:j,agentId:x,includeArchived:E,limit:P};o.setContext(ne),w.value=!0},{immediate:!0});const T=t.computed(()=>n.value.runtimeUrl?null:new Error("Runtime URL is not configured")),y=t.computed(()=>!!n.value.runtimeUrl&&i.value&&!u.value&&!w.value),A=t.computed(()=>T.value||d.value?!1:y.value||f.value),I=t.computed(()=>T.value??d.value??b.value),_=t.computed(()=>b.value);function z(O){return(...F)=>h.value?Promise.reject(h.value):O(...F)}return{threads:t.computed(()=>p.value.map(({id:O,agentId:F,name:j,archived:x,createdAt:E,updatedAt:P,lastRunAt:N})=>({id:O,agentId:F,name:j,archived:x,createdAt:E,updatedAt:P,...N!==void 0?{lastRunAt:N}:{}}))),isLoading:A,error:I,listError:_,fetchMoreError:v,hasMoreThreads:S,isFetchingMoreThreads:m,isMutating:k,fetchMoreThreads:()=>o.fetchNextPage(),refetchThreads:()=>o.refetchThreads(),startNewThread:()=>o.startNewThread(),renameThread:z((O,F)=>o.renameThread(O,F)),archiveThread:z(O=>o.archiveThread(O)),unarchiveThread:z(O=>o.unarchiveThread(O)),deleteThread:z(O=>o.deleteThread(O))}}const Io="copilot-chat-input-textarea",jm="copilot-chat-view",Zm=t.defineComponent({__name:"CopilotThreadsDrawer",props:{agentId:{},onThreadSelect:{},onNewThread:{},onLicensed:{},licenseUrl:{},label:{},recentLabel:{},collapsible:{type:Boolean,default:!0},limit:{},dataTestId:{default:"copilot-threads-drawer"}},emits:["collapse-change"],setup(e,{emit:n}){const o=e,a=n,r=Re(),s=Ot(),i=t.computed(()=>{const N=s.value.status;return N==="unknown"?!0:(N==="valid"||N==="expiring")&&s.value.checkFeature("threads")}),l=t.computed(()=>s.value.status===null),c=t.computed(()=>o.agentId??r.value?.agentId??G.DEFAULT_AGENT_ID),u=t.computed(()=>r.value?.threadId??null),d=t.ref(!1),h=t.computed(()=>r.value?r.value.drawerOpen:d.value);function g(N){r.value?r.value.setDrawerOpen?.(N):d.value=N}const p=ms({agentId:c,includeArchived:!0,enabled:i,limit:()=>o.limit});function f(N){return{id:N.id,name:N.name,archived:N.archived,createdAt:N.createdAt,updatedAt:N.updatedAt,...N.lastRunAt!==void 0?{lastRunAt:N.lastRunAt}:{}}}const b=t.computed(()=>p.threads.value.map(f)),v=t.ref(!1),S=t.ref(null),m=t.ref(null);t.onMounted(async()=>{const N=await import("@copilotkit/web-components/threads-drawer");N.defineCopilotKitThreadsDrawer(),S.value=N.COPILOTKIT_THREADS_DRAWER_TAG,v.value=!0}),t.watchEffect(()=>{const N=m.value;N&&(N.threads=b.value,N.loading=p.isLoading.value||l.value,N.error=p.listError.value?.message??null,N.activeThreadId=u.value,N.licensed=i.value||l.value,N.hasMore=p.hasMoreThreads.value,N.fetchingMore=p.isFetchingMoreThreads.value,N.fetchMoreError=p.fetchMoreError.value?.message??null,N.open=h.value,o.label!==void 0&&(N.label=o.label),o.licenseUrl!==void 0&&(N.licenseUrl=o.licenseUrl),o.collapsible!==void 0&&(N.collapsible=o.collapsible))},{flush:"post"});const k=r.value?.registerDrawer?.();k&&t.onScopeDispose(k);function w(N){if(typeof document>"u")return null;const B=N?.closest?.(`[data-testid="${jm}"]`);if(B){const ne=B.querySelector(`[data-testid="${Io}"]`);if(ne)return ne}return document.querySelector(`[data-testid="${Io}"]`)}function T(){w(m.value)?.focus()}function y(N){const{threadId:B}=N.detail;o.onThreadSelect?o.onThreadSelect(B):r.value?.setActiveThreadId?.(B,{explicit:!0}),T()}function A(){p.startNewThread(),o.onNewThread?o.onNewThread():r.value?.startNewThread?.()}function I(N){const{threadId:B}=N.detail;p.archiveThread(B).catch(ne=>console.error("CopilotThreadsDrawer: archiveThread failed",ne))}function _(N){const{threadId:B}=N.detail;p.unarchiveThread(B).catch(ne=>console.error("CopilotThreadsDrawer: unarchiveThread failed",ne))}function z(N){const{threadId:B}=N.detail,ne=B===u.value;p.deleteThread(B).then(()=>{ne&&A()}).catch(M=>console.error("CopilotThreadsDrawer: deleteThread failed",M))}function O(){p.refetchThreads()}function F(N){const{collapsed:B}=N.detail;a("collapse-change",B)}function j(N){const{scope:B}=N.detail;B==="fetch-more"?p.fetchMoreThreads():p.refetchThreads()}function x(){p.fetchMoreThreads()}function E(N){const{open:B}=N.detail;g(B)}function P(){o.onLicensed?.()}return(N,B)=>v.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(S.value),{key:0,ref_key:"elRef",ref:m,"data-testid":e.dataTestId,"recent-label":e.recentLabel,onThreadSelected:y,onNewThread:A,onArchive:I,onUnarchive:_,onDelete:z,onFilterChange:O,onCollapseChange:F,onRetry:j,onLoadMore:x,onOpenChange:E,onLicensed:P},{default:t.withCtx(()=>[t.renderSlot(N.$slots,"default"),N.$slots.row?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(p).threads.value,ne=>(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:ne.id},{ref_for:!0},{slot:`row:${ne.id}`}),[t.renderSlot(N.$slots,"row",{thread:ne})],16))),128)):t.createCommentVNode("",!0)]),_:3},40,["data-testid","recent-label"])):t.createCommentVNode("",!0)}}),Un=t.defineComponent({name:"CopilotChatToggleButtonCloseIcon",inheritAttrs:!1,setup(e,{attrs:n}){return()=>{const{class:o,...a}=n;return t.h(fe.X,{...a,class:["cpk:h-6 cpk:w-6",o],strokeWidth:1.75})}}}),jn=t.defineComponent({name:"CopilotChatToggleButtonOpenIcon",inheritAttrs:!1,setup(e,{attrs:n}){return()=>{const{class:o,...a}=n;return t.h(fe.MessageCircle,{...a,class:["cpk:h-6 cpk:w-6",o],strokeWidth:1.75,fill:"currentColor"})}}}),Hm=["type","data-state","aria-label","aria-pressed","disabled"],Gt="cpk:h-6 cpk:w-6",Eo="cpk:pointer-events-none cpk:absolute cpk:inset-0 cpk:flex cpk:items-center cpk:justify-center cpk:will-change-transform",Zn=t.defineComponent({inheritAttrs:!1,__name:"CopilotChatToggleButton",props:{disabled:{type:Boolean,default:!1},type:{default:"button"}},setup(e){const n=e,o=t.useAttrs(),a=Re(),r=t.ref(!1),s=t.computed(()=>a.value?.labels??ot),i=t.computed(()=>a.value?.isModalOpen??r.value),l=t.computed(()=>i.value?s.value.chatToggleCloseLabel:s.value.chatToggleOpenLabel),c=t.computed(()=>["cpk:fixed cpk:bottom-6 cpk:right-6 cpk:z-[1100] cpk:flex cpk:h-14 cpk:w-14 cpk:items-center cpk:justify-center","cpk:rounded-full cpk:border cpk:border-primary cpk:bg-primary cpk:text-primary-foreground","cpk:shadow-sm cpk:transition-all cpk:duration-200 cpk:ease-out","cpk:hover:scale-[1.04] cpk:hover:shadow-md cpk:cursor-pointer cpk:active:scale-[0.96]","cpk:focus-visible:outline-none cpk:focus-visible:ring-2 cpk:focus-visible:ring-primary/50 cpk:focus-visible:ring-offset-2 cpk:focus-visible:ring-offset-background","cpk:disabled:pointer-events-none cpk:disabled:opacity-60",o.class]),u=t.computed(()=>{const{class:f,onClick:b,...v}=o;return v}),d=Object.freeze({transition:"opacity 120ms ease-out, transform 260ms cubic-bezier(0.22, 1, 0.36, 1)"});function h(f){if(a.value?.setModalOpen){a.value.setModalOpen(f);return}r.value=f}function g(){const f=o.onClick;return Array.isArray(f)?f.filter(b=>typeof b=="function"):typeof f=="function"?[f]:[]}function p(f){if(!n.disabled){for(const b of g())b(f);f.defaultPrevented||h(!i.value)}}return(f,b)=>(t.openBlock(),t.createElementBlock("button",t.mergeProps({"data-copilotkit":"",type:e.type,"data-slot":"chat-toggle-button","data-state":i.value?"open":"closed",class:c.value,"aria-label":l.value,"aria-pressed":i.value,disabled:e.disabled},u.value,{onClick:p}),[t.createElementVNode("span",{"aria-hidden":"true","data-slot":"chat-toggle-button-open-icon",class:t.normalizeClass(Eo),style:t.normalizeStyle({...t.unref(d),opacity:i.value?0:1,transform:`scale(${i.value?.75:1}) rotate(${i.value?90:0}deg)`})},[t.renderSlot(f.$slots,"open-icon",{iconClass:Gt,isOpen:i.value},()=>[t.createVNode(t.unref(jn),{class:t.normalizeClass(Gt),"aria-hidden":"true",focusable:!1})])],4),t.createElementVNode("span",{"aria-hidden":"true","data-slot":"chat-toggle-button-close-icon",class:t.normalizeClass(Eo),style:t.normalizeStyle({...t.unref(d),opacity:i.value?1:0,transform:`scale(${i.value?1:.75}) rotate(${i.value?0:-90}deg)`})},[t.renderSlot(f.$slots,"close-icon",{iconClass:Gt,isOpen:i.value},()=>[t.createVNode(t.unref(Un),{class:t.normalizeClass(Gt),"aria-hidden":"true",focusable:!1})])],4)],16,Hm))}}),fs=t.defineComponent({name:"CopilotModalHeaderCloseButton",inheritAttrs:!1,setup(e,{slots:n}){const o=t.useAttrs(),a=t.computed(()=>typeof o["aria-label"]=="string"?o["aria-label"]:"Close");return()=>{const{class:r,type:s,...i}=o;return t.h("button",{...i,type:typeof s=="string"?s:"button",class:["cpk:inline-flex cpk:size-8 cpk:items-center cpk:justify-center cpk:rounded-full cpk:text-muted-foreground cpk:transition cpk:cursor-pointer","cpk:hover:bg-muted cpk:hover:text-foreground cpk:focus-visible:outline-none cpk:focus-visible:ring-2 cpk:focus-visible:ring-ring",r],"aria-label":a.value},n.default?n.default():[t.h(fe.X,{class:"cpk:h-4 cpk:w-4","aria-hidden":!0})])}}}),hs=t.defineComponent({name:"CopilotModalHeaderTitle",inheritAttrs:!1,setup(e,{attrs:n,slots:o}){return()=>{const{class:a,...r}=n;return t.h("div",{...r,class:["cpk:w-full cpk:text-base cpk:font-medium cpk:leading-none cpk:tracking-tight cpk:text-foreground",a]},o.default?o.default():[])}}}),Gm={class:"cpk:flex cpk:w-full cpk:items-center cpk:gap-2"},Wm={class:"cpk:flex cpk:flex-1 cpk:justify-start"},Km=["aria-expanded"],qm={key:1,"aria-hidden":"true"},Jm={class:"cpk:flex cpk:flex-1 cpk:justify-center cpk:text-center"},Xm={class:"cpk:flex cpk:flex-1 cpk:justify-end"},Hn=t.defineComponent({inheritAttrs:!1,__name:"CopilotModalHeader",props:{title:{}},setup(e){const n=e,o=t.useAttrs(),a=Re(),r=t.computed(()=>n.title??a.value?.labels.modalHeaderTitle??ot.modalHeaderTitle),s=t.computed(()=>["cpk:flex cpk:items-center cpk:justify-between cpk:border-b cpk:border-border cpk:px-4 cpk:py-4","cpk:bg-background/95 cpk:backdrop-blur cpk:supports-[backdrop-filter]:bg-background/80",o.class]),i=t.computed(()=>{const{class:p,...f}=o;return f});function l(){a.value?.setModalOpen?.(!1)}const c=t.ref(!1);let u=null;function d(){u&&(c.value=u.matches)}t.onMounted(()=>{typeof window>"u"||typeof window.matchMedia!="function"||(u=window.matchMedia(Jr),u.addEventListener("change",d),d())}),t.onBeforeUnmount(()=>{u?.removeEventListener("change",d),u=null});const h=t.computed(()=>(a.value?.drawerRegistered??!1)&&c.value);function g(){a.value?.setDrawerOpen?.(!a.value?.drawerOpen)}return(p,f)=>(t.openBlock(),t.createElementBlock("header",t.mergeProps({"data-copilotkit":"","data-slot":"copilot-modal-header",class:s.value},i.value),[t.renderSlot(p.$slots,"layout",{title:r.value,onClose:l},()=>[t.createElementVNode("div",Gm,[t.createElementVNode("div",Wm,[h.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button","data-testid":"drawer-launcher",class:"cpk:inline-flex cpk:size-8 cpk:items-center cpk:justify-center cpk:rounded-full cpk:text-muted-foreground cpk:transition cpk:cursor-pointer cpk:hover:bg-muted cpk:hover:text-foreground cpk:focus-visible:outline-none cpk:focus-visible:ring-2 cpk:focus-visible:ring-ring","aria-expanded":t.unref(a)?.drawerOpen??!1,"aria-label":"Open threads",onClick:g},[t.createVNode(t.unref(fe.PanelLeftOpen),{class:"cpk:h-4 cpk:w-4","aria-hidden":"true"})],8,Km)):(t.openBlock(),t.createElementBlock("span",qm))]),t.createElementVNode("div",Jm,[t.renderSlot(p.$slots,"title-content",{title:r.value},()=>[t.createVNode(t.unref(hs),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(r.value),1)]),_:1})])]),t.createElementVNode("div",Xm,[t.renderSlot(p.$slots,"close-button",{onClose:l},()=>[t.createVNode(t.unref(fs),{onClick:l})])])])])],16))}}),Ym={key:0,"data-copilotkit":"",class:"cpk:fixed cpk:inset-0 cpk:z-[1200] cpk:flex cpk:max-w-full cpk:flex-col cpk:items-stretch cpk:md:inset-auto cpk:md:bottom-24 cpk:md:right-6 cpk:md:items-end cpk:md:gap-4"},Qm=["aria-label"],ef={class:"cpk:flex-1 cpk:overflow-hidden","data-popup-chat":""},tf=420,nf=560,Ro=200,of=t.defineComponent({inheritAttrs:!1,__name:"CopilotPopupViewInternal",props:{width:{default:void 0},height:{default:void 0},clickOutsideToClose:{type:Boolean,default:!1},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:()=>[]},onSubmitMessage:{},onStop:{},onInputChange:{},onSelectSuggestion:{},onStartTranscribe:{},onCancelTranscribe:{},onFinishTranscribe:{},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(e,{emit:n}){const o=e,a=n,r=t.useAttrs(),s=Re(),i=t.ref(null),l=t.ref(s.value?.isModalOpen??!1),c=t.ref(!1);let u,d;const h=t.computed(()=>s.value?.isModalOpen??!1),g=t.computed(()=>s.value?.labels??ot),p=t.computed(()=>g.value.modalHeaderTitle),f=t.computed(()=>h.value&&!c.value?"cpk:pointer-events-auto cpk:translate-y-0 cpk:opacity-100 cpk:md:scale-100":"cpk:pointer-events-none cpk:translate-y-4 cpk:opacity-0 cpk:md:translate-y-5 cpk:md:scale-[0.95]"),b=t.computed(()=>({"--copilot-popup-width":v(o.width,tf),"--copilot-popup-height":v(o.height,nf),"--copilot-popup-max-width":"calc(100vw - 3rem)","--copilot-popup-max-height":"calc(100dvh - 7.5rem)",width:"var(--copilot-popup-width)",height:"var(--copilot-popup-height)",maxWidth:"var(--copilot-popup-max-width)",maxHeight:"var(--copilot-popup-max-height)",paddingTop:"env(safe-area-inset-top)",paddingBottom:"env(safe-area-inset-bottom)",paddingLeft:"env(safe-area-inset-left)",paddingRight:"env(safe-area-inset-right)"}));function v(x,E){return typeof x=="number"&&Number.isFinite(x)?`${x}px`:typeof x=="string"&&x.trim().length>0?x:`${E}px`}function S(){s.value?.setModalOpen?.(!1)}function m(){s.value?.setModalOpen?.(!0)}function k(){s.value?.setModalOpen?.(!h.value)}function w(x){a("submit-message",x)}function T(){a("stop")}function y(x){a("input-change",x)}function A(x,E){a("select-suggestion",x,E)}function I(){a("add-file")}function _(){a("start-transcribe")}function z(){a("cancel-transcribe")}function O(){a("finish-transcribe")}const F=t.computed(()=>{const x={onSubmitMessage:w,onInputChange:y,onSelectSuggestion:A};return o.onStop&&(x.onStop=T),o.onAddFile&&(x.onAddFile=I),o.onStartTranscribe&&(x.onStartTranscribe=_),o.onCancelTranscribe&&(x.onCancelTranscribe=z),o.onFinishTranscribe&&(x.onFinishTranscribe=O),x}),j=t.computed(()=>({...r,...F.value}));return t.watch(h,x=>{if(u&&(clearTimeout(u),u=void 0),x){l.value=!0,c.value=!1;return}l.value&&(c.value=!0,u=setTimeout(()=>{l.value=!1,c.value=!1,u=void 0},Ro))},{immediate:!0}),t.watch(h,(x,E,P)=>{if(!x||typeof window>"u")return;const N=B=>{B.key==="Escape"&&(B.preventDefault(),S())};window.addEventListener("keydown",N),P(()=>{window.removeEventListener("keydown",N)})},{immediate:!0}),t.watch(h,(x,E,P)=>{x&&(d=setTimeout(()=>{if(typeof document>"u")return;const N=i.value;N&&!N.contains(document.activeElement)&&N.focus({preventScroll:!0})},Ro),P(()=>{d&&(clearTimeout(d),d=void 0)}))},{immediate:!0}),t.watch([h,()=>o.clickOutsideToClose],([x,E],P,N)=>{if(!x||!E||typeof document>"u")return;const B=ne=>{const M=ne.target;!M||i.value?.contains(M)||document.querySelector("[data-slot='chat-toggle-button']")?.contains(M)||S()};document.addEventListener("pointerdown",B),N(()=>{document.removeEventListener("pointerdown",B)})},{immediate:!0}),t.onMounted(async()=>{await t.nextTick()}),t.onBeforeUnmount(()=>{u&&clearTimeout(u),d&&clearTimeout(d)}),(x,E)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.renderSlot(x.$slots,"toggle-button",{isOpen:h.value,toggle:k,open:m,close:S},()=>[t.createVNode(Zn)]),l.value?(t.openBlock(),t.createElementBlock("div",Ym,[t.createElementVNode("div",{ref_key:"containerRef",ref:i,tabindex:"-1",role:"dialog","aria-label":g.value.modalHeaderTitle,"data-copilot-popup":"",class:t.normalizeClass(["cpk:relative cpk:flex cpk:h-full cpk:w-full cpk:flex-col cpk:overflow-hidden cpk:bg-background cpk:text-foreground","cpk:origin-bottom cpk:focus:outline-none cpk:transform-gpu cpk:transition-transform cpk:transition-opacity cpk:duration-200 cpk:ease-out","cpk:md:transition-transform cpk:md:transition-opacity","cpk:rounded-none cpk:border cpk:border-border/0 cpk:shadow-none cpk:ring-0","cpk:md:h-[var(--copilot-popup-height)] cpk:md:w-[var(--copilot-popup-width)]","cpk:md:max-h-[var(--copilot-popup-max-height)] cpk:md:max-w-[var(--copilot-popup-max-width)]","cpk:md:origin-bottom-right cpk:md:rounded-2xl cpk:md:border-border cpk:md:shadow-xl cpk:md:ring-1 cpk:md:ring-border/40",f.value]),style:t.normalizeStyle(b.value)},[t.renderSlot(x.$slots,"header",{title:p.value,onClose:S,isOpen:h.value},()=>[t.createVNode(Hn,{title:p.value},null,8,["title"])]),t.createElementVNode("div",ef,[t.createVNode(Bt,t.mergeProps({messages:e.messages,"auto-scroll":e.autoScroll,"is-running":e.isRunning,suggestions:e.suggestions,"suggestion-loading-indexes":e.suggestionLoadingIndexes,"welcome-screen":e.welcomeScreen,"input-value":e.inputValue,"input-mode":e.inputMode,"input-tools-menu":e.inputToolsMenu,"on-finish-transcribe-with-audio":e.onFinishTranscribeWithAudio},j.value),t.createSlots({_:2},[x.$slots["message-view"]?{name:"message-view",fn:t.withCtx(P=>[t.renderSlot(x.$slots,"message-view",t.normalizeProps(t.guardReactiveProps(P)))]),key:"0"}:void 0,x.$slots["scroll-view"]?{name:"scroll-view",fn:t.withCtx(P=>[t.renderSlot(x.$slots,"scroll-view",t.normalizeProps(t.guardReactiveProps(P)))]),key:"1"}:void 0,x.$slots.feather?{name:"feather",fn:t.withCtx(()=>[t.renderSlot(x.$slots,"feather")]),key:"2"}:void 0,x.$slots["scroll-to-bottom-button"]?{name:"scroll-to-bottom-button",fn:t.withCtx(P=>[t.renderSlot(x.$slots,"scroll-to-bottom-button",t.normalizeProps(t.guardReactiveProps(P)))]),key:"3"}:void 0,x.$slots.input?{name:"input",fn:t.withCtx(P=>[t.renderSlot(x.$slots,"input",t.normalizeProps(t.guardReactiveProps(P)))]),key:"4"}:void 0,x.$slots["suggestion-view"]?{name:"suggestion-view",fn:t.withCtx(P=>[t.renderSlot(x.$slots,"suggestion-view",t.normalizeProps(t.guardReactiveProps(P)))]),key:"5"}:void 0,x.$slots["welcome-screen"]?{name:"welcome-screen",fn:t.withCtx(P=>[t.renderSlot(x.$slots,"welcome-screen",t.normalizeProps(t.guardReactiveProps(P)))]),key:"6"}:void 0,x.$slots["welcome-message"]?{name:"welcome-message",fn:t.withCtx(()=>[t.renderSlot(x.$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"])])],14,Qm)])):t.createCommentVNode("",!0)],64))}}),gs=t.defineComponent({inheritAttrs:!1,__name:"CopilotPopupView",props:{width:{default:void 0},height:{default:void 0},clickOutsideToClose:{type:Boolean,default:!1},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:()=>[]},onSubmitMessage:{},onStop:{},onInputChange:{},onSelectSuggestion:{},onStartTranscribe:{},onCancelTranscribe:{},onFinishTranscribe:{},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(e,{emit:n}){const o=e,a=n,r=t.useAttrs(),s=t.computed(()=>{const{defaultOpen:c,...u}=o;return u}),i=t.computed(()=>{const c={onSubmitMessage:u=>a("submit-message",u),onInputChange:u=>a("input-change",u),onSelectSuggestion:(u,d)=>a("select-suggestion",u,d)};return o.onStop&&(c.onStop=()=>a("stop")),o.onAddFile&&(c.onAddFile=()=>a("add-file")),o.onStartTranscribe&&(c.onStartTranscribe=()=>a("start-transcribe")),o.onCancelTranscribe&&(c.onCancelTranscribe=()=>a("cancel-transcribe")),o.onFinishTranscribe&&(c.onFinishTranscribe=()=>a("finish-transcribe")),c}),l=t.computed(()=>({...r,...s.value,...i.value}));return(c,u)=>(t.openBlock(),t.createBlock(an,{"is-modal-default-open":e.defaultOpen},{default:t.withCtx(()=>[t.createVNode(of,t.normalizeProps(t.guardReactiveProps(l.value)),t.createSlots({_:2},[c.$slots.header?{name:"header",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"header",t.normalizeProps(t.guardReactiveProps(d)))]),key:"0"}:void 0,c.$slots["toggle-button"]?{name:"toggle-button",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"toggle-button",t.normalizeProps(t.guardReactiveProps(d)))]),key:"1"}:void 0,c.$slots["message-view"]?{name:"message-view",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"message-view",t.normalizeProps(t.guardReactiveProps(d)))]),key:"2"}:void 0,c.$slots["scroll-view"]?{name:"scroll-view",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"scroll-view",t.normalizeProps(t.guardReactiveProps(d)))]),key:"3"}:void 0,c.$slots.feather?{name:"feather",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"feather",t.normalizeProps(t.guardReactiveProps(d)))]),key:"4"}:void 0,c.$slots["scroll-to-bottom-button"]?{name:"scroll-to-bottom-button",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"scroll-to-bottom-button",t.normalizeProps(t.guardReactiveProps(d)))]),key:"5"}:void 0,c.$slots.input?{name:"input",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"input",t.normalizeProps(t.guardReactiveProps(d)))]),key:"6"}:void 0,c.$slots["suggestion-view"]?{name:"suggestion-view",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"suggestion-view",t.normalizeProps(t.guardReactiveProps(d)))]),key:"7"}:void 0,c.$slots["welcome-screen"]?{name:"welcome-screen",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"welcome-screen",t.normalizeProps(t.guardReactiveProps(d)))]),key:"8"}:void 0,c.$slots["welcome-message"]?{name:"welcome-message",fn:t.withCtx(()=>[t.renderSlot(c.$slots,"welcome-message")]),key:"9"}:void 0]),1040)]),_:3},8,["is-modal-default-open"]))}}),af={"data-copilotkit":"",class:"cpk:h-full cpk:flex cpk:flex-col","data-testid":"copilot-popup-welcome-screen"},rf={class:"cpk:flex-1 cpk:flex cpk:flex-col cpk:items-center cpk:justify-center cpk:px-4"},sf={class:"cpk:text-xl cpk:sm:text-2xl cpk:font-medium cpk:text-foreground cpk:text-center"},lf={class:"cpk:mb-4 cpk:flex cpk:justify-center cpk:px-4"},vs=t.defineComponent({__name:"CopilotPopupWelcomeScreen",props:{modelValue:{default:""},isRunning:{type:Boolean,default:!1},inputMode:{default:"input"},inputToolsMenu:{default:()=>[]},onUpdateModelValue:{},onSubmitMessage:{},suggestions:{default:()=>[]},loadingIndexes:{default:()=>[]},onSelectSuggestion:{},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},canStop:{type:Boolean,default:void 0},canAddFile:{type:Boolean,default:void 0},canTranscribe:{type:Boolean,default:void 0}},setup(e){const n=e,o=Re(),a=t.computed(()=>o.value?.labels??ot);function r(){n.onStop?.()}function s(){n.onAddFile?.()}function i(){n.onStartTranscribe?.()}function l(){n.onCancelTranscribe?.()}function c(){n.onFinishTranscribe?.()}async function u(f){await n.onFinishTranscribeWithAudio?.(f)}const d=t.computed(()=>({modelValue:n.modelValue,isRunning:n.isRunning,inputMode:n.inputMode,inputToolsMenu:n.inputToolsMenu,canStop:n.canStop??!!n.onStop,canAddFile:n.canAddFile??!!n.onAddFile,canTranscribe:n.canTranscribe??!!n.onStartTranscribe,onUpdateModelValue:n.onUpdateModelValue,onSubmitMessage:n.onSubmitMessage,onStop:r,onAddFile:s,onStartTranscribe:i,onCancelTranscribe:l,onFinishTranscribe:c,onFinishTranscribeWithAudio:u})),h=t.computed(()=>({suggestions:n.suggestions,loadingIndexes:n.loadingIndexes,onSelectSuggestion:n.onSelectSuggestion})),g=t.computed(()=>({...d.value,...h.value})),p=t.computed(()=>{const f={"onUpdate:modelValue":n.onUpdateModelValue,onSubmitMessage:n.onSubmitMessage,onStop:n.onStop};return n.onAddFile&&(f.onAddFile=n.onAddFile),n.onStartTranscribe&&(f.onStartTranscribe=n.onStartTranscribe),n.onCancelTranscribe&&(f.onCancelTranscribe=n.onCancelTranscribe),n.onFinishTranscribe&&(f.onFinishTranscribe=n.onFinishTranscribe),n.onFinishTranscribeWithAudio&&(f.onFinishTranscribeWithAudio=n.onFinishTranscribeWithAudio),f});return(f,b)=>t.renderSlot(f.$slots,"layout",t.normalizeProps(t.guardReactiveProps(g.value)),()=>[t.createElementVNode("div",af,[t.createElementVNode("div",rf,[t.renderSlot(f.$slots,"welcome-message",{},()=>[t.createElementVNode("h1",sf,t.toDisplayString(a.value.welcomeMessageText),1)])]),t.createElementVNode("div",null,[t.createElementVNode("div",lf,[t.renderSlot(f.$slots,"suggestion-view",t.normalizeProps(t.guardReactiveProps(h.value)),()=>[t.createVNode(At,{suggestions:e.suggestions,"loading-indexes":e.loadingIndexes,onSelectSuggestion:e.onSelectSuggestion},null,8,["suggestions","loading-indexes","onSelectSuggestion"])])]),t.renderSlot(f.$slots,"input",t.normalizeProps(t.guardReactiveProps(d.value)),()=>[t.createVNode(Rt,t.mergeProps({"model-value":e.modelValue,"is-running":e.isRunning,mode:e.inputMode,"tools-menu":e.inputToolsMenu,positioning:"static","show-disclaimer":!0},p.value),null,16,["model-value","is-running","mode","tools-menu"])])])])])}}),cf=["aria-hidden"],uf={class:"cpk:flex cpk:h-full cpk:w-full cpk:flex-col cpk:overflow-hidden"},df={class:"cpk:flex-1 cpk:overflow-hidden","data-sidebar-chat":""},pf=480,mf=260,ff=t.defineComponent({inheritAttrs:!1,__name:"CopilotSidebarViewInternal",props:{width:{default:void 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:()=>[]},onSubmitMessage:{},onStop:{},onInputChange:{},onSelectSuggestion:{},onStartTranscribe:{},onCancelTranscribe:{},onFinishTranscribe:{},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(e,{emit:n}){const o=e,a=n,r=t.useAttrs(),s=Re(),i=t.ref(null),l=t.ref(o.width??pf);let c=null;const u=t.computed(()=>s.value?.isModalOpen??!1),d=t.computed(()=>o.width??l.value),h=t.computed(()=>s.value?.labels.modalHeaderTitle??ot.modalHeaderTitle),g=t.computed(()=>["cpk:fixed cpk:right-0 cpk:top-0 cpk:z-[1200] cpk:flex cpk:h-[100vh] cpk:h-[100dvh] cpk:max-h-screen cpk:w-full","cpk:border-l cpk:border-border cpk:bg-background cpk:text-foreground cpk:shadow-xl","cpk:transition-transform cpk:duration-300 cpk:ease-out",u.value?"cpk:translate-x-0":"cpk:translate-x-full cpk:pointer-events-none",r.class]),p=t.computed(()=>{const{class:E,...P}=r;return P}),f=t.computed(()=>({"--sidebar-width":v(d.value),paddingTop:"env(safe-area-inset-top)",paddingBottom:"env(safe-area-inset-bottom)"})),b=t.computed(()=>`
|
|
101
|
+
@media (min-width: 768px) {
|
|
102
|
+
body {
|
|
103
|
+
margin-inline-end: ${S(d.value)};
|
|
104
|
+
transition: margin-inline-end ${mf}ms ease;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
`);function v(E){return typeof E=="number"?`${E}px`:E}function S(E){return typeof E=="number"?`${E}px`:E}function m(){if(o.width!==void 0||!i.value)return;const E=i.value.getBoundingClientRect().width;E>0&&(l.value=E)}function k(){s.value?.setModalOpen?.(!1)}function w(){s.value?.setModalOpen?.(!0)}function T(){s.value?.setModalOpen?.(!u.value)}function y(E){a("submit-message",E)}function A(){a("stop")}function I(E){a("input-change",E)}function _(E,P){a("select-suggestion",E,P)}function z(){a("add-file")}function O(){a("start-transcribe")}function F(){a("cancel-transcribe")}function j(){a("finish-transcribe")}const x=t.computed(()=>{const E={onSubmitMessage:y,onInputChange:I,onSelectSuggestion:_};return o.onStop&&(E.onStop=A),o.onAddFile&&(E.onAddFile=z),o.onStartTranscribe&&(E.onStartTranscribe=O),o.onCancelTranscribe&&(E.onCancelTranscribe=F),o.onFinishTranscribe&&(E.onFinishTranscribe=j),E});return t.watch(()=>o.width,E=>{if(E!==void 0){l.value=E;return}m()}),t.onMounted(async()=>{await t.nextTick(),m(),!(o.width!==void 0||!i.value||typeof ResizeObserver>"u")&&(c=new ResizeObserver(()=>{m()}),c.observe(i.value))}),t.onBeforeUnmount(()=>{c?.disconnect(),c=null}),(E,P)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[u.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent("style"),{key:0},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(b.value),1)]),_:1})):t.createCommentVNode("",!0),t.renderSlot(E.$slots,"toggle-button",{isOpen:u.value,toggle:T,open:w,close:k},()=>[t.createVNode(Zn)]),t.createElementVNode("aside",t.mergeProps({ref_key:"sidebarRef",ref:i,"data-copilotkit":"","data-copilot-sidebar":"",class:g.value,style:f.value,"aria-label":"Copilot chat sidebar","aria-hidden":!u.value,role:"complementary"},p.value),[t.createElementVNode("div",uf,[t.renderSlot(E.$slots,"header",{title:h.value,onClose:k,isOpen:u.value},()=>[t.createVNode(Hn,{title:h.value},null,8,["title"])]),t.createElementVNode("div",df,[t.createVNode(Bt,t.mergeProps({messages:e.messages,"auto-scroll":e.autoScroll,"is-running":e.isRunning,suggestions:e.suggestions,"suggestion-loading-indexes":e.suggestionLoadingIndexes,"welcome-screen":e.welcomeScreen,"input-value":e.inputValue,"input-mode":e.inputMode,"input-tools-menu":e.inputToolsMenu,"on-finish-transcribe-with-audio":e.onFinishTranscribeWithAudio},x.value),t.createSlots({_:2},[E.$slots["message-view"]?{name:"message-view",fn:t.withCtx(N=>[t.renderSlot(E.$slots,"message-view",t.normalizeProps(t.guardReactiveProps(N)))]),key:"0"}:void 0,E.$slots["scroll-view"]?{name:"scroll-view",fn:t.withCtx(N=>[t.renderSlot(E.$slots,"scroll-view",t.normalizeProps(t.guardReactiveProps(N)))]),key:"1"}:void 0,E.$slots.feather?{name:"feather",fn:t.withCtx(()=>[t.renderSlot(E.$slots,"feather")]),key:"2"}:void 0,E.$slots["scroll-to-bottom-button"]?{name:"scroll-to-bottom-button",fn:t.withCtx(N=>[t.renderSlot(E.$slots,"scroll-to-bottom-button",t.normalizeProps(t.guardReactiveProps(N)))]),key:"3"}:void 0,E.$slots.input?{name:"input",fn:t.withCtx(N=>[t.renderSlot(E.$slots,"input",t.normalizeProps(t.guardReactiveProps(N)))]),key:"4"}:void 0,E.$slots["suggestion-view"]?{name:"suggestion-view",fn:t.withCtx(N=>[t.renderSlot(E.$slots,"suggestion-view",t.normalizeProps(t.guardReactiveProps(N)))]),key:"5"}:void 0,E.$slots["welcome-screen"]?{name:"welcome-screen",fn:t.withCtx(N=>[t.renderSlot(E.$slots,"welcome-screen",t.normalizeProps(t.guardReactiveProps(N)))]),key:"6"}:void 0,E.$slots["welcome-message"]?{name:"welcome-message",fn:t.withCtx(()=>[t.renderSlot(E.$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,cf)],64))}}),bs=t.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:()=>[]},onSubmitMessage:{},onStop:{},onInputChange:{},onSelectSuggestion:{},onStartTranscribe:{},onCancelTranscribe:{},onFinishTranscribe:{},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(e,{emit:n}){const o=e,a=n,r=t.useAttrs(),s=t.computed(()=>{const{defaultOpen:c,...u}=o;return u}),i=t.computed(()=>({...r,...s.value,...l.value})),l=t.computed(()=>{const c={onSubmitMessage:u=>a("submit-message",u),onInputChange:u=>a("input-change",u),onSelectSuggestion:(u,d)=>a("select-suggestion",u,d)};return o.onStop&&(c.onStop=()=>a("stop")),o.onAddFile&&(c.onAddFile=()=>a("add-file")),o.onStartTranscribe&&(c.onStartTranscribe=()=>a("start-transcribe")),o.onCancelTranscribe&&(c.onCancelTranscribe=()=>a("cancel-transcribe")),o.onFinishTranscribe&&(c.onFinishTranscribe=()=>a("finish-transcribe")),c});return(c,u)=>(t.openBlock(),t.createBlock(an,{"is-modal-default-open":e.defaultOpen},{default:t.withCtx(()=>[t.createVNode(ff,t.normalizeProps(t.guardReactiveProps(i.value)),t.createSlots({_:2},[c.$slots.header?{name:"header",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"header",t.normalizeProps(t.guardReactiveProps(d)))]),key:"0"}:void 0,c.$slots["toggle-button"]?{name:"toggle-button",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"toggle-button",t.normalizeProps(t.guardReactiveProps(d)))]),key:"1"}:void 0,c.$slots["message-view"]?{name:"message-view",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"message-view",t.normalizeProps(t.guardReactiveProps(d)))]),key:"2"}:void 0,c.$slots["scroll-view"]?{name:"scroll-view",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"scroll-view",t.normalizeProps(t.guardReactiveProps(d)))]),key:"3"}:void 0,c.$slots.feather?{name:"feather",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"feather",t.normalizeProps(t.guardReactiveProps(d)))]),key:"4"}:void 0,c.$slots["scroll-to-bottom-button"]?{name:"scroll-to-bottom-button",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"scroll-to-bottom-button",t.normalizeProps(t.guardReactiveProps(d)))]),key:"5"}:void 0,c.$slots.input?{name:"input",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"input",t.normalizeProps(t.guardReactiveProps(d)))]),key:"6"}:void 0,c.$slots["suggestion-view"]?{name:"suggestion-view",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"suggestion-view",t.normalizeProps(t.guardReactiveProps(d)))]),key:"7"}:void 0,c.$slots["welcome-screen"]?{name:"welcome-screen",fn:t.withCtx(d=>[t.renderSlot(c.$slots,"welcome-screen",t.normalizeProps(t.guardReactiveProps(d)))]),key:"8"}:void 0,c.$slots["welcome-message"]?{name:"welcome-message",fn:t.withCtx(()=>[t.renderSlot(c.$slots,"welcome-message")]),key:"9"}:void 0]),1040)]),_:3},8,["is-modal-default-open"]))}}),hf={"data-copilotkit":"",class:"cpk:h-full cpk:flex cpk:flex-col","data-testid":"copilot-sidebar-welcome-screen"},gf={class:"cpk:flex-1 cpk:flex cpk:flex-col cpk:items-center cpk:justify-center cpk:px-4"},vf={class:"cpk:text-xl cpk:sm:text-2xl cpk:font-medium cpk:text-foreground cpk:text-center"},bf={class:"cpk:px-8 cpk:pb-4"},kf={class:"cpk:max-w-3xl cpk:mx-auto"},yf={class:"cpk:mb-4 cpk:flex cpk:justify-center"},ks=t.defineComponent({__name:"CopilotSidebarWelcomeScreen",props:{modelValue:{default:""},isRunning:{type:Boolean,default:!1},inputMode:{default:"input"},inputToolsMenu:{default:()=>[]},onUpdateModelValue:{},onSubmitMessage:{},suggestions:{default:()=>[]},loadingIndexes:{default:()=>[]},onSelectSuggestion:{},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},canStop:{type:Boolean,default:void 0},canAddFile:{type:Boolean,default:void 0},canTranscribe:{type:Boolean,default:void 0}},setup(e){const n=e,o=Re(),a=t.computed(()=>o.value?.labels??ot);function r(){n.onStop?.()}function s(){n.onAddFile?.()}function i(){n.onStartTranscribe?.()}function l(){n.onCancelTranscribe?.()}function c(){n.onFinishTranscribe?.()}async function u(f){await n.onFinishTranscribeWithAudio?.(f)}const d=t.computed(()=>({modelValue:n.modelValue,isRunning:n.isRunning,inputMode:n.inputMode,inputToolsMenu:n.inputToolsMenu,canStop:n.canStop??!!n.onStop,canAddFile:n.canAddFile??!!n.onAddFile,canTranscribe:n.canTranscribe??!!n.onStartTranscribe,onUpdateModelValue:n.onUpdateModelValue,onSubmitMessage:n.onSubmitMessage,onStop:r,onAddFile:s,onStartTranscribe:i,onCancelTranscribe:l,onFinishTranscribe:c,onFinishTranscribeWithAudio:u})),h=t.computed(()=>({suggestions:n.suggestions,loadingIndexes:n.loadingIndexes,onSelectSuggestion:n.onSelectSuggestion})),g=t.computed(()=>({...d.value,...h.value})),p=t.computed(()=>{const f={"onUpdate:modelValue":n.onUpdateModelValue,onSubmitMessage:n.onSubmitMessage,onStop:n.onStop};return n.onAddFile&&(f.onAddFile=n.onAddFile),n.onStartTranscribe&&(f.onStartTranscribe=n.onStartTranscribe),n.onCancelTranscribe&&(f.onCancelTranscribe=n.onCancelTranscribe),n.onFinishTranscribe&&(f.onFinishTranscribe=n.onFinishTranscribe),n.onFinishTranscribeWithAudio&&(f.onFinishTranscribeWithAudio=n.onFinishTranscribeWithAudio),f});return(f,b)=>t.renderSlot(f.$slots,"layout",t.normalizeProps(t.guardReactiveProps(g.value)),()=>[t.createElementVNode("div",hf,[t.createElementVNode("div",gf,[t.renderSlot(f.$slots,"welcome-message",{},()=>[t.createElementVNode("h1",vf,t.toDisplayString(a.value.welcomeMessageText),1)])]),t.createElementVNode("div",bf,[t.createElementVNode("div",kf,[t.createElementVNode("div",yf,[t.renderSlot(f.$slots,"suggestion-view",t.normalizeProps(t.guardReactiveProps(h.value)),()=>[t.createVNode(At,{suggestions:e.suggestions,"loading-indexes":e.loadingIndexes,onSelectSuggestion:e.onSelectSuggestion},null,8,["suggestions","loading-indexes","onSelectSuggestion"])])]),t.renderSlot(f.$slots,"input",t.normalizeProps(t.guardReactiveProps(d.value)),()=>[t.createVNode(Rt,t.mergeProps({"model-value":e.modelValue,"is-running":e.isRunning,mode:e.inputMode,"tools-menu":e.inputToolsMenu,positioning:"static","show-disclaimer":!0},p.value),null,16,["model-value","is-running","mode","tools-menu"])])])])])])}}),wf=t.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(e){function n(s){return{onSubmitMessage:s.onSubmitMessage,onInputChange:s.onInputChange,onSelectSuggestion:s.onSelectSuggestion,...s.canStop?{onStop:s.onStop}:{},...s.canAddFile?{onAddFile:s.onAddFile}:{},...s.canTranscribe?{onStartTranscribe:s.onStartTranscribe,onCancelTranscribe:s.onCancelTranscribe,onFinishTranscribe:s.onFinishTranscribe}:{}}}const o=e,a=Ot(),r=t.computed(()=>a.value.checkFeature("popup"));return t.watch(r,s=>{s||console.warn('[CopilotKit] Warning: "popup" feature is not licensed. Visit copilotkit.ai/pricing')},{immediate:!0}),(s,i)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[r.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(Vn,{key:0,"feature-name":"Popup"})),t.createVNode(Ln,t.mergeProps(o,{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":t.withCtx(l=>[s.$slots["chat-view"]?t.renderSlot(s.$slots,"chat-view",t.normalizeProps(t.mergeProps({key:0},l))):(t.openBlock(),t.createBlock(gs,t.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:e.width,height:e.height,"click-outside-to-close":e.clickOutsideToClose,"default-open":e.defaultOpen,"on-finish-transcribe-with-audio":l.onFinishTranscribeWithAudio},n(l)),t.createSlots({"welcome-screen":t.withCtx(c=>[s.$slots["welcome-screen"]?t.renderSlot(s.$slots,"welcome-screen",t.normalizeProps(t.mergeProps({key:0},c))):(t.openBlock(),t.createBlock(vs,t.normalizeProps(t.mergeProps({key:1},c)),t.createSlots({_:2},[s.$slots["welcome-message"]?{name:"welcome-message",fn:t.withCtx(()=>[t.renderSlot(s.$slots,"welcome-message")]),key:"0"}:void 0,s.$slots["suggestion-view"]?{name:"suggestion-view",fn:t.withCtx(u=>[t.renderSlot(s.$slots,"suggestion-view",t.normalizeProps(t.guardReactiveProps(u)))]),key:"1"}:void 0,s.$slots.input?{name:"input",fn:t.withCtx(u=>[t.renderSlot(s.$slots,"input",t.normalizeProps(t.guardReactiveProps(u)))]),key:"2"}:void 0]),1040))]),_:2},[s.$slots.header?{name:"header",fn:t.withCtx(c=>[t.renderSlot(s.$slots,"header",t.normalizeProps(t.guardReactiveProps(c)))]),key:"0"}:void 0,s.$slots["toggle-button"]?{name:"toggle-button",fn:t.withCtx(c=>[t.renderSlot(s.$slots,"toggle-button",t.normalizeProps(t.guardReactiveProps(c)))]),key:"1"}:void 0,s.$slots["message-view"]?{name:"message-view",fn:t.withCtx(c=>[t.renderSlot(s.$slots,"message-view",t.normalizeProps(t.guardReactiveProps(c)))]),key:"2"}:void 0,s.$slots.input?{name:"input",fn:t.withCtx(c=>[t.renderSlot(s.$slots,"input",t.normalizeProps(t.guardReactiveProps(c)))]),key:"3"}:void 0,s.$slots["suggestion-view"]?{name:"suggestion-view",fn:t.withCtx(c=>[t.renderSlot(s.$slots,"suggestion-view",t.normalizeProps(t.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))}}),Sf=t.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(e){function n(s){return{onSubmitMessage:s.onSubmitMessage,onInputChange:s.onInputChange,onSelectSuggestion:s.onSelectSuggestion,...s.canStop?{onStop:s.onStop}:{},...s.canAddFile?{onAddFile:s.onAddFile}:{},...s.canTranscribe?{onStartTranscribe:s.onStartTranscribe,onCancelTranscribe:s.onCancelTranscribe,onFinishTranscribe:s.onFinishTranscribe}:{}}}const o=e,a=Ot(),r=t.computed(()=>a.value.checkFeature("sidebar"));return t.watch(r,s=>{s||console.warn('[CopilotKit] Warning: "sidebar" feature is not licensed. Visit copilotkit.ai/pricing')},{immediate:!0}),(s,i)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[r.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(Vn,{key:0,"feature-name":"Sidebar"})),t.createVNode(Ln,t.mergeProps(o,{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":t.withCtx(l=>[s.$slots["chat-view"]?t.renderSlot(s.$slots,"chat-view",t.normalizeProps(t.mergeProps({key:0},l))):(t.openBlock(),t.createBlock(bs,t.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:e.width,"default-open":e.defaultOpen,"on-finish-transcribe-with-audio":l.onFinishTranscribeWithAudio},n(l)),t.createSlots({"welcome-screen":t.withCtx(c=>[s.$slots["welcome-screen"]?t.renderSlot(s.$slots,"welcome-screen",t.normalizeProps(t.mergeProps({key:0},c))):(t.openBlock(),t.createBlock(ks,t.normalizeProps(t.mergeProps({key:1},c)),t.createSlots({_:2},[s.$slots["welcome-message"]?{name:"welcome-message",fn:t.withCtx(()=>[t.renderSlot(s.$slots,"welcome-message")]),key:"0"}:void 0,s.$slots["suggestion-view"]?{name:"suggestion-view",fn:t.withCtx(u=>[t.renderSlot(s.$slots,"suggestion-view",t.normalizeProps(t.guardReactiveProps(u)))]),key:"1"}:void 0,s.$slots.input?{name:"input",fn:t.withCtx(u=>[t.renderSlot(s.$slots,"input",t.normalizeProps(t.guardReactiveProps(u)))]),key:"2"}:void 0]),1040))]),_:2},[s.$slots.header?{name:"header",fn:t.withCtx(c=>[t.renderSlot(s.$slots,"header",t.normalizeProps(t.guardReactiveProps(c)))]),key:"0"}:void 0,s.$slots["toggle-button"]?{name:"toggle-button",fn:t.withCtx(c=>[t.renderSlot(s.$slots,"toggle-button",t.normalizeProps(t.guardReactiveProps(c)))]),key:"1"}:void 0,s.$slots["message-view"]?{name:"message-view",fn:t.withCtx(c=>[t.renderSlot(s.$slots,"message-view",t.normalizeProps(t.guardReactiveProps(c)))]),key:"2"}:void 0,s.$slots.input?{name:"input",fn:t.withCtx(c=>[t.renderSlot(s.$slots,"input",t.normalizeProps(t.guardReactiveProps(c)))]),key:"3"}:void 0,s.$slots["suggestion-view"]?{name:"suggestion-view",fn:t.withCtx(c=>[t.renderSlot(s.$slots,"suggestion-view",t.normalizeProps(t.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))}}),Cf=Object.assign(Ln,{View:Bt}),Tf=Object.assign(Zn,{OpenIcon:jn,CloseIcon:Un}),xf=Object.assign(Hn,{Title:hs,CloseButton:fs}),If=Object.assign(gs,{WelcomeScreen:vs}),Ef=Object.assign(bs,{WelcomeScreen:ks});function Rf(e){const{copilotkit:n}=Pe(),o=t.computed(()=>t.toValue(e.description)),a=t.computed(()=>t.toValue(e.value)),r=t.computed(()=>typeof a.value=="string"?a.value:JSON.stringify(a.value));t.watch([()=>n.value,o,r],(s,i,l)=>{const c=n.value,u=c.addContext({description:o.value,value:r.value});l(()=>c.removeContext(u))},{immediate:!0})}const Af=[];function Gn(e,n){const{copilotkit:o}=Pe(),a=n??Af;t.watch([()=>e.name,()=>e.available,()=>JSON.stringify(e.webmcp??null),()=>a.length,...a],(r,s,i)=>{const l=o.value,c=e.name;l.getTool({toolName:c,agentId:e.agentId})&&(console.warn(`Tool '${c}' already exists for agent '${e.agentId||"global"}'. Overriding with latest registration.`),l.removeTool(c,e.agentId)),l.addTool(e),e.render&&l.addHookRenderToolCall({name:c,args:e.parameters,agentId:e.agentId,render:e.render}),i(()=>{l.removeTool(c,e.agentId)})},{immediate:!0})}function _f(e,n){const o=`Use this tool to display the "${e.name}" component in the chat. This tool renders a visual UI component for the user.`,a=e.description?`${o}
|
|
108
|
+
|
|
109
|
+
${e.description}`:o;Gn({name:e.name,description:a,parameters:e.parameters,render:({args:r})=>{const s=e.render;return t.h(s,r)},agentId:e.agentId},n)}const $f=[];function ys(e,n){const{copilotkit:o}=Pe(),a=n??$f;t.watch([()=>o.value,()=>e.name,()=>e.agentId,()=>a.length,...a],()=>{const r=i=>typeof e.render=="function"?e.render(i):t.h(e.render,i),s=e.name==="*"&&!e.parameters?Jt({name:"*",render:i=>r({...i,parameters:i.args}),...e.agentId?{agentId:e.agentId}:{}}):Jt({name:e.name,args:e.parameters,render:i=>r({...i,parameters:i.args}),...e.agentId?{agentId:e.agentId}:{}});o.value.addHookRenderToolCall(s)},{immediate:!0})}const Ao=new Set;function Mf(e){switch(e){case le.ToolCallStatus.Complete:return"complete";case le.ToolCallStatus.Executing:return"executing";case le.ToolCallStatus.InProgress:return"inProgress";default:{const n=String(e);return Ao.has(n)||(Ao.add(n),console.warn(`[CopilotKit] Unknown ToolCallStatus "${n}" in default tool-call renderer; falling back to "inProgress".`)),"inProgress"}}}function pn(e){const n=e.parameters!==void 0?e.parameters:e.args,o=e.status,a=o==="inProgress"||o==="executing"||o==="complete"?o:Mf(o);return{name:e.name,toolCallId:e.toolCallId,parameters:n,status:a,result:e.result}}function _o(e){try{return JSON.stringify(e,null,2)}catch(n){console.warn("[CopilotKit] Failed to JSON.stringify tool-call payload for default renderer; falling back to String():",n);try{return String(e)}catch(o){return console.warn("[CopilotKit] safeStringifyForPre: value could not be stringified:",o),"[unserializable]"}}}const Nf=t.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(e){const n=t.ref(!1);return()=>{const o=e.status==="inProgress"||e.status==="executing",a=e.status==="complete",r=o?"Running":a?"Done":e.status;return t.h("div",{"data-testid":"copilot-tool-render","data-tool-name":e.name,"data-tool-call-id":e.toolCallId,"data-status":e.status,"data-args":$o(e.parameters),"data-result":$o(e.result),style:{marginTop:"8px",paddingBottom:"8px"}},[t.h("div",{style:{borderRadius:"12px",border:"1px solid #e4e4e7",backgroundColor:"#fafafa",padding:"14px 16px"}},[t.h("button",{type:"button","aria-expanded":String(n.value),onClick:()=>{n.value=!n.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"}},[t.h("span",{"data-testid":"copilot-tool-render-name",style:{fontWeight:"600"}},e.name),t.h("span",{"data-testid":"copilot-tool-render-status"},r)]),n.value?t.h("div",{style:{marginTop:"12px"}},[t.h("div","Arguments"),t.h("pre",_o(e.parameters??{})),e.result!==void 0?t.h("div",[t.h("div","Result"),t.h("pre",typeof e.result=="string"?e.result:_o(e.result))]):null]):null])])}}});function $o(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e)}catch(n){console.warn("[CopilotKit] Failed to JSON.stringify tool-call payload for data-* attribute; falling back to String():",n);try{return String(e)}catch(o){return console.warn("[CopilotKit] safeStringifyForAttr: value could not be stringified:",o),""}}}function zf(e,n){const o=e?.render;let a;if(typeof o=="function"){const r=o;a=(s=>{const i=pn(s);return r(i)})}else if(o){const r=o;a=(s=>{const i=pn(s);return t.h(r,{name:i.name,toolCallId:i.toolCallId,parameters:i.parameters,status:i.status,result:i.result})})}else a=(r=>{const s=pn(r);return t.h(Nf,{name:s.name,toolCallId:s.toolCallId,parameters:s.parameters,status:s.status,result:s.result})});ys({name:"*",render:a},n)}function Of(e,n){const{copilotkit:o}=Pe(),a=t.ref(null),r=t.ref(null),s=t.ref(null),i=async d=>{a.value&&(s.value?.(),s.value=null,a.value(d),a.value=null,r.value=null)},u={...e,type:"human-in-the-loop",handler:async(d,h)=>{const g=h?.signal;return new Promise((p,f)=>{if(g?.aborted){f(new Error("Human-in-the-loop interaction aborted"));return}if(a.value=p,r.value=f,g){const b=()=>{s.value=null,a.value=null;const v=r.value;r.value=null,v?.(new Error("Human-in-the-loop interaction aborted"))};g.addEventListener("abort",b,{once:!0}),s.value=()=>{g.removeEventListener("abort",b)}}})},render:d=>{const h=e.render;return d.status===le.ToolCallStatus.InProgress?t.h(h,{...d,name:e.name,description:e.description||"",agentId:e.agentId,respond:void 0}):d.status===le.ToolCallStatus.Executing?t.h(h,{...d,name:e.name,description:e.description||"",agentId:e.agentId,respond:i}):d.status===le.ToolCallStatus.Complete?t.h(h,{...d,name:e.name,description:e.description||"",agentId:e.agentId,respond:void 0}):d}};Gn(u,n),t.onScopeDispose(()=>{o.value.removeHookRenderToolCall(e.name,e.agentId)})}function Bf(e){return"instructions"in e}function Ff(e){return e.map(n=>({...n,isLoading:n.isLoading??!1}))}function Df(e,n){const{copilotkit:o}=Pe(),a=Re(),r=n??[],s=t.computed(()=>a.value?.agentId??G.DEFAULT_AGENT_ID),i=t.computed(()=>e?e.consumerAgentId:void 0),l=t.computed(()=>{if(!e||e.available==="disabled")return null;if(Bf(e))return{...e};const v=Ff(e.suggestions);return{...e,suggestions:v}}),c=t.computed(()=>l.value?JSON.stringify(l.value):null),u=t.computed(()=>{if(!l.value)return s.value;const v=l.value.consumerAgentId;return!v||v==="*"?s.value:v}),d=t.computed(()=>i.value===void 0||i.value==="*"),h=t.ref(!1),g=t.ref(null),p=t.ref(null),f=()=>{if(!h.value||!d.value)return;if(Object.values(o.value.agents??{}).some(S=>!!S.agentId&&S.isRunning)){g.value=setTimeout(()=>{g.value=null,f()},0);return}h.value=!1,b()},b=()=>{if(l.value){if(d.value){let v=!1;const S=Object.values(o.value.agents??{});for(const m of S){const k=m.agentId;k&&(m.isRunning?v=!0:o.value.reloadSuggestions(k))}h.value=v,v&&g.value===null&&(g.value=setTimeout(()=>{g.value=null,f()},0));return}u.value&&o.value.reloadSuggestions(u.value)}};t.watch([()=>o.value,c],([v,S],m,k)=>{if(!S||!l.value)return;const w=o.value,T=l.value,y=w.addSuggestionsConfig(T);b(),k(()=>w.removeSuggestionsConfig(y))},{immediate:!0}),t.watch([l,c],([v,S])=>{if(!v){p.value=null;return}S&&p.value===S||(S&&(p.value=S),b())},{immediate:!1}),t.watch([l,()=>r.length,...r],([v])=>{!v||r.length===0||b()},{immediate:!0}),t.watch([()=>o.value,h],(v,S,m)=>{m(()=>{g.value!==null&&(clearTimeout(g.value),g.value=null)})},{immediate:!0}),t.watch([()=>o.value,d],([v,S],m,k)=>{if(!S)return;const w=Object.values(v.agents??{}).filter(T=>!!T).map(T=>T.subscribe({onRunStartedEvent:f,onRunFinishedEvent:f,onRunFinalized:f,onRunFailed:f,onRunErrorEvent:f}));k(()=>{for(const T of w)T.unsubscribe()})},{immediate:!0})}const ws="on_interrupt";function Pf(e){return(typeof e=="object"||typeof e=="function")&&e!==null&&typeof Reflect.get(e,"then")=="function"}function Vf(e){return e instanceof Promise?e:new Promise((n,o)=>{try{e.then(n,o)}catch(a){o(a)}})}function mn(e){return e.kind==="legacy"?e.event:{name:ws,value:e.interrupts[0]}}function Lf(e={}){const{copilotkit:n}=Pe(),{agent:o}=rn({agentId:e.agentId}),a=t.shallowRef(null),r=t.shallowRef(null),s={};t.watch(o,(p,f,b)=>{if(!p){a.value=null,r.value=null;return}let v=null,S=null;const m=p.subscribe({onCustomEvent:({event:k})=>{k.name===ws&&(v={name:k.name,value:k.value})},onRunFinishedEvent:k=>{k.outcome==="interrupt"&&(S=k.interrupts)},onRunStartedEvent:()=>{v=null,S=null;for(const k of Object.keys(s))delete s[k];a.value=null},onRunFinalized:()=>{S&&S.length>0?a.value={kind:"standard",interrupts:S}:v&&(a.value={kind:"legacy",event:v}),v=null,S=null},onRunFailed:()=>{v=null,S=null;for(const k of Object.keys(s))delete s[k];a.value=null}});b(()=>m.unsubscribe())},{immediate:!0});const i=async p=>{if(!p.every(m=>s[m.id]))return;const b=p.find(m=>Wt.isInterruptExpired(m));if(b){console.error(`[CopilotKit] useInterrupt: interrupt ${b.id} expired at ${b.expiresAt}; not resuming.`);for(const m of Object.keys(s))delete s[m];a.value=null;return}const v=Wt.buildResumeArray(p,s);for(const m of Object.keys(s))delete s[m];const S=o.value;if(S)try{return await n.value.runAgent({agent:S,resume:v})}catch(m){throw console.error("[CopilotKit] useInterrupt resolve: runAgent rejected; clearing pending + rethrowing",m),a.value=null,m}},l=async(p,f)=>{const b=a.value;if(!b)return;const v=o.value;if(!v)return;if(b.kind==="legacy"){const m=b.event.value;try{return await n.value.runAgent({agent:v,forwardedProps:{command:{resume:p,interruptEvent:m}}})}catch(k){throw console.error("[CopilotKit] useInterrupt resolve: runAgent rejected; clearing pending + rethrowing",k),a.value=null,k}}b.interrupts.length>1&&f===void 0&&console.warn(`[CopilotKit] useInterrupt: resolve()/cancel() called without an interruptId while ${b.interrupts.length} interrupts are open; defaulting to the first. Pass an interruptId to address a specific interrupt.`);const S=f??b.interrupts[0]?.id;if(S)return s[S]={status:"resolved",payload:p},i(b.interrupts)},c=async p=>{const f=a.value;if(!f)return;if(f.kind==="legacy"){console.warn("[CopilotKit] useInterrupt: cancel() is not supported for legacy on_interrupt interrupts; dismissing."),a.value=null;return}f.interrupts.length>1&&p===void 0&&console.warn(`[CopilotKit] useInterrupt: resolve()/cancel() called without an interruptId while ${f.interrupts.length} interrupts are open; defaulting to the first. Pass an interruptId to address a specific interrupt.`);const b=p??f.interrupts[0]?.id;if(b)return s[b]={status:"cancelled"},i(f.interrupts)},u=l,d=c;t.watch(a,(p,f,b)=>{if(!p){r.value=null;return}const v=mn(p);if(e.enabled&&!e.enabled(v)){r.value=null;return}const S=e.handler;if(!S){r.value=null;return}let m=!1;const k=S({event:v,interrupt:p.kind==="standard"?p.interrupts[0]??null:null,interrupts:p.kind==="standard"?p.interrupts:[],resolve:l,cancel:c});Pf(k)?Vf(k).then(w=>{m||(r.value=w)}).catch(w=>{m||(console.error("[CopilotKit] useInterrupt handler failed:",w),r.value=null)}):r.value=k,b(()=>{m=!0})},{immediate:!0});const h=t.computed(()=>a.value?mn(a.value):null),g=t.computed(()=>{const p=a.value;if(!p)return null;const f=mn(p);return e.enabled&&!e.enabled(f)?null:{event:f,interrupt:p.kind==="standard"?p.interrupts[0]??null:null,interrupts:p.kind==="standard"?p.interrupts:[],result:r.value,resolve:l,cancel:c}});return t.watch([()=>n.value,g,()=>e.renderInChat!==!1],([p,f,b],v,S)=>{if(!b)return;p.setInterruptState(f);const m=f;S(()=>{p.interruptState===m&&p.setInterruptState(null)})},{immediate:!0}),t.onScopeDispose(()=>{const p=n.value;e.renderInChat!==!1&&p.interruptState===g.value&&p.setInterruptState(null)}),{interrupt:h,result:r,hasInterrupt:t.computed(()=>g.value!==null),resolve:l,resolveInterrupt:u,cancel:c,cancelInterrupt:d,slotProps:g}}function Uf(e){const{agent:n}=rn({agentId:e});return t.computed(()=>{const o=n.value;if(o&&"capabilities"in o)return o.capabilities})}function jf(){const{copilotkit:e}=Pe(),n=Re();return function(a){const r=n.value;if(!r)return null;const s=r.agentId||G.DEFAULT_AGENT_ID,{threadId:i}=r,l=e.value,c=[...l.renderCustomMessages].filter(T=>T.agentId===void 0||T.agentId===s).sort((T,y)=>{const A=T.agentId!==void 0,I=y.agentId!==void 0;return A===I?0:A?-1:1});if(!c.length)return null;const{message:u,position:d}=a,h=l.getRunIdForMessage(s,i,u.id)??l.getRunIdsForThread(s,i).slice(-1)[0],g=h??`missing-run-id:${u.id}`,p=l.getAgent(s);if(!p)return null;const f=h?p.messages.filter(T=>l.getRunIdForMessage(s,i,T.id)===h).map(T=>T.id):[u.id],b=p.messages.findIndex(T=>T.id===u.id);b<0&&console.warn(`[CopilotKit] useRenderCustomMessages: message "${u.id}" not found in agent "${s}" messages`);const v=Math.max(0,b),S=h?Math.max(f.indexOf(u.id),0):0,m=h?f.length:1,k=h?l.getStateByRun(s,i,h):void 0,w={message:u,position:d,runId:g,messageIndex:v,messageIndexInRun:S,numberOfMessagesInRun:m,agentId:s,stateSnapshot:k};for(const T of c)if(T.render)return{renderer:T.render,props:w};return null}}function Zf(){const{copilotkit:e}=Pe(),n=Re(),o=t.computed(()=>n.value?.agentId??G.DEFAULT_AGENT_ID),a=t.computed(()=>[...e.value.renderActivityMessages]);function r(i){const l=a.value;if(!l.length)return null;const c=l.filter(u=>u.activityType===i);return c.find(u=>u.agentId===o.value)??c.find(u=>u.agentId===void 0)??l.find(u=>u.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 u=e.value.getAgent(o.value);return{renderer:l.render,props:{activityType:i.activityType,content:c.data,message:i,agent:u}}}return{renderActivityMessage:s,findRenderer:r}}exports.A2UIActivityContentSchema=Vu;exports.A2UISurfaceActivityType=Pu;exports.ActivityDeltaEventSchema=La;exports.ActivityMessageSchema=Fa;exports.ActivitySnapshotEventSchema=Va;exports.AddOperationSchema=Sa;exports.AgentCapabilitiesSchema=Eu;exports.AssistantMessageSchema=za;exports.AttributableSchema=Ru;exports.AudioPartSchema=va;exports.BaseEventSchema=Au;exports.BaseMessageSchema=_u;exports.ContentPartSchema=tn;exports.ContextSchema=Za;exports.CopilotChat=Cf;exports.CopilotChatDefaultLabels=ot;exports.CopilotChatToggleButton=Tf;exports.CopilotChatToggleButtonCloseIcon=Un;exports.CopilotChatToggleButtonOpenIcon=jn;exports.CopilotKitCoreVue=Br;exports.CopilotModalHeader=xf;exports.CopilotPopupView=If;exports.CopilotSidebarView=Ef;exports.CopyOperationSchema=Ia;exports.CustomEventSchema=ja;exports.DataSourceSchema=ma;exports.DeveloperMessageSchema=_a;exports.DocumentPartSchema=ka;exports.EventSchema=xu;exports.EventTypeSchema=oa;exports.ExecutionCapabilitiesSchema=Rr;exports.FileSourceSchema=ha;exports.FunctionCallSchema=Ma;exports.GenerateSandboxedUiArgsSchema=Zr;exports.HumanInTheLoopCapabilitiesSchema=Ar;exports.IdentityCapabilitiesSchema=br;exports.ImagePartSchema=ga;exports.InterruptSchema=qa;exports.JsonPatchOperationSchema=Ra;exports.JsonPatchSchema=Mn;exports.JsonPointerSchema=it;exports.LicenseContextKey=Dn;exports.MCPAppsActivityContentSchema=zr;exports.MCPAppsActivityRenderer=Or;exports.MCPAppsActivityType=Nr;exports.MessageSchema=Nn;exports.MessagesSnapshotEventSchema=Pa;exports.MetadataSchema=te;exports.MoveOperationSchema=xa;exports.MultiAgentCapabilitiesSchema=Cr;exports.MultimodalCapabilitiesSchema=Er;exports.MultimodalInputCapabilitiesSchema=xr;exports.MultimodalOutputCapabilitiesSchema=Ir;exports.OpenGenerativeUIActivityRenderer=Gr;exports.OpenGenerativeUIActivityType=Ur;exports.OpenGenerativeUIContentSchema=jr;exports.OpenGenerativeUIRenderer=Hr;exports.OpenGenerativeUIToolRenderer=Wr;exports.OptionalMetadataSchema=$u;exports.OutputCapabilitiesSchema=wr;exports.PartSourceSchema=Nt;exports.RawEventSchema=Ua;exports.ReasoningCapabilitiesSchema=Tr;exports.ReasoningEncryptedValueEventSchema=ur;exports.ReasoningEncryptedValueSubtypeSchema=cr;exports.ReasoningEndEventSchema=lr;exports.ReasoningMessageChunkEventSchema=ir;exports.ReasoningMessageContentEventSchema=rr;exports.ReasoningMessageEndEventSchema=sr;exports.ReasoningMessageSchema=Da;exports.ReasoningMessageStartEventSchema=ar;exports.ReasoningStartEventSchema=or;exports.RemoveOperationSchema=Ca;exports.ReplaceOperationSchema=Ta;exports.ResumeEntrySchema=Ha;exports.RoleSchema=Iu;exports.RunAgentInputSchema=Ga;exports.RunErrorEventSchema=er;exports.RunFinishedCancelledOutcomeSchema=Xa;exports.RunFinishedEventSchema=Qa;exports.RunFinishedInterruptOutcomeSchema=Ja;exports.RunFinishedOutcomeSchema=Ya;exports.RunFinishedSuccessOutcomeSchema=Ka;exports.RunStartedEventSchema=Wa;exports.StateCapabilitiesSchema=Sr;exports.StateDeltaEventSchema=Aa;exports.StateSchema=$n;exports.StateSnapshotEventSchema=wa;exports.StepFinishedEventSchema=nr;exports.StepStartedEventSchema=tr;exports.SubagentErrorEventSchema=gr;exports.SubagentFinishedEventSchema=hr;exports.SubagentFinishedOutcomeSchema=fr;exports.SubagentFinishedSuccessOutcomeSchema=pr;exports.SubagentFinishedSuspendedOutcomeSchema=mr;exports.SubagentInfoSchema=vr;exports.SubagentRunIdSchema=ce;exports.SubagentStartedEventSchema=dr;exports.SystemMessageSchema=$a;exports.TestOperationSchema=Ea;exports.TextMessageChunkEventSchema=ia;exports.TextMessageContentEventSchema=ra;exports.TextMessageEndEventSchema=sa;exports.TextMessageRoleSchema=_n;exports.TextMessageStartEventSchema=aa;exports.TextPartSchema=pa;exports.TokenUsageSchema=On;exports.ToolCallArgsEventSchema=ca;exports.ToolCallChunkEventSchema=da;exports.ToolCallEndEventSchema=ua;exports.ToolCallResultEventSchema=ya;exports.ToolCallSchema=Na;exports.ToolCallStartEventSchema=la;exports.ToolMessageSchema=Ba;exports.ToolSchema=zn;exports.ToolsCapabilitiesSchema=yr;exports.TransportCapabilitiesSchema=kr;exports.UrlSourceSchema=fa;exports.UseAgentUpdate=as;exports.UserMessageSchema=Oa;exports.VideoPartSchema=ba;exports._sfc_main=Yr;exports._sfc_main$1=ns;exports._sfc_main$10=At;exports._sfc_main$11=es;exports._sfc_main$12=us;exports._sfc_main$13=Bt;exports._sfc_main$14=_r;exports._sfc_main$15=_d;exports._sfc_main$16=wf;exports._sfc_main$17=Sf;exports._sfc_main$18=Zm;exports._sfc_main$2=wn;exports._sfc_main$3=Um;exports._sfc_main$4=os;exports._sfc_main$5=an;exports._sfc_main$6=Rt;exports._sfc_main$7=ds;exports._sfc_main$8=cs;exports._sfc_main$9=ps;exports.createA2UIMessageRenderer=Fr;exports.createDefaultLicenseRef=Kr;exports.defineToolCallRenderer=Jt;exports.extractCompleteStyles=Pr;exports.getOperationSurfaceId=kn;exports.processPartialHtml=Vr;exports.useAgent=rn;exports.useAgentContext=Rf;exports.useAttachments=ss;exports.useCapabilities=Uf;exports.useComponent=_f;exports.useConfigureSuggestions=Df;exports.useCopilotChatConfiguration=Re;exports.useCopilotKit=Pe;exports.useDefaultRenderTool=zf;exports.useFrontendTool=Gn;exports.useHumanInTheLoop=Of;exports.useInterrupt=Lf;exports.useKatexStyles=ts;exports.useKeyboardHeight=is;exports.useLicenseContext=Ot;exports.useRenderActivityMessage=Zf;exports.useRenderCustomMessages=jf;exports.useRenderTool=ys;exports.useSandboxFunctions=Lr;exports.useSuggestions=rs;exports.useThreads=ms;exports.vueBasicCatalog=yt;
|
|
110
|
+
//# sourceMappingURL=use-render-activity-message-BTKmd3f3.cjs.map
|