@opencx/widget-react-headless 5.0.0-beta.2 → 5.0.0-beta.4

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.
Files changed (33) hide show
  1. package/README.md +44 -0
  2. package/dist/index.cjs +17 -17
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.js +1725 -1707
  5. package/dist/index.js.map +1 -1
  6. package/dist/package.json.d.ts +1 -1
  7. package/dist/src/ConversationWorkspace.d.ts +3 -2
  8. package/dist/src/ConversationWorkspace.d.ts.map +1 -1
  9. package/dist/src/WidgetProvider.d.ts.map +1 -1
  10. package/dist/src/agent-chat/AgentChatContext.d.ts.map +1 -1
  11. package/dist/src/agent-chat/__tests__/activity-protocol.spec.d.ts +2 -0
  12. package/dist/src/agent-chat/__tests__/activity-protocol.spec.d.ts.map +1 -0
  13. package/dist/src/agent-chat/__tests__/apply-presentation.spec.d.ts +2 -0
  14. package/dist/src/agent-chat/__tests__/apply-presentation.spec.d.ts.map +1 -0
  15. package/dist/src/agent-chat/__tests__/use-agent-chat.follow-up.spec.d.ts +2 -0
  16. package/dist/src/agent-chat/__tests__/use-agent-chat.follow-up.spec.d.ts.map +1 -0
  17. package/dist/src/agent-chat/agent-chat-stream.d.ts.map +1 -1
  18. package/dist/src/agent-chat/agent-turn-sources.d.ts +3 -1
  19. package/dist/src/agent-chat/agent-turn-sources.d.ts.map +1 -1
  20. package/dist/src/agent-chat/apply-presentation.d.ts +5 -0
  21. package/dist/src/agent-chat/apply-presentation.d.ts.map +1 -0
  22. package/dist/src/agent-chat/useAgentChat.d.ts +3 -10
  23. package/dist/src/agent-chat/useAgentChat.d.ts.map +1 -1
  24. package/dist/src/hooks/useIsAwaitingBotReply.d.ts.map +1 -1
  25. package/dist/src/hooks/useMessages.d.ts +1 -0
  26. package/dist/src/hooks/useMessages.d.ts.map +1 -1
  27. package/dist/src/index.d.ts +1 -0
  28. package/dist/src/index.d.ts.map +1 -1
  29. package/package.json +2 -2
  30. package/dist/src/agent-chat/__tests__/use-agent-chat.steer.spec.d.ts +0 -2
  31. package/dist/src/agent-chat/__tests__/use-agent-chat.steer.spec.d.ts.map +0 -1
  32. package/dist/src/agent-chat/steer-into-live-turn.d.ts +0 -35
  33. package/dist/src/agent-chat/steer-into-live-turn.d.ts.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,24 +1,24 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),N=require("@opencx/widget-core"),i=require("zod/v4"),_=require("zod/v3");require("react/jsx-runtime");const U=require("zod");function Tr(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const ft=Tr(i),Ir="5.0.0-beta.2";function k(e){return f.useSyncExternalStore(e.subscribe,e.get,e.get)}function wr({turnSources:e,liveItems:t,isStreaming:r,lastMessageIsFromUser:a}){var o;if(r||a)return null;const s=t.length>0?t:(o=e.at(-1))==null?void 0:o.items;return s?xr(s):null}function xr(e){for(let t=e.length-1;t>=0;t--){const r=e[t];if((r==null?void 0:r.kind)==="questions")return r.request}return null}var Dt="vercel.ai.error",_r=Symbol.for(Dt),mt,gt,Q=class Ft extends(gt=Error,mt=_r,gt){constructor({name:t,message:r,cause:a}){super(r),this[mt]=!0,this.name=t,this.cause=a}static isInstance(t){return Ft.hasMarker(t,Dt)}static hasMarker(t,r){const a=Symbol.for(r);return t!=null&&typeof t=="object"&&a in t&&typeof t[a]=="boolean"&&t[a]===!0}};function kt(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.toString():JSON.stringify(e)}var Lt="AI_InvalidArgumentError",Zt=`vercel.ai.error.${Lt}`,Mr=Symbol.for(Zt),ht,vt,Ar=class extends(vt=Q,ht=Mr,vt){constructor({message:e,cause:t,argument:r}){super({name:Lt,message:e,cause:t}),this[ht]=!0,this.argument=r}static isInstance(e){return Q.hasMarker(e,Zt)}},$t="AI_JSONParseError",Ut=`vercel.ai.error.${$t}`,Pr=Symbol.for(Ut),yt,bt,St=class extends(bt=Q,yt=Pr,bt){constructor({text:e,cause:t}){super({name:$t,message:`JSON parsing failed: Text: ${e}.
2
- Error message: ${kt(t)}`,cause:t}),this[yt]=!0,this.text=e}static isInstance(e){return Q.hasMarker(e,Ut)}},qt="AI_TypeValidationError",Wt=`vercel.ai.error.${qt}`,Rr=Symbol.for(Wt),Ct,Et,ye=class Be extends(Et=Q,Ct=Rr,Et){constructor({value:t,cause:r,context:a}){let s="Type validation failed";if(a!=null&&a.field&&(s+=` for ${a.field}`),a!=null&&a.entityName||a!=null&&a.entityId){s+=" (";const o=[];a.entityName&&o.push(a.entityName),a.entityId&&o.push(`id: "${a.entityId}"`),s+=o.join(", "),s+=")"}super({name:qt,message:`${s}: Value: ${JSON.stringify(t)}.
3
- Error message: ${kt(r)}`,cause:r}),this[Ct]=!0,this.value=t,this.context=a}static isInstance(t){return Q.hasMarker(t,Wt)}static wrap({value:t,cause:r,context:a}){var s,o,l;return Be.isInstance(r)&&r.value===t&&((s=r.context)==null?void 0:s.field)===(a==null?void 0:a.field)&&((o=r.context)==null?void 0:o.entityName)===(a==null?void 0:a.entityName)&&((l=r.context)==null?void 0:l.entityId)===(a==null?void 0:a.entityId)?r:new Be({value:t,cause:r,context:a})}};class $e extends Error{constructor(t,r){super(t),this.name="ParseError",this.type=r.type,this.field=r.field,this.value=r.value,this.line=r.line}}const zt=10,Or=13,oe=32;function Ue(e){}function Nr(e){if(typeof e=="function")throw new TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");const{onEvent:t=Ue,onError:r=Ue,onRetry:a=Ue,onComment:s,maxBufferSize:o}=e,l=[];let n=0,m=!0,u,c="",p=0,y,b=!1;function A(g){if(b)throw new Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(m&&(m=!1,g.charCodeAt(0)===239&&g.charCodeAt(1)===187&&g.charCodeAt(2)===191&&(g=g.slice(3))),l.length===0){const v=E(g);v!==""&&(l.push(v),n=v.length),w();return}if(g.indexOf(`
4
- `)===-1&&g.indexOf("\r")===-1){l.push(g),n+=g.length,w();return}l.push(g);const h=l.join("");l.length=0,n=0;const S=E(h);S!==""&&(l.push(S),n=S.length),w()}function w(){o!==void 0&&(n+c.length<=o||(b=!0,l.length=0,n=0,u=void 0,c="",p=0,y=void 0,r(new $e(`Buffered data exceeded max buffer size of ${o} characters`,{type:"max-buffer-size-exceeded"}))))}function E(g){let h=0;if(g.indexOf("\r")===-1){let S=g.indexOf(`
5
- `,h);for(;S!==-1;){if(h===S){p>0&&t({id:u,event:y,data:c}),u=void 0,c="",p=0,y=void 0,h=S+1,S=g.indexOf(`
6
- `,h);continue}const v=g.charCodeAt(h);if(Tt(g,h,v)){const I=g.charCodeAt(h+5)===oe?h+6:h+5,D=g.slice(I,S);if(p===0&&g.charCodeAt(S+1)===zt){t({id:u,event:y,data:D}),u=void 0,c="",y=void 0,h=S+2,S=g.indexOf(`
7
- `,h);continue}c=p===0?D:`${c}
8
- ${D}`,p++}else It(g,h,v)?y=g.slice(g.charCodeAt(h+6)===oe?h+7:h+6,S)||void 0:z(g,h,S);h=S+1,S=g.indexOf(`
9
- `,h)}return g.slice(h)}for(;h<g.length;){const S=g.indexOf("\r",h),v=g.indexOf(`
10
- `,h);let I=-1;if(S!==-1&&v!==-1?I=S<v?S:v:S!==-1?S===g.length-1?I=-1:I=S:v!==-1&&(I=v),I===-1)break;z(g,h,I),h=I+1,g.charCodeAt(h-1)===Or&&g.charCodeAt(h)===zt&&h++}return g.slice(h)}function z(g,h,S){if(h===S){P();return}const v=g.charCodeAt(h);if(Tt(g,h,v)){const B=g.charCodeAt(h+5)===oe?h+6:h+5,Y=g.slice(B,S);c=p===0?Y:`${c}
11
- ${Y}`,p++;return}if(It(g,h,v)){y=g.slice(g.charCodeAt(h+6)===oe?h+7:h+6,S)||void 0;return}if(v===105&&g.charCodeAt(h+1)===100&&g.charCodeAt(h+2)===58){const B=g.slice(g.charCodeAt(h+3)===oe?h+4:h+3,S);u=B.includes("\0")?void 0:B;return}if(v===58){if(s){const B=g.slice(h,S);s(B.slice(g.charCodeAt(h+1)===oe?2:1))}return}const I=g.slice(h,S),D=I.indexOf(":");if(D===-1){T(I,"",I);return}const ee=I.slice(0,D),Fe=I.charCodeAt(D+1)===oe?2:1,ke=I.slice(D+Fe);T(ee,ke,I)}function T(g,h,S){switch(g){case"event":y=h||void 0;break;case"data":c=p===0?h:`${c}
12
- ${h}`,p++;break;case"id":u=h.includes("\0")?void 0:h;break;case"retry":/^\d+$/.test(h)?a(parseInt(h,10)):r(new $e(`Invalid \`retry\` value: "${h}"`,{type:"invalid-retry",value:h,line:S}));break;default:r(new $e(`Unknown field "${g.length>20?`${g.slice(0,20)}…`:g}"`,{type:"unknown-field",field:g,value:h,line:S}));break}}function P(){p>0&&t({id:u,event:y,data:c}),u=void 0,c="",p=0,y=void 0}function d(g={}){if(g.consume&&l.length>0){const h=l.join("");z(h,0,h.length)}m=!0,u=void 0,c="",p=0,y=void 0,l.length=0,n=0,b=!1}return{feed:A,reset:d}}function Tt(e,t,r){return r===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function It(e,t,r){return r===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}class jr extends TransformStream{constructor({onError:t,onRetry:r,onComment:a,maxBufferSize:s}={}){let o;super({start(l){o=Nr({onEvent:n=>{l.enqueue(n)},onError(n){typeof t=="function"&&t(n),(t==="terminate"||n.type==="max-buffer-size-exceeded")&&l.error(n)},onRetry:r,onComment:a,maxBufferSize:s})},transform(l){o.feed(l)}})}}new TextDecoder;var K=({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:a="-"}={})=>{const s=()=>{const o=r.length,l=new Array(t);for(let n=0;n<t;n++)l[n]=r[Math.random()*o|0];return l.join("")};if(e==null)return s;if(r.includes(a))throw new Ar({argument:"separator",message:`The separator "${a}" must not be part of the alphabet "${r}".`});return()=>`${e}${a}${s()}`},Dr=K();function me(e){if(e==null)return{};const t={};if(e instanceof Headers)e.forEach((r,a)=>{t[a.toLowerCase()]=r});else{Array.isArray(e)||(e=Object.entries(e));for(const[r,a]of e)a!=null&&(t[r.toLowerCase()]=a)}return t}function Fr(e){var t,r;return(r=(t=globalThis.Buffer)==null?void 0:t.isBuffer(e))!=null?r:!1}var kr=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,Lr=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function wt(e){const t=JSON.parse(e);return t===null||typeof t!="object"||kr.test(e)===!1&&Lr.test(e)===!1?t:Zr(t)}function Zr(e){let t=[e];for(;t.length;){const r=t;t=[];for(const a of r){if(Object.prototype.hasOwnProperty.call(a,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(a,"constructor")&&a.constructor!==null&&typeof a.constructor=="object"&&Object.prototype.hasOwnProperty.call(a.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(const s in a){const o=a[s];o&&typeof o=="object"&&t.push(o)}}}return e}function $r(e){const{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return wt(e)}try{return wt(e)}finally{Error.stackTraceLimit=t}}function et(e){if(e.type==="object"||Array.isArray(e.type)&&e.type.includes("object")){e.additionalProperties=!1;const{properties:r}=e;if(r!=null)for(const a of Object.keys(r))r[a]=le(r[a])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(le):le(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(le)),e.allOf!=null&&(e.allOf=e.allOf.map(le)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(le));const{definitions:t}=e;if(t!=null)for(const r of Object.keys(t))t[r]=le(t[r]);return e}function le(e){return typeof e=="boolean"?e:et(e)}var Ur=Symbol("Let zodToJsonSchema decide on which parser to use"),xt={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},qr=e=>typeof e=="string"?{...xt,name:e}:{...xt,...e};function q(){return{}}function Wr(e,t){var r,a,s;const o={type:"array"};return(r=e.type)!=null&&r._def&&((s=(a=e.type)==null?void 0:a._def)==null?void 0:s.typeName)!==_.ZodFirstPartyTypeKind.ZodAny&&(o.items=O(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&(o.minItems=e.minLength.value),e.maxLength&&(o.maxItems=e.maxLength.value),e.exactLength&&(o.minItems=e.exactLength.value,o.maxItems=e.exactLength.value),o}function Kr(e){const t={type:"integer",format:"int64"};if(!e.checks)return t;for(const r of e.checks)switch(r.kind){case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}function Br(){return{type:"boolean"}}function Kt(e,t){return O(e.type._def,t)}var Vr=(e,t)=>O(e.innerType._def,t);function Bt(e,t,r){const a=r??t.dateStrategy;if(Array.isArray(a))return{anyOf:a.map(s=>Bt(e,t,s))};switch(a){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return Jr(e)}}var Jr=e=>{const t={type:"integer",format:"unix-time"};for(const r of e.checks)switch(r.kind){case"min":t.minimum=r.value;break;case"max":t.maximum=r.value;break}return t};function Hr(e,t){return{...O(e.innerType._def,t),default:e.defaultValue()}}function Yr(e,t){return t.effectStrategy==="input"?O(e.schema._def,t):q()}function Gr(e){return{type:"string",enum:Array.from(e.values)}}var Qr=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function Xr(e,t){const r=[O(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),O(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(s=>!!s),a=[];return r.forEach(s=>{if(Qr(s))a.push(...s.allOf);else{let o=s;if("additionalProperties"in s&&s.additionalProperties===!1){const{additionalProperties:l,...n}=s;o=n}a.push(o)}}),a.length?{allOf:a}:void 0}function ea(e){const t=typeof e.value;return t!=="bigint"&&t!=="number"&&t!=="boolean"&&t!=="string"?{type:Array.isArray(e.value)?"array":"object"}:{type:t==="bigint"?"integer":t,const:e.value}}var qe=void 0,J={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(qe===void 0&&(qe=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),qe),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?: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])$/,ipv4Cidr:/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function Vt(e,t){const r={type:"string"};if(e.checks)for(const a of e.checks)switch(a.kind){case"min":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,a.value):a.value;break;case"max":r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,a.value):a.value;break;case"email":switch(t.emailStrategy){case"format:email":H(r,"email",a.message,t);break;case"format:idn-email":H(r,"idn-email",a.message,t);break;case"pattern:zod":Z(r,J.email,a.message,t);break}break;case"url":H(r,"uri",a.message,t);break;case"uuid":H(r,"uuid",a.message,t);break;case"regex":Z(r,a.regex,a.message,t);break;case"cuid":Z(r,J.cuid,a.message,t);break;case"cuid2":Z(r,J.cuid2,a.message,t);break;case"startsWith":Z(r,RegExp(`^${We(a.value,t)}`),a.message,t);break;case"endsWith":Z(r,RegExp(`${We(a.value,t)}$`),a.message,t);break;case"datetime":H(r,"date-time",a.message,t);break;case"date":H(r,"date",a.message,t);break;case"time":H(r,"time",a.message,t);break;case"duration":H(r,"duration",a.message,t);break;case"length":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,a.value):a.value,r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,a.value):a.value;break;case"includes":{Z(r,RegExp(We(a.value,t)),a.message,t);break}case"ip":{a.version!=="v6"&&H(r,"ipv4",a.message,t),a.version!=="v4"&&H(r,"ipv6",a.message,t);break}case"base64url":Z(r,J.base64url,a.message,t);break;case"jwt":Z(r,J.jwt,a.message,t);break;case"cidr":{a.version!=="v6"&&Z(r,J.ipv4Cidr,a.message,t),a.version!=="v4"&&Z(r,J.ipv6Cidr,a.message,t);break}case"emoji":Z(r,J.emoji(),a.message,t);break;case"ulid":{Z(r,J.ulid,a.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{H(r,"binary",a.message,t);break}case"contentEncoding:base64":{r.contentEncoding="base64";break}case"pattern:zod":{Z(r,J.base64,a.message,t);break}}break}case"nanoid":Z(r,J.nanoid,a.message,t)}return r}function We(e,t){return t.patternStrategy==="escape"?ra(e):e}var ta=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function ra(e){let t="";for(let r=0;r<e.length;r++)ta.has(e[r])||(t+="\\"),t+=e[r];return t}function H(e,t,r,a){var s;e.format||(s=e.anyOf)!=null&&s.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...r&&a.errorMessages&&{errorMessage:{format:r}}})):e.format=t}function Z(e,t,r,a){var s;e.pattern||(s=e.allOf)!=null&&s.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:_t(t,a),...r&&a.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=_t(t,a)}function _t(e,t){var r;if(!t.applyRegexFlags||!e.flags)return e.source;const a={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},s=a.i?e.source.toLowerCase():e.source;let o="",l=!1,n=!1,m=!1;for(let u=0;u<s.length;u++){if(l){o+=s[u],l=!1;continue}if(a.i){if(n){if(s[u].match(/[a-z]/)){m?(o+=s[u],o+=`${s[u-2]}-${s[u]}`.toUpperCase(),m=!1):s[u+1]==="-"&&((r=s[u+2])!=null&&r.match(/[a-z]/))?(o+=s[u],m=!0):o+=`${s[u]}${s[u].toUpperCase()}`;continue}}else if(s[u].match(/[a-z]/)){o+=`[${s[u]}${s[u].toUpperCase()}]`;continue}}if(a.m){if(s[u]==="^"){o+=`(^|(?<=[\r
13
- ]))`;continue}else if(s[u]==="$"){o+=`($|(?=[\r
14
- ]))`;continue}}if(a.s&&s[u]==="."){o+=n?`${s[u]}\r
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),k=require("@opencx/widget-core"),o=require("zod/v4"),A=require("zod/v3");require("react/jsx-runtime");const $=require("zod");function kr(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const Et=kr(o),Lr="5.0.0-beta.4";function L(e){return f.useSyncExternalStore(e.subscribe,e.get,e.get)}function Zr({turnSources:e,liveItems:t,isStreaming:r,lastMessageIsFromUser:a}){var i;if(r||a)return null;const s=t.length>0?t:(i=e.at(-1))==null?void 0:i.items;return s?$r(s):null}function $r(e){for(let t=e.length-1;t>=0;t--){const r=e[t];if((r==null?void 0:r.kind)==="questions")return r.request}return null}var Bt="vercel.ai.error",Ur=Symbol.for(Bt),zt,It,X=class Vt extends(It=Error,zt=Ur,It){constructor({name:t,message:r,cause:a}){super(r),this[zt]=!0,this.name=t,this.cause=a}static isInstance(t){return Vt.hasMarker(t,Bt)}static hasMarker(t,r){const a=Symbol.for(r);return t!=null&&typeof t=="object"&&a in t&&typeof t[a]=="boolean"&&t[a]===!0}};function Jt(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.toString():JSON.stringify(e)}var Ht="AI_InvalidArgumentError",Yt=`vercel.ai.error.${Ht}`,qr=Symbol.for(Yt),Tt,xt,Wr=class extends(xt=X,Tt=qr,xt){constructor({message:e,cause:t,argument:r}){super({name:Ht,message:e,cause:t}),this[Tt]=!0,this.argument=r}static isInstance(e){return X.hasMarker(e,Yt)}},Gt="AI_JSONParseError",Qt=`vercel.ai.error.${Gt}`,Kr=Symbol.for(Qt),wt,_t,Mt=class extends(_t=X,wt=Kr,_t){constructor({text:e,cause:t}){super({name:Gt,message:`JSON parsing failed: Text: ${e}.
2
+ Error message: ${Jt(t)}`,cause:t}),this[wt]=!0,this.text=e}static isInstance(e){return X.hasMarker(e,Qt)}},Xt="AI_TypeValidationError",er=`vercel.ai.error.${Xt}`,Br=Symbol.for(er),At,Pt,Ee=class et extends(Pt=X,At=Br,Pt){constructor({value:t,cause:r,context:a}){let s="Type validation failed";if(a!=null&&a.field&&(s+=` for ${a.field}`),a!=null&&a.entityName||a!=null&&a.entityId){s+=" (";const i=[];a.entityName&&i.push(a.entityName),a.entityId&&i.push(`id: "${a.entityId}"`),s+=i.join(", "),s+=")"}super({name:Xt,message:`${s}: Value: ${JSON.stringify(t)}.
3
+ Error message: ${Jt(r)}`,cause:r}),this[At]=!0,this.value=t,this.context=a}static isInstance(t){return X.hasMarker(t,er)}static wrap({value:t,cause:r,context:a}){var s,i,l;return et.isInstance(r)&&r.value===t&&((s=r.context)==null?void 0:s.field)===(a==null?void 0:a.field)&&((i=r.context)==null?void 0:i.entityName)===(a==null?void 0:a.entityName)&&((l=r.context)==null?void 0:l.entityId)===(a==null?void 0:a.entityId)?r:new et({value:t,cause:r,context:a})}};class He extends Error{constructor(t,r){super(t),this.name="ParseError",this.type=r.type,this.field=r.field,this.value=r.value,this.line=r.line}}const Rt=10,Vr=13,ce=32;function Ye(e){}function Jr(e){if(typeof e=="function")throw new TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");const{onEvent:t=Ye,onError:r=Ye,onRetry:a=Ye,onComment:s,maxBufferSize:i}=e,l=[];let n=0,m=!0,u,c="",p=0,y,v=!1;function x(h){if(v)throw new Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(m&&(m=!1,h.charCodeAt(0)===239&&h.charCodeAt(1)===187&&h.charCodeAt(2)===191&&(h=h.slice(3))),l.length===0){const b=E(h);b!==""&&(l.push(b),n=b.length),M();return}if(h.indexOf(`
4
+ `)===-1&&h.indexOf("\r")===-1){l.push(h),n+=h.length,M();return}l.push(h);const g=l.join("");l.length=0,n=0;const S=E(g);S!==""&&(l.push(S),n=S.length),M()}function M(){i!==void 0&&(n+c.length<=i||(v=!0,l.length=0,n=0,u=void 0,c="",p=0,y=void 0,r(new He(`Buffered data exceeded max buffer size of ${i} characters`,{type:"max-buffer-size-exceeded"}))))}function E(h){let g=0;if(h.indexOf("\r")===-1){let S=h.indexOf(`
5
+ `,g);for(;S!==-1;){if(g===S){p>0&&t({id:u,event:y,data:c}),u=void 0,c="",p=0,y=void 0,g=S+1,S=h.indexOf(`
6
+ `,g);continue}const b=h.charCodeAt(g);if(Ot(h,g,b)){const I=h.charCodeAt(g+5)===ce?g+6:g+5,D=h.slice(I,S);if(p===0&&h.charCodeAt(S+1)===Rt){t({id:u,event:y,data:D}),u=void 0,c="",y=void 0,g=S+2,S=h.indexOf(`
7
+ `,g);continue}c=p===0?D:`${c}
8
+ ${D}`,p++}else Nt(h,g,b)?y=h.slice(h.charCodeAt(g+6)===ce?g+7:g+6,S)||void 0:z(h,g,S);g=S+1,S=h.indexOf(`
9
+ `,g)}return h.slice(g)}for(;g<h.length;){const S=h.indexOf("\r",g),b=h.indexOf(`
10
+ `,g);let I=-1;if(S!==-1&&b!==-1?I=S<b?S:b:S!==-1?S===h.length-1?I=-1:I=S:b!==-1&&(I=b),I===-1)break;z(h,g,I),g=I+1,h.charCodeAt(g-1)===Vr&&h.charCodeAt(g)===Rt&&g++}return h.slice(g)}function z(h,g,S){if(g===S){N();return}const b=h.charCodeAt(g);if(Ot(h,g,b)){const J=h.charCodeAt(g+5)===ce?g+6:g+5,ze=h.slice(J,S);c=p===0?ze:`${c}
11
+ ${ze}`,p++;return}if(Nt(h,g,b)){y=h.slice(h.charCodeAt(g+6)===ce?g+7:g+6,S)||void 0;return}if(b===105&&h.charCodeAt(g+1)===100&&h.charCodeAt(g+2)===58){const J=h.slice(h.charCodeAt(g+3)===ce?g+4:g+3,S);u=J.includes("\0")?void 0:J;return}if(b===58){if(s){const J=h.slice(g,S);s(J.slice(h.charCodeAt(g+1)===ce?2:1))}return}const I=h.slice(g,S),D=I.indexOf(":");if(D===-1){T(I,"",I);return}const K=I.slice(0,D),G=I.charCodeAt(D+1)===ce?2:1,te=I.slice(D+G);T(K,te,I)}function T(h,g,S){switch(h){case"event":y=g||void 0;break;case"data":c=p===0?g:`${c}
12
+ ${g}`,p++;break;case"id":u=g.includes("\0")?void 0:g;break;case"retry":/^\d+$/.test(g)?a(parseInt(g,10)):r(new He(`Invalid \`retry\` value: "${g}"`,{type:"invalid-retry",value:g,line:S}));break;default:r(new He(`Unknown field "${h.length>20?`${h.slice(0,20)}…`:h}"`,{type:"unknown-field",field:h,value:g,line:S}));break}}function N(){p>0&&t({id:u,event:y,data:c}),u=void 0,c="",p=0,y=void 0}function d(h={}){if(h.consume&&l.length>0){const g=l.join("");z(g,0,g.length)}m=!0,u=void 0,c="",p=0,y=void 0,l.length=0,n=0,v=!1}return{feed:x,reset:d}}function Ot(e,t,r){return r===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function Nt(e,t,r){return r===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}class Hr extends TransformStream{constructor({onError:t,onRetry:r,onComment:a,maxBufferSize:s}={}){let i;super({start(l){i=Jr({onEvent:n=>{l.enqueue(n)},onError(n){typeof t=="function"&&t(n),(t==="terminate"||n.type==="max-buffer-size-exceeded")&&l.error(n)},onRetry:r,onComment:a,maxBufferSize:s})},transform(l){i.feed(l)}})}}new TextDecoder;var V=({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:a="-"}={})=>{const s=()=>{const i=r.length,l=new Array(t);for(let n=0;n<t;n++)l[n]=r[Math.random()*i|0];return l.join("")};if(e==null)return s;if(r.includes(a))throw new Wr({argument:"separator",message:`The separator "${a}" must not be part of the alphabet "${r}".`});return()=>`${e}${a}${s()}`},Yr=V();function ye(e){if(e==null)return{};const t={};if(e instanceof Headers)e.forEach((r,a)=>{t[a.toLowerCase()]=r});else{Array.isArray(e)||(e=Object.entries(e));for(const[r,a]of e)a!=null&&(t[r.toLowerCase()]=a)}return t}function Gr(e){var t,r;return(r=(t=globalThis.Buffer)==null?void 0:t.isBuffer(e))!=null?r:!1}var Qr=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,Xr=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function jt(e){const t=JSON.parse(e);return t===null||typeof t!="object"||Qr.test(e)===!1&&Xr.test(e)===!1?t:ea(t)}function ea(e){let t=[e];for(;t.length;){const r=t;t=[];for(const a of r){if(Object.prototype.hasOwnProperty.call(a,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(a,"constructor")&&a.constructor!==null&&typeof a.constructor=="object"&&Object.prototype.hasOwnProperty.call(a.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(const s in a){const i=a[s];i&&typeof i=="object"&&t.push(i)}}}return e}function ta(e){const{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return jt(e)}try{return jt(e)}finally{Error.stackTraceLimit=t}}function lt(e){if(e.type==="object"||Array.isArray(e.type)&&e.type.includes("object")){e.additionalProperties=!1;const{properties:r}=e;if(r!=null)for(const a of Object.keys(r))r[a]=de(r[a])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(de):de(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(de)),e.allOf!=null&&(e.allOf=e.allOf.map(de)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(de));const{definitions:t}=e;if(t!=null)for(const r of Object.keys(t))t[r]=de(t[r]);return e}function de(e){return typeof e=="boolean"?e:lt(e)}var ra=Symbol("Let zodToJsonSchema decide on which parser to use"),Dt={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},aa=e=>typeof e=="string"?{...Dt,name:e}:{...Dt,...e};function W(){return{}}function sa(e,t){var r,a,s;const i={type:"array"};return(r=e.type)!=null&&r._def&&((s=(a=e.type)==null?void 0:a._def)==null?void 0:s.typeName)!==A.ZodFirstPartyTypeKind.ZodAny&&(i.items=O(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&(i.minItems=e.minLength.value),e.maxLength&&(i.maxItems=e.maxLength.value),e.exactLength&&(i.minItems=e.exactLength.value,i.maxItems=e.exactLength.value),i}function na(e){const t={type:"integer",format:"int64"};if(!e.checks)return t;for(const r of e.checks)switch(r.kind){case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}function ia(){return{type:"boolean"}}function tr(e,t){return O(e.type._def,t)}var oa=(e,t)=>O(e.innerType._def,t);function rr(e,t,r){const a=r??t.dateStrategy;if(Array.isArray(a))return{anyOf:a.map(s=>rr(e,t,s))};switch(a){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return la(e)}}var la=e=>{const t={type:"integer",format:"unix-time"};for(const r of e.checks)switch(r.kind){case"min":t.minimum=r.value;break;case"max":t.maximum=r.value;break}return t};function ua(e,t){return{...O(e.innerType._def,t),default:e.defaultValue()}}function ca(e,t){return t.effectStrategy==="input"?O(e.schema._def,t):W()}function da(e){return{type:"string",enum:Array.from(e.values)}}var pa=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function fa(e,t){const r=[O(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),O(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(s=>!!s),a=[];return r.forEach(s=>{if(pa(s))a.push(...s.allOf);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){const{additionalProperties:l,...n}=s;i=n}a.push(i)}}),a.length?{allOf:a}:void 0}function ma(e){const t=typeof e.value;return t!=="bigint"&&t!=="number"&&t!=="boolean"&&t!=="string"?{type:Array.isArray(e.value)?"array":"object"}:{type:t==="bigint"?"integer":t,const:e.value}}var Ge=void 0,H={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(Ge===void 0&&(Ge=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Ge),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?: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])$/,ipv4Cidr:/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function ar(e,t){const r={type:"string"};if(e.checks)for(const a of e.checks)switch(a.kind){case"min":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,a.value):a.value;break;case"max":r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,a.value):a.value;break;case"email":switch(t.emailStrategy){case"format:email":Y(r,"email",a.message,t);break;case"format:idn-email":Y(r,"idn-email",a.message,t);break;case"pattern:zod":U(r,H.email,a.message,t);break}break;case"url":Y(r,"uri",a.message,t);break;case"uuid":Y(r,"uuid",a.message,t);break;case"regex":U(r,a.regex,a.message,t);break;case"cuid":U(r,H.cuid,a.message,t);break;case"cuid2":U(r,H.cuid2,a.message,t);break;case"startsWith":U(r,RegExp(`^${Qe(a.value,t)}`),a.message,t);break;case"endsWith":U(r,RegExp(`${Qe(a.value,t)}$`),a.message,t);break;case"datetime":Y(r,"date-time",a.message,t);break;case"date":Y(r,"date",a.message,t);break;case"time":Y(r,"time",a.message,t);break;case"duration":Y(r,"duration",a.message,t);break;case"length":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,a.value):a.value,r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,a.value):a.value;break;case"includes":{U(r,RegExp(Qe(a.value,t)),a.message,t);break}case"ip":{a.version!=="v6"&&Y(r,"ipv4",a.message,t),a.version!=="v4"&&Y(r,"ipv6",a.message,t);break}case"base64url":U(r,H.base64url,a.message,t);break;case"jwt":U(r,H.jwt,a.message,t);break;case"cidr":{a.version!=="v6"&&U(r,H.ipv4Cidr,a.message,t),a.version!=="v4"&&U(r,H.ipv6Cidr,a.message,t);break}case"emoji":U(r,H.emoji(),a.message,t);break;case"ulid":{U(r,H.ulid,a.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{Y(r,"binary",a.message,t);break}case"contentEncoding:base64":{r.contentEncoding="base64";break}case"pattern:zod":{U(r,H.base64,a.message,t);break}}break}case"nanoid":U(r,H.nanoid,a.message,t)}return r}function Qe(e,t){return t.patternStrategy==="escape"?ha(e):e}var ga=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function ha(e){let t="";for(let r=0;r<e.length;r++)ga.has(e[r])||(t+="\\"),t+=e[r];return t}function Y(e,t,r,a){var s;e.format||(s=e.anyOf)!=null&&s.some(i=>i.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...r&&a.errorMessages&&{errorMessage:{format:r}}})):e.format=t}function U(e,t,r,a){var s;e.pattern||(s=e.allOf)!=null&&s.some(i=>i.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:Ft(t,a),...r&&a.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=Ft(t,a)}function Ft(e,t){var r;if(!t.applyRegexFlags||!e.flags)return e.source;const a={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},s=a.i?e.source.toLowerCase():e.source;let i="",l=!1,n=!1,m=!1;for(let u=0;u<s.length;u++){if(l){i+=s[u],l=!1;continue}if(a.i){if(n){if(s[u].match(/[a-z]/)){m?(i+=s[u],i+=`${s[u-2]}-${s[u]}`.toUpperCase(),m=!1):s[u+1]==="-"&&((r=s[u+2])!=null&&r.match(/[a-z]/))?(i+=s[u],m=!0):i+=`${s[u]}${s[u].toUpperCase()}`;continue}}else if(s[u].match(/[a-z]/)){i+=`[${s[u]}${s[u].toUpperCase()}]`;continue}}if(a.m){if(s[u]==="^"){i+=`(^|(?<=[\r
13
+ ]))`;continue}else if(s[u]==="$"){i+=`($|(?=[\r
14
+ ]))`;continue}}if(a.s&&s[u]==="."){i+=n?`${s[u]}\r
15
15
  `:`[${s[u]}\r
16
- ]`;continue}o+=s[u],s[u]==="\\"?l=!0:n&&s[u]==="]"?n=!1:!n&&s[u]==="["&&(n=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function Jt(e,t){var r,a,s,o,l,n;const m={type:"object",additionalProperties:(r=O(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))!=null?r:t.allowedAdditionalProperties};if(((a=e.keyType)==null?void 0:a._def.typeName)===_.ZodFirstPartyTypeKind.ZodString&&((s=e.keyType._def.checks)!=null&&s.length)){const{type:u,...c}=Vt(e.keyType._def,t);return{...m,propertyNames:c}}else{if(((o=e.keyType)==null?void 0:o._def.typeName)===_.ZodFirstPartyTypeKind.ZodEnum)return{...m,propertyNames:{enum:e.keyType._def.values}};if(((l=e.keyType)==null?void 0:l._def.typeName)===_.ZodFirstPartyTypeKind.ZodBranded&&e.keyType._def.type._def.typeName===_.ZodFirstPartyTypeKind.ZodString&&((n=e.keyType._def.type._def.checks)!=null&&n.length)){const{type:u,...c}=Kt(e.keyType._def,t);return{...m,propertyNames:c}}}return m}function aa(e,t){if(t.mapStrategy==="record")return Jt(e,t);const r=O(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||q(),a=O(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||q();return{type:"array",maxItems:125,items:{type:"array",items:[r,a],minItems:2,maxItems:2}}}function sa(e){const t=e.values,a=Object.keys(e.values).filter(o=>typeof t[t[o]]!="number").map(o=>t[o]),s=Array.from(new Set(a.map(o=>typeof o)));return{type:s.length===1?s[0]==="string"?"string":"number":["string","number"],enum:a}}function na(){return{not:q()}}function ia(){return{type:"null"}}var Ve={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function oa(e,t){const r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(a=>a._def.typeName in Ve&&(!a._def.checks||!a._def.checks.length))){const a=r.reduce((s,o)=>{const l=Ve[o._def.typeName];return l&&!s.includes(l)?[...s,l]:s},[]);return{type:a.length>1?a:a[0]}}else if(r.every(a=>a._def.typeName==="ZodLiteral"&&!a.description)){const a=r.reduce((s,o)=>{const l=typeof o._def.value;switch(l){case"string":case"number":case"boolean":return[...s,l];case"bigint":return[...s,"integer"];case"object":if(o._def.value===null)return[...s,"null"];case"symbol":case"undefined":case"function":default:return s}},[]);if(a.length===r.length){const s=a.filter((o,l,n)=>n.indexOf(o)===l);return{type:s.length>1?s:s[0],enum:r.reduce((o,l)=>o.includes(l._def.value)?o:[...o,l._def.value],[])}}}else if(r.every(a=>a._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((a,s)=>[...a,...s._def.values.filter(o=>!a.includes(o))],[])};return la(e,t)}var la=(e,t)=>{const r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((a,s)=>O(a._def,{...t,currentPath:[...t.currentPath,"anyOf",`${s}`]})).filter(a=>!!a&&(!t.strictUnions||typeof a=="object"&&Object.keys(a).length>0));return r.length?{anyOf:r}:void 0};function ua(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[Ve[e.innerType._def.typeName],"null"]};const r=O(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function ca(e){const t={type:"number"};if(!e.checks)return t;for(const r of e.checks)switch(r.kind){case"int":t.type="integer";break;case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}function da(e,t){const r={type:"object",properties:{}},a=[],s=e.shape();for(const l in s){let n=s[l];if(n===void 0||n._def===void 0)continue;const m=fa(n),u=O(n._def,{...t,currentPath:[...t.currentPath,"properties",l],propertyPath:[...t.currentPath,"properties",l]});u!==void 0&&(r.properties[l]=u,m||a.push(l))}a.length&&(r.required=a);const o=pa(e,t);return o!==void 0&&(r.additionalProperties=o),r}function pa(e,t){if(e.catchall._def.typeName!=="ZodNever")return O(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function fa(e){try{return e.isOptional()}catch{return!0}}var ma=(e,t)=>{var r;if(t.currentPath.toString()===((r=t.propertyPath)==null?void 0:r.toString()))return O(e.innerType._def,t);const a=O(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return a?{anyOf:[{not:q()},a]}:q()},ga=(e,t)=>{if(t.pipeStrategy==="input")return O(e.in._def,t);if(t.pipeStrategy==="output")return O(e.out._def,t);const r=O(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),a=O(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,a].filter(s=>s!==void 0)}};function ha(e,t){return O(e.type._def,t)}function va(e,t){const a={type:"array",uniqueItems:!0,items:O(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&(a.minItems=e.minSize.value),e.maxSize&&(a.maxItems=e.maxSize.value),a}function ya(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,a)=>O(r._def,{...t,currentPath:[...t.currentPath,"items",`${a}`]})).reduce((r,a)=>a===void 0?r:[...r,a],[]),additionalItems:O(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,a)=>O(r._def,{...t,currentPath:[...t.currentPath,"items",`${a}`]})).reduce((r,a)=>a===void 0?r:[...r,a],[])}}function ba(){return{not:q()}}function Sa(){return q()}var Ca=(e,t)=>O(e.innerType._def,t),Ea=(e,t,r)=>{switch(t){case _.ZodFirstPartyTypeKind.ZodString:return Vt(e,r);case _.ZodFirstPartyTypeKind.ZodNumber:return ca(e);case _.ZodFirstPartyTypeKind.ZodObject:return da(e,r);case _.ZodFirstPartyTypeKind.ZodBigInt:return Kr(e);case _.ZodFirstPartyTypeKind.ZodBoolean:return Br();case _.ZodFirstPartyTypeKind.ZodDate:return Bt(e,r);case _.ZodFirstPartyTypeKind.ZodUndefined:return ba();case _.ZodFirstPartyTypeKind.ZodNull:return ia();case _.ZodFirstPartyTypeKind.ZodArray:return Wr(e,r);case _.ZodFirstPartyTypeKind.ZodUnion:case _.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:return oa(e,r);case _.ZodFirstPartyTypeKind.ZodIntersection:return Xr(e,r);case _.ZodFirstPartyTypeKind.ZodTuple:return ya(e,r);case _.ZodFirstPartyTypeKind.ZodRecord:return Jt(e,r);case _.ZodFirstPartyTypeKind.ZodLiteral:return ea(e);case _.ZodFirstPartyTypeKind.ZodEnum:return Gr(e);case _.ZodFirstPartyTypeKind.ZodNativeEnum:return sa(e);case _.ZodFirstPartyTypeKind.ZodNullable:return ua(e,r);case _.ZodFirstPartyTypeKind.ZodOptional:return ma(e,r);case _.ZodFirstPartyTypeKind.ZodMap:return aa(e,r);case _.ZodFirstPartyTypeKind.ZodSet:return va(e,r);case _.ZodFirstPartyTypeKind.ZodLazy:return()=>e.getter()._def;case _.ZodFirstPartyTypeKind.ZodPromise:return ha(e,r);case _.ZodFirstPartyTypeKind.ZodNaN:case _.ZodFirstPartyTypeKind.ZodNever:return na();case _.ZodFirstPartyTypeKind.ZodEffects:return Yr(e,r);case _.ZodFirstPartyTypeKind.ZodAny:return q();case _.ZodFirstPartyTypeKind.ZodUnknown:return Sa();case _.ZodFirstPartyTypeKind.ZodDefault:return Hr(e,r);case _.ZodFirstPartyTypeKind.ZodBranded:return Kt(e,r);case _.ZodFirstPartyTypeKind.ZodReadonly:return Ca(e,r);case _.ZodFirstPartyTypeKind.ZodCatch:return Vr(e,r);case _.ZodFirstPartyTypeKind.ZodPipeline:return ga(e,r);case _.ZodFirstPartyTypeKind.ZodFunction:case _.ZodFirstPartyTypeKind.ZodVoid:case _.ZodFirstPartyTypeKind.ZodSymbol:return;default:return(a=>{})()}},za=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};function O(e,t,r=!1){var a;const s=t.seen.get(e);if(t.override){const m=(a=t.override)==null?void 0:a.call(t,e,t,s,r);if(m!==Ur)return m}if(s&&!r){const m=Ta(s,t);if(m!==void 0)return m}const o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);const l=Ea(e,e.typeName,t),n=typeof l=="function"?O(l(),t):l;if(n&&Ia(e,t,n),t.postProcess){const m=t.postProcess(n,e,t);return o.jsonSchema=n,m}return o.jsonSchema=n,n}var Ta=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:za(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,a)=>t.currentPath[a]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),q()):t.$refStrategy==="seen"?q():void 0}},Ia=(e,t,r)=>(e.description&&(r.description=e.description),r),wa=e=>{const t=qr(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([a,s])=>[s._def,{def:s._def,path:[...t.basePath,t.definitionPath,a],jsonSchema:void 0}]))}},xa=(e,t)=>{var r;const a=wa(t);let s=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((u,[c,p])=>{var y;return{...u,[c]:(y=O(p._def,{...a,currentPath:[...a.basePath,a.definitionPath,c]},!0))!=null?y:q()}},{}):void 0;const o=typeof t=="string"?t:(t==null?void 0:t.nameStrategy)==="title"||t==null?void 0:t.name,l=(r=O(e._def,o===void 0?a:{...a,currentPath:[...a.basePath,a.definitionPath,o]},!1))!=null?r:q(),n=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;n!==void 0&&(l.title=n);const m=o===void 0?s?{...l,[a.definitionPath]:s}:l:{$ref:[...a.$refStrategy==="relative"?[]:a.basePath,a.definitionPath,o].join("/"),[a.definitionPath]:{...s,[o]:l}};return m.$schema="http://json-schema.org/draft-07/schema#",m},Je=Symbol.for("vercel.ai.schema");function _a(e){let t;return()=>(t==null&&(t=e()),t)}function je(e,{validate:t}={}){return{[Je]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}function Ma(e){return typeof e=="object"&&e!==null&&Je in e&&e[Je]===!0&&"jsonSchema"in e&&"validate"in e}function tt(e){return e==null?je({type:"object",properties:{},additionalProperties:!1}):Ma(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?Ht(e):Aa(e):e()}function Aa(e){return je(()=>{if(!Pa(e))throw new Error(`Standard schema vendor '${e["~standard"].vendor}' does not support JSON Schema conversion.`);return et(e["~standard"].jsonSchema.input({target:"draft-07"}))},{validate:async t=>{const r=await e["~standard"].validate(t);return"value"in r?{success:!0,value:r.value}:{success:!1,error:new ye({value:t,cause:r.issues})}}})}function Pa(e){return e["~standard"].jsonSchema!=null}function Ra(e,t){var r;const a=(r=void 0)!=null?r:!1;return je(()=>xa(e,{$refStrategy:a?"root":"none"}),{validate:async s=>{const o=await e.safeParseAsync(s);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function Oa(e,t){var r;const a=(r=void 0)!=null?r:!1;return je(()=>et(ft.toJSONSchema(e,{target:"draft-7",io:"input",reused:a?"ref":"inline"})),{validate:async s=>{const o=await ft.safeParseAsync(e,s);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function Na(e){return"_zod"in e}function Ht(e,t){return Na(e)?Oa(e):Ra(e)}async function Mt({value:e,schema:t,context:r}){const a=await we({value:e,schema:t,context:r});if(!a.success)throw ye.wrap({value:e,cause:a.error,context:r});return a.value}async function we({value:e,schema:t,context:r}){const a=tt(t);try{if(a.validate==null)return{success:!0,value:e,rawValue:e};const s=await a.validate(e);return s.success?{success:!0,value:s.value,rawValue:e}:{success:!1,error:ye.wrap({value:e,cause:s.error,context:r}),rawValue:e}}catch(s){return{success:!1,error:ye.wrap({value:e,cause:s,context:r}),rawValue:e}}}async function ce({text:e,schema:t}){try{const r=$r(e);return t==null?{success:!0,value:r,rawValue:r}:await we({value:r,schema:t})}catch(r){return{success:!1,error:St.isInstance(r)?r:new St({text:e,cause:r}),rawValue:void 0}}}function ja({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new jr).pipeThrough(new TransformStream({async transform({data:r},a){r!=="[DONE]"&&a.enqueue(await ce({text:r,schema:t}))}}))}async function se(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}new TextDecoder;function Da(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Fa=Object.defineProperty,ka=(e,t)=>{for(var r in t)Fa(e,r,{get:t[r],enumerable:!0})},Yt="AI_NoObjectGeneratedError",Gt=`vercel.ai.error.${Yt}`,La=Symbol.for(Gt),Qt,ne=class extends Q{constructor({message:e="No object generated.",cause:t,text:r,response:a,usage:s,finishReason:o}){super({name:Yt,message:e,cause:t}),this[Qt]=!0,this.text=r,this.response=a,this.usage=s,this.finishReason=o}static isInstance(e){return Q.hasMarker(e,Gt)}};Qt=La;var Xt="AI_UIMessageStreamError",er=`vercel.ai.error.${Xt}`,Za=Symbol.for(er),tr,ue=class extends Q{constructor({chunkType:e,chunkId:t,message:r}){super({name:Xt,message:r}),this[tr]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return Q.hasMarker(e,er)}};tr=Za;var de=i.z.lazy(()=>i.z.union([i.z.null(),i.z.string(),i.z.number(),i.z.boolean(),i.z.record(i.z.string(),de.optional()),i.z.array(de)])),x=i.z.record(i.z.string(),i.z.record(i.z.string(),de.optional())),xe=i.z.union([i.z.string(),i.z.instanceof(Uint8Array),i.z.instanceof(ArrayBuffer),i.z.custom(Fr,{message:"Must be a Buffer"})]),rt=i.z.record(i.z.string(),i.z.string()),rr=i.z.object({type:i.z.literal("text"),text:i.z.string(),providerOptions:x.optional()}),$a=i.z.object({type:i.z.literal("image"),image:i.z.union([xe,i.z.instanceof(URL),rt]),mediaType:i.z.string().optional(),providerOptions:x.optional()}),ar=i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("data"),data:xe}),i.z.object({type:i.z.literal("url"),url:i.z.instanceof(URL)}),i.z.object({type:i.z.literal("reference"),reference:rt}),i.z.object({type:i.z.literal("text"),text:i.z.string()})]),Ua=i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("data"),data:xe}),i.z.object({type:i.z.literal("url"),url:i.z.instanceof(URL)})]),sr=i.z.object({type:i.z.literal("file"),data:i.z.union([ar,xe,i.z.instanceof(URL),rt]),filename:i.z.string().optional(),mediaType:i.z.string(),providerOptions:x.optional()}),qa=i.z.object({type:i.z.literal("reasoning"),text:i.z.string(),providerOptions:x.optional()}),Wa=i.z.object({type:i.z.literal("custom"),kind:i.z.string().transform(e=>e),providerOptions:x.optional()}),Ka=i.z.object({type:i.z.literal("reasoning-file"),data:i.z.union([Ua,xe,i.z.instanceof(URL)]),mediaType:i.z.string(),providerOptions:x.optional()}),Ba=i.z.object({type:i.z.literal("tool-call"),toolCallId:i.z.string(),toolName:i.z.string(),input:i.z.unknown(),providerOptions:x.optional(),providerExecuted:i.z.boolean().optional()}),Va=i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("text"),value:i.z.string(),providerOptions:x.optional()}),i.z.object({type:i.z.literal("json"),value:de,providerOptions:x.optional()}),i.z.object({type:i.z.literal("execution-denied"),reason:i.z.string().optional(),providerOptions:x.optional()}),i.z.object({type:i.z.literal("error-text"),value:i.z.string(),providerOptions:x.optional()}),i.z.object({type:i.z.literal("error-json"),value:de,providerOptions:x.optional()}),i.z.object({type:i.z.literal("content"),value:i.z.array(i.z.union([i.z.object({type:i.z.literal("text"),text:i.z.string(),providerOptions:x.optional()}),i.z.object({type:i.z.literal("file"),data:ar,mediaType:i.z.string(),filename:i.z.string().optional(),providerOptions:x.optional()}),i.z.object({type:i.z.literal("file-data"),data:i.z.string(),mediaType:i.z.string(),filename:i.z.string().optional(),providerOptions:x.optional()}),i.z.object({type:i.z.literal("file-url"),url:i.z.string(),mediaType:i.z.string().optional(),providerOptions:x.optional()}),i.z.object({type:i.z.literal("file-id"),fileId:i.z.union([i.z.string(),i.z.record(i.z.string(),i.z.string())]),providerOptions:x.optional()}),i.z.object({type:i.z.literal("file-reference"),providerReference:i.z.record(i.z.string(),i.z.string()),providerOptions:x.optional()}),i.z.object({type:i.z.literal("image-data"),data:i.z.string(),mediaType:i.z.string(),providerOptions:x.optional()}),i.z.object({type:i.z.literal("image-url"),url:i.z.string(),providerOptions:x.optional()}),i.z.object({type:i.z.literal("image-file-id"),fileId:i.z.union([i.z.string(),i.z.record(i.z.string(),i.z.string())]),providerOptions:x.optional()}),i.z.object({type:i.z.literal("image-file-reference"),providerReference:i.z.record(i.z.string(),i.z.string()),providerOptions:x.optional()}),i.z.object({type:i.z.literal("custom"),providerOptions:x.optional()})]))})]),nr=i.z.object({type:i.z.literal("tool-result"),toolCallId:i.z.string(),toolName:i.z.string(),output:Va,providerOptions:x.optional()}),Ja=i.z.object({type:i.z.literal("tool-approval-request"),approvalId:i.z.string(),toolCallId:i.z.string()}),Ha=i.z.object({type:i.z.literal("tool-approval-response"),approvalId:i.z.string(),approved:i.z.boolean(),reason:i.z.string().optional()}),Ya=i.z.object({role:i.z.literal("system"),content:i.z.string(),providerOptions:x.optional()}),Ga=i.z.object({role:i.z.literal("user"),content:i.z.union([i.z.string(),i.z.array(i.z.union([rr,$a,sr]))]),providerOptions:x.optional()}),Qa=i.z.object({role:i.z.literal("assistant"),content:i.z.union([i.z.string(),i.z.array(i.z.union([rr,Wa,sr,qa,Ka,Ba,nr,Ja]))]),providerOptions:x.optional()}),Xa=i.z.object({role:i.z.literal("tool"),content:i.z.array(i.z.union([nr,Ha])),providerOptions:x.optional()});i.z.union([Ya,Ga,Qa,Xa]);function ir(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const r={...e};for(const a in t)if(!(a==="__proto__"||a==="constructor"||a==="prototype")&&Object.prototype.hasOwnProperty.call(t,a)){const s=t[a];if(s===void 0)continue;const o=a in e?e[a]:void 0,l=s!==null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp),n=o!=null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp);l&&n?r[a]=ir(o,s):r[a]=s}return r}var es={};ka(es,{array:()=>ss,choice:()=>ns,json:()=>is,object:()=>as,text:()=>rs});function ts(e){const t=["ROOT"];let r=-1,a=null,s=0;function o(c){return c>="0"&&c<="9"||c>="A"&&c<="F"||c>="a"&&c<="f"}function l(c,p,y){switch(c){case'"':{r=p,t.pop(),t.push(y),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{r=p,a=p,t.pop(),t.push(y),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(y),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=p,t.pop(),t.push(y),t.push("INSIDE_NUMBER");break}case"{":{r=p,t.pop(),t.push(y),t.push("INSIDE_OBJECT_START");break}case"[":{r=p,t.pop(),t.push(y),t.push("INSIDE_ARRAY_START");break}}}function n(c,p){switch(c){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{r=p,t.pop();break}}}function m(c,p){switch(c){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=p,t.pop();break}}}for(let c=0;c<e.length;c++){const p=e[c];switch(t[t.length-1]){case"ROOT":l(p,c,"FINISH");break;case"INSIDE_OBJECT_START":{switch(p){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{r=c,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(p){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(p){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(p){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{l(p,c,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{n(p,c);break}case"INSIDE_STRING":{switch(p){case'"':{t.pop(),r=c;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:r=c}break}case"INSIDE_ARRAY_START":{switch(p){case"]":{r=c,t.pop();break}default:{r=c,l(p,c,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(p){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=c,t.pop();break}default:{r=c;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{l(p,c,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),p==="u"?(s=0,t.push("INSIDE_STRING_UNICODE_ESCAPE")):r=c;break}case"INSIDE_STRING_UNICODE_ESCAPE":{o(p)&&(s++,s===4&&(t.pop(),r=c));break}case"INSIDE_NUMBER":{switch(p){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=c;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&m(p,c),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&n(p,c);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&n(p,c);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&m(p,c);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const b=e.substring(a,c+1);!"false".startsWith(b)&&!"true".startsWith(b)&&!"null".startsWith(b)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?n(p,c):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&m(p,c)):r=c;break}}}let u=e.slice(0,r+1);for(let c=t.length-1;c>=0;c--)switch(t[c]){case"INSIDE_STRING":{u+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{u+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{u+="]";break}case"INSIDE_LITERAL":{const y=e.substring(a,e.length);"true".startsWith(y)?u+="true".slice(y.length):"false".startsWith(y)?u+="false".slice(y.length):"null".startsWith(y)&&(u+="null".slice(y.length))}}return u}async function _e(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await ce({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await ce({text:ts(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var rs=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){}}),as=({schema:e,name:t,description:r})=>{const a=tt(e);return{name:"object",responseFormat:se(a.jsonSchema).then(s=>({type:"json",schema:s,...t!=null&&{name:t},...r!=null&&{description:r}})),async parseCompleteOutput({text:s},o){const l=await ce({text:s});if(!l.success)throw new ne({message:"No object generated: could not parse the response.",cause:l.error,text:s,response:o.response,usage:o.usage,finishReason:o.finishReason});const n=await we({value:l.value,schema:a});if(!n.success)throw new ne({message:"No object generated: response did not match schema.",cause:n.error,text:s,response:o.response,usage:o.usage,finishReason:o.finishReason});return n.value},async parsePartialOutput({text:s}){const o=await _e(s);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:o.value}}},createElementStreamTransform(){}}},ss=({element:e,name:t,description:r})=>{const a=tt(e);return{name:"array",responseFormat:se(a.jsonSchema).then(s=>{const{$schema:o,...l}=s;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:l}},required:["elements"],additionalProperties:!1},...t!=null&&{name:t},...r!=null&&{description:r}}}),async parseCompleteOutput({text:s},o){const l=await ce({text:s});if(!l.success)throw new ne({message:"No object generated: could not parse the response.",cause:l.error,text:s,response:o.response,usage:o.usage,finishReason:o.finishReason});const n=l.value;if(n==null||typeof n!="object"||!("elements"in n)||!Array.isArray(n.elements))throw new ne({message:"No object generated: response did not match schema.",cause:new ye({value:n,cause:"response must be an object with an elements array"}),text:s,response:o.response,usage:o.usage,finishReason:o.finishReason});const m=[];for(const u of n.elements){const c=await we({value:u,schema:a});if(!c.success)throw new ne({message:"No object generated: response did not match schema.",cause:c.error,text:s,response:o.response,usage:o.usage,finishReason:o.finishReason});m.push(c.value)}return m},async parsePartialOutput({text:s}){const o=await _e(s);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const l=o.value;if(l==null||typeof l!="object"||!("elements"in l)||!Array.isArray(l.elements))return;const n=o.state==="repaired-parse"&&l.elements.length>0?l.elements.slice(0,-1):l.elements,m=[];for(const u of n){const c=await we({value:u,schema:a});c.success&&m.push(c.value)}return{partial:m}}}},createElementStreamTransform(){let s=0;return new TransformStream({transform({partialOutput:o},l){if(o!=null)for(;s<o.length;s++)l.enqueue(o[s])}})}}},ns=({options:e,name:t,description:r})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...t!=null&&{name:t},...r!=null&&{description:r}}),async parseCompleteOutput({text:a},s){const o=await ce({text:a});if(!o.success)throw new ne({message:"No object generated: could not parse the response.",cause:o.error,text:a,response:s.response,usage:s.usage,finishReason:s.finishReason});const l=o.value;if(l==null||typeof l!="object"||!("result"in l)||typeof l.result!="string"||!e.includes(l.result))throw new ne({message:"No object generated: response did not match schema.",cause:new ye({value:l,cause:"response must be an object that contains a choice value."}),text:a,response:s.response,usage:s.usage,finishReason:s.finishReason});return l.result},async parsePartialOutput({text:a}){const s=await _e(a);switch(s.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const o=s.value;if(o==null||typeof o!="object"||!("result"in o)||typeof o.result!="string")return;const l=e.filter(n=>n.startsWith(o.result));return s.state==="successful-parse"?l.includes(o.result)?{partial:o.result}:void 0:l.length===1?{partial:l[0]}:void 0}}},createElementStreamTransform(){}}),is=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:r},a){const s=await ce({text:r});if(!s.success)throw new ne({message:"No object generated: could not parse the response.",cause:s.error,text:r,response:a.response,usage:a.usage,finishReason:a.finishReason});return s.value},async parsePartialOutput({text:r}){const a=await _e(r);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return a.value===void 0?void 0:{partial:a.value}}},createElementStreamTransform(){}});new TextEncoder;new TextEncoder;K({prefix:"aitxt",size:24});K({prefix:"call",size:24});(class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
16
+ ]`;continue}i+=s[u],s[u]==="\\"?l=!0:n&&s[u]==="]"?n=!1:!n&&s[u]==="["&&(n=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function sr(e,t){var r,a,s,i,l,n;const m={type:"object",additionalProperties:(r=O(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))!=null?r:t.allowedAdditionalProperties};if(((a=e.keyType)==null?void 0:a._def.typeName)===A.ZodFirstPartyTypeKind.ZodString&&((s=e.keyType._def.checks)!=null&&s.length)){const{type:u,...c}=ar(e.keyType._def,t);return{...m,propertyNames:c}}else{if(((i=e.keyType)==null?void 0:i._def.typeName)===A.ZodFirstPartyTypeKind.ZodEnum)return{...m,propertyNames:{enum:e.keyType._def.values}};if(((l=e.keyType)==null?void 0:l._def.typeName)===A.ZodFirstPartyTypeKind.ZodBranded&&e.keyType._def.type._def.typeName===A.ZodFirstPartyTypeKind.ZodString&&((n=e.keyType._def.type._def.checks)!=null&&n.length)){const{type:u,...c}=tr(e.keyType._def,t);return{...m,propertyNames:c}}}return m}function va(e,t){if(t.mapStrategy==="record")return sr(e,t);const r=O(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||W(),a=O(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||W();return{type:"array",maxItems:125,items:{type:"array",items:[r,a],minItems:2,maxItems:2}}}function ya(e){const t=e.values,a=Object.keys(e.values).filter(i=>typeof t[t[i]]!="number").map(i=>t[i]),s=Array.from(new Set(a.map(i=>typeof i)));return{type:s.length===1?s[0]==="string"?"string":"number":["string","number"],enum:a}}function ba(){return{not:W()}}function Sa(){return{type:"null"}}var tt={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Ca(e,t){const r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(a=>a._def.typeName in tt&&(!a._def.checks||!a._def.checks.length))){const a=r.reduce((s,i)=>{const l=tt[i._def.typeName];return l&&!s.includes(l)?[...s,l]:s},[]);return{type:a.length>1?a:a[0]}}else if(r.every(a=>a._def.typeName==="ZodLiteral"&&!a.description)){const a=r.reduce((s,i)=>{const l=typeof i._def.value;switch(l){case"string":case"number":case"boolean":return[...s,l];case"bigint":return[...s,"integer"];case"object":if(i._def.value===null)return[...s,"null"];case"symbol":case"undefined":case"function":default:return s}},[]);if(a.length===r.length){const s=a.filter((i,l,n)=>n.indexOf(i)===l);return{type:s.length>1?s:s[0],enum:r.reduce((i,l)=>i.includes(l._def.value)?i:[...i,l._def.value],[])}}}else if(r.every(a=>a._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((a,s)=>[...a,...s._def.values.filter(i=>!a.includes(i))],[])};return Ea(e,t)}var Ea=(e,t)=>{const r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((a,s)=>O(a._def,{...t,currentPath:[...t.currentPath,"anyOf",`${s}`]})).filter(a=>!!a&&(!t.strictUnions||typeof a=="object"&&Object.keys(a).length>0));return r.length?{anyOf:r}:void 0};function za(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[tt[e.innerType._def.typeName],"null"]};const r=O(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function Ia(e){const t={type:"number"};if(!e.checks)return t;for(const r of e.checks)switch(r.kind){case"int":t.type="integer";break;case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}function Ta(e,t){const r={type:"object",properties:{}},a=[],s=e.shape();for(const l in s){let n=s[l];if(n===void 0||n._def===void 0)continue;const m=wa(n),u=O(n._def,{...t,currentPath:[...t.currentPath,"properties",l],propertyPath:[...t.currentPath,"properties",l]});u!==void 0&&(r.properties[l]=u,m||a.push(l))}a.length&&(r.required=a);const i=xa(e,t);return i!==void 0&&(r.additionalProperties=i),r}function xa(e,t){if(e.catchall._def.typeName!=="ZodNever")return O(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function wa(e){try{return e.isOptional()}catch{return!0}}var _a=(e,t)=>{var r;if(t.currentPath.toString()===((r=t.propertyPath)==null?void 0:r.toString()))return O(e.innerType._def,t);const a=O(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return a?{anyOf:[{not:W()},a]}:W()},Ma=(e,t)=>{if(t.pipeStrategy==="input")return O(e.in._def,t);if(t.pipeStrategy==="output")return O(e.out._def,t);const r=O(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),a=O(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,a].filter(s=>s!==void 0)}};function Aa(e,t){return O(e.type._def,t)}function Pa(e,t){const a={type:"array",uniqueItems:!0,items:O(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&(a.minItems=e.minSize.value),e.maxSize&&(a.maxItems=e.maxSize.value),a}function Ra(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,a)=>O(r._def,{...t,currentPath:[...t.currentPath,"items",`${a}`]})).reduce((r,a)=>a===void 0?r:[...r,a],[]),additionalItems:O(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,a)=>O(r._def,{...t,currentPath:[...t.currentPath,"items",`${a}`]})).reduce((r,a)=>a===void 0?r:[...r,a],[])}}function Oa(){return{not:W()}}function Na(){return W()}var ja=(e,t)=>O(e.innerType._def,t),Da=(e,t,r)=>{switch(t){case A.ZodFirstPartyTypeKind.ZodString:return ar(e,r);case A.ZodFirstPartyTypeKind.ZodNumber:return Ia(e);case A.ZodFirstPartyTypeKind.ZodObject:return Ta(e,r);case A.ZodFirstPartyTypeKind.ZodBigInt:return na(e);case A.ZodFirstPartyTypeKind.ZodBoolean:return ia();case A.ZodFirstPartyTypeKind.ZodDate:return rr(e,r);case A.ZodFirstPartyTypeKind.ZodUndefined:return Oa();case A.ZodFirstPartyTypeKind.ZodNull:return Sa();case A.ZodFirstPartyTypeKind.ZodArray:return sa(e,r);case A.ZodFirstPartyTypeKind.ZodUnion:case A.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:return Ca(e,r);case A.ZodFirstPartyTypeKind.ZodIntersection:return fa(e,r);case A.ZodFirstPartyTypeKind.ZodTuple:return Ra(e,r);case A.ZodFirstPartyTypeKind.ZodRecord:return sr(e,r);case A.ZodFirstPartyTypeKind.ZodLiteral:return ma(e);case A.ZodFirstPartyTypeKind.ZodEnum:return da(e);case A.ZodFirstPartyTypeKind.ZodNativeEnum:return ya(e);case A.ZodFirstPartyTypeKind.ZodNullable:return za(e,r);case A.ZodFirstPartyTypeKind.ZodOptional:return _a(e,r);case A.ZodFirstPartyTypeKind.ZodMap:return va(e,r);case A.ZodFirstPartyTypeKind.ZodSet:return Pa(e,r);case A.ZodFirstPartyTypeKind.ZodLazy:return()=>e.getter()._def;case A.ZodFirstPartyTypeKind.ZodPromise:return Aa(e,r);case A.ZodFirstPartyTypeKind.ZodNaN:case A.ZodFirstPartyTypeKind.ZodNever:return ba();case A.ZodFirstPartyTypeKind.ZodEffects:return ca(e,r);case A.ZodFirstPartyTypeKind.ZodAny:return W();case A.ZodFirstPartyTypeKind.ZodUnknown:return Na();case A.ZodFirstPartyTypeKind.ZodDefault:return ua(e,r);case A.ZodFirstPartyTypeKind.ZodBranded:return tr(e,r);case A.ZodFirstPartyTypeKind.ZodReadonly:return ja(e,r);case A.ZodFirstPartyTypeKind.ZodCatch:return oa(e,r);case A.ZodFirstPartyTypeKind.ZodPipeline:return Ma(e,r);case A.ZodFirstPartyTypeKind.ZodFunction:case A.ZodFirstPartyTypeKind.ZodVoid:case A.ZodFirstPartyTypeKind.ZodSymbol:return;default:return(a=>{})()}},Fa=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};function O(e,t,r=!1){var a;const s=t.seen.get(e);if(t.override){const m=(a=t.override)==null?void 0:a.call(t,e,t,s,r);if(m!==ra)return m}if(s&&!r){const m=ka(s,t);if(m!==void 0)return m}const i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);const l=Da(e,e.typeName,t),n=typeof l=="function"?O(l(),t):l;if(n&&La(e,t,n),t.postProcess){const m=t.postProcess(n,e,t);return i.jsonSchema=n,m}return i.jsonSchema=n,n}var ka=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Fa(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,a)=>t.currentPath[a]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),W()):t.$refStrategy==="seen"?W():void 0}},La=(e,t,r)=>(e.description&&(r.description=e.description),r),Za=e=>{const t=aa(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([a,s])=>[s._def,{def:s._def,path:[...t.basePath,t.definitionPath,a],jsonSchema:void 0}]))}},$a=(e,t)=>{var r;const a=Za(t);let s=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((u,[c,p])=>{var y;return{...u,[c]:(y=O(p._def,{...a,currentPath:[...a.basePath,a.definitionPath,c]},!0))!=null?y:W()}},{}):void 0;const i=typeof t=="string"?t:(t==null?void 0:t.nameStrategy)==="title"||t==null?void 0:t.name,l=(r=O(e._def,i===void 0?a:{...a,currentPath:[...a.basePath,a.definitionPath,i]},!1))!=null?r:W(),n=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;n!==void 0&&(l.title=n);const m=i===void 0?s?{...l,[a.definitionPath]:s}:l:{$ref:[...a.$refStrategy==="relative"?[]:a.basePath,a.definitionPath,i].join("/"),[a.definitionPath]:{...s,[i]:l}};return m.$schema="http://json-schema.org/draft-07/schema#",m},rt=Symbol.for("vercel.ai.schema");function Ua(e){let t;return()=>(t==null&&(t=e()),t)}function Ke(e,{validate:t}={}){return{[rt]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}function qa(e){return typeof e=="object"&&e!==null&&rt in e&&e[rt]===!0&&"jsonSchema"in e&&"validate"in e}function ut(e){return e==null?Ke({type:"object",properties:{},additionalProperties:!1}):qa(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?nr(e):Wa(e):e()}function Wa(e){return Ke(()=>{if(!Ka(e))throw new Error(`Standard schema vendor '${e["~standard"].vendor}' does not support JSON Schema conversion.`);return lt(e["~standard"].jsonSchema.input({target:"draft-07"}))},{validate:async t=>{const r=await e["~standard"].validate(t);return"value"in r?{success:!0,value:r.value}:{success:!1,error:new Ee({value:t,cause:r.issues})}}})}function Ka(e){return e["~standard"].jsonSchema!=null}function Ba(e,t){var r;const a=(r=void 0)!=null?r:!1;return Ke(()=>$a(e,{$refStrategy:a?"root":"none"}),{validate:async s=>{const i=await e.safeParseAsync(s);return i.success?{success:!0,value:i.data}:{success:!1,error:i.error}}})}function Va(e,t){var r;const a=(r=void 0)!=null?r:!1;return Ke(()=>lt(Et.toJSONSchema(e,{target:"draft-7",io:"input",reused:a?"ref":"inline"})),{validate:async s=>{const i=await Et.safeParseAsync(e,s);return i.success?{success:!0,value:i.data}:{success:!1,error:i.error}}})}function Ja(e){return"_zod"in e}function nr(e,t){return Ja(e)?Va(e):Ba(e)}async function kt({value:e,schema:t,context:r}){const a=await Pe({value:e,schema:t,context:r});if(!a.success)throw Ee.wrap({value:e,cause:a.error,context:r});return a.value}async function Pe({value:e,schema:t,context:r}){const a=ut(t);try{if(a.validate==null)return{success:!0,value:e,rawValue:e};const s=await a.validate(e);return s.success?{success:!0,value:s.value,rawValue:e}:{success:!1,error:Ee.wrap({value:e,cause:s.error,context:r}),rawValue:e}}catch(s){return{success:!1,error:Ee.wrap({value:e,cause:s,context:r}),rawValue:e}}}async function fe({text:e,schema:t}){try{const r=ta(e);return t==null?{success:!0,value:r,rawValue:r}:await Pe({value:r,schema:t})}catch(r){return{success:!1,error:Mt.isInstance(r)?r:new Mt({text:e,cause:r}),rawValue:void 0}}}function Ha({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Hr).pipeThrough(new TransformStream({async transform({data:r},a){r!=="[DONE]"&&a.enqueue(await fe({text:r,schema:t}))}}))}async function oe(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}new TextDecoder;function Ya(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ga=Object.defineProperty,Qa=(e,t)=>{for(var r in t)Ga(e,r,{get:t[r],enumerable:!0})},ir="AI_NoObjectGeneratedError",or=`vercel.ai.error.${ir}`,Xa=Symbol.for(or),lr,le=class extends X{constructor({message:e="No object generated.",cause:t,text:r,response:a,usage:s,finishReason:i}){super({name:ir,message:e,cause:t}),this[lr]=!0,this.text=r,this.response=a,this.usage=s,this.finishReason=i}static isInstance(e){return X.hasMarker(e,or)}};lr=Xa;var ur="AI_UIMessageStreamError",cr=`vercel.ai.error.${ur}`,es=Symbol.for(cr),dr,pe=class extends X{constructor({chunkType:e,chunkId:t,message:r}){super({name:ur,message:r}),this[dr]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return X.hasMarker(e,cr)}};dr=es;var me=o.z.lazy(()=>o.z.union([o.z.null(),o.z.string(),o.z.number(),o.z.boolean(),o.z.record(o.z.string(),me.optional()),o.z.array(me)])),_=o.z.record(o.z.string(),o.z.record(o.z.string(),me.optional())),Re=o.z.union([o.z.string(),o.z.instanceof(Uint8Array),o.z.instanceof(ArrayBuffer),o.z.custom(Gr,{message:"Must be a Buffer"})]),ct=o.z.record(o.z.string(),o.z.string()),pr=o.z.object({type:o.z.literal("text"),text:o.z.string(),providerOptions:_.optional()}),ts=o.z.object({type:o.z.literal("image"),image:o.z.union([Re,o.z.instanceof(URL),ct]),mediaType:o.z.string().optional(),providerOptions:_.optional()}),fr=o.z.discriminatedUnion("type",[o.z.object({type:o.z.literal("data"),data:Re}),o.z.object({type:o.z.literal("url"),url:o.z.instanceof(URL)}),o.z.object({type:o.z.literal("reference"),reference:ct}),o.z.object({type:o.z.literal("text"),text:o.z.string()})]),rs=o.z.discriminatedUnion("type",[o.z.object({type:o.z.literal("data"),data:Re}),o.z.object({type:o.z.literal("url"),url:o.z.instanceof(URL)})]),mr=o.z.object({type:o.z.literal("file"),data:o.z.union([fr,Re,o.z.instanceof(URL),ct]),filename:o.z.string().optional(),mediaType:o.z.string(),providerOptions:_.optional()}),as=o.z.object({type:o.z.literal("reasoning"),text:o.z.string(),providerOptions:_.optional()}),ss=o.z.object({type:o.z.literal("custom"),kind:o.z.string().transform(e=>e),providerOptions:_.optional()}),ns=o.z.object({type:o.z.literal("reasoning-file"),data:o.z.union([rs,Re,o.z.instanceof(URL)]),mediaType:o.z.string(),providerOptions:_.optional()}),is=o.z.object({type:o.z.literal("tool-call"),toolCallId:o.z.string(),toolName:o.z.string(),input:o.z.unknown(),providerOptions:_.optional(),providerExecuted:o.z.boolean().optional()}),os=o.z.discriminatedUnion("type",[o.z.object({type:o.z.literal("text"),value:o.z.string(),providerOptions:_.optional()}),o.z.object({type:o.z.literal("json"),value:me,providerOptions:_.optional()}),o.z.object({type:o.z.literal("execution-denied"),reason:o.z.string().optional(),providerOptions:_.optional()}),o.z.object({type:o.z.literal("error-text"),value:o.z.string(),providerOptions:_.optional()}),o.z.object({type:o.z.literal("error-json"),value:me,providerOptions:_.optional()}),o.z.object({type:o.z.literal("content"),value:o.z.array(o.z.union([o.z.object({type:o.z.literal("text"),text:o.z.string(),providerOptions:_.optional()}),o.z.object({type:o.z.literal("file"),data:fr,mediaType:o.z.string(),filename:o.z.string().optional(),providerOptions:_.optional()}),o.z.object({type:o.z.literal("file-data"),data:o.z.string(),mediaType:o.z.string(),filename:o.z.string().optional(),providerOptions:_.optional()}),o.z.object({type:o.z.literal("file-url"),url:o.z.string(),mediaType:o.z.string().optional(),providerOptions:_.optional()}),o.z.object({type:o.z.literal("file-id"),fileId:o.z.union([o.z.string(),o.z.record(o.z.string(),o.z.string())]),providerOptions:_.optional()}),o.z.object({type:o.z.literal("file-reference"),providerReference:o.z.record(o.z.string(),o.z.string()),providerOptions:_.optional()}),o.z.object({type:o.z.literal("image-data"),data:o.z.string(),mediaType:o.z.string(),providerOptions:_.optional()}),o.z.object({type:o.z.literal("image-url"),url:o.z.string(),providerOptions:_.optional()}),o.z.object({type:o.z.literal("image-file-id"),fileId:o.z.union([o.z.string(),o.z.record(o.z.string(),o.z.string())]),providerOptions:_.optional()}),o.z.object({type:o.z.literal("image-file-reference"),providerReference:o.z.record(o.z.string(),o.z.string()),providerOptions:_.optional()}),o.z.object({type:o.z.literal("custom"),providerOptions:_.optional()})]))})]),gr=o.z.object({type:o.z.literal("tool-result"),toolCallId:o.z.string(),toolName:o.z.string(),output:os,providerOptions:_.optional()}),ls=o.z.object({type:o.z.literal("tool-approval-request"),approvalId:o.z.string(),toolCallId:o.z.string()}),us=o.z.object({type:o.z.literal("tool-approval-response"),approvalId:o.z.string(),approved:o.z.boolean(),reason:o.z.string().optional()}),cs=o.z.object({role:o.z.literal("system"),content:o.z.string(),providerOptions:_.optional()}),ds=o.z.object({role:o.z.literal("user"),content:o.z.union([o.z.string(),o.z.array(o.z.union([pr,ts,mr]))]),providerOptions:_.optional()}),ps=o.z.object({role:o.z.literal("assistant"),content:o.z.union([o.z.string(),o.z.array(o.z.union([pr,ss,mr,as,ns,is,gr,ls]))]),providerOptions:_.optional()}),fs=o.z.object({role:o.z.literal("tool"),content:o.z.array(o.z.union([gr,us])),providerOptions:_.optional()});o.z.union([cs,ds,ps,fs]);function hr(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const r={...e};for(const a in t)if(!(a==="__proto__"||a==="constructor"||a==="prototype")&&Object.prototype.hasOwnProperty.call(t,a)){const s=t[a];if(s===void 0)continue;const i=a in e?e[a]:void 0,l=s!==null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp),n=i!=null&&typeof i=="object"&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp);l&&n?r[a]=hr(i,s):r[a]=s}return r}var ms={};Qa(ms,{array:()=>ys,choice:()=>bs,json:()=>Ss,object:()=>vs,text:()=>hs});function gs(e){const t=["ROOT"];let r=-1,a=null,s=0;function i(c){return c>="0"&&c<="9"||c>="A"&&c<="F"||c>="a"&&c<="f"}function l(c,p,y){switch(c){case'"':{r=p,t.pop(),t.push(y),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{r=p,a=p,t.pop(),t.push(y),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(y),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=p,t.pop(),t.push(y),t.push("INSIDE_NUMBER");break}case"{":{r=p,t.pop(),t.push(y),t.push("INSIDE_OBJECT_START");break}case"[":{r=p,t.pop(),t.push(y),t.push("INSIDE_ARRAY_START");break}}}function n(c,p){switch(c){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{r=p,t.pop();break}}}function m(c,p){switch(c){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=p,t.pop();break}}}for(let c=0;c<e.length;c++){const p=e[c];switch(t[t.length-1]){case"ROOT":l(p,c,"FINISH");break;case"INSIDE_OBJECT_START":{switch(p){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{r=c,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(p){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(p){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(p){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{l(p,c,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{n(p,c);break}case"INSIDE_STRING":{switch(p){case'"':{t.pop(),r=c;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:r=c}break}case"INSIDE_ARRAY_START":{switch(p){case"]":{r=c,t.pop();break}default:{r=c,l(p,c,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(p){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=c,t.pop();break}default:{r=c;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{l(p,c,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),p==="u"?(s=0,t.push("INSIDE_STRING_UNICODE_ESCAPE")):r=c;break}case"INSIDE_STRING_UNICODE_ESCAPE":{i(p)&&(s++,s===4&&(t.pop(),r=c));break}case"INSIDE_NUMBER":{switch(p){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=c;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&m(p,c),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&n(p,c);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&n(p,c);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&m(p,c);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const v=e.substring(a,c+1);!"false".startsWith(v)&&!"true".startsWith(v)&&!"null".startsWith(v)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?n(p,c):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&m(p,c)):r=c;break}}}let u=e.slice(0,r+1);for(let c=t.length-1;c>=0;c--)switch(t[c]){case"INSIDE_STRING":{u+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{u+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{u+="]";break}case"INSIDE_LITERAL":{const y=e.substring(a,e.length);"true".startsWith(y)?u+="true".slice(y.length):"false".startsWith(y)?u+="false".slice(y.length):"null".startsWith(y)&&(u+="null".slice(y.length))}}return u}async function Oe(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await fe({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await fe({text:gs(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var hs=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){}}),vs=({schema:e,name:t,description:r})=>{const a=ut(e);return{name:"object",responseFormat:oe(a.jsonSchema).then(s=>({type:"json",schema:s,...t!=null&&{name:t},...r!=null&&{description:r}})),async parseCompleteOutput({text:s},i){const l=await fe({text:s});if(!l.success)throw new le({message:"No object generated: could not parse the response.",cause:l.error,text:s,response:i.response,usage:i.usage,finishReason:i.finishReason});const n=await Pe({value:l.value,schema:a});if(!n.success)throw new le({message:"No object generated: response did not match schema.",cause:n.error,text:s,response:i.response,usage:i.usage,finishReason:i.finishReason});return n.value},async parsePartialOutput({text:s}){const i=await Oe(s);switch(i.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:i.value}}},createElementStreamTransform(){}}},ys=({element:e,name:t,description:r})=>{const a=ut(e);return{name:"array",responseFormat:oe(a.jsonSchema).then(s=>{const{$schema:i,...l}=s;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:l}},required:["elements"],additionalProperties:!1},...t!=null&&{name:t},...r!=null&&{description:r}}}),async parseCompleteOutput({text:s},i){const l=await fe({text:s});if(!l.success)throw new le({message:"No object generated: could not parse the response.",cause:l.error,text:s,response:i.response,usage:i.usage,finishReason:i.finishReason});const n=l.value;if(n==null||typeof n!="object"||!("elements"in n)||!Array.isArray(n.elements))throw new le({message:"No object generated: response did not match schema.",cause:new Ee({value:n,cause:"response must be an object with an elements array"}),text:s,response:i.response,usage:i.usage,finishReason:i.finishReason});const m=[];for(const u of n.elements){const c=await Pe({value:u,schema:a});if(!c.success)throw new le({message:"No object generated: response did not match schema.",cause:c.error,text:s,response:i.response,usage:i.usage,finishReason:i.finishReason});m.push(c.value)}return m},async parsePartialOutput({text:s}){const i=await Oe(s);switch(i.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const l=i.value;if(l==null||typeof l!="object"||!("elements"in l)||!Array.isArray(l.elements))return;const n=i.state==="repaired-parse"&&l.elements.length>0?l.elements.slice(0,-1):l.elements,m=[];for(const u of n){const c=await Pe({value:u,schema:a});c.success&&m.push(c.value)}return{partial:m}}}},createElementStreamTransform(){let s=0;return new TransformStream({transform({partialOutput:i},l){if(i!=null)for(;s<i.length;s++)l.enqueue(i[s])}})}}},bs=({options:e,name:t,description:r})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...t!=null&&{name:t},...r!=null&&{description:r}}),async parseCompleteOutput({text:a},s){const i=await fe({text:a});if(!i.success)throw new le({message:"No object generated: could not parse the response.",cause:i.error,text:a,response:s.response,usage:s.usage,finishReason:s.finishReason});const l=i.value;if(l==null||typeof l!="object"||!("result"in l)||typeof l.result!="string"||!e.includes(l.result))throw new le({message:"No object generated: response did not match schema.",cause:new Ee({value:l,cause:"response must be an object that contains a choice value."}),text:a,response:s.response,usage:s.usage,finishReason:s.finishReason});return l.result},async parsePartialOutput({text:a}){const s=await Oe(a);switch(s.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const i=s.value;if(i==null||typeof i!="object"||!("result"in i)||typeof i.result!="string")return;const l=e.filter(n=>n.startsWith(i.result));return s.state==="successful-parse"?l.includes(i.result)?{partial:i.result}:void 0:l.length===1?{partial:l[0]}:void 0}}},createElementStreamTransform(){}}),Ss=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:r},a){const s=await fe({text:r});if(!s.success)throw new le({message:"No object generated: could not parse the response.",cause:s.error,text:r,response:a.response,usage:a.usage,finishReason:a.finishReason});return s.value},async parsePartialOutput({text:r}){const a=await Oe(r);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return a.value===void 0?void 0:{partial:a.value}}},createElementStreamTransform(){}});new TextEncoder;new TextEncoder;V({prefix:"aitxt",size:24});V({prefix:"call",size:24});(class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
17
17
 
18
18
  `)},flush(e){e.enqueue(`data: [DONE]
19
19
 
20
- `)}})}});var Ce=i.z.record(i.z.string(),de.optional()),os=_a(()=>Ht(i.z.union([i.z.strictObject({type:i.z.literal("text-start"),id:i.z.string(),providerMetadata:x.optional()}),i.z.strictObject({type:i.z.literal("text-delta"),id:i.z.string(),delta:i.z.string(),providerMetadata:x.optional()}),i.z.strictObject({type:i.z.literal("text-end"),id:i.z.string(),providerMetadata:x.optional()}),i.z.strictObject({type:i.z.literal("error"),errorText:i.z.string()}),i.z.strictObject({type:i.z.literal("tool-input-start"),toolCallId:i.z.string(),toolName:i.z.string(),providerExecuted:i.z.boolean().optional(),providerMetadata:x.optional(),toolMetadata:Ce.optional(),dynamic:i.z.boolean().optional(),title:i.z.string().optional()}),i.z.strictObject({type:i.z.literal("tool-input-delta"),toolCallId:i.z.string(),inputTextDelta:i.z.string()}),i.z.strictObject({type:i.z.literal("tool-input-available"),toolCallId:i.z.string(),toolName:i.z.string(),input:i.z.unknown(),providerExecuted:i.z.boolean().optional(),providerMetadata:x.optional(),toolMetadata:Ce.optional(),dynamic:i.z.boolean().optional(),title:i.z.string().optional()}),i.z.strictObject({type:i.z.literal("tool-input-error"),toolCallId:i.z.string(),toolName:i.z.string(),input:i.z.unknown(),providerExecuted:i.z.boolean().optional(),providerMetadata:x.optional(),toolMetadata:Ce.optional(),dynamic:i.z.boolean().optional(),errorText:i.z.string(),title:i.z.string().optional()}),i.z.strictObject({type:i.z.literal("tool-approval-request"),approvalId:i.z.string(),toolCallId:i.z.string(),isAutomatic:i.z.boolean().optional(),signature:i.z.string().optional()}),i.z.strictObject({type:i.z.literal("tool-approval-response"),approvalId:i.z.string(),approved:i.z.boolean(),reason:i.z.string().optional(),providerExecuted:i.z.boolean().optional(),providerMetadata:x.optional()}),i.z.strictObject({type:i.z.literal("tool-output-available"),toolCallId:i.z.string(),output:i.z.unknown(),providerExecuted:i.z.boolean().optional(),providerMetadata:x.optional(),toolMetadata:Ce.optional(),dynamic:i.z.boolean().optional(),preliminary:i.z.boolean().optional()}),i.z.strictObject({type:i.z.literal("tool-output-error"),toolCallId:i.z.string(),errorText:i.z.string(),providerExecuted:i.z.boolean().optional(),providerMetadata:x.optional(),toolMetadata:Ce.optional(),dynamic:i.z.boolean().optional()}),i.z.strictObject({type:i.z.literal("tool-output-denied"),toolCallId:i.z.string()}),i.z.strictObject({type:i.z.literal("reasoning-start"),id:i.z.string(),providerMetadata:x.optional()}),i.z.strictObject({type:i.z.literal("reasoning-delta"),id:i.z.string(),delta:i.z.string(),providerMetadata:x.optional()}),i.z.strictObject({type:i.z.literal("reasoning-end"),id:i.z.string(),providerMetadata:x.optional()}),i.z.strictObject({type:i.z.literal("custom"),kind:i.z.string().transform(e=>e),providerMetadata:x.optional()}),i.z.strictObject({type:i.z.literal("source-url"),sourceId:i.z.string(),url:i.z.string(),title:i.z.string().optional(),providerMetadata:x.optional()}),i.z.strictObject({type:i.z.literal("source-document"),sourceId:i.z.string(),mediaType:i.z.string(),title:i.z.string(),filename:i.z.string().optional(),providerMetadata:x.optional()}),i.z.strictObject({type:i.z.literal("file"),url:i.z.string(),mediaType:i.z.string(),providerMetadata:x.optional()}),i.z.strictObject({type:i.z.literal("reasoning-file"),url:i.z.string(),mediaType:i.z.string(),providerMetadata:x.optional()}),i.z.strictObject({type:i.z.custom(e=>typeof e=="string"&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:i.z.string().optional(),data:i.z.unknown(),transient:i.z.boolean().optional()}),i.z.strictObject({type:i.z.literal("start-step")}),i.z.strictObject({type:i.z.literal("finish-step")}),i.z.strictObject({type:i.z.literal("start"),messageId:i.z.string().optional(),messageMetadata:i.z.unknown().optional()}),i.z.strictObject({type:i.z.literal("finish"),finishReason:i.z.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:i.z.unknown().optional()}),i.z.strictObject({type:i.z.literal("abort"),reason:i.z.string().optional()}),i.z.strictObject({type:i.z.literal("message-metadata"),messageMetadata:i.z.unknown()})])));function ls(e){return e.type.startsWith("data-")}function Ie(){return Object.create(null)}function He(e){return e.type.startsWith("tool-")}function or(e){return e.type==="dynamic-tool"}function ve(e){return He(e)||or(e)}function Ye(e){return e.type.split("-").slice(1).join("-")}function us(e){return or(e)?e.toolName:Ye(e)}function cs({lastMessage:e,messageId:t}){return{message:(e==null?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:Ie(),activeReasoningParts:Ie(),partialToolCalls:Ie()}}function ds({stream:e,messageMetadataSchema:t,dataPartSchemas:r,runUpdateMessageJob:a,onError:s,onToolCall:o,onData:l}){return e.pipeThrough(new TransformStream({async transform(n,m){await a(async({state:u,write:c})=>{var p,y,b,A;function w(d){const h=u.message.parts.filter(ve).find(S=>S.toolCallId===d);if(h==null)throw new ue({chunkType:"tool-invocation",chunkId:d,message:`No tool invocation found for tool call ID "${d}".`});return h}function E(d){const h=u.message.parts.filter(ve).find(S=>{var v;return((v=S.approval)==null?void 0:v.id)===d});if(h==null)throw new ue({chunkType:"tool-approval-response",chunkId:d,message:`No tool invocation found for approval ID "${d}".`});return h}function z(d){var g;const h=u.message.parts.find(I=>He(I)&&I.toolCallId===d.toolCallId),S=d,v=h;if(h!=null){h.state=d.state,v.input=S.input,v.output=S.output,v.errorText=S.errorText,v.rawInput=S.rawInput,v.preliminary=S.preliminary,d.title!==void 0&&(v.title=d.title),d.toolMetadata!==void 0&&(v.toolMetadata=d.toolMetadata),v.providerExecuted=(g=S.providerExecuted)!=null?g:h.providerExecuted;const I=S.providerMetadata;if(I!=null)if(d.state==="output-available"||d.state==="output-error"){const D=h;D.resultProviderMetadata=I}else h.callProviderMetadata=I}else u.message.parts.push({type:`tool-${d.toolName}`,toolCallId:d.toolCallId,state:d.state,title:d.title,...d.toolMetadata!==void 0?{toolMetadata:d.toolMetadata}:{},input:S.input,output:S.output,rawInput:S.rawInput,errorText:S.errorText,providerExecuted:S.providerExecuted,preliminary:S.preliminary,...S.providerMetadata!=null&&(d.state==="output-available"||d.state==="output-error")?{resultProviderMetadata:S.providerMetadata}:{},...S.providerMetadata!=null&&!(d.state==="output-available"||d.state==="output-error")?{callProviderMetadata:S.providerMetadata}:{}})}function T(d){var g,h;const S=u.message.parts.find(D=>D.type==="dynamic-tool"&&D.toolCallId===d.toolCallId),v=d,I=S;if(S!=null){S.state=d.state,I.toolName=d.toolName,I.input=v.input,I.output=v.output,I.errorText=v.errorText,I.rawInput=(g=v.rawInput)!=null?g:I.rawInput,I.preliminary=v.preliminary,d.title!==void 0&&(I.title=d.title),d.toolMetadata!==void 0&&(I.toolMetadata=d.toolMetadata),I.providerExecuted=(h=v.providerExecuted)!=null?h:S.providerExecuted;const D=v.providerMetadata;if(D!=null)if(d.state==="output-available"||d.state==="output-error"){const ee=S;ee.resultProviderMetadata=D}else S.callProviderMetadata=D}else u.message.parts.push({type:"dynamic-tool",toolName:d.toolName,toolCallId:d.toolCallId,state:d.state,input:v.input,output:v.output,errorText:v.errorText,preliminary:v.preliminary,providerExecuted:v.providerExecuted,title:d.title,...d.toolMetadata!==void 0?{toolMetadata:d.toolMetadata}:{},...v.providerMetadata!=null&&(d.state==="output-available"||d.state==="output-error")?{resultProviderMetadata:v.providerMetadata}:{},...v.providerMetadata!=null&&!(d.state==="output-available"||d.state==="output-error")?{callProviderMetadata:v.providerMetadata}:{}})}async function P(d){if(d!=null){const g=u.message.metadata!=null?ir(u.message.metadata,d):d;t!=null&&await Mt({value:g,schema:t,context:{field:"message.metadata",entityId:u.message.id}}),u.message.metadata=g}}switch(n.type){case"text-start":{const d={type:"text",text:"",providerMetadata:n.providerMetadata,state:"streaming"};u.activeTextParts[n.id]=d,u.message.parts.push(d),c();break}case"text-delta":{const d=u.activeTextParts[n.id];if(d==null)throw new ue({chunkType:"text-delta",chunkId:n.id,message:`Received text-delta for missing text part with ID "${n.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});d.text+=n.delta,d.providerMetadata=(p=n.providerMetadata)!=null?p:d.providerMetadata,c();break}case"text-end":{const d=u.activeTextParts[n.id];if(d==null)throw new ue({chunkType:"text-end",chunkId:n.id,message:`Received text-end for missing text part with ID "${n.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});d.state="done",d.providerMetadata=(y=n.providerMetadata)!=null?y:d.providerMetadata,delete u.activeTextParts[n.id],c();break}case"custom":{const d={type:"custom",kind:n.kind,providerMetadata:n.providerMetadata};u.message.parts.push(d),c();break}case"reasoning-start":{const d={type:"reasoning",text:"",providerMetadata:n.providerMetadata,state:"streaming"};u.activeReasoningParts[n.id]=d,u.message.parts.push(d),c();break}case"reasoning-delta":{const d=u.activeReasoningParts[n.id];if(d==null)throw new ue({chunkType:"reasoning-delta",chunkId:n.id,message:`Received reasoning-delta for missing reasoning part with ID "${n.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});d.text+=n.delta,d.providerMetadata=(b=n.providerMetadata)!=null?b:d.providerMetadata,c();break}case"reasoning-end":{const d=u.activeReasoningParts[n.id];if(d==null)throw new ue({chunkType:"reasoning-end",chunkId:n.id,message:`Received reasoning-end for missing reasoning part with ID "${n.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});d.providerMetadata=(A=n.providerMetadata)!=null?A:d.providerMetadata,d.state="done",delete u.activeReasoningParts[n.id],c();break}case"file":case"reasoning-file":{u.message.parts.push({type:n.type,mediaType:n.mediaType,url:n.url,...n.providerMetadata!=null?{providerMetadata:n.providerMetadata}:{}}),c();break}case"source-url":{u.message.parts.push({type:"source-url",sourceId:n.sourceId,url:n.url,title:n.title,providerMetadata:n.providerMetadata}),c();break}case"source-document":{u.message.parts.push({type:"source-document",sourceId:n.sourceId,mediaType:n.mediaType,title:n.title,filename:n.filename,providerMetadata:n.providerMetadata}),c();break}case"tool-input-start":{const d=u.message.parts.filter(He);u.partialToolCalls[n.toolCallId]={text:"",toolName:n.toolName,index:d.length,dynamic:n.dynamic,title:n.title,toolMetadata:n.toolMetadata},n.dynamic?T({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-streaming",input:void 0,providerExecuted:n.providerExecuted,title:n.title,toolMetadata:n.toolMetadata,providerMetadata:n.providerMetadata}):z({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-streaming",input:void 0,providerExecuted:n.providerExecuted,title:n.title,toolMetadata:n.toolMetadata,providerMetadata:n.providerMetadata}),c();break}case"tool-input-delta":{const d=u.partialToolCalls[n.toolCallId];if(d==null)throw new ue({chunkType:"tool-input-delta",chunkId:n.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${n.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});d.text+=n.inputTextDelta;const{value:g}=await _e(d.text);d.dynamic?T({toolCallId:n.toolCallId,toolName:d.toolName,state:"input-streaming",input:g,title:d.title,toolMetadata:d.toolMetadata}):z({toolCallId:n.toolCallId,toolName:d.toolName,state:"input-streaming",input:g,title:d.title,toolMetadata:d.toolMetadata}),c();break}case"tool-input-available":{n.dynamic?T({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-available",input:n.input,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:n.title,toolMetadata:n.toolMetadata}):z({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-available",input:n.input,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:n.title,toolMetadata:n.toolMetadata}),c(),o&&!n.providerExecuted&&await o({toolCall:n});break}case"tool-input-error":{const d=u.message.parts.filter(ve).find(h=>h.toolCallId===n.toolCallId);(d!=null?d.type==="dynamic-tool":!!n.dynamic)?T({toolCallId:n.toolCallId,toolName:n.toolName,state:"output-error",input:n.input,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,toolMetadata:n.toolMetadata}):z({toolCallId:n.toolCallId,toolName:n.toolName,state:"output-error",input:void 0,rawInput:n.input,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,toolMetadata:n.toolMetadata}),c();break}case"tool-approval-request":{const d=w(n.toolCallId);d.state="approval-requested",d.approval={id:n.approvalId,...n.isAutomatic===!0?{isAutomatic:!0}:{},...n.signature!=null?{signature:n.signature}:{}},c();break}case"tool-approval-response":{const d=E(n.approvalId),g=d.approval==null?{id:n.approvalId}:d.approval;d.state="approval-responded",d.approval={id:n.approvalId,approved:n.approved,...n.reason!=null?{reason:n.reason}:{},...g.isAutomatic===!0?{isAutomatic:!0}:{},...g.signature!=null?{signature:g.signature}:{}},n.providerExecuted!=null&&(d.providerExecuted=n.providerExecuted),n.providerMetadata!=null&&(d.callProviderMetadata=n.providerMetadata),c();break}case"tool-output-denied":{const d=w(n.toolCallId);d.state="output-denied",c();break}case"tool-output-available":{const d=w(n.toolCallId);d.type==="dynamic-tool"?T({toolCallId:n.toolCallId,toolName:d.toolName,state:"output-available",input:d.input,output:n.output,preliminary:n.preliminary,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:d.title,toolMetadata:d.toolMetadata}):z({toolCallId:n.toolCallId,toolName:Ye(d),state:"output-available",input:d.input,output:n.output,providerExecuted:n.providerExecuted,preliminary:n.preliminary,providerMetadata:n.providerMetadata,title:d.title,toolMetadata:d.toolMetadata}),c();break}case"tool-output-error":{const d=w(n.toolCallId);d.type==="dynamic-tool"?T({toolCallId:n.toolCallId,toolName:d.toolName,state:"output-error",input:d.input,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:d.title,toolMetadata:d.toolMetadata}):z({toolCallId:n.toolCallId,toolName:Ye(d),state:"output-error",input:d.input,rawInput:d.rawInput,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:d.title,toolMetadata:d.toolMetadata}),c();break}case"start-step":{u.message.parts.push({type:"step-start"});break}case"finish-step":{u.activeTextParts=Ie(),u.activeReasoningParts=Ie();break}case"start":{n.messageId!=null&&(u.message.id=n.messageId),await P(n.messageMetadata),(n.messageId!=null||n.messageMetadata!=null)&&c();break}case"finish":{n.finishReason!=null&&(u.finishReason=n.finishReason),await P(n.messageMetadata),n.messageMetadata!=null&&c();break}case"message-metadata":{await P(n.messageMetadata),n.messageMetadata!=null&&c();break}case"error":{s==null||s(new Error(n.errorText));break}default:if(ls(n)){if((r==null?void 0:r[n.type])!=null){const h=u.message.parts.findIndex(v=>"id"in v&&"data"in v&&v.id===n.id&&v.type===n.type),S=h>=0?h:u.message.parts.length;await Mt({value:n.data,schema:r[n.type],context:{field:`message.parts[${S}].data`,entityName:n.type,entityId:n.id}})}const d=n;if(d.transient){l==null||l(d);break}const g=d.id!=null?u.message.parts.find(h=>d.type===h.type&&d.id===h.id):void 0;g!=null?g.data=d.data:u.message.parts.push(d),l==null||l(d),c()}}m.enqueue(n)})}}))}async function ps({stream:e,onError:t}){const r=e.getReader();try{for(;;){const{done:a}=await r.read();if(a)break}}catch(a){t==null||t(a)}finally{r.releaseLock()}}K({prefix:"aitxt",size:24});K({prefix:"call",size:24});K({prefix:"aitxt",size:24});K({prefix:"call",size:24});i.z.record(i.z.string(),de.optional());i.z.record(i.z.string(),i.z.string());K({prefix:"call",size:24});K({prefix:"call",size:24});K({prefix:"aiobj",size:24});var fs=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,r)=>{this.queue.push(async()=>{try{await e(),t()}catch(a){r(a)}}),this.processQueue()})}};K({prefix:"aiobj",size:24});K({prefix:"call",size:24});async function ms(e){if(e==null)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw new Error("FileList is not supported in the current environment");return Promise.all(Array.from(e).map(async t=>{const{name:r,type:a}=t,s=await new Promise((o,l)=>{const n=new FileReader;n.onload=m=>{var u;o((u=m.target)==null?void 0:u.result)},n.onerror=m=>l(m),n.readAsDataURL(t)});return{type:"file",mediaType:a,filename:r,url:s}}))}var gs=class{constructor({api:e="/api/chat",credentials:t,headers:r,body:a,fetch:s,prepareSendMessagesRequest:o,prepareReconnectToStreamRequest:l}){this.api=e,this.credentials=t,this.headers=r,this.body=a,this.fetch=s,this.prepareSendMessagesRequest=o,this.prepareReconnectToStreamRequest=l}async sendMessages({abortSignal:e,...t}){var r,a,s,o,l;const n=await se(this.body),m=await se(this.headers),u=await se(this.credentials),c={...me(m),...me(t.headers)},p=await((r=this.prepareSendMessagesRequest)==null?void 0:r.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...n,...t.body},headers:c,credentials:u,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),y=(a=p==null?void 0:p.api)!=null?a:this.api,b=(p==null?void 0:p.headers)!==void 0?me(p.headers):c,A=(p==null?void 0:p.body)!==void 0?p.body:{...n,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},w=(s=p==null?void 0:p.credentials)!=null?s:u,z=await((o=this.fetch)!=null?o:globalThis.fetch)(y,{method:"POST",headers:{"Content-Type":"application/json",...b},body:JSON.stringify(A),credentials:w,signal:e});if(!z.ok)throw new Error((l=await z.text())!=null?l:"Failed to fetch the chat response.");if(!z.body)throw new Error("The response body is empty.");return this.processResponseStream(z.body)}async reconnectToStream(e){var t,r,a,s,o;const l=await se(this.body),n=await se(this.headers),m=await se(this.credentials),u={...me(n),...me(e.headers)},c=await((t=this.prepareReconnectToStreamRequest)==null?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...l,...e.body},headers:u,credentials:m,requestMetadata:e.metadata})),p=(r=c==null?void 0:c.api)!=null?r:`${this.api}/${e.chatId}/stream`,y=(c==null?void 0:c.headers)!==void 0?me(c.headers):u,b=(a=c==null?void 0:c.credentials)!=null?a:m,w=await((s=this.fetch)!=null?s:globalThis.fetch)(p,{method:"GET",headers:y,credentials:b});if(w.status===204)return null;if(!w.ok)throw new Error((o=await w.text())!=null?o:"Failed to fetch the chat response.");if(!w.body)throw new Error("The response body is empty.");return this.processResponseStream(w.body)}},at=class extends gs{constructor(e={}){super(e)}processResponseStream(e){return ja({stream:e,schema:os}).pipeThrough(new TransformStream({async transform(t,r){if(!t.success)throw t.error;r.enqueue(t.value)}}))}},hs=class{constructor({generateId:e=Dr,id:t=e(),transport:r=new at,messageMetadataSchema:a,dataPartSchemas:s,state:o,onError:l,onToolCall:n,onFinish:m,onData:u,sendAutomaticallyWhen:c}){this.activeResponse=void 0,this.jobExecutor=new fs,this.sendMessage=async(p,y)=>{var b,A,w,E;if(p==null){await this.makeRequest({trigger:"submit-message",messageId:(b=this.lastMessage)==null?void 0:b.id,...y});return}let z;if("text"in p||"files"in p?z={parts:[...Array.isArray(p.files)?p.files:await ms(p.files),..."text"in p&&p.text!=null?[{type:"text",text:p.text}]:[]]}:z=p,p.messageId!=null){const T=this.state.messages.findIndex(P=>P.id===p.messageId);if(T===-1)throw new Error(`message with id ${p.messageId} not found`);if(this.state.messages[T].role!=="user")throw new Error(`message with id ${p.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,T+1),this.state.replaceMessage(T,{...z,id:p.messageId,role:(A=z.role)!=null?A:"user",metadata:p.metadata})}else this.state.pushMessage({...z,id:(w=z.id)!=null?w:this.generateId(),role:(E=z.role)!=null?E:"user",metadata:p.metadata});await this.makeRequest({trigger:"submit-message",messageId:p.messageId,...y})},this.regenerate=async({messageId:p,...y}={})=>{const b=p==null?this.state.messages.length-1:this.state.messages.findIndex(A=>A.id===p);if(b===-1)throw new Error(`message ${p} not found`);this.state.messages=this.state.messages.slice(0,this.messages[b].role==="assistant"?b:b+1),await this.makeRequest({trigger:"regenerate-message",messageId:p,...y})},this.resumeStream=async(p={})=>{await this.makeRequest({trigger:"resume-stream",...p})},this.clearError=()=>{this.status==="error"&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolApprovalResponse=async({id:p,approved:y,reason:b,options:A})=>this.jobExecutor.run(async()=>{const w=this.state.messages,E=w[w.length-1],z=T=>ve(T)&&T.state==="approval-requested"&&T.approval.id===p?{...T,state:"approval-responded",approval:{...T.approval,id:p,approved:y,reason:b}}:T;this.state.replaceMessage(w.length-1,{...E,parts:E.parts.map(z)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(z)),this.status!=="streaming"&&this.status!=="submitted"&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(T=>{var P;T&&this.makeRequest({trigger:"submit-message",messageId:(P=this.lastMessage)==null?void 0:P.id,...A})})}),this.addToolOutput=async({state:p="output-available",toolCallId:y,output:b,errorText:A,options:w})=>this.jobExecutor.run(async()=>{const E=this.state.messages,z=E[E.length-1],T=P=>ve(P)&&P.toolCallId===y?{...P,state:p,output:b,errorText:A}:P;this.state.replaceMessage(E.length-1,{...z,parts:z.parts.map(T)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(T)),this.status!=="streaming"&&this.status!=="submitted"&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(P=>{var d;P&&this.makeRequest({trigger:"submit-message",messageId:(d=this.lastMessage)==null?void 0:d.id,...w})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var p;this.status!=="streaming"&&this.status!=="submitted"||(p=this.activeResponse)!=null&&p.abortController&&this.activeResponse.abortController.abort()},this.id=t,this.transport=r,this.generateId=e,this.messageMetadataSchema=a,this.dataPartSchemas=s,this.state=o,this.onError=l,this.onToolCall=n,this.onFinish=m,this.onData=u,this.sendAutomaticallyWhen=c}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;const e=this.sendAutomaticallyWhen({messages:this.state.messages});return e&&typeof e=="object"&&"then"in e?await e:e}async makeRequest({trigger:e,metadata:t,headers:r,body:a,messageId:s}){var o,l;let n;if(e==="resume-stream")try{const b=await this.transport.reconnectToStream({chatId:this.id,metadata:t,headers:r,body:a});if(b==null)return;n=b}catch(b){this.onError&&b instanceof Error&&this.onError(b),this.setStatus({status:"error",error:b});return}this.setStatus({status:"submitted",error:void 0});const m=this.lastMessage;let u=!1,c=!1,p=!1,y;try{const b={state:cs({lastMessage:this.state.snapshot(m),messageId:this.generateId()}),abortController:new AbortController};y=b,b.abortController.signal.addEventListener("abort",()=>{u=!0}),this.activeResponse=b;let A;e==="resume-stream"?A=n:A=await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:b.abortController.signal,metadata:t,headers:r,body:a,trigger:e,messageId:s});const w=E=>this.jobExecutor.run(()=>E({state:b.state,write:()=>{var z;this.setStatus({status:"streaming"}),b.state.message.id===((z=this.lastMessage)==null?void 0:z.id)?this.state.replaceMessage(this.state.messages.length-1,b.state.message):this.state.pushMessage(b.state.message)}}));await ps({stream:ds({stream:A,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:w,onError:E=>{throw E}}),onError:E=>{throw E}}),this.setStatus({status:"ready"})}catch(b){if(u||b.name==="AbortError")return u=!0,this.setStatus({status:"ready"}),null;p=!0,b instanceof TypeError&&(b.message.toLowerCase().includes("fetch")||b.message.toLowerCase().includes("network"))&&(c=!0),this.onError&&b instanceof Error&&this.onError(b),this.setStatus({status:"error",error:b})}finally{try{y&&((o=this.onFinish)==null||o.call(this,{message:y.state.message,messages:this.state.messages,isAbort:u,isDisconnect:c,isError:p,finishReason:y.state.finishReason}))}catch(b){console.error(b)}this.activeResponse===y&&(this.activeResponse=void 0)}!p&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:(l=this.lastMessage)==null?void 0:l.id,metadata:t,headers:r,body:a})}};function vs(e,t){if(typeof e!="function")throw new TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let r,a=0;return function(...o){clearTimeout(r);const l=Date.now(),n=l-a,m=t-n;m<=0?(a=l,e.apply(this,o)):r=setTimeout(()=>{a=Date.now(),e.apply(this,o)},m)}}var ys=vs;const bs=Da(ys);var lr=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},j=(e,t,r)=>(lr(e,t,"read from private field"),r?r.call(e):t.get(e)),G=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},ae=(e,t,r,a)=>(lr(e,t,"write to private field"),t.set(e,r),r);function Ss(e,t){return t!=null?bs(e,t):e}var W,Re,Oe,Ee,ze,Te,ge,Ge,Qe,Cs=class{constructor(e=[]){G(this,W,void 0),G(this,Re,"ready"),G(this,Oe,void 0),G(this,Ee,new Set),G(this,ze,new Set),G(this,Te,new Set),this.pushMessage=t=>{ae(this,W,j(this,W).concat(t)),j(this,ge).call(this)},this.popMessage=()=>{ae(this,W,j(this,W).slice(0,-1)),j(this,ge).call(this)},this.replaceMessage=(t,r)=>{ae(this,W,[...j(this,W).slice(0,t),this.snapshot(r),...j(this,W).slice(t+1)]),j(this,ge).call(this)},this.snapshot=t=>structuredClone(t),this["~registerMessagesCallback"]=(t,r)=>{const a=r?Ss(t,r):t;return j(this,Ee).add(a),()=>{j(this,Ee).delete(a)}},this["~registerStatusCallback"]=t=>(j(this,ze).add(t),()=>{j(this,ze).delete(t)}),this["~registerErrorCallback"]=t=>(j(this,Te).add(t),()=>{j(this,Te).delete(t)}),G(this,ge,()=>{j(this,Ee).forEach(t=>t())}),G(this,Ge,()=>{j(this,ze).forEach(t=>t())}),G(this,Qe,()=>{j(this,Te).forEach(t=>t())}),ae(this,W,e)}get status(){return j(this,Re)}set status(e){ae(this,Re,e),j(this,Ge).call(this)}get error(){return j(this,Oe)}set error(e){ae(this,Oe,e),j(this,Qe).call(this)}get messages(){return j(this,W)}set messages(e){ae(this,W,[...e]),j(this,ge).call(this)}};W=new WeakMap;Re=new WeakMap;Oe=new WeakMap;Ee=new WeakMap;ze=new WeakMap;Te=new WeakMap;ge=new WeakMap;Ge=new WeakMap;Qe=new WeakMap;var he,At=class extends hs{constructor({messages:e,...t}){const r=new Cs(e);super({...t,state:r}),G(this,he,void 0),this["~registerMessagesCallback"]=(a,s)=>j(this,he)["~registerMessagesCallback"](a,s),this["~registerStatusCallback"]=a=>j(this,he)["~registerStatusCallback"](a),this["~registerErrorCallback"]=a=>j(this,he)["~registerErrorCallback"](a),ae(this,he,r)}};he=new WeakMap;function Es({throttle:e,experimental_throttle:t,resume:r=!1,...a}={}){const s=e??t,o=f.useRef({});"chat"in a||(o.current={onToolCall:a.onToolCall,onData:a.onData,onFinish:a.onFinish,onError:a.onError,sendAutomaticallyWhen:a.sendAutomaticallyWhen,transport:a.transport});let l;const n=()=>{var E;return(E=o.current.transport)!=null?E:l??(l=new at)},m={...a,transport:{sendMessages:E=>n().sendMessages(E),reconnectToStream:E=>n().reconnectToStream(E)},onToolCall:E=>{var z,T;return(T=(z=o.current).onToolCall)==null?void 0:T.call(z,E)},onData:E=>{var z,T;return(T=(z=o.current).onData)==null?void 0:T.call(z,E)},onFinish:E=>{var z,T;return(T=(z=o.current).onFinish)==null?void 0:T.call(z,E)},onError:E=>{var z,T;return(T=(z=o.current).onError)==null?void 0:T.call(z,E)},sendAutomaticallyWhen:E=>{var z,T,P;return(P=(T=(z=o.current).sendAutomaticallyWhen)==null?void 0:T.call(z,E))!=null?P:!1}},u=f.useRef("chat"in a?a.chat:new At(m));("chat"in a&&a.chat!==u.current||"id"in a&&a.id!=null&&u.current.id!==a.id)&&(u.current="chat"in a?a.chat:new At(m));const p=f.useCallback(E=>u.current["~registerMessagesCallback"](E,s),[s,u.current.id]),y=f.useSyncExternalStore(p,()=>u.current.messages,()=>u.current.messages),b=f.useSyncExternalStore(u.current["~registerStatusCallback"],()=>u.current.status,()=>u.current.status),A=f.useSyncExternalStore(u.current["~registerErrorCallback"],()=>u.current.error,()=>u.current.error),w=f.useCallback(E=>{typeof E=="function"&&(E=E(u.current.messages)),u.current.messages=E},[u]);return f.useEffect(()=>{r&&u.current.resumeStream()},[r,u]),{id:u.current.id,messages:y,setMessages:w,sendMessage:u.current.sendMessage,regenerate:u.current.regenerate,clearError:u.current.clearError,stop:u.current.stop,error:A,resumeStream:u.current.resumeStream,status:b,addToolResult:u.current.addToolOutput,addToolOutput:u.current.addToolOutput,addToolApprovalResponse:u.current.addToolApprovalResponse}}class Pt{constructor(t){this.buffer=[],this.cap=Math.max(1,Math.floor(t))}get size(){return this.buffer.length}get items(){return this.buffer}enqueue(t){return this.buffer.length>=this.cap?!1:(this.buffer.push(t),!0)}dequeueNext(){return this.buffer.shift()??null}removeWhere(t){const r=this.buffer.findIndex(t);if(r===-1)return null;const[a]=this.buffer.splice(r,1);return a??null}}const zs=U.z.union([U.z.string(),U.z.looseObject({id:U.z.string().optional(),label:U.z.string()})]),Ts=U.z.looseObject({id:U.z.string().optional(),prompt:U.z.string(),selection:U.z.enum(["single","multiple"]).default("single"),options:U.z.array(zs).min(1)}),Is=U.z.looseObject({request_id:U.z.string().optional(),questions:U.z.array(Ts).min(1)});function ws(e){return!!(e!=null&&e.includes("ask_questions"))}const xs=[/\bi[’'ʼ‘]?ll\s+(type|describe|enter|write|tell)\b/i,/\b(type|describe|enter|write|tell)\s+(it|my\s+own|manually)\b/i,/^\s*(other|custom|none\s+of\s+the\s+above|something\s+else)\s*\.?\s*$/i];function _s(e){return xs.some(t=>t.test(e))}function Ms(e,t){return{request_id:e.request_id??t??"req-clarification",questions:e.questions.map((r,a)=>({id:r.id??`q${a}`,prompt:r.prompt,selection:r.selection,options:r.options.map((s,o)=>typeof s=="string"?{id:`q${a}-o${o}`,label:s}:{id:s.id??`q${a}-o${o}`,label:s.label}).filter(s=>!_s(s.label))}))}}function Ke(e){try{return JSON.parse(e)}catch{return null}}function As(e){if(e==null)return null;if(typeof e=="string")return Ke(e);if(Array.isArray(e)){for(const t of e)if(t&&typeof t=="object"&&"text"in t){const r=t.text;if(typeof r=="string")return Ke(r)}return null}if(typeof e=="object"){if("text"in e){const t=e.text;if(typeof t=="string")return Ke(t)}return e}return null}function Rt(e,t){const r=As(e);if(r==null)return null;const a=Is.safeParse(r);return a.success?Ms(a.data,t):null}function Ps(e,t){const r=[];for(const a of e.questions){const s=t.get(a.id);s===void 0||s.trim()===""||r.push(`Q: ${a.prompt}
20
+ `)}})}});var xe=o.z.record(o.z.string(),me.optional()),Cs=Ua(()=>nr(o.z.union([o.z.strictObject({type:o.z.literal("text-start"),id:o.z.string(),providerMetadata:_.optional()}),o.z.strictObject({type:o.z.literal("text-delta"),id:o.z.string(),delta:o.z.string(),providerMetadata:_.optional()}),o.z.strictObject({type:o.z.literal("text-end"),id:o.z.string(),providerMetadata:_.optional()}),o.z.strictObject({type:o.z.literal("error"),errorText:o.z.string()}),o.z.strictObject({type:o.z.literal("tool-input-start"),toolCallId:o.z.string(),toolName:o.z.string(),providerExecuted:o.z.boolean().optional(),providerMetadata:_.optional(),toolMetadata:xe.optional(),dynamic:o.z.boolean().optional(),title:o.z.string().optional()}),o.z.strictObject({type:o.z.literal("tool-input-delta"),toolCallId:o.z.string(),inputTextDelta:o.z.string()}),o.z.strictObject({type:o.z.literal("tool-input-available"),toolCallId:o.z.string(),toolName:o.z.string(),input:o.z.unknown(),providerExecuted:o.z.boolean().optional(),providerMetadata:_.optional(),toolMetadata:xe.optional(),dynamic:o.z.boolean().optional(),title:o.z.string().optional()}),o.z.strictObject({type:o.z.literal("tool-input-error"),toolCallId:o.z.string(),toolName:o.z.string(),input:o.z.unknown(),providerExecuted:o.z.boolean().optional(),providerMetadata:_.optional(),toolMetadata:xe.optional(),dynamic:o.z.boolean().optional(),errorText:o.z.string(),title:o.z.string().optional()}),o.z.strictObject({type:o.z.literal("tool-approval-request"),approvalId:o.z.string(),toolCallId:o.z.string(),isAutomatic:o.z.boolean().optional(),signature:o.z.string().optional()}),o.z.strictObject({type:o.z.literal("tool-approval-response"),approvalId:o.z.string(),approved:o.z.boolean(),reason:o.z.string().optional(),providerExecuted:o.z.boolean().optional(),providerMetadata:_.optional()}),o.z.strictObject({type:o.z.literal("tool-output-available"),toolCallId:o.z.string(),output:o.z.unknown(),providerExecuted:o.z.boolean().optional(),providerMetadata:_.optional(),toolMetadata:xe.optional(),dynamic:o.z.boolean().optional(),preliminary:o.z.boolean().optional()}),o.z.strictObject({type:o.z.literal("tool-output-error"),toolCallId:o.z.string(),errorText:o.z.string(),providerExecuted:o.z.boolean().optional(),providerMetadata:_.optional(),toolMetadata:xe.optional(),dynamic:o.z.boolean().optional()}),o.z.strictObject({type:o.z.literal("tool-output-denied"),toolCallId:o.z.string()}),o.z.strictObject({type:o.z.literal("reasoning-start"),id:o.z.string(),providerMetadata:_.optional()}),o.z.strictObject({type:o.z.literal("reasoning-delta"),id:o.z.string(),delta:o.z.string(),providerMetadata:_.optional()}),o.z.strictObject({type:o.z.literal("reasoning-end"),id:o.z.string(),providerMetadata:_.optional()}),o.z.strictObject({type:o.z.literal("custom"),kind:o.z.string().transform(e=>e),providerMetadata:_.optional()}),o.z.strictObject({type:o.z.literal("source-url"),sourceId:o.z.string(),url:o.z.string(),title:o.z.string().optional(),providerMetadata:_.optional()}),o.z.strictObject({type:o.z.literal("source-document"),sourceId:o.z.string(),mediaType:o.z.string(),title:o.z.string(),filename:o.z.string().optional(),providerMetadata:_.optional()}),o.z.strictObject({type:o.z.literal("file"),url:o.z.string(),mediaType:o.z.string(),providerMetadata:_.optional()}),o.z.strictObject({type:o.z.literal("reasoning-file"),url:o.z.string(),mediaType:o.z.string(),providerMetadata:_.optional()}),o.z.strictObject({type:o.z.custom(e=>typeof e=="string"&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:o.z.string().optional(),data:o.z.unknown(),transient:o.z.boolean().optional()}),o.z.strictObject({type:o.z.literal("start-step")}),o.z.strictObject({type:o.z.literal("finish-step")}),o.z.strictObject({type:o.z.literal("start"),messageId:o.z.string().optional(),messageMetadata:o.z.unknown().optional()}),o.z.strictObject({type:o.z.literal("finish"),finishReason:o.z.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:o.z.unknown().optional()}),o.z.strictObject({type:o.z.literal("abort"),reason:o.z.string().optional()}),o.z.strictObject({type:o.z.literal("message-metadata"),messageMetadata:o.z.unknown()})])));function Es(e){return e.type.startsWith("data-")}function Ae(){return Object.create(null)}function at(e){return e.type.startsWith("tool-")}function vr(e){return e.type==="dynamic-tool"}function Ce(e){return at(e)||vr(e)}function st(e){return e.type.split("-").slice(1).join("-")}function zs(e){return vr(e)?e.toolName:st(e)}function Is({lastMessage:e,messageId:t}){return{message:(e==null?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:Ae(),activeReasoningParts:Ae(),partialToolCalls:Ae()}}function Ts({stream:e,messageMetadataSchema:t,dataPartSchemas:r,runUpdateMessageJob:a,onError:s,onToolCall:i,onData:l}){return e.pipeThrough(new TransformStream({async transform(n,m){await a(async({state:u,write:c})=>{var p,y,v,x;function M(d){const g=u.message.parts.filter(Ce).find(S=>S.toolCallId===d);if(g==null)throw new pe({chunkType:"tool-invocation",chunkId:d,message:`No tool invocation found for tool call ID "${d}".`});return g}function E(d){const g=u.message.parts.filter(Ce).find(S=>{var b;return((b=S.approval)==null?void 0:b.id)===d});if(g==null)throw new pe({chunkType:"tool-approval-response",chunkId:d,message:`No tool invocation found for approval ID "${d}".`});return g}function z(d){var h;const g=u.message.parts.find(I=>at(I)&&I.toolCallId===d.toolCallId),S=d,b=g;if(g!=null){g.state=d.state,b.input=S.input,b.output=S.output,b.errorText=S.errorText,b.rawInput=S.rawInput,b.preliminary=S.preliminary,d.title!==void 0&&(b.title=d.title),d.toolMetadata!==void 0&&(b.toolMetadata=d.toolMetadata),b.providerExecuted=(h=S.providerExecuted)!=null?h:g.providerExecuted;const I=S.providerMetadata;if(I!=null)if(d.state==="output-available"||d.state==="output-error"){const D=g;D.resultProviderMetadata=I}else g.callProviderMetadata=I}else u.message.parts.push({type:`tool-${d.toolName}`,toolCallId:d.toolCallId,state:d.state,title:d.title,...d.toolMetadata!==void 0?{toolMetadata:d.toolMetadata}:{},input:S.input,output:S.output,rawInput:S.rawInput,errorText:S.errorText,providerExecuted:S.providerExecuted,preliminary:S.preliminary,...S.providerMetadata!=null&&(d.state==="output-available"||d.state==="output-error")?{resultProviderMetadata:S.providerMetadata}:{},...S.providerMetadata!=null&&!(d.state==="output-available"||d.state==="output-error")?{callProviderMetadata:S.providerMetadata}:{}})}function T(d){var h,g;const S=u.message.parts.find(D=>D.type==="dynamic-tool"&&D.toolCallId===d.toolCallId),b=d,I=S;if(S!=null){S.state=d.state,I.toolName=d.toolName,I.input=b.input,I.output=b.output,I.errorText=b.errorText,I.rawInput=(h=b.rawInput)!=null?h:I.rawInput,I.preliminary=b.preliminary,d.title!==void 0&&(I.title=d.title),d.toolMetadata!==void 0&&(I.toolMetadata=d.toolMetadata),I.providerExecuted=(g=b.providerExecuted)!=null?g:S.providerExecuted;const D=b.providerMetadata;if(D!=null)if(d.state==="output-available"||d.state==="output-error"){const K=S;K.resultProviderMetadata=D}else S.callProviderMetadata=D}else u.message.parts.push({type:"dynamic-tool",toolName:d.toolName,toolCallId:d.toolCallId,state:d.state,input:b.input,output:b.output,errorText:b.errorText,preliminary:b.preliminary,providerExecuted:b.providerExecuted,title:d.title,...d.toolMetadata!==void 0?{toolMetadata:d.toolMetadata}:{},...b.providerMetadata!=null&&(d.state==="output-available"||d.state==="output-error")?{resultProviderMetadata:b.providerMetadata}:{},...b.providerMetadata!=null&&!(d.state==="output-available"||d.state==="output-error")?{callProviderMetadata:b.providerMetadata}:{}})}async function N(d){if(d!=null){const h=u.message.metadata!=null?hr(u.message.metadata,d):d;t!=null&&await kt({value:h,schema:t,context:{field:"message.metadata",entityId:u.message.id}}),u.message.metadata=h}}switch(n.type){case"text-start":{const d={type:"text",text:"",providerMetadata:n.providerMetadata,state:"streaming"};u.activeTextParts[n.id]=d,u.message.parts.push(d),c();break}case"text-delta":{const d=u.activeTextParts[n.id];if(d==null)throw new pe({chunkType:"text-delta",chunkId:n.id,message:`Received text-delta for missing text part with ID "${n.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});d.text+=n.delta,d.providerMetadata=(p=n.providerMetadata)!=null?p:d.providerMetadata,c();break}case"text-end":{const d=u.activeTextParts[n.id];if(d==null)throw new pe({chunkType:"text-end",chunkId:n.id,message:`Received text-end for missing text part with ID "${n.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});d.state="done",d.providerMetadata=(y=n.providerMetadata)!=null?y:d.providerMetadata,delete u.activeTextParts[n.id],c();break}case"custom":{const d={type:"custom",kind:n.kind,providerMetadata:n.providerMetadata};u.message.parts.push(d),c();break}case"reasoning-start":{const d={type:"reasoning",text:"",providerMetadata:n.providerMetadata,state:"streaming"};u.activeReasoningParts[n.id]=d,u.message.parts.push(d),c();break}case"reasoning-delta":{const d=u.activeReasoningParts[n.id];if(d==null)throw new pe({chunkType:"reasoning-delta",chunkId:n.id,message:`Received reasoning-delta for missing reasoning part with ID "${n.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});d.text+=n.delta,d.providerMetadata=(v=n.providerMetadata)!=null?v:d.providerMetadata,c();break}case"reasoning-end":{const d=u.activeReasoningParts[n.id];if(d==null)throw new pe({chunkType:"reasoning-end",chunkId:n.id,message:`Received reasoning-end for missing reasoning part with ID "${n.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});d.providerMetadata=(x=n.providerMetadata)!=null?x:d.providerMetadata,d.state="done",delete u.activeReasoningParts[n.id],c();break}case"file":case"reasoning-file":{u.message.parts.push({type:n.type,mediaType:n.mediaType,url:n.url,...n.providerMetadata!=null?{providerMetadata:n.providerMetadata}:{}}),c();break}case"source-url":{u.message.parts.push({type:"source-url",sourceId:n.sourceId,url:n.url,title:n.title,providerMetadata:n.providerMetadata}),c();break}case"source-document":{u.message.parts.push({type:"source-document",sourceId:n.sourceId,mediaType:n.mediaType,title:n.title,filename:n.filename,providerMetadata:n.providerMetadata}),c();break}case"tool-input-start":{const d=u.message.parts.filter(at);u.partialToolCalls[n.toolCallId]={text:"",toolName:n.toolName,index:d.length,dynamic:n.dynamic,title:n.title,toolMetadata:n.toolMetadata},n.dynamic?T({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-streaming",input:void 0,providerExecuted:n.providerExecuted,title:n.title,toolMetadata:n.toolMetadata,providerMetadata:n.providerMetadata}):z({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-streaming",input:void 0,providerExecuted:n.providerExecuted,title:n.title,toolMetadata:n.toolMetadata,providerMetadata:n.providerMetadata}),c();break}case"tool-input-delta":{const d=u.partialToolCalls[n.toolCallId];if(d==null)throw new pe({chunkType:"tool-input-delta",chunkId:n.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${n.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});d.text+=n.inputTextDelta;const{value:h}=await Oe(d.text);d.dynamic?T({toolCallId:n.toolCallId,toolName:d.toolName,state:"input-streaming",input:h,title:d.title,toolMetadata:d.toolMetadata}):z({toolCallId:n.toolCallId,toolName:d.toolName,state:"input-streaming",input:h,title:d.title,toolMetadata:d.toolMetadata}),c();break}case"tool-input-available":{n.dynamic?T({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-available",input:n.input,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:n.title,toolMetadata:n.toolMetadata}):z({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-available",input:n.input,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:n.title,toolMetadata:n.toolMetadata}),c(),i&&!n.providerExecuted&&await i({toolCall:n});break}case"tool-input-error":{const d=u.message.parts.filter(Ce).find(g=>g.toolCallId===n.toolCallId);(d!=null?d.type==="dynamic-tool":!!n.dynamic)?T({toolCallId:n.toolCallId,toolName:n.toolName,state:"output-error",input:n.input,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,toolMetadata:n.toolMetadata}):z({toolCallId:n.toolCallId,toolName:n.toolName,state:"output-error",input:void 0,rawInput:n.input,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,toolMetadata:n.toolMetadata}),c();break}case"tool-approval-request":{const d=M(n.toolCallId);d.state="approval-requested",d.approval={id:n.approvalId,...n.isAutomatic===!0?{isAutomatic:!0}:{},...n.signature!=null?{signature:n.signature}:{}},c();break}case"tool-approval-response":{const d=E(n.approvalId),h=d.approval==null?{id:n.approvalId}:d.approval;d.state="approval-responded",d.approval={id:n.approvalId,approved:n.approved,...n.reason!=null?{reason:n.reason}:{},...h.isAutomatic===!0?{isAutomatic:!0}:{},...h.signature!=null?{signature:h.signature}:{}},n.providerExecuted!=null&&(d.providerExecuted=n.providerExecuted),n.providerMetadata!=null&&(d.callProviderMetadata=n.providerMetadata),c();break}case"tool-output-denied":{const d=M(n.toolCallId);d.state="output-denied",c();break}case"tool-output-available":{const d=M(n.toolCallId);d.type==="dynamic-tool"?T({toolCallId:n.toolCallId,toolName:d.toolName,state:"output-available",input:d.input,output:n.output,preliminary:n.preliminary,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:d.title,toolMetadata:d.toolMetadata}):z({toolCallId:n.toolCallId,toolName:st(d),state:"output-available",input:d.input,output:n.output,providerExecuted:n.providerExecuted,preliminary:n.preliminary,providerMetadata:n.providerMetadata,title:d.title,toolMetadata:d.toolMetadata}),c();break}case"tool-output-error":{const d=M(n.toolCallId);d.type==="dynamic-tool"?T({toolCallId:n.toolCallId,toolName:d.toolName,state:"output-error",input:d.input,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:d.title,toolMetadata:d.toolMetadata}):z({toolCallId:n.toolCallId,toolName:st(d),state:"output-error",input:d.input,rawInput:d.rawInput,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:d.title,toolMetadata:d.toolMetadata}),c();break}case"start-step":{u.message.parts.push({type:"step-start"});break}case"finish-step":{u.activeTextParts=Ae(),u.activeReasoningParts=Ae();break}case"start":{n.messageId!=null&&(u.message.id=n.messageId),await N(n.messageMetadata),(n.messageId!=null||n.messageMetadata!=null)&&c();break}case"finish":{n.finishReason!=null&&(u.finishReason=n.finishReason),await N(n.messageMetadata),n.messageMetadata!=null&&c();break}case"message-metadata":{await N(n.messageMetadata),n.messageMetadata!=null&&c();break}case"error":{s==null||s(new Error(n.errorText));break}default:if(Es(n)){if((r==null?void 0:r[n.type])!=null){const g=u.message.parts.findIndex(b=>"id"in b&&"data"in b&&b.id===n.id&&b.type===n.type),S=g>=0?g:u.message.parts.length;await kt({value:n.data,schema:r[n.type],context:{field:`message.parts[${S}].data`,entityName:n.type,entityId:n.id}})}const d=n;if(d.transient){l==null||l(d);break}const h=d.id!=null?u.message.parts.find(g=>d.type===g.type&&d.id===g.id):void 0;h!=null?h.data=d.data:u.message.parts.push(d),l==null||l(d),c()}}m.enqueue(n)})}}))}async function xs({stream:e,onError:t}){const r=e.getReader();try{for(;;){const{done:a}=await r.read();if(a)break}}catch(a){t==null||t(a)}finally{r.releaseLock()}}V({prefix:"aitxt",size:24});V({prefix:"call",size:24});V({prefix:"aitxt",size:24});V({prefix:"call",size:24});o.z.record(o.z.string(),me.optional());o.z.record(o.z.string(),o.z.string());V({prefix:"call",size:24});V({prefix:"call",size:24});V({prefix:"aiobj",size:24});var ws=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,r)=>{this.queue.push(async()=>{try{await e(),t()}catch(a){r(a)}}),this.processQueue()})}};V({prefix:"aiobj",size:24});V({prefix:"call",size:24});async function _s(e){if(e==null)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw new Error("FileList is not supported in the current environment");return Promise.all(Array.from(e).map(async t=>{const{name:r,type:a}=t,s=await new Promise((i,l)=>{const n=new FileReader;n.onload=m=>{var u;i((u=m.target)==null?void 0:u.result)},n.onerror=m=>l(m),n.readAsDataURL(t)});return{type:"file",mediaType:a,filename:r,url:s}}))}var Ms=class{constructor({api:e="/api/chat",credentials:t,headers:r,body:a,fetch:s,prepareSendMessagesRequest:i,prepareReconnectToStreamRequest:l}){this.api=e,this.credentials=t,this.headers=r,this.body=a,this.fetch=s,this.prepareSendMessagesRequest=i,this.prepareReconnectToStreamRequest=l}async sendMessages({abortSignal:e,...t}){var r,a,s,i,l;const n=await oe(this.body),m=await oe(this.headers),u=await oe(this.credentials),c={...ye(m),...ye(t.headers)},p=await((r=this.prepareSendMessagesRequest)==null?void 0:r.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...n,...t.body},headers:c,credentials:u,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),y=(a=p==null?void 0:p.api)!=null?a:this.api,v=(p==null?void 0:p.headers)!==void 0?ye(p.headers):c,x=(p==null?void 0:p.body)!==void 0?p.body:{...n,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},M=(s=p==null?void 0:p.credentials)!=null?s:u,z=await((i=this.fetch)!=null?i:globalThis.fetch)(y,{method:"POST",headers:{"Content-Type":"application/json",...v},body:JSON.stringify(x),credentials:M,signal:e});if(!z.ok)throw new Error((l=await z.text())!=null?l:"Failed to fetch the chat response.");if(!z.body)throw new Error("The response body is empty.");return this.processResponseStream(z.body)}async reconnectToStream(e){var t,r,a,s,i;const l=await oe(this.body),n=await oe(this.headers),m=await oe(this.credentials),u={...ye(n),...ye(e.headers)},c=await((t=this.prepareReconnectToStreamRequest)==null?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...l,...e.body},headers:u,credentials:m,requestMetadata:e.metadata})),p=(r=c==null?void 0:c.api)!=null?r:`${this.api}/${e.chatId}/stream`,y=(c==null?void 0:c.headers)!==void 0?ye(c.headers):u,v=(a=c==null?void 0:c.credentials)!=null?a:m,M=await((s=this.fetch)!=null?s:globalThis.fetch)(p,{method:"GET",headers:y,credentials:v});if(M.status===204)return null;if(!M.ok)throw new Error((i=await M.text())!=null?i:"Failed to fetch the chat response.");if(!M.body)throw new Error("The response body is empty.");return this.processResponseStream(M.body)}},dt=class extends Ms{constructor(e={}){super(e)}processResponseStream(e){return Ha({stream:e,schema:Cs}).pipeThrough(new TransformStream({async transform(t,r){if(!t.success)throw t.error;r.enqueue(t.value)}}))}},As=class{constructor({generateId:e=Yr,id:t=e(),transport:r=new dt,messageMetadataSchema:a,dataPartSchemas:s,state:i,onError:l,onToolCall:n,onFinish:m,onData:u,sendAutomaticallyWhen:c}){this.activeResponse=void 0,this.jobExecutor=new ws,this.sendMessage=async(p,y)=>{var v,x,M,E;if(p==null){await this.makeRequest({trigger:"submit-message",messageId:(v=this.lastMessage)==null?void 0:v.id,...y});return}let z;if("text"in p||"files"in p?z={parts:[...Array.isArray(p.files)?p.files:await _s(p.files),..."text"in p&&p.text!=null?[{type:"text",text:p.text}]:[]]}:z=p,p.messageId!=null){const T=this.state.messages.findIndex(N=>N.id===p.messageId);if(T===-1)throw new Error(`message with id ${p.messageId} not found`);if(this.state.messages[T].role!=="user")throw new Error(`message with id ${p.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,T+1),this.state.replaceMessage(T,{...z,id:p.messageId,role:(x=z.role)!=null?x:"user",metadata:p.metadata})}else this.state.pushMessage({...z,id:(M=z.id)!=null?M:this.generateId(),role:(E=z.role)!=null?E:"user",metadata:p.metadata});await this.makeRequest({trigger:"submit-message",messageId:p.messageId,...y})},this.regenerate=async({messageId:p,...y}={})=>{const v=p==null?this.state.messages.length-1:this.state.messages.findIndex(x=>x.id===p);if(v===-1)throw new Error(`message ${p} not found`);this.state.messages=this.state.messages.slice(0,this.messages[v].role==="assistant"?v:v+1),await this.makeRequest({trigger:"regenerate-message",messageId:p,...y})},this.resumeStream=async(p={})=>{await this.makeRequest({trigger:"resume-stream",...p})},this.clearError=()=>{this.status==="error"&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolApprovalResponse=async({id:p,approved:y,reason:v,options:x})=>this.jobExecutor.run(async()=>{const M=this.state.messages,E=M[M.length-1],z=T=>Ce(T)&&T.state==="approval-requested"&&T.approval.id===p?{...T,state:"approval-responded",approval:{...T.approval,id:p,approved:y,reason:v}}:T;this.state.replaceMessage(M.length-1,{...E,parts:E.parts.map(z)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(z)),this.status!=="streaming"&&this.status!=="submitted"&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(T=>{var N;T&&this.makeRequest({trigger:"submit-message",messageId:(N=this.lastMessage)==null?void 0:N.id,...x})})}),this.addToolOutput=async({state:p="output-available",toolCallId:y,output:v,errorText:x,options:M})=>this.jobExecutor.run(async()=>{const E=this.state.messages,z=E[E.length-1],T=N=>Ce(N)&&N.toolCallId===y?{...N,state:p,output:v,errorText:x}:N;this.state.replaceMessage(E.length-1,{...z,parts:z.parts.map(T)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(T)),this.status!=="streaming"&&this.status!=="submitted"&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(N=>{var d;N&&this.makeRequest({trigger:"submit-message",messageId:(d=this.lastMessage)==null?void 0:d.id,...M})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var p;this.status!=="streaming"&&this.status!=="submitted"||(p=this.activeResponse)!=null&&p.abortController&&this.activeResponse.abortController.abort()},this.id=t,this.transport=r,this.generateId=e,this.messageMetadataSchema=a,this.dataPartSchemas=s,this.state=i,this.onError=l,this.onToolCall=n,this.onFinish=m,this.onData=u,this.sendAutomaticallyWhen=c}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;const e=this.sendAutomaticallyWhen({messages:this.state.messages});return e&&typeof e=="object"&&"then"in e?await e:e}async makeRequest({trigger:e,metadata:t,headers:r,body:a,messageId:s}){var i,l;let n;if(e==="resume-stream")try{const v=await this.transport.reconnectToStream({chatId:this.id,metadata:t,headers:r,body:a});if(v==null)return;n=v}catch(v){this.onError&&v instanceof Error&&this.onError(v),this.setStatus({status:"error",error:v});return}this.setStatus({status:"submitted",error:void 0});const m=this.lastMessage;let u=!1,c=!1,p=!1,y;try{const v={state:Is({lastMessage:this.state.snapshot(m),messageId:this.generateId()}),abortController:new AbortController};y=v,v.abortController.signal.addEventListener("abort",()=>{u=!0}),this.activeResponse=v;let x;e==="resume-stream"?x=n:x=await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:v.abortController.signal,metadata:t,headers:r,body:a,trigger:e,messageId:s});const M=E=>this.jobExecutor.run(()=>E({state:v.state,write:()=>{var z;this.setStatus({status:"streaming"}),v.state.message.id===((z=this.lastMessage)==null?void 0:z.id)?this.state.replaceMessage(this.state.messages.length-1,v.state.message):this.state.pushMessage(v.state.message)}}));await xs({stream:Ts({stream:x,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:M,onError:E=>{throw E}}),onError:E=>{throw E}}),this.setStatus({status:"ready"})}catch(v){if(u||v.name==="AbortError")return u=!0,this.setStatus({status:"ready"}),null;p=!0,v instanceof TypeError&&(v.message.toLowerCase().includes("fetch")||v.message.toLowerCase().includes("network"))&&(c=!0),this.onError&&v instanceof Error&&this.onError(v),this.setStatus({status:"error",error:v})}finally{try{y&&((i=this.onFinish)==null||i.call(this,{message:y.state.message,messages:this.state.messages,isAbort:u,isDisconnect:c,isError:p,finishReason:y.state.finishReason}))}catch(v){console.error(v)}this.activeResponse===y&&(this.activeResponse=void 0)}!p&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:(l=this.lastMessage)==null?void 0:l.id,metadata:t,headers:r,body:a})}};function Ps(e,t){if(typeof e!="function")throw new TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let r,a=0;return function(...i){clearTimeout(r);const l=Date.now(),n=l-a,m=t-n;m<=0?(a=l,e.apply(this,i)):r=setTimeout(()=>{a=Date.now(),e.apply(this,i)},m)}}var Rs=Ps;const Os=Ya(Rs);var yr=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},j=(e,t,r)=>(yr(e,t,"read from private field"),r?r.call(e):t.get(e)),Q=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},ie=(e,t,r,a)=>(yr(e,t,"write to private field"),t.set(e,r),r);function Ns(e,t){return t!=null?Os(e,t):e}var B,$e,Ue,we,_e,Me,be,nt,it,js=class{constructor(e=[]){Q(this,B,void 0),Q(this,$e,"ready"),Q(this,Ue,void 0),Q(this,we,new Set),Q(this,_e,new Set),Q(this,Me,new Set),this.pushMessage=t=>{ie(this,B,j(this,B).concat(t)),j(this,be).call(this)},this.popMessage=()=>{ie(this,B,j(this,B).slice(0,-1)),j(this,be).call(this)},this.replaceMessage=(t,r)=>{ie(this,B,[...j(this,B).slice(0,t),this.snapshot(r),...j(this,B).slice(t+1)]),j(this,be).call(this)},this.snapshot=t=>structuredClone(t),this["~registerMessagesCallback"]=(t,r)=>{const a=r?Ns(t,r):t;return j(this,we).add(a),()=>{j(this,we).delete(a)}},this["~registerStatusCallback"]=t=>(j(this,_e).add(t),()=>{j(this,_e).delete(t)}),this["~registerErrorCallback"]=t=>(j(this,Me).add(t),()=>{j(this,Me).delete(t)}),Q(this,be,()=>{j(this,we).forEach(t=>t())}),Q(this,nt,()=>{j(this,_e).forEach(t=>t())}),Q(this,it,()=>{j(this,Me).forEach(t=>t())}),ie(this,B,e)}get status(){return j(this,$e)}set status(e){ie(this,$e,e),j(this,nt).call(this)}get error(){return j(this,Ue)}set error(e){ie(this,Ue,e),j(this,it).call(this)}get messages(){return j(this,B)}set messages(e){ie(this,B,[...e]),j(this,be).call(this)}};B=new WeakMap;$e=new WeakMap;Ue=new WeakMap;we=new WeakMap;_e=new WeakMap;Me=new WeakMap;be=new WeakMap;nt=new WeakMap;it=new WeakMap;var Se,Lt=class extends As{constructor({messages:e,...t}){const r=new js(e);super({...t,state:r}),Q(this,Se,void 0),this["~registerMessagesCallback"]=(a,s)=>j(this,Se)["~registerMessagesCallback"](a,s),this["~registerStatusCallback"]=a=>j(this,Se)["~registerStatusCallback"](a),this["~registerErrorCallback"]=a=>j(this,Se)["~registerErrorCallback"](a),ie(this,Se,r)}};Se=new WeakMap;function Ds({throttle:e,experimental_throttle:t,resume:r=!1,...a}={}){const s=e??t,i=f.useRef({});"chat"in a||(i.current={onToolCall:a.onToolCall,onData:a.onData,onFinish:a.onFinish,onError:a.onError,sendAutomaticallyWhen:a.sendAutomaticallyWhen,transport:a.transport});let l;const n=()=>{var E;return(E=i.current.transport)!=null?E:l??(l=new dt)},m={...a,transport:{sendMessages:E=>n().sendMessages(E),reconnectToStream:E=>n().reconnectToStream(E)},onToolCall:E=>{var z,T;return(T=(z=i.current).onToolCall)==null?void 0:T.call(z,E)},onData:E=>{var z,T;return(T=(z=i.current).onData)==null?void 0:T.call(z,E)},onFinish:E=>{var z,T;return(T=(z=i.current).onFinish)==null?void 0:T.call(z,E)},onError:E=>{var z,T;return(T=(z=i.current).onError)==null?void 0:T.call(z,E)},sendAutomaticallyWhen:E=>{var z,T,N;return(N=(T=(z=i.current).sendAutomaticallyWhen)==null?void 0:T.call(z,E))!=null?N:!1}},u=f.useRef("chat"in a?a.chat:new Lt(m));("chat"in a&&a.chat!==u.current||"id"in a&&a.id!=null&&u.current.id!==a.id)&&(u.current="chat"in a?a.chat:new Lt(m));const p=f.useCallback(E=>u.current["~registerMessagesCallback"](E,s),[s,u.current.id]),y=f.useSyncExternalStore(p,()=>u.current.messages,()=>u.current.messages),v=f.useSyncExternalStore(u.current["~registerStatusCallback"],()=>u.current.status,()=>u.current.status),x=f.useSyncExternalStore(u.current["~registerErrorCallback"],()=>u.current.error,()=>u.current.error),M=f.useCallback(E=>{typeof E=="function"&&(E=E(u.current.messages)),u.current.messages=E},[u]);return f.useEffect(()=>{r&&u.current.resumeStream()},[r,u]),{id:u.current.id,messages:y,setMessages:M,sendMessage:u.current.sendMessage,regenerate:u.current.regenerate,clearError:u.current.clearError,stop:u.current.stop,error:x,resumeStream:u.current.resumeStream,status:v,addToolResult:u.current.addToolOutput,addToolOutput:u.current.addToolOutput,addToolApprovalResponse:u.current.addToolApprovalResponse}}class Zt{constructor(t){this.buffer=[],this.cap=Math.max(1,Math.floor(t))}get size(){return this.buffer.length}get items(){return this.buffer}enqueue(t){return this.buffer.length>=this.cap?!1:(this.buffer.push(t),!0)}dequeueNext(){return this.buffer.shift()??null}removeWhere(t){const r=this.buffer.findIndex(t);if(r===-1)return null;const[a]=this.buffer.splice(r,1);return a??null}}function ot(e,t){const r=e.flatMap(a=>{if(a.kind!=="steps")return[a];const s=a.steps.flatMap(i=>i.kind==="reasoning"?(t==null?void 0:t.reasoning)===!1?[]:[i]:(t==null?void 0:t.toolActivity)==="hidden"?[]:(t==null?void 0:t.toolActivity)==="status"&&("input"in i||"output"in i)?[{kind:i.kind,label:i.label,done:i.done}]:[i]);return s.length===0?[]:[s.length===a.steps.length&&s.every((i,l)=>i===a.steps[l])?a:{...a,steps:s}]});return r.length===e.length&&r.every((a,s)=>a===e[s])?e:r}const Fs=$.z.union([$.z.string(),$.z.looseObject({id:$.z.string().optional(),label:$.z.string()})]),ks=$.z.looseObject({id:$.z.string().optional(),prompt:$.z.string(),selection:$.z.enum(["single","multiple"]).default("single"),options:$.z.array(Fs).min(1)}),Ls=$.z.looseObject({request_id:$.z.string().optional(),questions:$.z.array(ks).min(1)});function Zs(e){return!!(e!=null&&e.includes("ask_questions"))}const $s=[/\bi[’'ʼ‘]?ll\s+(type|describe|enter|write|tell)\b/i,/\b(type|describe|enter|write|tell)\s+(it|my\s+own|manually)\b/i,/^\s*(other|custom|none\s+of\s+the\s+above|something\s+else)\s*\.?\s*$/i];function Us(e){return $s.some(t=>t.test(e))}function qs(e,t){return{request_id:e.request_id??t??"req-clarification",questions:e.questions.map((r,a)=>({id:r.id??`q${a}`,prompt:r.prompt,selection:r.selection,options:r.options.map((s,i)=>typeof s=="string"?{id:`q${a}-o${i}`,label:s}:{id:s.id??`q${a}-o${i}`,label:s.label}).filter(s=>!Us(s.label))}))}}function Xe(e){try{return JSON.parse(e)}catch{return null}}function Ws(e){if(e==null)return null;if(typeof e=="string")return Xe(e);if(Array.isArray(e)){for(const t of e)if(t&&typeof t=="object"&&"text"in t){const r=t.text;if(typeof r=="string")return Xe(r)}return null}if(typeof e=="object"){if("text"in e){const t=e.text;if(typeof t=="string")return Xe(t)}return e}return null}function $t(e,t){const r=Ws(e);if(r==null)return null;const a=Ls.safeParse(r);return a.success?qs(a.data,t):null}function Ks(e,t){const r=[];for(const a of e.questions){const s=t.get(a.id);s===void 0||s.trim()===""||r.push(`Q: ${a.prompt}
21
21
  A: ${s.trim()}`)}return r.join(`
22
22
 
23
- `)}const Ot="data-spec";function Xe(e){const t=[],r=o=>{const l=t.at(-1);(l==null?void 0:l.kind)==="steps"?l.steps.push(o):t.push({kind:"steps",steps:[o]})},a=o=>o==="output-available"||o==="output-error";let s=null;for(const o of e)if(!N.isAgentStreamKeepalive(o)){if(Os(o)){const l=Ns(o);l&&t.push(l);continue}if(o.type===Ot)s||(s={kind:"spec",parts:[]},t.push(s)),s.parts.push({type:Ot,data:o.data});else if(o.type==="text"){const l=typeof o.text=="string"?o.text:"";l.trim().length>0&&t.push({kind:"text",text:l})}else o.type==="reasoning"?r({kind:"reasoning",label:typeof o.text=="string"?o.text:"",done:o.state!=="streaming"}):o.type==="dynamic-tool"?r({kind:"tool",label:typeof o.toolName=="string"?o.toolName:"tool",done:a(o.state),...Nt(o)}):o.type.startsWith("tool-")&&r({kind:"tool",label:o.type.slice(5),done:a(o.state),...Nt(o)})}return t}function Rs(e){return e.type==="dynamic-tool"?typeof e.toolName=="string"?e.toolName:void 0:e.type.startsWith("tool-")?e.type.slice(5):void 0}function Os(e){return ws(Rs(e))}function Ns(e){const t=typeof e.toolCallId=="string"?e.toolCallId:void 0,r=Rt(e.output,t)??Rt(e.input,t);return r?{kind:"questions",request:r}:null}function Nt(e){return{...e.input===void 0?{}:{input:e.input},...e.output===void 0?{}:{output:e.output}}}function js(e){return({id:t})=>({api:e.reconnectApi(t),headers:e.headers()})}function Ds(e){return new at({api:e.api,headers:()=>e.headers(),prepareSendMessagesRequest:({body:t})=>({body:t??{}}),prepareReconnectToStreamRequest:js(e)})}function Fs({existing:e,fetched:t}){const r=new Map(e.map(l=>[l.turnId,l])),a=new Set,s=[];for(const l of t.turns){if(a.add(l.turn_id),l.message_uuids.length===0)continue;const n=r.get(l.turn_id);if(n){ks(n.rowIds,l.message_uuids)?s.push(n):s.push({...n,rowIds:l.message_uuids});continue}if(l.ui_parts!==null){const m=Xe(l.ui_parts);if(m.length===0)continue;s.push({key:`turn-${l.turn_id}`,turnId:l.turn_id,rowIds:l.message_uuids,items:m})}}for(const l of e)a.has(l.turnId)||s.push(l);return s.length===e.length&&s.every((l,n)=>l===e[n])?e:s}const ks=(e,t)=>e.length===t.length&&e.every((r,a)=>r===t[a]),Ls=e=>Array.isArray(e)&&e.every(t=>typeof t=="string");function Zs(e){for(const t of e){if(t.type!=="data-turn-settled")continue;const r=t.data;return!N.isRecord(r)||typeof r.turn_id!="string"||!Ls(r.message_uuids)?null:{turnId:r.turn_id,rowIds:r.message_uuids}}return null}async function $s(e){const t=e.getReader();try{for(;;){const{value:r,done:a}=await t.read();if(a||r===void 0)return{kind:"silent"};if(!N.isAgentStreamKeepalive(r))return N.isTurnSteeredPart(r)?{kind:"steered"}:r.type==="error"?{kind:"failed",errorText:r.errorText}:{kind:"turn"}}}finally{await t.cancel().catch(()=>{})}}async function Us({api:e,sessionId:t,chatStop:r}){try{await r()}finally{t&&await e.stopStream(t)}}const jt=20,qs="highlight_element";function Ws({widgetCtx:e,config:t,sessionId:r,persistedMessages:a}){const{api:s,messageCtx:o}=e,l=f.useRef(t);l.current=t;const{pageContext:n,clientTools:m}=e.features,u=f.useMemo(()=>Ds({...s.getStreamTransportOptions(),headers:()=>s.getStreamTransportOptions().headers}),[s]),{status:c,messages:p,sendMessage:y,stop:b,error:A,clearError:w,resumeStream:E}=Es({id:r??void 0,resume:r!==null,transport:u,throttle:50,onError:C=>N.log.error("agent chat stream error",C)}),z=f.useRef(p);z.current=p;const T=f.useRef(new Pt(jt)),P=f.useRef("idle"),d=f.useRef(Promise.resolve()),g=f.useRef(0),[h,S]=f.useState(0),[v,I]=f.useState(!1),[D,ee]=f.useState([]),[Fe,ke]=f.useState(null),B=f.useRef(null),Y=f.useCallback(C=>{B.current=C,ke(C)},[]),be=f.useRef(null),pe=f.useRef(null),fe=f.useRef(c),lt=f.useRef(r),Le=f.useRef(null),Ze=f.useRef(null),ut=f.useRef(b),ie=f.useRef(c);ie.current=c;const Ae=f.useCallback((C,M)=>{const R=Zs(C.parts);if(!R||R.rowIds.length===0)return;const F=Xe(C.parts);F.length!==0&&ee(L=>L.some(Se=>Se.turnId===R.turnId)?L:[...L,{key:M,turnId:R.turnId,rowIds:R.rowIds,items:F}])},[]),Pe=f.useCallback(C=>N.buildSendMessageBody({config:l.current,input:C.input,uuid:C.retryUuid??C.userMessage.id,sessionId:C.sessionId,content:C.userMessage.content,initialMessages:C.initialMessages,sendsPageContext:n}),[n]),ct=f.useCallback(async C=>{const M=g.current,R=new AbortController;let F;try{const L=await u.sendMessages({trigger:"submit-message",chatId:C.sessionId,messageId:void 0,messages:[],abortSignal:R.signal,body:Pe(C)});F=await $s(L)}catch(L){N.log.error("agent chat steer failed",L);return}finally{R.abort()}if(M===g.current){switch(F.kind){case"steered":o.markUserMessageDelivered(C.userMessage.id);return;case"turn":pe.current=C;try{await b()}catch(L){N.log.error("agent chat steer fallback: client stop failed",L)}if(M!==g.current)return;E();return;case"failed":N.log.error("agent chat steer: the turn failed",{errorText:F.errorText});break;case"silent":o.markUserMessageDelivered(C.userMessage.id);break}e.reconcileAfterStream(C.sessionId).catch(L=>{N.log.error("agent chat post-steer reconcile failed",L)})}},[u,Pe,o,b,E,e]),dt=f.useRef(ct);dt.current=ct,f.useEffect(()=>{const C=ut.current;ut.current=b;const M=lt.current;if(M===r)return;if(lt.current=r,M===null){ee([]);return}const R=ie.current==="submitted"||ie.current==="streaming"||fe.current==="submitted"||fe.current==="streaming"||P.current==="in-flight";g.current+=1,d.current=Promise.resolve(),T.current=new Pt(jt),P.current="idle",pe.current=null,be.current=null,Ze.current=null,Le.current=c==="submitted"||c==="streaming"?c:null,fe.current="ready",ie.current="ready",w(),S(F=>F+1),I(!1),ee([]),Y(null),R&&Promise.resolve().then(()=>C()).catch(F=>{N.log.error("agent chat client stream cancel failed",F)})},[r,c,b,w,Y]),f.useEffect(()=>{var L,Se;const C=Le.current;if(C!==null&&c===C){fe.current="ready";return}Le.current=null;const M=fe.current;if(fe.current=c,(c==="submitted"||c==="streaming")&&(M!=="submitted"&&M!=="streaming"&&B.current===null&&Y(`turn-resumed-${N.genUuid()}`),I(!0)),c==="streaming"){const V=(L=pe.current)==null?void 0:L.userMessage.id;V&&o.markUserMessageDelivered(V);return}if(c!=="ready"&&c!=="error")return;if(M==="streaming"||M==="submitted"){P.current==="in-flight"&&(P.current="idle");const V=z.current.at(-1),te=B.current;if(be.current=te,te!==null&&V&&V.role==="assistant"&&Ae(V,te),c==="ready"){const re=(Se=pe.current)==null?void 0:Se.userMessage.id;re&&o.markUserMessageDelivered(re)}P.current==="stopping"||(r?(P.current="reconciling",e.reconcileAfterStream(r).catch(re=>{N.log.error("agent chat post-turn reconcile failed",re)}).finally(()=>{P.current==="reconciling"&&(P.current="idle"),S(re=>re+1)})):I(!1))}if(P.current!=="idle"||!r)return;const F=T.current.dequeueNext();F&&(P.current="in-flight",pe.current=F,Y(`turn-${F.userMessage.id}`),o.appendUserMessageIfAbsent(F.userMessage),S(V=>V+1),y({text:F.userMessage.content},{body:Pe(F)}))},[c,r,h,y,o,e,Pe,Ae,Y]);const pt=f.useCallback(C=>{const M=g.current,R=d.current.then(async()=>{if(M!==g.current)return;const F=P.current,L=ie.current==="streaming"&&F!=="stopping"&&F!=="reconciling"&&T.current.size===0,V=ie.current==="submitted"||ie.current==="streaming"||F!=="idle"||T.current.size>0?Ks(o.buildQueuedUserMessage(C)):await o.stageUserTurn(C,{pending:!0});if(!V||M!==g.current)return;const te={...V,input:C};if(L){o.appendUserMessageIfAbsent(te.userMessage),o.notifySendAccepted(C),dt.current(te);return}if(!T.current.enqueue(te)){N.log.warn("agent chat queue full; rejecting newest send",{rejectedMessageId:te.userMessage.id});return}S(re=>re+1),o.notifySendAccepted(C)});return d.current=R.then(()=>{},()=>{}),R},[o]),yr=f.useCallback(()=>{const C=pe.current;if(!C)return;if(!T.current.enqueue({...C,retryUuid:N.genUuid()})){N.log.warn("agent chat queue full; retry not enqueued");return}w(),S(R=>R+1)},[w]),br=f.useCallback(C=>{T.current.removeWhere(R=>R.userMessage.id===C)&&S(R=>R+1)},[]),Sr=f.useCallback(()=>{P.current="stopping";const C=g.current;Us({api:s,sessionId:r,chatStop:b}).catch(M=>{N.log.error("agent chat stop failed",M)}).then(()=>{if(C===g.current){if(!r){I(!1);return}return e.reconcileAfterStream(r).catch(M=>{N.log.error("agent chat post-stop reconcile failed",M)})}}).finally(()=>{C===g.current&&(P.current="idle",S(M=>M+1))})},[s,r,b,e]);f.useEffect(()=>{const C={send:pt};return o.registerAgentHandlers(C),()=>o.unregisterAgentHandlers(C)},[o,pt]),f.useEffect(()=>{if(!r||Ze.current===r)return;Ze.current=r;let C=!1;return(async()=>{try{const M=await s.getAgentTurnMessages(r);if(!M||C)return;ee(R=>Fs({existing:R,fetched:M}))}catch(M){N.log.error("agent chat turn sources fetch failed",M)}})(),()=>{C=!0}},[r,s]);const Cr=f.useMemo(()=>{if(!m)return[];const C=p.at(-1);if(!C||C.role!=="assistant")return[];const M=[];for(const R of C.parts)ve(R)&&us(R)===qs&&(R.state!=="input-available"&&R.state!=="output-available"||M.push({key:`${r??"pending"}:${R.toolCallId}`,type:"highlight-element",input:R.input}));return M},[p,r,m]),X=c==="submitted"||c==="streaming";f.useEffect(()=>{if(X)return;const C=be.current;if(C===null)return;const M=p.at(-1);M&&M.role==="assistant"&&Ae(M,C)},[p,X,Ae]),f.useEffect(()=>{const C=()=>{document.visibilityState==="visible"&&r&&(X||A===void 0&&!v||E())};return document.addEventListener("visibilitychange",C),window.addEventListener("online",C),()=>{document.removeEventListener("visibilitychange",C),window.removeEventListener("online",C)}},[r,X,v,A,E]),f.useEffect(()=>{if(!(X||!v))for(let C=a.length-1;C>=0;C-=1){const M=a[C];if(M){if(M.type==="USER")return;if(!(M.type!=="AI"&&M.type!=="AGENT")){I(!1),B.current===be.current&&Y(null),be.current=null;return}}}},[X,v,a,Y]);const Er=f.useMemo(()=>{if(!X&&!v)return[];const C=p.at(-1);return!C||C.role!=="assistant"?[]:Xe(C.parts)},[p,X,v]),zr=f.useMemo(()=>T.current.items.map(C=>C.userMessage),[h]);return{isStreaming:X,liveItems:Er,turnSources:D,liveTurnKey:Fe,turnFailed:A!==void 0,retryFailedTurn:yr,queuedUserMessages:zr,removeQueued:br,stop:Sr,pageEffects:Cr}}function Ks(e){return e?{...e,initialMessages:[]}:null}const st={isStreaming:!1,liveItems:[],turnSources:[],liveTurnKey:null,turnFailed:!1,retryFailedTurn:()=>{},queuedUserMessages:[],removeQueued:()=>{},stop:()=>{},pageEffects:[],pendingClarification:null},De=f.createContext(null);function nt(){return f.useContext(De)??st}function Bs({children:e,widgetCtx:t,config:r}){var z,T;const a=k(t.sessionCtx.sessionState),s=k(t.messageCtx.state),{isStreaming:o,liveItems:l,turnSources:n,liveTurnKey:m,turnFailed:u,retryFailedTurn:c,queuedUserMessages:p,removeQueued:y,stop:b,pageEffects:A}=Ws({widgetCtx:t,config:r,sessionId:((z=a.session)==null?void 0:z.id)??null,persistedMessages:s.messages}),w=((T=s.messages.at(-1))==null?void 0:T.type)==="USER",E=f.useMemo(()=>({isStreaming:o,liveItems:l,turnSources:n,liveTurnKey:m,turnFailed:u,retryFailedTurn:c,queuedUserMessages:p,removeQueued:y,stop:b,pageEffects:A,pendingClarification:wr({turnSources:n,liveItems:l,isStreaming:o,lastMessageIsFromUser:w})}),[o,l,n,m,u,c,p,y,b,A,w]);return f.createElement(De.Provider,{value:E},e)}function ur({children:e,widgetCtx:t,config:r}){return t.streaming?f.createElement(Bs,{widgetCtx:t,config:r},e):f.createElement(De.Provider,{value:st},e)}class Vs{constructor(t){this.root=t,this.nextId=1,this.mountVersion=0,this.disposed=!1,this.mount=()=>{const a=++this.mountVersion;this.root.routerCtx.navigateConversation=this.open;const s=this.state.get().chats.find(o=>o.id===this.state.get().activeId);return s.ctx===this.root?this.root.sessionCtx.restoreActiveSessionTracking():this.root.sessionCtx.trackActiveSession(s.ctx.sessionCtx),()=>{queueMicrotask(()=>{this.mountVersion===a&&this.dispose()})}},this.dispose=()=>{if(!this.disposed){this.disposed=!0,this.root.routerCtx.navigateConversation===this.open&&(this.root.routerCtx.navigateConversation=void 0,this.root.sessionCtx.restoreActiveSessionTracking());for(const a of this.state.get().chats)a.ctx!==this.root&&a.ctx.releaseConversation();this.state.set({chats:[],activeId:0})}},this.select=a=>{if(this.disposed)return;const s=this.state.get().chats.find(o=>o.id===a);s&&(s.ctx.routerCtx.navigateConversation=this.open,s.ctx.routerCtx.state.setPartial({screen:s.ctx.contactCtx.shouldCollectData()?"welcome":"chat"}),this.root.sessionCtx.trackActiveSession(s.ctx.sessionCtx),this.state.setPartial({activeId:a,chats:this.state.get().chats.map(o=>o.id===a?{...o,closed:!1}:o)}))},this.close=a=>{if(this.disposed)return;const{chats:s,activeId:o}=this.state.get(),l=s.findIndex(p=>p.id===a&&!p.closed),n=s[l];if(!n)return;const m=this.isWorking(n),u=m?s.map(p=>p.id===a?{...p,closed:!0}:p):s.filter(p=>p.id!==a);let c=u.find(p=>p.id===o&&!p.closed)??u.slice(0,l).reverse().find(p=>!p.closed)??u.find(p=>!p.closed);c||(c=this.makeChat(this.root.createConversation()),u.push(c)),c.ctx.routerCtx.navigateConversation=this.open,this.root.sessionCtx.trackActiveSession(c.ctx.sessionCtx),this.state.set({chats:u,activeId:c.id}),m||this.releaseChat(n)},this.canCreateChat=()=>!this.disposed&&(!this.root.config.oneOpenSessionAllowed||!this.state.get().chats.some(({ctx:a})=>{const{session:s,isCreatingSession:o}=a.sessionCtx.sessionState.get();return(s==null?void 0:s.isOpened)||o})&&!this.root.sessionCtx.sessionsState.get().data.some(a=>a.isOpened)),this.open=a=>{var m,u,c,p;if(this.disposed)return;const{chats:s}=this.state.get();if(!a&&!this.canCreateChat())return;const o=a?s.find(({ctx:y})=>{var b;return((b=y.sessionCtx.sessionState.get().session)==null?void 0:b.id)===a}):s.find(y=>this.isEmpty(y));if(o)return this.select(o.id),(u=(m=this.root.config.hooks)==null?void 0:m.onNavigateToChat)==null||u.call(m,{session:o.ctx.sessionCtx.sessionState.get().session??void 0}),o.ctx;const l=a?this.root.sessionCtx.sessionsState.get().data.find(y=>y.id===a):void 0;if(a&&!l)return;const n=s.find(y=>this.isEmpty(y))??this.makeChat(this.root.createConversation());return l&&n.ctx.sessionCtx.sessionState.setPartial({session:l}),s.includes(n)||this.state.setPartial({chats:[...s,n]}),this.select(n.id),(p=(c=this.root.config.hooks)==null?void 0:c.onNavigateToChat)==null||p.call(c,{session:l}),n.ctx},this.update=(a,s)=>{const o=this.state.get().chats.find(n=>n.id===a);if(!o)return;const l={...o,...s};if(l.closed&&!this.isWorking(l)){this.state.setPartial({chats:this.state.get().chats.filter(n=>n.id!==a)}),this.releaseChat(l);return}this.state.setPartial({chats:this.state.get().chats.map(n=>n.id===a?{...n,...s}:n)})};const r=this.makeChat(t);this.state=new N.PrimitiveState({chats:[r],activeId:r.id})}makeChat(t){return{id:this.nextId++,ctx:t,title:"",working:!1,hasSession:!1,hasDraft:!1,ui:st}}releaseChat(t){t.ctx===this.root?t.ctx.resetChat():t.ctx.releaseConversation()}isWorking(t){return t.ui.isStreaming||t.ctx.messageCtx.state.get().isSendingMessage||t.ctx.sessionCtx.sessionState.get().isCreatingSession}isEmpty(t){const{session:r}=t.ctx.sessionCtx.sessionState.get(),{text:a,mentions:s}=t.ctx.messageCtx.draftState.get();return!t.closed&&!r&&!this.isWorking(t)&&!t.ctx.messageCtx.state.get().messages.length&&!a&&!s.length&&!t.ctx.uploadCtx.state.get().length}}const cr=f.createContext(null),Js=new N.PrimitiveState({chats:[],activeId:0});function dr(){const e=f.useContext(cr),t=k((e==null?void 0:e.state)??Js),r=t.chats.filter(s=>!s.closed),a=r.filter(s=>s.hasSession||s.working||s.hasDraft||s.title);return{workspace:e,chats:r,openChats:a,activeId:t.activeId}}function Hs(){const{workspace:e,...t}=dr();if(!e)throw new Error("Companion chats require a conversation workspace");return{...t,selectChat:e.select,closeChat:e.close,newChat:e.open}}function Ys({chat:e,workspace:t}){const r=nt(),a=k(e.ctx.messageCtx.state),s=k(e.ctx.sessionCtx.sessionState),o=k(e.ctx.messageCtx.draftState),l=k(e.ctx.uploadCtx.state),n=a.messages.find(y=>y.type==="USER"),m=(n==null?void 0:n.type)==="USER"?n.content.slice(0,60):"",u=r.isStreaming||a.isSendingMessage||s.isCreatingSession,c=!!s.session,p=!!o.text||o.mentions.length>0||l.length>0;return f.useEffect(()=>t.update(e.id,{title:m,working:u,hasSession:c,hasDraft:p,ui:r}),[t,e.id,m,u,c,p,r]),null}function Gs({widgetCtx:e,children:t}){const r=f.useMemo(()=>new Vs(e),[e]);f.useEffect(()=>r.mount(),[r]);const{chats:a,activeId:s}=k(r.state),o=a.find(n=>n.id===s),l=f.useMemo(()=>a.map(n=>f.createElement(ur,{key:n.id,widgetCtx:n.ctx,config:e.config},f.createElement(Ys,{chat:n,workspace:r}))),[a,e.config,r]);return f.createElement(cr.Provider,{value:r},l,f.createElement(De.Provider,{value:o.ui},t(o.ctx)))}class Qs{constructor(t){this.components=[];const{components:r}=t;if(r&&r.forEach(a=>this.register(a)),this.components.length===0)throw new Error("No components registered");if(!this.get("fallback"))throw new Error("No fallback component registered")}register(t){const r=this.components.findIndex(a=>a.key.toUpperCase()===t.key.toUpperCase());return r!==-1?this.components[r]=t:this.components.push(t),this}get(t){const r=this.components.find(a=>a.key.toUpperCase()===t.toUpperCase());return r||null}getComponent(t){var r;return(r=this.get(t))==null?void 0:r.component}}const pr=f.createContext(null);function Xs({options:e,children:t,components:r,storage:a,loadingComponent:s,errorComponent:o}){const l=f.useRef(e);l.current=e;const n=f.useRef(null),m=f.useRef(null),[u,c]=f.useState({status:"loading"}),p=f.useMemo(()=>new Qs({components:r}),[r]);if(f.useEffect(()=>{const A=m.current??(m.current=N.WidgetCtx.initialize({config:e,storage:a,getClientCapabilities:()=>l.current.capabilities}));let w=!0;return A.then(E=>{w&&c({status:"ready",widgetCtx:E})},E=>{const z=E instanceof Error?E:new Error("Widget initialization failed",{cause:E});N.log.error("widget initialization failed",z),w&&c({status:"error",error:z})}),()=>{w=!1}},[]),u.status==="loading")return s?f.createElement(f.Fragment,null,s):null;if(u.status==="error")return o?f.createElement(f.Fragment,null,o(u.error)):null;const{widgetCtx:y}=u,b=(A,w)=>f.createElement(pr.Provider,{value:{widgetCtx:A,config:e,components:r,componentStore:p,version:Ir,contentIframeRef:n}},w);return e.displayMode==="companion"&&!e.inline?f.createElement(Gs,{widgetCtx:y},A=>b(A,t)):b(y,f.createElement(ur,{widgetCtx:y,config:e},t))}function $(){const e=f.useContext(pr);if(!e)throw new Error("useWidget must be used within a WidgetProvider");return e}function en(){const{config:e,widgetCtx:t}=$(),{name:r,avatarUrl:a}=t.agent,s=e.bot;return f.useMemo(()=>({isAi:!0,id:null,name:(s==null?void 0:s.name)??r,avatarUrl:(s==null?void 0:s.avatarUrl)??a,avatar:s==null?void 0:s.avatar}),[s==null?void 0:s.name,s==null?void 0:s.avatarUrl,s==null?void 0:s.avatar,r,a])}function Me(){const{config:e}=$();return e}function tn(){const{config:e}=$();return e.displayMode??"popover"}function rn(){const{widgetCtx:e}=$();return{contactState:k(e.contactCtx.state),createUnverifiedContact:e.contactCtx.createUnverifiedContact}}function fr(){const[e,t]=f.useState("ltr");return f.useEffect(()=>{const r=()=>{typeof document>"u"||t(window.getComputedStyle((window.top||window).document.body).direction)};r();const a=new MutationObserver(r);return a.observe(document.documentElement,{attributes:!0,attributeFilter:["dir"]}),a.observe(document.body,{attributes:!0,attributeFilter:["dir"]}),window.addEventListener("languagechange",r),()=>{a.disconnect(),window.removeEventListener("languagechange",r)}},[]),{dir:e}}const an=500,Ne="opencx:context-changed";function mr(){if(typeof window>"u")return null;try{const e=window.top??window;return e.location.href,e}catch{return null}}function sn(e){const t=mr();if(!t)return()=>{};const r=s=>{(s==null?void 0:s.type)===Ne&&(gr+=1),e()};t.addEventListener("popstate",r),t.addEventListener("hashchange",r),t.addEventListener(Ne,r);const a=t.setInterval(r,an);return()=>{t.removeEventListener("popstate",r),t.removeEventListener("hashchange",r),t.removeEventListener(Ne,r),t.clearInterval(a)}}let gr=0;function nn(){var e;return`${gr}|${((e=mr())==null?void 0:e.location.href)??""}`}function on(){return f.useSyncExternalStore(sn,nn,()=>"")}function it(){const{widgetCtx:e}=$(),t=k(e.messageCtx.state),{isStreaming:r}=nt();return{messagesState:r?{...t,isSendingMessage:!0,isSendingMessageToAI:!0}:t,sendMessage:e.messageCtx.sendMessage,rememberSentText:e.messageCtx.rememberSentText,getSentTextHistory:e.messageCtx.getSentTextHistory}}function ot(){var m;const{widgetCtx:e}=$(),{oneOpenSessionAllowed:t}=Me(),r=k(e.sessionCtx.sessionState),a=k(e.sessionCtx.sessionsState),{openSessions:s,closedSessions:o}=f.useMemo(()=>({openSessions:a.data.filter(u=>u.isOpened===!0),closedSessions:a.data.filter(u=>u.isOpened===!1)}),[a.data]),{workspace:l}=dr(),n=l?l.canCreateChat():!t||s.length===0&&!r.isCreatingSession&&!((m=r.session)!=null&&m.isOpened);return{sessionState:r,sessionsState:a,loadMoreSessions:e.sessionCtx.loadMoreSessions,resolveSession:e.sessionCtx.resolveSession,createStateCheckpoint:e.sessionCtx.createStateCheckpoint,openSessions:s,closedSessions:o,canCreateNewSession:n}}function ln(){var o,l,n;const{sessionState:e}=ot(),{messagesState:t}=it(),r=((o=e.session)==null?void 0:o.assignee.kind)==="ai",a=((n=(l=t.messages)==null?void 0:l.at(-1))==null?void 0:n.type)==="USER";return{isAwaitingBotReply:!!(t.isSendingMessageToAI||(r||e.isCreatingSession)&&(t.isSendingMessage||a))}}function un(){const{widgetCtx:e}=$();return{routerState:k(e.routerCtx.state),toSessionsScreen:e.routerCtx.toSessionsScreen,toChatScreen:e.routerCtx.toChatScreen}}function cn(){const{widgetCtx:{uploadCtx:e}}=$(),t=k(e.state),r=f.useMemo(()=>t.filter(a=>a.status==="success"&&a.fileUrl),[t]);return{allFiles:t,appendFiles:e.appendFiles,handleCancelUpload:e.cancel,successFiles:r,emptyTheFiles:e.reset,getFileById:a=>t.find(s=>s.id===a),getUploadProgress:a=>{var s;return((s=t.find(o=>o.id===a))==null?void 0:s.progress)??0},getUploadStatus:a=>{var s;return(s=t.find(o=>o.id===a))==null?void 0:s.status},hasErrors:t.some(a=>a.status==="error"),isUploading:t.some(a=>a.status==="uploading")}}const hr=f.createContext(null);function dn({children:e}){const t=Me(),[r,a]=f.useState(()=>t.inline?!0:t.isOpen??!1);return f.useEffect(()=>{a(s=>t.isOpen??s)},[t.isOpen]),f.useEffect(()=>{const s=t.openAfterNSeconds;if(typeof s!="number"||isNaN(s))return;const o=setTimeout(()=>a(!0),s*1e3);return()=>clearTimeout(o)},[t.openAfterNSeconds]),f.createElement(hr.Provider,{value:{isOpen:r,setIsOpen:a}},e)}function pn(){const e=f.useContext(hr);if(!e)throw new Error("useWidgetTrigger must be used within a WidgetTriggerProvider");return e}function fn(e){return e!=="fullscreen"}const vr=f.createContext(null);function mn({children:e}){var s,o;const{companion:t}=Me(),{dir:r}=fr(),{widgetCtx:a}=$();return f.createElement(gn,{configuredDefaultLayout:t==null?void 0:t.defaultLayout,configuredLayouts:t==null?void 0:t.layouts,configuredSidebarSide:N.resolveSidebarSide((s=t==null?void 0:t.sidebar)==null?void 0:s.side,r),configuredSidebarMode:N.resolveSidebarMode((o=t==null?void 0:t.sidebar)==null?void 0:o.mode),storage:a.storageCtx},e)}function gn({configuredDefaultLayout:e,configuredLayouts:t,configuredSidebarSide:r,configuredSidebarMode:a,storage:s,children:o}){const l=N.normalizeCompanionLayouts(t),n=N.resolveCompanionDefaultLayout(e,l),m=l.join("|"),[u,c]=f.useState(n),[p,y]=f.useState({defaultLayout:n,allowedLayoutsKey:m});(p.defaultLayout!==n||p.allowedLayoutsKey!==m)&&(y({defaultLayout:n,allowedLayoutsKey:m}),(p.defaultLayout!==n||!l.includes(u))&&c(n));const b=v=>{c(I=>{const D=typeof v=="function"?v(I):v;return l.includes(D)?D:I})},A=f.useRef(l);A.current=l;const w=v=>{b(v),A.current.includes(v)&&fn(v)&&(s==null||s.setCompanionLayout(v).catch(()=>{}))},[E,z]=f.useState(r),[T,P]=f.useState(a),[d,g]=f.useState({side:r,mode:a});(d.side!==r||d.mode!==a)&&(g({side:r,mode:a}),d.side!==r&&z(r),d.mode!==a&&P(a)),f.useEffect(()=>{if(!s)return;let v=!1;return s.getCompanionLayout().then(I=>{v||!I||A.current.includes(I)&&c(I)}).catch(()=>{}),s.getCompanionSidebarSide().then(I=>{!v&&I&&z(I)}).catch(()=>{}),s.getCompanionSidebarMode().then(I=>{!v&&I&&P(I)}).catch(()=>{}),()=>{v=!0}},[s]);const h=f.useCallback(v=>{z(v),s==null||s.setCompanionSidebarSide(v).catch(()=>{})},[s]),S=f.useCallback(v=>{P(v),s==null||s.setCompanionSidebarMode(v).catch(()=>{})},[s]);return f.createElement(vr.Provider,{value:{layout:u,setLayout:b,setLayoutPreference:w,allowedLayouts:l,defaultLayout:n,sidebarSide:E,setSidebarSide:h,sidebarMode:T,setSidebarMode:S}},o)}function hn(){const e=f.useContext(vr);if(!e)throw new Error("useWidgetLayout must be used within a WidgetLayoutProvider");return e}function vn(){var n,m;const{widgetCtx:e}=$(),{modesComponents:t}=Me(),{sessionState:r}=ot(),a=e.modes,s=(n=r.session)==null?void 0:n.modeId,o=a.find(u=>u.id===s),l=(m=t==null?void 0:t.find(u=>{var c,p;return[(o==null?void 0:o.id)||"",((c=o==null?void 0:o.name)==null?void 0:c.toLowerCase())||"",((p=o==null?void 0:o.slug)==null?void 0:p.toLowerCase())||""].includes(u.key.toLowerCase())}))==null?void 0:m.component;return{modes:a,modesComponents:t,activeModeId:s,activeMode:o,Component:l}}function yn(){const{widgetCtx:e}=$(),{messagesState:{messages:t}}=it(),{csatRequestedMessage:r,isCsatRequested:a,csatSubmittedMessage:s,isCsatSubmitted:o,submittedScore:l,submittedFeedback:n}=f.useMemo(()=>{const m=t.find(c=>c.type==="SYSTEM"&&c.subtype==="csat_requested"),u=t.findLast(c=>c.type==="SYSTEM"&&c.subtype==="csat_submitted");return{csatRequestedMessage:m,isCsatRequested:!!m&&!u,csatSubmittedMessage:u,isCsatSubmitted:!!u,submittedScore:u==null?void 0:u.data.payload.score,submittedFeedback:u==null?void 0:u.data.payload.feedback}},[t]);return{submitCsat:e.csatCtx.submitCsat,csatRequestedMessage:r,isCsatRequested:a,csatSubmittedMessage:s,isCsatSubmitted:o,submittedScore:l,submittedFeedback:n}}function bn(e){const{widgetCtx:t}=$(),r=t.dictationCtx,a=k(r.state),s=f.useRef(e);s.current=e;const o=f.useCallback(()=>{r.start({getValue:()=>s.current.getValue(),setValue:n=>s.current.setValue(n),onSend:()=>{var n,m;return(m=(n=s.current).onSend)==null?void 0:m.call(n)}})},[r]),l=f.useCallback(()=>{r.isActive()?r.stop():o()},[r,o]);return f.useEffect(()=>()=>r.stop(),[r]),{enabled:t.features.dictation,status:a.status,error:a.error,isActive:a.status!=="idle",levelRef:r.levelRef,start:o,stop:r.stop,toggle:l,prewarm:r.prewarm}}function Sn(){const{widgetCtx:e}=$(),t=e.messageCtx.draftState,r=k(t),a=f.useCallback(l=>{t.setPartial({text:typeof l=="function"?l(t.get().text):l})},[t]),s=f.useCallback(l=>{t.setPartial({mentions:typeof l=="function"?l(t.get().mentions):l})},[t]),o=f.useCallback(()=>t.get()!==r?!1:(t.reset(),!0),[t,r]);return{...r,setText:a,setMentions:s,clearSubmitted:o}}exports.HOST_CONTEXT_CHANGED_EVENT=Ne;exports.WidgetLayoutProvider=mn;exports.WidgetProvider=Xs;exports.WidgetTriggerProvider=dn;exports.formatAskQuestionsAnswers=Ps;exports.useAgentChatUi=nt;exports.useBot=en;exports.useCompanionChats=Hs;exports.useComposerDraft=Sn;exports.useConfig=Me;exports.useContact=rn;exports.useCsat=yn;exports.useDictation=bn;exports.useDisplayMode=tn;exports.useDocumentDir=fr;exports.useHostLocation=on;exports.useIsAwaitingBotReply=ln;exports.useMessages=it;exports.useModes=vn;exports.usePrimitiveState=k;exports.useSessions=ot;exports.useUploadFiles=cn;exports.useWidget=$;exports.useWidgetLayout=hn;exports.useWidgetRouter=un;exports.useWidgetTrigger=pn;
23
+ `)}const Ut="data-spec",Bs=$.z.object({label:$.z.string(),done:$.z.boolean()});function qe(e){const t=[],r=i=>{const l=t.at(-1);(l==null?void 0:l.kind)==="steps"?l.steps.push(i):t.push({kind:"steps",steps:[i]})},a=i=>i==="output-available"||i==="output-error";let s=null;for(const i of e)if(!k.isAgentStreamKeepalive(i)&&br(i)!=="highlight_element"){if(Vs(i)){const l=Js(i);l&&t.push(l);continue}if(i.type==="data-tool-activity"){const l=Bs.safeParse(i.data);l.success&&r({kind:"tool",label:l.data.label,done:l.data.done})}else if(i.type===Ut)s||(s={kind:"spec",parts:[]},t.push(s)),s.parts.push({type:Ut,data:i.data});else if(i.type==="text"){const l=typeof i.text=="string"?i.text:"";l.trim().length>0&&t.push({kind:"text",text:l})}else i.type==="reasoning"?r({kind:"reasoning",label:typeof i.text=="string"?i.text:"",done:i.state!=="streaming"}):i.type==="dynamic-tool"?r({kind:"tool",label:typeof i.toolName=="string"?i.toolName:"tool",done:a(i.state),...qt(i)}):i.type.startsWith("tool-")&&r({kind:"tool",label:i.type.slice(5),done:a(i.state),...qt(i)})}return t}function br(e){return e.type==="dynamic-tool"?typeof e.toolName=="string"?e.toolName:void 0:e.type.startsWith("tool-")?e.type.slice(5):void 0}function Vs(e){return Zs(br(e))}function Js(e){const t=typeof e.toolCallId=="string"?e.toolCallId:void 0,r=$t(e.output,t)??$t(e.input,t);return r?{kind:"questions",request:r}:null}function qt(e){return{...e.input===void 0?{}:{input:e.input},...e.output===void 0?{}:{output:e.output}}}function Hs(e){return({id:t})=>({api:e.reconnectApi(t),headers:e.headers()})}function Ys(e){return new dt({api:e.api,headers:()=>e.headers(),prepareSendMessagesRequest:({body:t})=>({body:t??{}}),prepareReconnectToStreamRequest:Hs(e)})}function Gs({existing:e,fetched:t,refreshItems:r=!1}){const a=new Map(e.map(n=>[n.turnId,n])),s=new Set,i=[];for(const n of t.turns){if(s.add(n.turn_id),n.message_uuids.length===0)continue;const m=a.get(n.turn_id);if(m&&!r){Qs(m.rowIds,n.message_uuids)?i.push(m):i.push({...m,rowIds:n.message_uuids});continue}if(n.ui_parts!==null){const u=qe(n.ui_parts);if(u.length===0)continue;i.push({key:(m==null?void 0:m.key)??`turn-${n.turn_id}`,turnId:n.turn_id,rowIds:n.message_uuids,items:u})}}for(const n of e)s.has(n.turnId)||i.push(n);return i.length===e.length&&i.every((n,m)=>n===e[m])?e:i}const Qs=(e,t)=>e.length===t.length&&e.every((r,a)=>r===t[a]),Xs=e=>Array.isArray(e)&&e.every(t=>typeof t=="string");function Wt(e){for(const t of e){if(t.type!=="data-turn-settled")continue;const r=t.data;return!k.isRecord(r)||typeof r.turn_id!="string"||!Xs(r.message_uuids)?null:{turnId:r.turn_id,rowIds:r.message_uuids}}return null}async function en({api:e,sessionId:t,chatStop:r}){try{await r()}finally{t&&await e.stopStream(t)}}const Kt=20,tn="highlight_element";function rn({widgetCtx:e,config:t,sessionId:r,persistedMessages:a}){var St,Ct;const{api:s,messageCtx:i}=e,l=f.useRef(t);l.current=t;const{pageContext:n,clientTools:m}=e.features,u=f.useMemo(()=>Ys({...s.getStreamTransportOptions(),headers:()=>s.getStreamTransportOptions().headers,reconnectApi:C=>{const w=new URL(s.getStreamTransportOptions().reconnectApi(C)),P=l.current.presentation;return P!=null&&P.toolActivity&&w.searchParams.set("toolActivity",P.toolActivity),(P==null?void 0:P.reasoning)!==void 0&&w.searchParams.set("reasoning",String(P.reasoning)),w.toString()}}),[s]),[c,p]=f.useState(null),y=f.useRef(!1),{status:v,messages:x,sendMessage:M,stop:E,error:z,clearError:T,resumeStream:N}=Ds({id:r??void 0,resume:r!==null,transport:u,throttle:50,onError:C=>k.log.error("agent chat stream error",C),onFinish:p}),d=f.useRef(x);d.current=x;const h=f.useRef(new Zt(Kt)),g=f.useRef("idle"),S=f.useRef(Promise.resolve()),b=f.useRef(0),I=f.useRef(0),[D,K]=f.useState(0),[G,te]=f.useState(!1),J=f.useRef(G);J.current=G;const[ze,je]=f.useState([]),[Mr,Ar]=f.useState(null),Ie=f.useRef(null),ue=f.useCallback(C=>{Ie.current=C,Ar(C)},[]),ge=f.useRef(null),Te=f.useRef(null),he=f.useRef(v),ht=f.useRef(r),Ve=f.useRef(null),Je=f.useRef(null),vt=f.useRef(E),re=f.useRef(v);re.current=v;const De=f.useCallback((C,w)=>{const P=Wt(C.parts);if(!P||P.rowIds.length===0)return;const R=qe(C.parts);R.length!==0&&je(F=>F.some(ae=>ae.turnId===P.turnId)?F:[...F,{key:w,turnId:P.turnId,rowIds:P.rowIds,items:R}])},[]),yt=f.useCallback(C=>k.buildSendMessageBody({config:l.current,input:C.input,uuid:C.retryUuid??C.userMessage.id,sessionId:C.sessionId,content:C.userMessage.content,initialMessages:C.initialMessages,sendsPageContext:n}),[n]);f.useEffect(()=>{const C=vt.current;vt.current=E;const w=ht.current;if(w===r)return;if(ht.current=r,w===null){je([]);return}const P=re.current==="submitted"||re.current==="streaming"||he.current==="submitted"||he.current==="streaming"||g.current==="in-flight";I.current+=1,b.current=0,S.current=Promise.resolve(),h.current=new Zt(Kt),g.current="idle",Te.current=null,ge.current=null,p(null),y.current=!1,Je.current=null,Ve.current=v==="submitted"||v==="streaming"?v:null,he.current="ready",re.current="ready",T(),K(R=>R+1),te(!1),je([]),ue(null),P&&Promise.resolve().then(()=>C()).catch(R=>{k.log.error("agent chat client stream cancel failed",R)})},[r,v,E,T,ue]),f.useEffect(()=>{var F,ae;const C=Ve.current;if(C!==null&&v===C){he.current="ready";return}Ve.current=null;const w=he.current;if(he.current=v,(v==="submitted"||v==="streaming")&&(w!=="submitted"&&w!=="streaming"&&Ie.current===null&&ue(`turn-resumed-${k.genUuid()}`),te(!0)),v==="streaming"){const Z=(F=Te.current)==null?void 0:F.userMessage.id;Z&&i.markUserMessageDelivered(Z);return}if(v!=="ready"&&v!=="error")return;if(w==="streaming"||w==="submitted"||g.current==="in-flight"&&(c==null?void 0:c.messages)===d.current){te(!0),g.current==="in-flight"&&(g.current="idle");const Z=d.current.at(-1),se=Ie.current;if(ge.current=se,se!==null&&Z&&Z.role==="assistant"&&De(Z,se),v==="ready"){const ne=(ae=Te.current)==null?void 0:ae.userMessage.id;ne&&i.markUserMessageDelivered(ne)}g.current==="stopping"||(r?(g.current="reconciling",e.reconcileAfterStream(r).catch(ne=>{k.log.error("agent chat post-turn reconcile failed",ne)}).finally(()=>{g.current==="reconciling"&&(g.current="idle"),K(ne=>ne+1)})):te(!1))}if(g.current!=="idle"||!r||J.current&&v!=="error")return;const R=h.current.dequeueNext();R&&(g.current="in-flight",Te.current=R,p(null),y.current=!1,ue(`turn-${R.userMessage.id}`),i.appendUserMessageIfAbsent(R.userMessage),K(Z=>Z+1),M({text:R.userMessage.content},{body:yt(R)}))},[v,r,D,M,i,e,yt,De,ue,c]);const bt=f.useCallback(C=>{const w=I.current;b.current++;const R=S.current.then(async()=>{if(w!==I.current)return;const F=g.current,Z=re.current==="submitted"||re.current==="streaming"||F!=="idle"||J.current||h.current.size>0?an(i.buildQueuedUserMessage(C)):await i.stageUserTurn(C,{pending:!0});if(!Z||w!==I.current)return;const se={...Z,input:C};if(!h.current.enqueue(se)){k.log.warn("agent chat queue full; rejecting newest send",{rejectedMessageId:se.userMessage.id});return}K(ne=>ne+1),i.notifySendAccepted(C)}).finally(()=>{w===I.current&&b.current--});return S.current=R.then(()=>{},()=>{}),R},[i]),Pr=f.useCallback(()=>{const C=Te.current;if(!C)return;if(!h.current.enqueue({...C,retryUuid:k.genUuid()})){k.log.warn("agent chat queue full; retry not enqueued");return}T(),K(P=>P+1)},[T]),Rr=f.useCallback(C=>{h.current.removeWhere(P=>P.userMessage.id===C)&&K(P=>P+1)},[]),Or=f.useCallback(()=>{g.current="stopping",y.current=!1;const C=I.current;en({api:s,sessionId:r,chatStop:E}).then(()=>{C===I.current&&(y.current=!0)}).catch(w=>{k.log.error("agent chat stop failed",w)}).then(()=>{if(C===I.current){if(!r){te(!1);return}return e.reconcileAfterStream(r).catch(w=>{k.log.error("agent chat post-stop reconcile failed",w)})}}).finally(()=>{C===I.current&&(g.current="idle",K(w=>w+1))})},[s,r,E,e]);f.useEffect(()=>{const C={send:bt,hasPendingWork:()=>b.current>0||J.current||h.current.size>0||g.current!=="idle"||re.current==="submitted"||re.current==="streaming"};return i.registerAgentHandlers(C),()=>i.unregisterAgentHandlers(C)},[i,bt]);const Fe=(St=t.presentation)==null?void 0:St.toolActivity,ke=(Ct=t.presentation)==null?void 0:Ct.reasoning;f.useEffect(()=>{var F,ae;if(!r)return;const C=Fe===void 0&&ke===void 0?void 0:{toolActivity:Fe,reasoning:ke},w=Je.current,P=(w==null?void 0:w.sessionId)===r&&(((F=w.presentation)==null?void 0:F.toolActivity)!==Fe||((ae=w.presentation)==null?void 0:ae.reasoning)!==ke);Je.current={sessionId:r,presentation:C};let R=!1;return(async()=>{try{const Z=C===void 0?await s.getAgentTurnMessages(r):await s.getAgentTurnMessages(r,C);if(!Z||R)return;je(se=>Gs({existing:se,fetched:Z,refreshItems:P}))}catch(Z){k.log.error("agent chat turn sources fetch failed",Z)}})(),()=>{R=!0}},[r,s,Fe,ke]);const Nr=f.useMemo(()=>{if(!m)return[];const C=x.at(-1);if(!C||C.role!=="assistant")return[];const w=[];for(const P of C.parts)Ce(P)&&zs(P)===tn&&(P.state!=="input-available"&&P.state!=="output-available"||w.push({key:`${r??"pending"}:${P.toolCallId}`,type:"highlight-element",input:P.input}));return w},[x,r,m]),ee=v==="submitted"||v==="streaming";f.useEffect(()=>{if(ee)return;const C=ge.current;if(C===null)return;const w=x.at(-1);w&&w.role==="assistant"&&De(w,C)},[x,ee,De]),f.useEffect(()=>{const C=()=>{document.visibilityState==="visible"&&r&&(ee||z===void 0&&!G||N())};return document.addEventListener("visibilitychange",C),window.addEventListener("online",C),()=>{document.removeEventListener("visibilitychange",C),window.removeEventListener("online",C)}},[r,ee,G,z,N]),f.useEffect(()=>{if(ee||!G)return;const C=()=>{te(!1),K(R=>R+1),Ie.current===ge.current&&ue(null),ge.current=null};if(Ie.current===ge.current&&(c==null?void 0:c.messages)===x&&!c.isError&&!c.isDisconnect&&(!c.isAbort||y.current)&&!qe(c.message.parts).some(R=>R.kind!=="steps")){const R=a.findLast(F=>F.type==="USER");R&&i.state.setPartial({settledAgentUserMessageId:R.id}),C();return}if(c&&c.messages!==x)return;const w=x.at(-1),P=(w==null?void 0:w.role)==="assistant"?Wt(w.parts):null;if(P&&P.rowIds.length>0){const R=new Set(a.map(F=>F.id));P.rowIds.every(F=>R.has(F))&&C();return}for(let R=a.length-1;R>=0;R-=1){const F=a[R];if(F){if(F.type==="USER")return;if(!(F.type!=="AI"&&F.type!=="AGENT")){C();return}}}},[ee,G,a,ue,c,x,i,D]);const ve=k.resolveClientPresentation(e.agent.presentation,t.presentation),Le=ve==null?void 0:ve.toolActivity,Ze=ve==null?void 0:ve.reasoning,jr=f.useMemo(()=>{if(v==="submitted"||!ee&&!G)return[];const C=x.at(-1);return!C||C.role!=="assistant"?[]:ot(qe(C.parts),{toolActivity:Le,reasoning:Ze})},[x,v,ee,G,Le,Ze]),Dr=f.useMemo(()=>ze.flatMap(C=>{const w=ot(C.items,{toolActivity:Le,reasoning:Ze});return w.length===0?[]:[w===C.items?C:{...C,items:w}]}),[ze,Le,Ze]),Fr=f.useMemo(()=>h.current.items.map(C=>C.userMessage),[D]);return{isStreaming:ee,liveItems:jr,turnSources:Dr,liveTurnKey:Mr,turnFailed:z!==void 0,retryFailedTurn:Pr,queuedUserMessages:Fr,removeQueued:Rr,stop:Or,pageEffects:Nr}}function an(e){return e?{...e,initialMessages:[]}:null}const pt={isStreaming:!1,liveItems:[],turnSources:[],liveTurnKey:null,turnFailed:!1,retryFailedTurn:()=>{},queuedUserMessages:[],removeQueued:()=>{},stop:()=>{},pageEffects:[],pendingClarification:null},Be=f.createContext(null);function ft(){return f.useContext(Be)??pt}function sn({children:e,widgetCtx:t,config:r}){var z,T;const a=L(t.sessionCtx.sessionState),s=L(t.messageCtx.state),{isStreaming:i,liveItems:l,turnSources:n,liveTurnKey:m,turnFailed:u,retryFailedTurn:c,queuedUserMessages:p,removeQueued:y,stop:v,pageEffects:x}=rn({widgetCtx:t,config:r,sessionId:((z=a.session)==null?void 0:z.id)??null,persistedMessages:s.messages}),M=((T=s.messages.at(-1))==null?void 0:T.type)==="USER",E=f.useMemo(()=>({isStreaming:i,liveItems:l,turnSources:n,liveTurnKey:m,turnFailed:u,retryFailedTurn:c,queuedUserMessages:p,removeQueued:y,stop:v,pageEffects:x,pendingClarification:Zr({turnSources:n,liveItems:l,isStreaming:i,lastMessageIsFromUser:M})}),[i,l,n,m,u,c,p,y,v,x,M]);return f.createElement(Be.Provider,{value:E},e)}function Sr({children:e,widgetCtx:t,config:r}){return L(t.messageCtx.state),t.streaming?f.createElement(sn,{widgetCtx:t,config:r},e):f.createElement(Be.Provider,{value:pt},e)}class nn{constructor(t){this.root=t,this.nextId=1,this.mountVersion=0,this.disposed=!1,this.mount=()=>{const a=++this.mountVersion;this.root.routerCtx.navigateConversation=this.open;const s=this.state.get().chats.find(i=>i.id===this.state.get().activeId);return s.ctx===this.root?this.root.sessionCtx.restoreActiveSessionTracking():this.root.sessionCtx.trackActiveSession(s.ctx.sessionCtx),()=>{queueMicrotask(()=>{this.mountVersion===a&&this.dispose()})}},this.dispose=()=>{if(!this.disposed){this.disposed=!0,this.root.routerCtx.navigateConversation===this.open&&(this.root.routerCtx.navigateConversation=void 0,this.root.sessionCtx.restoreActiveSessionTracking());for(const a of this.state.get().chats)a.ctx!==this.root&&a.ctx.releaseConversation();this.state.set({chats:[],activeId:0})}},this.select=a=>{if(this.disposed)return;const s=this.state.get().chats.find(i=>i.id===a);s&&(s.ctx.routerCtx.navigateConversation=this.open,s.ctx.routerCtx.state.setPartial({screen:s.ctx.contactCtx.shouldCollectData()?"welcome":"chat"}),this.root.sessionCtx.trackActiveSession(s.ctx.sessionCtx),this.state.setPartial({activeId:a,chats:this.state.get().chats.map(i=>i.id===a?{...i,closed:!1}:i)}))},this.close=a=>{if(this.disposed)return;const{chats:s,activeId:i}=this.state.get(),l=s.findIndex(p=>p.id===a&&!p.closed),n=s[l];if(!n)return;const m=this.isWorking(n),u=m?s.map(p=>p.id===a?{...p,closed:!0}:p):s.filter(p=>p.id!==a);let c=u.find(p=>p.id===i&&!p.closed)??u.slice(0,l).reverse().find(p=>!p.closed)??u.find(p=>!p.closed);c||(c=this.makeChat(this.root.createConversation()),u.push(c)),c.ctx.routerCtx.navigateConversation=this.open,this.root.sessionCtx.trackActiveSession(c.ctx.sessionCtx),this.state.set({chats:u,activeId:c.id}),m||this.releaseChat(n)},this.canCreateChat=()=>!this.disposed&&(!this.root.config.oneOpenSessionAllowed||!this.state.get().chats.some(({ctx:a})=>{const{session:s,isCreatingSession:i}=a.sessionCtx.sessionState.get();return(s==null?void 0:s.isOpened)||i})&&!this.root.sessionCtx.sessionsState.get().data.some(a=>a.isOpened)),this.open=a=>{var m,u,c,p;if(this.disposed)return;const{chats:s}=this.state.get();if(!a&&!this.canCreateChat())return;const i=a?s.find(({ctx:y})=>{var v;return((v=y.sessionCtx.sessionState.get().session)==null?void 0:v.id)===a}):s.find(y=>this.isEmpty(y));if(i)return this.select(i.id),(u=(m=this.root.config.hooks)==null?void 0:m.onNavigateToChat)==null||u.call(m,{session:i.ctx.sessionCtx.sessionState.get().session??void 0}),i.ctx;const l=a?this.root.sessionCtx.sessionsState.get().data.find(y=>y.id===a):void 0;if(a&&!l)return;const n=s.find(y=>this.isEmpty(y))??this.makeChat(this.root.createConversation());return l&&n.ctx.sessionCtx.sessionState.setPartial({session:l}),s.includes(n)||this.state.setPartial({chats:[...s,n]}),this.select(n.id),(p=(c=this.root.config.hooks)==null?void 0:c.onNavigateToChat)==null||p.call(c,{session:l}),n.ctx},this.update=(a,s)=>{const i=this.state.get().chats.find(n=>n.id===a);if(!i)return;const l={...i,...s};if(l.closed&&!this.isWorking(l)){this.state.setPartial({chats:this.state.get().chats.filter(n=>n.id!==a)}),this.releaseChat(l);return}this.state.setPartial({chats:this.state.get().chats.map(n=>n.id===a?{...n,...s}:n)})};const r=this.makeChat(t);this.state=new k.PrimitiveState({chats:[r],activeId:r.id})}makeChat(t){return{id:this.nextId++,ctx:t,title:"",working:!1,hasSession:!1,hasDraft:!1,ui:pt}}releaseChat(t){t.ctx===this.root?t.ctx.resetChat():t.ctx.releaseConversation()}isWorking(t){return t.ui.isStreaming||t.ctx.messageCtx.state.get().isSendingMessage||t.ctx.sessionCtx.sessionState.get().isCreatingSession}isEmpty(t){const{session:r}=t.ctx.sessionCtx.sessionState.get(),{text:a,mentions:s}=t.ctx.messageCtx.draftState.get();return!t.closed&&!r&&!this.isWorking(t)&&!t.ctx.messageCtx.state.get().messages.length&&!a&&!s.length&&!t.ctx.uploadCtx.state.get().length}}const Cr=f.createContext(null),on=new k.PrimitiveState({chats:[],activeId:0});function Er(){const e=f.useContext(Cr),t=L((e==null?void 0:e.state)??on),r=t.chats.filter(s=>!s.closed),a=r.filter(s=>s.hasSession||s.working||s.hasDraft||s.title);return{workspace:e,chats:r,openChats:a,activeId:t.activeId}}function ln(){const{workspace:e,...t}=Er();if(!e)throw new Error("Companion chats require a conversation workspace");return{...t,selectChat:e.select,closeChat:e.close,newChat:e.open}}function un({chat:e,workspace:t}){const r=ft(),a=L(e.ctx.messageCtx.state),s=L(e.ctx.sessionCtx.sessionState),i=L(e.ctx.messageCtx.draftState),l=L(e.ctx.uploadCtx.state),n=a.messages.find(y=>y.type==="USER"),m=(n==null?void 0:n.type)==="USER"?n.content.slice(0,60):"",u=r.isStreaming||a.isSendingMessage||s.isCreatingSession,c=!!s.session,p=!!i.text||i.mentions.length>0||l.length>0;return f.useEffect(()=>t.update(e.id,{title:m,working:u,hasSession:c,hasDraft:p,ui:r}),[t,e.id,m,u,c,p,r]),null}function cn({widgetCtx:e,config:t=e.config,children:r}){const a=f.useMemo(()=>new nn(e),[e]);f.useEffect(()=>a.mount(),[a]);const{chats:s,activeId:i}=L(a.state),l=s.find(m=>m.id===i),n=f.useMemo(()=>s.map(m=>f.createElement(Sr,{key:m.id,widgetCtx:m.ctx,config:t},f.createElement(un,{chat:m,workspace:a}))),[s,t,a]);return f.createElement(Cr.Provider,{value:a},n,f.createElement(Be.Provider,{value:l.ui},r(l.ctx)))}class dn{constructor(t){this.components=[];const{components:r}=t;if(r&&r.forEach(a=>this.register(a)),this.components.length===0)throw new Error("No components registered");if(!this.get("fallback"))throw new Error("No fallback component registered")}register(t){const r=this.components.findIndex(a=>a.key.toUpperCase()===t.key.toUpperCase());return r!==-1?this.components[r]=t:this.components.push(t),this}get(t){const r=this.components.find(a=>a.key.toUpperCase()===t.toUpperCase());return r||null}getComponent(t){var r;return(r=this.get(t))==null?void 0:r.component}}const zr=f.createContext(null);function pn({options:e,children:t,components:r,storage:a,loadingComponent:s,errorComponent:i}){const l=f.useRef(e);l.current=e;const n=f.useRef(null),m=f.useRef(null),[u,c]=f.useState({status:"loading"}),p=f.useMemo(()=>new dn({components:r}),[r]);if(f.useEffect(()=>{const x=m.current??(m.current=k.WidgetCtx.initialize({config:e,storage:a,getClientCapabilities:()=>l.current.capabilities,getRequestConfig:()=>l.current}));let M=!0;return x.then(E=>{M&&c({status:"ready",widgetCtx:E})},E=>{const z=E instanceof Error?E:new Error("Widget initialization failed",{cause:E});k.log.error("widget initialization failed",z),M&&c({status:"error",error:z})}),()=>{M=!1}},[]),u.status==="loading")return s?f.createElement(f.Fragment,null,s):null;if(u.status==="error")return i?f.createElement(f.Fragment,null,i(u.error)):null;const{widgetCtx:y}=u,v=(x,M)=>f.createElement(zr.Provider,{value:{widgetCtx:x,config:e,components:r,componentStore:p,version:Lr,contentIframeRef:n}},M);return e.displayMode==="companion"&&!e.inline?f.createElement(cn,{widgetCtx:y,config:e},x=>v(x,t)):v(y,f.createElement(Sr,{widgetCtx:y,config:e},t))}function q(){const e=f.useContext(zr);if(!e)throw new Error("useWidget must be used within a WidgetProvider");return e}function fn(){const{config:e,widgetCtx:t}=q(),{name:r,avatarUrl:a}=t.agent,s=e.bot;return f.useMemo(()=>({isAi:!0,id:null,name:(s==null?void 0:s.name)??r,avatarUrl:(s==null?void 0:s.avatarUrl)??a,avatar:s==null?void 0:s.avatar}),[s==null?void 0:s.name,s==null?void 0:s.avatarUrl,s==null?void 0:s.avatar,r,a])}function Ne(){const{config:e}=q();return e}function mn(){const{config:e}=q();return e.displayMode??"popover"}function gn(){const{widgetCtx:e}=q();return{contactState:L(e.contactCtx.state),createUnverifiedContact:e.contactCtx.createUnverifiedContact}}function Ir(){const[e,t]=f.useState("ltr");return f.useEffect(()=>{const r=()=>{typeof document>"u"||t(window.getComputedStyle((window.top||window).document.body).direction)};r();const a=new MutationObserver(r);return a.observe(document.documentElement,{attributes:!0,attributeFilter:["dir"]}),a.observe(document.body,{attributes:!0,attributeFilter:["dir"]}),window.addEventListener("languagechange",r),()=>{a.disconnect(),window.removeEventListener("languagechange",r)}},[]),{dir:e}}const hn=500,We="opencx:context-changed";function Tr(){if(typeof window>"u")return null;try{const e=window.top??window;return e.location.href,e}catch{return null}}function vn(e){const t=Tr();if(!t)return()=>{};const r=s=>{(s==null?void 0:s.type)===We&&(xr+=1),e()};t.addEventListener("popstate",r),t.addEventListener("hashchange",r),t.addEventListener(We,r);const a=t.setInterval(r,hn);return()=>{t.removeEventListener("popstate",r),t.removeEventListener("hashchange",r),t.removeEventListener(We,r),t.clearInterval(a)}}let xr=0;function yn(){var e;return`${xr}|${((e=Tr())==null?void 0:e.location.href)??""}`}function bn(){return f.useSyncExternalStore(vn,yn,()=>"")}function mt(){const{widgetCtx:e}=q(),t=L(e.messageCtx.state),{isStreaming:r}=ft();return{messagesState:r?{...t,isSendingMessage:!0,isSendingMessageToAI:!0}:t,sendMessage:e.messageCtx.sendMessage,rememberSentText:e.messageCtx.rememberSentText,getSentTextHistory:e.messageCtx.getSentTextHistory}}function gt(){var m;const{widgetCtx:e}=q(),{oneOpenSessionAllowed:t}=Ne(),r=L(e.sessionCtx.sessionState),a=L(e.sessionCtx.sessionsState),{openSessions:s,closedSessions:i}=f.useMemo(()=>({openSessions:a.data.filter(u=>u.isOpened===!0),closedSessions:a.data.filter(u=>u.isOpened===!1)}),[a.data]),{workspace:l}=Er(),n=l?l.canCreateChat():!t||s.length===0&&!r.isCreatingSession&&!((m=r.session)!=null&&m.isOpened);return{sessionState:r,sessionsState:a,loadMoreSessions:e.sessionCtx.loadMoreSessions,resolveSession:e.sessionCtx.resolveSession,createStateCheckpoint:e.sessionCtx.createStateCheckpoint,openSessions:s,closedSessions:i,canCreateNewSession:n}}function Sn(){var l,n;const{sessionState:e}=gt(),{messagesState:t}=mt(),r=((l=e.session)==null?void 0:l.assignee.kind)==="ai",a=(n=t.messages)==null?void 0:n.at(-1),s=(a==null?void 0:a.type)==="USER"&&a.id!==t.settledAgentUserMessageId;return{isAwaitingBotReply:!!(t.isSendingMessageToAI||(r||e.isCreatingSession)&&(t.isSendingMessage||s))}}function Cn(){const{widgetCtx:e}=q();return{routerState:L(e.routerCtx.state),toSessionsScreen:e.routerCtx.toSessionsScreen,toChatScreen:e.routerCtx.toChatScreen}}function En(){const{widgetCtx:{uploadCtx:e}}=q(),t=L(e.state),r=f.useMemo(()=>t.filter(a=>a.status==="success"&&a.fileUrl),[t]);return{allFiles:t,appendFiles:e.appendFiles,handleCancelUpload:e.cancel,successFiles:r,emptyTheFiles:e.reset,getFileById:a=>t.find(s=>s.id===a),getUploadProgress:a=>{var s;return((s=t.find(i=>i.id===a))==null?void 0:s.progress)??0},getUploadStatus:a=>{var s;return(s=t.find(i=>i.id===a))==null?void 0:s.status},hasErrors:t.some(a=>a.status==="error"),isUploading:t.some(a=>a.status==="uploading")}}const wr=f.createContext(null);function zn({children:e}){const t=Ne(),[r,a]=f.useState(()=>t.inline?!0:t.isOpen??!1);return f.useEffect(()=>{a(s=>t.isOpen??s)},[t.isOpen]),f.useEffect(()=>{const s=t.openAfterNSeconds;if(typeof s!="number"||isNaN(s))return;const i=setTimeout(()=>a(!0),s*1e3);return()=>clearTimeout(i)},[t.openAfterNSeconds]),f.createElement(wr.Provider,{value:{isOpen:r,setIsOpen:a}},e)}function In(){const e=f.useContext(wr);if(!e)throw new Error("useWidgetTrigger must be used within a WidgetTriggerProvider");return e}function Tn(e){return e!=="fullscreen"}const _r=f.createContext(null);function xn({children:e}){var s,i;const{companion:t}=Ne(),{dir:r}=Ir(),{widgetCtx:a}=q();return f.createElement(wn,{configuredDefaultLayout:t==null?void 0:t.defaultLayout,configuredLayouts:t==null?void 0:t.layouts,configuredSidebarSide:k.resolveSidebarSide((s=t==null?void 0:t.sidebar)==null?void 0:s.side,r),configuredSidebarMode:k.resolveSidebarMode((i=t==null?void 0:t.sidebar)==null?void 0:i.mode),storage:a.storageCtx},e)}function wn({configuredDefaultLayout:e,configuredLayouts:t,configuredSidebarSide:r,configuredSidebarMode:a,storage:s,children:i}){const l=k.normalizeCompanionLayouts(t),n=k.resolveCompanionDefaultLayout(e,l),m=l.join("|"),[u,c]=f.useState(n),[p,y]=f.useState({defaultLayout:n,allowedLayoutsKey:m});(p.defaultLayout!==n||p.allowedLayoutsKey!==m)&&(y({defaultLayout:n,allowedLayoutsKey:m}),(p.defaultLayout!==n||!l.includes(u))&&c(n));const v=b=>{c(I=>{const D=typeof b=="function"?b(I):b;return l.includes(D)?D:I})},x=f.useRef(l);x.current=l;const M=b=>{v(b),x.current.includes(b)&&Tn(b)&&(s==null||s.setCompanionLayout(b).catch(()=>{}))},[E,z]=f.useState(r),[T,N]=f.useState(a),[d,h]=f.useState({side:r,mode:a});(d.side!==r||d.mode!==a)&&(h({side:r,mode:a}),d.side!==r&&z(r),d.mode!==a&&N(a)),f.useEffect(()=>{if(!s)return;let b=!1;return s.getCompanionLayout().then(I=>{b||!I||x.current.includes(I)&&c(I)}).catch(()=>{}),s.getCompanionSidebarSide().then(I=>{!b&&I&&z(I)}).catch(()=>{}),s.getCompanionSidebarMode().then(I=>{!b&&I&&N(I)}).catch(()=>{}),()=>{b=!0}},[s]);const g=f.useCallback(b=>{z(b),s==null||s.setCompanionSidebarSide(b).catch(()=>{})},[s]),S=f.useCallback(b=>{N(b),s==null||s.setCompanionSidebarMode(b).catch(()=>{})},[s]);return f.createElement(_r.Provider,{value:{layout:u,setLayout:v,setLayoutPreference:M,allowedLayouts:l,defaultLayout:n,sidebarSide:E,setSidebarSide:g,sidebarMode:T,setSidebarMode:S}},i)}function _n(){const e=f.useContext(_r);if(!e)throw new Error("useWidgetLayout must be used within a WidgetLayoutProvider");return e}function Mn(){var n,m;const{widgetCtx:e}=q(),{modesComponents:t}=Ne(),{sessionState:r}=gt(),a=e.modes,s=(n=r.session)==null?void 0:n.modeId,i=a.find(u=>u.id===s),l=(m=t==null?void 0:t.find(u=>{var c,p;return[(i==null?void 0:i.id)||"",((c=i==null?void 0:i.name)==null?void 0:c.toLowerCase())||"",((p=i==null?void 0:i.slug)==null?void 0:p.toLowerCase())||""].includes(u.key.toLowerCase())}))==null?void 0:m.component;return{modes:a,modesComponents:t,activeModeId:s,activeMode:i,Component:l}}function An(){const{widgetCtx:e}=q(),{messagesState:{messages:t}}=mt(),{csatRequestedMessage:r,isCsatRequested:a,csatSubmittedMessage:s,isCsatSubmitted:i,submittedScore:l,submittedFeedback:n}=f.useMemo(()=>{const m=t.find(c=>c.type==="SYSTEM"&&c.subtype==="csat_requested"),u=t.findLast(c=>c.type==="SYSTEM"&&c.subtype==="csat_submitted");return{csatRequestedMessage:m,isCsatRequested:!!m&&!u,csatSubmittedMessage:u,isCsatSubmitted:!!u,submittedScore:u==null?void 0:u.data.payload.score,submittedFeedback:u==null?void 0:u.data.payload.feedback}},[t]);return{submitCsat:e.csatCtx.submitCsat,csatRequestedMessage:r,isCsatRequested:a,csatSubmittedMessage:s,isCsatSubmitted:i,submittedScore:l,submittedFeedback:n}}function Pn(e){const{widgetCtx:t}=q(),r=t.dictationCtx,a=L(r.state),s=f.useRef(e);s.current=e;const i=f.useCallback(()=>{r.start({getValue:()=>s.current.getValue(),setValue:n=>s.current.setValue(n),onSend:()=>{var n,m;return(m=(n=s.current).onSend)==null?void 0:m.call(n)}})},[r]),l=f.useCallback(()=>{r.isActive()?r.stop():i()},[r,i]);return f.useEffect(()=>()=>r.stop(),[r]),{enabled:t.features.dictation,status:a.status,error:a.error,isActive:a.status!=="idle",levelRef:r.levelRef,start:i,stop:r.stop,toggle:l,prewarm:r.prewarm}}function Rn(){const{widgetCtx:e}=q(),t=e.messageCtx.draftState,r=L(t),a=f.useCallback(l=>{t.setPartial({text:typeof l=="function"?l(t.get().text):l})},[t]),s=f.useCallback(l=>{t.setPartial({mentions:typeof l=="function"?l(t.get().mentions):l})},[t]),i=f.useCallback(()=>t.get()!==r?!1:(t.reset(),!0),[t,r]);return{...r,setText:a,setMentions:s,clearSubmitted:i}}exports.HOST_CONTEXT_CHANGED_EVENT=We;exports.WidgetLayoutProvider=xn;exports.WidgetProvider=pn;exports.WidgetTriggerProvider=zn;exports.applyPresentation=ot;exports.formatAskQuestionsAnswers=Ks;exports.useAgentChatUi=ft;exports.useBot=fn;exports.useCompanionChats=ln;exports.useComposerDraft=Rn;exports.useConfig=Ne;exports.useContact=gn;exports.useCsat=An;exports.useDictation=Pn;exports.useDisplayMode=mn;exports.useDocumentDir=Ir;exports.useHostLocation=bn;exports.useIsAwaitingBotReply=Sn;exports.useMessages=mt;exports.useModes=Mn;exports.usePrimitiveState=L;exports.useSessions=gt;exports.useUploadFiles=En;exports.useWidget=q;exports.useWidgetLayout=_n;exports.useWidgetRouter=Cn;exports.useWidgetTrigger=In;
24
24
  //# sourceMappingURL=index.cjs.map