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