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