@copilotkit/vue 1.83.0 → 1.84.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/PARITY.md +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +2 -2
- package/dist/use-render-activity-message--gNfCK8I.cjs +70 -0
- package/dist/use-render-activity-message--gNfCK8I.cjs.map +1 -0
- package/dist/{use-render-activity-message-mQvByEYF.js → use-render-activity-message-BQ_UwNGb.js} +5125 -5407
- package/dist/use-render-activity-message-BQ_UwNGb.js.map +1 -0
- package/dist/v2/components/chat/CopilotChat.vue.d.ts +1 -1
- package/dist/v2/components/chat/CopilotChatView.vue.d.ts +1 -1
- package/dist/v2/components/chat/CopilotPopup.vue.d.ts +7 -2
- package/dist/v2/components/chat/CopilotPopup.vue.d.ts.map +1 -1
- package/dist/v2/components/chat/CopilotPopupView.vue.d.ts +4 -2
- package/dist/v2/components/chat/CopilotPopupView.vue.d.ts.map +1 -1
- package/dist/v2/components/chat/CopilotPopupViewInternal.vue.d.ts +4 -2
- package/dist/v2/components/chat/CopilotPopupViewInternal.vue.d.ts.map +1 -1
- package/dist/v2/components/chat/CopilotSidebar.vue.d.ts +7 -2
- package/dist/v2/components/chat/CopilotSidebar.vue.d.ts.map +1 -1
- package/dist/v2/components/chat/CopilotSidebarView.vue.d.ts +4 -2
- package/dist/v2/components/chat/CopilotSidebarView.vue.d.ts.map +1 -1
- package/dist/v2/components/chat/CopilotSidebarViewInternal.vue.d.ts +4 -2
- package/dist/v2/components/chat/CopilotSidebarViewInternal.vue.d.ts.map +1 -1
- package/dist/v2/components/chat/forwarded-slots.d.ts +12 -0
- package/dist/v2/components/chat/forwarded-slots.d.ts.map +1 -0
- package/dist/v2/components/chat/index.d.ts +16 -12
- package/dist/v2/components/chat/index.d.ts.map +1 -1
- package/dist/v2/components/chat/types.d.ts +7 -1
- package/dist/v2/components/chat/types.d.ts.map +1 -1
- package/dist/v2/index.cjs +1 -1
- package/dist/v2/index.mjs +1 -1
- package/package.json +6 -6
- package/src/v2/components/chat/CopilotPopup.vue +23 -25
- package/src/v2/components/chat/CopilotPopupView.vue +10 -39
- package/src/v2/components/chat/CopilotPopupViewInternal.vue +14 -34
- package/src/v2/components/chat/CopilotSidebar.vue +23 -25
- package/src/v2/components/chat/CopilotSidebarView.vue +10 -39
- package/src/v2/components/chat/CopilotSidebarViewInternal.vue +14 -34
- package/src/v2/components/chat/__tests__/CopilotPopup.test.ts +90 -1
- package/src/v2/components/chat/__tests__/CopilotSidebar.test.ts +90 -1
- package/src/v2/components/chat/forwarded-slots.ts +17 -0
- package/src/v2/components/chat/types.ts +8 -0
- package/dist/use-render-activity-message-B7sDGUl4.cjs +0 -70
- package/dist/use-render-activity-message-B7sDGUl4.cjs.map +0 -1
- package/dist/use-render-activity-message-mQvByEYF.js.map +0 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";var Si=Object.create;var Kn=Object.defineProperty;var wi=Object.getOwnPropertyDescriptor;var Ci=Object.getOwnPropertyNames;var Ti=Object.getPrototypeOf,xi=Object.prototype.hasOwnProperty;var Ii=(e,n,o,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of Ci(n))!xi.call(e,r)&&r!==o&&Kn(e,r,{get:()=>n[r],enumerable:!(a=wi(n,r))||a.enumerable});return e};var Ut=(e,n,o)=>(o=e!=null?Si(Ti(e)):{},Ii(n||!e||!e.__esModule?Kn(o,"default",{value:e,enumerable:!0}):o,e));const t=require("vue"),G=require("@copilotkit/shared"),he=require("zod"),ie=require("@copilotkit/core"),Cn=require("zod-to-json-schema"),Qt=require("@a2ui/web_core/v0_9"),qn=require("@copilotkit/mcp-apps-renderer/activity"),Oe=require("@a2ui/web_core/v0_9/basic_catalog"),qt=require("@ag-ui/client"),fe=require("lucide-vue-next"),No=require("streamdown-vue"),Oo=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(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 f in i.prototype)f in l||Object.defineProperty(l,f,{value:i.prototype[f].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 f of u._zod.deferred)f();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 At extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const Bo={};function ft(e){return Bo}function Ei(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 _i(e,n){return typeof n=="bigint"?n.toString():n}function Tn(e){return{get value(){{const n=e();return Object.defineProperty(this,"value",{value:n}),n}}}}function xn(e){return e==null}function In(e){const n=e.startsWith("^")?1:0,o=e.endsWith("$")?e.length-1:e.length;return e.slice(n,o)}function Ai(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 En(e,n,o){Object.defineProperty(e,n,{value:o,writable:!0,enumerable:!0,configurable:!0})}function Et(e){return JSON.stringify(e)}const zo=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Jt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Ri=Tn(()=>{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(Jt(e)===!1)return!1;const n=e.constructor;if(n===void 0)return!0;const o=n.prototype;return!(Jt(o)===!1||Object.prototype.hasOwnProperty.call(o,"isPrototypeOf")===!1)}const $i=new Set(["string","number","symbol"]);function Nt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function vt(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 Mi(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}const Ni={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 Oi(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 vt(e,{...e._zod.def,shape:o,checks:[]})}function Bi(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 vt(e,{...e._zod.def,shape:o,checks:[]})}function zi(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 En(this,"shape",a),a},checks:[]};return vt(e,o)}function Fi(e,n){return vt(e,{...e._zod.def,get shape(){const o={...e._zod.def.shape,...n._zod.def.shape};return En(this,"shape",o),o},catchall:n._zod.def.catchall,checks:[]})}function Di(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 vt(n,{...n._zod.def,shape:r,checks:[]})}function Li(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 vt(n,{...n._zod.def,shape:r,checks:[]})}function _t(e,n=0){for(let o=n;o<e.issues.length;o++)if(e.issues[o]?.continue!==!0)return!0;return!1}function _n(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 ht(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 An(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Rt(...e){const[n,o,a]=e;return typeof n=="string"?{message:n,code:"custom",input:o,inst:a}:{...n}}const Fo=(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,_i,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Do=E("$ZodError",Fo),Lo=E("$ZodError",Fo,{Parent:Error});function Vi(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 Ui(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 Pi=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 At;if(i.issues.length){const l=new(r?.Err??e)(i.issues.map(c=>ht(c,s,ft())));throw zo(l,r?.callee),l}return i.value},ji=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=>ht(c,s,ft())));throw zo(l,r?.callee),l}return i.value},Vo=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 At;return s.issues.length?{success:!1,error:new(e??Do)(s.issues.map(i=>ht(i,r,ft())))}:{success:!0,data:s.value}},Zi=Vo(Lo),Uo=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=>ht(i,r,ft())))}:{success:!0,data:s.value}},Hi=Uo(Lo),Gi=/^[cC][^\s-]{8,}$/,Wi=/^[0-9a-z]+$/,Ki=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,qi=/^[0-9a-vA-V]{20}$/,Ji=/^[A-Za-z0-9]{27}$/,Xi=/^[a-zA-Z0-9_-]{21}$/,Yi=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Qi=/^([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})$/,Jn=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)$/,es=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,ts="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function ns(){return new RegExp(ts,"u")}const os=/^(?:(?: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])$/,as=/^(([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})$/,rs=/^((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])$/,is=/^(([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])$/,ss=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Po=/^[A-Za-z0-9_-]*$/,ls=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,cs=/^\+(?:[0-9]){6,14}[0-9]$/,jo="(?:(?:\\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])))",us=new RegExp(`^${jo}$`);function Zo(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 ds(e){return new RegExp(`^${Zo(e)}$`)}function ps(e){const n=Zo({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(`^${jo}T(?:${a})$`)}const ms=e=>{const n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},fs=/^\d+$/,hs=/^-?\d+(?:\.\d+)?/i,gs=/true|false/i,vs=/^[^A-Z]*$/,bs=/^[^a-z]*$/,Je=E("$ZodCheck",(e,n)=>{var o;e._zod??(e._zod={}),e._zod.def=n,(o=e._zod).onattach??(o.onattach=[])}),Ho={number:"number",bigint:"bigint",object:"date"},Go=E("$ZodCheckLessThan",(e,n)=>{Je.init(e,n);const o=Ho[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})}}),Wo=E("$ZodCheckGreaterThan",(e,n)=>{Je.init(e,n);const o=Ho[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})}}),ks=E("$ZodCheckMultipleOf",(e,n)=>{Je.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):Ai(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})}}),ys=E("$ZodCheckNumberFormat",(e,n)=>{Je.init(e,n),n.format=n.format||"float64";const o=n.format?.includes("int"),a=o?"int":"number",[r,s]=Ni[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=fs)}),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})}}),Ss=E("$ZodCheckMaxLength",(e,n)=>{var o;Je.init(e,n),(o=e._zod.def).when??(o.when=a=>{const r=a.value;return!xn(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=An(r);a.issues.push({origin:i,code:"too_big",maximum:n.maximum,inclusive:!0,input:r,inst:e,continue:!n.abort})}}),ws=E("$ZodCheckMinLength",(e,n)=>{var o;Je.init(e,n),(o=e._zod.def).when??(o.when=a=>{const r=a.value;return!xn(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=An(r);a.issues.push({origin:i,code:"too_small",minimum:n.minimum,inclusive:!0,input:r,inst:e,continue:!n.abort})}}),Cs=E("$ZodCheckLengthEquals",(e,n)=>{var o;Je.init(e,n),(o=e._zod.def).when??(o.when=a=>{const r=a.value;return!xn(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=An(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})}}),en=E("$ZodCheckStringFormat",(e,n)=>{var o,a;Je.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=()=>{})}),Ts=E("$ZodCheckRegex",(e,n)=>{en.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})}}),xs=E("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=vs),en.init(e,n)}),Is=E("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=bs),en.init(e,n)}),Es=E("$ZodCheckIncludes",(e,n)=>{Je.init(e,n);const o=Nt(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})}}),_s=E("$ZodCheckStartsWith",(e,n)=>{Je.init(e,n);const o=new RegExp(`^${Nt(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})}}),As=E("$ZodCheckEndsWith",(e,n)=>{Je.init(e,n);const o=new RegExp(`.*${Nt(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})}}),Rs=E("$ZodCheckOverwrite",(e,n)=>{Je.init(e,n),e._zod.check=o=>{o.value=n.tx(o.value)}});class $s{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 Ms={major:4,minor:0,patch:0},ye=E("$ZodType",(e,n)=>{var o;e??(e={}),e._zod.def=n,e._zod.bag=e._zod.bag||{},e._zod.version=Ms;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=_t(s),u;for(const f of i){if(f._zod.def.when){if(!f._zod.def.when(s))continue}else if(c)continue;const b=s.issues.length,h=f._zod.check(s);if(h instanceof Promise&&l?.async===!1)throw new At;if(u||h instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await h,s.issues.length!==b&&(c||(c=_t(s,b)))});else{if(s.issues.length===b)continue;c||(c=_t(s,b))}}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 At;return l.then(c=>r(c,a,i))}return r(l,a,i)}}e["~standard"]={validate:r=>{try{const s=Zi(e,r);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Hi(e,r).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),Rn=E("$ZodString",(e,n)=>{ye.init(e,n),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??ms(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}}),Se=E("$ZodStringFormat",(e,n)=>{en.init(e,n),Rn.init(e,n)}),Ns=E("$ZodGUID",(e,n)=>{n.pattern??(n.pattern=Qi),Se.init(e,n)}),Os=E("$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=Jn(a))}else n.pattern??(n.pattern=Jn());Se.init(e,n)}),Bs=E("$ZodEmail",(e,n)=>{n.pattern??(n.pattern=es),Se.init(e,n)}),zs=E("$ZodURL",(e,n)=>{Se.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:ls.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})}}}),Fs=E("$ZodEmoji",(e,n)=>{n.pattern??(n.pattern=ns()),Se.init(e,n)}),Ds=E("$ZodNanoID",(e,n)=>{n.pattern??(n.pattern=Xi),Se.init(e,n)}),Ls=E("$ZodCUID",(e,n)=>{n.pattern??(n.pattern=Gi),Se.init(e,n)}),Vs=E("$ZodCUID2",(e,n)=>{n.pattern??(n.pattern=Wi),Se.init(e,n)}),Us=E("$ZodULID",(e,n)=>{n.pattern??(n.pattern=Ki),Se.init(e,n)}),Ps=E("$ZodXID",(e,n)=>{n.pattern??(n.pattern=qi),Se.init(e,n)}),js=E("$ZodKSUID",(e,n)=>{n.pattern??(n.pattern=Ji),Se.init(e,n)}),Zs=E("$ZodISODateTime",(e,n)=>{n.pattern??(n.pattern=ps(n)),Se.init(e,n)}),Hs=E("$ZodISODate",(e,n)=>{n.pattern??(n.pattern=us),Se.init(e,n)}),Gs=E("$ZodISOTime",(e,n)=>{n.pattern??(n.pattern=ds(n)),Se.init(e,n)}),Ws=E("$ZodISODuration",(e,n)=>{n.pattern??(n.pattern=Yi),Se.init(e,n)}),Ks=E("$ZodIPv4",(e,n)=>{n.pattern??(n.pattern=os),Se.init(e,n),e._zod.onattach.push(o=>{const a=o._zod.bag;a.format="ipv4"})}),qs=E("$ZodIPv6",(e,n)=>{n.pattern??(n.pattern=as),Se.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})}}}),Js=E("$ZodCIDRv4",(e,n)=>{n.pattern??(n.pattern=rs),Se.init(e,n)}),Xs=E("$ZodCIDRv6",(e,n)=>{n.pattern??(n.pattern=is),Se.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 Ko(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const Ys=E("$ZodBase64",(e,n)=>{n.pattern??(n.pattern=ss),Se.init(e,n),e._zod.onattach.push(o=>{o._zod.bag.contentEncoding="base64"}),e._zod.check=o=>{Ko(o.value)||o.issues.push({code:"invalid_format",format:"base64",input:o.value,inst:e,continue:!n.abort})}});function Qs(e){if(!Po.test(e))return!1;const n=e.replace(/[-_]/g,a=>a==="-"?"+":"/"),o=n.padEnd(Math.ceil(n.length/4)*4,"=");return Ko(o)}const el=E("$ZodBase64URL",(e,n)=>{n.pattern??(n.pattern=Po),Se.init(e,n),e._zod.onattach.push(o=>{o._zod.bag.contentEncoding="base64url"}),e._zod.check=o=>{Qs(o.value)||o.issues.push({code:"invalid_format",format:"base64url",input:o.value,inst:e,continue:!n.abort})}}),tl=E("$ZodE164",(e,n)=>{n.pattern??(n.pattern=cs),Se.init(e,n)});function nl(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 ol=E("$ZodJWT",(e,n)=>{Se.init(e,n),e._zod.check=o=>{nl(o.value,n.alg)||o.issues.push({code:"invalid_format",format:"jwt",input:o.value,inst:e,continue:!n.abort})}}),qo=E("$ZodNumber",(e,n)=>{ye.init(e,n),e._zod.pattern=e._zod.bag.pattern??hs,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}}),al=E("$ZodNumber",(e,n)=>{ys.init(e,n),qo.init(e,n)}),rl=E("$ZodBoolean",(e,n)=>{ye.init(e,n),e._zod.pattern=gs,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}}),il=E("$ZodAny",(e,n)=>{ye.init(e,n),e._zod.parse=o=>o}),sl=E("$ZodUnknown",(e,n)=>{ye.init(e,n),e._zod.parse=o=>o}),ll=E("$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 Xn(e,n,o){e.issues.length&&n.issues.push(..._n(o,e.issues)),n.value[o]=e.value}const cl=E("$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=>Xn(u,o,i))):Xn(c,o,i)}return s.length?Promise.all(s).then(()=>o):o}});function jt(e,n,o){e.issues.length&&n.issues.push(..._n(o,e.issues)),n.value[o]=e.value}function Yn(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(..._n(o,e.issues)):e.value===void 0?o in a&&(n.value[o]=void 0):n.value[o]=e.value}const ul=E("$ZodObject",(e,n)=>{ye.init(e,n);const o=Tn(()=>{const b=Object.keys(n.shape);for(const d of b)if(!(n.shape[d]instanceof ye))throw new Error(`Invalid element at key "${d}": expected a Zod schema`);const h=Mi(n.shape);return{shape:n.shape,keys:b,keySet:new Set(b),numKeys:b.length,optionalKeys:new Set(h)}});be(e._zod,"propValues",()=>{const b=n.shape,h={};for(const d in b){const g=b[d]._zod;if(g.values){h[d]??(h[d]=new Set);for(const S of g.values)h[d].add(S)}}return h});const a=b=>{const h=new $s(["shape","payload","ctx"]),d=o.value,g=p=>{const v=Et(p);return`shape[${v}]._zod.run({ value: input[${v}], issues: [] }, ctx)`};h.write("const input = payload.value;");const S=Object.create(null);let I=0;for(const p of d.keys)S[p]=`key_${I++}`;h.write("const newResult = {}");for(const p of d.keys)if(d.optionalKeys.has(p)){const v=S[p];h.write(`const ${v} = ${g(p)};`);const m=Et(p);h.write(`
|
|
4
|
+
if (${v}.issues.length) {
|
|
5
|
+
if (input[${m}] === undefined) {
|
|
6
|
+
if (${m} in input) {
|
|
7
|
+
newResult[${m}] = undefined;
|
|
8
|
+
}
|
|
9
|
+
} else {
|
|
10
|
+
payload.issues = payload.issues.concat(
|
|
11
|
+
${v}.issues.map((iss) => ({
|
|
12
|
+
...iss,
|
|
13
|
+
path: iss.path ? [${m}, ...iss.path] : [${m}],
|
|
14
|
+
}))
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
} else if (${v}.value === undefined) {
|
|
18
|
+
if (${m} in input) newResult[${m}] = undefined;
|
|
19
|
+
} else {
|
|
20
|
+
newResult[${m}] = ${v}.value;
|
|
21
|
+
}
|
|
22
|
+
`)}else{const v=S[p];h.write(`const ${v} = ${g(p)};`),h.write(`
|
|
23
|
+
if (${v}.issues.length) payload.issues = payload.issues.concat(${v}.issues.map(iss => ({
|
|
24
|
+
...iss,
|
|
25
|
+
path: iss.path ? [${Et(p)}, ...iss.path] : [${Et(p)}]
|
|
26
|
+
})));`),h.write(`newResult[${Et(p)}] = ${v}.value`)}h.write("payload.value = newResult;"),h.write("return payload;");const w=h.compile();return(p,v)=>w(b,p,v)};let r;const s=Jt,i=!Bo.jitless,c=i&&Ri.value,u=n.catchall;let f;e._zod.parse=(b,h)=>{f??(f=o.value);const d=b.value;if(!s(d))return b.issues.push({expected:"object",code:"invalid_type",input:d,inst:e}),b;const g=[];if(i&&c&&h?.async===!1&&h.jitless!==!0)r||(r=a(n.shape)),b=r(b,h);else{b.value={};const v=f.shape;for(const m of f.keys){const C=v[m],k=C._zod.run({value:d[m],issues:[]},h),_=C._zod.optin==="optional"&&C._zod.optout==="optional";k instanceof Promise?g.push(k.then(T=>_?Yn(T,b,m,d):jt(T,b,m))):_?Yn(k,b,m,d):jt(k,b,m)}}if(!u)return g.length?Promise.all(g).then(()=>b):b;const S=[],I=f.keySet,w=u._zod,p=w.def.type;for(const v of Object.keys(d)){if(I.has(v))continue;if(p==="never"){S.push(v);continue}const m=w.run({value:d[v],issues:[]},h);m instanceof Promise?g.push(m.then(C=>jt(C,b,v))):jt(m,b,v)}return S.length&&b.issues.push({code:"unrecognized_keys",keys:S,input:d,inst:e}),g.length?Promise.all(g).then(()=>b):b}});function Qn(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=>ht(s,a,ft())))}),n}const Jo=E("$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=>In(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=>Qn(i,o,e,a)):Qn(s,o,e,a)}}),dl=E("$ZodDiscriminatedUnion",(e,n)=>{Jo.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=Tn(()=>{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(!Jt(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)}}),pl=E("$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])=>eo(o,c,u)):eo(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 eo(e,n,o){if(n.issues.length&&e.issues.push(...n.issues),o.issues.length&&e.issues.push(...o.issues),_t(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 ml=E("$ZodEnum",(e,n)=>{ye.init(e,n);const o=Ei(n.entries);e._zod.values=new Set(o),e._zod.pattern=new RegExp(`^(${o.filter(a=>$i.has(typeof a)).map(a=>typeof a=="string"?Nt(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}}),fl=E("$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"?Nt(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}}),hl=E("$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 At;return o.value=r,o}}),gl=E("$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(`^(${In(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)}),vl=E("$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(`^(${In(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)}),bl=E("$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=>to(s,n)):to(r,n)}});function to(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const kl=E("$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))}),yl=E("$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=>no(s,e)):no(r,e)}});function no(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 Sl=E("$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=>ht(i,a,ft()))},input:o.value}),o.issues=[]),o)):(o.value=r.value,r.issues.length&&(o.value=n.catchValue({...o,error:{issues:r.issues.map(s=>ht(s,a,ft()))},input:o.value}),o.issues=[]),o)}}),wl=E("$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=>oo(s,n,a)):oo(r,n,a)}});function oo(e,n,o){return _t(e)?e:n.out._zod.run({value:e.value,issues:e.issues},o)}const Cl=E("$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(ao):ao(r)}});function ao(e){return e.value=Object.freeze(e.value),e}const Tl=E("$ZodCustom",(e,n)=>{Je.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=>ro(s,o,a,e));ro(r,o,a,e)}});function ro(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(Rt(r))}}class xl{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 Il(){return new xl}const Zt=Il();function El(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 io(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...J(n)})}function Al(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...J(n)})}function Rl(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...J(n)})}function $l(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...J(n)})}function Ml(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...J(n)})}function Nl(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,...J(n)})}function Ol(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...J(n)})}function Bl(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...J(n)})}function zl(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...J(n)})}function Fl(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...J(n)})}function Dl(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 Vl(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...J(n)})}function Ul(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...J(n)})}function Pl(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...J(n)})}function jl(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...J(n)})}function Zl(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...J(n)})}function Hl(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...J(n)})}function Gl(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...J(n)})}function Wl(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...J(n)})}function Kl(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...J(n)})}function ql(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...J(n)})}function Jl(e,n){return new e({type:"string",format:"date",check:"string_format",...J(n)})}function Xl(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...J(n)})}function Yl(e,n){return new e({type:"string",format:"duration",check:"string_format",...J(n)})}function Ql(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...J(n)})}function ec(e,n){return new e({type:"boolean",...J(n)})}function tc(e){return new e({type:"any"})}function nc(e){return new e({type:"unknown"})}function oc(e,n){return new e({type:"never",...J(n)})}function so(e,n){return new Go({check:"less_than",...J(n),value:e,inclusive:!1})}function cn(e,n){return new Go({check:"less_than",...J(n),value:e,inclusive:!0})}function lo(e,n){return new Wo({check:"greater_than",...J(n),value:e,inclusive:!1})}function un(e,n){return new Wo({check:"greater_than",...J(n),value:e,inclusive:!0})}function co(e,n){return new ks({check:"multiple_of",...J(n),value:e})}function Xo(e,n){return new Ss({check:"max_length",...J(n),maximum:e})}function Xt(e,n){return new ws({check:"min_length",...J(n),minimum:e})}function Yo(e,n){return new Cs({check:"length_equals",...J(n),length:e})}function ac(e,n){return new Ts({check:"string_format",format:"regex",...J(n),pattern:e})}function rc(e){return new xs({check:"string_format",format:"lowercase",...J(e)})}function ic(e){return new Is({check:"string_format",format:"uppercase",...J(e)})}function sc(e,n){return new Es({check:"string_format",format:"includes",...J(n),includes:e})}function lc(e,n){return new _s({check:"string_format",format:"starts_with",...J(n),prefix:e})}function cc(e,n){return new As({check:"string_format",format:"ends_with",...J(n),suffix:e})}function Ot(e){return new Rs({check:"overwrite",tx:e})}function uc(e){return Ot(n=>n.normalize(e))}function dc(){return Ot(e=>e.trim())}function pc(){return Ot(e=>e.toLowerCase())}function mc(){return Ot(e=>e.toUpperCase())}function fc(e,n,o){return new e({type:"array",element:n,...J(o)})}function hc(e,n,o){const a=J(o);return a.abort??(a.abort=!0),new e({type:"custom",check:"custom",fn:n,...a})}function gc(e,n,o){return new e({type:"custom",check:"custom",fn:n,...J(o)})}const vc=E("ZodISODateTime",(e,n)=>{Zs.init(e,n),Ie.init(e,n)});function bc(e){return ql(vc,e)}const kc=E("ZodISODate",(e,n)=>{Hs.init(e,n),Ie.init(e,n)});function yc(e){return Jl(kc,e)}const Sc=E("ZodISOTime",(e,n)=>{Gs.init(e,n),Ie.init(e,n)});function wc(e){return Xl(Sc,e)}const Cc=E("ZodISODuration",(e,n)=>{Ws.init(e,n),Ie.init(e,n)});function Tc(e){return Yl(Cc,e)}const xc=(e,n)=>{Do.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:o=>Ui(e,o)},flatten:{value:o=>Vi(e,o)},addIssue:{value:o=>e.issues.push(o)},addIssues:{value:o=>e.issues.push(...o)},isEmpty:{get(){return e.issues.length===0}}})},tn=E("ZodError",xc,{Parent:Error}),Ic=Pi(tn),Ec=ji(tn),_c=Vo(tn),Ac=Uo(tn),_e=E("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)=>vt(e,o,a),e.brand=()=>e,e.register=((o,a)=>(o.add(e,a),e)),e.parse=(o,a)=>Ic(e,o,a,{callee:e.parse}),e.safeParse=(o,a)=>_c(e,o,a),e.parseAsync=async(o,a)=>Ec(e,o,a,{callee:e.parseAsync}),e.safeParseAsync=async(o,a)=>Ac(e,o,a),e.spa=e.safeParseAsync,e.refine=(o,a)=>e.check(Su(o,a)),e.superRefine=o=>e.check(wu(o)),e.overwrite=o=>e.check(Ot(o)),e.optional=()=>po(e),e.nullable=()=>mo(e),e.nullish=()=>po(mo(e)),e.nonoptional=o=>fu(e,o),e.array=()=>Ne(e),e.or=o=>nn([e,o]),e.and=o=>ru(e,o),e.transform=o=>fo(e,lu(o)),e.default=o=>du(e,o),e.prefault=o=>mu(e,o),e.catch=o=>gu(e,o),e.pipe=o=>fo(e,o),e.readonly=()=>ku(e),e.describe=o=>{const a=e.clone();return Zt.add(a,{description:o}),a},Object.defineProperty(e,"description",{get(){return Zt.get(e)?.description},configurable:!0}),e.meta=(...o)=>{if(o.length===0)return Zt.get(e);const a=e.clone();return Zt.add(a,o[0]),a},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),Qo=E("_ZodString",(e,n)=>{Rn.init(e,n),_e.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(ac(...a)),e.includes=(...a)=>e.check(sc(...a)),e.startsWith=(...a)=>e.check(lc(...a)),e.endsWith=(...a)=>e.check(cc(...a)),e.min=(...a)=>e.check(Xt(...a)),e.max=(...a)=>e.check(Xo(...a)),e.length=(...a)=>e.check(Yo(...a)),e.nonempty=(...a)=>e.check(Xt(1,...a)),e.lowercase=a=>e.check(rc(a)),e.uppercase=a=>e.check(ic(a)),e.trim=()=>e.check(dc()),e.normalize=(...a)=>e.check(uc(...a)),e.toLowerCase=()=>e.check(pc()),e.toUpperCase=()=>e.check(mc())}),Rc=E("ZodString",(e,n)=>{Rn.init(e,n),Qo.init(e,n),e.email=o=>e.check(_l($c,o)),e.url=o=>e.check(Nl(Mc,o)),e.jwt=o=>e.check(Kl(Wc,o)),e.emoji=o=>e.check(Ol(Nc,o)),e.guid=o=>e.check(io(uo,o)),e.uuid=o=>e.check(Al(Ht,o)),e.uuidv4=o=>e.check(Rl(Ht,o)),e.uuidv6=o=>e.check($l(Ht,o)),e.uuidv7=o=>e.check(Ml(Ht,o)),e.nanoid=o=>e.check(Bl(Oc,o)),e.guid=o=>e.check(io(uo,o)),e.cuid=o=>e.check(zl(Bc,o)),e.cuid2=o=>e.check(Fl(zc,o)),e.ulid=o=>e.check(Dl(Fc,o)),e.base64=o=>e.check(Hl(Zc,o)),e.base64url=o=>e.check(Gl(Hc,o)),e.xid=o=>e.check(Ll(Dc,o)),e.ksuid=o=>e.check(Vl(Lc,o)),e.ipv4=o=>e.check(Ul(Vc,o)),e.ipv6=o=>e.check(Pl(Uc,o)),e.cidrv4=o=>e.check(jl(Pc,o)),e.cidrv6=o=>e.check(Zl(jc,o)),e.e164=o=>e.check(Wl(Gc,o)),e.datetime=o=>e.check(bc(o)),e.date=o=>e.check(yc(o)),e.time=o=>e.check(wc(o)),e.duration=o=>e.check(Tc(o))});function x(e){return El(Rc,e)}const Ie=E("ZodStringFormat",(e,n)=>{Se.init(e,n),Qo.init(e,n)}),$c=E("ZodEmail",(e,n)=>{Bs.init(e,n),Ie.init(e,n)}),uo=E("ZodGUID",(e,n)=>{Ns.init(e,n),Ie.init(e,n)}),Ht=E("ZodUUID",(e,n)=>{Os.init(e,n),Ie.init(e,n)}),Mc=E("ZodURL",(e,n)=>{zs.init(e,n),Ie.init(e,n)}),Nc=E("ZodEmoji",(e,n)=>{Fs.init(e,n),Ie.init(e,n)}),Oc=E("ZodNanoID",(e,n)=>{Ds.init(e,n),Ie.init(e,n)}),Bc=E("ZodCUID",(e,n)=>{Ls.init(e,n),Ie.init(e,n)}),zc=E("ZodCUID2",(e,n)=>{Vs.init(e,n),Ie.init(e,n)}),Fc=E("ZodULID",(e,n)=>{Us.init(e,n),Ie.init(e,n)}),Dc=E("ZodXID",(e,n)=>{Ps.init(e,n),Ie.init(e,n)}),Lc=E("ZodKSUID",(e,n)=>{js.init(e,n),Ie.init(e,n)}),Vc=E("ZodIPv4",(e,n)=>{Ks.init(e,n),Ie.init(e,n)}),Uc=E("ZodIPv6",(e,n)=>{qs.init(e,n),Ie.init(e,n)}),Pc=E("ZodCIDRv4",(e,n)=>{Js.init(e,n),Ie.init(e,n)}),jc=E("ZodCIDRv6",(e,n)=>{Xs.init(e,n),Ie.init(e,n)}),Zc=E("ZodBase64",(e,n)=>{Ys.init(e,n),Ie.init(e,n)}),Hc=E("ZodBase64URL",(e,n)=>{el.init(e,n),Ie.init(e,n)}),Gc=E("ZodE164",(e,n)=>{tl.init(e,n),Ie.init(e,n)}),Wc=E("ZodJWT",(e,n)=>{ol.init(e,n),Ie.init(e,n)}),Kc=E("ZodNumber",(e,n)=>{qo.init(e,n),_e.init(e,n),e.gt=(a,r)=>e.check(lo(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(so(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(se(a)),e.safe=a=>e.check(se(a)),e.positive=a=>e.check(lo(0,a)),e.nonnegative=a=>e.check(un(0,a)),e.negative=a=>e.check(so(0,a)),e.nonpositive=a=>e.check(cn(0,a)),e.multipleOf=(a,r)=>e.check(co(a,r)),e.step=(a,r)=>e.check(co(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}),qc=E("ZodNumberFormat",(e,n)=>{al.init(e,n),Kc.init(e,n)});function se(e){return Ql(qc,e)}const Jc=E("ZodBoolean",(e,n)=>{rl.init(e,n),_e.init(e,n)});function ue(e){return ec(Jc,e)}const Xc=E("ZodAny",(e,n)=>{il.init(e,n),_e.init(e,n)});function ee(){return tc(Xc)}const Yc=E("ZodUnknown",(e,n)=>{sl.init(e,n),_e.init(e,n)});function gn(){return nc(Yc)}const Qc=E("ZodNever",(e,n)=>{ll.init(e,n),_e.init(e,n)});function eu(e){return oc(Qc,e)}const tu=E("ZodArray",(e,n)=>{cl.init(e,n),_e.init(e,n),e.element=n.element,e.min=(o,a)=>e.check(Xt(o,a)),e.nonempty=o=>e.check(Xt(1,o)),e.max=(o,a)=>e.check(Xo(o,a)),e.length=(o,a)=>e.check(Yo(o,a)),e.unwrap=()=>e.element});function Ne(e,n){return fc(tu,e,n)}const nu=E("ZodObject",(e,n)=>{ul.init(e,n),_e.init(e,n),be(e,"shape",()=>n.shape),e.keyof=()=>Tt(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:eu()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=o=>zi(e,o),e.merge=o=>Fi(e,o),e.pick=o=>Oi(e,o),e.omit=o=>Bi(e,o),e.partial=(...o)=>Di(ta,e,o[0]),e.required=(...o)=>Li(na,e,o[0])});function D(e,n){return new nu({type:"object",get shape(){return En(this,"shape",{...e}),this.shape},catchall:gn(),...J(n)})}const ea=E("ZodUnion",(e,n)=>{Jo.init(e,n),_e.init(e,n),e.options=n.options});function nn(e,n){return new ea({type:"union",options:e,...J(n)})}const ou=E("ZodDiscriminatedUnion",(e,n)=>{ea.init(e,n),dl.init(e,n)});function bt(e,n,o){return new ou({type:"union",options:n,discriminator:e,...J(o)})}const au=E("ZodIntersection",(e,n)=>{pl.init(e,n),_e.init(e,n)});function ru(e,n){return new au({type:"intersection",left:e,right:n})}const vn=E("ZodEnum",(e,n)=>{ml.init(e,n),_e.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 Tt(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 iu=E("ZodLiteral",(e,n)=>{fl.init(e,n),_e.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 iu({type:"literal",values:Array.isArray(e)?e:[e],...J(n)})}const su=E("ZodTransform",(e,n)=>{hl.init(e,n),_e.init(e,n),e._zod.parse=(o,a)=>{o.addIssue=s=>{if(typeof s=="string")o.issues.push(Rt(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(Rt(i))}};const r=n.transform(o.value,o);return r instanceof Promise?r.then(s=>(o.value=s,o)):(o.value=r,o)}});function lu(e){return new su({type:"transform",transform:e})}const ta=E("ZodOptional",(e,n)=>{gl.init(e,n),_e.init(e,n),e.unwrap=()=>e._zod.def.innerType});function po(e){return new ta({type:"optional",innerType:e})}const cu=E("ZodNullable",(e,n)=>{vl.init(e,n),_e.init(e,n),e.unwrap=()=>e._zod.def.innerType});function mo(e){return new cu({type:"nullable",innerType:e})}const uu=E("ZodDefault",(e,n)=>{bl.init(e,n),_e.init(e,n),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function du(e,n){return new uu({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():n}})}const pu=E("ZodPrefault",(e,n)=>{kl.init(e,n),_e.init(e,n),e.unwrap=()=>e._zod.def.innerType});function mu(e,n){return new pu({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():n}})}const na=E("ZodNonOptional",(e,n)=>{yl.init(e,n),_e.init(e,n),e.unwrap=()=>e._zod.def.innerType});function fu(e,n){return new na({type:"nonoptional",innerType:e,...J(n)})}const hu=E("ZodCatch",(e,n)=>{Sl.init(e,n),_e.init(e,n),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function gu(e,n){return new hu({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const vu=E("ZodPipe",(e,n)=>{wl.init(e,n),_e.init(e,n),e.in=n.in,e.out=n.out});function fo(e,n){return new vu({type:"pipe",in:e,out:n})}const bu=E("ZodReadonly",(e,n)=>{Cl.init(e,n),_e.init(e,n)});function ku(e){return new bu({type:"readonly",innerType:e})}const oa=E("ZodCustom",(e,n)=>{Tl.init(e,n),_e.init(e,n)});function yu(e){const n=new Je({check:"custom"});return n._zod.check=e,n}function Bt(e,n){return hc(oa,e??(()=>!0),n)}function Su(e,n={}){return gc(oa,e,n)}function wu(e){const n=yu(o=>(o.addIssue=a=>{if(typeof a=="string")o.issues.push(Rt(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(Rt(r))}},e(o.value,o)));return n}const aa=Tt(ge),ne=Bt(e=>typeof e=="object"&&e!==null&&!Array.isArray(e)),ce=x(),$n=Tt(["developer","system","assistant","user"]),ra=D({type:q(ge.TEXT_MESSAGE_START),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),messageId:x(),role:$n.optional(),name:x().optional()}),ia=D({type:q(ge.TEXT_MESSAGE_CONTENT),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),messageId:x(),delta:x()}),sa=D({type:q(ge.TEXT_MESSAGE_END),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),messageId:x()}),la=D({type:q(ge.TEXT_MESSAGE_CHUNK),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),messageId:x().optional(),role:$n.optional(),delta:x().optional(),name:x().optional()}),ca=D({type:q(ge.TOOL_CALL_START),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),toolCallId:x(),toolCallName:x(),parentMessageId:x().optional()}),ua=D({type:q(ge.TOOL_CALL_ARGS),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),toolCallId:x(),delta:x()}),da=D({type:q(ge.TOOL_CALL_END),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),toolCallId:x()}),pa=D({type:q(ge.TOOL_CALL_CHUNK),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),toolCallId:x().optional(),toolCallName:x().optional(),parentMessageId:x().optional(),delta:x().optional()}),ma=D({type:q("text"),id:x().optional(),text:x(),metadata:ee().refine(e=>e!==null).optional()}),fa=D({type:q("data"),value:x(),mimeType:x()}),ha=D({type:q("url"),value:x(),mimeType:x().optional()}),ga=D({type:q("file"),value:x(),provider:x().optional(),mimeType:x().optional()}),zt=bt("type",[fa,ha,ga]),va=D({type:q("image"),id:x().optional(),source:zt,metadata:ee().refine(e=>e!==null).optional()}),ba=D({type:q("audio"),id:x().optional(),source:zt,metadata:ee().refine(e=>e!==null).optional()}),ka=D({type:q("video"),id:x().optional(),source:zt,metadata:ee().refine(e=>e!==null).optional()}),ya=D({type:q("document"),id:x().optional(),source:zt,metadata:ee().refine(e=>e!==null).optional()}),on=bt("type",[ma,va,ba,ka,ya]),Sa=D({type:q(ge.TOOL_CALL_RESULT),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),messageId:x(),toolCallId:x(),content:nn([x(),Ne(on)]),role:q("tool").optional()}),Mn=ee(),wa=D({type:q(ge.STATE_SNAPSHOT),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),snapshot:Mn.refine(e=>e!==void 0)}),lt=x().regex(new RegExp("^(/([^/~]|~[01])*)*$")),Ca=D({op:q("add"),path:lt,value:ee().refine(e=>e!==void 0)}).meta({specOpen:!0}),Ta=D({op:q("remove"),path:lt}).meta({specOpen:!0}),xa=D({op:q("replace"),path:lt,value:ee().refine(e=>e!==void 0)}).meta({specOpen:!0}),Ia=D({op:q("move"),from:lt,path:lt}).meta({specOpen:!0}),Ea=D({op:q("copy"),from:lt,path:lt}).meta({specOpen:!0}),_a=D({op:q("test"),path:lt,value:ee().refine(e=>e!==void 0)}).meta({specOpen:!0}),Aa=bt("op",[Ca,Ta,xa,Ia,Ea,_a]),Nn=Ne(Aa),Ra=D({type:q(ge.STATE_DELTA),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),delta:Nn}),$a=D({subagentRunId:ce.optional(),id:x(),role:q("developer"),name:x().optional(),encryptedValue:x().optional(),metadata:ne.optional(),content:x()}),Ma=D({subagentRunId:ce.optional(),id:x(),role:q("system"),name:x().optional(),encryptedValue:x().optional(),metadata:ne.optional(),content:x()}),Na=D({name:x(),arguments:x()}),Oa=D({id:x(),type:q("function"),function:Na,encryptedValue:x().optional(),metadata:ne.optional()}),Ba=D({subagentRunId:ce.optional(),id:x(),role:q("assistant"),name:x().optional(),encryptedValue:x().optional(),metadata:ne.optional(),content:x().optional(),toolCalls:Ne(Oa).optional()}),za=D({subagentRunId:ce.optional(),id:x(),role:q("user"),name:x().optional(),encryptedValue:x().optional(),metadata:ne.optional(),content:nn([x(),Ne(on)])}),Fa=D({subagentRunId:ce.optional(),id:x(),role:q("tool"),content:nn([x(),Ne(on)]),toolCallId:x(),error:x().optional(),encryptedValue:x().optional(),metadata:ne.optional()}),Da=D({subagentRunId:ce.optional(),id:x(),role:q("activity"),activityType:x(),content:Bt(e=>typeof e=="object"&&e!==null&&!Array.isArray(e)),metadata:ne.optional()}),La=D({subagentRunId:ce.optional(),id:x(),role:q("reasoning"),content:x(),encryptedValue:x().optional(),metadata:ne.optional()}),On=bt("role",[$a,Ma,Ba,za,Fa,Da,La]),Va=D({type:q(ge.MESSAGES_SNAPSHOT),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),messages:Ne(On)}),Ua=D({type:q(ge.ACTIVITY_SNAPSHOT),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),messageId:x(),activityType:x(),content:Bt(e=>typeof e=="object"&&e!==null&&!Array.isArray(e)),replace:ue().optional()}),Pa=D({type:q(ge.ACTIVITY_DELTA),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),messageId:x(),activityType:x(),patch:Nn}),ja=D({type:q(ge.RAW),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),event:ee().refine(e=>e!==void 0),source:x().optional()}),Za=D({type:q(ge.CUSTOM),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),name:x(),value:ee().refine(e=>e!==void 0)}),Bn=D({name:x(),description:x(),parameters:ee().refine(e=>e!==null).optional(),metadata:ne.optional()}),Ha=D({description:x(),value:x()}),Ga=D({interruptId:x(),status:Tt(["resolved","cancelled"]),payload:ee().refine(e=>e!==null).optional(),metadata:ne.optional()}),Wa=D({threadId:x(),runId:x(),protocolVersion:x().optional(),parentRunId:x().optional(),state:Mn.refine(e=>e!==null).nullable().transform(e=>e??void 0).optional(),messages:Ne(On),tools:Ne(Bn).default(()=>[]),context:Ne(Ha).default(()=>[]),forwardedProps:ee().refine(e=>e!==null).optional(),resume:Ne(Ga).optional()}),Ka=D({type:q(ge.RUN_STARTED),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),threadId:x(),runId:x(),protocolVersion:x().optional(),parentRunId:x().optional(),input:Wa.optional()}),qa=D({type:q("success"),pendingToolCallIds:Ne(x()).optional()}),Ja=D({subagentRunId:ce.optional(),id:x(),reason:x(),message:x().optional(),toolCallId:x().optional(),responseSchema:Bt(e=>typeof e=="object"&&e!==null&&!Array.isArray(e)).optional(),expiresAt:x().optional(),metadata:ne.optional()}),Xa=D({type:q("interrupt"),interrupts:Ne(Ja).min(1)}),Ya=D({type:q("cancelled")}),Qa=bt("type",[qa,Xa,Ya]),zn=D({provider:x().optional(),model:x().optional(),inputTokens:se().min(0).max(9007199254740991).optional(),outputTokens:se().min(0).max(9007199254740991).optional(),totalTokens:se().min(0).max(9007199254740991).optional(),reasoningTokens:se().min(0).max(9007199254740991).optional(),cachedInputTokens:se().min(0).max(9007199254740991).optional(),cacheWriteInputTokens:se().min(0).max(9007199254740991).optional()}),er=D({type:q(ge.RUN_FINISHED),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),threadId:x(),runId:x(),result:ee().refine(e=>e!==null).optional(),outcome:Qa.optional(),usage:Ne(zn).optional()}),tr=D({type:q(ge.RUN_ERROR),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),message:x(),code:x().optional(),usage:Ne(zn).optional()}),nr=D({type:q(ge.STEP_STARTED),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),stepName:x()}),or=D({type:q(ge.STEP_FINISHED),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),stepName:x()}),ar=D({type:q(ge.REASONING_START),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),messageId:x()}),rr=D({type:q(ge.REASONING_MESSAGE_START),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),messageId:x(),role:q("reasoning")}),ir=D({type:q(ge.REASONING_MESSAGE_CONTENT),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),messageId:x(),delta:x()}),sr=D({type:q(ge.REASONING_MESSAGE_END),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),messageId:x()}),lr=D({type:q(ge.REASONING_MESSAGE_CHUNK),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),messageId:x().optional(),delta:x().optional()}),cr=D({type:q(ge.REASONING_END),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),messageId:x()}),ur=Tt(["tool-call","message"]),dr=D({type:q(ge.REASONING_ENCRYPTED_VALUE),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce.optional(),subtype:ur,entityId:x(),encryptedValue:x()}),pr=D({type:q(ge.SUBAGENT_STARTED),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce,name:x(),description:x().optional(),parentSubagentRunId:ce.optional(),parentToolCallId:x().optional(),parentMessageId:x().optional()}),mr=D({type:q("success")}),fr=D({type:q("suspended"),interruptIds:Ne(x()).optional()}),hr=bt("type",[mr,fr]),gr=D({type:q(ge.SUBAGENT_FINISHED),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce,result:ee().refine(e=>e!==null).optional(),outcome:hr.optional()}),vr=D({type:q(ge.SUBAGENT_ERROR),timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional(),subagentRunId:ce,message:x(),code:x().optional()}),Cu=bt("type",[ra,ia,sa,la,ca,ua,da,pa,Sa,wa,Ra,Va,Ua,Pa,ja,Za,Ka,er,tr,nr,or,ar,rr,ir,sr,lr,cr,dr,pr,gr,vr]),Tu=Tt(["developer","system","assistant","user","tool","activity","reasoning"]),br=D({name:x(),description:x().optional()}),kr=D({name:x().optional(),type:x().optional(),description:x().optional(),version:x().optional(),provider:x().optional(),documentationUrl:x().optional(),metadata:ne.optional()}),yr=D({streaming:ue().optional(),websocket:ue().optional(),httpBinary:ue().optional(),pushNotifications:ue().optional(),resumable:ue().optional()}),Sr=D({supported:ue().optional(),items:Ne(Bn).optional(),parallelCalls:ue().optional(),clientProvided:ue().optional()}),wr=D({structuredOutput:ue().optional(),supportedMimeTypes:Ne(x()).optional()}),Cr=D({snapshots:ue().optional(),deltas:ue().optional(),memory:ue().optional(),persistentState:ue().optional()}),Tr=D({supported:ue().optional(),delegation:ue().optional(),handoffs:ue().optional(),subagents:Ne(br).optional()}),xr=D({supported:ue().optional(),streaming:ue().optional(),encrypted:ue().optional()}),Ir=D({image:ue().optional(),audio:ue().optional(),video:ue().optional(),pdf:ue().optional(),file:ue().optional()}),Er=D({image:ue().optional(),audio:ue().optional()}),_r=D({input:Ir.optional(),output:Er.optional()}),Ar=D({codeExecution:ue().optional(),sandboxed:ue().optional(),maxIterations:se().min(0).max(9007199254740991).optional(),maxExecutionTime:se().min(0).max(9007199254740991).optional()}),Rr=D({supported:ue().optional(),approvals:ue().optional(),interventions:ue().optional(),feedback:ue().optional(),interrupts:ue().optional(),approveWithEdits:ue().optional()}),xu=D({identity:kr.optional(),transport:yr.optional(),tools:Sr.optional(),output:wr.optional(),state:Cr.optional(),multiAgent:Tr.optional(),reasoning:xr.optional(),multimodal:_r.optional(),execution:Ar.optional(),humanInTheLoop:Rr.optional(),custom:Bt(e=>typeof e=="object"&&e!==null&&!Array.isArray(e)).optional()}),Iu=D({subagentRunId:ce.optional()}),Eu=D({type:aa,timestamp:se().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:ee().refine(e=>e!==null).optional(),metadata:ne.optional()}),_u=D({subagentRunId:ce.optional(),id:x(),role:x(),name:x().optional(),encryptedValue:x().optional(),metadata:ne.optional()}),Au=ne.optional(),Ru="1.84.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,f)=>c.configureWebInspectorElement(u,f,{development:process.env.NODE_ENV==="development",framework:"vue",sdkVersion:Ru}),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)}}),Mr=Symbol("CopilotKit"),bn=Symbol("CopilotChatConfiguration"),Nr=Symbol("SandboxFunctions"),$u=Symbol("CopilotKitInspector");function De(){const e=t.inject(Mr);if(!e)throw new Error("useCopilotKit must be used within CopilotKitProvider");return e}const kn=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},allowSameOriginFallback:{type:Boolean,required:!1,default:!1}},setup(e){const{copilotkit:n}=De(),o=t.ref(null),a=t.ref(null),r=t.ref(null),s=t.ref(!0),i=t.ref({}),l=t.shallowRef(null),c=t.shallowRef(null),u=t.shallowRef(null),f=t.computed(()=>e.message?.id);t.watch([o,()=>e.agent,()=>n.value,f,()=>e.content.resourceUri,()=>e.content.serverHash,()=>e.content.serverId,()=>e.allowSameOriginFallback],([h,d],g,S)=>{if(!d){a.value=new Error("No agent available to fetch resource"),s.value=!1;return}if(!h)return;let I=!0;s.value=!0,a.value=null,r.value=null,i.value={},u.value=null;const w=document.createElement("iframe");w.style.width="100%",w.style.height="100px",w.style.border="none",w.style.backgroundColor="transparent",w.style.display="block",h.appendChild(w),l.value=w,S(()=>{I=!1,c.value?.teardown(),c.value=null,w.remove(),l.value===w&&(l.value=null)}),(async()=>{try{const v=await import("@copilotkit/mcp-apps-renderer").catch(C=>{throw new Error("MCP Apps require '@copilotkit/mcp-apps-renderer' and its '@modelcontextprotocol/ext-apps' dependency. Reinstall your dependencies if this package is missing.",{cause:C})});if(!I)return;const m=v.bindMcpApp({iframe:w,getContent:()=>e.content,getAgent:()=>e.agent,host:n.value,messageId:f.value,options:{allowSameOriginFallback:e.allowSameOriginFallback},hooks:{onResource:C=>{I&&(u.value=C,s.value=!1)},onSizeChanged:C=>{I&&(i.value=C)},onContentError:C=>{I&&(r.value=C)},onError:C=>{I&&(a.value=C,s.value=!1)}}});c.value=m,m.syncContent(e.content)}catch(v){console.error("[MCPAppsRenderer] Setup error:",v),I&&(a.value=v instanceof Error?v:new Error(String(v)),s.value=!1)}})()},{immediate:!0,flush:"post"}),t.watch(i,h=>{const d=l.value;d&&(h.width!==void 0&&(d.style.minWidth=`min(${h.width}px, 100%)`,d.style.width="100%"),h.height!==void 0&&(d.style.height=`${h.height}px`))},{deep:!0}),t.watch([()=>e.content.toolInput,()=>e.content.result],()=>{c.value?.syncContent(e.content)},{deep:!0});const b=t.computed(()=>u.value?._meta?.ui?.prefersBorder!==!0?{}:{borderRadius:"8px",backgroundColor:"#f9f9f9",border:"1px solid #e0e0e0"});return()=>t.h("div",{ref:o,style:{width:"100%",height:i.value.height!==void 0?`${i.value.height}px`:"auto",minHeight:"100px",overflow:"hidden",position:"relative",...b.value}},[s.value?t.h("div",{style:{padding:"1rem",color:"#666"}},"Loading..."):null,a.value||r.value?t.h("div",{style:{color:"red",padding:"1rem"}},`Error: ${(a.value??r.value).message}`):null])}}),Mu="a2ui-surface",Nu=he.z.object({operations:he.z.array(he.z.record(he.z.string(),he.z.unknown()))});function yn(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 Or extends ie.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 ho="a2ui_operations",Ou=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 {
|
|
27
|
+
0%, 100% { opacity: 0.4; }
|
|
28
|
+
50% { opacity: 1; }
|
|
29
|
+
}`)])}});function Br(e){return{activityType:"a2ui-surface",content:he.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?.[ho])?n.content[ho]:[]);return()=>o.value.length===0?e.loadingComponent?t.h(e.loadingComponent):t.h(Ou):t.h(Jr,{activityType:"a2ui-surface",content:{operations:o.value},message:n.message,agent:n.agent,theme:e.theme,catalog:e.catalog})}})}}function Yt(e){const n=e.name==="*"&&!e.args?he.z.any():e.args;return{name:e.name,args:n,render:e.render,...e.agentId?{agentId:e.agentId}:{}}}const dn="render_a2ui";function Bu(e,n){t.watch([()=>e.value,n],([o,a],r,s)=>{if(!a)return;const i=Yt({name:dn,args:he.z.any(),render:({status:c,args:u})=>{if(c==="complete")return null;const f=u,b=f?.items;if(Array.isArray(b)&&b.length>0)return null;const h=f?.components;return Array.isArray(h)&&h.length>2?null:zu(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)),Sn.clear()})},{immediate:!0})}const Sn=new Map;function zu(e){const n=e,o=typeof n?.name=="string"?n.name:"__default__";let a=Sn.get(o);a||(a={lastTime:0,lastTokens:0},Sn.set(o,a));const r=Date.now();let s=a.lastTokens;if(r-a.lastTime>200){const b=JSON.stringify(e??{}).length;s=Math.round(b/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=(b,h,d,g,S,I)=>t.h("div",{style:{width:`${b}px`,height:`${h}px`,borderRadius:"9999px",backgroundColor:d,...g!==void 0?{animation:`cpk-a2ui-fade 2.4s ease-in-out ${g}s infinite`}:{},...S!==void 0?{opacity:S}:{},...I?{transition:I}:{}}}),f=(b,h,d)=>t.h("div",{style:{display:"flex",alignItems:"center",gap:"6px",opacity:b?1:0,transition:`opacity 0.4s ${h}s`}},d);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"}},[f(i>=0,0,[u(36,7,"rgba(147,197,253,0.7)",0),u(80,7,"rgba(219,234,254,0.8)",.2)]),f(i>=0,.1,[c(),l(),u(100,7,"rgba(24,24,27,0.2)",.3)]),f(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)]),f(i>=1,.2,[c(),l(),u(60,7,"rgba(24,24,27,0.15)",.4)]),f(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)]),f(i>=2,.3,[u(36,7,"rgba(147,197,253,0.6)",.5),u(36,7,"rgba(24,24,27,0.12)",.7)]),f(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",`
|
|
30
|
+
@keyframes cpk-a2ui-fade {
|
|
31
|
+
0%, 100% { opacity: 1; }
|
|
32
|
+
50% { opacity: 0.5; }
|
|
33
|
+
}
|
|
34
|
+
@keyframes cpk-a2ui-sweep {
|
|
35
|
+
0% { background-position: 250% 0; }
|
|
36
|
+
100% { background-position: -250% 0; }
|
|
37
|
+
}
|
|
38
|
+
`)])}function Be(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 Qt.GenericBinder(u,e.schema),s.value=i.snapshot,i.subscribe(f=>{s.value=f})}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 at="8px",Fu="16px",gt="1px solid var(--a2ui-color-border, #ccc)",an="8px",zr=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"}},Fn=e=>{switch(e){case"start":return"flex-start";case"center":return"center";case"end":return"flex-end";case"stretch":return"stretch";default:return"stretch"}},Ft=()=>({margin:at,boxSizing:"border-box"}),Du=()=>({margin:at,padding:Fu,border:gt,borderRadius:an,boxSizing:"border-box"});function Dn(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 Lu=0;function rn(){return`a2ui-vue-${++Lu}`}const Vu=Be(Oe.TextApi,({props:e})=>{const n=e.text??"",o={...Ft(),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:"var(--a2ui-color-muted, #666)",textAlign:"left"}},n);default:return t.h("span",{style:o},n)}}),Uu=Be(Oe.ImageApi,({props:e})=>{const n=a=>a==="scaleDown"?"scale-down":a||"fill",o={...Ft(),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})}),Pu=Be(Oe.IconApi,({props:e})=>{const n=typeof e.name=="string"?e.name:e.name?.path,o={...Ft(),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=Be(Oe.VideoApi,({props:e})=>{const n={...Ft(),width:"100%",aspectRatio:"16/9"};return t.h("video",{src:e.url,controls:!0,style:n})}),Zu=Be(Oe.AudioPlayerApi,({props:e})=>{const n={...Ft(),width:"100%"};return t.h("div",{style:{display:"flex",flexDirection:"column",gap:"4px",width:"100%"}},[e.description?t.h("span",{style:{fontSize:"12px",color:"var(--a2ui-color-muted, #666)"}},e.description):null,t.h("audio",{src:e.url,controls:!0,style:n})])}),Hu=Be(Oe.RowApi,({props:e,buildChild:n})=>t.h("div",{style:{display:"flex",flexDirection:"row",justifyContent:zr(e.justify),alignItems:Fn(e.align),width:"100%",margin:"0",padding:"0"}},Dn(e.children,n))),Gu=Be(Oe.ColumnApi,({props:e,buildChild:n})=>t.h("div",{style:{display:"flex",flexDirection:"column",justifyContent:zr(e.justify),alignItems:Fn(e.align),width:"100%",margin:"0",padding:"0"}},Dn(e.children,n))),Wu=Be(Oe.ListApi,({props:e,buildChild:n})=>{const o=e.direction==="horizontal",a={display:"flex",flexDirection:o?"row":"column",alignItems:Fn(e.align),overflowX:o?"auto":"hidden",overflowY:o?"hidden":"auto",width:"100%",margin:"0",padding:"0"};return t.h("div",{style:a},Dn(e.children,n))}),Ku=Be(Oe.CardApi,({props:e,buildChild:n})=>{const o={...Du(),backgroundColor:"var(--a2ui-color-surface, #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])}),qu=Be(Oe.TabsApi,({props:e,buildChild:n,state:o})=>{const a=e.tabs||[];return t.h("div",{style:{display:"flex",flexDirection:"column",width:"100%",margin:at}},[t.h("div",{style:{display:"flex",borderBottom:gt,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)})),Ju=Be(Oe.DividerApi,({props:e})=>{const n=e.axis==="vertical",o={margin:at,border:"none",backgroundColor:"var(--a2ui-color-border, #ccc)"};return n?(o.width="1px",o.height="100%"):(o.width="100%",o.height="1px"),t.h("div",{style:o})}),Xu=Be(Oe.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:"var(--a2ui-color-surface, #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)})),Yu=Be(Oe.ButtonApi,({props:e,buildChild:n})=>{const o={margin:at,padding:"8px 16px",cursor:"pointer",border:e.variant==="borderless"?"none":gt,backgroundColor:e.variant==="primary"?"var(--a2ui-primary-color, #007bff)":e.variant==="borderless"?"transparent":"var(--a2ui-color-surface, #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])}),Qu=Be(Oe.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 var(--a2ui-color-error, red)":gt,borderRadius:an,boxSizing:"border-box"},i=e.validationErrors&&e.validationErrors.length>0;return t.h("div",{style:{display:"flex",flexDirection:"column",gap:"4px",width:"100%",margin:at}},[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:"var(--a2ui-color-error, red)"}},e.validationErrors[0]):null])},()=>({id:rn()})),ed=Be(Oe.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:at}},[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 var(--a2ui-color-error, red)":"none"}}),e.label?t.h("label",{for:o,style:{cursor:"pointer",color:a?"var(--a2ui-color-error, red)":"inherit"}},e.label):null]),a?t.h("span",{style:{fontSize:"12px",color:"var(--a2ui-color-error, red)",marginTop:"4px"}},e.validationErrors?.[0]):null])},()=>({id:rn()})),td=Be(Oe.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:at,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:gt,borderRadius:an}}):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),f=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)":gt,backgroundColor:u?"var(--a2ui-primary-color, #007bff)":"var(--a2ui-color-surface, #fff)",color:u?"#fff":"inherit",cursor:"pointer",fontSize:"12px"}},f):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"}},f)])}))])},()=>({filter:t.ref("")})),nd=Be(Oe.SliderApi,({props:e,state:n})=>{const o=n.id;return t.h("div",{style:{display:"flex",flexDirection:"column",gap:"4px",margin:at,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:"var(--a2ui-color-muted, #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:rn()})),od=Be(Oe.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:gt,borderRadius:an,boxSizing:"border-box"};return t.h("div",{style:{display:"flex",flexDirection:"column",gap:"4px",width:"100%",margin:at}},[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:rn()})),ad=[Vu,Uu,Pu,ju,Zu,Hu,Gu,Wu,Ku,qu,Ju,Xu,Yu,Qu,ed,td,nd,od],Ct=new Qt.Catalog("https://a2ui.org/specification/v0_9/basic_catalog.json",ad,Oe.BASIC_FUNCTIONS),rd="A2UI Component Schema — available components for generating UI surfaces. Use these component names and properties when creating A2UI operations.";function id(e,n){const o=e??Ct,a="https://a2ui.org/specification/v0_9/basic_catalog.json",r=[];if(r.push("Available A2UI catalog:"),o.id===a)return r.push(`- ${o.id} (basic catalog)`),r.join(`
|
|
39
|
+
`);let s=!0;for(const l of Ct.components.keys())if(!o.components.has(l)){s=!1;break}const i=[];for(const l of o.components.keys())Ct.components.has(l)||i.push(l);r.push(`- ${o.id}`),s?r.push(" Extends the basic catalog with all standard components plus:"):(r.push(" Custom catalog (does NOT include all basic components)."),r.push(" Custom components:"));for(const l of i){const c=o.components.get(l);if(!c)continue;if(n?.includeSchema===!1){r.push(` - ${l}`);continue}const u=Cn.zodToJsonSchema(c.schema);r.push(` - ${l}:`),r.push(` ${JSON.stringify(u,null,2).split(`
|
|
40
|
+
`).join(`
|
|
41
|
+
`)}`)}return r.join(`
|
|
42
|
+
`)}function sd(e){const n=e??Ct,o={};for(const[a,r]of n.components){const s=Cn.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 ld(e,n){const o=t.computed(()=>id(n.catalog(),{includeSchema:n.includeSchema()}));t.watch([()=>e.value,n.enabled,o],([r,s,i],l,c)=>{if(!s)return;const u=r.a2uiAgents,f=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(f))},{immediate:!0});const a=t.computed(()=>n.includeSchema()?JSON.stringify(sd(n.catalog())):null);t.watch([()=>e.value,n.enabled,a],([r,s,i],l,c)=>{if(!s||!i)return;const u=r.a2uiAgents,f=u?{agentIds:u}:{},b=[];b.push(r.addContext({description:rd,value:i,...f})),b.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,...f})),b.push(r.addContext({description:"A2UI design guidelines — visual design rules, component hierarchy tips, and action handler patterns.",value:G.A2UI_DEFAULT_DESIGN_GUIDELINES,...f})),c(()=>{for(const h of b)r.removeContext(h)})},{immediate:!0})}function Fr(e){const n=e.match(/<style\b[^>]*>[\s\S]*?<\/style>/gi);return n?n.join(""):""}function Dr(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(Nr,t.computed(()=>[]));return t.computed(()=>e.value)}const Vr="open-generative-ui",Ur=he.z.object({initialHeight:he.z.number().optional(),generating:he.z.boolean().optional(),css:he.z.string().optional(),cssComplete:he.z.boolean().optional(),html:he.z.array(he.z.string()).optional(),htmlComplete:he.z.boolean().optional(),jsFunctions:he.z.string().optional(),jsFunctionsComplete:he.z.boolean().optional(),jsExpressions:he.z.array(he.z.string()).optional(),jsExpressionsComplete:he.z.boolean().optional()}),Pr=he.z.object({initialHeight:he.z.number().optional(),placeholderMessages:he.z.array(he.z.string()).optional(),css:he.z.string().optional(),html:he.z.string().optional(),jsFunctions:he.z.string().optional(),jsExpressions:he.z.array(he.z.string()).optional()});function cd(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 ud(e){return/<head[\s>]/i.test(e)?e:`<head></head>${e}`}function dd(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 go(){const e=await import("@jetbrains/websandbox");return e.default?.default??e.default}const jr=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),f=t.ref(0),b=t.ref(!1),h=t.ref([]),d=t.computed(()=>{const $={};for(const R of n.value)$[R.name]=R.handler;return $});t.watch(()=>e.content,$=>{if(r.value=$,cd(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 g=t.computed(()=>{if(!a.value.htmlComplete&&a.value.html?.length)return a.value.html.join("")}),S=t.computed(()=>g.value?Dr(g.value):void 0),I=t.computed(()=>g.value?Fr(g.value):""),w=t.computed(()=>a.value.htmlComplete&&a.value.html?.length?a.value.html.join(""):void 0),p=t.computed(()=>a.value.cssComplete?a.value.css:void 0),v=t.computed(()=>!!a.value.cssComplete&&!!S.value&&S.value.trim().length>0),m=t.computed(()=>!!w.value||v.value),C=t.computed(()=>`${a.value.initialHeight??200}px`),k=()=>{l.value&&(l.value.destroy(),l.value=null),u.value=!1},_=()=>{i.value&&(i.value.destroy(),i.value=null),c.value=!1,h.value=[],f.value=0,b.value=!1};t.watch([v,w,p,S,I,()=>o.value],async([$,R],z,L)=>{if(!$||R||!o.value||l.value)return;let j=!1;try{const Z=await go();if(j||!o.value)return;const M=Z.create({},{frameContainer:o.value,frameContent:"<head></head><body></body>",allowAdditionalAttributes:""});l.value=M,M.iframe.setAttribute("data-testid","open-generative-ui-preview-sandbox"),M.iframe.style.width="100%",M.iframe.style.height="100%",M.iframe.style.border="none",M.iframe.style.backgroundColor="transparent",M.promise.then(()=>{j||!l.value||(u.value=!0,M.run("var s=document.createElement('style');s.textContent='html, body { overflow: hidden !important; }';document.head.appendChild(s);"))})}catch(Z){console.error("[OpenGenerativeUI] Failed to load sandbox module:",Z)}L(()=>{j=!0})},{immediate:!0}),t.watch([S,I,p,u],([$,R,z,L])=>{if(!l.value||!L)return;const j=[];z&&j.push(`<style>${z}</style>`),R&&j.push(R),j.length&&l.value.run(`document.head.innerHTML = ${JSON.stringify(j.join(""))}`),$&&l.value.run(`document.body.innerHTML = ${JSON.stringify($)}`)},{immediate:!0}),t.watch([w,p,d,()=>o.value],async([$,R,z],L,j)=>{if(_(),!$||!o.value)return;k();let Z=!1;try{const M=await go();if(Z||!o.value)return;const O=ud($),B=R?dd(O,R):O,N=M.create(z,{frameContainer:o.value,frameContent:B,allowAdditionalAttributes:""});i.value=N,N.iframe.setAttribute("data-testid","open-generative-ui-final-sandbox"),N.iframe.style.width="100%",N.iframe.style.height="100%",N.iframe.style.border="none",N.iframe.style.backgroundColor="transparent",N.promise.then(()=>{if(Z||!i.value)return;c.value=!0,N.run("var s=document.createElement('style');s.textContent='html, body { overflow: hidden !important; }';document.head.appendChild(s);");const X=a.value.jsFunctions;X&&!b.value&&(b.value=!0,h.value.unshift(X));const A=a.value.jsExpressions;if(A?.length){const H=f.value;H<A.length&&(h.value.push(...A.slice(H)),f.value=A.length)}const Y=[...h.value];h.value=[];for(const H of Y)N.run(H)})}catch(M){console.error("[OpenGenerativeUI] Failed to load sandbox module:",M)}j(()=>{Z=!0})},{immediate:!0}),t.watch(()=>a.value.jsFunctions,$=>{!$||b.value||(b.value=!0,c.value&&i.value?i.value.run($):h.value.push($))}),t.watch(()=>a.value.jsExpressions,$=>{if(!$?.length)return;const R=f.value;if(R>=$.length)return;const z=$.slice(R);if(f.value=$.length,c.value&&i.value)for(const L of z)i.value.run(L);else h.value.push(...z)},{deep:!0});const T=t.computed(()=>a.value.generating!==!1);return t.watch([v,w],([$,R])=>{R&&k(),$||k()},{immediate:!0}),t.onBeforeUnmount(()=>{s.value!==null&&window.clearTimeout(s.value),k(),_()}),()=>t.h("div",{ref:o,"data-testid":"open-generative-ui-renderer",style:{position:"relative",width:"100%",height:C.value,borderRadius:"8px",backgroundColor:m.value?"transparent":"#f5f5f5",border:m.value?"none":"1px solid #e0e0e0",overflow:"hidden",display:m.value?"block":"flex",alignItems:m.value?void 0:"center",justifyContent:m.value?void 0:"center"}},[m.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) } }")]),T.value?t.h("div",{"data-testid":"open-generative-ui-progress-overlay",style:{position:"absolute",inset:0,backgroundColor:"rgba(255,255,255,0.45)"}}):null])}}),Zr=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(jr,{content:e.content})}}),Hr=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===ie.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===ie.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)}}}),Ln=Symbol("LicenseContext");function Gr(){return t.ref(G.createLicenseContextValue(null))}const pd={style:{display:"flex",gap:"8px",alignItems:"center"}},md=["href"],fd=52,vo="--copilotkit-license-banner-offset",Gt=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(vo,`${fd}px`)}),t.onBeforeUnmount(()=>{typeof document>"u"||document.documentElement.style.removeProperty(vo)}),(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",pd,[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,md),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)}}),hd="X-CopilotCloud-Public-Api-Key",gd="https://api.cloud.copilotkit.ai/copilotkit/v1",vd="frontendTools must be a stable array. If you want to dynamically add or remove tools, use `useFrontendTool` instead.",bd="humanInTheLoop must be a stable array. If you want to dynamically add or remove human-in-the-loop tools, use `useHumanInTheLoop` instead.",kd="renderCustomMessages must be a stable array.",yd="renderActivityMessages must be a stable array.",Sd="openGenerativeUI.sandboxFunctions must be a stable array.",bo="Human-in-the-loop interaction aborted",wd=`When generating UI with generateSandboxedUi, follow these design principles inspired by shadcn/ui:
|
|
43
|
+
|
|
44
|
+
- Use a minimal, flat aesthetic. Avoid drop shadows and gradients — rely on subtle borders (1px solid, light gray like #e5e7eb) to define surfaces.
|
|
45
|
+
- Neutral base palette: white backgrounds, zinc/slate gray text (#09090b for headings, #71717a for secondary text). One accent color for interactive elements.
|
|
46
|
+
- Use system font stacks (system-ui, -apple-system, sans-serif) at readable sizes (14px body, 600 weight for headings). Tight line-heights.
|
|
47
|
+
- Small, consistent border-radius (6–8px). Cards and containers use border, not shadow, for separation.
|
|
48
|
+
- Buttons: solid fill for primary (dark bg, white text), outline for secondary (border + transparent bg). Subtle hover state (slight opacity or background shift).
|
|
49
|
+
- Use CSS Grid or Flexbox for layout. Ensure the UI looks good at any width.
|
|
50
|
+
- Minimal transitions (150ms) for hover/focus states only. No decorative animations.
|
|
51
|
+
- Keep the UI focused and dense — avoid excessive padding. Use compact spacing (8–12px gaps, 10–14px padding in controls).`,Cd=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},mcpApps:{default:void 0},debug:{type:[Boolean,Object]}},setup(e){const n={},o=(U,{attrs:me})=>t.h(kn,{...me,allowSameOriginFallback:!0}),a=e,r=t.ref(!1);function s(){r.value=G.shouldEnableInspector({enableInspector:a.enableInspector,isBrowser:!0,isDevelopment:process.env.NODE_ENV==="development"})}t.onMounted(s),t.watch(()=>a.enableInspector,s);const i=t.ref(null),l=t.computed(()=>r.value);function c(U){i.value={...U}}t.provide($u,{isInspectorEnabled:l,openInspector:c});const u=a.frontendTools,f=a.humanInTheLoop,b=a.renderCustomMessages,h=a.renderActivityMessages,d=a.openGenerativeUI?.sandboxFunctions;t.watch(()=>a.frontendTools,U=>{U!==u&&console.error(vd)}),t.watch(()=>a.humanInTheLoop,U=>{U!==f&&console.error(bd)}),t.watch(()=>a.renderCustomMessages,U=>{U!==b&&console.error(kd)}),t.watch(()=>a.renderActivityMessages,U=>{U!==h&&console.error(yd)}),t.watch(()=>a.openGenerativeUI?.sandboxFunctions,U=>{U!==d&&console.error(Sd)});const g=t.computed(()=>a.publicApiKey??a.publicLicenseKey),S=t.computed(()=>({...a.agents__unsafe_dev_only,...a.selfManagedAgents})),I=t.computed(()=>Object.keys(S.value).length>0),w=t.computed(()=>typeof a.headers=="function"),p=(()=>typeof a.headers=="function"?a.headers():a.headers),v=t.computed(()=>ie.ɵwithHeaderDefaults(w.value?p:a.headers,g.value?{[hd]:g.value}:{})),m=t.computed(()=>a.runtimeUrl??(g.value?gd:void 0));t.watch([m,g,I],([U,me,de])=>{if(U||me||de)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 C=new Map,k=U=>{const me=C.get(U);if(me)return me.detachAbort?.(),C.delete(U),me},_=t.computed(()=>{const U=[],me=[];for(const de of a.humanInTheLoop)if(U.push({type:"human-in-the-loop",name:de.name,description:de.description,parameters:de.parameters,followUp:de.followUp,...de.agentId&&{agentId:de.agentId},handler:async(Ue,He)=>{const Te=He?.signal,Ze=He?.toolCall?.id??de.name;return new Promise((Pe,it)=>{if(Te?.aborted){it(new Error(bo));return}const ve={resolve:Pe};if(C.set(Ze,ve),Te){const st=()=>{C.delete(Ze),it(new Error(bo))};Te.addEventListener("abort",st,{once:!0}),ve.detachAbort=()=>{Te.removeEventListener("abort",st)}}})}}),de.render){const Ue=de.render,He=Te=>{const Ze=Te.toolCallId??de.name;return t.h(Ue,{...Te,name:de.name==="*"?Te.name:de.name,description:de.description||"",agentId:de.agentId,respond:Te.status===ie.ToolCallStatus.Executing?async Pe=>{k(Ze)?.resolve(Pe)}:void 0})};me.push({name:de.name,args:de.parameters??he.z.any(),render:He,...de.agentId&&{agentId:de.agentId}})}return{tools:U,renderToolCalls:me}}),T=t.computed(()=>{const U=[];for(const me of a.frontendTools)U.push(me);for(const me of H.value)U.push(me);return U.push(..._.value.tools),U}),$=t.computed(()=>{const U=[...a.renderToolCalls??[]];for(const me of[...a.frontendTools,...H.value])if(me.render){const de=me.parameters??(me.name==="*"?he.z.any():void 0);de&&U.push({name:me.name,args:de,render:me.render})}return U.push(..._.value.renderToolCalls),U}),R=t.computed(()=>a.renderCustomMessages??[]),z=t.ref(!1),L=t.ref(!1),j=t.ref(void 0),Z=t.ref(void 0),M=t.ref(!1),O=t.computed(()=>L.value||!!a.openGenerativeUI),B=t.computed(()=>!!a.a2ui?.catalog),N=t.computed(()=>z.value||B.value),X=t.computed(()=>B.value?{...a.properties,a2uiCatalogAvailable:!0}:a.properties),A=t.computed(()=>a.openGenerativeUI?.sandboxFunctions??[]),Y=(U,me)=>Cn.zodToJsonSchema(U,me),H=t.computed(()=>O.value?[{name:"generateSandboxedUi",description:G.GENERATE_SANDBOXED_UI_DESCRIPTION,parameters:Pr,handler:async()=>"UI generated",reconnectBehavior:"resume-pending",followUp:!0,render:Hr}]:[]),te=t.computed(()=>{const U=[{activityType:qn.MCPAppsActivityType,content:qn.MCPAppsActivityContentSchema,render:a.mcpApps?.allowSameOriginFallback?o:kn}];return O.value&&U.push({activityType:Vr,content:Ur,render:Zr}),N.value&&U.unshift(Br({theme:a.a2ui?.theme??n,catalog:a.a2ui?.catalog,loadingComponent:a.a2ui?.loadingComponent})),U}),le=t.computed(()=>[...a.renderActivityMessages??[],...te.value]),Ae=U=>{a.defaultThrottleMs!==void 0&&(!Number.isFinite(a.defaultThrottleMs)||a.defaultThrottleMs<0)&&console.error(`CopilotKitProvider: defaultThrottleMs must be a non-negative finite number, got ${a.defaultThrottleMs}. useAgent hooks without an explicit throttleMs will fall back to unthrottled.`),U.setDefaultThrottleMs(a.defaultThrottleMs)},we=()=>{const U=new Or({runtimeUrl:m.value,runtimeTransport:a.useSingleEndpoint===!0?"single":a.useSingleEndpoint===!1?"rest":"auto",headers:v.value,credentials:a.credentials,messageFilter:a.messageFilter,properties:X.value,agents__unsafe_dev_only:S.value,tools:T.value,renderToolCalls:$.value,renderActivityMessages:le.value,renderCustomMessages:R.value,debug:a.debug});return Ae(U),U},Q=t.shallowRef(we()),Ce=t.ref(!1),Le=t.ref(new Set);t.watch(Q,(U,me,de)=>{const Ue=U.subscribe({onToolExecutionStart:({toolCallId:ve})=>{Le.value=new Set(Le.value).add(ve)},onToolExecutionEnd:({toolCallId:ve})=>{setTimeout(()=>{const st=new Set(Le.value);st.delete(ve),Le.value=st,t.triggerRef(Q)},0)}}),He=U.subscribe({onRenderToolCallsChanged:()=>{t.triggerRef(Q)}}),Te=U.subscribe({onRenderCustomMessagesChanged:()=>{t.triggerRef(Q)}}),Ze=U.subscribe({onRuntimeConnectionStatusChanged:()=>{z.value=U.a2uiEnabled,L.value=U.openGenerativeUIEnabled,j.value=U.licenseStatus,Z.value=U.runtimeEntitlements,M.value=U.runtimeEntitlementRetryPending,t.triggerRef(Q)}}),Pe=U.subscribe({onError:ve=>{a.onError?.({error:ve.error,code:ve.code,context:ve.context})}}),it=U.subscribe({onHeadersChanged:()=>{t.triggerRef(Q)}});de(()=>{Ue.unsubscribe(),He.unsubscribe(),Te.unsubscribe(),Ze.unsubscribe(),Pe.unsubscribe(),it.unsubscribe()})},{immediate:!0}),t.watch([T],([U])=>{Ce.value&&Q.value.setTools(U)}),t.watch([$],([U])=>{Ce.value&&Q.value.setRenderToolCalls(U)}),t.watch([R],([U])=>{Ce.value&&(Q.value.setRenderCustomMessages(U),t.triggerRef(Q))}),t.watch([le],([U])=>{Ce.value&&(Q.value.setRenderActivityMessages(U),t.triggerRef(Q))});let Xe=v.value;function Ve(){Q.value.setRuntimeUrl(m.value),Q.value.setRuntimeTransport(a.useSingleEndpoint===!0?"single":a.useSingleEndpoint===!1?"rest":"auto"),v.value!==Xe&&(Xe=v.value,Q.value.setHeaders(v.value)),Q.value.setCredentials(a.credentials),Q.value.setMessageFilter(a.messageFilter),Q.value.setProperties(X.value),Q.value.setAgents__unsafe_dev_only(S.value),Q.value.setDebug(a.debug),Ae(Q.value)}t.watch([()=>m.value,()=>v.value,()=>a.credentials,()=>a.messageFilter,()=>X.value,()=>S.value,()=>a.useSingleEndpoint,()=>a.debug],()=>{Ce.value&&Ve()}),t.watch(()=>a.defaultThrottleMs,()=>{Ce.value&&(Ae(Q.value),t.triggerRef(Q))}),t.onMounted(()=>{Ve(),z.value=Q.value.a2uiEnabled,L.value=Q.value.openGenerativeUIEnabled,j.value=Q.value.licenseStatus,Z.value=Q.value.runtimeEntitlements,M.value=Q.value.runtimeEntitlementRetryPending,Ce.value=!0});const et=t.computed(()=>a.a2ui?.theme),Ye=t.computed(()=>a.a2ui?.catalog),je=t.computed(()=>a.a2ui?.loadingComponent),ke=t.computed(()=>a.a2ui?.includeSchema??!0);Bu(Q,()=>N.value),ld(Q,{enabled:()=>N.value,catalog:()=>a.a2ui?.catalog,includeSchema:()=>a.a2ui?.includeSchema??!0});const V=t.ref([]);t.watch([O,A,()=>a.openGenerativeUI?.designSkill],([U,me,de],Ue,He)=>{if(!U)return;const Te=[];if(Te.push(Q.value.addContext({description:"Design guidelines for the generateSandboxedUi tool. Follow these when building UI.",value:de??wd})),me.length>0){const Ze=JSON.stringify(me.map(Pe=>({name:Pe.name,description:Pe.description,parameters:G.schemaToJsonSchema(Pe.parameters,{zodToJsonSchema:Y})})));Te.push(Q.value.addContext({description:"Sandbox functions available in generated sandboxed UI code. Call via Websandbox.connection.remote.<functionName>(args).",value:Ze}))}V.value=Te,He(()=>{for(const Ze of Te)Q.value.removeContext(Ze)})},{immediate:!0}),t.provide(Mr,{copilotkit:Q,executingToolCallIds:Le,a2uiTheme:et,a2uiCatalog:Ye,a2uiLoadingComponent:je,a2uiIncludeSchema:ke}),t.provide(Nr,A);const re=t.computed(()=>Z.value?.status!=="ready"&&Z.value?.error.retryable===!0),Re=t.computed(()=>Z.value!==void 0&&Z.value.status!=="ready"),Qe=t.computed(()=>j.value==="valid"||j.value==="expiring"),$e=t.computed(()=>re.value&&M.value&&!Qe.value),ct=t.computed(()=>Re.value&&!re.value&&!Qe.value),rt=t.computed(()=>{const U=G.createLicenseContextValue($e.value?void 0:j.value,Z.value);return ct.value?{...U,checkFeature:()=>!1,getLimit:()=>null}:U});t.provide(Ln,rt);const ot=t.computed(()=>$e.value?void 0:rt.value.status??void 0),kt=t.computed(()=>ot.value==="none"&&!g.value),ut=t.computed(()=>ot.value==="expired"),dt=t.computed(()=>ot.value==="invalid"),pt=t.computed(()=>ot.value==="expiring");return(U,me)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.renderSlot(U.$slots,"default"),r.value?(t.openBlock(),t.createBlock($r,{key:0,core:Q.value,"open-request":i.value},null,8,["core","open-request"])):t.createCommentVNode("",!0),kt.value?(t.openBlock(),t.createBlock(Gt,{key:1,type:"no_license"})):t.createCommentVNode("",!0),ut.value?(t.openBlock(),t.createBlock(Gt,{key:2,type:"expired"})):t.createCommentVNode("",!0),dt.value?(t.openBlock(),t.createBlock(Gt,{key:3,type:"invalid"})):t.createCommentVNode("",!0),pt.value?(t.openBlock(),t.createBlock(Gt,{key:4,type:"expiring"})):t.createCommentVNode("",!0)],64))}}),Fe={chatInputPlaceholder:"Type a message...",chatInputToolbarStartTranscribeButtonLabel:"Transcribe",chatInputToolbarCancelTranscribeButtonLabel:"Cancel",chatInputToolbarFinishTranscribeButtonLabel:"Finish",chatInputToolbarAddButtonLabel:"Add photos or files",chatInputToolbarToolsButtonLabel:"Tools",chatInputToolbarSendButtonLabel:"Send message",chatInputToolbarStopButtonLabel:"Stop",assistantMessageToolbarCopyCodeLabel:"Copy",assistantMessageToolbarCopyCodeCopiedLabel:"Copied",assistantMessageToolbarCopyMessageLabel:"Copy",assistantMessageToolbarThumbsUpLabel:"Good response",assistantMessageToolbarThumbsDownLabel:"Bad response",assistantMessageToolbarReadAloudLabel:"Read aloud",assistantMessageToolbarRegenerateLabel:"Regenerate",userMessageToolbarCopyMessageLabel:"Copy",userMessageToolbarEditMessageLabel:"Edit",userMessageToolbarPreviousBranchLabel:"Previous branch",userMessageToolbarNextBranchLabel:"Next branch",chatDisclaimerText:"AI can make mistakes. Please verify important information.",chatToggleOpenLabel:"Open chat",chatToggleCloseLabel:"Close chat",chatScrollToBottomLabel:"Scroll to bottom",modalHeaderTitle:"CopilotKit Chat",welcomeMessageText:"How can I help you today?",reasoningMessageThinkingLabel:"Thinking…",chatInputSlashMenuLabel:"Slash commands",chatInputSlashMenuEmptyText:"No commands found",attachmentRemoveButtonLabel:"Remove attachment",attachmentPlayVideoButtonLabel:"Play video",attachmentPreviewCloseButtonLabel:"Close preview",modalHeaderCloseButtonLabel:"Close",modalHeaderThreadsButtonLabel:"Open threads",sidebarLabel:"Copilot chat sidebar"};function Td(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 ko(e){return e!==null&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"}function Wr(e){const n=t.shallowRef(t.toValue(e));return t.watch(()=>t.toValue(e),o=>{const a=n.value;a!==o&&(ko(a)&&ko(o)&&Td(a,o)||(n.value=o))},{immediate:!0}),n}const Kr="(max-width: 767px)";function yo(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia(Kr).matches}const sn=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=Wr(t.computed(()=>n.labels)),l=t.computed(()=>({...Fe,...a.value?.labels,...i.value})),c=t.computed(()=>n.agentId??a.value?.agentId??G.DEFAULT_AGENT_ID),u=G.randomUUID(),f=t.computed(()=>r.value?n.threadId:s.value?s.value.threadId:n.threadId?n.threadId:a.value?.threadId?a.value.threadId:u),b=t.computed(()=>r.value?!0:(s.value?s.value.explicit:n.hasExplicitThreadId!==void 0?n.hasExplicitThreadId:!!n.threadId)||!!a.value?.hasExplicitThreadId),h=t.computed(()=>n.isModalDefaultOpen!==void 0),d=t.computed(()=>n.isModalDefaultOpen??!0),g=t.ref(a.value?.isModalOpen??d.value);function S(Z){g.value=Z}const I=t.computed(()=>h.value?g.value:a.value?.isModalOpen),w=t.computed(()=>h.value?S:a.value?.setModalOpen);function p(Z,M){if(r.value){console.warn("[CopilotKit] Ignoring setActiveThreadId(): threadId is controlled via the `threadId` prop on CopilotChatConfigurationProvider.");return}s.value={threadId:Z,explicit:M?.explicit??!0}}function v(){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 m=t.ref(!1),C=t.ref(0);function k(Z){m.value=Z,Z&&yo()&&w.value?.(!1)}function _(){return C.value+=1,()=>{C.value=Math.max(0,C.value-1)}}const T=t.computed(()=>a.value?a.value.drawerOpen:m.value),$=t.computed(()=>a.value?a.value.setDrawerOpen:k),R=t.computed(()=>a.value?a.value.drawerRegistered:C.value>0),z=t.computed(()=>a.value?a.value.registerDrawer:_),L=t.computed(()=>{const Z=w.value;if(Z)return M=>{M&&yo()&&$.value?.(!1),Z(M)}}),j=t.computed(()=>({labels:l.value,agentId:c.value,threadId:f.value,hasExplicitThreadId:b.value,isModalOpen:I.value,setModalOpen:L.value,drawerOpen:T.value,setDrawerOpen:$.value,drawerRegistered:R.value,registerDrawer:z.value,setActiveThreadId:p,startNewThread:v}));return t.provide(bn,j),(Z,M)=>t.renderSlot(Z.$slots,"default")}});function Dt(){const e=t.inject(Ln,Gr(),!0);return t.computed(()=>e.value)}function Ee(){const e=t.inject(bn,void 0);return t.computed(()=>e?.value??null)}const qr=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(qr,{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 Qt.ComponentContext(e.surface,e.id,e.basePath);return t.h(i.render,{context:l,buildChild:r})}}}),xd=t.defineComponent({name:"A2uiSurface",props:{surface:{type:Object,required:!0}},setup(e){return()=>t.h(qr,{surface:e.surface,id:"root",basePath:"/"})}}),Id=["data-activity-type","data-message-id"],Ed={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"},_d={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"},Ad=["data-surface-id"],Rd={class:"a2ui-surface cpk:flex cpk:flex-1"},So="default",Jr=t.defineComponent({__name:"A2UISurfaceActivityRenderer",props:{activityType:{},content:{},message:{},agent:{},theme:{},catalog:{}},setup(e){const n=e,{copilotkit:o}=De(),a=t.shallowRef(null),r=t.ref(0),s=t.ref(null);let i="";function l(){if(!a.value){const h=n.catalog??Ct;a.value=new Qt.MessageProcessor([h],d=>{c(d)})}return a.value}async function c(h){if(n.agent)try{o.value.setProperties({...o.value.properties??{},a2uiAction:h}),await o.value.runAgent({agent:n.agent})}finally{const{a2uiAction:d,...g}=o.value.properties??{};o.value.setProperties(g)}}function u(h){if(!h?.length)return;const d=JSON.stringify(h);if(d===i)return;i=d;const g=l();try{const S=new Map;for(const I of h){const w=yn(I)??So;S.has(w)||S.set(w,[]),S.get(w).push(I)}for(const[I,w]of S){const v=g.model.getSurface(I)?w.filter(m=>!m?.createSurface):w;g.processMessages(v)}s.value=null}catch(S){console.warn("[A2UI Vue] processMessages error:",S),s.value=S instanceof Error?S.message:String(S)}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 f=t.computed(()=>(n.content.operations??[]).length>0),b=t.computed(()=>{if(r.value,!a.value)return[];const h=[],d=new Map;for(const g of n.content.operations??[]){const S=yn(g)??So;d.has(S)||d.set(S,[]),d.get(S).push(g)}for(const[g]of d){const S=a.value.model.getSurface(g);S&&h.push({surfaceId:g,surface:S})}return h});return(h,d)=>f.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",Ed," A2UI render error: "+t.toDisplayString(s.value),1)):(t.openBlock(),t.createElementBlock("div",_d,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b.value,g=>(t.openBlock(),t.createElementBlock("div",{key:g.surfaceId,class:"cpk:flex cpk:w-full cpk:flex-none cpk:flex-col cpk:gap-4","data-surface-id":g.surfaceId},[t.createElementVNode("div",Rd,[t.createVNode(t.unref(xd),{surface:g.surface},null,8,["surface"])])],8,Ad))),128))]))],8,Id)):t.createCommentVNode("",!0)}});function Vn(e,n){return e.find(o=>o.role==="tool"&&o.toolCallId===n)}function $d(e){return`tool-call-${e}`}function Xr(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 Md(e,n,o){const a=Vn(n,e.id),r=G.partialJSONParse(e.function.arguments);if(a)return{name:e.function.name,args:r,status:ie.ToolCallStatus.Complete,result:Oo.contentToText(a.content),toolCall:e,toolMessage:a};const s=o.has(e.id);return{name:e.function.name,args:r,status:s?ie.ToolCallStatus.Executing:ie.ToolCallStatus.InProgress,result:void 0,toolCall:e,toolMessage:void 0}}function Nd(e,n,o){const a=Vn(n,e.id),r=G.partialJSONParse(e.function.arguments);return a?{name:e.function.name,toolCallId:e.id,args:r,status:ie.ToolCallStatus.Complete,result:Oo.contentToText(a.content)}:o.has(e.id)?{name:e.function.name,toolCallId:e.id,args:r,status:ie.ToolCallStatus.Executing,result:void 0}:{name:e.function.name,toolCallId:e.id,args:r&&typeof r=="object"?r:{},status:ie.ToolCallStatus.InProgress,result:void 0}}function Od(e,n,o,a,r=G.DEFAULT_AGENT_ID){return[e.id,e.function.name,e.function.arguments,Vn(n,e.id)?.content,o.has(e.id),Xr(e,a,r)?.render]}const Bd=t.defineComponent({__name:"CopilotChatToolCallItem",props:{toolCall:{},messages:{default:()=>[]}},setup(e){const n=e,{copilotkit:o,executingToolCallIds:a}=De(),r=Ee();function s(){return Md(n.toolCall,n.messages,a.value)}function i(){return Nd(n.toolCall,n.messages,a.value)}function l(){const u=r.value?.agentId??G.DEFAULT_AGENT_ID;return Xr(n.toolCall,o.value.renderToolCalls,u)}function c(){const u=r.value?.agentId??G.DEFAULT_AGENT_ID;return Od(n.toolCall,n.messages,a.value,o.value.renderToolCalls,u)}return(u,f)=>t.renderSlot(u.$slots,t.unref($d)(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)),f,0):t.createCommentVNode("",!0)])])}}),Yr=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(Bd,{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 Qr(){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 zd=["data-message-id"],Fd={class:"cpk:w-full cpk:bg-transparent cpk:flex cpk:items-center cpk:-ml-[5px] cpk:-mt-[0px]"},Dd={class:"cpk:flex cpk:items-center cpk:gap-1"},Ld=["aria-label","title"],Vd=["aria-label","title"],Ud=["aria-label","title"],Pd=["aria-label","title"],jd=["aria-label","title"],Co="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",To="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",Wt="cpk:w-full cpk:px-3 cpk:py-2 cpk:text-left cpk:text-sm cpk:transition-colors cpk:hover:bg-muted/40",xo="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",ei=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}){Qr();const o=e,a=n,r=Ee(),s=t.computed(()=>r.value?.labels??Fe),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(A,Y){try{const te=new URL(A,"https://copilotkit.local").pathname.split("/").filter(Boolean).pop();if(te)return decodeURIComponent(te)}catch{return Y}return Y}function f(A,Y){if(typeof document>"u")return;const H=document.createElement("a");H.href=A,H.download=Y,H.rel="noopener noreferrer",document.body.appendChild(H),H.click(),document.body.removeChild(H)}function b(A){const Y=Array.from(A.querySelectorAll("thead th")).map(te=>(te.textContent??"").trim()),H=Array.from(A.querySelectorAll("tbody tr")).map(te=>Array.from(te.querySelectorAll("td")).map(le=>(le.textContent??"").trim()));return{headers:Y,rows:H}}function h(A,Y){const H=le=>{const Ae=le.includes(Y)||le.includes('"')||le.includes(`
|
|
52
|
+
`),we=le.replace(/"/g,'""');return Ae?`"${we}"`:we},te=[];A.headers.length>0&&te.push(A.headers.map(H).join(Y));for(const le of A.rows)te.push(le.map(H).join(Y));return te.join(`
|
|
53
|
+
`)}function d(A){if(A.headers.length===0)return A.rows.map(te=>`| ${te.join(" | ")} |`).join(`
|
|
54
|
+
`);const Y=`| ${A.headers.map(()=>"---").join(" | ")} |`,H=A.rows.map(te=>`| ${te.join(" | ")} |`);return[`| ${A.headers.join(" | ")} |`,Y,...H].join(`
|
|
55
|
+
`)}function g(A,Y,H){if(typeof document>"u")return;const te=new Blob([A],{type:H}),le=URL.createObjectURL(te);f(le,Y),URL.revokeObjectURL(le)}const S=t.defineComponent({name:"CopilotMarkdownImage",inheritAttrs:!1,props:{src:{type:String,default:""},alt:{type:String,default:""}},setup(A,{attrs:Y}){async function H(){if(!A.src)return;const te=u(A.src,"image");try{const le=await fetch(A.src);if(!le.ok)throw new Error("Failed to fetch image");const Ae=await le.blob(),we=URL.createObjectURL(Ae);f(we,te),URL.revokeObjectURL(we)}catch{f(A.src,te)}}return()=>{const te={...Y,src:A.src,alt:A.alt,class:["cpk:max-w-full cpk:rounded-lg",Y.class].filter(Boolean).join(" "),"data-streamdown":"image"};return delete te.className,t.h("div",{class:"cpk:group cpk:relative cpk:my-4 cpk:inline-block","data-streamdown":"image-wrapper"},[t.h("img",te),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]"})])])}}}),I=t.defineComponent({name:"CopilotMarkdownTable",inheritAttrs:!1,setup(A,{attrs:Y,slots:H}){const te=t.ref(null),le=t.ref(!1),Ae=t.ref(!1),we=t.ref(!1);let Q=null;const Ce=()=>{le.value=!1,Ae.value=!1},Le=()=>{Q&&clearTimeout(Q),we.value=!0,Q=setTimeout(()=>{we.value=!1,Q=null},2e3)},Xe=()=>te.value?te.value.querySelector("table"):null,Ve=()=>{const ke=Xe();return ke?b(ke):null},et=async ke=>{const V=Ve();if(!V)return;const Re=h(V,ke==="csv"?",":" ");if(typeof navigator<"u"&&navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(Re)}catch{return}Ce(),Le()},Ye=ke=>{const V=Ve();V&&(ke==="csv"?g(h(V,","),"table.csv","text/csv"):g(d(V),"table.md","text/markdown"),Ce())},je=ke=>{if(!te.value)return;const V=ke.target;V&&!te.value.contains(V)&&Ce()};return t.onMounted(()=>{typeof document<"u"&&document.addEventListener("mousedown",je)}),t.onBeforeUnmount(()=>{Q&&clearTimeout(Q),typeof document<"u"&&document.removeEventListener("mousedown",je)}),()=>{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:te,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:Co,title:"Copy table",onClick:()=>{le.value=!le.value,Ae.value=!1}},[we.value?t.h(fe.Check,{class:"cpk:size-[14px]"}):t.h(fe.Copy,{class:"cpk:size-[14px]"})]),le.value?t.h("div",{class:To},[t.h("button",{type:"button",class:Wt,title:"Copy table as CSV",onClick:()=>et("csv")},"CSV"),t.h("button",{type:"button",class:Wt,title:"Copy table as TSV",onClick:()=>et("tsv")},"TSV")]):null]),t.h("div",{class:"cpk:relative"},[t.h("button",{type:"button",class:Co,title:"Download table",onClick:()=>{Ae.value=!Ae.value,le.value=!1}},[t.h(fe.Download,{class:"cpk:size-[14px]"})]),Ae.value?t.h("div",{class:To},[t.h("button",{type:"button",class:Wt,title:"Download table as CSV",onClick:()=>Ye("csv")},"CSV"),t.h("button",{type:"button",class:Wt,title:"Download table as Markdown",onClick:()=>Ye("markdown")},"Markdown")]):null])]),t.h("div",{class:"cpk:overflow-x-auto"},[t.h("table",ke,H.default?H.default():[])])])}}}),w={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"},p=t.defineComponent({name:"CopilotCodeBlockCopyAction",props:{code:{type:String,default:""}},setup(A){const Y=t.ref(!1);let H=null;const te=async()=>{if(A.code){if(typeof navigator<"u"&&navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(A.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:xo,title:"Copy Code","data-streamdown":"code-block-copy-button",onClick:te},[Y.value?t.h(fe.Check,{class:"cpk:size-[14px]"}):t.h(fe.Copy,{class:"cpk:size-[14px]"})])}}),v=t.defineComponent({name:"CopilotCodeBlockDownloadAction",props:{code:{type:String,default:""},language:{type:String,default:""}},setup(A){const Y=()=>{if(!A.code)return;const H=w[A.language.toLowerCase()]??"txt";g(A.code,`file.${H}`,"text/plain")};return()=>t.h("button",{type:"button",class:xo,title:"Download file","data-streamdown":"code-block-download-button",onClick:Y},[t.h(fe.Download,{class:"cpk:size-[14px]"})])}}),m={img:S,table:I};function C(A){return A?typeof A=="string"?A:Array.isArray(A)?A.map(H=>H&&typeof H=="object"&&"type"in H&&H.type==="text"&&typeof H.text=="string"?H.text:"").filter(H=>H.length>0).join(`
|
|
56
|
+
`):"":""}const k=t.computed(()=>C(o.message.content)),_=t.computed(()=>k.value.trim().length>0),T=t.computed(()=>typeof o.onThumbsUp=="function"),$=t.computed(()=>typeof o.onThumbsDown=="function"),R=t.computed(()=>typeof o.onReadAloud=="function"),z=t.computed(()=>typeof o.onRegenerate=="function"),L=t.computed(()=>o.messages[o.messages.length-1]?.id===o.message.id),j=t.computed(()=>o.toolbarVisible&&_.value&&!(o.isRunning&&L.value));function Z(){l&&clearTimeout(l),i.value=!0,l=setTimeout(()=>{i.value=!1,l=null},2e3)}async function M(){const A=k.value;if(A&&!(typeof navigator>"u"||typeof navigator.clipboard?.writeText!="function"))try{await navigator.clipboard.writeText(A),Z()}catch(Y){console.error("Failed to copy to clipboard:",Y)}}function O(){a("thumbs-up",o.message)}function B(){a("thumbs-down",o.message)}function N(){a("read-aloud",o.message)}function X(){a("regenerate",o.message)}return t.onBeforeUnmount(()=>{l&&clearTimeout(l)}),(A,Y)=>t.renderSlot(A.$slots,"layout",{message:e.message,content:k.value,isRunning:e.isRunning,toolbarVisible:e.toolbarVisible,shouldShowToolbar:j.value,messageRenderer:A.$slots["message-renderer"]??(()=>null),toolbar:A.$slots.toolbar??(()=>null),copyButton:A.$slots["copy-button"]??(()=>null),thumbsUpButton:A.$slots["thumbs-up-button"]??(()=>null),thumbsDownButton:A.$slots["thumbs-down-button"]??(()=>null),readAloudButton:A.$slots["read-aloud-button"]??(()=>null),regenerateButton:A.$slots["regenerate-button"]??(()=>null),toolCallsView:A.$slots["tool-calls-view"]??(()=>null),onCopy:M,onThumbsUp:O,onThumbsDown:B,onReadAloud:N,onRegenerate:X},()=>[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},A.$attrs),[t.renderSlot(A.$slots,"message-renderer",{message:e.message,content:k.value},()=>[_.value?(t.openBlock(),t.createBlock(t.unref(No.StreamMarkdown),{key:0,class:"copilot-chat-assistant-markdown",content:k.value,components:m,"code-block-actions":[t.unref(v),t.unref(p)],"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(A.$slots,"tool-calls-view",{message:e.message,messages:e.messages},()=>[t.createVNode(Yr,{message:e.message,messages:e.messages},t.createSlots({_:2},[t.renderList(A.$slots,(H,te)=>({name:te,fn:t.withCtx(le=>[t.renderSlot(A.$slots,te,t.normalizeProps(t.guardReactiveProps(le)))])}))]),1032,["message","messages"])]),j.value?t.renderSlot(A.$slots,"toolbar",{key:0,message:e.message,shouldShowToolbar:j.value},()=>[t.createElementVNode("div",Fd,[t.createElementVNode("div",Dd,[t.renderSlot(A.$slots,"copy-button",{onCopy:M,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:M},[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,Ld)]),T.value||A.$slots["thumbs-up-button"]?t.renderSlot(A.$slots,"thumbs-up-button",{key:0,onThumbsUp:O,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:O},[t.createVNode(t.unref(fe.ThumbsUp),{class:"cpk:size-[18px]"})],10,Vd)]):t.createCommentVNode("",!0),$.value||A.$slots["thumbs-down-button"]?t.renderSlot(A.$slots,"thumbs-down-button",{key:1,onThumbsDown:B,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:B},[t.createVNode(t.unref(fe.ThumbsDown),{class:"cpk:size-[18px]"})],10,Ud)]):t.createCommentVNode("",!0),R.value||A.$slots["read-aloud-button"]?t.renderSlot(A.$slots,"read-aloud-button",{key:2,onReadAloud:N,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:N},[t.createVNode(t.unref(fe.Volume2),{class:"cpk:size-[20px]"})],10,Pd)]):t.createCommentVNode("",!0),z.value||A.$slots["regenerate-button"]?t.renderSlot(A.$slots,"regenerate-button",{key:3,onRegenerate:X,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:X},[t.createVNode(t.unref(fe.RefreshCw),{class:"cpk:size-[18px]"})],10,jd)]):t.createCommentVNode("",!0),t.renderSlot(A.$slots,"toolbar-items")])])]):t.createCommentVNode("",!0)],16,zd)])}});class St extends Error{constructor(n){super(n),this.name="AudioRecorderError"}}const ti=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),f=t.ref([]),b=t.ref([]),h=t.ref(0),d=t.ref(0),g=t.ref(0);function S(){u.value!==null&&(cancelAnimationFrame(u.value),u.value=null);const m=s.value;if(m&&m.state!=="inactive")try{m.stop()}catch{}i.value&&(i.value.getTracks().forEach(k=>k.stop()),i.value=null);const C=c.value;C&&C.state!=="closed"&&C.close().catch(()=>{}),s.value=null,l.value=null,c.value=null,f.value=[],b.value=[],h.value=0,d.value=0,g.value=0}async function I(){if(r.value!=="idle")throw new St("Recorder is already active");try{const m=await navigator.mediaDevices.getUserMedia({audio:!0});i.value=m;const C=new AudioContext;c.value=C;const k=C.createMediaStreamSource(m),_=C.createAnalyser();_.fftSize=2048,k.connect(_),l.value=_;const T=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":MediaRecorder.isTypeSupported("audio/webm")?"audio/webm":MediaRecorder.isTypeSupported("audio/mp4")?"audio/mp4":"",$=T?{mimeType:T}:{},R=new MediaRecorder(m,$);s.value=R,f.value=[],R.ondataavailable=z=>{z.data.size>0&&f.value.push(z.data)},R.start(100),r.value="recording"}catch(m){throw S(),m instanceof Error&&m.name==="NotAllowedError"?new St("Microphone permission denied"):m instanceof Error&&m.name==="NotFoundError"?new St("No microphone found"):new St(m instanceof Error?m.message:"Failed to start recording")}}function w(){return new Promise((m,C)=>{const k=s.value;if(!k||r.value!=="recording"){C(new St("No active recording"));return}r.value="processing",k.onstop=()=>{const _=new Blob(f.value,{type:k.mimeType||"audio/webm"});S(),r.value="idle",m(_)},k.onerror=()=>{S(),r.value="idle",C(new St("Recording failed"))},k.stop()})}function p(m){let C=0;for(let k=0;k<m.length;k+=1){const _=(m[k]??128)/128-1;C+=_*_}return Math.sqrt(C/m.length)}function v(){const m=a.value;if(!m)return;const C=m.getContext("2d");if(!C)return;const k=m.getBoundingClientRect(),_=window.devicePixelRatio||1;(m.width!==k.width*_||m.height!==k.height*_)&&(m.width=k.width*_,m.height=k.height*_,C.scale(_,_));const T=2,R=T+1,z=Math.floor(k.width/R)+2;if(l.value&&r.value==="recording"){b.value.length===0&&(b.value=Array.from({length:z},()=>0)),g.value<1&&(g.value=Math.min(1,g.value+.03)),h.value+=1/3;const O=l.value.fftSize,B=new Uint8Array(O);l.value.getByteTimeDomainData(B);const N=p(B),Y=N>d.value?.12:.08;d.value+=(N-d.value)*Y,h.value>=R&&(h.value-=R,b.value.push(d.value),b.value.length>z&&(b.value=b.value.slice(-z)))}C.clearRect(0,0,k.width,k.height);const L=window.getComputedStyle(m);C.fillStyle=L.color,C.globalAlpha=g.value;const j=k.height/2,Z=k.height/2-2,M=12;for(let O=0;O<b.value.length;O+=1){const B=b.value[O]??0,N=Math.min(B*4,1),X=Math.max(2,N*Z*2),A=k.width-(b.value.length-O)*R-h.value,Y=j-X/2;if(A+T<=0||A>=k.width)continue;let H=1;A<M?H=Math.max(0,A/M):A>k.width-M&&(H=Math.max(0,(k.width-A)/M)),C.globalAlpha=g.value*H,C.fillRect(A,Y,T,X)}u.value=requestAnimationFrame(v)}return t.watch(r,()=>{u.value!==null&&(cancelAnimationFrame(u.value),u.value=null),u.value=requestAnimationFrame(v)},{immediate:!0}),t.onBeforeUnmount(()=>{S()}),n({get state(){return r.value},start:I,stop:w,dispose:S}),(m,C)=>(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))}}),Un=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 ni=(e=>(e.OnMessagesChanged="OnMessagesChanged",e.OnStateChanged="OnStateChanged",e.OnRunStatusChanged="OnRunStatusChanged",e))(ni||{});const Zd=["OnMessagesChanged","OnStateChanged","OnRunStatusChanged"];function ln(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=Ee(),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}=De(),f=t.computed(()=>e.updates??Zd),b=t.computed(()=>u.value.defaultThrottleMs),h=t.computed(()=>t.toValue(e.throttleMs)),d=t.shallowRef(null),g=t.shallowRef(null),S=new Map,I=(v,m,C)=>{const k=new ie.ProxiedCopilotRuntimeAgent({runtimeUrl:m,agentId:v,transport:C,runtimeMode:"pending"});return u.value.applyHeadersToAgent(k),k},w=t.shallowRef(null);r&&t.watch([i,l,()=>u.value],([v,m],C,k)=>{const{agent:_,unregister:T}=u.value.registerProxiedAgent({agentId:v,runtimeAgentId:m});S.delete(v),w.value=_,k(()=>{T(),w.value=null})},{immediate:!0});const p=()=>{const v=i.value,m=u.value;if(r){const R=w.value;if(R){S.delete(v);const j=d.value===R;d.value=R,g.value=R,j&&t.triggerRef(d);return}const z=S.get(v);if(z){m.applyHeadersToAgent(z),d.value=z,g.value=z;return}const L=new ie.ProxiedCopilotRuntimeAgent({runtimeUrl:m.runtimeUrl,agentId:v,runtimeAgentId:l.value,transport:m.runtimeTransport,runtimeMode:"pending"});m.applyHeadersToAgent(L),S.set(v,L),d.value=L,g.value=L;return}const C=m.getAgent(v);if(C){S.delete(v);const R=d.value===C;d.value=C,g.value=C,R&&t.triggerRef(d);return}const k=m.runtimeUrl!==void 0,_=m.runtimeConnectionStatus;if(k&&(_===ie.CopilotKitCoreRuntimeConnectionStatus.Disconnected||_===ie.CopilotKitCoreRuntimeConnectionStatus.Connecting||_===ie.CopilotKitCoreRuntimeConnectionStatus.Error)){const R=S.get(v);if(R){m.applyHeadersToAgent(R),d.value=R,g.value=R;return}const z=I(v,m.runtimeUrl,m.runtimeTransport);S.set(v,z),d.value=z,g.value=z;return}const T=Object.keys(m.agents??{}),$=k?`runtimeUrl=${m.runtimeUrl}`:"no runtimeUrl";throw new Error(`useAgent: Agent '${v}' not found after runtime sync (${$}). `+(T.length?`Known agents: [${T.join(", ")}]`:"No agents registered.")+" Verify your runtime /info and/or agents__unsafe_dev_only.")};return t.watch([i,()=>w.value,()=>u.value.agents,()=>u.value.runtimeConnectionStatus,()=>u.value.runtimeUrl,()=>u.value.runtimeTransport,()=>u.value.ɵheadersGeneration],p,{immediate:!0}),t.watch([()=>d.value,c],([v,m])=>{!v||!m||(v.threadId=m)},{immediate:!0}),t.watch([g,()=>u.value.ɵheadersGeneration],([v])=>{ie.ɵisHttpAgent(v)&&u.value.applyHeadersToAgent(v)},{immediate:!0}),t.watch([g,f,h,b],([v,m],C,k)=>{const _=m;if(!v||_.length===0)return;let T=!0,$=!1;const R=()=>{T&&($||($=!0,queueMicrotask(()=>{$=!1,T&&t.triggerRef(d)})))},z={};_.includes("OnMessagesChanged")&&(z.onMessagesChanged=()=>{T&&t.triggerRef(d)}),_.includes("OnStateChanged")&&(z.onStateChanged=R),_.includes("OnRunStatusChanged")&&(z.onRunInitialized=R,z.onRunFinalized=R,z.onRunFailed=R,z.onRunErrorEvent=R);const L=u.value.subscribeToAgentWithOptions(v,z,{throttleMs:t.toValue(e.throttleMs)});k(()=>{T=!1,L.unsubscribe()})},{immediate:!0}),{agent:d}}function oi(e={}){const{copilotkit:n}=De(),o=Ee(),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,f,b)=>{const h=n.value,d=a.value,g=h.subscribe({onSuggestionsChanged:({agentId:S,suggestions:I})=>{if(S!==d)return;r.value=I;const w=h.getSuggestions(d);s.value=w.isLoading},onSuggestionsStartedLoading:({agentId:S})=>{S===d&&(s.value=!0)},onSuggestionsFinishedLoading:({agentId:S})=>{S===d&&(s.value=!1)},onSuggestionsConfigChanged:()=>{const S=h.getSuggestions(d);r.value=S.suggestions,s.value=S.isLoading}});b(()=>g.unsubscribe())},{immediate:!0}),{suggestions:r,isLoading:s,reloadSuggestions:()=>{n.value.reloadSuggestions(a.value)},clearSuggestions:()=>{n.value.clearSuggestions(a.value)}}}function ai(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),p=>{s.value=p},{immediate:!0});const c=p=>{n.value=p,i.value=p},u=p=>{c(p(i.value))};async function f(p){const v=s.value,m=v?.accept??"*/*",C=v?.maxSize??20*1024*1024,k=p.filter(T=>!G.matchesAcceptFilter(T,m));for(const T of k)v?.onUploadFailed?.({reason:"invalid-type",file:T,message:`File "${T.name}" is not accepted. Supported types: ${m}`});const _=p.filter(T=>G.matchesAcceptFilter(T,m));for(const T of _){if(G.exceedsMaxSize(T,C)){v?.onUploadFailed?.({reason:"file-too-large",file:T,message:`File "${T.name}" exceeds the maximum size of ${G.formatFileSize(C)}`});continue}const $=G.getModalityFromMimeType(T.type),R=G.randomUUID();u(z=>[...z,{id:R,type:$,source:{type:"data",value:"",mimeType:T.type},filename:T.name,size:T.size,status:"uploading"}]);try{let z,L;if(v?.onUpload){const Z=await v.onUpload(T),{metadata:M,...O}=Z;z=O,L=M}else z={type:"data",value:await G.readFileAsBase64(T),mimeType:T.type};let j;$==="video"&&(j=await G.generateVideoThumbnail(T)),u(Z=>Z.map(M=>M.id===R?{...M,source:z,status:"ready",thumbnail:j,metadata:L}:M))}catch(z){u(L=>L.filter(j=>j.id!==R)),console.error(`[CopilotKit] Failed to upload "${T.name}":`,z),v?.onUploadFailed?.({reason:"upload-failed",file:T,message:z instanceof Error?z.message:`Failed to upload "${T.name}"`})}}}async function b(p){const v=p.target;v?.files?.length&&(await f(Array.from(v.files)),v&&(v.value=""))}function h(p){l.value&&(p.preventDefault(),p.stopPropagation(),o.value=!0)}function d(p){p.preventDefault(),p.stopPropagation(),o.value=!1}async function g(p){if(p.preventDefault(),p.stopPropagation(),o.value=!1,!l.value)return;const v=Array.from(p.dataTransfer?.files??[]);v.length>0&&await f(v)}function S(p){u(v=>v.filter(m=>m.id!==p))}function I(){const p=i.value.filter(v=>v.status==="ready");return p.length===0||(u(v=>v.filter(m=>m.status!=="ready")),a.value&&(a.value.value="")),p}async function w(p){if(!l.value)return;const v=p.target;if(!v||!r.value?.contains(v))return;const m=s.value?.accept??"*/*",k=Array.from(p.clipboardData?.items??[]).filter(T=>{if(T.kind!=="file")return!1;const $=T.getAsFile();return $!==null&&G.matchesAcceptFilter($,m)});if(k.length===0)return;p.preventDefault();const _=k.map(T=>T.getAsFile()).filter(T=>T!==null);await f(_)}return t.onMounted(()=>{typeof document<"u"&&document.addEventListener("paste",w)}),t.onBeforeUnmount(()=>{typeof document<"u"&&document.removeEventListener("paste",w)}),{attachments:n,enabled:l,dragOver:o,fileInputRef:a,containerRef:r,processFiles:f,handleFileUpload:b,handleDragOver:h,handleDragLeave:d,handleDrop:g,removeAttachment:S,consumeAttachments:I}}async function Hd(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 Gd(e){return typeof e=="object"&&e!==null&&"error"in e&&"message"in e&&typeof e.error=="string"&&typeof e.message=="string"}function Wd(e){return{code:e.error,message:e.message,retryable:e.retryable??!1}}class wt extends Error{info;constructor(n){super(n.message),this.name="TranscriptionError",this.info=n}}async function Kd(e,n,o="recording.webm"){const a=e.runtimeUrl;if(!a)throw new wt({code:G.TranscriptionErrorCode.INVALID_REQUEST,message:"Runtime URL is not configured",retryable:!1});const r={...await e.resolveHeaders()};let s;try{if(e.runtimeTransport==="single"){const i=await Hd(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 wt({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 wt({code:G.TranscriptionErrorCode.PROVIDER_ERROR,message:`HTTP ${s.status}: ${s.statusText}`,retryable:s.status>=500})}throw Gd(i)?new wt(Wd(i)):new wt({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 ri(){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,f=Math.max(0,c-u),b=f>150;o.value=f,n.value=b,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 qd={id:null,sendNonce:0},ii=Symbol("LastUserMessage");function Jd(){return t.ref({...qd})}function Xd({scrollRef:e,contentRef:n,spacerRef:o,topOffset:a=16}){const r=t.inject(ii,Jd(),!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,f,b,h,d],g,S)=>{if(S(c),f===s||(s=f,!u)||!b||!h||!d)return;const I=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(u):u.replace(/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g,"\\$&"),w=h.querySelector(`[data-message-id="${I}"]`);if(!w)return;const p=b.clientHeight,v=w.getBoundingClientRect().height,m=parseFloat(getComputedStyle(w).paddingTop)||0,C=Math.max(0,v-m),k=Math.max(0,p-C-a);d.style.height=`${k}px`,typeof requestAnimationFrame=="function"&&(i=requestAnimationFrame(()=>{const _=Io(w,b)+m-a;b.scrollTo({top:Math.max(0,_),behavior:"smooth"})})),typeof ResizeObserver<"u"&&(l=new ResizeObserver(()=>{if(!h||!d||!b)return;const _=h.getBoundingClientRect().height,T=Io(w,h),$=_-T-v,R=Math.max(0,k-$);d.style.height=`${R}px`}),l.observe(h))},{immediate:!0,flush:"post"})}function Io(e,n){const o=e.getBoundingClientRect(),a=n.getBoundingClientRect();return o.top-a.top+n.scrollTop}const Yd={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"},Qd=["data-layout"],ep=["data-layout"],tp=["aria-label","disabled"],np={key:0,class:"cpk:my-1 cpk:h-px cpk:bg-border cpk:dark:bg-[#333333]"},op=["onClick"],ap={key:1,class:"cpk:flex cpk:w-full cpk:items-center cpk:justify-center cpk:px-5 cpk:py-3"},rp=["value","placeholder","disabled"],ip=["aria-label"],sp={key:0,class:"cpk:px-3 cpk:py-2 cpk:text-sm cpk:text-muted-foreground"},lp=["data-slash-index","aria-selected","data-active","onMouseenter","onMousedown"],cp=["aria-label","disabled"],up=["aria-label","disabled"],dp=["aria-label","disabled"],pp={class:"cpk:mr-[10px]"},mp=["aria-label","disabled"],fp={"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"},$t=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=Ee(),i=t.ref(null),l=t.ref(null),c=t.ref(null),u=t.ref(null),f=t.ref(null),b=t.ref(null),h=t.ref(null),d=t.ref(null),g=t.ref(o.modelValue??""),S=t.ref(!1),I=t.ref("compact"),w=t.ref(null),p=t.ref(0),v=t.ref(null),m=t.ref(!1),C=t.ref({singleLineHeight:0,maxHeight:0,paddingLeft:0,paddingRight:0}),k=t.ref(null),_=t.ref(!1),T=t.ref(null),$=t.ref(null),R=t.ref(!1),z=t.ref(!1);let L=null,j=null;const Z=t.computed(()=>o.modelValue!==void 0),M=t.computed(()=>Z.value?o.modelValue??"":g.value),O=t.computed(()=>s.value?.labels??Fe),B=t.computed(()=>o.placeholder??O.value.chatInputPlaceholder),N=t.computed(()=>o.mode==="input"&&I.value==="expanded"),X=t.computed(()=>o.mode!=="transcribe"&&o.isRunning),A=t.computed(()=>o.showDisclaimer??o.positioning==="absolute"),Y=t.computed(()=>typeof o.onSubmitMessage=="function"),H=t.computed(()=>typeof o.onStop=="function"),te=t.computed(()=>typeof o.onAddFile=="function"),le=t.computed(()=>typeof o.onStartTranscribe=="function"),Ae=t.computed(()=>typeof o.onCancelTranscribe=="function"),we=t.computed(()=>typeof o.onFinishTranscribe=="function"||typeof o.onFinishTranscribeWithAudio=="function"),Q=t.computed(()=>o.mode==="input"&&!o.disabled&&Y.value&&M.value.trim().length>0),Ce=t.computed(()=>X.value?!H.value:!Q.value),Le=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]),Xe=t.computed(()=>{const y={...r};return delete y.class,y});function Ve(y){return Array.isArray(y.items)}function et(){return te.value?{label:O.value.chatInputToolbarAddButtonLabel,action:()=>a("add-file")}:null}function Ye(){const y=[],F=et();if(F&&y.push(F),o.toolsMenu.length>0){y.length>0&&y.push("-");for(const K of o.toolsMenu){if(K==="-"){if(y.length===0||y[y.length-1]==="-")continue;y.push("-");continue}y.push(K)}}for(;y.length>0&&y[y.length-1]==="-";)y.pop();return y}const je=t.computed(()=>Ye()),ke=t.computed(()=>je.value.length>0);function V(y){const F=new Set,K=[],ae=xe=>{for(const pe of xe)if(pe!=="-"){if(Ve(pe)&&pe.items.length>0){ae(pe.items);continue}!pe.action||F.has(pe.label)||(F.add(pe.label),K.push(pe))}};return ae(y),K}const re=t.computed(()=>V(je.value));function Re(y,F=0,K="root"){const ae=[];for(const[xe,pe]of y.entries()){const Me=`${K}-${xe}`;if(pe==="-"){ae.push({type:"separator",key:`sep-${Me}`});continue}if(Ve(pe)&&pe.items.length>0){ae.push({type:"label",key:`label-${Me}`,label:pe.label,depth:F}),ae.push(...Re(pe.items,F+1,Me));continue}pe.action&&ae.push({type:"item",key:`item-${Me}`,label:pe.label,depth:F,action:pe.action})}return ae}const Qe=t.computed(()=>Re(je.value)),$e=t.computed(()=>{if(w.value===null||re.value.length===0)return[];const y=w.value.trim().toLowerCase();if(y.length===0)return re.value;const F=[],K=[];for(const ae of re.value){const xe=ae.label.toLowerCase();if(xe.startsWith(y)){F.push(ae);continue}xe.includes(y)&&K.push(ae)}return[...F,...K]}),ct=t.computed(()=>w.value!==null&&re.value.length>0);function rt(y){Z.value||(g.value=y),a("update:modelValue",y)}function ot(){rt("")}function kt(y){if(re.value.length===0){w.value=null;return}if(y.startsWith("/")){const F=y.split(/\r?\n/,1)[0]??"";w.value=F.slice(1);return}w.value=null}function ut(y){ot(),y.action?.(),w.value=null,p.value=0,requestAnimationFrame(()=>{l.value?.focus()})}function dt(){if(o.mode!=="input"||o.disabled||!Y.value)return;const F=(l.value?.value??M.value).trim();F&&(a("submit-message",F),o.clearOnSubmit&&ot(),l.value?.focus())}function pt(y){const F=y.target.value;rt(F),kt(F)}function U(){if(X.value){H.value&&a("stop");return}dt()}function me(y){if(!o.disabled&&!(S.value||y.isComposing||y.keyCode===229)){if(w.value!==null&&o.mode==="input"){if(y.key==="ArrowDown"){$e.value.length>0&&(y.preventDefault(),p.value=p.value<0?0:(p.value+1)%$e.value.length);return}if(y.key==="ArrowUp"){$e.value.length>0&&(y.preventDefault(),p.value<0?p.value=$e.value.length-1:p.value=p.value<=0?$e.value.length-1:p.value-1);return}if(y.key==="Enter"){const F=p.value>=0?$e.value[p.value]:void 0;if(F){y.preventDefault(),ut(F);return}}if(y.key==="Escape"){y.preventDefault(),w.value=null;return}}if(y.key==="Enter"&&!y.shiftKey&&o.mode==="input"){if(y.preventDefault(),X.value){H.value&&a("stop");return}dt()}}}function de(){!ke.value||o.mode==="transcribe"||o.disabled||(m.value=!m.value)}function Ue(){m.value=!1}function He(y){y(),Ue(),t.nextTick(()=>{l.value?.focus()})}async function Te(){const y=d.value;if(y&&y.state==="recording")try{const F=await y.stop();a("finish-transcribe-with-audio",F)}catch(F){console.error("Failed to stop recording:",F)}a("finish-transcribe")}function Ze(y){const F=y.target;!F||o.mode!=="input"||F.tagName==="BUTTON"||F.closest("button")||l.value?.focus()}function Pe(){const y=l.value;if(!y||S.value)return;const F=y.value,K=y.style.height;y.style.height="auto";const ae=window.getComputedStyle(y),xe=parseFloat(ae.paddingLeft)||0,pe=parseFloat(ae.paddingRight)||0,Me=parseFloat(ae.paddingTop)||0,Ge=parseFloat(ae.paddingBottom)||0;y.value="";const We=y.scrollHeight;y.value=F;const nt=(We-Me-Ge)*o.maxRows+Me+Ge;C.value={singleLineHeight:We,maxHeight:nt,paddingLeft:xe,paddingRight:pe},y.style.height=K,y.style.maxHeight=`${nt}px`}function it(){const y=l.value;if(!y)return 0;C.value.singleLineHeight===0&&Pe();const{maxHeight:F}=C.value;F&&(y.style.maxHeight=`${F}px`),y.style.height="auto";const K=y.scrollHeight;return y.style.height=`${F?Math.min(K,F):K}px`,K}function ve(y){I.value!==y&&(_.value=!0,I.value=y)}function st(y){const F=window.getComputedStyle(y);if(F.font?.trim())return F.font;if(F.fontSize&&F.fontFamily){const K=`${F.fontStyle} ${F.fontVariant} ${F.fontWeight} ${F.fontSize}/${F.lineHeight} ${F.fontFamily}`;if(K.trim())return K}return process.env.NODE_ENV!=="production"&&!R.value&&(R.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 P(){const y=c.value,F=u.value,K=f.value;if(!y||!F||!K)return $.value=null,null;const ae=window.getComputedStyle(y),xe=parseFloat(ae.paddingLeft)||0,pe=parseFloat(ae.paddingRight)||0,Me=parseFloat(ae.columnGap)||0,Ge=y.clientWidth-xe-pe;if(Ge<=0)return $.value=null,null;const We=F.getBoundingClientRect().width,tt=K.getBoundingClientRect().width,nt=Math.max(Ge-We-tt-Me*2,0);if(nt<=0)return $.value=null,null;const Ke={compactWidth:nt};return $.value=Ke,Ke}function oe(){if(o.mode!=="input"){ve("compact");return}if(typeof window.matchMedia=="function"&&window.matchMedia("(max-width: 767px)").matches){Pe(),it(),ve("expanded");return}const y=l.value;if(!y||!c.value||!u.value||!f.value)return;C.value.singleLineHeight===0&&Pe();const F=it(),K=C.value.singleLineHeight,ae=M.value.includes(`
|
|
57
|
+
`),xe=K>0?F>K+1:!1;let pe=ae||xe;if(!pe){const Me=$.value??P();if(Me&&Me.compactWidth>0){const Ge=Math.max(Me.compactWidth-C.value.paddingLeft-C.value.paddingRight,0);if(Ge>0){const We=T.value??document.createElement("canvas");T.value||(T.value=We);const tt=We.getContext("2d");if(tt){const nt=st(y);if(nt){tt.font=nt;const Ke=M.value.length>0?M.value.split(`
|
|
58
|
+
`):[""];let It=0;for(const qe of Ke){const ze=tt.measureText(qe||" ").width;ze>It&&(It=ze)}It>Ge&&(pe=!0)}}else process.env.NODE_ENV!=="production"&&!z.value&&(z.value=!0,console.warn("[CopilotChatInput] canvas.getContext('2d') returned null. Text-width-based expansion will be skipped."))}}}ve(pe?"expanded":"compact")}function W(y){if(_.value){_.value=!1;return}y&&($.value=null,R.value=!1,z.value=!1),k.value!==null&&cancelAnimationFrame(k.value),k.value=requestAnimationFrame(()=>{k.value=null,oe()})}return t.watch(()=>o.modelValue,y=>{Z.value&&(g.value=y??"")}),t.watch(M,y=>{kt(y),oe()}),t.watch(re,()=>{re.value.length===0&&(w.value=null)}),t.watch([w,()=>$e.value.length],([y,F])=>{y!==null&&y!==v.value&&F>0&&(p.value=0),v.value=y},{immediate:!0}),t.watch([w,$e],()=>{if(w.value===null){p.value=0;return}if($e.value.length===0){p.value=-1;return}(p.value<0||p.value>=$e.value.length)&&(p.value=0)},{immediate:!0}),t.watch(()=>o.mode,async y=>{y!=="input"&&(I.value="compact",w.value=null,Ue());const F=d.value;if(F){if(y==="transcribe"){try{await F.start()}catch(K){console.error(K)}return}if(F.state==="recording")try{await F.stop()}catch{}}},{immediate:!0}),t.watch(d,async y=>{if(!(!y||o.mode!=="transcribe")&&y.state==="idle")try{await y.start()}catch(F){console.error(F)}},{immediate:!0}),t.watch(p,async y=>{if(!ct.value||y<0)return;await t.nextTick(),b.value?.querySelector(`[data-slash-index="${y}"]`)?.scrollIntoView?.({block:"nearest"})}),t.watch(()=>o.disabled,y=>{y&&Ue()}),t.onMounted(()=>{if(o.autoFocus&&o.mode==="input"&&l.value?.focus(),oe(),typeof ResizeObserver<"u"){const y=new Set;c.value&&y.add(c.value),u.value&&y.add(u.value),f.value&&y.add(f.value),L=new ResizeObserver(F=>{const K=F.some(ae=>y.has(ae.target));W(K)}),c.value&&L.observe(c.value),u.value&&L.observe(u.value),f.value&&L.observe(f.value),l.value&&L.observe(l.value)}j=y=>{if(!m.value)return;const F=y.target;F&&(h.value?.contains(F)||u.value?.contains(F)||Ue())},document.addEventListener("mousedown",j)}),t.onBeforeUnmount(()=>{j&&(document.removeEventListener("mousedown",j),j=null),L?.disconnect(),L=null,k.value!==null&&(cancelAnimationFrame(k.value),k.value=null)}),(y,F)=>(t.openBlock(),t.createElementBlock("div",t.mergeProps({"data-copilotkit":"","data-testid":"copilot-chat-input-container",class:Le.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)"}:{}}},Xe.value),[t.createElementVNode("div",Yd,[t.renderSlot(y.$slots,"layout",{mode:e.mode,isMultiline:N.value,value:M.value,disabled:e.disabled,placeholder:B.value,isProcessing:X.value,sendDisabled:Ce.value,menuOpen:m.value,menuItems:Qe.value,onToggleMenu:de,onMenuAction:He,onUpdateValue:rt,onSubmit:dt,onKeydown:me,onSendClick:U,onStartTranscribe:()=>a("start-transcribe"),onCancelTranscribe:()=>a("cancel-transcribe"),onFinishTranscribe:Te},()=>[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":N.value?"expanded":"compact",onClick:Ze},[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",N.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":N.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",N.value?"cpk:row-start-2":"cpk:row-start-1"])},[t.renderSlot(y.$slots,"add-menu-button",{disabled:e.disabled||e.mode==="transcribe"||!ke.value,menuOpen:m.value,toggleMenu:de,labels:O.value},()=>[t.createElementVNode("button",{type:"button","data-testid":"copilot-chat-input-add","aria-label":O.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(de,["stop"])},[t.createVNode(t.unref(fe.Plus),{class:"cpk:size-[20px]"})],8,tp)]),m.value&&ke.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"addMenuRef",ref:h,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(Qe.value,K=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:K.key},[K.type==="separator"?(t.openBlock(),t.createElementBlock("div",np)):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=>He(K.action)},t.toDisplayString(K.label),13,op))],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",N.value?"cpk:col-span-3 cpk:row-start-1":"cpk:col-start-2 cpk:row-start-1"])},[e.mode==="transcribe"?t.renderSlot(y.$slots,"audio-recorder",{key:0},()=>[t.createVNode(ti,{ref_key:"audioRecorderRef",ref:d},null,512)]):e.mode==="processing"?(t.openBlock(),t.createElementBlock("div",ap,[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(y.$slots,"text-area",{value:M.value,disabled:e.disabled,placeholder:B.value,onInput:pt,onKeydown:me,autoFocus:e.autoFocus,isExpanded:N.value,rows:1,labels:O.value},()=>[t.createElementVNode("textarea",{ref_key:"textareaRef",ref:l,"data-testid":"copilot-chat-input-textarea",value:M.value,placeholder:B.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]",N.value?"cpk:px-5":"cpk:pr-5"]),style:{overflow:"auto",resize:"none"},onInput:pt,onKeydown:me,onCompositionstart:F[0]||(F[0]=K=>S.value=!0),onCompositionend:F[1]||(F[1]=K=>S.value=!1)},null,42,rp)]),ct.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"slashMenuRef",ref:b,"data-testid":"copilot-slash-menu",role:"listbox","aria-label":O.value.chatInputSlashMenuLabel,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"}},[$e.value.length===0?(t.openBlock(),t.createElementBlock("div",sp,t.toDisplayString(O.value.chatInputSlashMenuEmptyText),1)):(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:1},t.renderList($e.value,(K,ae)=>(t.openBlock(),t.createElementBlock("button",{key:`${K.label}-${ae}`,type:"button",role:"option","data-slash-index":ae,"aria-selected":ae===p.value,"data-active":ae===p.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===p.value?"cpk:bg-muted cpk:dark:bg-[#2f2f2f]":"cpk:bg-transparent"]),onMouseenter:xe=>p.value=ae,onMousedown:t.withModifiers(xe=>ut(K),["prevent"])},t.toDisplayString(K.label),43,lp))),128))],8,ip)):t.createCommentVNode("",!0)],64))],2),t.createElementVNode("div",{ref_key:"actionsContainerRef",ref:f,class:t.normalizeClass(["cpk:flex cpk:items-center cpk:justify-end cpk:gap-2",N.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},[Ae.value||y.$slots["cancel-transcribe-button"]?t.renderSlot(y.$slots,"cancel-transcribe-button",{key:0,disabled:e.disabled,onClick:()=>a("cancel-transcribe"),labels:O.value},()=>[t.createElementVNode("button",{type:"button","data-testid":"copilot-chat-input-cancel-transcribe","aria-label":O.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:F[2]||(F[2]=K=>a("cancel-transcribe"))},[t.createVNode(t.unref(fe.X),{class:"cpk:size-[18px]"})],8,cp)]):t.createCommentVNode("",!0),we.value||y.$slots["finish-transcribe-button"]?t.renderSlot(y.$slots,"finish-transcribe-button",{key:1,disabled:e.disabled,onClick:Te,labels:O.value},()=>[t.createElementVNode("button",{type:"button","data-testid":"copilot-chat-input-finish-transcribe","aria-label":O.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:Te},[t.createVNode(t.unref(fe.Check),{class:"cpk:size-[18px]"})],8,up)]):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[le.value||y.$slots["start-transcribe-button"]?t.renderSlot(y.$slots,"start-transcribe-button",{key:0,disabled:e.disabled,onClick:()=>a("start-transcribe"),labels:O.value},()=>[t.createElementVNode("button",{type:"button","data-testid":"copilot-chat-input-start-transcribe","aria-label":O.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:F[3]||(F[3]=K=>a("start-transcribe"))},[t.createVNode(t.unref(fe.Mic),{class:"cpk:size-[18px]"})],8,dp)]):t.createCommentVNode("",!0),t.renderSlot(y.$slots,"send-button",{disabled:Ce.value,isProcessing:X.value,onClick:U},()=>[t.createElementVNode("div",pp,[t.createElementVNode("button",{type:"button","data-testid":"copilot-chat-input-send","aria-label":X.value&&H.value?O.value.chatInputToolbarStopButtonLabel:O.value.chatInputToolbarSendButtonLabel,disabled:Ce.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:U},[X.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,mp)])])],64))],2)],10,ep)],8,Qd)])]),A.value?t.renderSlot(y.$slots,"disclaimer",{key:0,labels:O.value},()=>[t.createElementVNode("p",fp,t.toDisplayString(O.value.chatDisclaimerText),1)]):t.createCommentVNode("",!0)],16))}}),hp=["data-card-type"],gp={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"},vp=["onClick"],bp=["src","alt"],kp={key:1,class:"cpk:w-full cpk:h-full cpk:relative"},yp=["src","alt"],Sp=["src"],wp=["aria-label","onClick"],Cp={key:2,class:"cpk:flex cpk:flex-col cpk:gap-1 cpk:w-full"},Tp=["src"],xp={key:0,class:"cpk:text-xs cpk:font-medium cpk:overflow-hidden cpk:text-ellipsis cpk:whitespace-nowrap"},Ip=["onClick"],Ep={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"},_p={class:"cpk:flex cpk:flex-col cpk:min-w-0"},Ap={class:"cpk:text-xs cpk:font-medium cpk:break-all cpk:leading-tight","data-testid":"copilot-chat-attachment-document-filename"},Rp={key:0,class:"cpk:text-[11px] cpk:text-muted-foreground"},$p={key:2,class:"cpk:w-full cpk:h-full cpk:bg-muted-foreground/20","data-testid":"copilot-chat-attachment-placeholder"},Mp=["aria-label","onClick"],Np=["aria-label"],Op=["src","alt"],Bp=["src"],zp=["src","title"],Fp={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"},Dp={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"},Lp=["src","title"],Vp={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"},Up={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"},Pp={class:"cpk:text-center"},jp={class:"cpk:text-base cpk:font-medium cpk:text-gray-800 cpk:dark:text-gray-200"},Zp={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=Ee(),s=t.computed(()=>r.value?.labels??Fe),i=t.ref(null),l=t.ref(null),c=t.computed(()=>i.value!==null),u=t.computed(()=>{const p=i.value;if(!p||p.type!=="document")return!1;const v=p.source.mimeType;return S(v)||I(v)}),f=t.computed(()=>{const p=i.value;if(!p||p.type!=="document")return null;const v=p.source.mimeType;if(!I(v)||p.source.type!=="data")return null;try{return atob(p.source.value)}catch{return p.source.value}}),b=t.computed(()=>{const p=i.value;return!p||p.type!=="document"?null:p.source.type==="url"?p.source.value:l.value});t.watch(i,(p,v)=>{if(l.value&&(URL.revokeObjectURL(l.value),l.value=null),!p||p.type!=="document"||p.source.type!=="data"||typeof window>"u")return;const m=p.source.mimeType;if(!S(m)&&!I(m))return;const C=w(p.source.value,m);l.value=C},{immediate:!0}),t.watch(c,(p,v,m)=>{if(!p||typeof document>"u")return;const C=k=>{k.key==="Escape"&&d()};document.addEventListener("keydown",C),m(()=>{document.removeEventListener("keydown",C)})}),t.onBeforeUnmount(()=>{l.value&&(URL.revokeObjectURL(l.value),l.value=null)});function h(p){if(typeof document<"u"){const v=document;if(typeof v.startViewTransition=="function"){v.startViewTransition(()=>{i.value=p});return}}i.value=p}function d(){i.value=null}function g(p){return p.type==="image"||p.type==="video"?"cpk:w-[72px] cpk:h-[72px]":p.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 S(p){return!!p&&p.includes("pdf")}function I(p){return!!p&&p.startsWith("text/")}function w(p,v){try{const m=atob(p),C=new Uint8Array(m.length);for(let _=0;_<m.length;_+=1)C[_]=m.charCodeAt(_);const k=new Blob([C],{type:v||"application/octet-stream"});return URL.createObjectURL(k)}catch(m){return console.error("[CopilotKit] Failed to decode attachment data:",m),null}}return(p,v)=>(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",gp,[...v[1]||(v[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:C=>h(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,bp)],8,vp)):m.type==="video"?(t.openBlock(),t.createElementBlock("div",kp,[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,yp)):(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,Sp)),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":s.value.attachmentPlayVideoButtonLabel,"data-testid":"copilot-chat-attachment-video-play",onClick:C=>h(m)},[...v[2]||(v[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,wp)])):m.type==="audio"?(t.openBlock(),t.createElementBlock("div",Cp,[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,Tp),m.filename?(t.openBlock(),t.createElementBlock("span",xp,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",S(m.source.mimeType)||I(m.source.mimeType)?"cpk:cursor-pointer":"cpk:cursor-default"]),"data-testid":"copilot-chat-attachment-document-button",onClick:C=>(S(m.source.mimeType)||I(m.source.mimeType))&&h(m)},[t.createElementVNode("div",Ep,t.toDisplayString(t.unref(G.getDocumentIcon)(m.source.mimeType??"")),1),t.createElementVNode("div",_p,[t.createElementVNode("span",Ap,t.toDisplayString(m.filename||"Document"),1),m.size!=null?(t.openBlock(),t.createElementBlock("span",Rp,t.toDisplayString(t.unref(G.formatFileSize)(m.size)),1)):t.createCommentVNode("",!0)])],10,Ip))],64)):(t.openBlock(),t.createElementBlock("div",$p)),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":s.value.attachmentRemoveButtonLabel,onClick:C=>a("remove-attachment",m.id)}," ✕ ",8,Mp)],10,hp))),128))],2)):t.createCommentVNode("",!0),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[i.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:d},[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":s.value.attachmentPreviewCloseButtonLabel,onClick:t.withModifiers(d,["stop"])}," ✕ ",8,Np),t.createElementVNode("div",{"data-testid":"copilot-chat-attachment-lightbox-content",onClick:v[0]||(v[0]=t.withModifiers(()=>{},["stop"]))},[i.value.type==="image"?(t.openBlock(),t.createElementBlock("img",{key:0,src:t.unref(G.getSourceUrl)(i.value.source),alt:i.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,Op)):i.value.type==="video"?(t.openBlock(),t.createElementBlock("video",{key:1,src:t.unref(G.getSourceUrl)(i.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,Bp)):i.value.type==="document"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[u.value&&S(i.value.source.mimeType)&&b.value?(t.openBlock(),t.createElementBlock("iframe",{key:0,src:b.value,title:i.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,zp)):u.value&&I(i.value.source.mimeType)?(t.openBlock(),t.createElementBlock("div",Fp,[f.value!==null?(t.openBlock(),t.createElementBlock("pre",Dp,t.toDisplayString(f.value),1)):b.value?(t.openBlock(),t.createElementBlock("iframe",{key:1,src:b.value,title:i.value.filename||"Text preview",class:"cpk:w-full cpk:h-[80vh] cpk:border-none","data-testid":"copilot-chat-attachment-lightbox-document-iframe"},null,8,Lp)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createElementBlock("div",Vp,[t.createElementVNode("div",Up,t.toDisplayString(t.unref(G.getDocumentIcon)(i.value.source.mimeType??"")),1),t.createElementVNode("div",Pp,[t.createElementVNode("div",jp,t.toDisplayString(i.value.filename||"Document"),1),t.createElementVNode("div",Zp,t.toDisplayString(i.value.source.mimeType||"Unknown type")+" "+t.toDisplayString(i.value.size!=null?` · ${t.unref(G.formatFileSize)(i.value.size)}`:""),1)]),v[3]||(v[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))}}),Hp=["data-message-id"],Gp=["aria-expanded"],Wp={class:"cpk:font-medium"},Kp={key:0,class:"cpk:inline-flex cpk:items-center cpk:ml-1"},qp={class:"cpk:overflow-hidden"},Jp={key:0,class:"cpk:pb-2 cpk:pt-1"},Xp={class:"cpk:text-sm cpk:text-muted-foreground"},Yp={key:0,class:"cpk:inline-flex cpk:items-center cpk:ml-1 cpk:align-middle"},si=t.defineComponent({__name:"CopilotChatReasoningMessage",props:{message:{},messages:{default:()=>[]},isRunning:{type:Boolean,default:!1}},setup(e){const n=e;function o(w){if(w<1)return"a few seconds";if(w<60)return`${Math.round(w)} seconds`;const p=Math.floor(w/60),v=Math.round(w%60);return v===0?`${p} minute${p>1?"s":""}`:`${p}m ${v}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 f=null,b=null;function h(){b&&(clearInterval(b),b=null)}function d(){f!==null&&(l.value=(Date.now()-f)/1e3)}t.watch(i,w=>{if(w){f===null&&(f=Date.now()),h(),b=setInterval(d,1e3),u.value=!1,c.value=!0;return}h(),d(),u.value||(c.value=!1)},{immediate:!0}),t.onBeforeUnmount(()=>{h()});const g=Ee(),S=t.computed(()=>i.value?(g.value?.labels??Fe).reasoningMessageThinkingLabel:`Thought for ${o(l.value)}`);function I(){r.value&&(u.value=!0,c.value=!c.value)}return(w,p)=>(t.openBlock(),t.createElementBlock("div",{"data-copilotkit":"",class:"cpk:my-1","data-message-id":e.message.id},[t.renderSlot(w.$slots,"layout",{message:e.message,messages:e.messages,isRunning:e.isRunning,header:{isOpen:c.value,label:S.value,hasContent:r.value,isStreaming:i.value,elapsedSeconds:l.value,onClick:r.value?I: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(w.$slots,"header",{isOpen:c.value,label:S.value,hasContent:r.value,isStreaming:i.value,elapsedSeconds:l.value,onClick:r.value?I: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:p[0]||(p[0]=v=>r.value?I():void 0)},[t.createElementVNode("span",Wp,t.toDisplayString(S.value),1),i.value&&!r.value?(t.openBlock(),t.createElementBlock("span",Kp,[...p[1]||(p[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,Gp)]),t.renderSlot(w.$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",qp,[t.renderSlot(w.$slots,"content-view",{isStreaming:i.value,hasContent:r.value,content:a.value},()=>[r.value||i.value?(t.openBlock(),t.createElementBlock("div",Jp,[t.createElementVNode("div",Xp,[t.createVNode(t.unref(No.StreamMarkdown),{content:a.value},null,8,["content"]),i.value&&r.value?(t.openBlock(),t.createElementBlock("span",Yp,[...p[2]||(p[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,Hp))}}),Qp=["data-message-id"],em=["data-multiline"],tm={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"},nm={class:"cpk:flex cpk:items-center cpk:gap-1 cpk:justify-end"},om=["aria-label","title"],am=["aria-label","title"],rm={class:"cpk:flex cpk:items-center cpk:gap-1"},im=["disabled","aria-label","title"],sm={class:"cpk:text-sm cpk:text-muted-foreground cpk:px-0 cpk:font-medium"},lm=["disabled","aria-label","title"],li=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=Ee(),s=t.computed(()=>r.value?.labels??Fe),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(k){return k?typeof k=="string"?k:k.map(_=>_&&typeof _=="object"&&"type"in _&&_.type==="text"&&typeof _.text=="string"?_.text:"").filter(_=>_.length>0).join(`
|
|
59
|
+
`):""}const f=t.computed(()=>u(o.message.content)),b=t.computed(()=>f.value.includes(`
|
|
60
|
+
`)),h=t.computed(()=>typeof o.onEditMessage=="function"),d=t.computed(()=>o.numberOfBranches>1&&typeof o.onSwitchToBranch=="function"),g=t.computed(()=>d.value&&o.branchIndex>0),S=t.computed(()=>d.value&&o.branchIndex<o.numberOfBranches-1);function I(){l&&clearTimeout(l),i.value=!0,l=setTimeout(()=>{i.value=!1,l=null},2e3)}async function w(){if(f.value&&!(typeof navigator>"u"||typeof navigator.clipboard?.writeText!="function"))try{await navigator.clipboard.writeText(f.value),I()}catch(k){console.error("Failed to copy to clipboard:",k)}}function p(){if(!h.value)return;const k={message:o.message};a("edit-message",k)}function v(k){if(!d.value)return;const _={branchIndex:k,numberOfBranches:o.numberOfBranches,message:o.message};a("switch-to-branch",_)}function m(){g.value&&v(o.branchIndex-1)}function C(){S.value&&v(o.branchIndex+1)}return t.onBeforeUnmount(()=>{l&&clearTimeout(l)}),(k,_)=>t.renderSlot(k.$slots,"layout",{message:e.message,content:f.value,isMultiline:b.value,showBranchNavigation:d.value,hasEditAction:h.value,branchIndex:e.branchIndex,numberOfBranches:e.numberOfBranches,canGoPrev:g.value,canGoNext:S.value,onCopy:w,onEdit:p,goPrev:m,goNext:C,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},k.$attrs),[t.renderSlot(k.$slots,"message-renderer",{message:e.message,content:f.value,isMultiline:b.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":b.value}]),"data-multiline":b.value?"true":void 0},t.toDisplayString(f.value),11,em)]),t.renderSlot(k.$slots,"toolbar",{message:e.message,showBranchNavigation:d.value,hasEditAction:h.value},()=>[t.createElementVNode("div",tm,[t.createElementVNode("div",nm,[t.renderSlot(k.$slots,"toolbar-items"),t.renderSlot(k.$slots,"copy-button",{onCopy:w,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:w},[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,om)]),h.value||k.$slots["edit-button"]?t.renderSlot(k.$slots,"edit-button",{key:0,onEdit:p,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:p},[t.createVNode(t.unref(fe.Edit),{class:"cpk:size-[18px]"})],10,am)]):t.createCommentVNode("",!0),e.numberOfBranches>1&&(d.value||k.$slots["branch-navigation"])?t.renderSlot(k.$slots,"branch-navigation",{key:1,branchIndex:e.branchIndex,numberOfBranches:e.numberOfBranches,canGoPrev:g.value,canGoNext:S.value,goPrev:m,goNext:C},()=>[t.createElementVNode("div",rm,[t.createElementVNode("button",{type:"button",class:t.normalizeClass([t.unref(c),"cpk:h-6 cpk:w-6 cpk:p-0"]),disabled:!g.value,"aria-label":s.value.userMessageToolbarPreviousBranchLabel,title:s.value.userMessageToolbarPreviousBranchLabel,onClick:m},[t.createVNode(t.unref(fe.ChevronLeft),{class:"cpk:size-[20px]"})],10,im),t.createElementVNode("span",sm,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:!S.value,"aria-label":s.value.userMessageToolbarNextBranchLabel,title:s.value.userMessageToolbarNextBranchLabel,onClick:C},[t.createVNode(t.unref(fe.ChevronRight),{class:"cpk:size-[20px]"})],10,lm)])]):t.createCommentVNode("",!0)])])])],16,Qp)])}}),ci=t.defineComponent({__name:"CopilotChatMessageView",props:{messages:{default:()=>[]},isRunning:{type:Boolean,default:!1}},setup(e){const n=e,{copilotkit:o}=De(),a=Ee(),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],(k,_,T)=>{const $=u.value;if(!$)return;const R=$.subscribe({onStateChanged:()=>{r.value+=1},onRunStartedEvent:()=>{r.value+=1},onRunFinishedEvent:()=>{r.value+=1},onRunErrorEvent:()=>{r.value+=1}});T(()=>R.unsubscribe())},{immediate:!0}),t.watch(()=>o.value,(k,_,T)=>{s.value=k.interruptState;const $=k.subscribe({onInterruptStateChanged:({interruptState:R})=>{s.value=R},onRuntimeConnectionStatusChanged:()=>{r.value+=1}});T(()=>$.unsubscribe())},{immediate:!0});function f(k){const _=new Map;for(const T of k){const $=_.get(T.id);if($&&T.role==="assistant"&&$.role==="assistant"){const R=T.content||$.content,z=T.toolCalls??$.toolCalls;_.set(T.id,{...$,...T,content:R,toolCalls:z})}else _.set(T.id,T)}return[..._.values()]}const b=t.computed(()=>f(n.messages)),h=G.createRowKeyStore(),d=t.computed(()=>G.resolveRowRenderKeysById(h,b.value));t.onMounted(()=>G.commitRowKeyStore(h,b.value)),t.watch(b,k=>G.commitRowKeyStore(h,k),{flush:"post"});const g=t.computed(()=>n.messages[n.messages.length-1]),S=t.computed(()=>n.isRunning&&g.value?.role!=="reasoning");t.watch([()=>n.messages.length,()=>b.value.length],([k,_])=>{process.env.NODE_ENV==="development"&&_<k&&console.warn(`CopilotChatMessageView: Deduplicated ${k-_} message(s) with duplicate IDs.`)},{immediate:!0});function I(k){r.value+=0;const _=c.value,T=a.value?.threadId??"",$=o.value,R=$.getRunIdForMessage(_,T,k.id)??$.getRunIdsForThread(_,T).slice(-1)[0],z=R??`missing-run-id:${k.id}`,L=u.value??$.getAgent(_),j=R&&L?L.messages.filter(A=>$.getRunIdForMessage(_,T,A.id)===R).map(A=>A.id):[k.id],Z=L?L.messages.findIndex(A=>A.id===k.id):-1,M=Z>=0?Z:0,O=R?Math.max(j.indexOf(k.id),0):0,B=R?j.length:1;let N,X=!1;return{runId:z,messageIndex:M,messageIndexInRun:O,numberOfMessagesInRun:B,agentId:_,get stateSnapshot(){return X||(X=!0,N=R?$.getStateByRun(_,T,R):void 0),N}}}function w(k,_){return Object.assign(I(k),{message:k,position:_})}const p=({render:k,slotProps:_})=>k(_);p.props=["render","slotProps"];function v(k){return`activity-${k}`}function m(k,_){if(r.value+=0,i[_==="before"?"message-before":"message-after"])return null;const $=c.value,z=[...o.value.renderCustomMessages].filter(L=>L.agentId===void 0||L.agentId===$).sort((L,j)=>{const Z=L.agentId!==void 0,M=j.agentId!==void 0;return Z===M?0:Z?-1:1})[0];return z?.render?{renderer:z.render,props:w(k,_)}:null}function C(k){r.value+=0;const _=c.value,T=[...o.value.renderActivityMessages].filter(R=>R.activityType===k.activityType&&(R.agentId===void 0||R.agentId===_)).sort((R,z)=>{const L=R.agentId!==void 0,j=z.agentId!==void 0;return L===j?0:L?-1:1})[0];if(!T)return null;const $=T.content.safeParse(k.content);return $.success?{renderer:T.render,props:{activityType:k.activityType,content:$.data,message:k,agent:u.value}}:null}return(k,_)=>(t.openBlock(),t.createElementBlock("div",t.mergeProps({"data-copilotkit":"",class:"cpk:flex cpk:flex-col"},k.$attrs),[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b.value,T=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:d.value.get(T.id)??T.id},[t.unref(i)["message-before"]?(t.openBlock(),t.createBlock(p,{key:0,render:t.unref(i)["message-before"],"slot-props":w(T,"before")},null,8,["render","slot-props"])):m(T,"before")?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m(T,"before").renderer),t.mergeProps({key:1,ref_for:!0},m(T,"before").props),null,16)):t.createCommentVNode("",!0),T.role==="assistant"?t.renderSlot(k.$slots,"assistant-message",{key:2,message:T,messages:e.messages,isRunning:e.isRunning},()=>[t.createVNode(ei,{message:T,messages:e.messages,"is-running":e.isRunning},t.createSlots({_:2},[t.renderList(l.value,$=>({name:$,fn:t.withCtx(R=>[t.renderSlot(k.$slots,$,t.mergeProps({ref_for:!0},R))])}))]),1032,["message","messages","is-running"])]):T.role==="user"?t.renderSlot(k.$slots,"user-message",{key:3,message:T},()=>[t.createVNode(li,{message:T},t.createSlots({_:2},[t.renderList(l.value,$=>({name:$,fn:t.withCtx(R=>[t.renderSlot(k.$slots,$,t.mergeProps({ref_for:!0},R))])}))]),1032,["message"])]):T.role==="reasoning"?t.renderSlot(k.$slots,"reasoning-message",{key:4,message:T,messages:e.messages,isRunning:e.isRunning},()=>[t.createVNode(si,{message:T,messages:e.messages,"is-running":e.isRunning},null,8,["message","messages","is-running"])]):T.role==="activity"?t.renderSlot(k.$slots,v(T.activityType),{key:5,activityType:T.activityType,content:T.content,message:T,agent:u.value},()=>[t.renderSlot(k.$slots,"activity-message",{activityType:T.activityType,content:T.content,message:T,agent:u.value},()=>[C(T)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(C(T).renderer),t.mergeProps({key:0,ref_for:!0},C(T).props),null,16)):t.createCommentVNode("",!0)])]):t.createCommentVNode("",!0),t.unref(i)["message-after"]?(t.openBlock(),t.createBlock(p,{key:6,render:t.unref(i)["message-after"],"slot-props":w(T,"after")},null,8,["render","slot-props"])):m(T,"after")?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m(T,"after").renderer),t.mergeProps({key:7,ref_for:!0},m(T,"after").props),null,16)):t.createCommentVNode("",!0)],64))),128)),s.value?t.renderSlot(k.$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),S.value?t.renderSlot(k.$slots,"cursor",{key:1},()=>[_[0]||(_[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))}}),cm=["type","aria-busy","disabled"],um={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"},dm={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"},pm={class:"cpk:whitespace-nowrap cpk:font-medium cpk:leading-none"},ui=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",um,[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",dm,[t.renderSlot(a.$slots,"icon",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.icon)))])])):t.createCommentVNode("",!0),t.createElementVNode("span",pm,[t.renderSlot(a.$slots,"default")])],16,cm))}}),Mt=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:b,...h}=r;return h});function c(b,h){return s.value.has(b)||h.isLoading===!0}function u(b,h){a("select-suggestion",b,h)}const f=t.computed(()=>({suggestions:o.suggestions,loadingIndexes:o.loadingIndexes,onSelectSuggestion:u,containerClass:i.value,containerAttrs:l.value}));return(b,h)=>t.renderSlot(b.$slots,"layout",t.normalizeProps(t.guardReactiveProps(f.value)),()=>[t.renderSlot(b.$slots,"container",t.normalizeProps(t.guardReactiveProps(f.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,(d,g)=>t.renderSlot(b.$slots,"suggestion",{key:`${d.title}-${g}`,suggestion:d,index:g,isLoading:c(g,d),onSelect:()=>u(d,g)},()=>[t.createVNode(ui,{"is-loading":c(g,d),type:"button",onClick:S=>u(d,g)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(d.title),1)]),_:2},1032,["is-loading","onClick"])])),128))],16)])])}}),mm=["pin-to-bottom","pin-to-send","none"];function fm(e){return e===void 0||e===!0?"pin-to-bottom":e===!1?"none":mm.includes(e)?e:"pin-to-bottom"}const hm={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"},gm={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"},vm={class:"cpk:w-full cpk:max-w-3xl cpk:flex cpk:flex-col cpk:items-center"},bm={class:"cpk:mb-6"},km={class:"cpk:text-xl cpk:sm:text-2xl cpk:font-medium cpk:text-foreground cpk:text-center"},ym={class:"cpk:w-full"},Sm={key:0,class:"cpk:mt-4 cpk:flex cpk:justify-center"},wm={class:"cpk:px-4 cpk:@3xl:px-0 cpk:[div[data-sidebar-chat]_&]:px-8 cpk:[div[data-popup-chat]_&]:px-6"},Cm={class:"cpk:max-w-3xl cpk:mx-auto"},Tm={key:0,class:"cpk:mt-4 cpk:pl-0 cpk:pr-4 cpk:@3xl:px-0"},xm=["aria-label"],Im={key:0,class:"cpk:max-w-3xl cpk:mx-auto cpk:w-full cpk:pointer-events-auto"},Em=16,_m=12,Lt=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=Ee(),s=t.computed(()=>r.value?.labels??Fe),i=t.useSlots(),l=t.ref(null),c=t.ref(null),u=t.ref(null),f=t.ref(null),b=t.ref(0),h=t.ref(!0),d=t.computed(()=>o.inputValue!==void 0),g=t.ref(o.inputValue??""),S=t.computed(()=>fm(o.autoScroll)),I=t.computed(()=>S.value==="pin-to-bottom"),w=t.computed(()=>S.value==="pin-to-send");Xd({scrollRef:l,contentRef:c,spacerRef:u,topOffset:16});const{isKeyboardOpen:p,keyboardHeight:v}=ri(),m=t.computed(()=>p.value?v.value:0),C=t.computed(()=>d.value?o.inputValue??"":g.value),k=t.computed(()=>!o.isConnecting&&!o.isRunning&&Array.isArray(o.suggestions)&&o.suggestions.length>0),_=t.computed(()=>Array.isArray(o.attachments)&&o.attachments.length>0),T=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),R=t.computed(()=>`${b.value+(k.value?4:32)}px`),z=t.computed(()=>!$.value&&!h.value);let L=null,j=null;function Z(){if(typeof ResizeObserver>"u")return;L?.disconnect(),L=null;const V=f.value;V&&(L=new ResizeObserver(re=>{const Re=h.value,Qe=re[0]?.contentRect?.height;typeof Qe=="number"?b.value=Qe:B(),O(),I.value&&Re&&N("auto")}),L.observe(V))}function M(){if(typeof ResizeObserver>"u")return;j?.disconnect(),j=null;const V=c.value;V&&(j=new ResizeObserver(()=>{const re=h.value;O(),I.value&&re&&N("auto")}),j.observe(V))}t.watch($,async V=>{V||(await t.nextTick(),B(),Z(),M())}),t.watch(()=>o.inputValue,V=>{d.value&&(g.value=V??"")}),t.watch([()=>o.messages,()=>o.suggestions,()=>o.isRunning],async()=>{const V=h.value;await t.nextTick(),!(!I.value||!V)&&(N("auto"),typeof requestAnimationFrame=="function"&&requestAnimationFrame(()=>{N("auto")}))},{deep:!0});function O(){const V=l.value;if(!V){h.value=!0;return}const re=V.scrollHeight-V.scrollTop-V.clientHeight;h.value=re<=_m}function B(){const V=f.value;b.value=V?.offsetHeight??0}function N(V="smooth"){const re=l.value;re&&(typeof re.scrollTo=="function"?re.scrollTo({top:re.scrollHeight,behavior:V}):re.scrollTop=re.scrollHeight,O())}function X(){O()}function A(V){d.value||(g.value=V),a("input-change",V)}function Y(V){a("submit-message",V)}function H(){a("stop")}function te(V,re){a("select-suggestion",V,re)}function le(){a("add-file")}function Ae(V){o.onDragOver?.(V)}function we(V){o.onDragLeave?.(V)}function Q(V){o.onDrop?.(V)}function Ce(){a("start-transcribe")}function Le(){a("cancel-transcribe")}function Xe(){a("finish-transcribe")}async function Ve(V){await o.onFinishTranscribeWithAudio?.(V)}const et=t.computed(()=>{const V={"onUpdate:modelValue":A,onSubmitMessage:o.onSubmitMessage?Y:void 0};return o.onStop&&(V.onStop=H),o.onAddFile&&(V.onAddFile=le),o.onStartTranscribe&&(V.onStartTranscribe=Ce),o.onCancelTranscribe&&(V.onCancelTranscribe=Le),o.onFinishTranscribe&&(V.onFinishTranscribe=Xe),o.onFinishTranscribeWithAudio&&(V.onFinishTranscribeWithAudio=Ve),V}),Ye=t.computed(()=>!!o.onStop),je=t.computed(()=>!!o.onAddFile),ke=t.computed(()=>!!o.onStartTranscribe);return t.onMounted(async()=>{await t.nextTick(),B(),O(),I.value&&(N("auto"),typeof requestAnimationFrame=="function"&&requestAnimationFrame(()=>{N("auto")})),Z(),M()}),t.onBeforeUnmount(()=>{L?.disconnect(),j?.disconnect(),L=null,j=null}),(V,re)=>(t.openBlock(),t.createElementBlock("div",t.mergeProps({"data-copilotkit":"",class:"copilotKitChat cpk:@container cpk:relative cpk:h-full","data-testid":"copilot-chat-view"},V.$attrs,{onDragover:Ae,onDragleave:we,onDrop:Q}),[e.dragOver?(t.openBlock(),t.createElementBlock("div",hm,[...re[3]||(re[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:C.value,isRunning:e.isRunning,inputMode:e.inputMode,inputToolsMenu:e.inputToolsMenu,canStop:Ye.value,canAddFile:je.value,canTranscribe:ke.value,onUpdateModelValue:A,onSubmitMessage:Y,onStop:H,onAddFile:le,onStartTranscribe:Ce,onCancelTranscribe:Le,onFinishTranscribe:Xe,onFinishTranscribeWithAudio:Ve,onSelectSuggestion:te},()=>[t.createElementVNode("div",gm,[t.createElementVNode("div",vm,[t.createElementVNode("div",bm,[t.renderSlot(V.$slots,"welcome-message",{},()=>[t.createElementVNode("h1",km,t.toDisplayString(s.value.welcomeMessageText),1)])]),t.createElementVNode("div",ym,[_.value?(t.openBlock(),t.createBlock(wn,{key:0,attachments:e.attachments??[],"class-name":"cpk:mb-2",onRemoveAttachment:re[0]||(re[0]=Re=>e.onRemoveAttachment&&e.onRemoveAttachment(Re))},null,8,["attachments"])):t.createCommentVNode("",!0),t.renderSlot(V.$slots,"input",{modelValue:C.value,isRunning:e.isRunning,inputMode:e.inputMode,inputToolsMenu:e.inputToolsMenu,attachments:e.attachments??[],canStop:Ye.value,canAddFile:je.value,canTranscribe:ke.value,onUpdateModelValue:A,onSubmitMessage:Y,onStop:H,onAddFile:le,onStartTranscribe:Ce,onCancelTranscribe:Le,onFinishTranscribe:Xe,onFinishTranscribeWithAudio:Ve},()=>[t.createVNode($t,t.mergeProps({"model-value":C.value,"is-running":e.isRunning,mode:e.inputMode,"tools-menu":e.inputToolsMenu,positioning:"static","show-disclaimer":!0,"keyboard-height":m.value},et.value),null,16,["model-value","is-running","mode","tools-menu","keyboard-height"])])]),k.value?(t.openBlock(),t.createElementBlock("div",Sm,[t.renderSlot(V.$slots,"suggestion-view",{suggestions:e.suggestions,loadingIndexes:e.suggestionLoadingIndexes,onSelectSuggestion:te},()=>[t.createVNode(Mt,{suggestions:e.suggestions,"loading-indexes":e.suggestionLoadingIndexes,onSelectSuggestion:te},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:R.value,showScrollToBottomButton:z.value,onSelectSuggestion:te,onScroll:X,scrollToBottom:N},()=>[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:X},[t.createElementVNode("div",wm,[t.createElementVNode("div",{ref_key:"scrollContentRef",ref:c,"data-testid":"copilot-scroll-content",style:t.normalizeStyle({paddingBottom:R.value})},[t.createElementVNode("div",Cm,[t.renderSlot(V.$slots,"message-view",{messages:e.messages,isRunning:e.isRunning},()=>[t.createVNode(ci,{messages:e.messages,"is-running":e.isRunning},t.createSlots({_:2},[t.renderList(T.value,Re=>({name:Re,fn:t.withCtx(Qe=>[t.renderSlot(V.$slots,Re,t.normalizeProps(t.guardReactiveProps(Qe)))])}))]),1032,["messages","is-running"])]),k.value?(t.openBlock(),t.createElementBlock("div",Tm,[t.renderSlot(V.$slots,"suggestion-view",{suggestions:e.suggestions,loadingIndexes:e.suggestionLoadingIndexes,onSelectSuggestion:te},()=>[t.createVNode(Mt,{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:te},null,8,["suggestions","loading-indexes"])])])):t.createCommentVNode("",!0)])],4),w.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",{},()=>[re[4]||(re[4]=t.createElementVNode("div",{"data-testid":"copilot-chat-view-feather"},null,-1))]),z.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:`${b.value+Em}px`})},[t.renderSlot(V.$slots,"scroll-to-bottom-button",{onClick:()=>N()},()=>[t.createElementVNode("button",{type:"button","data-testid":"copilot-chat-view-scroll-to-bottom","aria-label":s.value.chatScrollToBottomLabel,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:re[1]||(re[1]=Re=>N())},[t.createVNode(t.unref(fe.ChevronDown),{class:"cpk:w-4 cpk:h-4 cpk:text-gray-600 cpk:dark:text-white"})],8,xm)])],4)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"inputContainerRef",ref:f,class:"cpk:absolute cpk:bottom-0 cpk:left-0 cpk:right-0 cpk:z-20 cpk:pointer-events-none","data-testid":"copilot-input-overlay"},[_.value?(t.openBlock(),t.createElementBlock("div",Im,[t.createVNode(wn,{attachments:e.attachments??[],"class-name":"cpk:px-4",onRemoveAttachment:re[2]||(re[2]=Re=>e.onRemoveAttachment&&e.onRemoveAttachment(Re))},null,8,["attachments"])])):t.createCommentVNode("",!0),t.renderSlot(V.$slots,"input",{modelValue:C.value,isRunning:e.isRunning,inputMode:e.inputMode,inputToolsMenu:e.inputToolsMenu,attachments:e.attachments??[],canStop:Ye.value,canAddFile:je.value,canTranscribe:ke.value,onUpdateModelValue:A,onSubmitMessage:Y,onStop:H,onAddFile:le,onStartTranscribe:Ce,onCancelTranscribe:Le,onFinishTranscribe:Xe,onFinishTranscribeWithAudio:Ve},()=>[t.createVNode($t,t.mergeProps({"model-value":C.value,"is-running":e.isRunning,mode:e.inputMode,"tools-menu":e.inputToolsMenu,positioning:"static","show-disclaimer":!0,"keyboard-height":m.value,"bottom-anchored":!0},et.value),null,16,["model-value","is-running","mode","tools-menu","keyboard-height"])])],512)],64))],16))}});function Am(e){const n=t.ref(null),o=(r,s)=>{n.value=null,ie.emitInspectorActiveThread({requestId:r.requestId,threadId:s,agentId:r.agentId,source:"app"})},a=r=>{const s=n.value;!s||s.requestId!==r||(ie.emitInspectorViewThreadResult({requestId:r,threadId:s.threadId,agentId:s.agentId,ok:!1,reason:"connect-failed"}),o(s,s.previousThreadId))};if(ie.isInspectorThreadBridgeEnabled()){const r=ie.onInspectorViewThread(i=>i.agentId!==e.agentId.value?!1:(n.value=n.value?{...n.value,...i}:{...i,previousThreadId:e.baseThreadId.value},ie.emitInspectorViewThreadResult({...i,ok:!0}),ie.emitInspectorActiveThread({...i,source:"override"}),!0)),s=ie.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 Rm=["accept"],$m={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"}},Pn=t.defineComponent({inheritAttrs:!1,__name:"CopilotChat",props:{inputMode:{default:"input"},agentId:{},threadId:{},throttleMs:{},labels:{},attachments:{},onError:{},autoScroll:{type:[String,Boolean],default:!0},welcomeScreen:{type:Boolean,default:!0},inputValue:{default:void 0},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=Ee(),{copilotkit:l}=De(),c=t.computed(()=>Object.keys(s).filter(P=>P!=="chat-view")),u=t.ref(G.randomUUID()),f=t.ref("input"),b=t.ref(o.inputValue??""),h=t.ref(null),d=t.ref(!1),g=t.ref(!1),S=t.ref(!1),I=t.shallowRef(null);let w=null;const p=new WeakMap;let v=Promise.resolve();const m=new WeakMap,C=t.computed(()=>o.agentId??i.value?.agentId??G.DEFAULT_AGENT_ID),k=t.computed(()=>o.threadId??i.value?.threadId),_=t.computed(()=>k.value??u.value),T=t.computed(()=>!!o.threadId||!!i.value?.hasExplicitThreadId),{inspectorThreadId:$,inspectorRequestId:R,failInspectorOverride:z}=Am({agentId:C,baseThreadId:_}),L=t.computed(()=>$.value??_.value),j=t.computed(()=>$.value!==null||T.value),Z=t.ref(null),M=t.computed(()=>j.value&&Z.value!==L.value),O=Wr(t.computed(()=>o.labels)),B=t.computed(()=>O.value),{agent:N}=ln({agentId:C,throttleMs:t.computed(()=>o.throttleMs)}),{suggestions:X}=oi({agentId:C}),A=Dt(),Y=t.computed(()=>A.value.checkFeature("chat"));t.watch(Y,P=>{P||console.warn('[CopilotKit] Warning: "chat" feature is not licensed. Visit copilotkit.ai/pricing')},{immediate:!0});const H=t.computed(()=>l.value.audioFileTranscriptionEnabled),te=t.computed(()=>typeof window<"u"&&typeof MediaRecorder<"u"),le=t.computed(()=>H.value&&te.value),{attachments:Ae,enabled:we,dragOver:Q,fileInputRef:Ce,containerRef:Le,handleFileUpload:Xe,handleDragOver:Ve,handleDragLeave:et,handleDrop:Ye,removeAttachment:je,consumeAttachments:ke}=ai({config:t.computed(()=>o.attachments)}),V=t.computed(()=>d.value?"processing":f.value),re=t.ref(0),Re=t.computed(()=>[...N.value?.messages??[]]),Qe=t.computed(()=>(re.value,N.value?.isRunning??!1)),$e=t.computed(()=>Qe.value&&Re.value.length>0),ct=t.computed(()=>{for(let P=Re.value.length-1;P>=0;P--){const oe=Re.value[P];if(oe?.role==="user")return oe.id}return null}),rt=t.ref(0);let ot=ct.value;t.watch(ct,P=>{P&&P!==ot&&(rt.value+=1,ot=P)});const kt=t.computed(()=>({id:ct.value,sendNonce:rt.value}));t.provide(ii,kt),t.watch(()=>N.value,(P,oe,W)=>{if(!P)return;const y=P.subscribe({onRunStartedEvent:()=>{re.value+=1},onRunFinishedEvent:()=>{re.value+=1},onRunErrorEvent:()=>{re.value+=1}});W(()=>y.unsubscribe())},{immediate:!0}),t.watch(()=>o.inputValue,P=>{P!==void 0&&(b.value=P)}),t.watch([()=>o.threadId,()=>i.value?.threadId],([P,oe],W)=>{P||oe||W&&(W[0]||W[1])&&(u.value=G.randomUUID())}),t.watch([()=>l.value,C,()=>o.onError],([P,oe,W],y,F)=>{if(!W)return;const K=P.subscribe({onError:ae=>{(ae.context?.agentId===oe||!ae.context?.agentId)&&W({error:ae.error,code:ae.code,context:ae.context})}});F(()=>K.unsubscribe())},{immediate:!0}),t.watch([()=>l.value,C,L,R],([P,oe,W,y],F,K)=>{if(!y)return;const ae=P.subscribe({onError:xe=>{xe.code===ie.CopilotKitCoreErrorCode.AGENT_CONNECT_FAILED&&xe.context?.agentId===oe&&xe.context?.threadId===W&&z(y)}});K(()=>ae.unsubscribe())},{immediate:!0}),t.watch([g,()=>l.value,()=>N.value,L,j,R],([P,oe,W,y,F,K],ae,xe)=>{if(!P||typeof window>"u"||!W)return;const pe=I.value;if(pe!==null&&pe.threadId!==y&&pe.inspectorRequestId!==K&&(pe.inspectorRequestId!==null||K!==null))try{oe.stopAgent({agent:W})}catch{}if(m.set(W,W.threadId),W.threadId=y,!F)return;const Ge=qt.AbstractAgent.prototype,We=W,tt=We.connect!==Ge.connect,nt=We.connectAgent!==Ge.connectAgent;if(!tt&&!nt){Z.value=y;return}const Ke=I.value,It=Ke&&Ke.core===oe&&Ke.agent===W&&Ke.threadId===y&&Ke.inspectorRequestId===K;let qe;if(It&&Ke)qe=Ke;else{const ze=new AbortController;qe={core:oe,agent:W,threadId:y,inspectorRequestId:K,abortController:ze,detached:!1},I.value=qe,w=qe,v.then(()=>{if(!qe.detached)return ie.ɵisHttpAgent(W)&&(W.abortController=ze),oe.connectAgent({agent:W})}).catch(Vt=>{if(qe.detached){qe.clearDiscardedBaseline?.();return}Vt instanceof qt.AGUIConnectNotImplementedError||(console.error("CopilotChat: connectAgent failed",Vt),K&&z(K))}).finally(()=>{if(qe.detached){qe.clearDiscardedBaseline?.();return}(typeof requestAnimationFrame=="function"?requestAnimationFrame:yt=>setTimeout(yt,16))(()=>{qe.detached||(Z.value=qe.threadId)})})}xe(()=>{const ze=I.value;if(!ze||ze!==qe||!(S.value||l.value!==ze.core||N.value!==ze.agent||L.value!==ze.threadId))return;ze.detached=!0,ze.abortController.abort();const yt=ze.agent.detachActiveRun().catch(yi=>{console.error("CopilotChat: detachActiveRun failed",yi)});p.set(ze.agent,yt),v=Promise.all([v,yt]).then(()=>{}),yt.then(()=>{p.get(ze.agent)===yt&&p.delete(ze.agent)}),I.value=null})},{immediate:!0});let ut;t.watch([L,j,()=>N.value],([P,oe,W],y,F)=>{const K=ut,ae={threadId:P,agent:W};if(ut=ae,!W||oe||K===void 0||P===K.threadId)return;let xe=!0,pe=!0;F(()=>{xe=!1});const Me=K.agent===W?K.threadId:m.get(W),Ge=()=>{Me&&("clearReplayCursor"in W&&typeof W.clearReplayCursor=="function"&&W.clearReplayCursor(Me),"clearReconnectCursor"in W&&typeof W.clearReconnectCursor=="function"&&W.clearReconnectCursor(Me))},We=()=>{!xe||!pe||S.value||ut!==ae||N.value!==W||(W.setMessages([]),W.setState({}),W.pendingInterrupts=[],Ge())};w?.agent===W&&w.threadId===Me&&(w.clearDiscardedBaseline=We);const tt=p.get(W)??W.detachActiveRun();p.set(W,tt);const nt=()=>{pe&&(Ge(),We(),pe=!1)};We(),v=Promise.all([v,tt]).then(nt).catch(Ke=>{console.error("CopilotChat: detachActiveRun failed",Ke)}).finally(()=>{p.get(W)===tt&&p.delete(W)})},{immediate:!0}),t.onBeforeUnmount(()=>{S.value=!0}),t.onMounted(()=>{g.value=!0}),t.watch(h,(P,oe,W)=>{if(!P)return;const y=setTimeout(()=>{h.value=null},5e3);W(()=>clearTimeout(y))});async function dt(){const P=N.value;if(P)try{const oe=I.value;oe&&oe.agent===P&&oe.threadId===L.value&&(oe.detached=!0,oe.abortController.abort(),I.value=null,await oe.agent.detachActiveRun?.()),await l.value.runAgent({agent:P})}catch(oe){console.error("CopilotChat: runAgent failed",oe)}}async function pt(P){if(Ae.value.some(y=>y.status==="uploading")){console.error("[CopilotKit] Cannot send while attachments are uploading");return}if(a("submit-message",P),!N.value){console.error("[CopilotKit] Cannot send message: no agent available");return}const W=ke();if(W.length>0){const y=[];P.trim()&&y.push({type:"text",text:P});for(const F of W)y.push(G.createAttachmentContent(F));N.value.addMessage({id:G.randomUUID(),role:"user",content:y})}else N.value.addMessage({id:G.randomUUID(),role:"user",content:P});b.value="",await dt()}async function U(P,oe){a("select-suggestion",P,oe),N.value?.addMessage({id:G.randomUUID(),role:"user",content:P.message}),await dt()}function me(){const P=N.value;if(P)try{l.value.stopAgent({agent:P})}catch(oe){console.error("CopilotChat: stopAgent failed",oe);try{P.abortRun()}catch(W){console.error("CopilotChat: abortRun fallback failed",W)}}}function de(){a("stop"),$e.value&&me()}function Ue(P){b.value=P,a("input-change",P)}function He(){a("add-file"),we.value&&setTimeout(()=>{Ce.value?.click()},100)}function Te(){le.value&&(h.value=null,f.value="transcribe",a("start-transcribe"))}function Ze(){le.value&&(h.value=null,f.value="input",a("cancel-transcribe"))}function Pe(){le.value&&(f.value="input",a("finish-transcribe"))}async function it(P){if(le.value){if(o.onFinishTranscribeWithAudio){await o.onFinishTranscribeWithAudio(P);return}d.value=!0;try{h.value=null;const oe=await Kd(l.value,P),W=b.value.trim();b.value=W?`${W} ${oe.text}`:oe.text}catch(oe){if(console.error("CopilotChat: Transcription failed",oe),oe instanceof wt){const{code:W,retryable:y,message:F}=oe.info;switch(W){case G.TranscriptionErrorCode.RATE_LIMITED:h.value="Too many requests. Please wait a moment.";break;case G.TranscriptionErrorCode.AUTH_FAILED:h.value="Authentication error. Please check your configuration.";break;case G.TranscriptionErrorCode.AUDIO_TOO_LONG:h.value="Recording is too long. Please try a shorter recording.";break;case G.TranscriptionErrorCode.AUDIO_TOO_SHORT:h.value="Recording is too short. Please try again.";break;case G.TranscriptionErrorCode.INVALID_AUDIO_FORMAT:h.value="Audio format not supported.";break;case G.TranscriptionErrorCode.SERVICE_NOT_CONFIGURED:h.value="Transcription service is not available.";break;case G.TranscriptionErrorCode.NETWORK_ERROR:h.value="Network error. Please check your connection.";break;default:h.value=y?"Transcription failed. Please try again.":F}}else h.value="Transcription failed. Please try again."}finally{d.value=!1}}}const ve=t.computed(()=>({messages:Re.value,autoScroll:o.autoScroll,isRunning:Qe.value,suggestions:X.value,suggestionLoadingIndexes:[],welcomeScreen:o.welcomeScreen,attachments:Ae.value,dragOver:Q.value,inputValue:b.value,inputMode:V.value,inputToolsMenu:o.inputToolsMenu,isConnecting:M.value,hasExplicitThreadId:j.value,canStop:$e.value,canAddFile:we.value,canTranscribe:le.value,onSubmitMessage:pt,onStop:de,onInputChange:Ue,onSelectSuggestion:U,onRemoveAttachment:je,onAddFile:He,onDragOver:we.value?Ve:void 0,onDragLeave:we.value?et:void 0,onDrop:we.value?Ye:void 0,onStartTranscribe:Te,onCancelTranscribe:Ze,onFinishTranscribe:Pe,onFinishTranscribeWithAudio:it})),st=t.computed(()=>{const P={...r,onSubmitMessage:pt,onInputChange:Ue,onSelectSuggestion:U};return $e.value&&(P.onStop=de),we.value&&(P.onAddFile=He,P.attachments=Ae.value,P.onRemoveAttachment=je,P.dragOver=Q.value,P.onDragOver=Ve,P.onDragLeave=et,P.onDrop=Ye),le.value&&(P.onStartTranscribe=Te,P.onCancelTranscribe=Ze,P.onFinishTranscribe=Pe),P});return(P,oe)=>(t.openBlock(),t.createBlock(sn,{"agent-id":C.value,"thread-id":L.value,"has-explicit-thread-id":j.value,labels:B.value},{default:t.withCtx(()=>[t.createElementVNode("div",{ref_key:"attachmentContainerRef",ref:Le,style:{display:"contents"}},[t.unref(we)?(t.openBlock(),t.createElementBlock("input",{key:0,ref_key:"fileInputRef",ref:Ce,type:"file",multiple:"",accept:o.attachments?.accept??"*/*",style:{display:"none"},onChange:oe[0]||(oe[0]=W=>{t.unref(Xe)(W)})},null,40,Rm)):t.createCommentVNode("",!0),Y.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(Un,{key:1,"feature-name":"Chat"})),h.value?(t.openBlock(),t.createElementBlock("div",$m,t.toDisplayString(h.value),1)):t.createCommentVNode("",!0),t.renderSlot(P.$slots,"chat-view",t.normalizeProps(t.guardReactiveProps(ve.value)),()=>[t.createVNode(Lt,t.mergeProps(st.value,{messages:ve.value.messages,"auto-scroll":ve.value.autoScroll,"is-running":ve.value.isRunning,suggestions:ve.value.suggestions,"suggestion-loading-indexes":ve.value.suggestionLoadingIndexes,"welcome-screen":ve.value.welcomeScreen,"input-value":ve.value.inputValue,"input-mode":ve.value.inputMode,"input-tools-menu":ve.value.inputToolsMenu,"is-connecting":ve.value.isConnecting,"has-explicit-thread-id":ve.value.hasExplicitThreadId,"on-finish-transcribe-with-audio":ve.value.onFinishTranscribeWithAudio}),t.createSlots({_:2},[t.renderList(c.value,W=>({name:W,fn:t.withCtx(y=>[t.renderSlot(P.$slots,W,t.normalizeProps(t.guardReactiveProps(y)))])}))]),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"]))}}),Mm=["src"],Nm=["src"],Om={key:0,class:"cpk:text-xs cpk:text-muted-foreground cpk:truncate cpk:max-w-[300px]","data-testid":"copilot-chat-attachment-renderer-audio-filename"},Bm=["src"],zm={class:"cpk:text-xs cpk:font-bold cpk:uppercase","data-testid":"copilot-chat-attachment-renderer-document-icon"},Fm={class:"cpk:text-sm cpk:text-muted-foreground cpk:truncate","data-testid":"copilot-chat-attachment-renderer-document-label"},Dm=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,Mm)):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,Nm),n.filename?(t.openBlock(),t.createElementBlock("span",Om,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,Bm)):(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",zm,t.toDisplayString(t.unref(G.getDocumentIcon)(n.source.mimeType??"")),1),t.createElementVNode("span",Fm,t.toDisplayString(r.value),1)],2))}});function mt(e,n,o){o.value=n(e.getState());const a=e.select(n).subscribe(()=>{o.value=n(e.getState())});t.onScopeDispose(()=>a.unsubscribe())}function di(e){const{copilotkit:n}=De(),o=ie.ɵ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===ie.CopilotKitCoreRuntimeConnectionStatus.Connected&&!l.value),f=t.computed(()=>u.value?new Error("Thread endpoints are not available on this CopilotKit runtime"):null),b=t.computed(()=>c.value?null:new Error("Thread mutations are not available on this CopilotKit runtime")),h=t.computed(()=>n.value.ɵheadersGeneration),d=t.ref([]),g=t.ref(!1),S=t.ref(null),I=t.ref(null),w=t.ref(!1),p=t.ref(!1),v=t.ref(!1);mt(o,ie.ɵselectThreads,d),mt(o,ie.ɵselectThreadsIsLoading,g),mt(o,ie.ɵselectThreadsError,S),mt(o,ie.ɵselectFetchMoreError,I),mt(o,ie.ɵselectHasNextPage,w),mt(o,ie.ɵselectIsFetchingNextPage,p),mt(o,ie.ɵselectIsMutating,v),o.start(),t.onScopeDispose(()=>{o.stop()}),t.watch([i,a],([z,L],j,Z)=>{z&&(n.value.registerThreadStore(L,o),Z(()=>{n.value.unregisterThreadStore(L)}))},{immediate:!0});const m=t.ref(!1);t.watch([()=>n.value.runtimeUrl,()=>n.value.runtimeConnectionStatus,h,()=>n.value.intelligence?.wsUrl,a,r,s,i,l],([z,L,,j,Z,M,O,B,N])=>{if(!z||!B){o.setContext(null),m.value=!1;return}if(L!==ie.CopilotKitCoreRuntimeConnectionStatus.Connected)return;if(!N){o.setContext(null),m.value=!1;return}const X={runtimeUrl:z,wsUrl:j,agentId:Z,includeArchived:M,limit:O};o.setContext(X),m.value=!0},{immediate:!0});const C=t.computed(()=>n.value.runtimeUrl?null:new Error("Runtime URL is not configured")),k=t.computed(()=>!!n.value.runtimeUrl&&i.value&&!u.value&&!m.value),_=t.computed(()=>C.value||f.value?!1:k.value||g.value),T=t.computed(()=>C.value??f.value??S.value),$=t.computed(()=>S.value);function R(z){return(...L)=>b.value?Promise.reject(b.value):z(...L)}return{threads:t.computed(()=>d.value.map(({id:z,agentId:L,name:j,archived:Z,createdAt:M,updatedAt:O,lastRunAt:B})=>({id:z,agentId:L,name:j,archived:Z,createdAt:M,updatedAt:O,...B!==void 0?{lastRunAt:B}:{}}))),isLoading:_,error:T,listError:$,fetchMoreError:I,hasMoreThreads:w,isFetchingMoreThreads:p,isMutating:v,fetchMoreThreads:()=>o.fetchNextPage(),refetchThreads:()=>o.refetchThreads(),startNewThread:()=>o.startNewThread(),renameThread:R((z,L)=>o.renameThread(z,L)),archiveThread:R(z=>o.archiveThread(z)),unarchiveThread:R(z=>o.unarchiveThread(z)),deleteThread:R(z=>o.deleteThread(z))}}const Eo="copilot-chat-input-textarea",Lm="copilot-chat-view",Vm=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=Ee(),s=Dt(),i=t.computed(()=>{const B=s.value.status;return B==="unknown"?!0:(B==="valid"||B==="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),f=t.ref(!1),b=t.computed(()=>r.value?r.value.drawerOpen:f.value);function h(B){r.value?r.value.setDrawerOpen?.(B):f.value=B}const d=di({agentId:c,includeArchived:!0,enabled:i,limit:()=>o.limit});function g(B){return{id:B.id,name:B.name,archived:B.archived,createdAt:B.createdAt,updatedAt:B.updatedAt,...B.lastRunAt!==void 0?{lastRunAt:B.lastRunAt}:{}}}const S=t.computed(()=>d.threads.value.map(g)),I=t.ref(!1),w=t.ref(null),p=t.ref(null);t.onMounted(async()=>{const B=await import("@copilotkit/web-components/threads-drawer");B.defineCopilotKitThreadsDrawer(),w.value=B.COPILOTKIT_THREADS_DRAWER_TAG,I.value=!0}),t.watchEffect(()=>{const B=p.value;B&&(B.threads=S.value,B.loading=d.isLoading.value||l.value,B.error=d.listError.value?.message??null,B.activeThreadId=u.value,B.licensed=i.value||l.value,B.hasMore=d.hasMoreThreads.value,B.fetchingMore=d.isFetchingMoreThreads.value,B.fetchMoreError=d.fetchMoreError.value?.message??null,B.open=b.value,o.label!==void 0&&(B.label=o.label),o.licenseUrl!==void 0&&(B.licenseUrl=o.licenseUrl),o.collapsible!==void 0&&(B.collapsible=o.collapsible))},{flush:"post"});const v=r.value?.registerDrawer?.();v&&t.onScopeDispose(v);function m(B){if(typeof document>"u")return null;const N=B?.closest?.(`[data-testid="${Lm}"]`);if(N){const X=N.querySelector(`[data-testid="${Eo}"]`);if(X)return X}return document.querySelector(`[data-testid="${Eo}"]`)}function C(){m(p.value)?.focus()}function k(B){const{threadId:N}=B.detail;o.onThreadSelect?o.onThreadSelect(N):r.value?.setActiveThreadId?.(N,{explicit:!0}),C()}function _(){d.startNewThread(),o.onNewThread?o.onNewThread():r.value?.startNewThread?.()}function T(B){const{threadId:N}=B.detail;d.archiveThread(N).catch(X=>console.error("CopilotThreadsDrawer: archiveThread failed",X))}function $(B){const{threadId:N}=B.detail;d.unarchiveThread(N).catch(X=>console.error("CopilotThreadsDrawer: unarchiveThread failed",X))}function R(B){const{threadId:N}=B.detail,X=N===u.value;d.deleteThread(N).then(()=>{X&&_()}).catch(A=>console.error("CopilotThreadsDrawer: deleteThread failed",A))}function z(){d.refetchThreads()}function L(B){const{collapsed:N}=B.detail;a("collapse-change",N)}function j(B){const{scope:N}=B.detail;N==="fetch-more"?d.fetchMoreThreads():d.refetchThreads()}function Z(){d.fetchMoreThreads()}function M(B){const{open:N}=B.detail;h(N)}function O(){o.onLicensed?.()}return(B,N)=>I.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(w.value),{key:0,ref_key:"elRef",ref:p,"data-testid":e.dataTestId,"recent-label":e.recentLabel,onThreadSelected:k,onNewThread:_,onArchive:T,onUnarchive:$,onDelete:R,onFilterChange:z,onCollapseChange:L,onRetry:j,onLoadMore:Z,onOpenChange:M,onLicensed:O},{default:t.withCtx(()=>[t.renderSlot(B.$slots,"default"),B.$slots.row?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(d).threads.value,X=>(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:X.id},{ref_for:!0},{slot:`row:${X.id}`}),[t.renderSlot(B.$slots,"row",{thread:X})],16))),128)):t.createCommentVNode("",!0)]),_:3},40,["data-testid","recent-label"])):t.createCommentVNode("",!0)}}),jn=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})}}}),Zn=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"})}}}),Um=["type","data-state","aria-label","aria-pressed","disabled"],Kt="cpk:h-6 cpk:w-6",_o="cpk:pointer-events-none cpk:absolute cpk:inset-0 cpk:flex cpk:items-center cpk:justify-center cpk:will-change-transform",Hn=t.defineComponent({inheritAttrs:!1,__name:"CopilotChatToggleButton",props:{disabled:{type:Boolean,default:!1},type:{default:"button"}},setup(e){const n=e,o=t.useAttrs(),a=Ee(),r=t.ref(!1),s=t.computed(()=>a.value?.labels??Fe),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:g,onClick:S,...I}=o;return I}),f=Object.freeze({transition:"opacity 120ms ease-out, transform 260ms cubic-bezier(0.22, 1, 0.36, 1)"});function b(g){if(a.value?.setModalOpen){a.value.setModalOpen(g);return}r.value=g}function h(){const g=o.onClick;return Array.isArray(g)?g.filter(S=>typeof S=="function"):typeof g=="function"?[g]:[]}function d(g){if(!n.disabled){for(const S of h())S(g);g.defaultPrevented||b(!i.value)}}return(g,S)=>(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:d}),[t.createElementVNode("span",{"aria-hidden":"true","data-slot":"chat-toggle-button-open-icon",class:t.normalizeClass(_o),style:t.normalizeStyle({...t.unref(f),opacity:i.value?0:1,transform:`scale(${i.value?.75:1}) rotate(${i.value?90:0}deg)`})},[t.renderSlot(g.$slots,"open-icon",{iconClass:Kt,isOpen:i.value},()=>[t.createVNode(t.unref(Zn),{class:t.normalizeClass(Kt),"aria-hidden":"true",focusable:!1})])],4),t.createElementVNode("span",{"aria-hidden":"true","data-slot":"chat-toggle-button-close-icon",class:t.normalizeClass(_o),style:t.normalizeStyle({...t.unref(f),opacity:i.value?1:0,transform:`scale(${i.value?1:.75}) rotate(${i.value?0:-90}deg)`})},[t.renderSlot(g.$slots,"close-icon",{iconClass:Kt,isOpen:i.value},()=>[t.createVNode(t.unref(jn),{class:t.normalizeClass(Kt),"aria-hidden":"true",focusable:!1})])],4)],16,Um))}}),pi=t.defineComponent({name:"CopilotModalHeaderCloseButton",inheritAttrs:!1,setup(e,{slots:n}){const o=t.useAttrs(),a=Ee(),r=t.computed(()=>typeof o["aria-label"]=="string"?o["aria-label"]:(a.value?.labels??Fe).modalHeaderCloseButtonLabel);return()=>{const{class:s,type:i,...l}=o;return t.h("button",{...l,type:typeof i=="string"?i:"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",s],"aria-label":r.value},n.default?n.default():[t.h(fe.X,{class:"cpk:h-4 cpk:w-4","aria-hidden":!0})])}}}),mi=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():[])}}}),Pm={class:"cpk:flex cpk:w-full cpk:items-center cpk:gap-2"},jm={class:"cpk:flex cpk:flex-1 cpk:justify-start"},Zm=["aria-expanded","aria-label"],Hm={key:1,"aria-hidden":"true"},Gm={class:"cpk:flex cpk:flex-1 cpk:justify-center cpk:text-center"},Wm={class:"cpk:flex cpk:flex-1 cpk:justify-end"},Gn=t.defineComponent({inheritAttrs:!1,__name:"CopilotModalHeader",props:{title:{}},setup(e){const n=e,o=t.useAttrs(),a=Ee(),r=t.computed(()=>n.title??a.value?.labels.modalHeaderTitle??Fe.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:d,...g}=o;return g});function l(){a.value?.setModalOpen?.(!1)}const c=t.ref(!1);let u=null;function f(){u&&(c.value=u.matches)}t.onMounted(()=>{typeof window>"u"||typeof window.matchMedia!="function"||(u=window.matchMedia(Kr),u.addEventListener("change",f),f())}),t.onBeforeUnmount(()=>{u?.removeEventListener("change",f),u=null});const b=t.computed(()=>(a.value?.drawerRegistered??!1)&&c.value);function h(){a.value?.setDrawerOpen?.(!a.value?.drawerOpen)}return(d,g)=>(t.openBlock(),t.createElementBlock("header",t.mergeProps({"data-copilotkit":"","data-slot":"copilot-modal-header",class:s.value},i.value),[t.renderSlot(d.$slots,"layout",{title:r.value,onClose:l},()=>[t.createElementVNode("div",Pm,[t.createElementVNode("div",jm,[b.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":t.unref(a)?.labels.modalHeaderThreadsButtonLabel??t.unref(Fe).modalHeaderThreadsButtonLabel,onClick:h},[t.createVNode(t.unref(fe.PanelLeftOpen),{class:"cpk:h-4 cpk:w-4","aria-hidden":"true"})],8,Zm)):(t.openBlock(),t.createElementBlock("span",Hm))]),t.createElementVNode("div",Gm,[t.renderSlot(d.$slots,"title-content",{title:r.value},()=>[t.createVNode(t.unref(mi),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(r.value),1)]),_:1})])]),t.createElementVNode("div",Wm,[t.renderSlot(d.$slots,"close-button",{onClose:l},()=>[t.createVNode(t.unref(pi),{onClick:l})])])])])],16))}});function xt(e,n=[]){return Object.keys(e).filter(o=>!n.includes(o))}const Km={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:bg-transparent cpk:md:inset-auto cpk:md:bottom-24 cpk:md:right-6 cpk:md:items-end cpk:md:gap-4"},qm=["aria-label"],Jm={class:"cpk:flex-1 cpk:overflow-hidden","data-popup-chat":""},Xm=420,Ym=560,Ao=200,Qm=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=["header","toggle-button"],r=n,s=t.useAttrs(),i=Ee(),l=t.ref(null),c=t.ref(i.value?.isModalOpen??!1),u=t.ref(!1);let f,b;const h=t.computed(()=>i.value?.isModalOpen??!1),d=t.computed(()=>i.value?.labels??Fe),g=t.computed(()=>d.value.modalHeaderTitle),S=t.computed(()=>h.value&&!u.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]"),I=t.computed(()=>({"--copilot-popup-width":w(o.width,Xm),"--copilot-popup-height":w(o.height,Ym),"--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 w(M,O){return typeof M=="number"&&Number.isFinite(M)?`${M}px`:typeof M=="string"&&M.trim().length>0?M:`${O}px`}function p(){i.value?.setModalOpen?.(!1)}function v(){i.value?.setModalOpen?.(!0)}function m(){i.value?.setModalOpen?.(!h.value)}function C(M){r("submit-message",M)}function k(){r("stop")}function _(M){r("input-change",M)}function T(M,O){r("select-suggestion",M,O)}function $(){r("add-file")}function R(){r("start-transcribe")}function z(){r("cancel-transcribe")}function L(){r("finish-transcribe")}const j=t.computed(()=>{const M={onSubmitMessage:C,onInputChange:_,onSelectSuggestion:T};return o.onStop&&(M.onStop=k),o.onAddFile&&(M.onAddFile=$),o.onStartTranscribe&&(M.onStartTranscribe=R),o.onCancelTranscribe&&(M.onCancelTranscribe=z),o.onFinishTranscribe&&(M.onFinishTranscribe=L),M}),Z=t.computed(()=>({...s,...j.value}));return t.watch(h,M=>{if(f&&(clearTimeout(f),f=void 0),M){c.value=!0,u.value=!1;return}c.value&&(u.value=!0,f=setTimeout(()=>{c.value=!1,u.value=!1,f=void 0},Ao))},{immediate:!0}),t.watch(h,(M,O,B)=>{if(!M||typeof window>"u")return;const N=X=>{X.key==="Escape"&&(X.preventDefault(),p())};window.addEventListener("keydown",N),B(()=>{window.removeEventListener("keydown",N)})},{immediate:!0}),t.watch(h,(M,O,B)=>{M&&(b=setTimeout(()=>{if(typeof document>"u")return;const N=l.value;N&&!N.contains(document.activeElement)&&N.focus({preventScroll:!0})},Ao),B(()=>{b&&(clearTimeout(b),b=void 0)}))},{immediate:!0}),t.watch([h,()=>o.clickOutsideToClose],([M,O],B,N)=>{if(!M||!O||typeof document>"u")return;const X=A=>{const Y=A.target;!Y||l.value?.contains(Y)||document.querySelector("[data-slot='chat-toggle-button']")?.contains(Y)||p()};document.addEventListener("pointerdown",X),N(()=>{document.removeEventListener("pointerdown",X)})},{immediate:!0}),t.onMounted(async()=>{await t.nextTick()}),t.onBeforeUnmount(()=>{f&&clearTimeout(f),b&&clearTimeout(b)}),(M,O)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.renderSlot(M.$slots,"toggle-button",{isOpen:h.value,toggle:m,open:v,close:p},()=>[t.createVNode(Hn)]),c.value?(t.openBlock(),t.createElementBlock("div",Km,[t.createElementVNode("div",{ref_key:"containerRef",ref:l,tabindex:"-1",role:"dialog","aria-label":d.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",S.value]),style:t.normalizeStyle(I.value)},[t.renderSlot(M.$slots,"header",{title:g.value,onClose:p,isOpen:h.value},()=>[t.createVNode(Gn,{title:g.value},null,8,["title"])]),t.createElementVNode("div",Jm,[t.createVNode(Lt,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},Z.value),t.createSlots({_:2},[t.renderList(t.unref(xt)(M.$slots,a),B=>({name:B,fn:t.withCtx(N=>[t.renderSlot(M.$slots,B,t.normalizeProps(t.guardReactiveProps(N)))])}))]),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))}}),fi=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,f)=>a("select-suggestion",u,f)};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(sn,{"is-modal-default-open":e.defaultOpen},{default:t.withCtx(()=>[t.createVNode(Qm,t.normalizeProps(t.guardReactiveProps(l.value)),t.createSlots({_:2},[t.renderList(t.unref(xt)(c.$slots),f=>({name:f,fn:t.withCtx(b=>[t.renderSlot(c.$slots,f,t.normalizeProps(t.guardReactiveProps(b)))])}))]),1040)]),_:3},8,["is-modal-default-open"]))}}),ef={"data-copilotkit":"",class:"cpk:h-full cpk:flex cpk:flex-col","data-testid":"copilot-popup-welcome-screen"},tf={class:"cpk:flex-1 cpk:flex cpk:flex-col cpk:items-center cpk:justify-center cpk:px-4"},nf={class:"cpk:text-xl cpk:sm:text-2xl cpk:font-medium cpk:text-foreground cpk:text-center"},of={class:"cpk:mb-4 cpk:flex cpk:justify-center cpk:px-4"},hi=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=Ee(),a=t.computed(()=>o.value?.labels??Fe);function r(){n.onStop?.()}function s(){n.onAddFile?.()}function i(){n.onStartTranscribe?.()}function l(){n.onCancelTranscribe?.()}function c(){n.onFinishTranscribe?.()}async function u(g){await n.onFinishTranscribeWithAudio?.(g)}const f=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})),b=t.computed(()=>({suggestions:n.suggestions,loadingIndexes:n.loadingIndexes,onSelectSuggestion:n.onSelectSuggestion})),h=t.computed(()=>({...f.value,...b.value})),d=t.computed(()=>{const g={"onUpdate:modelValue":n.onUpdateModelValue,onSubmitMessage:n.onSubmitMessage,onStop:n.onStop};return n.onAddFile&&(g.onAddFile=n.onAddFile),n.onStartTranscribe&&(g.onStartTranscribe=n.onStartTranscribe),n.onCancelTranscribe&&(g.onCancelTranscribe=n.onCancelTranscribe),n.onFinishTranscribe&&(g.onFinishTranscribe=n.onFinishTranscribe),n.onFinishTranscribeWithAudio&&(g.onFinishTranscribeWithAudio=n.onFinishTranscribeWithAudio),g});return(g,S)=>t.renderSlot(g.$slots,"layout",t.normalizeProps(t.guardReactiveProps(h.value)),()=>[t.createElementVNode("div",ef,[t.createElementVNode("div",tf,[t.renderSlot(g.$slots,"welcome-message",{},()=>[t.createElementVNode("h1",nf,t.toDisplayString(a.value.welcomeMessageText),1)])]),t.createElementVNode("div",null,[t.createElementVNode("div",of,[t.renderSlot(g.$slots,"suggestion-view",t.normalizeProps(t.guardReactiveProps(b.value)),()=>[t.createVNode(Mt,{suggestions:e.suggestions,"loading-indexes":e.loadingIndexes,onSelectSuggestion:e.onSelectSuggestion},null,8,["suggestions","loading-indexes","onSelectSuggestion"])])]),t.renderSlot(g.$slots,"input",t.normalizeProps(t.guardReactiveProps(f.value)),()=>[t.createVNode($t,t.mergeProps({"model-value":e.modelValue,"is-running":e.isRunning,mode:e.inputMode,"tools-menu":e.inputToolsMenu,positioning:"static","show-disclaimer":!0},d.value),null,16,["model-value","is-running","mode","tools-menu"])])])])])}}),af=["aria-label","aria-hidden"],rf={class:"cpk:flex cpk:h-full cpk:w-full cpk:flex-col cpk:overflow-hidden"},sf={class:"cpk:flex-1 cpk:overflow-hidden","data-sidebar-chat":""},lf=480,cf=260,uf=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=["header","toggle-button"],r=n,s=t.useAttrs(),i=Ee(),l=t.ref(null),c=t.ref(o.width??lf);let u=null;const f=t.computed(()=>i.value?.isModalOpen??!1),b=t.computed(()=>o.width??c.value),h=t.computed(()=>i.value?.labels.modalHeaderTitle??Fe.modalHeaderTitle),d=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",f.value?"cpk:translate-x-0":"cpk:translate-x-full cpk:pointer-events-none",s.class]),g=t.computed(()=>{const{class:O,...B}=s;return B}),S=t.computed(()=>({"--sidebar-width":w(b.value),paddingTop:"env(safe-area-inset-top)",paddingBottom:"env(safe-area-inset-bottom)"})),I=t.computed(()=>`
|
|
61
|
+
@media (min-width: 768px) {
|
|
62
|
+
body {
|
|
63
|
+
margin-inline-end: ${p(b.value)};
|
|
64
|
+
transition: margin-inline-end ${cf}ms ease;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
`);function w(O){return typeof O=="number"?`${O}px`:O}function p(O){return typeof O=="number"?`${O}px`:O}function v(){if(o.width!==void 0||!l.value)return;const O=l.value.getBoundingClientRect().width;O>0&&(c.value=O)}function m(){i.value?.setModalOpen?.(!1)}function C(){i.value?.setModalOpen?.(!0)}function k(){i.value?.setModalOpen?.(!f.value)}function _(O){r("submit-message",O)}function T(){r("stop")}function $(O){r("input-change",O)}function R(O,B){r("select-suggestion",O,B)}function z(){r("add-file")}function L(){r("start-transcribe")}function j(){r("cancel-transcribe")}function Z(){r("finish-transcribe")}const M=t.computed(()=>{const O={onSubmitMessage:_,onInputChange:$,onSelectSuggestion:R};return o.onStop&&(O.onStop=T),o.onAddFile&&(O.onAddFile=z),o.onStartTranscribe&&(O.onStartTranscribe=L),o.onCancelTranscribe&&(O.onCancelTranscribe=j),o.onFinishTranscribe&&(O.onFinishTranscribe=Z),O});return t.watch(()=>o.width,O=>{if(O!==void 0){c.value=O;return}v()}),t.onMounted(async()=>{await t.nextTick(),v(),!(o.width!==void 0||!l.value||typeof ResizeObserver>"u")&&(u=new ResizeObserver(()=>{v()}),u.observe(l.value))}),t.onBeforeUnmount(()=>{u?.disconnect(),u=null}),(O,B)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[f.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent("style"),{key:0},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(I.value),1)]),_:1})):t.createCommentVNode("",!0),t.renderSlot(O.$slots,"toggle-button",{isOpen:f.value,toggle:k,open:C,close:m},()=>[t.createVNode(Hn)]),t.createElementVNode("aside",t.mergeProps({ref_key:"sidebarRef",ref:l,"data-copilotkit":"","data-copilot-sidebar":"",class:d.value,style:S.value,"aria-label":t.unref(i)?.labels.sidebarLabel??t.unref(Fe).sidebarLabel,"aria-hidden":!f.value,role:"complementary"},g.value),[t.createElementVNode("div",rf,[t.renderSlot(O.$slots,"header",{title:h.value,onClose:m,isOpen:f.value},()=>[t.createVNode(Gn,{title:h.value},null,8,["title"])]),t.createElementVNode("div",sf,[t.createVNode(Lt,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},M.value),t.createSlots({_:2},[t.renderList(t.unref(xt)(O.$slots,a),N=>({name:N,fn:t.withCtx(X=>[t.renderSlot(O.$slots,N,t.normalizeProps(t.guardReactiveProps(X)))])}))]),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,af)],64))}}),gi=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,f)=>a("select-suggestion",u,f)};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(sn,{"is-modal-default-open":e.defaultOpen},{default:t.withCtx(()=>[t.createVNode(uf,t.normalizeProps(t.guardReactiveProps(i.value)),t.createSlots({_:2},[t.renderList(t.unref(xt)(c.$slots),f=>({name:f,fn:t.withCtx(b=>[t.renderSlot(c.$slots,f,t.normalizeProps(t.guardReactiveProps(b)))])}))]),1040)]),_:3},8,["is-modal-default-open"]))}}),df={"data-copilotkit":"",class:"cpk:h-full cpk:flex cpk:flex-col","data-testid":"copilot-sidebar-welcome-screen"},pf={class:"cpk:flex-1 cpk:flex cpk:flex-col cpk:items-center cpk:justify-center cpk:px-4"},mf={class:"cpk:text-xl cpk:sm:text-2xl cpk:font-medium cpk:text-foreground cpk:text-center"},ff={class:"cpk:px-8 cpk:pb-4"},hf={class:"cpk:max-w-3xl cpk:mx-auto"},gf={class:"cpk:mb-4 cpk:flex cpk:justify-center"},vi=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=Ee(),a=t.computed(()=>o.value?.labels??Fe);function r(){n.onStop?.()}function s(){n.onAddFile?.()}function i(){n.onStartTranscribe?.()}function l(){n.onCancelTranscribe?.()}function c(){n.onFinishTranscribe?.()}async function u(g){await n.onFinishTranscribeWithAudio?.(g)}const f=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})),b=t.computed(()=>({suggestions:n.suggestions,loadingIndexes:n.loadingIndexes,onSelectSuggestion:n.onSelectSuggestion})),h=t.computed(()=>({...f.value,...b.value})),d=t.computed(()=>{const g={"onUpdate:modelValue":n.onUpdateModelValue,onSubmitMessage:n.onSubmitMessage,onStop:n.onStop};return n.onAddFile&&(g.onAddFile=n.onAddFile),n.onStartTranscribe&&(g.onStartTranscribe=n.onStartTranscribe),n.onCancelTranscribe&&(g.onCancelTranscribe=n.onCancelTranscribe),n.onFinishTranscribe&&(g.onFinishTranscribe=n.onFinishTranscribe),n.onFinishTranscribeWithAudio&&(g.onFinishTranscribeWithAudio=n.onFinishTranscribeWithAudio),g});return(g,S)=>t.renderSlot(g.$slots,"layout",t.normalizeProps(t.guardReactiveProps(h.value)),()=>[t.createElementVNode("div",df,[t.createElementVNode("div",pf,[t.renderSlot(g.$slots,"welcome-message",{},()=>[t.createElementVNode("h1",mf,t.toDisplayString(a.value.welcomeMessageText),1)])]),t.createElementVNode("div",ff,[t.createElementVNode("div",hf,[t.createElementVNode("div",gf,[t.renderSlot(g.$slots,"suggestion-view",t.normalizeProps(t.guardReactiveProps(b.value)),()=>[t.createVNode(Mt,{suggestions:e.suggestions,"loading-indexes":e.loadingIndexes,onSelectSuggestion:e.onSelectSuggestion},null,8,["suggestions","loading-indexes","onSelectSuggestion"])])]),t.renderSlot(g.$slots,"input",t.normalizeProps(t.guardReactiveProps(f.value)),()=>[t.createVNode($t,t.mergeProps({"model-value":e.modelValue,"is-running":e.isRunning,mode:e.inputMode,"tools-menu":e.inputToolsMenu,positioning:"static","show-disclaimer":!0},d.value),null,16,["model-value","is-running","mode","tools-menu"])])])])])])}}),vf=t.defineComponent({__name:"CopilotPopup",props:{width:{default:void 0},height:{default:void 0},clickOutsideToClose:{type:Boolean,default:!1},defaultOpen:{type:Boolean,default:!0},inputMode:{default:"input"},agentId:{},threadId:{},throttleMs:{},labels:{},attachments:{},onError:{},autoScroll:{type:[String,Boolean],default:!0},welcomeScreen:{type:Boolean,default:!0},inputValue:{default:void 0},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(i){return{onSubmitMessage:i.onSubmitMessage,onInputChange:i.onInputChange,onSelectSuggestion:i.onSelectSuggestion,...i.canStop?{onStop:i.onStop}:{},...i.canAddFile?{onAddFile:i.onAddFile}:{},...i.canTranscribe?{onStartTranscribe:i.onStartTranscribe,onCancelTranscribe:i.onCancelTranscribe,onFinishTranscribe:i.onFinishTranscribe}:{}}}const o=e,a=["chat-view","welcome-screen","welcome-message"],r=Dt(),s=t.computed(()=>r.value.checkFeature("popup"));return t.watch(s,i=>{i||console.warn('[CopilotKit] Warning: "popup" feature is not licensed. Visit copilotkit.ai/pricing')},{immediate:!0}),(i,l)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[s.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(Un,{key:0,"feature-name":"Popup"})),t.createVNode(Pn,t.mergeProps(o,{onSubmitMessage:l[0]||(l[0]=c=>i.$emit("submit-message",c)),onStop:l[1]||(l[1]=c=>i.$emit("stop")),onInputChange:l[2]||(l[2]=c=>i.$emit("input-change",c)),onSelectSuggestion:l[3]||(l[3]=(c,u)=>i.$emit("select-suggestion",c,u)),onAddFile:l[4]||(l[4]=c=>i.$emit("add-file")),onStartTranscribe:l[5]||(l[5]=c=>i.$emit("start-transcribe")),onCancelTranscribe:l[6]||(l[6]=c=>i.$emit("cancel-transcribe")),onFinishTranscribe:l[7]||(l[7]=c=>i.$emit("finish-transcribe"))}),{"chat-view":t.withCtx(c=>[i.$slots["chat-view"]?t.renderSlot(i.$slots,"chat-view",t.normalizeProps(t.mergeProps({key:0},c))):(t.openBlock(),t.createBlock(fi,t.mergeProps({key:1,messages:c.messages,"auto-scroll":c.autoScroll,"is-running":c.isRunning,suggestions:c.suggestions,"suggestion-loading-indexes":c.suggestionLoadingIndexes,"welcome-screen":c.welcomeScreen,"input-value":c.inputValue,"input-mode":c.inputMode,"input-tools-menu":c.inputToolsMenu,width:e.width,height:e.height,"click-outside-to-close":e.clickOutsideToClose,"default-open":e.defaultOpen,"on-finish-transcribe-with-audio":c.onFinishTranscribeWithAudio},n(c)),t.createSlots({"welcome-screen":t.withCtx(u=>[i.$slots["welcome-screen"]?t.renderSlot(i.$slots,"welcome-screen",t.normalizeProps(t.mergeProps({key:0},u))):(t.openBlock(),t.createBlock(hi,t.normalizeProps(t.mergeProps({key:1},u)),t.createSlots({_:2},[i.$slots["welcome-message"]?{name:"welcome-message",fn:t.withCtx(()=>[t.renderSlot(i.$slots,"welcome-message")]),key:"0"}:void 0,i.$slots["suggestion-view"]?{name:"suggestion-view",fn:t.withCtx(f=>[t.renderSlot(i.$slots,"suggestion-view",t.normalizeProps(t.guardReactiveProps(f)))]),key:"1"}:void 0,i.$slots.input?{name:"input",fn:t.withCtx(f=>[t.renderSlot(i.$slots,"input",t.normalizeProps(t.guardReactiveProps(f)))]),key:"2"}:void 0]),1040))]),_:2},[t.renderList(t.unref(xt)(i.$slots,a),u=>({name:u,fn:t.withCtx(f=>[t.renderSlot(i.$slots,u,t.normalizeProps(t.guardReactiveProps(f)))])}))]),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))}}),bf=t.defineComponent({__name:"CopilotSidebar",props:{width:{default:void 0},defaultOpen:{type:Boolean,default:!0},inputMode:{default:"input"},agentId:{},threadId:{},throttleMs:{},labels:{},attachments:{},onError:{},autoScroll:{type:[String,Boolean],default:!0},welcomeScreen:{type:Boolean,default:!0},inputValue:{default:void 0},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(i){return{onSubmitMessage:i.onSubmitMessage,onInputChange:i.onInputChange,onSelectSuggestion:i.onSelectSuggestion,...i.canStop?{onStop:i.onStop}:{},...i.canAddFile?{onAddFile:i.onAddFile}:{},...i.canTranscribe?{onStartTranscribe:i.onStartTranscribe,onCancelTranscribe:i.onCancelTranscribe,onFinishTranscribe:i.onFinishTranscribe}:{}}}const o=e,a=["chat-view","welcome-screen","welcome-message"],r=Dt(),s=t.computed(()=>r.value.checkFeature("sidebar"));return t.watch(s,i=>{i||console.warn('[CopilotKit] Warning: "sidebar" feature is not licensed. Visit copilotkit.ai/pricing')},{immediate:!0}),(i,l)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[s.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(Un,{key:0,"feature-name":"Sidebar"})),t.createVNode(Pn,t.mergeProps(o,{onSubmitMessage:l[0]||(l[0]=c=>i.$emit("submit-message",c)),onStop:l[1]||(l[1]=c=>i.$emit("stop")),onInputChange:l[2]||(l[2]=c=>i.$emit("input-change",c)),onSelectSuggestion:l[3]||(l[3]=(c,u)=>i.$emit("select-suggestion",c,u)),onAddFile:l[4]||(l[4]=c=>i.$emit("add-file")),onStartTranscribe:l[5]||(l[5]=c=>i.$emit("start-transcribe")),onCancelTranscribe:l[6]||(l[6]=c=>i.$emit("cancel-transcribe")),onFinishTranscribe:l[7]||(l[7]=c=>i.$emit("finish-transcribe"))}),{"chat-view":t.withCtx(c=>[i.$slots["chat-view"]?t.renderSlot(i.$slots,"chat-view",t.normalizeProps(t.mergeProps({key:0},c))):(t.openBlock(),t.createBlock(gi,t.mergeProps({key:1,messages:c.messages,"auto-scroll":c.autoScroll,"is-running":c.isRunning,suggestions:c.suggestions,"suggestion-loading-indexes":c.suggestionLoadingIndexes,"welcome-screen":c.welcomeScreen,"input-value":c.inputValue,"input-mode":c.inputMode,"input-tools-menu":c.inputToolsMenu,width:e.width,"default-open":e.defaultOpen,"on-finish-transcribe-with-audio":c.onFinishTranscribeWithAudio},n(c)),t.createSlots({"welcome-screen":t.withCtx(u=>[i.$slots["welcome-screen"]?t.renderSlot(i.$slots,"welcome-screen",t.normalizeProps(t.mergeProps({key:0},u))):(t.openBlock(),t.createBlock(vi,t.normalizeProps(t.mergeProps({key:1},u)),t.createSlots({_:2},[i.$slots["welcome-message"]?{name:"welcome-message",fn:t.withCtx(()=>[t.renderSlot(i.$slots,"welcome-message")]),key:"0"}:void 0,i.$slots["suggestion-view"]?{name:"suggestion-view",fn:t.withCtx(f=>[t.renderSlot(i.$slots,"suggestion-view",t.normalizeProps(t.guardReactiveProps(f)))]),key:"1"}:void 0,i.$slots.input?{name:"input",fn:t.withCtx(f=>[t.renderSlot(i.$slots,"input",t.normalizeProps(t.guardReactiveProps(f)))]),key:"2"}:void 0]),1040))]),_:2},[t.renderList(t.unref(xt)(i.$slots,a),u=>({name:u,fn:t.withCtx(f=>[t.renderSlot(i.$slots,u,t.normalizeProps(t.guardReactiveProps(f)))])}))]),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))}}),kf=Object.assign(Pn,{View:Lt}),yf=Object.assign(Hn,{OpenIcon:Zn,CloseIcon:jn}),Sf=Object.assign(Gn,{Title:mi,CloseButton:pi}),wf=Object.assign(fi,{WelcomeScreen:hi}),Cf=Object.assign(gi,{WelcomeScreen:vi});function Tf(e){const{copilotkit:n}=De(),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 xf=[];function Wn(e,n){const{copilotkit:o}=De(),a=n??xf;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 If(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}
|
|
68
|
+
|
|
69
|
+
${e.description}`:o;Wn({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 Ef=[];function bi(e,n){const{copilotkit:o}=De(),a=n??Ef;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?Yt({name:"*",render:i=>r({...i,parameters:i.args}),...e.agentId?{agentId:e.agentId}:{}}):Yt({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 Ro=new Set;function _f(e){switch(e){case ie.ToolCallStatus.Complete:return"complete";case ie.ToolCallStatus.Executing:return"executing";case ie.ToolCallStatus.InProgress:return"inProgress";default:{const n=String(e);return Ro.has(n)||(Ro.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:_f(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 Af=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":Mo(e.parameters),"data-result":Mo(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 Mo(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 Rf(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(Af,{name:s.name,toolCallId:s.toolCallId,parameters:s.parameters,status:s.status,result:s.result})});bi({name:"*",render:a},n)}function $f(e,n){const{copilotkit:o}=De(),a=t.ref(null),r=t.ref(null),s=t.ref(null),i=async f=>{a.value&&(s.value?.(),s.value=null,a.value(f),a.value=null,r.value=null)},u={...e,type:"human-in-the-loop",handler:async(f,b)=>{const h=b?.signal;return new Promise((d,g)=>{if(h?.aborted){g(new Error("Human-in-the-loop interaction aborted"));return}if(a.value=d,r.value=g,h){const S=()=>{s.value=null,a.value=null;const I=r.value;r.value=null,I?.(new Error("Human-in-the-loop interaction aborted"))};h.addEventListener("abort",S,{once:!0}),s.value=()=>{h.removeEventListener("abort",S)}}})},render:f=>{const b=e.render;return f.status===ie.ToolCallStatus.InProgress?t.h(b,{...f,name:e.name,description:e.description||"",agentId:e.agentId,respond:void 0}):f.status===ie.ToolCallStatus.Executing?t.h(b,{...f,name:e.name,description:e.description||"",agentId:e.agentId,respond:i}):f.status===ie.ToolCallStatus.Complete?t.h(b,{...f,name:e.name,description:e.description||"",agentId:e.agentId,respond:void 0}):f}};Wn(u,n),t.onScopeDispose(()=>{o.value.removeHookRenderToolCall(e.name,e.agentId)})}function Mf(e){return"instructions"in e}function Nf(e){return e.map(n=>({...n,isLoading:n.isLoading??!1}))}function Of(e,n){const{copilotkit:o}=De(),a=Ee(),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(Mf(e))return{...e};const I=Nf(e.suggestions);return{...e,suggestions:I}}),c=t.computed(()=>l.value?JSON.stringify(l.value):null),u=t.computed(()=>{if(!l.value)return s.value;const I=l.value.consumerAgentId;return!I||I==="*"?s.value:I}),f=t.computed(()=>i.value===void 0||i.value==="*"),b=t.ref(!1),h=t.ref(null),d=t.ref(null),g=()=>{if(!b.value||!f.value)return;if(Object.values(o.value.agents??{}).some(w=>!!w.agentId&&w.isRunning)){h.value=setTimeout(()=>{h.value=null,g()},0);return}b.value=!1,S()},S=()=>{if(l.value){if(f.value){let I=!1;const w=Object.values(o.value.agents??{});for(const p of w){const v=p.agentId;v&&(p.isRunning?I=!0:o.value.reloadSuggestions(v))}b.value=I,I&&h.value===null&&(h.value=setTimeout(()=>{h.value=null,g()},0));return}u.value&&o.value.reloadSuggestions(u.value)}};t.watch([()=>o.value,c],([I,w],p,v)=>{if(!w||!l.value)return;const m=o.value,C=l.value,k=m.addSuggestionsConfig(C);S(),v(()=>m.removeSuggestionsConfig(k))},{immediate:!0}),t.watch([l,c],([I,w])=>{if(!I){d.value=null;return}w&&d.value===w||(w&&(d.value=w),S())},{immediate:!1}),t.watch([l,()=>r.length,...r],([I])=>{!I||r.length===0||S()},{immediate:!0}),t.watch([()=>o.value,b],(I,w,p)=>{p(()=>{h.value!==null&&(clearTimeout(h.value),h.value=null)})},{immediate:!0}),t.watch([()=>o.value,f],([I,w],p,v)=>{if(!w)return;const m=Object.values(I.agents??{}).filter(C=>!!C).map(C=>C.subscribe({onRunStartedEvent:g,onRunFinishedEvent:g,onRunFinalized:g,onRunFailed:g,onRunErrorEvent:g}));v(()=>{for(const C of m)C.unsubscribe()})},{immediate:!0})}const ki="on_interrupt";function Bf(e){return(typeof e=="object"||typeof e=="function")&&e!==null&&typeof Reflect.get(e,"then")=="function"}function zf(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:ki,value:e.interrupts[0]}}function Ff(e={}){const{copilotkit:n}=De(),{agent:o}=ln({agentId:e.agentId}),a=t.shallowRef(null),r=t.shallowRef(null),s={};t.watch(o,(d,g,S)=>{if(!d){a.value=null,r.value=null;return}let I=null,w=null;const p=d.subscribe({onCustomEvent:({event:v})=>{v.name===ki&&(I={name:v.name,value:v.value})},onRunFinishedEvent:v=>{v.outcome==="interrupt"&&(w=v.interrupts)},onRunStartedEvent:()=>{I=null,w=null;for(const v of Object.keys(s))delete s[v];a.value=null},onRunFinalized:()=>{w&&w.length>0?a.value={kind:"standard",interrupts:w}:I&&(a.value={kind:"legacy",event:I}),I=null,w=null},onRunFailed:()=>{I=null,w=null;for(const v of Object.keys(s))delete s[v];a.value=null}});S(()=>p.unsubscribe())},{immediate:!0});const i=async d=>{if(!d.every(p=>s[p.id]))return;const S=d.find(p=>qt.isInterruptExpired(p));if(S){console.error(`[CopilotKit] useInterrupt: interrupt ${S.id} expired at ${S.expiresAt}; not resuming.`);for(const p of Object.keys(s))delete s[p];a.value=null;return}const I=qt.buildResumeArray(d,s);for(const p of Object.keys(s))delete s[p];const w=o.value;if(w)try{return await n.value.runAgent({agent:w,resume:I})}catch(p){throw console.error("[CopilotKit] useInterrupt resolve: runAgent rejected; clearing pending + rethrowing",p),a.value=null,p}},l=async(d,g)=>{const S=a.value;if(!S)return;const I=o.value;if(!I)return;if(S.kind==="legacy"){const p=S.event.value;try{return await n.value.runAgent({agent:I,forwardedProps:{command:{resume:d,interruptEvent:p}}})}catch(v){throw console.error("[CopilotKit] useInterrupt resolve: runAgent rejected; clearing pending + rethrowing",v),a.value=null,v}}S.interrupts.length>1&&g===void 0&&console.warn(`[CopilotKit] useInterrupt: resolve()/cancel() called without an interruptId while ${S.interrupts.length} interrupts are open; defaulting to the first. Pass an interruptId to address a specific interrupt.`);const w=g??S.interrupts[0]?.id;if(w)return s[w]={status:"resolved",payload:d},i(S.interrupts)},c=async d=>{const g=a.value;if(!g)return;if(g.kind==="legacy"){console.warn("[CopilotKit] useInterrupt: cancel() is not supported for legacy on_interrupt interrupts; dismissing."),a.value=null;return}g.interrupts.length>1&&d===void 0&&console.warn(`[CopilotKit] useInterrupt: resolve()/cancel() called without an interruptId while ${g.interrupts.length} interrupts are open; defaulting to the first. Pass an interruptId to address a specific interrupt.`);const S=d??g.interrupts[0]?.id;if(S)return s[S]={status:"cancelled"},i(g.interrupts)},u=l,f=c;t.watch(a,(d,g,S)=>{if(!d){r.value=null;return}const I=mn(d);if(e.enabled&&!e.enabled(I)){r.value=null;return}const w=e.handler;if(!w){r.value=null;return}let p=!1;const v=w({event:I,interrupt:d.kind==="standard"?d.interrupts[0]??null:null,interrupts:d.kind==="standard"?d.interrupts:[],resolve:l,cancel:c});Bf(v)?zf(v).then(m=>{p||(r.value=m)}).catch(m=>{p||(console.error("[CopilotKit] useInterrupt handler failed:",m),r.value=null)}):r.value=v,S(()=>{p=!0})},{immediate:!0});const b=t.computed(()=>a.value?mn(a.value):null),h=t.computed(()=>{const d=a.value;if(!d)return null;const g=mn(d);return e.enabled&&!e.enabled(g)?null:{event:g,interrupt:d.kind==="standard"?d.interrupts[0]??null:null,interrupts:d.kind==="standard"?d.interrupts:[],result:r.value,resolve:l,cancel:c}});return t.watch([()=>n.value,h,()=>e.renderInChat!==!1],([d,g,S],I,w)=>{if(!S)return;d.setInterruptState(g);const p=g;w(()=>{d.interruptState===p&&d.setInterruptState(null)})},{immediate:!0}),t.onScopeDispose(()=>{const d=n.value;e.renderInChat!==!1&&d.interruptState===h.value&&d.setInterruptState(null)}),{interrupt:b,result:r,hasInterrupt:t.computed(()=>h.value!==null),resolve:l,resolveInterrupt:u,cancel:c,cancelInterrupt:f,slotProps:h}}function Df(e){const{agent:n}=ln({agentId:e});return t.computed(()=>{const o=n.value;if(o&&"capabilities"in o)return o.capabilities})}function Lf(){const{copilotkit:e}=De(),n=Ee();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(C=>C.agentId===void 0||C.agentId===s).sort((C,k)=>{const _=C.agentId!==void 0,T=k.agentId!==void 0;return _===T?0:_?-1:1});if(!c.length)return null;const{message:u,position:f}=a,b=l.getRunIdForMessage(s,i,u.id)??l.getRunIdsForThread(s,i).slice(-1)[0],h=b??`missing-run-id:${u.id}`,d=l.getAgent(s);if(!d)return null;const g=b?d.messages.filter(C=>l.getRunIdForMessage(s,i,C.id)===b).map(C=>C.id):[u.id],S=d.messages.findIndex(C=>C.id===u.id);S<0&&console.warn(`[CopilotKit] useRenderCustomMessages: message "${u.id}" not found in agent "${s}" messages`);const I=Math.max(0,S),w=b?Math.max(g.indexOf(u.id),0):0,p=b?g.length:1,v=b?l.getStateByRun(s,i,b):void 0,m={message:u,position:f,runId:h,messageIndex:I,messageIndexInRun:w,numberOfMessagesInRun:p,agentId:s,stateSnapshot:v};for(const C of c)if(C.render)return{renderer:C.render,props:m};return null}}function Vf(){const{copilotkit:e}=De(),n=Ee(),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=Nu;exports.A2UISurfaceActivityType=Mu;exports.ActivityDeltaEventSchema=Pa;exports.ActivityMessageSchema=Da;exports.ActivitySnapshotEventSchema=Ua;exports.AddOperationSchema=Ca;exports.AgentCapabilitiesSchema=xu;exports.AssistantMessageSchema=Ba;exports.AttributableSchema=Iu;exports.AudioPartSchema=ba;exports.BaseEventSchema=Eu;exports.BaseMessageSchema=_u;exports.ContentPartSchema=on;exports.ContextSchema=Ha;exports.CopilotChat=kf;exports.CopilotChatDefaultLabels=Fe;exports.CopilotChatToggleButton=yf;exports.CopilotChatToggleButtonCloseIcon=jn;exports.CopilotChatToggleButtonOpenIcon=Zn;exports.CopilotKitCoreVue=Or;exports.CopilotModalHeader=Sf;exports.CopilotPopupView=wf;exports.CopilotSidebarView=Cf;exports.CopyOperationSchema=Ea;exports.CustomEventSchema=Za;exports.DataSourceSchema=fa;exports.DeveloperMessageSchema=$a;exports.DocumentPartSchema=ya;exports.EventSchema=Cu;exports.EventTypeSchema=aa;exports.ExecutionCapabilitiesSchema=Ar;exports.FileSourceSchema=ga;exports.FunctionCallSchema=Na;exports.GenerateSandboxedUiArgsSchema=Pr;exports.HumanInTheLoopCapabilitiesSchema=Rr;exports.IdentityCapabilitiesSchema=kr;exports.ImagePartSchema=va;exports.InterruptSchema=Ja;exports.JsonPatchOperationSchema=Aa;exports.JsonPatchSchema=Nn;exports.JsonPointerSchema=lt;exports.LicenseContextKey=Ln;exports.MCPAppsActivityRenderer=kn;exports.MessageSchema=On;exports.MessagesSnapshotEventSchema=Va;exports.MetadataSchema=ne;exports.MoveOperationSchema=Ia;exports.MultiAgentCapabilitiesSchema=Tr;exports.MultimodalCapabilitiesSchema=_r;exports.MultimodalInputCapabilitiesSchema=Ir;exports.MultimodalOutputCapabilitiesSchema=Er;exports.OpenGenerativeUIActivityRenderer=Zr;exports.OpenGenerativeUIActivityType=Vr;exports.OpenGenerativeUIContentSchema=Ur;exports.OpenGenerativeUIRenderer=jr;exports.OpenGenerativeUIToolRenderer=Hr;exports.OptionalMetadataSchema=Au;exports.OutputCapabilitiesSchema=wr;exports.PartSourceSchema=zt;exports.RawEventSchema=ja;exports.ReasoningCapabilitiesSchema=xr;exports.ReasoningEncryptedValueEventSchema=dr;exports.ReasoningEncryptedValueSubtypeSchema=ur;exports.ReasoningEndEventSchema=cr;exports.ReasoningMessageChunkEventSchema=lr;exports.ReasoningMessageContentEventSchema=ir;exports.ReasoningMessageEndEventSchema=sr;exports.ReasoningMessageSchema=La;exports.ReasoningMessageStartEventSchema=rr;exports.ReasoningStartEventSchema=ar;exports.RemoveOperationSchema=Ta;exports.ReplaceOperationSchema=xa;exports.ResumeEntrySchema=Ga;exports.RoleSchema=Tu;exports.RunAgentInputSchema=Wa;exports.RunErrorEventSchema=tr;exports.RunFinishedCancelledOutcomeSchema=Ya;exports.RunFinishedEventSchema=er;exports.RunFinishedInterruptOutcomeSchema=Xa;exports.RunFinishedOutcomeSchema=Qa;exports.RunFinishedSuccessOutcomeSchema=qa;exports.RunStartedEventSchema=Ka;exports.StateCapabilitiesSchema=Cr;exports.StateDeltaEventSchema=Ra;exports.StateSchema=Mn;exports.StateSnapshotEventSchema=wa;exports.StepFinishedEventSchema=or;exports.StepStartedEventSchema=nr;exports.SubagentErrorEventSchema=vr;exports.SubagentFinishedEventSchema=gr;exports.SubagentFinishedOutcomeSchema=hr;exports.SubagentFinishedSuccessOutcomeSchema=mr;exports.SubagentFinishedSuspendedOutcomeSchema=fr;exports.SubagentInfoSchema=br;exports.SubagentRunIdSchema=ce;exports.SubagentStartedEventSchema=pr;exports.SystemMessageSchema=Ma;exports.TestOperationSchema=_a;exports.TextMessageChunkEventSchema=la;exports.TextMessageContentEventSchema=ia;exports.TextMessageEndEventSchema=sa;exports.TextMessageRoleSchema=$n;exports.TextMessageStartEventSchema=ra;exports.TextPartSchema=ma;exports.TokenUsageSchema=zn;exports.ToolCallArgsEventSchema=ua;exports.ToolCallChunkEventSchema=pa;exports.ToolCallEndEventSchema=da;exports.ToolCallResultEventSchema=Sa;exports.ToolCallSchema=Oa;exports.ToolCallStartEventSchema=ca;exports.ToolMessageSchema=Fa;exports.ToolSchema=Bn;exports.ToolsCapabilitiesSchema=Sr;exports.TransportCapabilitiesSchema=yr;exports.UrlSourceSchema=ha;exports.UseAgentUpdate=ni;exports.UserMessageSchema=za;exports.VideoPartSchema=ka;exports._sfc_main=Jr;exports._sfc_main$1=ei;exports._sfc_main$10=Mt;exports._sfc_main$11=Yr;exports._sfc_main$12=li;exports._sfc_main$13=Lt;exports._sfc_main$14=$r;exports._sfc_main$15=Cd;exports._sfc_main$16=vf;exports._sfc_main$17=bf;exports._sfc_main$18=Vm;exports._sfc_main$2=wn;exports._sfc_main$3=Dm;exports._sfc_main$4=ti;exports._sfc_main$5=sn;exports._sfc_main$6=$t;exports._sfc_main$7=ci;exports._sfc_main$8=si;exports._sfc_main$9=ui;exports.createA2UIMessageRenderer=Br;exports.createDefaultLicenseRef=Gr;exports.defineToolCallRenderer=Yt;exports.extractCompleteStyles=Fr;exports.getOperationSurfaceId=yn;exports.processPartialHtml=Dr;exports.useAgent=ln;exports.useAgentContext=Tf;exports.useAttachments=ai;exports.useCapabilities=Df;exports.useComponent=If;exports.useConfigureSuggestions=Of;exports.useCopilotChatConfiguration=Ee;exports.useCopilotKit=De;exports.useDefaultRenderTool=Rf;exports.useFrontendTool=Wn;exports.useHumanInTheLoop=$f;exports.useInterrupt=Ff;exports.useKatexStyles=Qr;exports.useKeyboardHeight=ri;exports.useLicenseContext=Dt;exports.useRenderActivityMessage=Vf;exports.useRenderCustomMessages=Lf;exports.useRenderTool=bi;exports.useSandboxFunctions=Lr;exports.useSuggestions=oi;exports.useThreads=di;exports.vueBasicCatalog=Ct;
|
|
70
|
+
//# sourceMappingURL=use-render-activity-message--gNfCK8I.cjs.map
|