@opencx/widget-react-headless 4.0.60 → 5.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +23 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +4739 -180
- package/dist/index.js.map +1 -1
- package/dist/package.json.d.ts +53 -0
- package/dist/src/WidgetProvider.d.ts +9 -2
- package/dist/src/WidgetProvider.d.ts.map +1 -1
- package/dist/src/__tests__/WidgetProvider.initialization.spec.d.ts +2 -0
- package/dist/src/__tests__/WidgetProvider.initialization.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/AgentChatContext.d.ts +58 -0
- package/dist/src/agent-chat/AgentChatContext.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/WidgetProvider.agent-chat.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/WidgetProvider.agent-chat.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/agent-chat-queue.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/agent-chat-queue.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/agent-chat-stream.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/agent-chat-stream.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/agent-chat-transport.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/agent-chat-transport.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/agent-turn-sources.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/agent-turn-sources.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/ask-questions.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/ask-questions.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/pending-clarification.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/pending-clarification.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/stop-agent-chat-turn.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/stop-agent-chat-turn.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.client-context.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.client-context.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.drain-order.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.drain-order.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.failed-turn.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.failed-turn.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.feature-narrowing.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.feature-narrowing.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.send-features.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.send-features.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.steer.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.steer.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.stop-partial.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.stop-partial.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.stream-handoff.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.stream-handoff.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.turn-retention.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/use-agent-chat.turn-retention.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/__tests__/use-chat-post-finish-data-part.spec.d.ts +2 -0
- package/dist/src/agent-chat/__tests__/use-chat-post-finish-data-part.spec.d.ts.map +1 -0
- package/dist/src/agent-chat/agent-chat-queue.d.ts +29 -0
- package/dist/src/agent-chat/agent-chat-queue.d.ts.map +1 -0
- package/dist/src/agent-chat/agent-chat-stream.d.ts +74 -0
- package/dist/src/agent-chat/agent-chat-stream.d.ts.map +1 -0
- package/dist/src/agent-chat/agent-chat-transport.d.ts +29 -0
- package/dist/src/agent-chat/agent-chat-transport.d.ts.map +1 -0
- package/dist/src/agent-chat/agent-turn-sources.d.ts +23 -0
- package/dist/src/agent-chat/agent-turn-sources.d.ts.map +1 -0
- package/dist/src/agent-chat/ask-questions.d.ts +51 -0
- package/dist/src/agent-chat/ask-questions.d.ts.map +1 -0
- package/dist/src/agent-chat/pending-clarification.d.ts +27 -0
- package/dist/src/agent-chat/pending-clarification.d.ts.map +1 -0
- package/dist/src/agent-chat/steer-into-live-turn.d.ts +35 -0
- package/dist/src/agent-chat/steer-into-live-turn.d.ts.map +1 -0
- package/dist/src/agent-chat/stop-agent-chat-turn.d.ts +12 -0
- package/dist/src/agent-chat/stop-agent-chat-turn.d.ts.map +1 -0
- package/dist/src/agent-chat/useAgentChat.d.ts +54 -0
- package/dist/src/agent-chat/useAgentChat.d.ts.map +1 -0
- package/dist/src/hooks/__tests__/use-display-mode.spec.d.ts +2 -0
- package/dist/src/hooks/__tests__/use-display-mode.spec.d.ts.map +1 -0
- package/dist/src/hooks/__tests__/use-widget-layout.spec.d.ts +2 -0
- package/dist/src/hooks/__tests__/use-widget-layout.spec.d.ts.map +1 -0
- package/dist/src/hooks/__tests__/useHostLocation.spec.d.ts +2 -0
- package/dist/src/hooks/__tests__/useHostLocation.spec.d.ts.map +1 -0
- package/dist/src/hooks/useBot.d.ts +8 -0
- package/dist/src/hooks/useBot.d.ts.map +1 -0
- package/dist/src/hooks/useCsat.d.ts +1 -1
- package/dist/src/hooks/useCsat.d.ts.map +1 -1
- package/dist/src/hooks/useDictation.d.ts +22 -0
- package/dist/src/hooks/useDictation.d.ts.map +1 -0
- package/dist/src/hooks/useDisplayMode.d.ts +7 -0
- package/dist/src/hooks/useDisplayMode.d.ts.map +1 -0
- package/dist/src/hooks/useHostLocation.d.ts +17 -0
- package/dist/src/hooks/useHostLocation.d.ts.map +1 -0
- package/dist/src/hooks/useIsAwaitingBotReply.d.ts.map +1 -1
- package/dist/src/hooks/useMessages.d.ts +3 -6
- package/dist/src/hooks/useMessages.d.ts.map +1 -1
- package/dist/src/hooks/useModes.d.ts +5 -12
- package/dist/src/hooks/useModes.d.ts.map +1 -1
- package/dist/src/hooks/useSessions.d.ts.map +1 -1
- package/dist/src/hooks/useUploadFiles.d.ts +1 -1
- package/dist/src/hooks/useWidgetLayout.d.ts +60 -0
- package/dist/src/hooks/useWidgetLayout.d.ts.map +1 -0
- package/dist/src/index.d.ts +10 -0
- package/dist/src/index.d.ts.map +1 -1
- package/package.json +9 -3
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,24 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),j=require("@opencx/widget-core"),s=require("zod/v4"),A=require("zod/v3");require("react/jsx-runtime");const Z=require("zod"),zr=require("uuid");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 pt=Tr(s),Ir="5.0.0-beta.0";class _r{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===t.key);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}}function X(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 n=t.length>0?t:(o=e.at(-1))==null?void 0:o.items;return n?Mr(n):null}function Mr(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 jt="vercel.ai.error",Cr=Symbol.for(jt),ft,mt,G=class Ft extends(mt=Error,ft=Cr,mt){constructor({name:t,message:r,cause:a}){super(r),this[ft]=!0,this.name=t,this.cause=a}static isInstance(t){return Ft.hasMarker(t,jt)}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 Dt(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.toString():JSON.stringify(e)}var Lt="AI_InvalidArgumentError",kt=`vercel.ai.error.${Lt}`,Ar=Symbol.for(kt),gt,yt,Pr=class extends(yt=G,gt=Ar,yt){constructor({message:e,cause:t,argument:r}){super({name:Lt,message:e,cause:t}),this[gt]=!0,this.argument=r}static isInstance(e){return G.hasMarker(e,kt)}},Zt="AI_JSONParseError",$t=`vercel.ai.error.${Zt}`,xr=Symbol.for($t),vt,ht,bt=class extends(ht=G,vt=xr,ht){constructor({text:e,cause:t}){super({name:Zt,message:`JSON parsing failed: Text: ${e}.
|
|
2
|
+
Error message: ${Dt(t)}`,cause:t}),this[vt]=!0,this.text=e}static isInstance(e){return G.hasMarker(e,$t)}},Ut="AI_TypeValidationError",qt=`vercel.ai.error.${Ut}`,Rr=Symbol.for(qt),St,Et,be=class We extends(Et=G,St=Rr,Et){constructor({value:t,cause:r,context:a}){let n="Type validation failed";if(a!=null&&a.field&&(n+=` for ${a.field}`),a!=null&&a.entityName||a!=null&&a.entityId){n+=" (";const o=[];a.entityName&&o.push(a.entityName),a.entityId&&o.push(`id: "${a.entityId}"`),n+=o.join(", "),n+=")"}super({name:Ut,message:`${n}: Value: ${JSON.stringify(t)}.
|
|
3
|
+
Error message: ${Dt(r)}`,cause:r}),this[St]=!0,this.value=t,this.context=a}static isInstance(t){return G.hasMarker(t,qt)}static wrap({value:t,cause:r,context:a}){var n,o,u;return We.isInstance(r)&&r.value===t&&((n=r.context)==null?void 0:n.field)===(a==null?void 0:a.field)&&((o=r.context)==null?void 0:o.entityName)===(a==null?void 0:a.entityName)&&((u=r.context)==null?void 0:u.entityId)===(a==null?void 0:a.entityId)?r:new We({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,le=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:n,maxBufferSize:o}=e,u=[];let i=0,y=!0,c,l="",p=0,v,h=!1;function M(m){if(h)throw new Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(y&&(y=!1,m.charCodeAt(0)===239&&m.charCodeAt(1)===187&&m.charCodeAt(2)===191&&(m=m.slice(3))),u.length===0){const b=I(m);b!==""&&(u.push(b),i=b.length),C();return}if(m.indexOf(`
|
|
4
|
+
`)===-1&&m.indexOf("\r")===-1){u.push(m),i+=m.length,C();return}u.push(m);const g=u.join("");u.length=0,i=0;const S=I(g);S!==""&&(u.push(S),i=S.length),C()}function C(){o!==void 0&&(i+l.length<=o||(h=!0,u.length=0,i=0,c=void 0,l="",p=0,v=void 0,r(new $e(`Buffered data exceeded max buffer size of ${o} characters`,{type:"max-buffer-size-exceeded"}))))}function I(m){let g=0;if(m.indexOf("\r")===-1){let S=m.indexOf(`
|
|
5
|
+
`,g);for(;S!==-1;){if(g===S){p>0&&t({id:c,event:v,data:l}),c=void 0,l="",p=0,v=void 0,g=S+1,S=m.indexOf(`
|
|
6
|
+
`,g);continue}const b=m.charCodeAt(g);if(Tt(m,g,b)){const _=m.charCodeAt(g+5)===le?g+6:g+5,F=m.slice(_,S);if(p===0&&m.charCodeAt(S+1)===zt){t({id:c,event:v,data:F}),c=void 0,l="",v=void 0,g=S+2,S=m.indexOf(`
|
|
7
|
+
`,g);continue}l=p===0?F:`${l}
|
|
8
|
+
${F}`,p++}else It(m,g,b)?v=m.slice(m.charCodeAt(g+6)===le?g+7:g+6,S)||void 0:z(m,g,S);g=S+1,S=m.indexOf(`
|
|
9
|
+
`,g)}return m.slice(g)}for(;g<m.length;){const S=m.indexOf("\r",g),b=m.indexOf(`
|
|
10
|
+
`,g);let _=-1;if(S!==-1&&b!==-1?_=S<b?S:b:S!==-1?S===m.length-1?_=-1:_=S:b!==-1&&(_=b),_===-1)break;z(m,g,_),g=_+1,m.charCodeAt(g-1)===Or&&m.charCodeAt(g)===zt&&g++}return m.slice(g)}function z(m,g,S){if(g===S){x();return}const b=m.charCodeAt(g);if(Tt(m,g,b)){const B=m.charCodeAt(g+5)===le?g+6:g+5,H=m.slice(B,S);l=p===0?H:`${l}
|
|
11
|
+
${H}`,p++;return}if(It(m,g,b)){v=m.slice(m.charCodeAt(g+6)===le?g+7:g+6,S)||void 0;return}if(b===105&&m.charCodeAt(g+1)===100&&m.charCodeAt(g+2)===58){const B=m.slice(m.charCodeAt(g+3)===le?g+4:g+3,S);c=B.includes("\0")?void 0:B;return}if(b===58){if(n){const B=m.slice(g,S);n(B.slice(m.charCodeAt(g+1)===le?2:1))}return}const _=m.slice(g,S),F=_.indexOf(":");if(F===-1){T(_,"",_);return}const ee=_.slice(0,F),De=_.charCodeAt(F+1)===le?2:1,Le=_.slice(F+De);T(ee,Le,_)}function T(m,g,S){switch(m){case"event":v=g||void 0;break;case"data":l=p===0?g:`${l}
|
|
12
|
+
${g}`,p++;break;case"id":c=g.includes("\0")?void 0:g;break;case"retry":/^\d+$/.test(g)?a(parseInt(g,10)):r(new $e(`Invalid \`retry\` value: "${g}"`,{type:"invalid-retry",value:g,line:S}));break;default:r(new $e(`Unknown field "${m.length>20?`${m.slice(0,20)}…`:m}"`,{type:"unknown-field",field:m,value:g,line:S}));break}}function x(){p>0&&t({id:c,event:v,data:l}),c=void 0,l="",p=0,v=void 0}function d(m={}){if(m.consume&&u.length>0){const g=u.join("");z(g,0,g.length)}y=!0,c=void 0,l="",p=0,v=void 0,u.length=0,i=0,h=!1}return{feed:M,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:n}={}){let o;super({start(u){o=Nr({onEvent:i=>{u.enqueue(i)},onError(i){typeof t=="function"&&t(i),(t==="terminate"||i.type==="max-buffer-size-exceeded")&&u.error(i)},onRetry:r,onComment:a,maxBufferSize:n})},transform(u){o.feed(u)}})}}new TextDecoder;var K=({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:a="-"}={})=>{const n=()=>{const o=r.length,u=new Array(t);for(let i=0;i<t;i++)u[i]=r[Math.random()*o|0];return u.join("")};if(e==null)return n;if(r.includes(a))throw new Pr({argument:"separator",message:`The separator "${a}" must not be part of the alphabet "${r}".`});return()=>`${e}${a}${n()}`},Fr=K();function ge(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 Dr(e){var t,r;return(r=(t=globalThis.Buffer)==null?void 0:t.isBuffer(e))!=null?r:!1}var Lr=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,kr=/"(?: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 _t(e){const t=JSON.parse(e);return t===null||typeof t!="object"||Lr.test(e)===!1&&kr.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 n in a){const o=a[n];o&&typeof o=="object"&&t.push(o)}}}return e}function $r(e){const{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return _t(e)}try{return _t(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]=ue(r[a])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(ue):ue(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(ue)),e.allOf!=null&&(e.allOf=e.allOf.map(ue)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(ue));const{definitions:t}=e;if(t!=null)for(const r of Object.keys(t))t[r]=ue(t[r]);return e}function ue(e){return typeof e=="boolean"?e:et(e)}var Ur=Symbol("Let zodToJsonSchema decide on which parser to use"),wt={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"?{...wt,name:e}:{...wt,...e};function $(){return{}}function Kr(e,t){var r,a,n;const o={type:"array"};return(r=e.type)!=null&&r._def&&((n=(a=e.type)==null?void 0:a._def)==null?void 0:n.typeName)!==A.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 Br(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 Wr(){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(n=>Bt(e,t,n))};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):$()}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(n=>!!n),a=[];return r.forEach(n=>{if(Qr(n))a.push(...n.allOf);else{let o=n;if("additionalProperties"in n&&n.additionalProperties===!1){const{additionalProperties:u,...i}=n;o=i}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,V={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 Wt(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":J(r,"email",a.message,t);break;case"format:idn-email":J(r,"idn-email",a.message,t);break;case"pattern:zod":k(r,V.email,a.message,t);break}break;case"url":J(r,"uri",a.message,t);break;case"uuid":J(r,"uuid",a.message,t);break;case"regex":k(r,a.regex,a.message,t);break;case"cuid":k(r,V.cuid,a.message,t);break;case"cuid2":k(r,V.cuid2,a.message,t);break;case"startsWith":k(r,RegExp(`^${Ke(a.value,t)}`),a.message,t);break;case"endsWith":k(r,RegExp(`${Ke(a.value,t)}$`),a.message,t);break;case"datetime":J(r,"date-time",a.message,t);break;case"date":J(r,"date",a.message,t);break;case"time":J(r,"time",a.message,t);break;case"duration":J(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":{k(r,RegExp(Ke(a.value,t)),a.message,t);break}case"ip":{a.version!=="v6"&&J(r,"ipv4",a.message,t),a.version!=="v4"&&J(r,"ipv6",a.message,t);break}case"base64url":k(r,V.base64url,a.message,t);break;case"jwt":k(r,V.jwt,a.message,t);break;case"cidr":{a.version!=="v6"&&k(r,V.ipv4Cidr,a.message,t),a.version!=="v4"&&k(r,V.ipv6Cidr,a.message,t);break}case"emoji":k(r,V.emoji(),a.message,t);break;case"ulid":{k(r,V.ulid,a.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{J(r,"binary",a.message,t);break}case"contentEncoding:base64":{r.contentEncoding="base64";break}case"pattern:zod":{k(r,V.base64,a.message,t);break}}break}case"nanoid":k(r,V.nanoid,a.message,t)}return r}function Ke(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 J(e,t,r,a){var n;e.format||(n=e.anyOf)!=null&&n.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 k(e,t,r,a){var n;e.pattern||(n=e.allOf)!=null&&n.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:Mt(t,a),...r&&a.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=Mt(t,a)}function Mt(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")},n=a.i?e.source.toLowerCase():e.source;let o="",u=!1,i=!1,y=!1;for(let c=0;c<n.length;c++){if(u){o+=n[c],u=!1;continue}if(a.i){if(i){if(n[c].match(/[a-z]/)){y?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),y=!1):n[c+1]==="-"&&((r=n[c+2])!=null&&r.match(/[a-z]/))?(o+=n[c],y=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(a.m){if(n[c]==="^"){o+=`(^|(?<=[\r
|
|
13
|
+
]))`;continue}else if(n[c]==="$"){o+=`($|(?=[\r
|
|
14
|
+
]))`;continue}}if(a.s&&n[c]==="."){o+=i?`${n[c]}\r
|
|
15
|
+
`:`[${n[c]}\r
|
|
16
|
+
]`;continue}o+=n[c],n[c]==="\\"?u=!0:i&&n[c]==="]"?i=!1:!i&&n[c]==="["&&(i=!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 Vt(e,t){var r,a,n,o,u,i;const y={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&&((n=e.keyType._def.checks)!=null&&n.length)){const{type:c,...l}=Wt(e.keyType._def,t);return{...y,propertyNames:l}}else{if(((o=e.keyType)==null?void 0:o._def.typeName)===A.ZodFirstPartyTypeKind.ZodEnum)return{...y,propertyNames:{enum:e.keyType._def.values}};if(((u=e.keyType)==null?void 0:u._def.typeName)===A.ZodFirstPartyTypeKind.ZodBranded&&e.keyType._def.type._def.typeName===A.ZodFirstPartyTypeKind.ZodString&&((i=e.keyType._def.type._def.checks)!=null&&i.length)){const{type:c,...l}=Kt(e.keyType._def,t);return{...y,propertyNames:l}}}return y}function aa(e,t){if(t.mapStrategy==="record")return Vt(e,t);const r=O(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||$(),a=O(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||$();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]),n=Array.from(new Set(a.map(o=>typeof o)));return{type:n.length===1?n[0]==="string"?"string":"number":["string","number"],enum:a}}function na(){return{not:$()}}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((n,o)=>{const u=Ve[o._def.typeName];return u&&!n.includes(u)?[...n,u]:n},[]);return{type:a.length>1?a:a[0]}}else if(r.every(a=>a._def.typeName==="ZodLiteral"&&!a.description)){const a=r.reduce((n,o)=>{const u=typeof o._def.value;switch(u){case"string":case"number":case"boolean":return[...n,u];case"bigint":return[...n,"integer"];case"object":if(o._def.value===null)return[...n,"null"];case"symbol":case"undefined":case"function":default:return n}},[]);if(a.length===r.length){const n=a.filter((o,u,i)=>i.indexOf(o)===u);return{type:n.length>1?n:n[0],enum:r.reduce((o,u)=>o.includes(u._def.value)?o:[...o,u._def.value],[])}}}else if(r.every(a=>a._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((a,n)=>[...a,...n._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,n)=>O(a._def,{...t,currentPath:[...t.currentPath,"anyOf",`${n}`]})).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=[],n=e.shape();for(const u in n){let i=n[u];if(i===void 0||i._def===void 0)continue;const y=fa(i),c=O(i._def,{...t,currentPath:[...t.currentPath,"properties",u],propertyPath:[...t.currentPath,"properties",u]});c!==void 0&&(r.properties[u]=c,y||a.push(u))}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:$()},a]}:$()},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(n=>n!==void 0)}};function ya(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 ha(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:$()}}function Sa(){return $()}var Ea=(e,t)=>O(e.innerType._def,t),za=(e,t,r)=>{switch(t){case A.ZodFirstPartyTypeKind.ZodString:return Wt(e,r);case A.ZodFirstPartyTypeKind.ZodNumber:return ca(e);case A.ZodFirstPartyTypeKind.ZodObject:return da(e,r);case A.ZodFirstPartyTypeKind.ZodBigInt:return Br(e);case A.ZodFirstPartyTypeKind.ZodBoolean:return Wr();case A.ZodFirstPartyTypeKind.ZodDate:return Bt(e,r);case A.ZodFirstPartyTypeKind.ZodUndefined:return ba();case A.ZodFirstPartyTypeKind.ZodNull:return ia();case A.ZodFirstPartyTypeKind.ZodArray:return Kr(e,r);case A.ZodFirstPartyTypeKind.ZodUnion:case A.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:return oa(e,r);case A.ZodFirstPartyTypeKind.ZodIntersection:return Xr(e,r);case A.ZodFirstPartyTypeKind.ZodTuple:return ha(e,r);case A.ZodFirstPartyTypeKind.ZodRecord:return Vt(e,r);case A.ZodFirstPartyTypeKind.ZodLiteral:return ea(e);case A.ZodFirstPartyTypeKind.ZodEnum:return Gr(e);case A.ZodFirstPartyTypeKind.ZodNativeEnum:return sa(e);case A.ZodFirstPartyTypeKind.ZodNullable:return ua(e,r);case A.ZodFirstPartyTypeKind.ZodOptional:return ma(e,r);case A.ZodFirstPartyTypeKind.ZodMap:return aa(e,r);case A.ZodFirstPartyTypeKind.ZodSet:return va(e,r);case A.ZodFirstPartyTypeKind.ZodLazy:return()=>e.getter()._def;case A.ZodFirstPartyTypeKind.ZodPromise:return ya(e,r);case A.ZodFirstPartyTypeKind.ZodNaN:case A.ZodFirstPartyTypeKind.ZodNever:return na();case A.ZodFirstPartyTypeKind.ZodEffects:return Yr(e,r);case A.ZodFirstPartyTypeKind.ZodAny:return $();case A.ZodFirstPartyTypeKind.ZodUnknown:return Sa();case A.ZodFirstPartyTypeKind.ZodDefault:return Hr(e,r);case A.ZodFirstPartyTypeKind.ZodBranded:return Kt(e,r);case A.ZodFirstPartyTypeKind.ZodReadonly:return Ea(e,r);case A.ZodFirstPartyTypeKind.ZodCatch:return Vr(e,r);case A.ZodFirstPartyTypeKind.ZodPipeline:return ga(e,r);case A.ZodFirstPartyTypeKind.ZodFunction:case A.ZodFirstPartyTypeKind.ZodVoid:case A.ZodFirstPartyTypeKind.ZodSymbol:return;default:return(a=>{})()}},Ta=(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 n=t.seen.get(e);if(t.override){const y=(a=t.override)==null?void 0:a.call(t,e,t,n,r);if(y!==Ur)return y}if(n&&!r){const y=Ia(n,t);if(y!==void 0)return y}const o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);const u=za(e,e.typeName,t),i=typeof u=="function"?O(u(),t):u;if(i&&_a(e,t,i),t.postProcess){const y=t.postProcess(i,e,t);return o.jsonSchema=i,y}return o.jsonSchema=i,i}var Ia=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Ta(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`),$()):t.$refStrategy==="seen"?$():void 0}},_a=(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,n])=>[n._def,{def:n._def,path:[...t.basePath,t.definitionPath,a],jsonSchema:void 0}]))}},Ma=(e,t)=>{var r;const a=wa(t);let n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[l,p])=>{var v;return{...c,[l]:(v=O(p._def,{...a,currentPath:[...a.basePath,a.definitionPath,l]},!0))!=null?v:$()}},{}):void 0;const o=typeof t=="string"?t:(t==null?void 0:t.nameStrategy)==="title"||t==null?void 0:t.name,u=(r=O(e._def,o===void 0?a:{...a,currentPath:[...a.basePath,a.definitionPath,o]},!1))!=null?r:$(),i=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;i!==void 0&&(u.title=i);const y=o===void 0?n?{...u,[a.definitionPath]:n}:u:{$ref:[...a.$refStrategy==="relative"?[]:a.basePath,a.definitionPath,o].join("/"),[a.definitionPath]:{...n,[o]:u}};return y.$schema="http://json-schema.org/draft-07/schema#",y},Je=Symbol.for("vercel.ai.schema");function Ca(e){let t;return()=>(t==null&&(t=e()),t)}function Fe(e,{validate:t}={}){return{[Je]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}function Aa(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?Fe({type:"object",properties:{},additionalProperties:!1}):Aa(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?Jt(e):Pa(e):e()}function Pa(e){return Fe(()=>{if(!xa(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 be({value:t,cause:r.issues})}}})}function xa(e){return e["~standard"].jsonSchema!=null}function Ra(e,t){var r;const a=(r=void 0)!=null?r:!1;return Fe(()=>Ma(e,{$refStrategy:a?"root":"none"}),{validate:async n=>{const o=await e.safeParseAsync(n);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 Fe(()=>et(pt.toJSONSchema(e,{target:"draft-7",io:"input",reused:a?"ref":"inline"})),{validate:async n=>{const o=await pt.safeParseAsync(e,n);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function Na(e){return"_zod"in e}function Jt(e,t){return Na(e)?Oa(e):Ra(e)}async function Ct({value:e,schema:t,context:r}){const a=await Me({value:e,schema:t,context:r});if(!a.success)throw be.wrap({value:e,cause:a.error,context:r});return a.value}async function Me({value:e,schema:t,context:r}){const a=tt(t);try{if(a.validate==null)return{success:!0,value:e,rawValue:e};const n=await a.validate(e);return n.success?{success:!0,value:n.value,rawValue:e}:{success:!1,error:be.wrap({value:e,cause:n.error,context:r}),rawValue:e}}catch(n){return{success:!1,error:be.wrap({value:e,cause:n,context:r}),rawValue:e}}}async function de({text:e,schema:t}){try{const r=$r(e);return t==null?{success:!0,value:r,rawValue:r}:await Me({value:r,schema:t})}catch(r){return{success:!1,error:bt.isInstance(r)?r:new bt({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 de({text:r,schema:t}))}}))}async function ne(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}new TextDecoder;function Fa(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Da=Object.defineProperty,La=(e,t)=>{for(var r in t)Da(e,r,{get:t[r],enumerable:!0})},Ht="AI_NoObjectGeneratedError",Yt=`vercel.ai.error.${Ht}`,ka=Symbol.for(Yt),Gt,ie=class extends G{constructor({message:e="No object generated.",cause:t,text:r,response:a,usage:n,finishReason:o}){super({name:Ht,message:e,cause:t}),this[Gt]=!0,this.text=r,this.response=a,this.usage=n,this.finishReason=o}static isInstance(e){return G.hasMarker(e,Yt)}};Gt=ka;var Qt="AI_UIMessageStreamError",Xt=`vercel.ai.error.${Qt}`,Za=Symbol.for(Xt),er,ce=class extends G{constructor({chunkType:e,chunkId:t,message:r}){super({name:Qt,message:r}),this[er]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return G.hasMarker(e,Xt)}};er=Za;var pe=s.z.lazy(()=>s.z.union([s.z.null(),s.z.string(),s.z.number(),s.z.boolean(),s.z.record(s.z.string(),pe.optional()),s.z.array(pe)])),w=s.z.record(s.z.string(),s.z.record(s.z.string(),pe.optional())),Ce=s.z.union([s.z.string(),s.z.instanceof(Uint8Array),s.z.instanceof(ArrayBuffer),s.z.custom(Dr,{message:"Must be a Buffer"})]),rt=s.z.record(s.z.string(),s.z.string()),tr=s.z.object({type:s.z.literal("text"),text:s.z.string(),providerOptions:w.optional()}),$a=s.z.object({type:s.z.literal("image"),image:s.z.union([Ce,s.z.instanceof(URL),rt]),mediaType:s.z.string().optional(),providerOptions:w.optional()}),rr=s.z.discriminatedUnion("type",[s.z.object({type:s.z.literal("data"),data:Ce}),s.z.object({type:s.z.literal("url"),url:s.z.instanceof(URL)}),s.z.object({type:s.z.literal("reference"),reference:rt}),s.z.object({type:s.z.literal("text"),text:s.z.string()})]),Ua=s.z.discriminatedUnion("type",[s.z.object({type:s.z.literal("data"),data:Ce}),s.z.object({type:s.z.literal("url"),url:s.z.instanceof(URL)})]),ar=s.z.object({type:s.z.literal("file"),data:s.z.union([rr,Ce,s.z.instanceof(URL),rt]),filename:s.z.string().optional(),mediaType:s.z.string(),providerOptions:w.optional()}),qa=s.z.object({type:s.z.literal("reasoning"),text:s.z.string(),providerOptions:w.optional()}),Ka=s.z.object({type:s.z.literal("custom"),kind:s.z.string().transform(e=>e),providerOptions:w.optional()}),Ba=s.z.object({type:s.z.literal("reasoning-file"),data:s.z.union([Ua,Ce,s.z.instanceof(URL)]),mediaType:s.z.string(),providerOptions:w.optional()}),Wa=s.z.object({type:s.z.literal("tool-call"),toolCallId:s.z.string(),toolName:s.z.string(),input:s.z.unknown(),providerOptions:w.optional(),providerExecuted:s.z.boolean().optional()}),Va=s.z.discriminatedUnion("type",[s.z.object({type:s.z.literal("text"),value:s.z.string(),providerOptions:w.optional()}),s.z.object({type:s.z.literal("json"),value:pe,providerOptions:w.optional()}),s.z.object({type:s.z.literal("execution-denied"),reason:s.z.string().optional(),providerOptions:w.optional()}),s.z.object({type:s.z.literal("error-text"),value:s.z.string(),providerOptions:w.optional()}),s.z.object({type:s.z.literal("error-json"),value:pe,providerOptions:w.optional()}),s.z.object({type:s.z.literal("content"),value:s.z.array(s.z.union([s.z.object({type:s.z.literal("text"),text:s.z.string(),providerOptions:w.optional()}),s.z.object({type:s.z.literal("file"),data:rr,mediaType:s.z.string(),filename:s.z.string().optional(),providerOptions:w.optional()}),s.z.object({type:s.z.literal("file-data"),data:s.z.string(),mediaType:s.z.string(),filename:s.z.string().optional(),providerOptions:w.optional()}),s.z.object({type:s.z.literal("file-url"),url:s.z.string(),mediaType:s.z.string().optional(),providerOptions:w.optional()}),s.z.object({type:s.z.literal("file-id"),fileId:s.z.union([s.z.string(),s.z.record(s.z.string(),s.z.string())]),providerOptions:w.optional()}),s.z.object({type:s.z.literal("file-reference"),providerReference:s.z.record(s.z.string(),s.z.string()),providerOptions:w.optional()}),s.z.object({type:s.z.literal("image-data"),data:s.z.string(),mediaType:s.z.string(),providerOptions:w.optional()}),s.z.object({type:s.z.literal("image-url"),url:s.z.string(),providerOptions:w.optional()}),s.z.object({type:s.z.literal("image-file-id"),fileId:s.z.union([s.z.string(),s.z.record(s.z.string(),s.z.string())]),providerOptions:w.optional()}),s.z.object({type:s.z.literal("image-file-reference"),providerReference:s.z.record(s.z.string(),s.z.string()),providerOptions:w.optional()}),s.z.object({type:s.z.literal("custom"),providerOptions:w.optional()})]))})]),sr=s.z.object({type:s.z.literal("tool-result"),toolCallId:s.z.string(),toolName:s.z.string(),output:Va,providerOptions:w.optional()}),Ja=s.z.object({type:s.z.literal("tool-approval-request"),approvalId:s.z.string(),toolCallId:s.z.string()}),Ha=s.z.object({type:s.z.literal("tool-approval-response"),approvalId:s.z.string(),approved:s.z.boolean(),reason:s.z.string().optional()}),Ya=s.z.object({role:s.z.literal("system"),content:s.z.string(),providerOptions:w.optional()}),Ga=s.z.object({role:s.z.literal("user"),content:s.z.union([s.z.string(),s.z.array(s.z.union([tr,$a,ar]))]),providerOptions:w.optional()}),Qa=s.z.object({role:s.z.literal("assistant"),content:s.z.union([s.z.string(),s.z.array(s.z.union([tr,Ka,ar,qa,Ba,Wa,sr,Ja]))]),providerOptions:w.optional()}),Xa=s.z.object({role:s.z.literal("tool"),content:s.z.array(s.z.union([sr,Ha])),providerOptions:w.optional()});s.z.union([Ya,Ga,Qa,Xa]);function nr(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 n=t[a];if(n===void 0)continue;const o=a in e?e[a]:void 0,u=n!==null&&typeof n=="object"&&!Array.isArray(n)&&!(n instanceof Date)&&!(n instanceof RegExp),i=o!=null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp);u&&i?r[a]=nr(o,n):r[a]=n}return r}var es={};La(es,{array:()=>ss,choice:()=>ns,json:()=>is,object:()=>as,text:()=>rs});function ts(e){const t=["ROOT"];let r=-1,a=null,n=0;function o(l){return l>="0"&&l<="9"||l>="A"&&l<="F"||l>="a"&&l<="f"}function u(l,p,v){switch(l){case'"':{r=p,t.pop(),t.push(v),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{r=p,a=p,t.pop(),t.push(v),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(v),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(v),t.push("INSIDE_NUMBER");break}case"{":{r=p,t.pop(),t.push(v),t.push("INSIDE_OBJECT_START");break}case"[":{r=p,t.pop(),t.push(v),t.push("INSIDE_ARRAY_START");break}}}function i(l,p){switch(l){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{r=p,t.pop();break}}}function y(l,p){switch(l){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=p,t.pop();break}}}for(let l=0;l<e.length;l++){const p=e[l];switch(t[t.length-1]){case"ROOT":u(p,l,"FINISH");break;case"INSIDE_OBJECT_START":{switch(p){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{r=l,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":{u(p,l,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{i(p,l);break}case"INSIDE_STRING":{switch(p){case'"':{t.pop(),r=l;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:r=l}break}case"INSIDE_ARRAY_START":{switch(p){case"]":{r=l,t.pop();break}default:{r=l,u(p,l,"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=l,t.pop();break}default:{r=l;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{u(p,l,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),p==="u"?(n=0,t.push("INSIDE_STRING_UNICODE_ESCAPE")):r=l;break}case"INSIDE_STRING_UNICODE_ESCAPE":{o(p)&&(n++,n===4&&(t.pop(),r=l));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=l;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&y(p,l),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&i(p,l);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&i(p,l);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&y(p,l);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const h=e.substring(a,l+1);!"false".startsWith(h)&&!"true".startsWith(h)&&!"null".startsWith(h)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?i(p,l):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&y(p,l)):r=l;break}}}let c=e.slice(0,r+1);for(let l=t.length-1;l>=0;l--)switch(t[l]){case"INSIDE_STRING":{c+='"';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":{c+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{c+="]";break}case"INSIDE_LITERAL":{const v=e.substring(a,e.length);"true".startsWith(v)?c+="true".slice(v.length):"false".startsWith(v)?c+="false".slice(v.length):"null".startsWith(v)&&(c+="null".slice(v.length))}}return c}async function Ae(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await de({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await de({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:ne(a.jsonSchema).then(n=>({type:"json",schema:n,...t!=null&&{name:t},...r!=null&&{description:r}})),async parseCompleteOutput({text:n},o){const u=await de({text:n});if(!u.success)throw new ie({message:"No object generated: could not parse the response.",cause:u.error,text:n,response:o.response,usage:o.usage,finishReason:o.finishReason});const i=await Me({value:u.value,schema:a});if(!i.success)throw new ie({message:"No object generated: response did not match schema.",cause:i.error,text:n,response:o.response,usage:o.usage,finishReason:o.finishReason});return i.value},async parsePartialOutput({text:n}){const o=await Ae(n);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:ne(a.jsonSchema).then(n=>{const{$schema:o,...u}=n;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:u}},required:["elements"],additionalProperties:!1},...t!=null&&{name:t},...r!=null&&{description:r}}}),async parseCompleteOutput({text:n},o){const u=await de({text:n});if(!u.success)throw new ie({message:"No object generated: could not parse the response.",cause:u.error,text:n,response:o.response,usage:o.usage,finishReason:o.finishReason});const i=u.value;if(i==null||typeof i!="object"||!("elements"in i)||!Array.isArray(i.elements))throw new ie({message:"No object generated: response did not match schema.",cause:new be({value:i,cause:"response must be an object with an elements array"}),text:n,response:o.response,usage:o.usage,finishReason:o.finishReason});const y=[];for(const c of i.elements){const l=await Me({value:c,schema:a});if(!l.success)throw new ie({message:"No object generated: response did not match schema.",cause:l.error,text:n,response:o.response,usage:o.usage,finishReason:o.finishReason});y.push(l.value)}return y},async parsePartialOutput({text:n}){const o=await Ae(n);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const u=o.value;if(u==null||typeof u!="object"||!("elements"in u)||!Array.isArray(u.elements))return;const i=o.state==="repaired-parse"&&u.elements.length>0?u.elements.slice(0,-1):u.elements,y=[];for(const c of i){const l=await Me({value:c,schema:a});l.success&&y.push(l.value)}return{partial:y}}}},createElementStreamTransform(){let n=0;return new TransformStream({transform({partialOutput:o},u){if(o!=null)for(;n<o.length;n++)u.enqueue(o[n])}})}}},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},n){const o=await de({text:a});if(!o.success)throw new ie({message:"No object generated: could not parse the response.",cause:o.error,text:a,response:n.response,usage:n.usage,finishReason:n.finishReason});const u=o.value;if(u==null||typeof u!="object"||!("result"in u)||typeof u.result!="string"||!e.includes(u.result))throw new ie({message:"No object generated: response did not match schema.",cause:new be({value:u,cause:"response must be an object that contains a choice value."}),text:a,response:n.response,usage:n.usage,finishReason:n.finishReason});return u.result},async parsePartialOutput({text:a}){const n=await Ae(a);switch(n.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const o=n.value;if(o==null||typeof o!="object"||!("result"in o)||typeof o.result!="string")return;const u=e.filter(i=>i.startsWith(o.result));return n.state==="successful-parse"?u.includes(o.result)?{partial:o.result}:void 0:u.length===1?{partial:u[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 n=await de({text:r});if(!n.success)throw new ie({message:"No object generated: could not parse the response.",cause:n.error,text:r,response:a.response,usage:a.usage,finishReason:a.finishReason});return n.value},async parsePartialOutput({text:r}){const a=await Ae(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)}
|
|
17
|
+
|
|
18
|
+
`)},flush(e){e.enqueue(`data: [DONE]
|
|
19
|
+
|
|
20
|
+
`)}})}});var ze=s.z.record(s.z.string(),pe.optional()),os=Ca(()=>Jt(s.z.union([s.z.strictObject({type:s.z.literal("text-start"),id:s.z.string(),providerMetadata:w.optional()}),s.z.strictObject({type:s.z.literal("text-delta"),id:s.z.string(),delta:s.z.string(),providerMetadata:w.optional()}),s.z.strictObject({type:s.z.literal("text-end"),id:s.z.string(),providerMetadata:w.optional()}),s.z.strictObject({type:s.z.literal("error"),errorText:s.z.string()}),s.z.strictObject({type:s.z.literal("tool-input-start"),toolCallId:s.z.string(),toolName:s.z.string(),providerExecuted:s.z.boolean().optional(),providerMetadata:w.optional(),toolMetadata:ze.optional(),dynamic:s.z.boolean().optional(),title:s.z.string().optional()}),s.z.strictObject({type:s.z.literal("tool-input-delta"),toolCallId:s.z.string(),inputTextDelta:s.z.string()}),s.z.strictObject({type:s.z.literal("tool-input-available"),toolCallId:s.z.string(),toolName:s.z.string(),input:s.z.unknown(),providerExecuted:s.z.boolean().optional(),providerMetadata:w.optional(),toolMetadata:ze.optional(),dynamic:s.z.boolean().optional(),title:s.z.string().optional()}),s.z.strictObject({type:s.z.literal("tool-input-error"),toolCallId:s.z.string(),toolName:s.z.string(),input:s.z.unknown(),providerExecuted:s.z.boolean().optional(),providerMetadata:w.optional(),toolMetadata:ze.optional(),dynamic:s.z.boolean().optional(),errorText:s.z.string(),title:s.z.string().optional()}),s.z.strictObject({type:s.z.literal("tool-approval-request"),approvalId:s.z.string(),toolCallId:s.z.string(),isAutomatic:s.z.boolean().optional(),signature:s.z.string().optional()}),s.z.strictObject({type:s.z.literal("tool-approval-response"),approvalId:s.z.string(),approved:s.z.boolean(),reason:s.z.string().optional(),providerExecuted:s.z.boolean().optional(),providerMetadata:w.optional()}),s.z.strictObject({type:s.z.literal("tool-output-available"),toolCallId:s.z.string(),output:s.z.unknown(),providerExecuted:s.z.boolean().optional(),providerMetadata:w.optional(),toolMetadata:ze.optional(),dynamic:s.z.boolean().optional(),preliminary:s.z.boolean().optional()}),s.z.strictObject({type:s.z.literal("tool-output-error"),toolCallId:s.z.string(),errorText:s.z.string(),providerExecuted:s.z.boolean().optional(),providerMetadata:w.optional(),toolMetadata:ze.optional(),dynamic:s.z.boolean().optional()}),s.z.strictObject({type:s.z.literal("tool-output-denied"),toolCallId:s.z.string()}),s.z.strictObject({type:s.z.literal("reasoning-start"),id:s.z.string(),providerMetadata:w.optional()}),s.z.strictObject({type:s.z.literal("reasoning-delta"),id:s.z.string(),delta:s.z.string(),providerMetadata:w.optional()}),s.z.strictObject({type:s.z.literal("reasoning-end"),id:s.z.string(),providerMetadata:w.optional()}),s.z.strictObject({type:s.z.literal("custom"),kind:s.z.string().transform(e=>e),providerMetadata:w.optional()}),s.z.strictObject({type:s.z.literal("source-url"),sourceId:s.z.string(),url:s.z.string(),title:s.z.string().optional(),providerMetadata:w.optional()}),s.z.strictObject({type:s.z.literal("source-document"),sourceId:s.z.string(),mediaType:s.z.string(),title:s.z.string(),filename:s.z.string().optional(),providerMetadata:w.optional()}),s.z.strictObject({type:s.z.literal("file"),url:s.z.string(),mediaType:s.z.string(),providerMetadata:w.optional()}),s.z.strictObject({type:s.z.literal("reasoning-file"),url:s.z.string(),mediaType:s.z.string(),providerMetadata:w.optional()}),s.z.strictObject({type:s.z.custom(e=>typeof e=="string"&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:s.z.string().optional(),data:s.z.unknown(),transient:s.z.boolean().optional()}),s.z.strictObject({type:s.z.literal("start-step")}),s.z.strictObject({type:s.z.literal("finish-step")}),s.z.strictObject({type:s.z.literal("start"),messageId:s.z.string().optional(),messageMetadata:s.z.unknown().optional()}),s.z.strictObject({type:s.z.literal("finish"),finishReason:s.z.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:s.z.unknown().optional()}),s.z.strictObject({type:s.z.literal("abort"),reason:s.z.string().optional()}),s.z.strictObject({type:s.z.literal("message-metadata"),messageMetadata:s.z.unknown()})])));function ls(e){return e.type.startsWith("data-")}function we(){return Object.create(null)}function He(e){return e.type.startsWith("tool-")}function ir(e){return e.type==="dynamic-tool"}function he(e){return He(e)||ir(e)}function Ye(e){return e.type.split("-").slice(1).join("-")}function us(e){return ir(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:we(),activeReasoningParts:we(),partialToolCalls:we()}}function ds({stream:e,messageMetadataSchema:t,dataPartSchemas:r,runUpdateMessageJob:a,onError:n,onToolCall:o,onData:u}){return e.pipeThrough(new TransformStream({async transform(i,y){await a(async({state:c,write:l})=>{var p,v,h,M;function C(d){const g=c.message.parts.filter(he).find(S=>S.toolCallId===d);if(g==null)throw new ce({chunkType:"tool-invocation",chunkId:d,message:`No tool invocation found for tool call ID "${d}".`});return g}function I(d){const g=c.message.parts.filter(he).find(S=>{var b;return((b=S.approval)==null?void 0:b.id)===d});if(g==null)throw new ce({chunkType:"tool-approval-response",chunkId:d,message:`No tool invocation found for approval ID "${d}".`});return g}function z(d){var m;const g=c.message.parts.find(_=>He(_)&&_.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=(m=S.providerExecuted)!=null?m:g.providerExecuted;const _=S.providerMetadata;if(_!=null)if(d.state==="output-available"||d.state==="output-error"){const F=g;F.resultProviderMetadata=_}else g.callProviderMetadata=_}else c.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 m,g;const S=c.message.parts.find(F=>F.type==="dynamic-tool"&&F.toolCallId===d.toolCallId),b=d,_=S;if(S!=null){S.state=d.state,_.toolName=d.toolName,_.input=b.input,_.output=b.output,_.errorText=b.errorText,_.rawInput=(m=b.rawInput)!=null?m:_.rawInput,_.preliminary=b.preliminary,d.title!==void 0&&(_.title=d.title),d.toolMetadata!==void 0&&(_.toolMetadata=d.toolMetadata),_.providerExecuted=(g=b.providerExecuted)!=null?g:S.providerExecuted;const F=b.providerMetadata;if(F!=null)if(d.state==="output-available"||d.state==="output-error"){const ee=S;ee.resultProviderMetadata=F}else S.callProviderMetadata=F}else c.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 x(d){if(d!=null){const m=c.message.metadata!=null?nr(c.message.metadata,d):d;t!=null&&await Ct({value:m,schema:t,context:{field:"message.metadata",entityId:c.message.id}}),c.message.metadata=m}}switch(i.type){case"text-start":{const d={type:"text",text:"",providerMetadata:i.providerMetadata,state:"streaming"};c.activeTextParts[i.id]=d,c.message.parts.push(d),l();break}case"text-delta":{const d=c.activeTextParts[i.id];if(d==null)throw new ce({chunkType:"text-delta",chunkId:i.id,message:`Received text-delta for missing text part with ID "${i.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});d.text+=i.delta,d.providerMetadata=(p=i.providerMetadata)!=null?p:d.providerMetadata,l();break}case"text-end":{const d=c.activeTextParts[i.id];if(d==null)throw new ce({chunkType:"text-end",chunkId:i.id,message:`Received text-end for missing text part with ID "${i.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});d.state="done",d.providerMetadata=(v=i.providerMetadata)!=null?v:d.providerMetadata,delete c.activeTextParts[i.id],l();break}case"custom":{const d={type:"custom",kind:i.kind,providerMetadata:i.providerMetadata};c.message.parts.push(d),l();break}case"reasoning-start":{const d={type:"reasoning",text:"",providerMetadata:i.providerMetadata,state:"streaming"};c.activeReasoningParts[i.id]=d,c.message.parts.push(d),l();break}case"reasoning-delta":{const d=c.activeReasoningParts[i.id];if(d==null)throw new ce({chunkType:"reasoning-delta",chunkId:i.id,message:`Received reasoning-delta for missing reasoning part with ID "${i.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});d.text+=i.delta,d.providerMetadata=(h=i.providerMetadata)!=null?h:d.providerMetadata,l();break}case"reasoning-end":{const d=c.activeReasoningParts[i.id];if(d==null)throw new ce({chunkType:"reasoning-end",chunkId:i.id,message:`Received reasoning-end for missing reasoning part with ID "${i.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});d.providerMetadata=(M=i.providerMetadata)!=null?M:d.providerMetadata,d.state="done",delete c.activeReasoningParts[i.id],l();break}case"file":case"reasoning-file":{c.message.parts.push({type:i.type,mediaType:i.mediaType,url:i.url,...i.providerMetadata!=null?{providerMetadata:i.providerMetadata}:{}}),l();break}case"source-url":{c.message.parts.push({type:"source-url",sourceId:i.sourceId,url:i.url,title:i.title,providerMetadata:i.providerMetadata}),l();break}case"source-document":{c.message.parts.push({type:"source-document",sourceId:i.sourceId,mediaType:i.mediaType,title:i.title,filename:i.filename,providerMetadata:i.providerMetadata}),l();break}case"tool-input-start":{const d=c.message.parts.filter(He);c.partialToolCalls[i.toolCallId]={text:"",toolName:i.toolName,index:d.length,dynamic:i.dynamic,title:i.title,toolMetadata:i.toolMetadata},i.dynamic?T({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-streaming",input:void 0,providerExecuted:i.providerExecuted,title:i.title,toolMetadata:i.toolMetadata,providerMetadata:i.providerMetadata}):z({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-streaming",input:void 0,providerExecuted:i.providerExecuted,title:i.title,toolMetadata:i.toolMetadata,providerMetadata:i.providerMetadata}),l();break}case"tool-input-delta":{const d=c.partialToolCalls[i.toolCallId];if(d==null)throw new ce({chunkType:"tool-input-delta",chunkId:i.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${i.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});d.text+=i.inputTextDelta;const{value:m}=await Ae(d.text);d.dynamic?T({toolCallId:i.toolCallId,toolName:d.toolName,state:"input-streaming",input:m,title:d.title,toolMetadata:d.toolMetadata}):z({toolCallId:i.toolCallId,toolName:d.toolName,state:"input-streaming",input:m,title:d.title,toolMetadata:d.toolMetadata}),l();break}case"tool-input-available":{i.dynamic?T({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-available",input:i.input,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:i.title,toolMetadata:i.toolMetadata}):z({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-available",input:i.input,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:i.title,toolMetadata:i.toolMetadata}),l(),o&&!i.providerExecuted&&await o({toolCall:i});break}case"tool-input-error":{const d=c.message.parts.filter(he).find(g=>g.toolCallId===i.toolCallId);(d!=null?d.type==="dynamic-tool":!!i.dynamic)?T({toolCallId:i.toolCallId,toolName:i.toolName,state:"output-error",input:i.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,toolMetadata:i.toolMetadata}):z({toolCallId:i.toolCallId,toolName:i.toolName,state:"output-error",input:void 0,rawInput:i.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,toolMetadata:i.toolMetadata}),l();break}case"tool-approval-request":{const d=C(i.toolCallId);d.state="approval-requested",d.approval={id:i.approvalId,...i.isAutomatic===!0?{isAutomatic:!0}:{},...i.signature!=null?{signature:i.signature}:{}},l();break}case"tool-approval-response":{const d=I(i.approvalId),m=d.approval==null?{id:i.approvalId}:d.approval;d.state="approval-responded",d.approval={id:i.approvalId,approved:i.approved,...i.reason!=null?{reason:i.reason}:{},...m.isAutomatic===!0?{isAutomatic:!0}:{},...m.signature!=null?{signature:m.signature}:{}},i.providerExecuted!=null&&(d.providerExecuted=i.providerExecuted),i.providerMetadata!=null&&(d.callProviderMetadata=i.providerMetadata),l();break}case"tool-output-denied":{const d=C(i.toolCallId);d.state="output-denied",l();break}case"tool-output-available":{const d=C(i.toolCallId);d.type==="dynamic-tool"?T({toolCallId:i.toolCallId,toolName:d.toolName,state:"output-available",input:d.input,output:i.output,preliminary:i.preliminary,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:d.title,toolMetadata:d.toolMetadata}):z({toolCallId:i.toolCallId,toolName:Ye(d),state:"output-available",input:d.input,output:i.output,providerExecuted:i.providerExecuted,preliminary:i.preliminary,providerMetadata:i.providerMetadata,title:d.title,toolMetadata:d.toolMetadata}),l();break}case"tool-output-error":{const d=C(i.toolCallId);d.type==="dynamic-tool"?T({toolCallId:i.toolCallId,toolName:d.toolName,state:"output-error",input:d.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:d.title,toolMetadata:d.toolMetadata}):z({toolCallId:i.toolCallId,toolName:Ye(d),state:"output-error",input:d.input,rawInput:d.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:d.title,toolMetadata:d.toolMetadata}),l();break}case"start-step":{c.message.parts.push({type:"step-start"});break}case"finish-step":{c.activeTextParts=we(),c.activeReasoningParts=we();break}case"start":{i.messageId!=null&&(c.message.id=i.messageId),await x(i.messageMetadata),(i.messageId!=null||i.messageMetadata!=null)&&l();break}case"finish":{i.finishReason!=null&&(c.finishReason=i.finishReason),await x(i.messageMetadata),i.messageMetadata!=null&&l();break}case"message-metadata":{await x(i.messageMetadata),i.messageMetadata!=null&&l();break}case"error":{n==null||n(new Error(i.errorText));break}default:if(ls(i)){if((r==null?void 0:r[i.type])!=null){const g=c.message.parts.findIndex(b=>"id"in b&&"data"in b&&b.id===i.id&&b.type===i.type),S=g>=0?g:c.message.parts.length;await Ct({value:i.data,schema:r[i.type],context:{field:`message.parts[${S}].data`,entityName:i.type,entityId:i.id}})}const d=i;if(d.transient){u==null||u(d);break}const m=d.id!=null?c.message.parts.find(g=>d.type===g.type&&d.id===g.id):void 0;m!=null?m.data=d.data:c.message.parts.push(d),u==null||u(d),l()}}y.enqueue(i)})}}))}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});s.z.record(s.z.string(),pe.optional());s.z.record(s.z.string(),s.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,n=await new Promise((o,u)=>{const i=new FileReader;i.onload=y=>{var c;o((c=y.target)==null?void 0:c.result)},i.onerror=y=>u(y),i.readAsDataURL(t)});return{type:"file",mediaType:a,filename:r,url:n}}))}var gs=class{constructor({api:e="/api/chat",credentials:t,headers:r,body:a,fetch:n,prepareSendMessagesRequest:o,prepareReconnectToStreamRequest:u}){this.api=e,this.credentials=t,this.headers=r,this.body=a,this.fetch=n,this.prepareSendMessagesRequest=o,this.prepareReconnectToStreamRequest=u}async sendMessages({abortSignal:e,...t}){var r,a,n,o,u;const i=await ne(this.body),y=await ne(this.headers),c=await ne(this.credentials),l={...ge(y),...ge(t.headers)},p=await((r=this.prepareSendMessagesRequest)==null?void 0:r.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...i,...t.body},headers:l,credentials:c,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),v=(a=p==null?void 0:p.api)!=null?a:this.api,h=(p==null?void 0:p.headers)!==void 0?ge(p.headers):l,M=(p==null?void 0:p.body)!==void 0?p.body:{...i,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},C=(n=p==null?void 0:p.credentials)!=null?n:c,z=await((o=this.fetch)!=null?o:globalThis.fetch)(v,{method:"POST",headers:{"Content-Type":"application/json",...h},body:JSON.stringify(M),credentials:C,signal:e});if(!z.ok)throw new Error((u=await z.text())!=null?u:"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,n,o;const u=await ne(this.body),i=await ne(this.headers),y=await ne(this.credentials),c={...ge(i),...ge(e.headers)},l=await((t=this.prepareReconnectToStreamRequest)==null?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...u,...e.body},headers:c,credentials:y,requestMetadata:e.metadata})),p=(r=l==null?void 0:l.api)!=null?r:`${this.api}/${e.chatId}/stream`,v=(l==null?void 0:l.headers)!==void 0?ge(l.headers):c,h=(a=l==null?void 0:l.credentials)!=null?a:y,C=await((n=this.fetch)!=null?n:globalThis.fetch)(p,{method:"GET",headers:v,credentials:h});if(C.status===204)return null;if(!C.ok)throw new Error((o=await C.text())!=null?o:"Failed to fetch the chat response.");if(!C.body)throw new Error("The response body is empty.");return this.processResponseStream(C.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)}}))}},ys=class{constructor({generateId:e=Fr,id:t=e(),transport:r=new at,messageMetadataSchema:a,dataPartSchemas:n,state:o,onError:u,onToolCall:i,onFinish:y,onData:c,sendAutomaticallyWhen:l}){this.activeResponse=void 0,this.jobExecutor=new fs,this.sendMessage=async(p,v)=>{var h,M,C,I;if(p==null){await this.makeRequest({trigger:"submit-message",messageId:(h=this.lastMessage)==null?void 0:h.id,...v});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(x=>x.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:(M=z.role)!=null?M:"user",metadata:p.metadata})}else this.state.pushMessage({...z,id:(C=z.id)!=null?C:this.generateId(),role:(I=z.role)!=null?I:"user",metadata:p.metadata});await this.makeRequest({trigger:"submit-message",messageId:p.messageId,...v})},this.regenerate=async({messageId:p,...v}={})=>{const h=p==null?this.state.messages.length-1:this.state.messages.findIndex(M=>M.id===p);if(h===-1)throw new Error(`message ${p} not found`);this.state.messages=this.state.messages.slice(0,this.messages[h].role==="assistant"?h:h+1),await this.makeRequest({trigger:"regenerate-message",messageId:p,...v})},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:v,reason:h,options:M})=>this.jobExecutor.run(async()=>{const C=this.state.messages,I=C[C.length-1],z=T=>he(T)&&T.state==="approval-requested"&&T.approval.id===p?{...T,state:"approval-responded",approval:{...T.approval,id:p,approved:v,reason:h}}:T;this.state.replaceMessage(C.length-1,{...I,parts:I.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 x;T&&this.makeRequest({trigger:"submit-message",messageId:(x=this.lastMessage)==null?void 0:x.id,...M})})}),this.addToolOutput=async({state:p="output-available",toolCallId:v,output:h,errorText:M,options:C})=>this.jobExecutor.run(async()=>{const I=this.state.messages,z=I[I.length-1],T=x=>he(x)&&x.toolCallId===v?{...x,state:p,output:h,errorText:M}:x;this.state.replaceMessage(I.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(x=>{var d;x&&this.makeRequest({trigger:"submit-message",messageId:(d=this.lastMessage)==null?void 0:d.id,...C})})}),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=n,this.state=o,this.onError=u,this.onToolCall=i,this.onFinish=y,this.onData=c,this.sendAutomaticallyWhen=l}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:n}){var o,u;let i;if(e==="resume-stream")try{const h=await this.transport.reconnectToStream({chatId:this.id,metadata:t,headers:r,body:a});if(h==null)return;i=h}catch(h){this.onError&&h instanceof Error&&this.onError(h),this.setStatus({status:"error",error:h});return}this.setStatus({status:"submitted",error:void 0});const y=this.lastMessage;let c=!1,l=!1,p=!1,v;try{const h={state:cs({lastMessage:this.state.snapshot(y),messageId:this.generateId()}),abortController:new AbortController};v=h,h.abortController.signal.addEventListener("abort",()=>{c=!0}),this.activeResponse=h;let M;e==="resume-stream"?M=i:M=await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:h.abortController.signal,metadata:t,headers:r,body:a,trigger:e,messageId:n});const C=I=>this.jobExecutor.run(()=>I({state:h.state,write:()=>{var z;this.setStatus({status:"streaming"}),h.state.message.id===((z=this.lastMessage)==null?void 0:z.id)?this.state.replaceMessage(this.state.messages.length-1,h.state.message):this.state.pushMessage(h.state.message)}}));await ps({stream:ds({stream:M,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:C,onError:I=>{throw I}}),onError:I=>{throw I}}),this.setStatus({status:"ready"})}catch(h){if(c||h.name==="AbortError")return c=!0,this.setStatus({status:"ready"}),null;p=!0,h instanceof TypeError&&(h.message.toLowerCase().includes("fetch")||h.message.toLowerCase().includes("network"))&&(l=!0),this.onError&&h instanceof Error&&this.onError(h),this.setStatus({status:"error",error:h})}finally{try{v&&((o=this.onFinish)==null||o.call(this,{message:v.state.message,messages:this.state.messages,isAbort:c,isDisconnect:l,isError:p,finishReason:v.state.finishReason}))}catch(h){console.error(h)}this.activeResponse===v&&(this.activeResponse=void 0)}!p&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:(u=this.lastMessage)==null?void 0:u.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 u=Date.now(),i=u-a,y=t-i;y<=0?(a=u,e.apply(this,o)):r=setTimeout(()=>{a=Date.now(),e.apply(this,o)},y)}}var hs=vs;const bs=Fa(hs);var or=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},N=(e,t,r)=>(or(e,t,"read from private field"),r?r.call(e):t.get(e)),Y=(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)},se=(e,t,r,a)=>(or(e,t,"write to private field"),t.set(e,r),r);function Ss(e,t){return t!=null?bs(e,t):e}var q,Oe,Ne,Te,Ie,_e,ye,Ge,Qe,Es=class{constructor(e=[]){Y(this,q,void 0),Y(this,Oe,"ready"),Y(this,Ne,void 0),Y(this,Te,new Set),Y(this,Ie,new Set),Y(this,_e,new Set),this.pushMessage=t=>{se(this,q,N(this,q).concat(t)),N(this,ye).call(this)},this.popMessage=()=>{se(this,q,N(this,q).slice(0,-1)),N(this,ye).call(this)},this.replaceMessage=(t,r)=>{se(this,q,[...N(this,q).slice(0,t),this.snapshot(r),...N(this,q).slice(t+1)]),N(this,ye).call(this)},this.snapshot=t=>structuredClone(t),this["~registerMessagesCallback"]=(t,r)=>{const a=r?Ss(t,r):t;return N(this,Te).add(a),()=>{N(this,Te).delete(a)}},this["~registerStatusCallback"]=t=>(N(this,Ie).add(t),()=>{N(this,Ie).delete(t)}),this["~registerErrorCallback"]=t=>(N(this,_e).add(t),()=>{N(this,_e).delete(t)}),Y(this,ye,()=>{N(this,Te).forEach(t=>t())}),Y(this,Ge,()=>{N(this,Ie).forEach(t=>t())}),Y(this,Qe,()=>{N(this,_e).forEach(t=>t())}),se(this,q,e)}get status(){return N(this,Oe)}set status(e){se(this,Oe,e),N(this,Ge).call(this)}get error(){return N(this,Ne)}set error(e){se(this,Ne,e),N(this,Qe).call(this)}get messages(){return N(this,q)}set messages(e){se(this,q,[...e]),N(this,ye).call(this)}};q=new WeakMap;Oe=new WeakMap;Ne=new WeakMap;Te=new WeakMap;Ie=new WeakMap;_e=new WeakMap;ye=new WeakMap;Ge=new WeakMap;Qe=new WeakMap;var ve,At=class extends ys{constructor({messages:e,...t}){const r=new Es(e);super({...t,state:r}),Y(this,ve,void 0),this["~registerMessagesCallback"]=(a,n)=>N(this,ve)["~registerMessagesCallback"](a,n),this["~registerStatusCallback"]=a=>N(this,ve)["~registerStatusCallback"](a),this["~registerErrorCallback"]=a=>N(this,ve)["~registerErrorCallback"](a),se(this,ve,r)}};ve=new WeakMap;function zs({throttle:e,experimental_throttle:t,resume:r=!1,...a}={}){const n=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 u;const i=()=>{var I;return(I=o.current.transport)!=null?I:u??(u=new at)},y={...a,transport:{sendMessages:I=>i().sendMessages(I),reconnectToStream:I=>i().reconnectToStream(I)},onToolCall:I=>{var z,T;return(T=(z=o.current).onToolCall)==null?void 0:T.call(z,I)},onData:I=>{var z,T;return(T=(z=o.current).onData)==null?void 0:T.call(z,I)},onFinish:I=>{var z,T;return(T=(z=o.current).onFinish)==null?void 0:T.call(z,I)},onError:I=>{var z,T;return(T=(z=o.current).onError)==null?void 0:T.call(z,I)},sendAutomaticallyWhen:I=>{var z,T,x;return(x=(T=(z=o.current).sendAutomaticallyWhen)==null?void 0:T.call(z,I))!=null?x:!1}},c=f.useRef("chat"in a?a.chat:new At(y));("chat"in a&&a.chat!==c.current||"id"in a&&a.id!=null&&c.current.id!==a.id)&&(c.current="chat"in a?a.chat:new At(y));const p=f.useCallback(I=>c.current["~registerMessagesCallback"](I,n),[n,c.current.id]),v=f.useSyncExternalStore(p,()=>c.current.messages,()=>c.current.messages),h=f.useSyncExternalStore(c.current["~registerStatusCallback"],()=>c.current.status,()=>c.current.status),M=f.useSyncExternalStore(c.current["~registerErrorCallback"],()=>c.current.error,()=>c.current.error),C=f.useCallback(I=>{typeof I=="function"&&(I=I(c.current.messages)),c.current.messages=I},[c]);return f.useEffect(()=>{r&&c.current.resumeStream()},[r,c]),{id:c.current.id,messages:v,setMessages:C,sendMessage:c.current.sendMessage,regenerate:c.current.regenerate,clearError:c.current.clearError,stop:c.current.stop,error:M,resumeStream:c.current.resumeStream,status:h,addToolResult:c.current.addToolOutput,addToolOutput:c.current.addToolOutput,addToolApprovalResponse:c.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 Ts=Z.z.union([Z.z.string(),Z.z.looseObject({id:Z.z.string().optional(),label:Z.z.string()})]),Is=Z.z.looseObject({id:Z.z.string().optional(),prompt:Z.z.string(),selection:Z.z.enum(["single","multiple"]).default("single"),options:Z.z.array(Ts).min(1)}),_s=Z.z.looseObject({request_id:Z.z.string().optional(),questions:Z.z.array(Is).min(1)});function ws(e){return!!(e!=null&&e.includes("ask_questions"))}const Ms=[/\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 Cs(e){return Ms.some(t=>t.test(e))}function As(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((n,o)=>typeof n=="string"?{id:`q${a}-o${o}`,label:n}:{id:n.id??`q${a}-o${o}`,label:n.label}).filter(n=>!Cs(n.label))}))}}function Be(e){try{return JSON.parse(e)}catch{return null}}function Ps(e){if(e==null)return null;if(typeof e=="string")return Be(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 Be(r)}return null}if(typeof e=="object"){if("text"in e){const t=e.text;if(typeof t=="string")return Be(t)}return e}return null}function xt(e,t){const r=Ps(e);if(r==null)return null;const a=_s.safeParse(r);return a.success?As(a.data,t):null}function xs(e,t){const r=[];for(const a of e.questions){const n=t.get(a.id);n===void 0||n.trim()===""||r.push(`Q: ${a.prompt}
|
|
21
|
+
A: ${n.trim()}`)}return r.join(`
|
|
22
|
+
|
|
23
|
+
`)}const Rt="data-spec";function Xe(e){const t=[],r=o=>{const u=t.at(-1);(u==null?void 0:u.kind)==="steps"?u.steps.push(o):t.push({kind:"steps",steps:[o]})},a=o=>o==="output-available"||o==="output-error";let n=null;for(const o of e)if(!j.isAgentStreamKeepalive(o)){if(Os(o)){const u=Ns(o);u&&t.push(u);continue}if(o.type===Rt)n||(n={kind:"spec",parts:[]},t.push(n)),n.parts.push({type:Rt,data:o.data});else if(o.type==="text"){const u=typeof o.text=="string"?o.text:"";u.trim().length>0&&t.push({kind:"text",text:u})}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),...Ot(o)}):o.type.startsWith("tool-")&&r({kind:"tool",label:o.type.slice(5),done:a(o.state),...Ot(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=xt(e.output,t)??xt(e.input,t);return r?{kind:"questions",request:r}:null}function Ot(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 Fs(e){return new at({api:e.api,headers:()=>e.headers(),prepareSendMessagesRequest:({body:t})=>({body:t??{}}),prepareReconnectToStreamRequest:js(e)})}function Ds({existing:e,fetched:t}){const r=new Map(e.map(u=>[u.turnId,u])),a=new Set,n=[];for(const u of t.turns){if(a.add(u.turn_id),u.message_uuids.length===0)continue;const i=r.get(u.turn_id);if(i){Ls(i.rowIds,u.message_uuids)?n.push(i):n.push({...i,rowIds:u.message_uuids});continue}if(u.ui_parts!==null){const y=Xe(u.ui_parts);if(y.length===0)continue;n.push({key:`turn-${u.turn_id}`,turnId:u.turn_id,rowIds:u.message_uuids,items:y})}}for(const u of e)a.has(u.turnId)||n.push(u);return n.length===e.length&&n.every((u,i)=>u===e[i])?e:n}const Ls=(e,t)=>e.length===t.length&&e.every((r,a)=>r===t[a]),ks=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!j.isRecord(r)||typeof r.turn_id!="string"||!ks(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(!j.isAgentStreamKeepalive(r))return j.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 Nt=20,qs="highlight_element";function Ks({widgetCtx:e,config:t,sessionId:r,persistedMessages:a}){const{api:n,messageCtx:o}=e,u=f.useRef(t);u.current=t;const{pageContext:i,clientTools:y}=e.features,c=f.useMemo(()=>Fs({...n.getStreamTransportOptions(),headers:()=>n.getStreamTransportOptions().headers}),[n]),{status:l,messages:p,sendMessage:v,stop:h,error:M,clearError:C,resumeStream:I}=zs({id:r??void 0,resume:r!==null,transport:c,throttle:50,onError:E=>j.log.error("agent chat stream error",E)}),z=f.useRef(p);z.current=p;const T=f.useRef(new Pt(Nt)),x=f.useRef("idle"),d=f.useRef(Promise.resolve()),m=f.useRef(0),[g,S]=f.useState(0),[b,_]=f.useState(!1),[F,ee]=f.useState([]),[De,Le]=f.useState(null),B=f.useRef(null),H=f.useCallback(E=>{B.current=E,Le(E)},[]),Se=f.useRef(null),fe=f.useRef(null),me=f.useRef(l),ot=f.useRef(r),ke=f.useRef(null),Ze=f.useRef(null),lt=f.useRef(h),oe=f.useRef(l);oe.current=l;const xe=f.useCallback((E,P)=>{const R=Zs(E.parts);if(!R||R.rowIds.length===0)return;const D=Xe(E.parts);D.length!==0&&ee(L=>L.some(Ee=>Ee.turnId===R.turnId)?L:[...L,{key:P,turnId:R.turnId,rowIds:R.rowIds,items:D}])},[]),Re=f.useCallback(E=>j.buildSendMessageBody({config:u.current,input:E.input,uuid:E.retryUuid??E.userMessage.id,sessionId:E.sessionId,content:E.userMessage.content,initialMessages:E.initialMessages,sendsPageContext:i}),[i]),ut=f.useCallback(async E=>{const P=m.current,R=new AbortController;let D;try{const L=await c.sendMessages({trigger:"submit-message",chatId:E.sessionId,messageId:void 0,messages:[],abortSignal:R.signal,body:Re(E)});D=await $s(L)}catch(L){j.log.error("agent chat steer failed",L);return}finally{R.abort()}if(P===m.current){switch(D.kind){case"steered":o.markUserMessageDelivered(E.userMessage.id);return;case"turn":fe.current=E;try{await h()}catch(L){j.log.error("agent chat steer fallback: client stop failed",L)}if(P!==m.current)return;I();return;case"failed":j.log.error("agent chat steer: the turn failed",{errorText:D.errorText});break;case"silent":o.markUserMessageDelivered(E.userMessage.id);break}e.reconcileAfterStream(E.sessionId).catch(L=>{j.log.error("agent chat post-steer reconcile failed",L)})}},[c,Re,o,h,I,e]),ct=f.useRef(ut);ct.current=ut,f.useEffect(()=>{const E=lt.current;lt.current=h;const P=ot.current;if(P===r)return;if(ot.current=r,P===null){ee([]);return}const R=oe.current==="submitted"||oe.current==="streaming"||me.current==="submitted"||me.current==="streaming"||x.current==="in-flight";m.current+=1,d.current=Promise.resolve(),T.current=new Pt(Nt),x.current="idle",fe.current=null,Se.current=null,Ze.current=null,ke.current=l==="submitted"||l==="streaming"?l:null,me.current="ready",oe.current="ready",C(),S(D=>D+1),_(!1),ee([]),H(null),R&&Promise.resolve().then(()=>E()).catch(D=>{j.log.error("agent chat client stream cancel failed",D)})},[r,l,h,C,H]),f.useEffect(()=>{var L,Ee;const E=ke.current;if(E!==null&&l===E){me.current="ready";return}ke.current=null;const P=me.current;if(me.current=l,(l==="submitted"||l==="streaming")&&(P!=="submitted"&&P!=="streaming"&&B.current===null&&H(`turn-resumed-${j.genUuid()}`),_(!0)),l==="streaming"){const W=(L=fe.current)==null?void 0:L.userMessage.id;W&&o.markUserMessageDelivered(W);return}if(l!=="ready"&&l!=="error")return;if(P==="streaming"||P==="submitted"){x.current==="in-flight"&&(x.current="idle");const W=z.current.at(-1),te=B.current;if(Se.current=te,te!==null&&W&&W.role==="assistant"&&xe(W,te),l==="ready"){const re=(Ee=fe.current)==null?void 0:Ee.userMessage.id;re&&o.markUserMessageDelivered(re)}x.current==="stopping"||(r?(x.current="reconciling",e.reconcileAfterStream(r).catch(re=>{j.log.error("agent chat post-turn reconcile failed",re)}).finally(()=>{x.current==="reconciling"&&(x.current="idle"),S(re=>re+1)})):_(!1))}if(x.current!=="idle"||!r)return;const D=T.current.dequeueNext();D&&(x.current="in-flight",fe.current=D,H(`turn-${D.userMessage.id}`),o.appendUserMessageIfAbsent(D.userMessage),S(W=>W+1),v({text:D.userMessage.content},{body:Re(D)}))},[l,r,g,v,o,e,Re,xe,H]);const dt=f.useCallback(E=>{const P=m.current,R=d.current.then(async()=>{if(P!==m.current)return;const D=x.current,L=oe.current==="streaming"&&D!=="stopping"&&D!=="reconciling"&&T.current.size===0,W=oe.current==="submitted"||oe.current==="streaming"||D!=="idle"||T.current.size>0?Bs(o.buildQueuedUserMessage(E)):await o.stageUserTurn(E,{pending:!0});if(!W||P!==m.current)return;const te={...W,input:E};if(L){o.appendUserMessageIfAbsent(te.userMessage),o.notifySendAccepted(E),ct.current(te);return}if(!T.current.enqueue(te)){j.log.warn("agent chat queue full; rejecting newest send",{rejectedMessageId:te.userMessage.id});return}S(re=>re+1),o.notifySendAccepted(E)});return d.current=R.then(()=>{},()=>{}),R},[o]),yr=f.useCallback(()=>{const E=fe.current;if(!E)return;if(!T.current.enqueue({...E,retryUuid:j.genUuid()})){j.log.warn("agent chat queue full; retry not enqueued");return}C(),S(R=>R+1)},[C]),vr=f.useCallback(E=>{T.current.removeWhere(R=>R.userMessage.id===E)&&S(R=>R+1)},[]),hr=f.useCallback(()=>{x.current="stopping";const E=m.current;Us({api:n,sessionId:r,chatStop:h}).catch(P=>{j.log.error("agent chat stop failed",P)}).then(()=>{if(E===m.current){if(!r){_(!1);return}return e.reconcileAfterStream(r).catch(P=>{j.log.error("agent chat post-stop reconcile failed",P)})}}).finally(()=>{E===m.current&&(x.current="idle",S(P=>P+1))})},[n,r,h,e]);f.useEffect(()=>{const E={send:dt};return o.registerAgentHandlers(E),()=>o.unregisterAgentHandlers(E)},[o,dt]),f.useEffect(()=>{if(!r||Ze.current===r)return;Ze.current=r;let E=!1;return(async()=>{try{const P=await n.getAgentTurnMessages(r);if(!P||E)return;ee(R=>Ds({existing:R,fetched:P}))}catch(P){j.log.error("agent chat turn sources fetch failed",P)}})(),()=>{E=!0}},[r,n]);const br=f.useMemo(()=>{if(!y)return[];const E=p.at(-1);if(!E||E.role!=="assistant")return[];const P=[];for(const R of E.parts)he(R)&&us(R)===qs&&(R.state!=="input-available"&&R.state!=="output-available"||P.push({key:`${r??"pending"}:${R.toolCallId}`,type:"highlight-element",input:R.input}));return P},[p,r,y]),Q=l==="submitted"||l==="streaming";f.useEffect(()=>{if(Q)return;const E=Se.current;if(E===null)return;const P=p.at(-1);P&&P.role==="assistant"&&xe(P,E)},[p,Q,xe]),f.useEffect(()=>{const E=()=>{document.visibilityState==="visible"&&r&&(Q||M===void 0&&!b||I())};return document.addEventListener("visibilitychange",E),window.addEventListener("online",E),()=>{document.removeEventListener("visibilitychange",E),window.removeEventListener("online",E)}},[r,Q,b,M,I]),f.useEffect(()=>{if(!(Q||!b))for(let E=a.length-1;E>=0;E-=1){const P=a[E];if(P){if(P.type==="USER")return;if(!(P.type!=="AI"&&P.type!=="AGENT")){_(!1),B.current===Se.current&&H(null),Se.current=null;return}}}},[Q,b,a,H]);const Sr=f.useMemo(()=>{if(!Q&&!b)return[];const E=p.at(-1);return!E||E.role!=="assistant"?[]:Xe(E.parts)},[p,Q,b]),Er=f.useMemo(()=>T.current.items.map(E=>E.userMessage),[g]);return{isStreaming:Q,liveItems:Sr,turnSources:F,liveTurnKey:De,turnFailed:M!==void 0,retryFailedTurn:yr,queuedUserMessages:Er,removeQueued:vr,stop:hr,pageEffects:br}}function Bs(e){return e?{...e,initialMessages:[]}:null}const lr={isStreaming:!1,liveItems:[],turnSources:[],liveTurnKey:null,turnFailed:!1,retryFailedTurn:()=>{},queuedUserMessages:[],removeQueued:()=>{},stop:()=>{},pageEffects:[],pendingClarification:null},st=f.createContext(null);function ur(){return f.useContext(st)??lr}function Ws({children:e,widgetCtx:t,config:r}){var z,T;const a=X(t.sessionCtx.sessionState),n=X(t.messageCtx.state),{isStreaming:o,liveItems:u,turnSources:i,liveTurnKey:y,turnFailed:c,retryFailedTurn:l,queuedUserMessages:p,removeQueued:v,stop:h,pageEffects:M}=Ks({widgetCtx:t,config:r,sessionId:((z=a.session)==null?void 0:z.id)??null,persistedMessages:n.messages}),C=((T=n.messages.at(-1))==null?void 0:T.type)==="USER",I=f.useMemo(()=>({isStreaming:o,liveItems:u,turnSources:i,liveTurnKey:y,turnFailed:c,retryFailedTurn:l,queuedUserMessages:p,removeQueued:v,stop:h,pageEffects:M,pendingClarification:wr({turnSources:i,liveItems:u,isStreaming:o,lastMessageIsFromUser:C})}),[o,u,i,y,c,l,p,v,h,M,C]);return f.createElement(st.Provider,{value:I},e)}function Vs({children:e,widgetCtx:t,config:r}){return t.streaming?f.createElement(Ws,{widgetCtx:t,config:r},e):f.createElement(st.Provider,{value:lr},e)}const cr=f.createContext(null);function Js({options:e,children:t,components:r,storage:a,loadingComponent:n,errorComponent:o}){const u=f.useRef(null),i=f.useRef(null),[y,c]=f.useState({status:"loading"}),l=f.useMemo(()=>new _r({components:r}),[r]);if(f.useEffect(()=>{const v=i.current??(i.current=j.WidgetCtx.initialize({config:e,storage:a}));let h=!0;return v.then(M=>{h&&c({status:"ready",widgetCtx:M})},M=>{const C=M instanceof Error?M:new Error("Widget initialization failed",{cause:M});j.log.error("widget initialization failed",C),h&&c({status:"error",error:C})}),()=>{h=!1}},[]),y.status==="loading")return n?f.createElement(f.Fragment,null,n):null;if(y.status==="error")return o?f.createElement(f.Fragment,null,o(y.error)):null;const{widgetCtx:p}=y;return f.createElement(cr.Provider,{value:{widgetCtx:p,config:e,components:r,componentStore:l,version:Ir,contentIframeRef:u}},f.createElement(Vs,{widgetCtx:p,config:e},t))}function U(){const e=f.useContext(cr);if(!e)throw new Error("useWidget must be used within a WidgetProvider");return e}function Hs(){const{config:e,widgetCtx:t}=U(),{name:r,avatarUrl:a}=t.agent,n=e.bot;return f.useMemo(()=>({isAi:!0,id:null,name:(n==null?void 0:n.name)??r,avatarUrl:(n==null?void 0:n.avatarUrl)??a,avatar:n==null?void 0:n.avatar}),[n==null?void 0:n.name,n==null?void 0:n.avatarUrl,n==null?void 0:n.avatar,r,a])}function Pe(){const{config:e}=U();return e}function Ys(){const{config:e}=U();return e.displayMode??"popover"}function Gs(){const{widgetCtx:e}=U();return{contactState:X(e.contactCtx.state),createUnverifiedContact:e.contactCtx.createUnverifiedContact}}function dr(){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 Qs=500,je="opencx:context-changed";function pr(){if(typeof window>"u")return null;try{const e=window.top??window;return e.location.href,e}catch{return null}}function Xs(e){const t=pr();if(!t)return()=>{};const r=n=>{(n==null?void 0:n.type)===je&&(fr+=1),e()};t.addEventListener("popstate",r),t.addEventListener("hashchange",r),t.addEventListener(je,r);const a=t.setInterval(r,Qs);return()=>{t.removeEventListener("popstate",r),t.removeEventListener("hashchange",r),t.removeEventListener(je,r),t.clearInterval(a)}}let fr=0;function en(){var e;return`${fr}|${((e=pr())==null?void 0:e.location.href)??""}`}function tn(){return f.useSyncExternalStore(Xs,en,()=>"")}function nt(){const{widgetCtx:e}=U(),t=X(e.messageCtx.state),{isStreaming:r}=ur();return{messagesState:r?{...t,isSendingMessage:!0,isSendingMessageToAI:!0}:t,sendMessage:e.messageCtx.sendMessage,rememberSentText:e.messageCtx.rememberSentText,getSentTextHistory:e.messageCtx.getSentTextHistory}}function it(){const{widgetCtx:e}=U(),{oneOpenSessionAllowed:t}=Pe(),r=X(e.sessionCtx.sessionState),a=X(e.sessionCtx.sessionsState),{openSessions:n,closedSessions:o}=f.useMemo(()=>({openSessions:a.data.filter(i=>i.isOpened===!0),closedSessions:a.data.filter(i=>i.isOpened===!1)}),[a.data]),u=f.useMemo(()=>t?n.length===0:!0,[t,n.length]);return{sessionState:r,sessionsState:a,loadMoreSessions:e.sessionCtx.loadMoreSessions,resolveSession:e.sessionCtx.resolveSession,createStateCheckpoint:e.sessionCtx.createStateCheckpoint,openSessions:n,closedSessions:o,canCreateNewSession:u}}function rn(){var o,u,i;const{sessionState:e}=it(),{messagesState:t}=nt(),r=((o=e.session)==null?void 0:o.assignee.kind)==="ai",a=((i=(u=t.messages)==null?void 0:u.at(-1))==null?void 0:i.type)==="USER";return{isAwaitingBotReply:!!(t.isSendingMessageToAI||(r||e.isCreatingSession)&&(t.isSendingMessage||a))}}function an(){const{widgetCtx:e}=U();return{routerState:X(e.routerCtx.state),toSessionsScreen:e.routerCtx.toSessionsScreen,toChatScreen:e.routerCtx.toChatScreen}}const ae=new Map;function sn(){const[e,t]=f.useState([]),{widgetCtx:{api:r}}=U();function a(l){const p=l.map(v=>({file:v,id:zr.v4(),status:"pending",progress:0}));t(v=>[...v,...p]),p.forEach(u)}function n(l,p){t(v=>v.map(h=>h.id===l?{...h,...p}:h))}function o(l){t(p=>p.filter(v=>v.id!==l))}const u=async l=>{const p=new AbortController;ae.set(l.id,p);try{t(h=>h.map(M=>M.id===l.id?{...M,status:"uploading",progress:0}:M));const v=await r.uploadFile({file:l.file,abortSignal:p.signal,onProgress:h=>{n(l.id,{progress:h})}});n(l.id,{status:"success",fileUrl:v.fileUrl,progress:100})}catch(v){p.signal.aborted||n(l.id,{status:"error",error:v instanceof Error?v.message:"Upload failed",progress:0})}finally{ae.delete(l.id)}},i=l=>{const p=ae.get(l);p&&(p.abort(),ae.delete(l)),o(l)},y=f.useMemo(()=>e.filter(l=>l.status==="success"&&l.fileUrl),[e]);function c(){ae.forEach(l=>l.abort()),ae.clear(),t([])}return f.useEffect(()=>()=>{ae.forEach(l=>l.abort()),ae.clear()},[]),{allFiles:e,appendFiles:a,handleCancelUpload:i,successFiles:y,emptyTheFiles:c,getFileById:l=>e.find(p=>p.id===l),getUploadProgress:l=>{var p;return((p=e.find(v=>v.id===l))==null?void 0:p.progress)??0},getUploadStatus:l=>{var p;return(p=e.find(v=>v.id===l))==null?void 0:p.status},hasErrors:e.some(l=>l.status==="error"),isUploading:e.some(l=>l.status==="uploading")}}const mr=f.createContext(null);function nn({children:e}){const t=Pe(),[r,a]=f.useState(()=>t.inline?!0:t.isOpen??!1);return f.useEffect(()=>{a(n=>t.isOpen??n)},[t.isOpen]),f.useEffect(()=>{const n=t.openAfterNSeconds;if(typeof n!="number"||isNaN(n))return;const o=setTimeout(()=>a(!0),n*1e3);return()=>clearTimeout(o)},[t.openAfterNSeconds]),f.createElement(mr.Provider,{value:{isOpen:r,setIsOpen:a}},e)}function on(){const e=f.useContext(mr);if(!e)throw new Error("useWidgetTrigger must be used within a WidgetTriggerProvider");return e}function ln(e){return e!=="fullscreen"}const gr=f.createContext(null);function un({children:e}){var n,o;const{companion:t}=Pe(),{dir:r}=dr(),{widgetCtx:a}=U();return f.createElement(cn,{configuredDefaultLayout:t==null?void 0:t.defaultLayout,configuredLayouts:t==null?void 0:t.layouts,configuredSidebarSide:j.resolveSidebarSide((n=t==null?void 0:t.sidebar)==null?void 0:n.side,r),configuredSidebarMode:j.resolveSidebarMode((o=t==null?void 0:t.sidebar)==null?void 0:o.mode),storage:a.storageCtx},e)}function cn({configuredDefaultLayout:e,configuredLayouts:t,configuredSidebarSide:r,configuredSidebarMode:a,storage:n,children:o}){const u=j.normalizeCompanionLayouts(t),i=j.resolveCompanionDefaultLayout(e,u),y=u.join("|"),[c,l]=f.useState(i),[p,v]=f.useState({defaultLayout:i,allowedLayoutsKey:y});(p.defaultLayout!==i||p.allowedLayoutsKey!==y)&&(v({defaultLayout:i,allowedLayoutsKey:y}),(p.defaultLayout!==i||!u.includes(c))&&l(i));const h=b=>{l(_=>{const F=typeof b=="function"?b(_):b;return u.includes(F)?F:_})},M=f.useRef(u);M.current=u;const C=b=>{h(b),M.current.includes(b)&&ln(b)&&(n==null||n.setCompanionLayout(b).catch(()=>{}))},[I,z]=f.useState(r),[T,x]=f.useState(a),[d,m]=f.useState({side:r,mode:a});(d.side!==r||d.mode!==a)&&(m({side:r,mode:a}),d.side!==r&&z(r),d.mode!==a&&x(a)),f.useEffect(()=>{if(!n)return;let b=!1;return n.getCompanionLayout().then(_=>{b||!_||M.current.includes(_)&&l(_)}).catch(()=>{}),n.getCompanionSidebarSide().then(_=>{!b&&_&&z(_)}).catch(()=>{}),n.getCompanionSidebarMode().then(_=>{!b&&_&&x(_)}).catch(()=>{}),()=>{b=!0}},[n]);const g=f.useCallback(b=>{z(b),n==null||n.setCompanionSidebarSide(b).catch(()=>{})},[n]),S=f.useCallback(b=>{x(b),n==null||n.setCompanionSidebarMode(b).catch(()=>{})},[n]);return f.createElement(gr.Provider,{value:{layout:c,setLayout:h,setLayoutPreference:C,allowedLayouts:u,defaultLayout:i,sidebarSide:I,setSidebarSide:g,sidebarMode:T,setSidebarMode:S}},o)}function dn(){const e=f.useContext(gr);if(!e)throw new Error("useWidgetLayout must be used within a WidgetLayoutProvider");return e}function pn(){var i,y;const{widgetCtx:e}=U(),{modesComponents:t}=Pe(),{sessionState:r}=it(),a=e.modes,n=(i=r.session)==null?void 0:i.modeId,o=a.find(c=>c.id===n),u=(y=t==null?void 0:t.find(c=>{var l,p;return[(o==null?void 0:o.id)||"",((l=o==null?void 0:o.name)==null?void 0:l.toLowerCase())||"",((p=o==null?void 0:o.slug)==null?void 0:p.toLowerCase())||""].includes(c.key.toLowerCase())}))==null?void 0:y.component;return{modes:a,modesComponents:t,activeModeId:n,activeMode:o,Component:u}}function fn(){const{widgetCtx:e}=U(),{messagesState:{messages:t}}=nt(),{csatRequestedMessage:r,isCsatRequested:a,csatSubmittedMessage:n,isCsatSubmitted:o,submittedScore:u,submittedFeedback:i}=f.useMemo(()=>{const y=t.find(l=>l.type==="SYSTEM"&&l.subtype==="csat_requested"),c=t.findLast(l=>l.type==="SYSTEM"&&l.subtype==="csat_submitted");return{csatRequestedMessage:y,isCsatRequested:!!y&&!c,csatSubmittedMessage:c,isCsatSubmitted:!!c,submittedScore:c==null?void 0:c.data.payload.score,submittedFeedback:c==null?void 0:c.data.payload.feedback}},[t]);return{submitCsat:e.csatCtx.submitCsat,csatRequestedMessage:r,isCsatRequested:a,csatSubmittedMessage:n,isCsatSubmitted:o,submittedScore:u,submittedFeedback:i}}function mn(e){const{widgetCtx:t}=U(),r=t.dictationCtx,a=X(r.state),n=f.useRef(e);n.current=e;const o=f.useCallback(()=>{r.start({getValue:()=>n.current.getValue(),setValue:i=>n.current.setValue(i),onSend:()=>{var i,y;return(y=(i=n.current).onSend)==null?void 0:y.call(i)}})},[r]),u=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:u,prewarm:r.prewarm}}exports.HOST_CONTEXT_CHANGED_EVENT=je;exports.WidgetLayoutProvider=un;exports.WidgetProvider=Js;exports.WidgetTriggerProvider=nn;exports.formatAskQuestionsAnswers=xs;exports.useAgentChatUi=ur;exports.useBot=Hs;exports.useConfig=Pe;exports.useContact=Gs;exports.useCsat=fn;exports.useDictation=mn;exports.useDisplayMode=Ys;exports.useDocumentDir=dr;exports.useHostLocation=tn;exports.useIsAwaitingBotReply=rn;exports.useMessages=nt;exports.useModes=pn;exports.usePrimitiveState=X;exports.useSessions=it;exports.useUploadFiles=sn;exports.useWidget=U;exports.useWidgetLayout=dn;exports.useWidgetRouter=an;exports.useWidgetTrigger=on;
|
|
2
24
|
//# sourceMappingURL=index.cjs.map
|