blink 0.1.52 → 0.1.54
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/api/index.cjs +15 -3
- package/dist/api/index.d.cts +55 -8
- package/dist/api/index.d.ts +55 -8
- package/dist/api/index.js +15 -3
- package/dist/cli/auth-BP6XsB4o.js +30 -0
- package/dist/cli/chat-VT2y0Ejx.js +1 -0
- package/dist/cli/connect-CUOPse6P.js +1 -0
- package/dist/cli/connect-CswVxp7Y.js +26 -0
- package/dist/cli/{dev-DD1tf2AT.js → dev-DWe1-Qrm.js} +73 -67
- package/dist/cli/dist-CN69Y-yA.js +45 -0
- package/dist/cli/events-CWgtj8lb.js +1 -0
- package/dist/cli/{getMachineId-bsd-CY-GIKzh.js → getMachineId-bsd-C-mIkoX1.js} +1 -1
- package/dist/cli/{getMachineId-darwin-BvUyLisY.js → getMachineId-darwin-BndlBc-C.js} +1 -1
- package/dist/cli/{getMachineId-linux-CaBhu4UD.js → getMachineId-linux-DYz-C3hh.js} +1 -1
- package/dist/cli/{getMachineId-unsupported-DsibGvjs.js → getMachineId-unsupported-CcuIl2b-.js} +1 -1
- package/dist/cli/{getMachineId-win-_QXKq1ge.js → getMachineId-win-KRlx7d-Q.js} +1 -1
- package/dist/cli/index.js +6 -110
- package/dist/cli/init-CyILyaVn.js +80 -0
- package/dist/cli/login-JR8bA13P.js +1 -0
- package/dist/cli/main-DqOlaYW2.js +6 -0
- package/dist/cli/open-Cr8lEmcs.js +1 -0
- package/dist/cli/serve-CEeYlO7w.js +60 -0
- package/dist/cli/serve-DY71nMqp.js +1 -0
- package/dist/cli/undici-jJcag_Yq.js +1 -0
- package/dist/cookie-CB9k3Awr.js +11 -0
- package/dist/cookie-Dx2Kx4Zh.cjs +11 -0
- package/dist/test.cjs +1 -1
- package/dist/test.js +1 -1
- package/package.json +1 -1
- package/dist/cli/main-CiEwxfsi.js +0 -138
- package/dist/cli/undici-DjSrZtb9.js +0 -1
- package/dist/cookie-BtKXrFr6.cjs +0 -1
- package/dist/cookie-CyZUsiHM.js +0 -1
- /package/dist/cli/{devtools-D6beCbGn.js → devtools-BS9tk1Y9.js} +0 -0
- /package/dist/cli/{esm-DiE8Xvft.js → esm-CeJfCMPI.js} +0 -0
- /package/dist/cli/{execAsync-Cr3GNTA4.js → execAsync-q2CSWc1b.js} +0 -0
- /package/dist/cli/{undici-0ADe8h0l.js → undici-BG07ys6c.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./esm-CeJfCMPI.js";import"./events-CWgtj8lb.js";import{createServeClient as e,serve as t}from"./serve-CEeYlO7w.js";export{e as createServeClient,t as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{require_undici as e}from"./undici-BG07ys6c.js";export default e();export{};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import*as e from"zod/v4";import{z as t}from"zod/v4";import{ZodFirstPartyTypeKind as n}from"zod/v3";var r=`vercel.ai.error`,i=Symbol.for(r),a,o=class e extends Error{constructor({name:e,message:t,cause:n}){super(t),this[a]=!0,this.name=e,this.cause=n}static isInstance(t){return e.hasMarker(t,r)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};a=i;var s=o,c=`AI_APICallError`,l=`vercel.ai.error.${c}`,u=Symbol.for(l),d,f=class extends s{constructor({message:e,url:t,requestBodyValues:n,statusCode:r,responseHeaders:i,responseBody:a,cause:o,isRetryable:s=r!=null&&(r===408||r===409||r===429||r>=500),data:l}){super({name:c,message:e,cause:o}),this[d]=!0,this.url=t,this.requestBodyValues=n,this.statusCode=r,this.responseHeaders=i,this.responseBody=a,this.isRetryable=s,this.data=l}static isInstance(e){return s.hasMarker(e,l)}};d=u;var p=`AI_EmptyResponseBodyError`,m=`vercel.ai.error.${p}`,h=Symbol.for(m),g,_=class extends s{constructor({message:e=`Empty response body`}={}){super({name:p,message:e}),this[g]=!0}static isInstance(e){return s.hasMarker(e,m)}};g=h;function v(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.message:JSON.stringify(e)}var y=`AI_InvalidArgumentError`,ee=`vercel.ai.error.${y}`,te=Symbol.for(ee),ne,re=class extends s{constructor({message:e,cause:t,argument:n}){super({name:y,message:e,cause:t}),this[ne]=!0,this.argument=n}static isInstance(e){return s.hasMarker(e,ee)}};ne=te;var ie=`AI_InvalidPromptError`,ae=`vercel.ai.error.${ie}`,oe=Symbol.for(ae),se,ce=class extends s{constructor({prompt:e,message:t,cause:n}){super({name:ie,message:`Invalid prompt: ${t}`,cause:n}),this[se]=!0,this.prompt=e}static isInstance(e){return s.hasMarker(e,ae)}};se=oe;var le=`AI_InvalidResponseDataError`,ue=`vercel.ai.error.${le}`,de=Symbol.for(ue),fe,pe=class extends s{constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:le,message:t}),this[fe]=!0,this.data=e}static isInstance(e){return s.hasMarker(e,ue)}};fe=de;var me=`AI_JSONParseError`,he=`vercel.ai.error.${me}`,ge=Symbol.for(he),_e,b=class extends s{constructor({text:e,cause:t}){super({name:me,message:`JSON parsing failed: Text: ${e}.
|
|
2
|
+
Error message: ${v(t)}`,cause:t}),this[_e]=!0,this.text=e}static isInstance(e){return s.hasMarker(e,he)}};_e=ge;var ve=`AI_LoadAPIKeyError`,ye=`vercel.ai.error.${ve}`,be=Symbol.for(ye),xe;xe=be;var Se=`AI_LoadSettingError`,Ce=`vercel.ai.error.${Se}`,we=Symbol.for(Ce),Te;Te=we;var Ee=`AI_NoContentGeneratedError`,De=`vercel.ai.error.${Ee}`,Oe=Symbol.for(De),ke;ke=Oe;var Ae=`AI_NoSuchModelError`,je=`vercel.ai.error.${Ae}`,Me=Symbol.for(je),Ne;Ne=Me;var x=`AI_TooManyEmbeddingValuesForCallError`,Pe=`vercel.ai.error.${x}`,Fe=Symbol.for(Pe),Ie,Le=class extends s{constructor(e){super({name:x,message:`Too many values for a single embedding call. The ${e.provider} model "${e.modelId}" can only embed up to ${e.maxEmbeddingsPerCall} values per call, but ${e.values.length} values were provided.`}),this[Ie]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return s.hasMarker(e,Pe)}};Ie=Fe;var Re=`AI_TypeValidationError`,ze=`vercel.ai.error.${Re}`,Be=Symbol.for(ze),Ve,He=class e extends s{constructor({value:e,cause:t}){super({name:Re,message:`Type validation failed: Value: ${JSON.stringify(e)}.
|
|
3
|
+
Error message: ${v(t)}`,cause:t}),this[Ve]=!0,this.value=e}static isInstance(e){return s.hasMarker(e,ze)}static wrap({value:t,cause:n}){return e.isInstance(n)&&n.value===t?n:new e({value:t,cause:n})}};Ve=Be;var S=He,C=`AI_UnsupportedFunctionalityError`,Ue=`vercel.ai.error.${C}`,We=Symbol.for(Ue),Ge,Ke=class extends s{constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:C,message:t}),this[Ge]=!0,this.functionality=e}static isInstance(e){return s.hasMarker(e,Ue)}};Ge=We;var qe=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}};function w(e){}function Je(e){if(typeof e==`function`)throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:t=w,onError:n=w,onRetry:r=w,onComment:i}=e,a=``,o=!0,s,c=``,l=``;function u(e){let t=o?e.replace(/^\xEF\xBB\xBF/,``):e,[n,r]=Ye(`${a}${t}`);for(let e of n)d(e);a=r,o=!1}function d(e){if(e===``){p();return}if(e.startsWith(`:`)){i&&i(e.slice(e.startsWith(`: `)?2:1));return}let t=e.indexOf(`:`);if(t!==-1){let n=e.slice(0,t),r=e[t+1]===` `?2:1,i=e.slice(t+r);f(n,i,e);return}f(e,``,e)}function f(e,t,i){switch(e){case`event`:l=t;break;case`data`:c=`${c}${t}
|
|
4
|
+
`;break;case`id`:s=t.includes(`\0`)?void 0:t;break;case`retry`:/^\d+$/.test(t)?r(parseInt(t,10)):n(new qe(`Invalid \`retry\` value: "${t}"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new qe(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:`unknown-field`,field:e,value:t,line:i}));break}}function p(){c.length>0&&t({id:s,event:l||void 0,data:c.endsWith(`
|
|
5
|
+
`)?c.slice(0,-1):c}),s=void 0,c=``,l=``}function m(e={}){a&&e.consume&&d(a),o=!0,s=void 0,c=``,l=``,a=``}return{feed:u,reset:m}}function Ye(e){let t=[],n=``,r=0;for(;r<e.length;){let i=e.indexOf(`\r`,r),a=e.indexOf(`
|
|
6
|
+
`,r),o=-1;if(i!==-1&&a!==-1?o=Math.min(i,a):i===-1?a!==-1&&(o=a):o=i===e.length-1?-1:i,o===-1){n=e.slice(r);break}else{let n=e.slice(r,o);t.push(n),r=o+1,e[r-1]===`\r`&&e[r]===`
|
|
7
|
+
`&&r++}}return[t,n]}var Xe=class extends TransformStream{constructor({onError:e,onRetry:t,onComment:n}={}){let r;super({start(i){r=Je({onEvent:e=>{i.enqueue(e)},onError(t){e===`terminate`?i.error(t):typeof e==`function`&&e(t)},onRetry:t,onComment:n})},transform(e){r.feed(e)}})}},T=({prefix:e,size:t=16,alphabet:n=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator:r=`-`}={})=>{let i=()=>{let e=n.length,r=Array(t);for(let i=0;i<t;i++)r[i]=n[Math.random()*e|0];return r.join(``)};if(e==null)return i;if(n.includes(r))throw new re({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`},Ze=T();function Qe(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.message:JSON.stringify(e)}var $e=/"__proto__"\s*:/,et=/"constructor"\s*:/;function tt(e){let t=JSON.parse(e);return typeof t!=`object`||!t||$e.test(e)===!1&&et.test(e)===!1?t:nt(t)}function nt(e){let t=[e];for(;t.length;){let e=t;t=[];for(let n of e){if(Object.prototype.hasOwnProperty.call(n,`__proto__`)||Object.prototype.hasOwnProperty.call(n,`constructor`)&&Object.prototype.hasOwnProperty.call(n.constructor,`prototype`))throw SyntaxError(`Object contains forbidden prototype property`);for(let e in n){let r=n[e];r&&typeof r==`object`&&t.push(r)}}}return e}function rt(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return tt(e)}finally{Error.stackTraceLimit=t}}var E=Symbol.for(`vercel.ai.validator`);function it(e){return{[E]:!0,validate:e}}function at(e){return typeof e==`object`&&!!e&&E in e&&e[E]===!0&&`validate`in e}function ot(e){return at(e)?e:st(e)}function st(e){return it(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new S({value:t,cause:n.issues})}})}async function ct({value:e,schema:t}){let n=await D({value:e,schema:t});if(!n.success)throw S.wrap({value:e,cause:n.error});return n.value}async function D({value:e,schema:t}){let n=ot(t);try{if(n.validate==null)return{success:!0,value:e,rawValue:e};let t=await n.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:S.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:S.wrap({value:e,cause:t}),rawValue:e}}}async function O({text:e,schema:t}){try{let n=rt(e);return t==null?{success:!0,value:n,rawValue:n}:await D({value:n,schema:t})}catch(t){return{success:!1,error:b.isInstance(t)?t:new b({text:e,cause:t}),rawValue:void 0}}}var lt=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join(`/`)},ut=Symbol(`Let zodToJsonSchema decide on which parser to use`),k={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`},dt=e=>typeof e==`string`?{...k,name:e}:{...k,...e};function A(){return{}}function ft(e,t){var r,i,a;let o={type:`array`};return(r=e.type)?._def&&(a=(i=e.type)?._def)?.typeName!==n.ZodAny&&(o.items=z(e.type._def,{...t,currentPath:[...t.currentPath,`items`]})),e.minLength&&(o.minItems=e.minLength.value),e.maxLength&&(o.maxItems=e.maxLength.value),e.exactLength&&(o.minItems=e.exactLength.value,o.maxItems=e.exactLength.value),o}function pt(e){let t={type:`integer`,format:`int64`};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case`min`:n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case`max`:n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case`multipleOf`:t.multipleOf=n.value;break}return t}function mt(){return{type:`boolean`}}function j(e,t){return z(e.type._def,t)}var ht=(e,t)=>z(e.innerType._def,t);function M(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((n,r)=>M(e,t,n))};switch(r){case`string`:case`format:date-time`:return{type:`string`,format:`date-time`};case`format:date`:return{type:`string`,format:`date`};case`integer`:return gt(e)}}var gt=e=>{let t={type:`integer`,format:`unix-time`};for(let n of e.checks)switch(n.kind){case`min`:t.minimum=n.value;break;case`max`:t.maximum=n.value;break}return t};function _t(e,t){return{...z(e.innerType._def,t),default:e.defaultValue()}}function vt(e,t){return t.effectStrategy===`input`?z(e.schema._def,t):A()}function yt(e){return{type:`string`,enum:Array.from(e.values)}}var bt=e=>`type`in e&&e.type===`string`?!1:`allOf`in e;function xt(e,t){let n=[z(e.left._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]}),z(e.right._def,{...t,currentPath:[...t.currentPath,`allOf`,`1`]})].filter(e=>!!e),r=[];return n.forEach(e=>{if(bt(e))r.push(...e.allOf);else{let t=e;if(`additionalProperties`in e&&e.additionalProperties===!1){let{additionalProperties:n,...r}=e;t=r}r.push(t)}}),r.length?{allOf:r}:void 0}function St(e){let t=typeof e.value;return t!==`bigint`&&t!==`number`&&t!==`boolean`&&t!==`string`?{type:Array.isArray(e.value)?`array`:`object`}:{type:t===`bigint`?`integer`:t,const:e.value}}var N=void 0,P={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:()=>(N===void 0&&(N=RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)),N),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 Ct(e,t){let n={type:`string`};if(e.checks)for(let r of e.checks)switch(r.kind){case`min`:n.minLength=typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value;break;case`max`:n.maxLength=typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value;break;case`email`:switch(t.emailStrategy){case`format:email`:I(n,`email`,r.message,t);break;case`format:idn-email`:I(n,`idn-email`,r.message,t);break;case`pattern:zod`:L(n,P.email,r.message,t);break}break;case`url`:I(n,`uri`,r.message,t);break;case`uuid`:I(n,`uuid`,r.message,t);break;case`regex`:L(n,r.regex,r.message,t);break;case`cuid`:L(n,P.cuid,r.message,t);break;case`cuid2`:L(n,P.cuid2,r.message,t);break;case`startsWith`:L(n,RegExp(`^${F(r.value,t)}`),r.message,t);break;case`endsWith`:L(n,RegExp(`${F(r.value,t)}$`),r.message,t);break;case`datetime`:I(n,`date-time`,r.message,t);break;case`date`:I(n,`date`,r.message,t);break;case`time`:I(n,`time`,r.message,t);break;case`duration`:I(n,`duration`,r.message,t);break;case`length`:n.minLength=typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value,n.maxLength=typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value;break;case`includes`:L(n,RegExp(F(r.value,t)),r.message,t);break;case`ip`:r.version!==`v6`&&I(n,`ipv4`,r.message,t),r.version!==`v4`&&I(n,`ipv6`,r.message,t);break;case`base64url`:L(n,P.base64url,r.message,t);break;case`jwt`:L(n,P.jwt,r.message,t);break;case`cidr`:r.version!==`v6`&&L(n,P.ipv4Cidr,r.message,t),r.version!==`v4`&&L(n,P.ipv6Cidr,r.message,t);break;case`emoji`:L(n,P.emoji(),r.message,t);break;case`ulid`:L(n,P.ulid,r.message,t);break;case`base64`:switch(t.base64Strategy){case`format:binary`:I(n,`binary`,r.message,t);break;case`contentEncoding:base64`:n.contentEncoding=`base64`;break;case`pattern:zod`:L(n,P.base64,r.message,t);break}break;case`nanoid`:L(n,P.nanoid,r.message,t);case`toLowerCase`:case`toUpperCase`:case`trim`:break;default:}return n}function F(e,t){return t.patternStrategy===`escape`?Tt(e):e}var wt=new Set(`ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789`);function Tt(e){let t=``;for(let n=0;n<e.length;n++)wt.has(e[n])||(t+=`\\`),t+=e[n];return t}function I(e,t,n,r){var i;e.format||(i=e.anyOf)?.some(e=>e.format)?(e.anyOf||=[],e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...n&&r.errorMessages&&{errorMessage:{format:n}}})):e.format=t}function L(e,t,n,r){var i;e.pattern||(i=e.allOf)?.some(e=>e.pattern)?(e.allOf||=[],e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:Et(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):e.pattern=Et(t,r)}function Et(e,t){var n;if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes(`i`),m:e.flags.includes(`m`),s:e.flags.includes(`s`)},i=r.i?e.source.toLowerCase():e.source,a=``,o=!1,s=!1,c=!1;for(let e=0;e<i.length;e++){if(o){a+=i[e],o=!1;continue}if(r.i){if(s){if(i[e].match(/[a-z]/)){c?(a+=i[e],a+=`${i[e-2]}-${i[e]}`.toUpperCase(),c=!1):i[e+1]===`-`&&(n=i[e+2])?.match(/[a-z]/)?(a+=i[e],c=!0):a+=`${i[e]}${i[e].toUpperCase()}`;continue}}else if(i[e].match(/[a-z]/)){a+=`[${i[e]}${i[e].toUpperCase()}]`;continue}}if(r.m){if(i[e]===`^`){a+=`(^|(?<=[\r
|
|
8
|
+
]))`;continue}else if(i[e]===`$`){a+=`($|(?=[\r
|
|
9
|
+
]))`;continue}}if(r.s&&i[e]===`.`){a+=s?`${i[e]}\r
|
|
10
|
+
`:`[${i[e]}\r
|
|
11
|
+
]`;continue}a+=i[e],i[e]===`\\`?o=!0:s&&i[e]===`]`?s=!1:!s&&i[e]===`[`&&(s=!0)}try{new RegExp(a)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join(`/`)} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return a}function Dt(e,t){var r,i,a,o,s,c;let l={type:`object`,additionalProperties:(r=z(e.valueType._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]}))??t.allowedAdditionalProperties};if((i=e.keyType)?._def.typeName===n.ZodString&&(a=e.keyType._def.checks)?.length){let{type:n,...r}=Ct(e.keyType._def,t);return{...l,propertyNames:r}}else if((o=e.keyType)?._def.typeName===n.ZodEnum)return{...l,propertyNames:{enum:e.keyType._def.values}};else if((s=e.keyType)?._def.typeName===n.ZodBranded&&e.keyType._def.type._def.typeName===n.ZodString&&(c=e.keyType._def.type._def.checks)?.length){let{type:n,...r}=j(e.keyType._def,t);return{...l,propertyNames:r}}return l}function Ot(e,t){if(t.mapStrategy===`record`)return Dt(e,t);let n=z(e.keyType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`0`]})||A(),r=z(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`1`]})||A();return{type:`array`,maxItems:125,items:{type:`array`,items:[n,r],minItems:2,maxItems:2}}}function kt(e){let t=e.values,n=Object.keys(e.values).filter(e=>typeof t[t[e]]!=`number`),r=n.map(e=>t[e]),i=Array.from(new Set(r.map(e=>typeof e)));return{type:i.length===1?i[0]===`string`?`string`:`number`:[`string`,`number`],enum:r}}function At(){return{not:A()}}function jt(){return{type:`null`}}var R={ZodString:`string`,ZodNumber:`number`,ZodBigInt:`integer`,ZodBoolean:`boolean`,ZodNull:`null`};function Mt(e,t){let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(e=>e._def.typeName in R&&(!e._def.checks||!e._def.checks.length))){let e=n.reduce((e,t)=>{let n=R[t._def.typeName];return n&&!e.includes(n)?[...e,n]:e},[]);return{type:e.length>1?e:e[0]}}else if(n.every(e=>e._def.typeName===`ZodLiteral`&&!e.description)){let e=n.reduce((e,t)=>{let n=typeof t._def.value;switch(n){case`string`:case`number`:case`boolean`:return[...e,n];case`bigint`:return[...e,`integer`];case`object`:if(t._def.value===null)return[...e,`null`];case`symbol`:case`undefined`:case`function`:default:return e}},[]);if(e.length===n.length){let t=e.filter((e,t,n)=>n.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:n.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(n.every(e=>e._def.typeName===`ZodEnum`))return{type:`string`,enum:n.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return Nt(e,t)}var Nt=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((e,n)=>z(e._def,{...t,currentPath:[...t.currentPath,`anyOf`,`${n}`]})).filter(e=>!!e&&(!t.strictUnions||typeof e==`object`&&Object.keys(e).length>0));return n.length?{anyOf:n}:void 0};function Pt(e,t){if([`ZodString`,`ZodNumber`,`ZodBigInt`,`ZodBoolean`,`ZodNull`].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[R[e.innerType._def.typeName],`null`]};let n=z(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`0`]});return n&&{anyOf:[n,{type:`null`}]}}function Ft(e){let t={type:`number`};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case`int`:t.type=`integer`;break;case`min`:n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case`max`:n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case`multipleOf`:t.multipleOf=n.value;break}return t}function It(e,t){let n={type:`object`,properties:{}},r=[],i=e.shape();for(let e in i){let a=i[e];if(a===void 0||a._def===void 0)continue;let o=Rt(a),s=z(a._def,{...t,currentPath:[...t.currentPath,`properties`,e],propertyPath:[...t.currentPath,`properties`,e]});if(s===void 0)continue;n.properties[e]=s,o||r.push(e)}r.length&&(n.required=r);let a=Lt(e,t);return a!==void 0&&(n.additionalProperties=a),n}function Lt(e,t){if(e.catchall._def.typeName!==`ZodNever`)return z(e.catchall._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]});switch(e.unknownKeys){case`passthrough`:return t.allowedAdditionalProperties;case`strict`:return t.rejectedAdditionalProperties;case`strip`:return t.removeAdditionalStrategy===`strict`?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function Rt(e){try{return e.isOptional()}catch{return!0}}var zt=(e,t)=>{var n;if(t.currentPath.toString()===(n=t.propertyPath)?.toString())return z(e.innerType._def,t);let r=z(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`1`]});return r?{anyOf:[{not:A()},r]}:A()},Bt=(e,t)=>{if(t.pipeStrategy===`input`)return z(e.in._def,t);if(t.pipeStrategy===`output`)return z(e.out._def,t);let n=z(e.in._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]}),r=z(e.out._def,{...t,currentPath:[...t.currentPath,`allOf`,n?`1`:`0`]});return{allOf:[n,r].filter(e=>e!==void 0)}};function Vt(e,t){return z(e.type._def,t)}function Ht(e,t){let n=z(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`]}),r={type:`array`,uniqueItems:!0,items:n};return e.minSize&&(r.minItems=e.minSize.value),e.maxSize&&(r.maxItems=e.maxSize.value),r}function Ut(e,t){return e.rest?{type:`array`,minItems:e.items.length,items:e.items.map((e,n)=>z(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[]),additionalItems:z(e.rest._def,{...t,currentPath:[...t.currentPath,`additionalItems`]})}:{type:`array`,minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,n)=>z(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[])}}function Wt(){return{not:A()}}function Gt(){return A()}var Kt=(e,t)=>z(e.innerType._def,t),qt=(e,t,r)=>{switch(t){case n.ZodString:return Ct(e,r);case n.ZodNumber:return Ft(e);case n.ZodObject:return It(e,r);case n.ZodBigInt:return pt(e);case n.ZodBoolean:return mt();case n.ZodDate:return M(e,r);case n.ZodUndefined:return Wt();case n.ZodNull:return jt();case n.ZodArray:return ft(e,r);case n.ZodUnion:case n.ZodDiscriminatedUnion:return Mt(e,r);case n.ZodIntersection:return xt(e,r);case n.ZodTuple:return Ut(e,r);case n.ZodRecord:return Dt(e,r);case n.ZodLiteral:return St(e);case n.ZodEnum:return yt(e);case n.ZodNativeEnum:return kt(e);case n.ZodNullable:return Pt(e,r);case n.ZodOptional:return zt(e,r);case n.ZodMap:return Ot(e,r);case n.ZodSet:return Ht(e,r);case n.ZodLazy:return()=>e.getter()._def;case n.ZodPromise:return Vt(e,r);case n.ZodNaN:case n.ZodNever:return At();case n.ZodEffects:return vt(e,r);case n.ZodAny:return A();case n.ZodUnknown:return Gt();case n.ZodDefault:return _t(e,r);case n.ZodBranded:return j(e,r);case n.ZodReadonly:return Kt(e,r);case n.ZodCatch:return ht(e,r);case n.ZodPipeline:return Bt(e,r);case n.ZodFunction:case n.ZodVoid:case n.ZodSymbol:return;default:return(e=>void 0)(t)}};function z(e,t,n=!1){var r;let i=t.seen.get(e);if(t.override){let a=(r=t.override)?.call(t,e,t,i,n);if(a!==ut)return a}if(i&&!n){let e=Jt(i,t);if(e!==void 0)return e}let a={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,a);let o=qt(e,e.typeName,t),s=typeof o==`function`?z(o(),t):o;if(s&&Yt(e,t,s),t.postProcess){let n=t.postProcess(s,e,t);return a.jsonSchema=s,n}return a.jsonSchema=s,s}var Jt=(e,t)=>{switch(t.$refStrategy){case`root`:return{$ref:e.path.join(`/`)};case`relative`:return{$ref:lt(t.currentPath,e.path)};case`none`:case`seen`:return e.path.length<t.currentPath.length&&e.path.every((e,n)=>t.currentPath[n]===e)?(console.warn(`Recursive reference detected at ${t.currentPath.join(`/`)}! Defaulting to any`),A()):t.$refStrategy===`seen`?A():void 0}},Yt=(e,t,n)=>(e.description&&(n.description=e.description),n),Xt=e=>{let t=dt(e),n=t.name===void 0?t.basePath:[...t.basePath,t.definitionPath,t.name];return{...t,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([e,n])=>[n._def,{def:n._def,path:[...t.basePath,t.definitionPath,e],jsonSchema:void 0}]))}},Zt=(e,t)=>{var n;let r=Xt(t),i=typeof t==`object`&&t.definitions?Object.entries(t.definitions).reduce((e,[t,n])=>{var i;return{...e,[t]:(i=z(n._def,{...r,currentPath:[...r.basePath,r.definitionPath,t]},!0))??A()}},{}):void 0,a=typeof t==`string`?t:t?.nameStrategy===`title`?void 0:t?.name,o=(n=z(e._def,a===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,a]},!1))??A(),s=typeof t==`object`&&t.name!==void 0&&t.nameStrategy===`title`?t.name:void 0;s!==void 0&&(o.title=s);let c=a===void 0?i?{...o,[r.definitionPath]:i}:o:{$ref:[...r.$refStrategy===`relative`?[]:r.basePath,r.definitionPath,a].join(`/`),[r.definitionPath]:{...i,[a]:o}};return c.$schema=`http://json-schema.org/draft-07/schema#`,c},Qt=Zt;function $t(e,t){var n;let r=(n=t?.useReferences)??!1;return V(Qt(e,{$refStrategy:r?`root`:`none`}),{validate:async t=>{let n=await e.safeParseAsync(t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}function en(t,n){var r;let i=(r=n?.useReferences)??!1,a=e.toJSONSchema(t,{target:`draft-7`,io:`output`,reused:i?`ref`:`inline`});return V(a,{validate:async n=>{let r=await e.safeParseAsync(t,n);return r.success?{success:!0,value:r.data}:{success:!1,error:r.error}}})}function tn(e){return`_zod`in e}function nn(e,t){return tn(e)?en(e,t):$t(e,t)}var B=Symbol.for(`vercel.ai.schema`);function V(e,{validate:t}={}){return{[B]:!0,_type:void 0,[E]:!0,jsonSchema:e,validate:t}}function rn(e){return typeof e==`object`&&!!e&&B in e&&e[B]===!0&&`jsonSchema`in e&&`validate`in e}function an(e){return e==null?V({properties:{},additionalProperties:!1}):rn(e)?e:nn(e)}var{btoa:on,atob:sn}=globalThis,cn=Object.defineProperty,ln=(e,t)=>{for(var n in t)cn(e,n,{get:t[n],enumerable:!0})},un=`AI_NoOutputSpecifiedError`,dn=`vercel.ai.error.${un}`,fn=Symbol.for(dn),pn;pn=fn;var mn=`AI_InvalidArgumentError`,hn=`vercel.ai.error.${mn}`,gn=Symbol.for(hn),_n;_n=gn;var vn=`AI_InvalidStreamPartError`,yn=`vercel.ai.error.${vn}`,bn=Symbol.for(yn),xn;xn=bn;var Sn=`AI_InvalidToolInputError`,Cn=`vercel.ai.error.${Sn}`,wn=Symbol.for(Cn),Tn;Tn=wn;var En=`AI_MCPClientError`,Dn=`vercel.ai.error.${En}`,On=Symbol.for(Dn),kn;kn=On;var An=`AI_NoImageGeneratedError`,jn=`vercel.ai.error.${An}`,Mn=Symbol.for(jn),Nn;Nn=Mn;var Pn=`AI_NoObjectGeneratedError`,Fn=`vercel.ai.error.${Pn}`,In=Symbol.for(Fn),Ln,H=class extends s{constructor({message:e=`No object generated.`,cause:t,text:n,response:r,usage:i,finishReason:a}){super({name:Pn,message:e,cause:t}),this[Ln]=!0,this.text=n,this.response=r,this.usage=i,this.finishReason=a}static isInstance(e){return s.hasMarker(e,Fn)}};Ln=In;var Rn=`AI_NoOutputGeneratedError`,zn=`vercel.ai.error.${Rn}`,Bn=Symbol.for(zn),Vn;Vn=Bn;var Hn=`AI_NoSuchToolError`,Un=`vercel.ai.error.${Hn}`,Wn=Symbol.for(Un),Gn;Gn=Wn;var Kn=`AI_ToolCallRepairError`,qn=`vercel.ai.error.${Kn}`,Jn=Symbol.for(qn),Yn;Yn=Jn;var Xn=`AI_InvalidDataContentError`,Zn=`vercel.ai.error.${Xn}`,Qn=Symbol.for(Zn),$n;$n=Qn;var er=`AI_InvalidMessageRoleError`,tr=`vercel.ai.error.${er}`,nr=Symbol.for(tr),rr;rr=nr;var ir=`AI_MessageConversionError`,ar=`vercel.ai.error.${ir}`,or=Symbol.for(ar),sr,cr=class extends s{constructor({originalMessage:e,message:t}){super({name:ir,message:t}),this[sr]=!0,this.originalMessage=e}static isInstance(e){return s.hasMarker(e,ar)}};sr=or;var lr=`AI_DownloadError`,ur=`vercel.ai.error.${lr}`,dr=Symbol.for(ur),fr;fr=dr;var pr=`AI_RetryError`,mr=`vercel.ai.error.${pr}`,hr=Symbol.for(mr),gr;gr=hr;var _r=t.union([t.string(),t.instanceof(Uint8Array),t.instanceof(ArrayBuffer),t.custom(e=>{var t,n;return(n=(t=globalThis.Buffer)?.isBuffer(e))??!1},{message:`Must be a Buffer`})]),U=t.lazy(()=>t.union([t.null(),t.string(),t.number(),t.boolean(),t.record(t.string(),U),t.array(U)])),W=t.record(t.string(),t.record(t.string(),U)),vr=t.object({type:t.literal(`text`),text:t.string(),providerOptions:W.optional()}),yr=t.object({type:t.literal(`image`),image:t.union([_r,t.instanceof(URL)]),mediaType:t.string().optional(),providerOptions:W.optional()}),br=t.object({type:t.literal(`file`),data:t.union([_r,t.instanceof(URL)]),filename:t.string().optional(),mediaType:t.string(),providerOptions:W.optional()}),xr=t.object({type:t.literal(`reasoning`),text:t.string(),providerOptions:W.optional()}),Sr=t.object({type:t.literal(`tool-call`),toolCallId:t.string(),toolName:t.string(),input:t.unknown(),providerOptions:W.optional(),providerExecuted:t.boolean().optional()}),Cr=t.discriminatedUnion(`type`,[t.object({type:t.literal(`text`),value:t.string()}),t.object({type:t.literal(`json`),value:U}),t.object({type:t.literal(`error-text`),value:t.string()}),t.object({type:t.literal(`error-json`),value:U}),t.object({type:t.literal(`content`),value:t.array(t.union([t.object({type:t.literal(`text`),text:t.string()}),t.object({type:t.literal(`media`),data:t.string(),mediaType:t.string()})]))})]),wr=t.object({type:t.literal(`tool-result`),toolCallId:t.string(),toolName:t.string(),output:Cr,providerOptions:W.optional()}),Tr=t.object({role:t.literal(`system`),content:t.string(),providerOptions:W.optional()}),Er=t.object({role:t.literal(`user`),content:t.union([t.string(),t.array(t.union([vr,yr,br]))]),providerOptions:W.optional()}),Dr=t.object({role:t.literal(`assistant`),content:t.union([t.string(),t.array(t.union([vr,br,xr,Sr,wr]))]),providerOptions:W.optional()}),Or=t.object({role:t.literal(`tool`),content:t.array(wr),providerOptions:W.optional()});t.union([Tr,Er,Dr,Or]);function kr({output:e,tool:t,errorMode:n}){return n===`text`?{type:`error-text`,value:v(e)}:n===`json`?{type:`error-json`,value:Ar(e)}:t?.toModelOutput?t.toModelOutput(e):typeof e==`string`?{type:`text`,value:e}:{type:`json`,value:Ar(e)}}function Ar(e){return e===void 0?null:e}T({prefix:`aitxt`,size:24}),t.union([t.strictObject({type:t.literal(`text-start`),id:t.string(),providerMetadata:W.optional()}),t.strictObject({type:t.literal(`text-delta`),id:t.string(),delta:t.string(),providerMetadata:W.optional()}),t.strictObject({type:t.literal(`text-end`),id:t.string(),providerMetadata:W.optional()}),t.strictObject({type:t.literal(`error`),errorText:t.string()}),t.strictObject({type:t.literal(`tool-input-start`),toolCallId:t.string(),toolName:t.string(),providerExecuted:t.boolean().optional(),dynamic:t.boolean().optional()}),t.strictObject({type:t.literal(`tool-input-delta`),toolCallId:t.string(),inputTextDelta:t.string()}),t.strictObject({type:t.literal(`tool-input-available`),toolCallId:t.string(),toolName:t.string(),input:t.unknown(),providerExecuted:t.boolean().optional(),providerMetadata:W.optional(),dynamic:t.boolean().optional()}),t.strictObject({type:t.literal(`tool-input-error`),toolCallId:t.string(),toolName:t.string(),input:t.unknown(),providerExecuted:t.boolean().optional(),providerMetadata:W.optional(),dynamic:t.boolean().optional(),errorText:t.string()}),t.strictObject({type:t.literal(`tool-output-available`),toolCallId:t.string(),output:t.unknown(),providerExecuted:t.boolean().optional(),dynamic:t.boolean().optional(),preliminary:t.boolean().optional()}),t.strictObject({type:t.literal(`tool-output-error`),toolCallId:t.string(),errorText:t.string(),providerExecuted:t.boolean().optional(),dynamic:t.boolean().optional()}),t.strictObject({type:t.literal(`reasoning`),text:t.string(),providerMetadata:W.optional()}),t.strictObject({type:t.literal(`reasoning-start`),id:t.string(),providerMetadata:W.optional()}),t.strictObject({type:t.literal(`reasoning-delta`),id:t.string(),delta:t.string(),providerMetadata:W.optional()}),t.strictObject({type:t.literal(`reasoning-end`),id:t.string(),providerMetadata:W.optional()}),t.strictObject({type:t.literal(`reasoning-part-finish`)}),t.strictObject({type:t.literal(`source-url`),sourceId:t.string(),url:t.string(),title:t.string().optional(),providerMetadata:W.optional()}),t.strictObject({type:t.literal(`source-document`),sourceId:t.string(),mediaType:t.string(),title:t.string(),filename:t.string().optional(),providerMetadata:W.optional()}),t.strictObject({type:t.literal(`file`),url:t.string(),mediaType:t.string(),providerMetadata:W.optional()}),t.strictObject({type:t.string().startsWith(`data-`),id:t.string().optional(),data:t.unknown(),transient:t.boolean().optional()}),t.strictObject({type:t.literal(`start-step`)}),t.strictObject({type:t.literal(`finish-step`)}),t.strictObject({type:t.literal(`start`),messageId:t.string().optional(),messageMetadata:t.unknown().optional()}),t.strictObject({type:t.literal(`finish`),messageMetadata:t.unknown().optional()}),t.strictObject({type:t.literal(`abort`)}),t.strictObject({type:t.literal(`message-metadata`),messageMetadata:t.unknown()})]);function jr(e){return e.type.startsWith(`data-`)}function Mr(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;let n={...e};for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];if(i===void 0)continue;let a=r in e?e[r]:void 0,o=typeof i==`object`&&!!i&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp),s=typeof a==`object`&&!!a&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp);o&&s?n[r]=Mr(a,i):n[r]=i}return n}function Nr(e){let t=[`ROOT`],n=-1,r=null;function i(e,i,a){switch(e){case`"`:n=i,t.pop(),t.push(a),t.push(`INSIDE_STRING`);break;case`f`:case`t`:case`n`:n=i,r=i,t.pop(),t.push(a),t.push(`INSIDE_LITERAL`);break;case`-`:t.pop(),t.push(a),t.push(`INSIDE_NUMBER`);break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n=i,t.pop(),t.push(a),t.push(`INSIDE_NUMBER`);break;case`{`:n=i,t.pop(),t.push(a),t.push(`INSIDE_OBJECT_START`);break;case`[`:n=i,t.pop(),t.push(a),t.push(`INSIDE_ARRAY_START`);break}}function a(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_OBJECT_AFTER_COMMA`);break;case`}`:n=r,t.pop();break}}function o(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=r,t.pop();break}}for(let s=0;s<e.length;s++){let c=e[s],l=t[t.length-1];switch(l){case`ROOT`:i(c,s,`FINISH`);break;case`INSIDE_OBJECT_START`:switch(c){case`"`:t.pop(),t.push(`INSIDE_OBJECT_KEY`);break;case`}`:n=s,t.pop();break}break;case`INSIDE_OBJECT_AFTER_COMMA`:switch(c){case`"`:t.pop(),t.push(`INSIDE_OBJECT_KEY`);break}break;case`INSIDE_OBJECT_KEY`:switch(c){case`"`:t.pop(),t.push(`INSIDE_OBJECT_AFTER_KEY`);break}break;case`INSIDE_OBJECT_AFTER_KEY`:switch(c){case`:`:t.pop(),t.push(`INSIDE_OBJECT_BEFORE_VALUE`);break}break;case`INSIDE_OBJECT_BEFORE_VALUE`:i(c,s,`INSIDE_OBJECT_AFTER_VALUE`);break;case`INSIDE_OBJECT_AFTER_VALUE`:a(c,s);break;case`INSIDE_STRING`:switch(c){case`"`:t.pop(),n=s;break;case`\\`:t.push(`INSIDE_STRING_ESCAPE`);break;default:n=s}break;case`INSIDE_ARRAY_START`:switch(c){case`]`:n=s,t.pop();break;default:n=s,i(c,s,`INSIDE_ARRAY_AFTER_VALUE`);break}break;case`INSIDE_ARRAY_AFTER_VALUE`:switch(c){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=s,t.pop();break;default:n=s;break}break;case`INSIDE_ARRAY_AFTER_COMMA`:i(c,s,`INSIDE_ARRAY_AFTER_VALUE`);break;case`INSIDE_STRING_ESCAPE`:t.pop(),n=s;break;case`INSIDE_NUMBER`:switch(c){case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n=s;break;case`e`:case`E`:case`-`:case`.`:break;case`,`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&o(c,s),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&a(c,s);break;case`}`:t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&a(c,s);break;case`]`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&o(c,s);break;default:t.pop();break}break;case`INSIDE_LITERAL`:{let i=e.substring(r,s+1);!`false`.startsWith(i)&&!`true`.startsWith(i)&&!`null`.startsWith(i)?(t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`?a(c,s):t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&o(c,s)):n=s;break}}}let s=e.slice(0,n+1);for(let n=t.length-1;n>=0;n--){let i=t[n];switch(i){case`INSIDE_STRING`:s+=`"`;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`:s+=`}`;break;case`INSIDE_ARRAY_START`:case`INSIDE_ARRAY_AFTER_COMMA`:case`INSIDE_ARRAY_AFTER_VALUE`:s+=`]`;break;case`INSIDE_LITERAL`:{let t=e.substring(r,e.length);`true`.startsWith(t)?s+=`true`.slice(t.length):`false`.startsWith(t)?s+=`false`.slice(t.length):`null`.startsWith(t)&&(s+=`null`.slice(t.length))}}}return s}async function Pr(e){if(e===void 0)return{value:void 0,state:`undefined-input`};let t=await O({text:e});return t.success?{value:t.value,state:`successful-parse`}:(t=await O({text:Nr(e)}),t.success?{value:t.value,state:`repaired-parse`}:{value:void 0,state:`failed-parse`})}function G(e){return e.type.startsWith(`tool-`)}function Fr(e){return e.type===`dynamic-tool`}function Ir(e){return G(e)||Fr(e)}function K(e){return e.type.split(`-`).slice(1).join(`-`)}function Lr({lastMessage:e,messageId:t}){return{message:e?.role===`assistant`?e:{id:t,metadata:void 0,role:`assistant`,parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function Rr({stream:e,messageMetadataSchema:t,dataPartSchemas:n,runUpdateMessageJob:r,onError:i,onToolCall:a,onData:o}){return e.pipeThrough(new TransformStream({async transform(e,s){await r(async({state:r,write:c})=>{var l,u,d,f;function p(e){let t=r.message.parts.filter(G),n=t.find(t=>t.toolCallId===e);if(n==null)throw Error(`tool-output-error must be preceded by a tool-input-available`);return n}function m(e){let t=r.message.parts.filter(e=>e.type===`dynamic-tool`),n=t.find(t=>t.toolCallId===e);if(n==null)throw Error(`tool-output-error must be preceded by a tool-input-available`);return n}function h(e){var t;let n=r.message.parts.find(t=>G(t)&&t.toolCallId===e.toolCallId),i=e,a=n;n==null?r.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,input:i.input,output:i.output,rawInput:i.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted,preliminary:i.preliminary,...i.providerMetadata==null?{}:{callProviderMetadata:i.providerMetadata}}):(n.state=e.state,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=i.rawInput,a.preliminary=i.preliminary,a.providerExecuted=(t=i.providerExecuted)??n.providerExecuted,i.providerMetadata!=null&&n.state===`input-available`&&(n.callProviderMetadata=i.providerMetadata))}function g(e){var t;let n=r.message.parts.find(t=>t.type===`dynamic-tool`&&t.toolCallId===e.toolCallId),i=e,a=n;n==null?r.message.parts.push({type:`dynamic-tool`,toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:i.input,output:i.output,errorText:i.errorText,preliminary:i.preliminary,...i.providerMetadata==null?{}:{callProviderMetadata:i.providerMetadata}}):(n.state=e.state,a.toolName=e.toolName,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=(t=i.rawInput)??a.rawInput,a.preliminary=i.preliminary,i.providerMetadata!=null&&n.state===`input-available`&&(n.callProviderMetadata=i.providerMetadata))}async function _(e){if(e!=null){let n=r.message.metadata==null?e:Mr(r.message.metadata,e);t!=null&&await ct({value:n,schema:t}),r.message.metadata=n}}switch(e.type){case`text-start`:{let t={type:`text`,text:``,providerMetadata:e.providerMetadata,state:`streaming`};r.activeTextParts[e.id]=t,r.message.parts.push(t),c();break}case`text-delta`:{let t=r.activeTextParts[e.id];t.text+=e.delta,t.providerMetadata=(l=e.providerMetadata)??t.providerMetadata,c();break}case`text-end`:{let t=r.activeTextParts[e.id];t.state=`done`,t.providerMetadata=(u=e.providerMetadata)??t.providerMetadata,delete r.activeTextParts[e.id],c();break}case`reasoning-start`:{let t={type:`reasoning`,text:``,providerMetadata:e.providerMetadata,state:`streaming`};r.activeReasoningParts[e.id]=t,r.message.parts.push(t),c();break}case`reasoning-delta`:{let t=r.activeReasoningParts[e.id];t.text+=e.delta,t.providerMetadata=(d=e.providerMetadata)??t.providerMetadata,c();break}case`reasoning-end`:{let t=r.activeReasoningParts[e.id];t.providerMetadata=(f=e.providerMetadata)??t.providerMetadata,t.state=`done`,delete r.activeReasoningParts[e.id],c();break}case`file`:r.message.parts.push({type:`file`,mediaType:e.mediaType,url:e.url}),c();break;case`source-url`:r.message.parts.push({type:`source-url`,sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),c();break;case`source-document`:r.message.parts.push({type:`source-document`,sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),c();break;case`tool-input-start`:{let t=r.message.parts.filter(G);r.partialToolCalls[e.toolCallId]={text:``,toolName:e.toolName,index:t.length,dynamic:e.dynamic},e.dynamic?g({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0}):h({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0,providerExecuted:e.providerExecuted}),c();break}case`tool-input-delta`:{let t=r.partialToolCalls[e.toolCallId];t.text+=e.inputTextDelta;let{value:n}=await Pr(t.text);t.dynamic?g({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n}):h({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n}),c();break}case`tool-input-available`:e.dynamic?g({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerMetadata:e.providerMetadata}):h({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}),c(),a&&!e.providerExecuted&&await a({toolCall:e});break;case`tool-input-error`:e.dynamic?g({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:e.input,errorText:e.errorText,providerMetadata:e.providerMetadata}):h({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}),c();break;case`tool-output-available`:if(e.dynamic){let t=m(e.toolCallId);g({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-available`,input:t.input,output:e.output,preliminary:e.preliminary})}else{let t=p(e.toolCallId);h({toolCallId:e.toolCallId,toolName:K(t),state:`output-available`,input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary})}c();break;case`tool-output-error`:if(e.dynamic){let t=m(e.toolCallId);g({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-error`,input:t.input,errorText:e.errorText})}else{let t=p(e.toolCallId);h({toolCallId:e.toolCallId,toolName:K(t),state:`output-error`,input:t.input,rawInput:t.rawInput,errorText:e.errorText})}c();break;case`start-step`:r.message.parts.push({type:`step-start`});break;case`finish-step`:r.activeTextParts={},r.activeReasoningParts={};break;case`start`:e.messageId!=null&&(r.message.id=e.messageId),await _(e.messageMetadata),(e.messageId!=null||e.messageMetadata!=null)&&c();break;case`finish`:await _(e.messageMetadata),e.messageMetadata!=null&&c();break;case`message-metadata`:await _(e.messageMetadata),e.messageMetadata!=null&&c();break;case`error`:i?.(Error(e.errorText));break;default:if(jr(e)){n?.[e.type]!=null&&await ct({value:e.data,schema:n[e.type]});let t=e;if(t.transient){o?.(t);break}let i=t.id==null?void 0:r.message.parts.find(e=>t.type===e.type&&t.id===e.id);i==null?r.message.parts.push(t):i.data=t.data,o?.(t),c()}}s.enqueue(e)})}}))}function zr({messageId:e,originalMessages:t=[],onFinish:n,onError:r,stream:i}){let a=t?.[t.length-1];a?.role===`assistant`?e=a.id:a=void 0;let o=!1,s=i.pipeThrough(new TransformStream({transform(t,n){if(t.type===`start`){let n=t;n.messageId==null&&e!=null&&(n.messageId=e)}t.type===`abort`&&(o=!0),n.enqueue(t)}}));if(n==null)return s;let c=Lr({lastMessage:a?structuredClone(a):void 0,messageId:e??``}),l=async e=>{await e({state:c,write:()=>{}})},u=!1,d=async()=>{if(u||!n)return;u=!0;let e=c.message.id===a?.id;await n({isAborted:o,isContinuation:e,responseMessage:c.message,messages:[...e?t.slice(0,-1):t,c.message]})};return Rr({stream:s,runUpdateMessageJob:l,onError:r}).pipeThrough(new TransformStream({transform(e,t){t.enqueue(e)},async cancel(){await d()},async flush(){await d()}}))}T({prefix:`aitxt`,size:24}),T({prefix:`aiobj`,size:24}),T({prefix:`aiobj`,size:24});var Br={};ln(Br,{object:()=>Hr,text:()=>Vr});var Vr=()=>({type:`text`,responseFormat:{type:`text`},async parsePartial({text:e}){return{partial:e}},async parseOutput({text:e}){return e}}),Hr=({schema:e})=>{let t=an(e);return{type:`object`,responseFormat:{type:`json`,schema:t.jsonSchema},async parsePartial({text:e}){let t=await Pr(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:return{partial:t.value};default:{let e=t.state;throw Error(`Unsupported parse state: ${e}`)}}},async parseOutput({text:e},n){let r=await O({text:e});if(!r.success)throw new H({message:`No object generated: could not parse the response.`,cause:r.error,text:e,response:n.response,usage:n.usage,finishReason:n.finishReason});let i=await D({value:r.value,schema:t});if(!i.success)throw new H({message:`No object generated: response did not match schema.`,cause:i.error,text:e,response:n.response,usage:n.usage,finishReason:n.finishReason});return i.value}}},Ur=`AI_NoSuchProviderError`,Wr=`vercel.ai.error.${Ur}`,Gr=Symbol.for(Wr),Kr;Kr=Gr;var qr=t.looseObject({name:t.string(),version:t.string()}),q=t.looseObject({_meta:t.optional(t.object({}).loose())}),J=q,Jr=t.object({method:t.string(),params:t.optional(q)}),Yr=t.looseObject({experimental:t.optional(t.object({}).loose()),logging:t.optional(t.object({}).loose()),prompts:t.optional(t.looseObject({listChanged:t.optional(t.boolean())})),resources:t.optional(t.looseObject({subscribe:t.optional(t.boolean()),listChanged:t.optional(t.boolean())})),tools:t.optional(t.looseObject({listChanged:t.optional(t.boolean())}))});J.extend({protocolVersion:t.string(),capabilities:Yr,serverInfo:qr,instructions:t.optional(t.string())});var Xr=J.extend({nextCursor:t.optional(t.string())}),Zr=t.object({name:t.string(),description:t.optional(t.string()),inputSchema:t.object({type:t.literal(`object`),properties:t.optional(t.object({}).loose())}).loose()}).loose();Xr.extend({tools:t.array(Zr)});var Qr=t.object({type:t.literal(`text`),text:t.string()}).loose(),$r=t.object({type:t.literal(`image`),data:t.base64(),mimeType:t.string()}).loose(),ei=t.object({uri:t.string(),mimeType:t.optional(t.string())}).loose(),ti=ei.extend({text:t.string()}),ni=ei.extend({blob:t.base64()}),ri=t.object({type:t.literal(`resource`),resource:t.union([ti,ni])}).loose();J.extend({content:t.array(t.union([Qr,$r,ri])),isError:t.boolean().default(!1).optional()}).or(J.extend({toolResult:t.unknown()}));var Y=`2.0`,ii=t.object({jsonrpc:t.literal(Y),id:t.union([t.string(),t.number().int()])}).merge(Jr).strict(),ai=t.object({jsonrpc:t.literal(Y),id:t.union([t.string(),t.number().int()]),result:J}).strict(),oi=t.object({jsonrpc:t.literal(Y),id:t.union([t.string(),t.number().int()]),error:t.object({code:t.number().int(),message:t.string(),data:t.optional(t.unknown())})}).strict(),si=t.object({jsonrpc:t.literal(Y)}).merge(t.object({method:t.string(),params:t.optional(q)})).strict();t.union([ii,si,ai,oi]);function ci(e,t){let n=[];t?.ignoreIncompleteToolCalls&&(e=e.map(e=>({...e,parts:e.parts.filter(e=>!Ir(e)||e.state!==`input-streaming`&&e.state!==`input-available`)})));for(let r of e)switch(r.role){case`system`:{let e=r.parts.filter(e=>e.type===`text`),t=e.reduce((e,t)=>t.providerMetadata==null?e:{...e,...t.providerMetadata},{});n.push({role:`system`,content:e.map(e=>e.text).join(``),...Object.keys(t).length>0?{providerOptions:t}:{}});break}case`user`:n.push({role:`user`,content:r.parts.filter(e=>e.type===`text`||e.type===`file`).map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text,...e.providerMetadata==null?{}:{providerOptions:e.providerMetadata}};case`file`:return{type:`file`,mediaType:e.mediaType,filename:e.filename,data:e.url,...e.providerMetadata==null?{}:{providerOptions:e.providerMetadata}};default:return e}})});break;case`assistant`:if(r.parts!=null){let e=function(){var e,r;if(i.length===0)return;let a=[];for(let n of i)if(n.type===`text`)a.push({type:`text`,text:n.text,...n.providerMetadata==null?{}:{providerOptions:n.providerMetadata}});else if(n.type===`file`)a.push({type:`file`,mediaType:n.mediaType,filename:n.filename,data:n.url});else if(n.type===`reasoning`)a.push({type:`reasoning`,text:n.text,providerOptions:n.providerMetadata});else if(n.type===`dynamic-tool`){let e=n.toolName;n.state!==`input-streaming`&&a.push({type:`tool-call`,toolCallId:n.toolCallId,toolName:e,input:n.input,...n.callProviderMetadata==null?{}:{providerOptions:n.callProviderMetadata}})}else if(G(n)){let i=K(n);n.state!==`input-streaming`&&(a.push({type:`tool-call`,toolCallId:n.toolCallId,toolName:i,input:n.state===`output-error`?(e=n.input)??n.rawInput:n.input,providerExecuted:n.providerExecuted,...n.callProviderMetadata==null?{}:{providerOptions:n.callProviderMetadata}}),n.providerExecuted===!0&&(n.state===`output-available`||n.state===`output-error`)&&a.push({type:`tool-result`,toolCallId:n.toolCallId,toolName:i,output:kr({output:n.state===`output-error`?n.errorText:n.output,tool:(r=t?.tools)?.[i],errorMode:n.state===`output-error`?`json`:`none`})}))}else{let e=n;throw Error(`Unsupported part: ${e}`)}n.push({role:`assistant`,content:a});let o=i.filter(e=>G(e)&&e.providerExecuted!==!0||e.type===`dynamic-tool`);o.length>0&&n.push({role:`tool`,content:o.map(e=>{var n;switch(e.state){case`output-error`:case`output-available`:{let r=e.type===`dynamic-tool`?e.toolName:K(e);return{type:`tool-result`,toolCallId:e.toolCallId,toolName:r,output:kr({output:e.state===`output-error`?e.errorText:e.output,tool:(n=t?.tools)?.[r],errorMode:e.state===`output-error`?`text`:`none`})}}default:return null}}).filter(e=>e!=null)}),i=[]},i=[];for(let t of r.parts)t.type===`text`||t.type===`reasoning`||t.type===`file`||t.type===`dynamic-tool`||G(t)?i.push(t):t.type===`step-start`&&e();e();break}break;default:{let e=r.role;throw new cr({originalMessage:r,message:`Unsupported role: ${e}`})}}return n}var li=t.object({type:t.literal(`text`),text:t.string(),state:t.enum([`streaming`,`done`]).optional(),providerMetadata:W.optional()}),ui=t.object({type:t.literal(`reasoning`),text:t.string(),state:t.enum([`streaming`,`done`]).optional(),providerMetadata:W.optional()}),di=t.object({type:t.literal(`source-url`),sourceId:t.string(),url:t.string(),title:t.string().optional(),providerMetadata:W.optional()}),fi=t.object({type:t.literal(`source-document`),sourceId:t.string(),mediaType:t.string(),title:t.string(),filename:t.string().optional(),providerMetadata:W.optional()}),pi=t.object({type:t.literal(`file`),mediaType:t.string(),filename:t.string().optional(),url:t.string(),providerMetadata:W.optional()}),mi=t.object({type:t.literal(`step-start`)}),hi=t.object({type:t.string().startsWith(`data-`),id:t.string().optional(),data:t.unknown()}),gi=[t.object({type:t.literal(`dynamic-tool`),toolName:t.string(),toolCallId:t.string(),state:t.literal(`input-streaming`),input:t.unknown().optional(),output:t.never().optional(),errorText:t.never().optional()}),t.object({type:t.literal(`dynamic-tool`),toolName:t.string(),toolCallId:t.string(),state:t.literal(`input-available`),input:t.unknown(),output:t.never().optional(),errorText:t.never().optional(),callProviderMetadata:W.optional()}),t.object({type:t.literal(`dynamic-tool`),toolName:t.string(),toolCallId:t.string(),state:t.literal(`output-available`),input:t.unknown(),output:t.unknown(),errorText:t.never().optional(),callProviderMetadata:W.optional(),preliminary:t.boolean().optional()}),t.object({type:t.literal(`dynamic-tool`),toolName:t.string(),toolCallId:t.string(),state:t.literal(`output-error`),input:t.unknown(),output:t.never().optional(),errorText:t.string(),callProviderMetadata:W.optional()})],_i=[t.object({type:t.string().startsWith(`tool-`),toolCallId:t.string(),state:t.literal(`input-streaming`),input:t.unknown().optional(),output:t.never().optional(),errorText:t.never().optional()}),t.object({type:t.string().startsWith(`tool-`),toolCallId:t.string(),state:t.literal(`input-available`),input:t.unknown(),output:t.never().optional(),errorText:t.never().optional(),callProviderMetadata:W.optional()}),t.object({type:t.string().startsWith(`tool-`),toolCallId:t.string(),state:t.literal(`output-available`),input:t.unknown(),output:t.unknown(),errorText:t.never().optional(),callProviderMetadata:W.optional(),preliminary:t.boolean().optional()}),t.object({type:t.string().startsWith(`tool-`),toolCallId:t.string(),state:t.literal(`output-error`),input:t.unknown(),output:t.never().optional(),errorText:t.string(),callProviderMetadata:W.optional()})];t.object({id:t.string(),role:t.enum([`system`,`user`,`assistant`]),metadata:t.unknown().optional(),parts:t.array(t.union([li,ui,di,fi,pi,mi,hi,...gi,..._i]))});function vi({execute:e,onError:t=Qe,originalMessages:n,onFinish:r,generateId:i=Ze}){let a,o=[],s=new ReadableStream({start(e){a=e}});function c(e){try{a.enqueue(e)}catch{}}try{let n=e({writer:{write(e){c(e)},merge(e){o.push((async()=>{let t=e.getReader();for(;;){let{done:e,value:n}=await t.read();if(e)break;c(n)}})().catch(e=>{c({type:`error`,errorText:t(e)})}))},onError:t}});n&&o.push(n.catch(e=>{c({type:`error`,errorText:t(e)})}))}catch(e){c({type:`error`,errorText:t(e)})}let l=new Promise(async e=>{for(;o.length>0;)await o.shift();e()});return l.finally(()=>{try{a.close()}catch{}}),zr({stream:s,messageId:i(),originalMessages:n,onFinish:r,onError:t})}const yi=`x-blink-stream-response-format`,bi=`BLINK_API_SERVER_URL`;var xi=e=>{let t=e.split(`/`);return t[0]===``&&t.shift(),t},Si=e=>{let{groups:t,path:n}=Ci(e),r=xi(n);return wi(r,t)},Ci=e=>{let t=[];return e=e.replace(/\{[^}]+\}/g,(e,n)=>{let r=`@${n}`;return t.push([r,e]),r}),{groups:t,path:e}},wi=(e,t)=>{for(let n=t.length-1;n>=0;n--){let[r]=t[n];for(let i=e.length-1;i>=0;i--)if(e[i].includes(r)){e[i]=e[i].replace(r,t[n][1]);break}}return e},X={},Ti=(e,t)=>{if(e===`*`)return`*`;let n=e.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(n){let r=`${e}#${t}`;return X[r]||(n[2]?X[r]=t&&t[0]!==`:`&&t[0]!==`*`?[r,n[1],RegExp(`^${n[2]}(?=/${t})`)]:[e,n[1],RegExp(`^${n[2]}$`)]:X[r]=[e,n[1],!0]),X[r]}return null},Z=(e,t)=>{try{return t(e)}catch{return e.replace(/(?:%[0-9A-Fa-f]{2})+/g,e=>{try{return t(e)}catch{return e}})}},Ei=e=>Z(e,decodeURI),Di=e=>{let t=e.url,n=t.indexOf(`/`,t.indexOf(`:`)+4),r=n;for(;r<t.length;r++){let e=t.charCodeAt(r);if(e===37){let e=t.indexOf(`?`,r),i=t.slice(n,e===-1?void 0:e);return Ei(i.includes(`%25`)?i.replace(/%25/g,`%2525`):i)}else if(e===63)break}return t.slice(n,r)},Oi=e=>{let t=Di(e);return t.length>1&&t.at(-1)===`/`?t.slice(0,-1):t},ki=(e,t,...n)=>(n.length&&(t=ki(t,...n)),`${e?.[0]===`/`?``:`/`}${e}${t===`/`?``:`${e?.at(-1)===`/`?``:`/`}${t?.[0]===`/`?t.slice(1):t}`}`),Ai=e=>{if(e.charCodeAt(e.length-1)!==63||!e.includes(`:`))return null;let t=e.split(`/`),n=[],r=``;return t.forEach(e=>{if(e!==``&&!/\:/.test(e))r+=`/`+e;else if(/\:/.test(e))if(/\?/.test(e)){n.length===0&&r===``?n.push(`/`):n.push(r);let t=e.replace(`?`,``);r+=`/`+t,n.push(r)}else r+=`/`+e}),n.filter((e,t,n)=>n.indexOf(e)===t)},Q=e=>/[%+]/.test(e)?(e.indexOf(`+`)!==-1&&(e=e.replace(/\+/g,` `)),e.indexOf(`%`)===-1?e:Z(e,$)):e,ji=(e,t,n)=>{let r;if(!n&&t&&!/[%+]/.test(t)){let n=e.indexOf(`?${t}`,8);for(n===-1&&(n=e.indexOf(`&${t}`,8));n!==-1;){let r=e.charCodeAt(n+t.length+1);if(r===61){let r=n+t.length+2,i=e.indexOf(`&`,r);return Q(e.slice(r,i===-1?void 0:i))}else if(r==38||isNaN(r))return``;n=e.indexOf(`&${t}`,n+1)}if(r=/[%+]/.test(e),!r)return}let i={};r??=/[%+]/.test(e);let a=e.indexOf(`?`,8);for(;a!==-1;){let t=e.indexOf(`&`,a+1),o=e.indexOf(`=`,a);o>t&&t!==-1&&(o=-1);let s=e.slice(a+1,o===-1?t===-1?void 0:t:o);if(r&&(s=Q(s)),a=t,s===``)continue;let c;o===-1?c=``:(c=e.slice(o+1,t===-1?void 0:t),r&&(c=Q(c))),n?(i[s]&&Array.isArray(i[s])||(i[s]=[]),i[s].push(c)):i[s]??=c}return t?i[t]:i},Mi=ji,Ni=(e,t)=>ji(e,t,!0),$=decodeURIComponent,Pi=/^[\w!#$%&'*.^`|~+-]+$/,Fi=/^[ !#-:<-[\]-~]*$/,Ii=(e,t)=>{if(t&&e.indexOf(t)===-1)return{};let n=e.trim().split(`;`),r={};for(let e of n){e=e.trim();let n=e.indexOf(`=`);if(n===-1)continue;let i=e.substring(0,n).trim();if(t&&t!==i||!Pi.test(i))continue;let a=e.substring(n+1).trim();if(a.startsWith(`"`)&&a.endsWith(`"`)&&(a=a.slice(1,-1)),Fi.test(a)&&(r[i]=a.indexOf(`%`)===-1?a:Z(a,$),t))break}return r},Li=(e,t,n={})=>{let r=`${e}=${t}`;if(e.startsWith(`__Secure-`)&&!n.secure)throw Error(`__Secure- Cookie must have Secure attributes`);if(e.startsWith(`__Host-`)){if(!n.secure)throw Error(`__Host- Cookie must have Secure attributes`);if(n.path!==`/`)throw Error(`__Host- Cookie must have Path attributes with "/"`);if(n.domain)throw Error(`__Host- Cookie must not have Domain attributes`)}if(n&&typeof n.maxAge==`number`&&n.maxAge>=0){if(n.maxAge>3456e4)throw Error(`Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.`);r+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!==`host`&&(r+=`; Domain=${n.domain}`),n.path&&(r+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw Error(`Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite&&(r+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(r+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw Error(`Partitioned Cookie must have Secure attributes`);r+=`; Partitioned`}return r},Ri=(e,t,n)=>(t=encodeURIComponent(t),Li(e,t,n));export{f as APICallError,bi as APIServerURLEnvironmentVariable,_ as EmptyResponseBodyError,Xe as EventSourceParserStream,re as InvalidArgumentError,ce as InvalidPromptError,pe as InvalidResponseDataError,b as JSONParseError,yi as StreamResponseFormatHeader,Le as TooManyEmbeddingValuesForCallError,S as TypeValidationError,Ke as UnsupportedFunctionalityError,Ai as checkOptionalParameter,ci as convertToModelMessages,vi as createUIMessageStream,$ as decodeURIComponent_,Di as getPath,Oi as getPathNoStrict,Ti as getPattern,Mi as getQueryParam,Ni as getQueryParams,K as getToolName,G as isToolUIPart,ki as mergePath,Ii as parse,Ri as serialize,xi as splitPath,Si as splitRoutingPath,Z as tryDecode};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`zod/v4`);c=s(c);let l=require(`zod/v3`);l=s(l);var u=`vercel.ai.error`,d=Symbol.for(u),f,p=class e extends Error{constructor({name:e,message:t,cause:n}){super(t),this[f]=!0,this.name=e,this.cause=n}static isInstance(t){return e.hasMarker(t,u)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};f=d;var m=p,h=`AI_APICallError`,g=`vercel.ai.error.${h}`,_=Symbol.for(g),ee,te=class extends m{constructor({message:e,url:t,requestBodyValues:n,statusCode:r,responseHeaders:i,responseBody:a,cause:o,isRetryable:s=r!=null&&(r===408||r===409||r===429||r>=500),data:c}){super({name:h,message:e,cause:o}),this[ee]=!0,this.url=t,this.requestBodyValues=n,this.statusCode=r,this.responseHeaders=i,this.responseBody=a,this.isRetryable=s,this.data=c}static isInstance(e){return m.hasMarker(e,g)}};ee=_;var ne=`AI_EmptyResponseBodyError`,v=`vercel.ai.error.${ne}`,re=Symbol.for(v),y,ie=class extends m{constructor({message:e=`Empty response body`}={}){super({name:ne,message:e}),this[y]=!0}static isInstance(e){return m.hasMarker(e,v)}};y=re;function b(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.message:JSON.stringify(e)}var ae=`AI_InvalidArgumentError`,oe=`vercel.ai.error.${ae}`,se=Symbol.for(oe),ce,le=class extends m{constructor({message:e,cause:t,argument:n}){super({name:ae,message:e,cause:t}),this[ce]=!0,this.argument=n}static isInstance(e){return m.hasMarker(e,oe)}};ce=se;var ue=`AI_InvalidPromptError`,de=`vercel.ai.error.${ue}`,fe=Symbol.for(de),pe,me=class extends m{constructor({prompt:e,message:t,cause:n}){super({name:ue,message:`Invalid prompt: ${t}`,cause:n}),this[pe]=!0,this.prompt=e}static isInstance(e){return m.hasMarker(e,de)}};pe=fe;var he=`AI_InvalidResponseDataError`,ge=`vercel.ai.error.${he}`,_e=Symbol.for(ge),ve,ye=class extends m{constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:he,message:t}),this[ve]=!0,this.data=e}static isInstance(e){return m.hasMarker(e,ge)}};ve=_e;var be=`AI_JSONParseError`,xe=`vercel.ai.error.${be}`,Se=Symbol.for(xe),Ce,x=class extends m{constructor({text:e,cause:t}){super({name:be,message:`JSON parsing failed: Text: ${e}.
|
|
2
|
+
Error message: ${b(t)}`,cause:t}),this[Ce]=!0,this.text=e}static isInstance(e){return m.hasMarker(e,xe)}};Ce=Se;var we=`AI_LoadAPIKeyError`,Te=`vercel.ai.error.${we}`,Ee=Symbol.for(Te),De;De=Ee;var Oe=`AI_LoadSettingError`,ke=`vercel.ai.error.${Oe}`,Ae=Symbol.for(ke),je;je=Ae;var Me=`AI_NoContentGeneratedError`,Ne=`vercel.ai.error.${Me}`,Pe=Symbol.for(Ne),Fe;Fe=Pe;var Ie=`AI_NoSuchModelError`,Le=`vercel.ai.error.${Ie}`,Re=Symbol.for(Le),ze;ze=Re;var Be=`AI_TooManyEmbeddingValuesForCallError`,Ve=`vercel.ai.error.${Be}`,He=Symbol.for(Ve),S,Ue=class extends m{constructor(e){super({name:Be,message:`Too many values for a single embedding call. The ${e.provider} model "${e.modelId}" can only embed up to ${e.maxEmbeddingsPerCall} values per call, but ${e.values.length} values were provided.`}),this[S]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return m.hasMarker(e,Ve)}};S=He;var C=`AI_TypeValidationError`,We=`vercel.ai.error.${C}`,Ge=Symbol.for(We),Ke,qe=class e extends m{constructor({value:e,cause:t}){super({name:C,message:`Type validation failed: Value: ${JSON.stringify(e)}.
|
|
3
|
+
Error message: ${b(t)}`,cause:t}),this[Ke]=!0,this.value=e}static isInstance(e){return m.hasMarker(e,We)}static wrap({value:t,cause:n}){return e.isInstance(n)&&n.value===t?n:new e({value:t,cause:n})}};Ke=Ge;var w=qe,Je=`AI_UnsupportedFunctionalityError`,Ye=`vercel.ai.error.${Je}`,Xe=Symbol.for(Ye),Ze,Qe=class extends m{constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:Je,message:t}),this[Ze]=!0,this.functionality=e}static isInstance(e){return m.hasMarker(e,Ye)}};Ze=Xe;var $e=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}};function T(e){}function et(e){if(typeof e==`function`)throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:t=T,onError:n=T,onRetry:r=T,onComment:i}=e,a=``,o=!0,s,c=``,l=``;function u(e){let t=o?e.replace(/^\xEF\xBB\xBF/,``):e,[n,r]=tt(`${a}${t}`);for(let e of n)d(e);a=r,o=!1}function d(e){if(e===``){p();return}if(e.startsWith(`:`)){i&&i(e.slice(e.startsWith(`: `)?2:1));return}let t=e.indexOf(`:`);if(t!==-1){let n=e.slice(0,t),r=e[t+1]===` `?2:1,i=e.slice(t+r);f(n,i,e);return}f(e,``,e)}function f(e,t,i){switch(e){case`event`:l=t;break;case`data`:c=`${c}${t}
|
|
4
|
+
`;break;case`id`:s=t.includes(`\0`)?void 0:t;break;case`retry`:/^\d+$/.test(t)?r(parseInt(t,10)):n(new $e(`Invalid \`retry\` value: "${t}"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new $e(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:`unknown-field`,field:e,value:t,line:i}));break}}function p(){c.length>0&&t({id:s,event:l||void 0,data:c.endsWith(`
|
|
5
|
+
`)?c.slice(0,-1):c}),s=void 0,c=``,l=``}function m(e={}){a&&e.consume&&d(a),o=!0,s=void 0,c=``,l=``,a=``}return{feed:u,reset:m}}function tt(e){let t=[],n=``,r=0;for(;r<e.length;){let i=e.indexOf(`\r`,r),a=e.indexOf(`
|
|
6
|
+
`,r),o=-1;if(i!==-1&&a!==-1?o=Math.min(i,a):i===-1?a!==-1&&(o=a):o=i===e.length-1?-1:i,o===-1){n=e.slice(r);break}else{let n=e.slice(r,o);t.push(n),r=o+1,e[r-1]===`\r`&&e[r]===`
|
|
7
|
+
`&&r++}}return[t,n]}var nt=class extends TransformStream{constructor({onError:e,onRetry:t,onComment:n}={}){let r;super({start(i){r=et({onEvent:e=>{i.enqueue(e)},onError(t){e===`terminate`?i.error(t):typeof e==`function`&&e(t)},onRetry:t,onComment:n})},transform(e){r.feed(e)}})}},E=({prefix:e,size:t=16,alphabet:n=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator:r=`-`}={})=>{let i=()=>{let e=n.length,r=Array(t);for(let i=0;i<t;i++)r[i]=n[Math.random()*e|0];return r.join(``)};if(e==null)return i;if(n.includes(r))throw new le({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`},rt=E();function it(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.message:JSON.stringify(e)}var at=/"__proto__"\s*:/,ot=/"constructor"\s*:/;function st(e){let t=JSON.parse(e);return typeof t!=`object`||!t||at.test(e)===!1&&ot.test(e)===!1?t:ct(t)}function ct(e){let t=[e];for(;t.length;){let e=t;t=[];for(let n of e){if(Object.prototype.hasOwnProperty.call(n,`__proto__`)||Object.prototype.hasOwnProperty.call(n,`constructor`)&&Object.prototype.hasOwnProperty.call(n.constructor,`prototype`))throw SyntaxError(`Object contains forbidden prototype property`);for(let e in n){let r=n[e];r&&typeof r==`object`&&t.push(r)}}}return e}function lt(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return st(e)}finally{Error.stackTraceLimit=t}}var D=Symbol.for(`vercel.ai.validator`);function ut(e){return{[D]:!0,validate:e}}function dt(e){return typeof e==`object`&&!!e&&D in e&&e[D]===!0&&`validate`in e}function ft(e){return dt(e)?e:pt(e)}function pt(e){return ut(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new w({value:t,cause:n.issues})}})}async function O({value:e,schema:t}){let n=await k({value:e,schema:t});if(!n.success)throw w.wrap({value:e,cause:n.error});return n.value}async function k({value:e,schema:t}){let n=ft(t);try{if(n.validate==null)return{success:!0,value:e,rawValue:e};let t=await n.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:w.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:w.wrap({value:e,cause:t}),rawValue:e}}}async function A({text:e,schema:t}){try{let n=lt(e);return t==null?{success:!0,value:n,rawValue:n}:await k({value:n,schema:t})}catch(t){return{success:!1,error:x.isInstance(t)?t:new x({text:e,cause:t}),rawValue:void 0}}}var mt=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join(`/`)},ht=Symbol(`Let zodToJsonSchema decide on which parser to use`),j={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`},gt=e=>typeof e==`string`?{...j,name:e}:{...j,...e};function M(){return{}}function _t(e,t){var n,r,i;let a={type:`array`};return(n=e.type)?._def&&(i=(r=e.type)?._def)?.typeName!==l.ZodFirstPartyTypeKind.ZodAny&&(a.items=z(e.type._def,{...t,currentPath:[...t.currentPath,`items`]})),e.minLength&&(a.minItems=e.minLength.value),e.maxLength&&(a.maxItems=e.maxLength.value),e.exactLength&&(a.minItems=e.exactLength.value,a.maxItems=e.exactLength.value),a}function vt(e){let t={type:`integer`,format:`int64`};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case`min`:n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case`max`:n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case`multipleOf`:t.multipleOf=n.value;break}return t}function yt(){return{type:`boolean`}}function bt(e,t){return z(e.type._def,t)}var xt=(e,t)=>z(e.innerType._def,t);function St(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((n,r)=>St(e,t,n))};switch(r){case`string`:case`format:date-time`:return{type:`string`,format:`date-time`};case`format:date`:return{type:`string`,format:`date`};case`integer`:return Ct(e)}}var Ct=e=>{let t={type:`integer`,format:`unix-time`};for(let n of e.checks)switch(n.kind){case`min`:t.minimum=n.value;break;case`max`:t.maximum=n.value;break}return t};function wt(e,t){return{...z(e.innerType._def,t),default:e.defaultValue()}}function Tt(e,t){return t.effectStrategy===`input`?z(e.schema._def,t):M()}function Et(e){return{type:`string`,enum:Array.from(e.values)}}var Dt=e=>`type`in e&&e.type===`string`?!1:`allOf`in e;function Ot(e,t){let n=[z(e.left._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]}),z(e.right._def,{...t,currentPath:[...t.currentPath,`allOf`,`1`]})].filter(e=>!!e),r=[];return n.forEach(e=>{if(Dt(e))r.push(...e.allOf);else{let t=e;if(`additionalProperties`in e&&e.additionalProperties===!1){let{additionalProperties:n,...r}=e;t=r}r.push(t)}}),r.length?{allOf:r}:void 0}function kt(e){let t=typeof e.value;return t!==`bigint`&&t!==`number`&&t!==`boolean`&&t!==`string`?{type:Array.isArray(e.value)?`array`:`object`}:{type:t===`bigint`?`integer`:t,const:e.value}}var N=void 0,P={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:()=>(N===void 0&&(N=RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)),N),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 At(e,t){let n={type:`string`};if(e.checks)for(let r of e.checks)switch(r.kind){case`min`:n.minLength=typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value;break;case`max`:n.maxLength=typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value;break;case`email`:switch(t.emailStrategy){case`format:email`:I(n,`email`,r.message,t);break;case`format:idn-email`:I(n,`idn-email`,r.message,t);break;case`pattern:zod`:L(n,P.email,r.message,t);break}break;case`url`:I(n,`uri`,r.message,t);break;case`uuid`:I(n,`uuid`,r.message,t);break;case`regex`:L(n,r.regex,r.message,t);break;case`cuid`:L(n,P.cuid,r.message,t);break;case`cuid2`:L(n,P.cuid2,r.message,t);break;case`startsWith`:L(n,RegExp(`^${F(r.value,t)}`),r.message,t);break;case`endsWith`:L(n,RegExp(`${F(r.value,t)}$`),r.message,t);break;case`datetime`:I(n,`date-time`,r.message,t);break;case`date`:I(n,`date`,r.message,t);break;case`time`:I(n,`time`,r.message,t);break;case`duration`:I(n,`duration`,r.message,t);break;case`length`:n.minLength=typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value,n.maxLength=typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value;break;case`includes`:L(n,RegExp(F(r.value,t)),r.message,t);break;case`ip`:r.version!==`v6`&&I(n,`ipv4`,r.message,t),r.version!==`v4`&&I(n,`ipv6`,r.message,t);break;case`base64url`:L(n,P.base64url,r.message,t);break;case`jwt`:L(n,P.jwt,r.message,t);break;case`cidr`:r.version!==`v6`&&L(n,P.ipv4Cidr,r.message,t),r.version!==`v4`&&L(n,P.ipv6Cidr,r.message,t);break;case`emoji`:L(n,P.emoji(),r.message,t);break;case`ulid`:L(n,P.ulid,r.message,t);break;case`base64`:switch(t.base64Strategy){case`format:binary`:I(n,`binary`,r.message,t);break;case`contentEncoding:base64`:n.contentEncoding=`base64`;break;case`pattern:zod`:L(n,P.base64,r.message,t);break}break;case`nanoid`:L(n,P.nanoid,r.message,t);case`toLowerCase`:case`toUpperCase`:case`trim`:break;default:}return n}function F(e,t){return t.patternStrategy===`escape`?Mt(e):e}var jt=new Set(`ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789`);function Mt(e){let t=``;for(let n=0;n<e.length;n++)jt.has(e[n])||(t+=`\\`),t+=e[n];return t}function I(e,t,n,r){var i;e.format||(i=e.anyOf)?.some(e=>e.format)?(e.anyOf||=[],e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...n&&r.errorMessages&&{errorMessage:{format:n}}})):e.format=t}function L(e,t,n,r){var i;e.pattern||(i=e.allOf)?.some(e=>e.pattern)?(e.allOf||=[],e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:Nt(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):e.pattern=Nt(t,r)}function Nt(e,t){var n;if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes(`i`),m:e.flags.includes(`m`),s:e.flags.includes(`s`)},i=r.i?e.source.toLowerCase():e.source,a=``,o=!1,s=!1,c=!1;for(let e=0;e<i.length;e++){if(o){a+=i[e],o=!1;continue}if(r.i){if(s){if(i[e].match(/[a-z]/)){c?(a+=i[e],a+=`${i[e-2]}-${i[e]}`.toUpperCase(),c=!1):i[e+1]===`-`&&(n=i[e+2])?.match(/[a-z]/)?(a+=i[e],c=!0):a+=`${i[e]}${i[e].toUpperCase()}`;continue}}else if(i[e].match(/[a-z]/)){a+=`[${i[e]}${i[e].toUpperCase()}]`;continue}}if(r.m){if(i[e]===`^`){a+=`(^|(?<=[\r
|
|
8
|
+
]))`;continue}else if(i[e]===`$`){a+=`($|(?=[\r
|
|
9
|
+
]))`;continue}}if(r.s&&i[e]===`.`){a+=s?`${i[e]}\r
|
|
10
|
+
`:`[${i[e]}\r
|
|
11
|
+
]`;continue}a+=i[e],i[e]===`\\`?o=!0:s&&i[e]===`]`?s=!1:!s&&i[e]===`[`&&(s=!0)}try{new RegExp(a)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join(`/`)} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return a}function Pt(e,t){var n,r,i,a,o,s;let c={type:`object`,additionalProperties:(n=z(e.valueType._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]}))??t.allowedAdditionalProperties};if((r=e.keyType)?._def.typeName===l.ZodFirstPartyTypeKind.ZodString&&(i=e.keyType._def.checks)?.length){let{type:n,...r}=At(e.keyType._def,t);return{...c,propertyNames:r}}else if((a=e.keyType)?._def.typeName===l.ZodFirstPartyTypeKind.ZodEnum)return{...c,propertyNames:{enum:e.keyType._def.values}};else if((o=e.keyType)?._def.typeName===l.ZodFirstPartyTypeKind.ZodBranded&&e.keyType._def.type._def.typeName===l.ZodFirstPartyTypeKind.ZodString&&(s=e.keyType._def.type._def.checks)?.length){let{type:n,...r}=bt(e.keyType._def,t);return{...c,propertyNames:r}}return c}function Ft(e,t){if(t.mapStrategy===`record`)return Pt(e,t);let n=z(e.keyType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`0`]})||M(),r=z(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`1`]})||M();return{type:`array`,maxItems:125,items:{type:`array`,items:[n,r],minItems:2,maxItems:2}}}function It(e){let t=e.values,n=Object.keys(e.values).filter(e=>typeof t[t[e]]!=`number`),r=n.map(e=>t[e]),i=Array.from(new Set(r.map(e=>typeof e)));return{type:i.length===1?i[0]===`string`?`string`:`number`:[`string`,`number`],enum:r}}function Lt(){return{not:M()}}function Rt(){return{type:`null`}}var R={ZodString:`string`,ZodNumber:`number`,ZodBigInt:`integer`,ZodBoolean:`boolean`,ZodNull:`null`};function zt(e,t){let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(e=>e._def.typeName in R&&(!e._def.checks||!e._def.checks.length))){let e=n.reduce((e,t)=>{let n=R[t._def.typeName];return n&&!e.includes(n)?[...e,n]:e},[]);return{type:e.length>1?e:e[0]}}else if(n.every(e=>e._def.typeName===`ZodLiteral`&&!e.description)){let e=n.reduce((e,t)=>{let n=typeof t._def.value;switch(n){case`string`:case`number`:case`boolean`:return[...e,n];case`bigint`:return[...e,`integer`];case`object`:if(t._def.value===null)return[...e,`null`];case`symbol`:case`undefined`:case`function`:default:return e}},[]);if(e.length===n.length){let t=e.filter((e,t,n)=>n.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:n.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(n.every(e=>e._def.typeName===`ZodEnum`))return{type:`string`,enum:n.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return Bt(e,t)}var Bt=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((e,n)=>z(e._def,{...t,currentPath:[...t.currentPath,`anyOf`,`${n}`]})).filter(e=>!!e&&(!t.strictUnions||typeof e==`object`&&Object.keys(e).length>0));return n.length?{anyOf:n}:void 0};function Vt(e,t){if([`ZodString`,`ZodNumber`,`ZodBigInt`,`ZodBoolean`,`ZodNull`].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[R[e.innerType._def.typeName],`null`]};let n=z(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`0`]});return n&&{anyOf:[n,{type:`null`}]}}function Ht(e){let t={type:`number`};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case`int`:t.type=`integer`;break;case`min`:n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case`max`:n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case`multipleOf`:t.multipleOf=n.value;break}return t}function Ut(e,t){let n={type:`object`,properties:{}},r=[],i=e.shape();for(let e in i){let a=i[e];if(a===void 0||a._def===void 0)continue;let o=Gt(a),s=z(a._def,{...t,currentPath:[...t.currentPath,`properties`,e],propertyPath:[...t.currentPath,`properties`,e]});if(s===void 0)continue;n.properties[e]=s,o||r.push(e)}r.length&&(n.required=r);let a=Wt(e,t);return a!==void 0&&(n.additionalProperties=a),n}function Wt(e,t){if(e.catchall._def.typeName!==`ZodNever`)return z(e.catchall._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]});switch(e.unknownKeys){case`passthrough`:return t.allowedAdditionalProperties;case`strict`:return t.rejectedAdditionalProperties;case`strip`:return t.removeAdditionalStrategy===`strict`?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function Gt(e){try{return e.isOptional()}catch{return!0}}var Kt=(e,t)=>{var n;if(t.currentPath.toString()===(n=t.propertyPath)?.toString())return z(e.innerType._def,t);let r=z(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`1`]});return r?{anyOf:[{not:M()},r]}:M()},qt=(e,t)=>{if(t.pipeStrategy===`input`)return z(e.in._def,t);if(t.pipeStrategy===`output`)return z(e.out._def,t);let n=z(e.in._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]}),r=z(e.out._def,{...t,currentPath:[...t.currentPath,`allOf`,n?`1`:`0`]});return{allOf:[n,r].filter(e=>e!==void 0)}};function Jt(e,t){return z(e.type._def,t)}function Yt(e,t){let n=z(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`]}),r={type:`array`,uniqueItems:!0,items:n};return e.minSize&&(r.minItems=e.minSize.value),e.maxSize&&(r.maxItems=e.maxSize.value),r}function Xt(e,t){return e.rest?{type:`array`,minItems:e.items.length,items:e.items.map((e,n)=>z(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[]),additionalItems:z(e.rest._def,{...t,currentPath:[...t.currentPath,`additionalItems`]})}:{type:`array`,minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,n)=>z(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[])}}function Zt(){return{not:M()}}function Qt(){return M()}var $t=(e,t)=>z(e.innerType._def,t),en=(e,t,n)=>{switch(t){case l.ZodFirstPartyTypeKind.ZodString:return At(e,n);case l.ZodFirstPartyTypeKind.ZodNumber:return Ht(e);case l.ZodFirstPartyTypeKind.ZodObject:return Ut(e,n);case l.ZodFirstPartyTypeKind.ZodBigInt:return vt(e);case l.ZodFirstPartyTypeKind.ZodBoolean:return yt();case l.ZodFirstPartyTypeKind.ZodDate:return St(e,n);case l.ZodFirstPartyTypeKind.ZodUndefined:return Zt();case l.ZodFirstPartyTypeKind.ZodNull:return Rt();case l.ZodFirstPartyTypeKind.ZodArray:return _t(e,n);case l.ZodFirstPartyTypeKind.ZodUnion:case l.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:return zt(e,n);case l.ZodFirstPartyTypeKind.ZodIntersection:return Ot(e,n);case l.ZodFirstPartyTypeKind.ZodTuple:return Xt(e,n);case l.ZodFirstPartyTypeKind.ZodRecord:return Pt(e,n);case l.ZodFirstPartyTypeKind.ZodLiteral:return kt(e);case l.ZodFirstPartyTypeKind.ZodEnum:return Et(e);case l.ZodFirstPartyTypeKind.ZodNativeEnum:return It(e);case l.ZodFirstPartyTypeKind.ZodNullable:return Vt(e,n);case l.ZodFirstPartyTypeKind.ZodOptional:return Kt(e,n);case l.ZodFirstPartyTypeKind.ZodMap:return Ft(e,n);case l.ZodFirstPartyTypeKind.ZodSet:return Yt(e,n);case l.ZodFirstPartyTypeKind.ZodLazy:return()=>e.getter()._def;case l.ZodFirstPartyTypeKind.ZodPromise:return Jt(e,n);case l.ZodFirstPartyTypeKind.ZodNaN:case l.ZodFirstPartyTypeKind.ZodNever:return Lt();case l.ZodFirstPartyTypeKind.ZodEffects:return Tt(e,n);case l.ZodFirstPartyTypeKind.ZodAny:return M();case l.ZodFirstPartyTypeKind.ZodUnknown:return Qt();case l.ZodFirstPartyTypeKind.ZodDefault:return wt(e,n);case l.ZodFirstPartyTypeKind.ZodBranded:return bt(e,n);case l.ZodFirstPartyTypeKind.ZodReadonly:return $t(e,n);case l.ZodFirstPartyTypeKind.ZodCatch:return xt(e,n);case l.ZodFirstPartyTypeKind.ZodPipeline:return qt(e,n);case l.ZodFirstPartyTypeKind.ZodFunction:case l.ZodFirstPartyTypeKind.ZodVoid:case l.ZodFirstPartyTypeKind.ZodSymbol:return;default:return(e=>void 0)(t)}};function z(e,t,n=!1){var r;let i=t.seen.get(e);if(t.override){let a=(r=t.override)?.call(t,e,t,i,n);if(a!==ht)return a}if(i&&!n){let e=tn(i,t);if(e!==void 0)return e}let a={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,a);let o=en(e,e.typeName,t),s=typeof o==`function`?z(o(),t):o;if(s&&nn(e,t,s),t.postProcess){let n=t.postProcess(s,e,t);return a.jsonSchema=s,n}return a.jsonSchema=s,s}var tn=(e,t)=>{switch(t.$refStrategy){case`root`:return{$ref:e.path.join(`/`)};case`relative`:return{$ref:mt(t.currentPath,e.path)};case`none`:case`seen`:return e.path.length<t.currentPath.length&&e.path.every((e,n)=>t.currentPath[n]===e)?(console.warn(`Recursive reference detected at ${t.currentPath.join(`/`)}! Defaulting to any`),M()):t.$refStrategy===`seen`?M():void 0}},nn=(e,t,n)=>(e.description&&(n.description=e.description),n),rn=e=>{let t=gt(e),n=t.name===void 0?t.basePath:[...t.basePath,t.definitionPath,t.name];return{...t,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([e,n])=>[n._def,{def:n._def,path:[...t.basePath,t.definitionPath,e],jsonSchema:void 0}]))}},an=(e,t)=>{var n;let r=rn(t),i=typeof t==`object`&&t.definitions?Object.entries(t.definitions).reduce((e,[t,n])=>{var i;return{...e,[t]:(i=z(n._def,{...r,currentPath:[...r.basePath,r.definitionPath,t]},!0))??M()}},{}):void 0,a=typeof t==`string`?t:t?.nameStrategy===`title`?void 0:t?.name,o=(n=z(e._def,a===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,a]},!1))??M(),s=typeof t==`object`&&t.name!==void 0&&t.nameStrategy===`title`?t.name:void 0;s!==void 0&&(o.title=s);let c=a===void 0?i?{...o,[r.definitionPath]:i}:o:{$ref:[...r.$refStrategy===`relative`?[]:r.basePath,r.definitionPath,a].join(`/`),[r.definitionPath]:{...i,[a]:o}};return c.$schema=`http://json-schema.org/draft-07/schema#`,c},on=an;function sn(e,t){var n;let r=(n=t?.useReferences)??!1;return V(on(e,{$refStrategy:r?`root`:`none`}),{validate:async t=>{let n=await e.safeParseAsync(t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}function cn(e,t){var n;let r=(n=t?.useReferences)??!1,i=c.toJSONSchema(e,{target:`draft-7`,io:`output`,reused:r?`ref`:`inline`});return V(i,{validate:async t=>{let n=await c.safeParseAsync(e,t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}function ln(e){return`_zod`in e}function un(e,t){return ln(e)?cn(e,t):sn(e,t)}var B=Symbol.for(`vercel.ai.schema`);function V(e,{validate:t}={}){return{[B]:!0,_type:void 0,[D]:!0,jsonSchema:e,validate:t}}function dn(e){return typeof e==`object`&&!!e&&B in e&&e[B]===!0&&`jsonSchema`in e&&`validate`in e}function fn(e){return e==null?V({properties:{},additionalProperties:!1}):dn(e)?e:un(e)}var{btoa:pn,atob:mn}=globalThis,hn=Object.defineProperty,gn=(e,t)=>{for(var n in t)hn(e,n,{get:t[n],enumerable:!0})},_n=`AI_NoOutputSpecifiedError`,vn=`vercel.ai.error.${_n}`,yn=Symbol.for(vn),bn;bn=yn;var xn=`AI_InvalidArgumentError`,Sn=`vercel.ai.error.${xn}`,Cn=Symbol.for(Sn),wn;wn=Cn;var Tn=`AI_InvalidStreamPartError`,En=`vercel.ai.error.${Tn}`,Dn=Symbol.for(En),On;On=Dn;var kn=`AI_InvalidToolInputError`,An=`vercel.ai.error.${kn}`,jn=Symbol.for(An),Mn;Mn=jn;var Nn=`AI_MCPClientError`,Pn=`vercel.ai.error.${Nn}`,Fn=Symbol.for(Pn),In;In=Fn;var Ln=`AI_NoImageGeneratedError`,Rn=`vercel.ai.error.${Ln}`,zn=Symbol.for(Rn),Bn;Bn=zn;var Vn=`AI_NoObjectGeneratedError`,Hn=`vercel.ai.error.${Vn}`,Un=Symbol.for(Hn),Wn,Gn=class extends m{constructor({message:e=`No object generated.`,cause:t,text:n,response:r,usage:i,finishReason:a}){super({name:Vn,message:e,cause:t}),this[Wn]=!0,this.text=n,this.response=r,this.usage=i,this.finishReason=a}static isInstance(e){return m.hasMarker(e,Hn)}};Wn=Un;var Kn=`AI_NoOutputGeneratedError`,qn=`vercel.ai.error.${Kn}`,Jn=Symbol.for(qn),Yn;Yn=Jn;var Xn=`AI_NoSuchToolError`,Zn=`vercel.ai.error.${Xn}`,Qn=Symbol.for(Zn),$n;$n=Qn;var er=`AI_ToolCallRepairError`,tr=`vercel.ai.error.${er}`,nr=Symbol.for(tr),rr;rr=nr;var ir=`AI_InvalidDataContentError`,ar=`vercel.ai.error.${ir}`,or=Symbol.for(ar),sr;sr=or;var cr=`AI_InvalidMessageRoleError`,lr=`vercel.ai.error.${cr}`,ur=Symbol.for(lr),dr;dr=ur;var fr=`AI_MessageConversionError`,H=`vercel.ai.error.${fr}`,pr=Symbol.for(H),mr,hr=class extends m{constructor({originalMessage:e,message:t}){super({name:fr,message:t}),this[mr]=!0,this.originalMessage=e}static isInstance(e){return m.hasMarker(e,H)}};mr=pr;var gr=`AI_DownloadError`,_r=`vercel.ai.error.${gr}`,vr=Symbol.for(_r),yr;yr=vr;var br=`AI_RetryError`,xr=`vercel.ai.error.${br}`,Sr=Symbol.for(xr),Cr;Cr=Sr;var wr=c.z.union([c.z.string(),c.z.instanceof(Uint8Array),c.z.instanceof(ArrayBuffer),c.z.custom(e=>{var t,n;return(n=(t=globalThis.Buffer)?.isBuffer(e))??!1},{message:`Must be a Buffer`})]),U=c.z.lazy(()=>c.z.union([c.z.null(),c.z.string(),c.z.number(),c.z.boolean(),c.z.record(c.z.string(),U),c.z.array(U)])),W=c.z.record(c.z.string(),c.z.record(c.z.string(),U)),Tr=c.z.object({type:c.z.literal(`text`),text:c.z.string(),providerOptions:W.optional()}),Er=c.z.object({type:c.z.literal(`image`),image:c.z.union([wr,c.z.instanceof(URL)]),mediaType:c.z.string().optional(),providerOptions:W.optional()}),Dr=c.z.object({type:c.z.literal(`file`),data:c.z.union([wr,c.z.instanceof(URL)]),filename:c.z.string().optional(),mediaType:c.z.string(),providerOptions:W.optional()}),Or=c.z.object({type:c.z.literal(`reasoning`),text:c.z.string(),providerOptions:W.optional()}),kr=c.z.object({type:c.z.literal(`tool-call`),toolCallId:c.z.string(),toolName:c.z.string(),input:c.z.unknown(),providerOptions:W.optional(),providerExecuted:c.z.boolean().optional()}),Ar=c.z.discriminatedUnion(`type`,[c.z.object({type:c.z.literal(`text`),value:c.z.string()}),c.z.object({type:c.z.literal(`json`),value:U}),c.z.object({type:c.z.literal(`error-text`),value:c.z.string()}),c.z.object({type:c.z.literal(`error-json`),value:U}),c.z.object({type:c.z.literal(`content`),value:c.z.array(c.z.union([c.z.object({type:c.z.literal(`text`),text:c.z.string()}),c.z.object({type:c.z.literal(`media`),data:c.z.string(),mediaType:c.z.string()})]))})]),jr=c.z.object({type:c.z.literal(`tool-result`),toolCallId:c.z.string(),toolName:c.z.string(),output:Ar,providerOptions:W.optional()}),Mr=c.z.object({role:c.z.literal(`system`),content:c.z.string(),providerOptions:W.optional()}),Nr=c.z.object({role:c.z.literal(`user`),content:c.z.union([c.z.string(),c.z.array(c.z.union([Tr,Er,Dr]))]),providerOptions:W.optional()}),Pr=c.z.object({role:c.z.literal(`assistant`),content:c.z.union([c.z.string(),c.z.array(c.z.union([Tr,Dr,Or,kr,jr]))]),providerOptions:W.optional()}),Fr=c.z.object({role:c.z.literal(`tool`),content:c.z.array(jr),providerOptions:W.optional()}),Ir=c.z.union([Mr,Nr,Pr,Fr]);function Lr({output:e,tool:t,errorMode:n}){return n===`text`?{type:`error-text`,value:b(e)}:n===`json`?{type:`error-json`,value:Rr(e)}:t?.toModelOutput?t.toModelOutput(e):typeof e==`string`?{type:`text`,value:e}:{type:`json`,value:Rr(e)}}function Rr(e){return e===void 0?null:e}var zr=E({prefix:`aitxt`,size:24}),Br=c.z.union([c.z.strictObject({type:c.z.literal(`text-start`),id:c.z.string(),providerMetadata:W.optional()}),c.z.strictObject({type:c.z.literal(`text-delta`),id:c.z.string(),delta:c.z.string(),providerMetadata:W.optional()}),c.z.strictObject({type:c.z.literal(`text-end`),id:c.z.string(),providerMetadata:W.optional()}),c.z.strictObject({type:c.z.literal(`error`),errorText:c.z.string()}),c.z.strictObject({type:c.z.literal(`tool-input-start`),toolCallId:c.z.string(),toolName:c.z.string(),providerExecuted:c.z.boolean().optional(),dynamic:c.z.boolean().optional()}),c.z.strictObject({type:c.z.literal(`tool-input-delta`),toolCallId:c.z.string(),inputTextDelta:c.z.string()}),c.z.strictObject({type:c.z.literal(`tool-input-available`),toolCallId:c.z.string(),toolName:c.z.string(),input:c.z.unknown(),providerExecuted:c.z.boolean().optional(),providerMetadata:W.optional(),dynamic:c.z.boolean().optional()}),c.z.strictObject({type:c.z.literal(`tool-input-error`),toolCallId:c.z.string(),toolName:c.z.string(),input:c.z.unknown(),providerExecuted:c.z.boolean().optional(),providerMetadata:W.optional(),dynamic:c.z.boolean().optional(),errorText:c.z.string()}),c.z.strictObject({type:c.z.literal(`tool-output-available`),toolCallId:c.z.string(),output:c.z.unknown(),providerExecuted:c.z.boolean().optional(),dynamic:c.z.boolean().optional(),preliminary:c.z.boolean().optional()}),c.z.strictObject({type:c.z.literal(`tool-output-error`),toolCallId:c.z.string(),errorText:c.z.string(),providerExecuted:c.z.boolean().optional(),dynamic:c.z.boolean().optional()}),c.z.strictObject({type:c.z.literal(`reasoning`),text:c.z.string(),providerMetadata:W.optional()}),c.z.strictObject({type:c.z.literal(`reasoning-start`),id:c.z.string(),providerMetadata:W.optional()}),c.z.strictObject({type:c.z.literal(`reasoning-delta`),id:c.z.string(),delta:c.z.string(),providerMetadata:W.optional()}),c.z.strictObject({type:c.z.literal(`reasoning-end`),id:c.z.string(),providerMetadata:W.optional()}),c.z.strictObject({type:c.z.literal(`reasoning-part-finish`)}),c.z.strictObject({type:c.z.literal(`source-url`),sourceId:c.z.string(),url:c.z.string(),title:c.z.string().optional(),providerMetadata:W.optional()}),c.z.strictObject({type:c.z.literal(`source-document`),sourceId:c.z.string(),mediaType:c.z.string(),title:c.z.string(),filename:c.z.string().optional(),providerMetadata:W.optional()}),c.z.strictObject({type:c.z.literal(`file`),url:c.z.string(),mediaType:c.z.string(),providerMetadata:W.optional()}),c.z.strictObject({type:c.z.string().startsWith(`data-`),id:c.z.string().optional(),data:c.z.unknown(),transient:c.z.boolean().optional()}),c.z.strictObject({type:c.z.literal(`start-step`)}),c.z.strictObject({type:c.z.literal(`finish-step`)}),c.z.strictObject({type:c.z.literal(`start`),messageId:c.z.string().optional(),messageMetadata:c.z.unknown().optional()}),c.z.strictObject({type:c.z.literal(`finish`),messageMetadata:c.z.unknown().optional()}),c.z.strictObject({type:c.z.literal(`abort`)}),c.z.strictObject({type:c.z.literal(`message-metadata`),messageMetadata:c.z.unknown()})]);function Vr(e){return e.type.startsWith(`data-`)}function Hr(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;let n={...e};for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];if(i===void 0)continue;let a=r in e?e[r]:void 0,o=typeof i==`object`&&!!i&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp),s=typeof a==`object`&&!!a&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp);o&&s?n[r]=Hr(a,i):n[r]=i}return n}function Ur(e){let t=[`ROOT`],n=-1,r=null;function i(e,i,a){switch(e){case`"`:n=i,t.pop(),t.push(a),t.push(`INSIDE_STRING`);break;case`f`:case`t`:case`n`:n=i,r=i,t.pop(),t.push(a),t.push(`INSIDE_LITERAL`);break;case`-`:t.pop(),t.push(a),t.push(`INSIDE_NUMBER`);break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n=i,t.pop(),t.push(a),t.push(`INSIDE_NUMBER`);break;case`{`:n=i,t.pop(),t.push(a),t.push(`INSIDE_OBJECT_START`);break;case`[`:n=i,t.pop(),t.push(a),t.push(`INSIDE_ARRAY_START`);break}}function a(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_OBJECT_AFTER_COMMA`);break;case`}`:n=r,t.pop();break}}function o(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=r,t.pop();break}}for(let s=0;s<e.length;s++){let c=e[s],l=t[t.length-1];switch(l){case`ROOT`:i(c,s,`FINISH`);break;case`INSIDE_OBJECT_START`:switch(c){case`"`:t.pop(),t.push(`INSIDE_OBJECT_KEY`);break;case`}`:n=s,t.pop();break}break;case`INSIDE_OBJECT_AFTER_COMMA`:switch(c){case`"`:t.pop(),t.push(`INSIDE_OBJECT_KEY`);break}break;case`INSIDE_OBJECT_KEY`:switch(c){case`"`:t.pop(),t.push(`INSIDE_OBJECT_AFTER_KEY`);break}break;case`INSIDE_OBJECT_AFTER_KEY`:switch(c){case`:`:t.pop(),t.push(`INSIDE_OBJECT_BEFORE_VALUE`);break}break;case`INSIDE_OBJECT_BEFORE_VALUE`:i(c,s,`INSIDE_OBJECT_AFTER_VALUE`);break;case`INSIDE_OBJECT_AFTER_VALUE`:a(c,s);break;case`INSIDE_STRING`:switch(c){case`"`:t.pop(),n=s;break;case`\\`:t.push(`INSIDE_STRING_ESCAPE`);break;default:n=s}break;case`INSIDE_ARRAY_START`:switch(c){case`]`:n=s,t.pop();break;default:n=s,i(c,s,`INSIDE_ARRAY_AFTER_VALUE`);break}break;case`INSIDE_ARRAY_AFTER_VALUE`:switch(c){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=s,t.pop();break;default:n=s;break}break;case`INSIDE_ARRAY_AFTER_COMMA`:i(c,s,`INSIDE_ARRAY_AFTER_VALUE`);break;case`INSIDE_STRING_ESCAPE`:t.pop(),n=s;break;case`INSIDE_NUMBER`:switch(c){case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n=s;break;case`e`:case`E`:case`-`:case`.`:break;case`,`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&o(c,s),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&a(c,s);break;case`}`:t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&a(c,s);break;case`]`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&o(c,s);break;default:t.pop();break}break;case`INSIDE_LITERAL`:{let i=e.substring(r,s+1);!`false`.startsWith(i)&&!`true`.startsWith(i)&&!`null`.startsWith(i)?(t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`?a(c,s):t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&o(c,s)):n=s;break}}}let s=e.slice(0,n+1);for(let n=t.length-1;n>=0;n--){let i=t[n];switch(i){case`INSIDE_STRING`:s+=`"`;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`:s+=`}`;break;case`INSIDE_ARRAY_START`:case`INSIDE_ARRAY_AFTER_COMMA`:case`INSIDE_ARRAY_AFTER_VALUE`:s+=`]`;break;case`INSIDE_LITERAL`:{let t=e.substring(r,e.length);`true`.startsWith(t)?s+=`true`.slice(t.length):`false`.startsWith(t)?s+=`false`.slice(t.length):`null`.startsWith(t)&&(s+=`null`.slice(t.length))}}}return s}async function Wr(e){if(e===void 0)return{value:void 0,state:`undefined-input`};let t=await A({text:e});return t.success?{value:t.value,state:`successful-parse`}:(t=await A({text:Ur(e)}),t.success?{value:t.value,state:`repaired-parse`}:{value:void 0,state:`failed-parse`})}function G(e){return e.type.startsWith(`tool-`)}function Gr(e){return e.type===`dynamic-tool`}function Kr(e){return G(e)||Gr(e)}function K(e){return e.type.split(`-`).slice(1).join(`-`)}function qr({lastMessage:e,messageId:t}){return{message:e?.role===`assistant`?e:{id:t,metadata:void 0,role:`assistant`,parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function Jr({stream:e,messageMetadataSchema:t,dataPartSchemas:n,runUpdateMessageJob:r,onError:i,onToolCall:a,onData:o}){return e.pipeThrough(new TransformStream({async transform(e,s){await r(async({state:r,write:c})=>{var l,u,d,f;function p(e){let t=r.message.parts.filter(G),n=t.find(t=>t.toolCallId===e);if(n==null)throw Error(`tool-output-error must be preceded by a tool-input-available`);return n}function m(e){let t=r.message.parts.filter(e=>e.type===`dynamic-tool`),n=t.find(t=>t.toolCallId===e);if(n==null)throw Error(`tool-output-error must be preceded by a tool-input-available`);return n}function h(e){var t;let n=r.message.parts.find(t=>G(t)&&t.toolCallId===e.toolCallId),i=e,a=n;n==null?r.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,input:i.input,output:i.output,rawInput:i.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted,preliminary:i.preliminary,...i.providerMetadata==null?{}:{callProviderMetadata:i.providerMetadata}}):(n.state=e.state,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=i.rawInput,a.preliminary=i.preliminary,a.providerExecuted=(t=i.providerExecuted)??n.providerExecuted,i.providerMetadata!=null&&n.state===`input-available`&&(n.callProviderMetadata=i.providerMetadata))}function g(e){var t;let n=r.message.parts.find(t=>t.type===`dynamic-tool`&&t.toolCallId===e.toolCallId),i=e,a=n;n==null?r.message.parts.push({type:`dynamic-tool`,toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:i.input,output:i.output,errorText:i.errorText,preliminary:i.preliminary,...i.providerMetadata==null?{}:{callProviderMetadata:i.providerMetadata}}):(n.state=e.state,a.toolName=e.toolName,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=(t=i.rawInput)??a.rawInput,a.preliminary=i.preliminary,i.providerMetadata!=null&&n.state===`input-available`&&(n.callProviderMetadata=i.providerMetadata))}async function _(e){if(e!=null){let n=r.message.metadata==null?e:Hr(r.message.metadata,e);t!=null&&await O({value:n,schema:t}),r.message.metadata=n}}switch(e.type){case`text-start`:{let t={type:`text`,text:``,providerMetadata:e.providerMetadata,state:`streaming`};r.activeTextParts[e.id]=t,r.message.parts.push(t),c();break}case`text-delta`:{let t=r.activeTextParts[e.id];t.text+=e.delta,t.providerMetadata=(l=e.providerMetadata)??t.providerMetadata,c();break}case`text-end`:{let t=r.activeTextParts[e.id];t.state=`done`,t.providerMetadata=(u=e.providerMetadata)??t.providerMetadata,delete r.activeTextParts[e.id],c();break}case`reasoning-start`:{let t={type:`reasoning`,text:``,providerMetadata:e.providerMetadata,state:`streaming`};r.activeReasoningParts[e.id]=t,r.message.parts.push(t),c();break}case`reasoning-delta`:{let t=r.activeReasoningParts[e.id];t.text+=e.delta,t.providerMetadata=(d=e.providerMetadata)??t.providerMetadata,c();break}case`reasoning-end`:{let t=r.activeReasoningParts[e.id];t.providerMetadata=(f=e.providerMetadata)??t.providerMetadata,t.state=`done`,delete r.activeReasoningParts[e.id],c();break}case`file`:r.message.parts.push({type:`file`,mediaType:e.mediaType,url:e.url}),c();break;case`source-url`:r.message.parts.push({type:`source-url`,sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),c();break;case`source-document`:r.message.parts.push({type:`source-document`,sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),c();break;case`tool-input-start`:{let t=r.message.parts.filter(G);r.partialToolCalls[e.toolCallId]={text:``,toolName:e.toolName,index:t.length,dynamic:e.dynamic},e.dynamic?g({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0}):h({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0,providerExecuted:e.providerExecuted}),c();break}case`tool-input-delta`:{let t=r.partialToolCalls[e.toolCallId];t.text+=e.inputTextDelta;let{value:n}=await Wr(t.text);t.dynamic?g({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n}):h({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n}),c();break}case`tool-input-available`:e.dynamic?g({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerMetadata:e.providerMetadata}):h({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}),c(),a&&!e.providerExecuted&&await a({toolCall:e});break;case`tool-input-error`:e.dynamic?g({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:e.input,errorText:e.errorText,providerMetadata:e.providerMetadata}):h({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}),c();break;case`tool-output-available`:if(e.dynamic){let t=m(e.toolCallId);g({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-available`,input:t.input,output:e.output,preliminary:e.preliminary})}else{let t=p(e.toolCallId);h({toolCallId:e.toolCallId,toolName:K(t),state:`output-available`,input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary})}c();break;case`tool-output-error`:if(e.dynamic){let t=m(e.toolCallId);g({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-error`,input:t.input,errorText:e.errorText})}else{let t=p(e.toolCallId);h({toolCallId:e.toolCallId,toolName:K(t),state:`output-error`,input:t.input,rawInput:t.rawInput,errorText:e.errorText})}c();break;case`start-step`:r.message.parts.push({type:`step-start`});break;case`finish-step`:r.activeTextParts={},r.activeReasoningParts={};break;case`start`:e.messageId!=null&&(r.message.id=e.messageId),await _(e.messageMetadata),(e.messageId!=null||e.messageMetadata!=null)&&c();break;case`finish`:await _(e.messageMetadata),e.messageMetadata!=null&&c();break;case`message-metadata`:await _(e.messageMetadata),e.messageMetadata!=null&&c();break;case`error`:i?.(Error(e.errorText));break;default:if(Vr(e)){n?.[e.type]!=null&&await O({value:e.data,schema:n[e.type]});let t=e;if(t.transient){o?.(t);break}let i=t.id==null?void 0:r.message.parts.find(e=>t.type===e.type&&t.id===e.id);i==null?r.message.parts.push(t):i.data=t.data,o?.(t),c()}}s.enqueue(e)})}}))}function Yr({messageId:e,originalMessages:t=[],onFinish:n,onError:r,stream:i}){let a=t?.[t.length-1];a?.role===`assistant`?e=a.id:a=void 0;let o=!1,s=i.pipeThrough(new TransformStream({transform(t,n){if(t.type===`start`){let n=t;n.messageId==null&&e!=null&&(n.messageId=e)}t.type===`abort`&&(o=!0),n.enqueue(t)}}));if(n==null)return s;let c=qr({lastMessage:a?structuredClone(a):void 0,messageId:e??``}),l=async e=>{await e({state:c,write:()=>{}})},u=!1,d=async()=>{if(u||!n)return;u=!0;let e=c.message.id===a?.id;await n({isAborted:o,isContinuation:e,responseMessage:c.message,messages:[...e?t.slice(0,-1):t,c.message]})};return Jr({stream:s,runUpdateMessageJob:l,onError:r}).pipeThrough(new TransformStream({transform(e,t){t.enqueue(e)},async cancel(){await d()},async flush(){await d()}}))}var Xr=E({prefix:`aitxt`,size:24}),Zr=E({prefix:`aiobj`,size:24}),Qr=E({prefix:`aiobj`,size:24}),$r={};gn($r,{object:()=>ti,text:()=>ei});var ei=()=>({type:`text`,responseFormat:{type:`text`},async parsePartial({text:e}){return{partial:e}},async parseOutput({text:e}){return e}}),ti=({schema:e})=>{let t=fn(e);return{type:`object`,responseFormat:{type:`json`,schema:t.jsonSchema},async parsePartial({text:e}){let t=await Wr(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:return{partial:t.value};default:{let e=t.state;throw Error(`Unsupported parse state: ${e}`)}}},async parseOutput({text:e},n){let r=await A({text:e});if(!r.success)throw new Gn({message:`No object generated: could not parse the response.`,cause:r.error,text:e,response:n.response,usage:n.usage,finishReason:n.finishReason});let i=await k({value:r.value,schema:t});if(!i.success)throw new Gn({message:`No object generated: response did not match schema.`,cause:i.error,text:e,response:n.response,usage:n.usage,finishReason:n.finishReason});return i.value}}},ni=`AI_NoSuchProviderError`,ri=`vercel.ai.error.${ni}`,ii=Symbol.for(ri),ai;ai=ii;var oi=c.z.looseObject({name:c.z.string(),version:c.z.string()}),q=c.z.looseObject({_meta:c.z.optional(c.z.object({}).loose())}),J=q,si=c.z.object({method:c.z.string(),params:c.z.optional(q)}),ci=c.z.looseObject({experimental:c.z.optional(c.z.object({}).loose()),logging:c.z.optional(c.z.object({}).loose()),prompts:c.z.optional(c.z.looseObject({listChanged:c.z.optional(c.z.boolean())})),resources:c.z.optional(c.z.looseObject({subscribe:c.z.optional(c.z.boolean()),listChanged:c.z.optional(c.z.boolean())})),tools:c.z.optional(c.z.looseObject({listChanged:c.z.optional(c.z.boolean())}))}),li=J.extend({protocolVersion:c.z.string(),capabilities:ci,serverInfo:oi,instructions:c.z.optional(c.z.string())}),ui=J.extend({nextCursor:c.z.optional(c.z.string())}),di=c.z.object({name:c.z.string(),description:c.z.optional(c.z.string()),inputSchema:c.z.object({type:c.z.literal(`object`),properties:c.z.optional(c.z.object({}).loose())}).loose()}).loose(),fi=ui.extend({tools:c.z.array(di)}),pi=c.z.object({type:c.z.literal(`text`),text:c.z.string()}).loose(),mi=c.z.object({type:c.z.literal(`image`),data:c.z.base64(),mimeType:c.z.string()}).loose(),hi=c.z.object({uri:c.z.string(),mimeType:c.z.optional(c.z.string())}).loose(),gi=hi.extend({text:c.z.string()}),_i=hi.extend({blob:c.z.base64()}),vi=c.z.object({type:c.z.literal(`resource`),resource:c.z.union([gi,_i])}).loose(),yi=J.extend({content:c.z.array(c.z.union([pi,mi,vi])),isError:c.z.boolean().default(!1).optional()}).or(J.extend({toolResult:c.z.unknown()})),Y=`2.0`,bi=c.z.object({jsonrpc:c.z.literal(Y),id:c.z.union([c.z.string(),c.z.number().int()])}).merge(si).strict(),xi=c.z.object({jsonrpc:c.z.literal(Y),id:c.z.union([c.z.string(),c.z.number().int()]),result:J}).strict(),Si=c.z.object({jsonrpc:c.z.literal(Y),id:c.z.union([c.z.string(),c.z.number().int()]),error:c.z.object({code:c.z.number().int(),message:c.z.string(),data:c.z.optional(c.z.unknown())})}).strict(),Ci=c.z.object({jsonrpc:c.z.literal(Y)}).merge(c.z.object({method:c.z.string(),params:c.z.optional(q)})).strict(),wi=c.z.union([bi,Ci,xi,Si]);function Ti(e,t){let n=[];t?.ignoreIncompleteToolCalls&&(e=e.map(e=>({...e,parts:e.parts.filter(e=>!Kr(e)||e.state!==`input-streaming`&&e.state!==`input-available`)})));for(let r of e)switch(r.role){case`system`:{let e=r.parts.filter(e=>e.type===`text`),t=e.reduce((e,t)=>t.providerMetadata==null?e:{...e,...t.providerMetadata},{});n.push({role:`system`,content:e.map(e=>e.text).join(``),...Object.keys(t).length>0?{providerOptions:t}:{}});break}case`user`:n.push({role:`user`,content:r.parts.filter(e=>e.type===`text`||e.type===`file`).map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text,...e.providerMetadata==null?{}:{providerOptions:e.providerMetadata}};case`file`:return{type:`file`,mediaType:e.mediaType,filename:e.filename,data:e.url,...e.providerMetadata==null?{}:{providerOptions:e.providerMetadata}};default:return e}})});break;case`assistant`:if(r.parts!=null){let e=function(){var e,r;if(i.length===0)return;let a=[];for(let n of i)if(n.type===`text`)a.push({type:`text`,text:n.text,...n.providerMetadata==null?{}:{providerOptions:n.providerMetadata}});else if(n.type===`file`)a.push({type:`file`,mediaType:n.mediaType,filename:n.filename,data:n.url});else if(n.type===`reasoning`)a.push({type:`reasoning`,text:n.text,providerOptions:n.providerMetadata});else if(n.type===`dynamic-tool`){let e=n.toolName;n.state!==`input-streaming`&&a.push({type:`tool-call`,toolCallId:n.toolCallId,toolName:e,input:n.input,...n.callProviderMetadata==null?{}:{providerOptions:n.callProviderMetadata}})}else if(G(n)){let i=K(n);n.state!==`input-streaming`&&(a.push({type:`tool-call`,toolCallId:n.toolCallId,toolName:i,input:n.state===`output-error`?(e=n.input)??n.rawInput:n.input,providerExecuted:n.providerExecuted,...n.callProviderMetadata==null?{}:{providerOptions:n.callProviderMetadata}}),n.providerExecuted===!0&&(n.state===`output-available`||n.state===`output-error`)&&a.push({type:`tool-result`,toolCallId:n.toolCallId,toolName:i,output:Lr({output:n.state===`output-error`?n.errorText:n.output,tool:(r=t?.tools)?.[i],errorMode:n.state===`output-error`?`json`:`none`})}))}else{let e=n;throw Error(`Unsupported part: ${e}`)}n.push({role:`assistant`,content:a});let o=i.filter(e=>G(e)&&e.providerExecuted!==!0||e.type===`dynamic-tool`);o.length>0&&n.push({role:`tool`,content:o.map(e=>{var n;switch(e.state){case`output-error`:case`output-available`:{let r=e.type===`dynamic-tool`?e.toolName:K(e);return{type:`tool-result`,toolCallId:e.toolCallId,toolName:r,output:Lr({output:e.state===`output-error`?e.errorText:e.output,tool:(n=t?.tools)?.[r],errorMode:e.state===`output-error`?`text`:`none`})}}default:return null}}).filter(e=>e!=null)}),i=[]},i=[];for(let t of r.parts)t.type===`text`||t.type===`reasoning`||t.type===`file`||t.type===`dynamic-tool`||G(t)?i.push(t):t.type===`step-start`&&e();e();break}break;default:{let e=r.role;throw new hr({originalMessage:r,message:`Unsupported role: ${e}`})}}return n}var Ei=c.z.object({type:c.z.literal(`text`),text:c.z.string(),state:c.z.enum([`streaming`,`done`]).optional(),providerMetadata:W.optional()}),Di=c.z.object({type:c.z.literal(`reasoning`),text:c.z.string(),state:c.z.enum([`streaming`,`done`]).optional(),providerMetadata:W.optional()}),Oi=c.z.object({type:c.z.literal(`source-url`),sourceId:c.z.string(),url:c.z.string(),title:c.z.string().optional(),providerMetadata:W.optional()}),ki=c.z.object({type:c.z.literal(`source-document`),sourceId:c.z.string(),mediaType:c.z.string(),title:c.z.string(),filename:c.z.string().optional(),providerMetadata:W.optional()}),Ai=c.z.object({type:c.z.literal(`file`),mediaType:c.z.string(),filename:c.z.string().optional(),url:c.z.string(),providerMetadata:W.optional()}),ji=c.z.object({type:c.z.literal(`step-start`)}),Mi=c.z.object({type:c.z.string().startsWith(`data-`),id:c.z.string().optional(),data:c.z.unknown()}),Ni=[c.z.object({type:c.z.literal(`dynamic-tool`),toolName:c.z.string(),toolCallId:c.z.string(),state:c.z.literal(`input-streaming`),input:c.z.unknown().optional(),output:c.z.never().optional(),errorText:c.z.never().optional()}),c.z.object({type:c.z.literal(`dynamic-tool`),toolName:c.z.string(),toolCallId:c.z.string(),state:c.z.literal(`input-available`),input:c.z.unknown(),output:c.z.never().optional(),errorText:c.z.never().optional(),callProviderMetadata:W.optional()}),c.z.object({type:c.z.literal(`dynamic-tool`),toolName:c.z.string(),toolCallId:c.z.string(),state:c.z.literal(`output-available`),input:c.z.unknown(),output:c.z.unknown(),errorText:c.z.never().optional(),callProviderMetadata:W.optional(),preliminary:c.z.boolean().optional()}),c.z.object({type:c.z.literal(`dynamic-tool`),toolName:c.z.string(),toolCallId:c.z.string(),state:c.z.literal(`output-error`),input:c.z.unknown(),output:c.z.never().optional(),errorText:c.z.string(),callProviderMetadata:W.optional()})],Pi=[c.z.object({type:c.z.string().startsWith(`tool-`),toolCallId:c.z.string(),state:c.z.literal(`input-streaming`),input:c.z.unknown().optional(),output:c.z.never().optional(),errorText:c.z.never().optional()}),c.z.object({type:c.z.string().startsWith(`tool-`),toolCallId:c.z.string(),state:c.z.literal(`input-available`),input:c.z.unknown(),output:c.z.never().optional(),errorText:c.z.never().optional(),callProviderMetadata:W.optional()}),c.z.object({type:c.z.string().startsWith(`tool-`),toolCallId:c.z.string(),state:c.z.literal(`output-available`),input:c.z.unknown(),output:c.z.unknown(),errorText:c.z.never().optional(),callProviderMetadata:W.optional(),preliminary:c.z.boolean().optional()}),c.z.object({type:c.z.string().startsWith(`tool-`),toolCallId:c.z.string(),state:c.z.literal(`output-error`),input:c.z.unknown(),output:c.z.never().optional(),errorText:c.z.string(),callProviderMetadata:W.optional()})],Fi=c.z.object({id:c.z.string(),role:c.z.enum([`system`,`user`,`assistant`]),metadata:c.z.unknown().optional(),parts:c.z.array(c.z.union([Ei,Di,Oi,ki,Ai,ji,Mi,...Ni,...Pi]))});function Ii({execute:e,onError:t=it,originalMessages:n,onFinish:r,generateId:i=rt}){let a,o=[],s=new ReadableStream({start(e){a=e}});function c(e){try{a.enqueue(e)}catch{}}try{let n=e({writer:{write(e){c(e)},merge(e){o.push((async()=>{let t=e.getReader();for(;;){let{done:e,value:n}=await t.read();if(e)break;c(n)}})().catch(e=>{c({type:`error`,errorText:t(e)})}))},onError:t}});n&&o.push(n.catch(e=>{c({type:`error`,errorText:t(e)})}))}catch(e){c({type:`error`,errorText:t(e)})}let l=new Promise(async e=>{for(;o.length>0;)await o.shift();e()});return l.finally(()=>{try{a.close()}catch{}}),Yr({stream:s,messageId:i(),originalMessages:n,onFinish:r,onError:t})}const Li=`x-blink-stream-response-format`,Ri=`BLINK_API_SERVER_URL`;var zi=e=>{let t=e.split(`/`);return t[0]===``&&t.shift(),t},Bi=e=>{let{groups:t,path:n}=Vi(e),r=zi(n);return Hi(r,t)},Vi=e=>{let t=[];return e=e.replace(/\{[^}]+\}/g,(e,n)=>{let r=`@${n}`;return t.push([r,e]),r}),{groups:t,path:e}},Hi=(e,t)=>{for(let n=t.length-1;n>=0;n--){let[r]=t[n];for(let i=e.length-1;i>=0;i--)if(e[i].includes(r)){e[i]=e[i].replace(r,t[n][1]);break}}return e},X={},Ui=(e,t)=>{if(e===`*`)return`*`;let n=e.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(n){let r=`${e}#${t}`;return X[r]||(n[2]?X[r]=t&&t[0]!==`:`&&t[0]!==`*`?[r,n[1],RegExp(`^${n[2]}(?=/${t})`)]:[e,n[1],RegExp(`^${n[2]}$`)]:X[r]=[e,n[1],!0]),X[r]}return null},Z=(e,t)=>{try{return t(e)}catch{return e.replace(/(?:%[0-9A-Fa-f]{2})+/g,e=>{try{return t(e)}catch{return e}})}},Wi=e=>Z(e,decodeURI),Gi=e=>{let t=e.url,n=t.indexOf(`/`,t.indexOf(`:`)+4),r=n;for(;r<t.length;r++){let e=t.charCodeAt(r);if(e===37){let e=t.indexOf(`?`,r),i=t.slice(n,e===-1?void 0:e);return Wi(i.includes(`%25`)?i.replace(/%25/g,`%2525`):i)}else if(e===63)break}return t.slice(n,r)},Ki=e=>{let t=Gi(e);return t.length>1&&t.at(-1)===`/`?t.slice(0,-1):t},qi=(e,t,...n)=>(n.length&&(t=qi(t,...n)),`${e?.[0]===`/`?``:`/`}${e}${t===`/`?``:`${e?.at(-1)===`/`?``:`/`}${t?.[0]===`/`?t.slice(1):t}`}`),Ji=e=>{if(e.charCodeAt(e.length-1)!==63||!e.includes(`:`))return null;let t=e.split(`/`),n=[],r=``;return t.forEach(e=>{if(e!==``&&!/\:/.test(e))r+=`/`+e;else if(/\:/.test(e))if(/\?/.test(e)){n.length===0&&r===``?n.push(`/`):n.push(r);let t=e.replace(`?`,``);r+=`/`+t,n.push(r)}else r+=`/`+e}),n.filter((e,t,n)=>n.indexOf(e)===t)},Q=e=>/[%+]/.test(e)?(e.indexOf(`+`)!==-1&&(e=e.replace(/\+/g,` `)),e.indexOf(`%`)===-1?e:Z(e,$)):e,Yi=(e,t,n)=>{let r;if(!n&&t&&!/[%+]/.test(t)){let n=e.indexOf(`?${t}`,8);for(n===-1&&(n=e.indexOf(`&${t}`,8));n!==-1;){let r=e.charCodeAt(n+t.length+1);if(r===61){let r=n+t.length+2,i=e.indexOf(`&`,r);return Q(e.slice(r,i===-1?void 0:i))}else if(r==38||isNaN(r))return``;n=e.indexOf(`&${t}`,n+1)}if(r=/[%+]/.test(e),!r)return}let i={};r??=/[%+]/.test(e);let a=e.indexOf(`?`,8);for(;a!==-1;){let t=e.indexOf(`&`,a+1),o=e.indexOf(`=`,a);o>t&&t!==-1&&(o=-1);let s=e.slice(a+1,o===-1?t===-1?void 0:t:o);if(r&&(s=Q(s)),a=t,s===``)continue;let c;o===-1?c=``:(c=e.slice(o+1,t===-1?void 0:t),r&&(c=Q(c))),n?(i[s]&&Array.isArray(i[s])||(i[s]=[]),i[s].push(c)):i[s]??=c}return t?i[t]:i},Xi=Yi,Zi=(e,t)=>Yi(e,t,!0),$=decodeURIComponent,Qi=/^[\w!#$%&'*.^`|~+-]+$/,$i=/^[ !#-:<-[\]-~]*$/,ea=(e,t)=>{if(t&&e.indexOf(t)===-1)return{};let n=e.trim().split(`;`),r={};for(let e of n){e=e.trim();let n=e.indexOf(`=`);if(n===-1)continue;let i=e.substring(0,n).trim();if(t&&t!==i||!Qi.test(i))continue;let a=e.substring(n+1).trim();if(a.startsWith(`"`)&&a.endsWith(`"`)&&(a=a.slice(1,-1)),$i.test(a)&&(r[i]=a.indexOf(`%`)===-1?a:Z(a,$),t))break}return r},ta=(e,t,n={})=>{let r=`${e}=${t}`;if(e.startsWith(`__Secure-`)&&!n.secure)throw Error(`__Secure- Cookie must have Secure attributes`);if(e.startsWith(`__Host-`)){if(!n.secure)throw Error(`__Host- Cookie must have Secure attributes`);if(n.path!==`/`)throw Error(`__Host- Cookie must have Path attributes with "/"`);if(n.domain)throw Error(`__Host- Cookie must not have Domain attributes`)}if(n&&typeof n.maxAge==`number`&&n.maxAge>=0){if(n.maxAge>3456e4)throw Error(`Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.`);r+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!==`host`&&(r+=`; Domain=${n.domain}`),n.path&&(r+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw Error(`Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite&&(r+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(r+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw Error(`Partitioned Cookie must have Secure attributes`);r+=`; Partitioned`}return r},na=(e,t,n)=>(t=encodeURIComponent(t),ta(e,t,n));Object.defineProperty(exports,`APICallError`,{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,`APIServerURLEnvironmentVariable`,{enumerable:!0,get:function(){return`BLINK_API_SERVER_URL`}}),Object.defineProperty(exports,`EmptyResponseBodyError`,{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,`EventSourceParserStream`,{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,`InvalidArgumentError`,{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,`InvalidPromptError`,{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,`InvalidResponseDataError`,{enumerable:!0,get:function(){return ye}}),Object.defineProperty(exports,`JSONParseError`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`StreamResponseFormatHeader`,{enumerable:!0,get:function(){return`x-blink-stream-response-format`}}),Object.defineProperty(exports,`TooManyEmbeddingValuesForCallError`,{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,`TypeValidationError`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`UnsupportedFunctionalityError`,{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,`__toESM`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`checkOptionalParameter`,{enumerable:!0,get:function(){return Ji}}),Object.defineProperty(exports,`convertToModelMessages`,{enumerable:!0,get:function(){return Ti}}),Object.defineProperty(exports,`createUIMessageStream`,{enumerable:!0,get:function(){return Ii}}),Object.defineProperty(exports,`decodeURIComponent_`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`getPath`,{enumerable:!0,get:function(){return Gi}}),Object.defineProperty(exports,`getPathNoStrict`,{enumerable:!0,get:function(){return Ki}}),Object.defineProperty(exports,`getPattern`,{enumerable:!0,get:function(){return Ui}}),Object.defineProperty(exports,`getQueryParam`,{enumerable:!0,get:function(){return Xi}}),Object.defineProperty(exports,`getQueryParams`,{enumerable:!0,get:function(){return Zi}}),Object.defineProperty(exports,`getToolName`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`isToolUIPart`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`mergePath`,{enumerable:!0,get:function(){return qi}}),Object.defineProperty(exports,`parse`,{enumerable:!0,get:function(){return ea}}),Object.defineProperty(exports,`serialize`,{enumerable:!0,get:function(){return na}}),Object.defineProperty(exports,`splitPath`,{enumerable:!0,get:function(){return zi}}),Object.defineProperty(exports,`splitRoutingPath`,{enumerable:!0,get:function(){return Bi}}),Object.defineProperty(exports,`tryDecode`,{enumerable:!0,get:function(){return Z}});
|
package/dist/test.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e=require(`./cookie-
|
|
1
|
+
const e=require(`./cookie-Dx2Kx4Zh.cjs`);let t=require(`fs/promises`);t=e.__toESM(t);let n=require(`path`);n=e.__toESM(n);let r=require(`module`);r=e.__toESM(r);async function i(e,{outdir:r}={}){r||=await o(e);let i=(0,n.join)(r,`agent.js`),a=l(),s=await a.build({...c,entryPoints:[e],outfile:i,write:!1});if(s.errors.length>0)throw Error(`Failed to build agent!`);let u=s.outputFiles[0];return await(0,t.writeFile)(i,Buffer.from(u.contents),`utf-8`),{outfile:i}}async function a(e){let r=await s(e,`package.json`);if(!r)throw Error(`No package.json found in ${e}`);let i=JSON.parse(await(0,t.readFile)(r,`utf-8`)),a=i.main;if(!a)throw Error(`"main" is not set in ${(0,n.relative)(process.cwd(),r)}. It should be set to the entrypoint of your agent.`);let o=(0,n.join)((0,n.dirname)(r),a),c=await(0,t.stat)(o);if(!c.isFile())throw Error(`${o} is not a file.`);return o}async function o(e){let r=await s(e,`node_modules`);if(!r){let r=await(0,t.stat)(e);return r.isDirectory()?(0,n.join)(e,`.blink`):(0,n.join)((0,n.dirname)(e),`.blink`)}let i=(0,n.join)(r,`.blink`);return await(0,t.mkdir)(i,{recursive:!0}),i}async function s(e,r){let i=e;for(;i!==(0,n.dirname)(i);){let e=(0,n.join)(i,r);try{return await(0,t.stat)(e),e}catch{}i=(0,n.dirname)(i)}}const c={bundle:!0,format:`esm`,platform:`node`,target:`node22`,mainFields:[`module`,`main`],conditions:[`import`,`module`],plugins:[{name:`blink-esm-require-to-import`,setup(e){e.onEnd(t=>{e.initialOptions.format!==`esm`||e.initialOptions.platform!==`node`||t.outputFiles?.forEach(e=>{if(e.path.endsWith(`.js`)||e.path.endsWith(`.mjs`)){let t=Buffer.from(e.contents).toString(`utf-8`),n=new Map,i=RegExp(`\\b__require\\("(${r.builtinModules.join(`|`)})"\\)`,`gm`);if(t=t.replace(i,(e,t)=>{let r=`__import_${t.toUpperCase().replace(/-/g,`_`)}`;return n.set(t,r),r}),n.size>0){let e=Array.from(n.entries()).map(([e,t])=>`import ${t} from "${e}";`).join(`
|
|
2
2
|
`);t=e+`
|
|
3
3
|
|
|
4
4
|
`+t}e.contents=Buffer.from(t,`utf-8`)}})})}}]},l=()=>{try{return require(`esbuild`)}catch{throw Error("esbuild is not installed. Please install it with `bun add esbuild`.")}};function u(e){let t=require(e);if(typeof t!=`object`)throw Error(`The module at ${e} must export an object.`);let n=t.default;if(typeof n!=`object`)throw Error(`The module at ${e} must export an object.`);if(!n.version)throw Error(`The module at ${e} must export a "version" property.`);if(typeof n.fetch!=`function`)throw Error(`The module at ${e} must export a "fetch" function.`);return n}function d(e){return new f(`http://agent.local`,{fetch:async(t,n)=>e.fetch(new Request(t,{...n,duplex:n.body?`half`:void 0}))})}var f=class{baseUrl;fetch;constructor(e,t){this.baseUrl=e,this.fetch=t?.fetch??fetch}async sendMessages(e,t){return this.fetch(`${this.baseUrl}/_agent/send-messages`,{method:`POST`,body:JSON.stringify(e),signal:t?.signal})}async sendRequest(e){let t=new URL(e.url),n=new Headers(e.headers),r=new URL(this.baseUrl);if(r.pathname=t.pathname,r.search=t.search,t.pathname.startsWith(`/_agent/`))throw Error(`The pathname "/_agent/" is reserved for agent-specific requests.`);return this.fetch(r,{method:e.method,headers:n,body:e.body,duplex:e.body?`half`:void 0})}},p=(e,t,n)=>(r,i)=>{let a=-1;return o(0);async function o(s){if(s<=a)throw Error(`next() called multiple times`);a=s;let c,l=!1,u;if(e[s]?(u=e[s][0][0],r.req.routeIndex=s):u=s===e.length&&i||void 0,u)try{c=await u(r,()=>o(s+1))}catch(e){if(e instanceof Error&&t)r.error=e,c=await t(e,r),l=!0;else throw e}else r.finalized===!1&&n&&(c=await n(r));return c&&(r.finalized===!1||l)&&(r.res=c),r}},m=Symbol(),h=async(e,t=Object.create(null))=>{let{all:n=!1,dot:r=!1}=t,i=e instanceof y?e.raw.headers:e.headers,a=i.get(`Content-Type`);return a?.startsWith(`multipart/form-data`)||a?.startsWith(`application/x-www-form-urlencoded`)?g(e,{all:n,dot:r}):{}};async function g(e,t){let n=await e.formData();return n?_(n,t):{}}function _(e,t){let n=Object.create(null);return e.forEach((e,r)=>{let i=t.all||r.endsWith(`[]`);i?ee(n,r,e):n[r]=e}),t.dot&&Object.entries(n).forEach(([e,t])=>{let r=e.includes(`.`);r&&(te(n,e,t),delete n[e])}),n}var ee=(e,t,n)=>{e[t]===void 0?t.endsWith(`[]`)?e[t]=[n]:e[t]=n:Array.isArray(e[t])?e[t].push(n):e[t]=[e[t],n]},te=(e,t,n)=>{let r=e,i=t.split(`.`);i.forEach((e,t)=>{t===i.length-1?r[e]=n:((!r[e]||typeof r[e]!=`object`||Array.isArray(r[e])||r[e]instanceof File)&&(r[e]=Object.create(null)),r=r[e])})},v=t=>e.tryDecode(t,e.decodeURIComponent_),y=class{raw;#validatedData;#matchResult;routeIndex=0;path;bodyCache={};constructor(e,t=`/`,n=[[]]){this.raw=e,this.path=t,this.#matchResult=n,this.#validatedData={}}param(e){return e?this.#getDecodedParam(e):this.#getAllDecodedParams()}#getDecodedParam(e){let t=this.#matchResult[0][this.routeIndex][1][e],n=this.#getParamValue(t);return n&&/\%/.test(n)?v(n):n}#getAllDecodedParams(){let e={},t=Object.keys(this.#matchResult[0][this.routeIndex][1]);for(let n of t){let t=this.#getParamValue(this.#matchResult[0][this.routeIndex][1][n]);t!==void 0&&(e[n]=/\%/.test(t)?v(t):t)}return e}#getParamValue(e){return this.#matchResult[1]?this.#matchResult[1][e]:e}query(t){return e.getQueryParam(this.url,t)}queries(t){return e.getQueryParams(this.url,t)}header(e){if(e)return this.raw.headers.get(e)??void 0;let t={};return this.raw.headers.forEach((e,n)=>{t[n]=e}),t}async parseBody(e){return this.bodyCache.parsedBody??=await h(this,e)}#cachedBody=e=>{let{bodyCache:t,raw:n}=this,r=t[e];if(r)return r;let i=Object.keys(t)[0];return i?t[i].then(t=>(i===`json`&&(t=JSON.stringify(t)),new Response(t)[e]())):t[e]=n[e]()};json(){return this.#cachedBody(`text`).then(e=>JSON.parse(e))}text(){return this.#cachedBody(`text`)}arrayBuffer(){return this.#cachedBody(`arrayBuffer`)}blob(){return this.#cachedBody(`blob`)}formData(){return this.#cachedBody(`formData`)}addValidatedData(e,t){this.#validatedData[e]=t}valid(e){return this.#validatedData[e]}get url(){return this.raw.url}get method(){return this.raw.method}get[m](){return this.#matchResult}get matchedRoutes(){return this.#matchResult[0].map(([[,e]])=>e)}get routePath(){return this.#matchResult[0].map(([[,e]])=>e)[this.routeIndex].path}},ne={Stringify:1,BeforeStream:2,Stream:3},re=(e,t)=>{let n=new String(e);return n.isEscaped=!0,n.callbacks=t,n},b=async(e,t,n,r,i)=>{typeof e==`object`&&!(e instanceof String)&&(e instanceof Promise||(e=e.toString()),e instanceof Promise&&(e=await e));let a=e.callbacks;if(!a?.length)return Promise.resolve(e);i?i[0]+=e:i=[e];let o=Promise.all(a.map(e=>e({phase:t,buffer:i,context:r}))).then(e=>Promise.all(e.filter(Boolean).map(e=>b(e,t,!1,r,i))).then(()=>i[0]));return n?re(await o,a):o},ie=`text/plain; charset=UTF-8`,x=(e,t)=>({"Content-Type":e,...t}),ae=class{#rawRequest;#req;env={};#var;finalized=!1;error;#status;#executionCtx;#res;#layout;#renderer;#notFoundHandler;#preparedHeaders;#matchResult;#path;constructor(e,t){this.#rawRequest=e,t&&(this.#executionCtx=t.executionCtx,this.env=t.env,this.#notFoundHandler=t.notFoundHandler,this.#path=t.path,this.#matchResult=t.matchResult)}get req(){return this.#req??=new y(this.#rawRequest,this.#path,this.#matchResult),this.#req}get event(){if(this.#executionCtx&&`respondWith`in this.#executionCtx)return this.#executionCtx;throw Error(`This context has no FetchEvent`)}get executionCtx(){if(this.#executionCtx)return this.#executionCtx;throw Error(`This context has no ExecutionContext`)}get res(){return this.#res||=new Response(null,{headers:this.#preparedHeaders??=new Headers})}set res(e){if(this.#res&&e){e=new Response(e.body,e);for(let[t,n]of this.#res.headers.entries()){if(t===`content-type`)continue;if(t===`set-cookie`){let t=this.#res.headers.getSetCookie();e.headers.delete(`set-cookie`);for(let n of t)e.headers.append(`set-cookie`,n)}else e.headers.set(t,n)}}this.#res=e,this.finalized=!0}render=(...e)=>(this.#renderer??=e=>this.html(e),this.#renderer(...e));setLayout=e=>this.#layout=e;getLayout=()=>this.#layout;setRenderer=e=>{this.#renderer=e};header=(e,t,n)=>{this.finalized&&(this.#res=new Response(this.#res.body,this.#res));let r=this.#res?this.#res.headers:this.#preparedHeaders??=new Headers;t===void 0?r.delete(e):n?.append?r.append(e,t):r.set(e,t)};status=e=>{this.#status=e};set=(e,t)=>{this.#var??=new Map,this.#var.set(e,t)};get=e=>this.#var?this.#var.get(e):void 0;get var(){return this.#var?Object.fromEntries(this.#var):{}}#newResponse(e,t,n){let r=this.#res?new Headers(this.#res.headers):this.#preparedHeaders??new Headers;if(typeof t==`object`&&`headers`in t){let e=t.headers instanceof Headers?t.headers:new Headers(t.headers);for(let[t,n]of e)t.toLowerCase()===`set-cookie`?r.append(t,n):r.set(t,n)}if(n)for(let[e,t]of Object.entries(n))if(typeof t==`string`)r.set(e,t);else{r.delete(e);for(let n of t)r.append(e,n)}let i=typeof t==`number`?t:t?.status??this.#status;return new Response(e,{status:i,headers:r})}newResponse=(...e)=>this.#newResponse(...e);body=(e,t,n)=>this.#newResponse(e,t,n);text=(e,t,n)=>!this.#preparedHeaders&&!this.#status&&!t&&!n&&!this.finalized?new Response(e):this.#newResponse(e,t,x(ie,n));json=(e,t,n)=>this.#newResponse(JSON.stringify(e),t,x(`application/json`,n));html=(e,t,n)=>{let r=e=>this.#newResponse(e,t,x(`text/html; charset=UTF-8`,n));return typeof e==`object`?b(e,ne.Stringify,!1,{}).then(r):r(e)};redirect=(e,t)=>{let n=String(e);return this.header(`Location`,/[^\x00-\xFF]/.test(n)?encodeURI(n):n),this.newResponse(null,t??302)};notFound=()=>(this.#notFoundHandler??=()=>new Response,this.#notFoundHandler(this))},S=`ALL`,C=`all`,w=[`get`,`post`,`put`,`delete`,`options`,`patch`],T=`Can not add a route since the matcher is already built.`,E=class extends Error{},D=`__COMPOSED_HANDLER`,oe=e=>e.text(`404 Not Found`,404),O=(e,t)=>{if(`getResponse`in e){let n=e.getResponse();return t.newResponse(n.body,n)}return console.error(e),t.text(`Internal Server Error`,500)},k=class{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath=`/`;#path=`/`;routes=[];constructor(t={}){let n=[...w,C];n.forEach(e=>{this[e]=(t,...n)=>(typeof t==`string`?this.#path=t:this.#addRoute(e,this.#path,t),n.forEach(t=>{this.#addRoute(e,this.#path,t)}),this)}),this.on=(e,t,...n)=>{for(let r of[t].flat()){this.#path=r;for(let t of[e].flat())n.map(e=>{this.#addRoute(t.toUpperCase(),this.#path,e)})}return this},this.use=(e,...t)=>(typeof e==`string`?this.#path=e:(this.#path=`*`,t.unshift(e)),t.forEach(e=>{this.#addRoute(S,this.#path,e)}),this);let{strict:r,...i}=t;Object.assign(this,i),this.getPath=r??!0?t.getPath??e.getPath:e.getPathNoStrict}#clone(){let e=new k({router:this.router,getPath:this.getPath});return e.errorHandler=this.errorHandler,e.#notFoundHandler=this.#notFoundHandler,e.routes=this.routes,e}#notFoundHandler=oe;errorHandler=O;route(e,t){let n=this.basePath(e);return t.routes.map(e=>{let r;t.errorHandler===O?r=e.handler:(r=async(n,r)=>(await p([],t.errorHandler)(n,()=>e.handler(n,r))).res,r[D]=e.handler),n.#addRoute(e.method,e.path,r)}),this}basePath(t){let n=this.#clone();return n._basePath=e.mergePath(this._basePath,t),n}onError=e=>(this.errorHandler=e,this);notFound=e=>(this.#notFoundHandler=e,this);mount(t,n,r){let i,a;r&&(typeof r==`function`?a=r:(a=r.optionHandler,i=r.replaceRequest===!1?e=>e:r.replaceRequest));let o=a?e=>{let t=a(e);return Array.isArray(t)?t:[t]}:e=>{let t;try{t=e.executionCtx}catch{}return[e.env,t]};i||=(()=>{let n=e.mergePath(this._basePath,t),r=n===`/`?0:n.length;return e=>{let t=new URL(e.url);return t.pathname=t.pathname.slice(r)||`/`,new Request(t,e)}})();let s=async(e,t)=>{let r=await n(i(e.req.raw),...o(e));if(r)return r;await t()};return this.#addRoute(S,e.mergePath(t,`*`),s),this}#addRoute(t,n,r){t=t.toUpperCase(),n=e.mergePath(this._basePath,n);let i={basePath:this._basePath,path:n,method:t,handler:r};this.router.add(t,n,[r,i]),this.routes.push(i)}#handleError(e,t){if(e instanceof Error)return this.errorHandler(e,t);throw e}#dispatch(e,t,n,r){if(r===`HEAD`)return(async()=>new Response(null,await this.#dispatch(e,t,n,`GET`)))();let i=this.getPath(e,{env:n}),a=this.router.match(r,i),o=new ae(e,{path:i,matchResult:a,env:n,executionCtx:t,notFoundHandler:this.#notFoundHandler});if(a[0].length===1){let e;try{e=a[0][0][0][0](o,async()=>{o.res=await this.#notFoundHandler(o)})}catch(e){return this.#handleError(e,o)}return e instanceof Promise?e.then(e=>e||(o.finalized?o.res:this.#notFoundHandler(o))).catch(e=>this.#handleError(e,o)):e??this.#notFoundHandler(o)}let s=p(a[0],this.errorHandler,this.#notFoundHandler);return(async()=>{try{let e=await s(o);if(!e.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return e.res}catch(e){return this.#handleError(e,o)}})()}fetch=(e,...t)=>this.#dispatch(e,t[1],t[0],e.method);request=(t,n,r,i)=>t instanceof Request?this.fetch(n?new Request(t,n):t,r,i):(t=t.toString(),this.fetch(new Request(/^https?:\/\//.test(t)?t:`http://localhost${e.mergePath(`/`,t)}`,n),r,i));fire=()=>{addEventListener(`fetch`,e=>{e.respondWith(this.#dispatch(e.request,e,void 0,e.request.method))})}},A=`[^/]+`,j=`.*`,M=`(?:|/.*)`,N=Symbol(),se=new Set(`.\\+*[^]$()`);function ce(e,t){return e.length===1?t.length===1?e<t?-1:1:-1:t.length===1||e===j||e===M?1:t===j||t===M?-1:e===A?1:t===A?-1:e.length===t.length?e<t?-1:1:t.length-e.length}var P=class{#index;#varIndex;#children=Object.create(null);insert(e,t,n,r,i){if(e.length===0){if(this.#index!==void 0)throw N;if(i)return;this.#index=t;return}let[a,...o]=e,s=a===`*`?o.length===0?[``,``,j]:[``,``,A]:a===`/*`?[``,``,M]:a.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),c;if(s){let e=s[1],t=s[2]||A;if(e&&s[2]&&(t===`.*`||(t=t.replace(/^\((?!\?:)(?=[^)]+\)$)/,`(?:`),/\((?!\?:)/.test(t))))throw N;if(c=this.#children[t],!c){if(Object.keys(this.#children).some(e=>e!==j&&e!==M))throw N;if(i)return;c=this.#children[t]=new P,e!==``&&(c.#varIndex=r.varIndex++)}!i&&e!==``&&n.push([e,c.#varIndex])}else if(c=this.#children[a],!c){if(Object.keys(this.#children).some(e=>e.length>1&&e!==j&&e!==M))throw N;if(i)return;c=this.#children[a]=new P}c.insert(o,t,n,r,i)}buildRegExpStr(){let e=Object.keys(this.#children).sort(ce),t=e.map(e=>{let t=this.#children[e];return(typeof t.#varIndex==`number`?`(${e})@${t.#varIndex}`:se.has(e)?`\\${e}`:e)+t.buildRegExpStr()});return typeof this.#index==`number`&&t.unshift(`#${this.#index}`),t.length===0?``:t.length===1?t[0]:`(?:`+t.join(`|`)+`)`}},le=class{#context={varIndex:0};#root=new P;insert(e,t,n){let r=[],i=[];for(let t=0;;){let n=!1;if(e=e.replace(/\{[^}]+\}/g,e=>{let r=`@\\${t}`;return i[t]=[r,e],t++,n=!0,r}),!n)break}let a=e.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let e=i.length-1;e>=0;e--){let[t]=i[e];for(let n=a.length-1;n>=0;n--)if(a[n].indexOf(t)!==-1){a[n]=a[n].replace(t,i[e][1]);break}}return this.#root.insert(a,t,r,this.#context,n),r}buildRegExp(){let e=this.#root.buildRegExpStr();if(e===``)return[/^$/,[],[]];let t=0,n=[],r=[];return e=e.replace(/#(\d+)|@(\d+)|\.\*\$/g,(e,i,a)=>i===void 0?(a===void 0||(r[Number(a)]=++t),``):(n[++t]=Number(i),`$()`)),[RegExp(`^${e}`),n,r]}},F=[],I=[/^$/,[],Object.create(null)],L=Object.create(null);function R(e){return L[e]??=RegExp(e===`*`?``:`^${e.replace(/\/\*$|([.\\+*[^\]$()])/g,(e,t)=>t?`\\${t}`:`(?:|/.*)`)}$`)}function z(){L=Object.create(null)}function B(e){let t=new le,n=[];if(e.length===0)return I;let r=e.map(e=>[!/\*|\/:/.test(e[0]),...e]).sort(([e,t],[n,r])=>e?1:n?-1:t.length-r.length),i=Object.create(null);for(let e=0,a=-1,o=r.length;e<o;e++){let[o,s,c]=r[e];o?i[s]=[c.map(([e])=>[e,Object.create(null)]),F]:a++;let l;try{l=t.insert(s,a,o)}catch(e){throw e===N?new E(s):e}o||(n[a]=c.map(([e,t])=>{let n=Object.create(null);for(--t;t>=0;t--){let[e,r]=l[t];n[e]=r}return[e,n]}))}let[a,o,s]=t.buildRegExp();for(let e=0,t=n.length;e<t;e++)for(let t=0,r=n[e].length;t<r;t++){let r=n[e][t]?.[1];if(!r)continue;let i=Object.keys(r);for(let e=0,t=i.length;e<t;e++)r[i[e]]=s[r[i[e]]]}let c=[];for(let e in o)c[e]=n[o[e]];return[a,c,i]}function V(e,t){if(e){for(let n of Object.keys(e).sort((e,t)=>t.length-e.length))if(R(n).test(t))return[...e[n]]}}var H=class{name=`RegExpRouter`;#middleware;#routes;constructor(){this.#middleware={[S]:Object.create(null)},this.#routes={[S]:Object.create(null)}}add(t,n,r){let i=this.#middleware,a=this.#routes;if(!i||!a)throw Error(T);i[t]||[i,a].forEach(e=>{e[t]=Object.create(null),Object.keys(e[S]).forEach(n=>{e[t][n]=[...e[S][n]]})}),n===`/*`&&(n=`*`);let o=(n.match(/\/:/g)||[]).length;if(/\*$/.test(n)){let e=R(n);t===S?Object.keys(i).forEach(e=>{i[e][n]||=V(i[e],n)||V(i[S],n)||[]}):i[t][n]||=V(i[t],n)||V(i[S],n)||[],Object.keys(i).forEach(n=>{(t===S||t===n)&&Object.keys(i[n]).forEach(t=>{e.test(t)&&i[n][t].push([r,o])})}),Object.keys(a).forEach(n=>{(t===S||t===n)&&Object.keys(a[n]).forEach(t=>e.test(t)&&a[n][t].push([r,o]))});return}let s=e.checkOptionalParameter(n)||[n];for(let e=0,n=s.length;e<n;e++){let c=s[e];Object.keys(a).forEach(s=>{(t===S||t===s)&&(a[s][c]||=[...V(i[s],c)||V(i[S],c)||[]],a[s][c].push([r,o-n+e+1]))})}}match(e,t){z();let n=this.#buildAllMatchers();return this.match=(e,t)=>{let r=n[e]||n[S],i=r[2][t];if(i)return i;let a=t.match(r[0]);if(!a)return[[],F];let o=a.indexOf(``,1);return[r[1][o],a]},this.match(e,t)}#buildAllMatchers(){let e=Object.create(null);return Object.keys(this.#routes).concat(Object.keys(this.#middleware)).forEach(t=>{e[t]||=this.#buildMatcher(t)}),this.#middleware=this.#routes=void 0,e}#buildMatcher(e){let t=[],n=e===S;return[this.#middleware,this.#routes].forEach(r=>{let i=r[e]?Object.keys(r[e]).map(t=>[t,r[e][t]]):[];i.length===0?e!==S&&t.push(...Object.keys(r[S]).map(e=>[e,r[S][e]])):(n||=!0,t.push(...i))}),n?B(t):null}},U=class{name=`SmartRouter`;#routers=[];#routes=[];constructor(e){this.#routers=e.routers}add(e,t,n){if(!this.#routes)throw Error(T);this.#routes.push([e,t,n])}match(e,t){if(!this.#routes)throw Error(`Fatal error`);let n=this.#routers,r=this.#routes,i=n.length,a=0,o;for(;a<i;a++){let i=n[a];try{for(let e=0,t=r.length;e<t;e++)i.add(...r[e]);o=i.match(e,t)}catch(e){if(e instanceof E)continue;throw e}this.match=i.match.bind(i),this.#routers=[i],this.#routes=void 0;break}if(a===i)throw Error(`Fatal error`);return this.name=`SmartRouter + ${this.activeRouter.name}`,o}get activeRouter(){if(this.#routes||this.#routers.length!==1)throw Error(`No active router has been determined yet.`);return this.#routers[0]}},W=Object.create(null),G=class{#methods;#children;#patterns;#order=0;#params=W;constructor(e,t,n){if(this.#children=n||Object.create(null),this.#methods=[],e&&t){let n=Object.create(null);n[e]={handler:t,possibleKeys:[],score:0},this.#methods=[n]}this.#patterns=[]}insert(t,n,r){this.#order=++this.#order;let i=this,a=e.splitRoutingPath(n),o=[];for(let t=0,n=a.length;t<n;t++){let n=a[t],r=a[t+1],s=e.getPattern(n,r),c=Array.isArray(s)?s[0]:n;if(c in i.#children){i=i.#children[c],s&&o.push(s[1]);continue}i.#children[c]=new G,s&&(i.#patterns.push(s),o.push(s[1])),i=i.#children[c]}return i.#methods.push({[t]:{handler:r,possibleKeys:o.filter((e,t,n)=>n.indexOf(e)===t),score:this.#order}}),i}#getHandlerSets(e,t,n,r){let i=[];for(let a=0,o=e.#methods.length;a<o;a++){let o=e.#methods[a],s=o[t]||o[S],c={};if(s!==void 0&&(s.params=Object.create(null),i.push(s),n!==W||r&&r!==W))for(let e=0,t=s.possibleKeys.length;e<t;e++){let t=s.possibleKeys[e],i=c[s.score];s.params[t]=r?.[t]&&!i?r[t]:n[t]??r?.[t],c[s.score]=!0}}return i}search(t,n){let r=[];this.#params=W;let i=this,a=[i],o=e.splitPath(n),s=[];for(let e=0,n=o.length;e<n;e++){let i=o[e],c=e===n-1,l=[];for(let n=0,u=a.length;n<u;n++){let u=a[n],d=u.#children[i];d&&(d.#params=u.#params,c?(d.#children[`*`]&&r.push(...this.#getHandlerSets(d.#children[`*`],t,u.#params)),r.push(...this.#getHandlerSets(d,t,u.#params))):l.push(d));for(let n=0,a=u.#patterns.length;n<a;n++){let a=u.#patterns[n],d=u.#params===W?{}:{...u.#params};if(a===`*`){let e=u.#children[`*`];e&&(r.push(...this.#getHandlerSets(e,t,u.#params)),e.#params=d,l.push(e));continue}let[f,p,m]=a;if(!i&&!(m instanceof RegExp))continue;let h=u.#children[f],g=o.slice(e).join(`/`);if(m instanceof RegExp){let e=m.exec(g);if(e){if(d[p]=e[0],r.push(...this.#getHandlerSets(h,t,u.#params,d)),Object.keys(h.#children).length){h.#params=d;let t=e[0].match(/\//)?.length??0,n=s[t]||=[];n.push(h)}continue}}(m===!0||m.test(i))&&(d[p]=i,c?(r.push(...this.#getHandlerSets(h,t,d,u.#params)),h.#children[`*`]&&r.push(...this.#getHandlerSets(h.#children[`*`],t,d,u.#params))):(h.#params=d,l.push(h)))}}a=l.concat(s.shift()??[])}return r.length>1&&r.sort((e,t)=>e.score-t.score),[r.map(({handler:e,params:t})=>[e,t])]}},ue=class{name=`TrieRouter`;#node;constructor(){this.#node=new G}add(t,n,r){let i=e.checkOptionalParameter(n);if(i){for(let e=0,n=i.length;e<n;e++)this.#node.insert(t,i[e],r);return}this.#node.insert(t,n,r)}match(e,t){return this.#node.search(e,t)}},K=class extends k{constructor(e={}){super(e),this.router=e.router??new U({routers:[new H,new ue]})}},de=(t,n,r)=>{let i=t.req.raw.headers.get(`Cookie`);if(typeof n==`string`){if(!i)return;let t=n;r===`secure`?t=`__Secure-`+n:r===`host`&&(t=`__Host-`+n);let a=e.parse(i,t);return a[t]}if(!i)return{};let a=e.parse(i);return a},q=class extends Error{res;status;constructor(e=500,t){super(t?.message,{cause:t?.cause}),this.res=t?.res,this.status=e}getResponse(){if(this.res){let e=new Response(this.res.body,{status:this.status,headers:this.res.headers});return e}return new Response(this.message,{status:this.status})}},fe=(e,t)=>{let n=new Response(e,{headers:{"Content-Type":t}});return n.formData()},pe=/^application\/([a-z-\.]+\+)?json(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/,J=/^multipart\/form-data(;\s?boundary=[a-zA-Z0-9'"()+_,\-./:=?]+)?$/,me=/^application\/x-www-form-urlencoded(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/,Y=(e,t)=>async(n,r)=>{let i={},a=n.req.header(`Content-Type`);switch(e){case`json`:if(!a||!pe.test(a))break;try{i=await n.req.json()}catch{throw new q(400,{message:`Malformed JSON in request body`})}break;case`form`:{if(!a||!(J.test(a)||me.test(a)))break;let e;if(n.req.bodyCache.formData)e=await n.req.bodyCache.formData;else try{let t=await n.req.arrayBuffer();e=await fe(t,a),n.req.bodyCache.formData=e}catch(e){let t=`Malformed FormData request.`;throw t+=e instanceof Error?` ${e.message}`:` ${String(e)}`,new q(400,{message:t})}let t={};e.forEach((e,n)=>{n.endsWith(`[]`)?(t[n]??=[]).push(e):Array.isArray(t[n])?t[n].push(e):n in t?t[n]=[t[n],e]:t[n]=e}),i=t;break}case`query`:i=Object.fromEntries(Object.entries(n.req.queries()).map(([e,t])=>t.length===1?[e,t[0]]:[e,t]));break;case`param`:i=n.req.param();break;case`header`:i=n.req.header();break;case`cookie`:i=de(n);break}let o=await t(i,n);if(o instanceof Response)return o;n.req.addValidatedData(e,o),await r()};const X=()=>new K,Z=(e,t)=>e.json({error:t},400),Q=e=>{let t=e.req.param(`key`);return!t||t===``?{key:t,err:`Key is required`}:t.length>128?{key:t,err:`Key is too long. Max length is 128 characters.`}:{key:t}},he=X().get(`/kv/:key`,async e=>{let{key:t,err:n}=Q(e);if(n)return Z(e,n);let r=await e.env.storage.kv.get(t);return e.json({value:r},200)}).post(`/kv/:key`,Y(`json`,(e,t)=>{let n=e.value;return n?typeof n==`string`?n.length>1024?Z(t,`Value is too long. Max length is 1024 characters.`):{value:n}:Z(t,`Value must be a string`):Z(t,`Value is required`)}),async e=>{let{key:t,err:n}=Q(e);if(n)return Z(e,n);let{value:r}=e.req.valid(`json`);return await e.env.storage.kv.set(t,r),e.body(null,204)}).delete(`/kv/:key`,async e=>{let{key:t,err:n}=Q(e);return n?Z(e,n):(await e.env.storage.kv.del(t),e.body(null,204))}),$=e=>{let t=e.req.param(`id`);return t?t.length>128?{id:t,err:`ID is too long. Max length is 128 characters.`}:{id:t}:{id:t,err:`ID is required`}},ge=X().basePath(`/:id`).post(`/`,async e=>{let{id:t,err:n}=$(e);if(n)return Z(e,n);let r=await e.env.chat.upsert(t);return e.json({id:r.id},200)}).post(`/sendMessages`,Y(`json`,(e,t)=>{let n=e.messages;if(!n)return Z(t,`Messages are required`);if(!Array.isArray(n))return Z(t,`Messages must be an array`);if(n.length===0)return Z(t,`Messages must not be empty`);let r=e.behavior;return r!==`enqueue`&&r!==`interrupt`&&r!==`append`?Z(t,`Invalid behavior`):{messages:n,behavior:r}}),async e=>{let{id:t,err:n}=$(e);if(n)return Z(e,n);let{messages:r,behavior:i}=e.req.valid(`json`);return await e.env.chat.sendMessages(t,{messages:r,behavior:i}),e.body(null,204)}),_e=new K().route(`/storage`,he).route(`/chat`,ge);async function ve(e){let t=e?.entrypoint??await a(e?.cwd??process.cwd());if(!t)throw Error(`Unable to locate the entrypoint of the agent. Please specify it manually.`);let n;if(typeof Bun<`u`)n=u(t);else{let{outfile:e}=await i(t);n=u(e)}return d(n)}exports.create=ve;
|
package/dist/test.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{checkOptionalParameter as e,decodeURIComponent_ as t,getPath as n,getPathNoStrict as r,getPattern as i,getQueryParam as a,getQueryParams as o,mergePath as s,parse as c,splitPath as l,splitRoutingPath as u,tryDecode as d}from"./cookie-
|
|
1
|
+
import{checkOptionalParameter as e,decodeURIComponent_ as t,getPath as n,getPathNoStrict as r,getPattern as i,getQueryParam as a,getQueryParams as o,mergePath as s,parse as c,splitPath as l,splitRoutingPath as u,tryDecode as d}from"./cookie-CB9k3Awr.js";import{createRequire as f}from"node:module";import{mkdir as p,readFile as m,stat as h,writeFile as g}from"fs/promises";import{dirname as _,join as v,relative as ee}from"path";import{builtinModules as te}from"module";var y=f(import.meta.url);async function ne(e,{outdir:t}={}){t||=await ie(e);let n=v(t,`agent.js`),r=oe(),i=await r.build({...ae,entryPoints:[e],outfile:n,write:!1});if(i.errors.length>0)throw Error(`Failed to build agent!`);let a=i.outputFiles[0];return await g(n,Buffer.from(a.contents),`utf-8`),{outfile:n}}async function re(e){let t=await b(e,`package.json`);if(!t)throw Error(`No package.json found in ${e}`);let n=JSON.parse(await m(t,`utf-8`)),r=n.main;if(!r)throw Error(`"main" is not set in ${ee(process.cwd(),t)}. It should be set to the entrypoint of your agent.`);let i=v(_(t),r),a=await h(i);if(!a.isFile())throw Error(`${i} is not a file.`);return i}async function ie(e){let t=await b(e,`node_modules`);if(!t){let t=await h(e);return t.isDirectory()?v(e,`.blink`):v(_(e),`.blink`)}let n=v(t,`.blink`);return await p(n,{recursive:!0}),n}async function b(e,t){let n=e;for(;n!==_(n);){let e=v(n,t);try{return await h(e),e}catch{}n=_(n)}}const ae={bundle:!0,format:`esm`,platform:`node`,target:`node22`,mainFields:[`module`,`main`],conditions:[`import`,`module`],plugins:[{name:`blink-esm-require-to-import`,setup(e){e.onEnd(t=>{e.initialOptions.format!==`esm`||e.initialOptions.platform!==`node`||t.outputFiles?.forEach(e=>{if(e.path.endsWith(`.js`)||e.path.endsWith(`.mjs`)){let t=Buffer.from(e.contents).toString(`utf-8`),n=new Map,r=RegExp(`\\b__require\\("(${te.join(`|`)})"\\)`,`gm`);if(t=t.replace(r,(e,t)=>{let r=`__import_${t.toUpperCase().replace(/-/g,`_`)}`;return n.set(t,r),r}),n.size>0){let e=Array.from(n.entries()).map(([e,t])=>`import ${t} from "${e}";`).join(`
|
|
2
2
|
`);t=e+`
|
|
3
3
|
|
|
4
4
|
`+t}e.contents=Buffer.from(t,`utf-8`)}})})}}]},oe=()=>{try{return y(`esbuild`)}catch{throw Error("esbuild is not installed. Please install it with `bun add esbuild`.")}};function x(e){let t=y(e);if(typeof t!=`object`)throw Error(`The module at ${e} must export an object.`);let n=t.default;if(typeof n!=`object`)throw Error(`The module at ${e} must export an object.`);if(!n.version)throw Error(`The module at ${e} must export a "version" property.`);if(typeof n.fetch!=`function`)throw Error(`The module at ${e} must export a "fetch" function.`);return n}function se(e){return new ce(`http://agent.local`,{fetch:async(t,n)=>e.fetch(new Request(t,{...n,duplex:n.body?`half`:void 0}))})}var ce=class{baseUrl;fetch;constructor(e,t){this.baseUrl=e,this.fetch=t?.fetch??fetch}async sendMessages(e,t){return this.fetch(`${this.baseUrl}/_agent/send-messages`,{method:`POST`,body:JSON.stringify(e),signal:t?.signal})}async sendRequest(e){let t=new URL(e.url),n=new Headers(e.headers),r=new URL(this.baseUrl);if(r.pathname=t.pathname,r.search=t.search,t.pathname.startsWith(`/_agent/`))throw Error(`The pathname "/_agent/" is reserved for agent-specific requests.`);return this.fetch(r,{method:e.method,headers:n,body:e.body,duplex:e.body?`half`:void 0})}},S=(e,t,n)=>(r,i)=>{let a=-1;return o(0);async function o(s){if(s<=a)throw Error(`next() called multiple times`);a=s;let c,l=!1,u;if(e[s]?(u=e[s][0][0],r.req.routeIndex=s):u=s===e.length&&i||void 0,u)try{c=await u(r,()=>o(s+1))}catch(e){if(e instanceof Error&&t)r.error=e,c=await t(e,r),l=!0;else throw e}else r.finalized===!1&&n&&(c=await n(r));return c&&(r.finalized===!1||l)&&(r.res=c),r}},le=Symbol(),C=async(e,t=Object.create(null))=>{let{all:n=!1,dot:r=!1}=t,i=e instanceof T?e.raw.headers:e.headers,a=i.get(`Content-Type`);return a?.startsWith(`multipart/form-data`)||a?.startsWith(`application/x-www-form-urlencoded`)?ue(e,{all:n,dot:r}):{}};async function ue(e,t){let n=await e.formData();return n?de(n,t):{}}function de(e,t){let n=Object.create(null);return e.forEach((e,r)=>{let i=t.all||r.endsWith(`[]`);i?fe(n,r,e):n[r]=e}),t.dot&&Object.entries(n).forEach(([e,t])=>{let r=e.includes(`.`);r&&(pe(n,e,t),delete n[e])}),n}var fe=(e,t,n)=>{e[t]===void 0?t.endsWith(`[]`)?e[t]=[n]:e[t]=n:Array.isArray(e[t])?e[t].push(n):e[t]=[e[t],n]},pe=(e,t,n)=>{let r=e,i=t.split(`.`);i.forEach((e,t)=>{t===i.length-1?r[e]=n:((!r[e]||typeof r[e]!=`object`||Array.isArray(r[e])||r[e]instanceof File)&&(r[e]=Object.create(null)),r=r[e])})},w=e=>d(e,t),T=class{raw;#validatedData;#matchResult;routeIndex=0;path;bodyCache={};constructor(e,t=`/`,n=[[]]){this.raw=e,this.path=t,this.#matchResult=n,this.#validatedData={}}param(e){return e?this.#getDecodedParam(e):this.#getAllDecodedParams()}#getDecodedParam(e){let t=this.#matchResult[0][this.routeIndex][1][e],n=this.#getParamValue(t);return n&&/\%/.test(n)?w(n):n}#getAllDecodedParams(){let e={},t=Object.keys(this.#matchResult[0][this.routeIndex][1]);for(let n of t){let t=this.#getParamValue(this.#matchResult[0][this.routeIndex][1][n]);t!==void 0&&(e[n]=/\%/.test(t)?w(t):t)}return e}#getParamValue(e){return this.#matchResult[1]?this.#matchResult[1][e]:e}query(e){return a(this.url,e)}queries(e){return o(this.url,e)}header(e){if(e)return this.raw.headers.get(e)??void 0;let t={};return this.raw.headers.forEach((e,n)=>{t[n]=e}),t}async parseBody(e){return this.bodyCache.parsedBody??=await C(this,e)}#cachedBody=e=>{let{bodyCache:t,raw:n}=this,r=t[e];if(r)return r;let i=Object.keys(t)[0];return i?t[i].then(t=>(i===`json`&&(t=JSON.stringify(t)),new Response(t)[e]())):t[e]=n[e]()};json(){return this.#cachedBody(`text`).then(e=>JSON.parse(e))}text(){return this.#cachedBody(`text`)}arrayBuffer(){return this.#cachedBody(`arrayBuffer`)}blob(){return this.#cachedBody(`blob`)}formData(){return this.#cachedBody(`formData`)}addValidatedData(e,t){this.#validatedData[e]=t}valid(e){return this.#validatedData[e]}get url(){return this.raw.url}get method(){return this.raw.method}get[le](){return this.#matchResult}get matchedRoutes(){return this.#matchResult[0].map(([[,e]])=>e)}get routePath(){return this.#matchResult[0].map(([[,e]])=>e)[this.routeIndex].path}},E={Stringify:1,BeforeStream:2,Stream:3},me=(e,t)=>{let n=new String(e);return n.isEscaped=!0,n.callbacks=t,n},D=async(e,t,n,r,i)=>{typeof e==`object`&&!(e instanceof String)&&(e instanceof Promise||(e=e.toString()),e instanceof Promise&&(e=await e));let a=e.callbacks;if(!a?.length)return Promise.resolve(e);i?i[0]+=e:i=[e];let o=Promise.all(a.map(e=>e({phase:t,buffer:i,context:r}))).then(e=>Promise.all(e.filter(Boolean).map(e=>D(e,t,!1,r,i))).then(()=>i[0]));return n?me(await o,a):o},he=`text/plain; charset=UTF-8`,O=(e,t)=>({"Content-Type":e,...t}),ge=class{#rawRequest;#req;env={};#var;finalized=!1;error;#status;#executionCtx;#res;#layout;#renderer;#notFoundHandler;#preparedHeaders;#matchResult;#path;constructor(e,t){this.#rawRequest=e,t&&(this.#executionCtx=t.executionCtx,this.env=t.env,this.#notFoundHandler=t.notFoundHandler,this.#path=t.path,this.#matchResult=t.matchResult)}get req(){return this.#req??=new T(this.#rawRequest,this.#path,this.#matchResult),this.#req}get event(){if(this.#executionCtx&&`respondWith`in this.#executionCtx)return this.#executionCtx;throw Error(`This context has no FetchEvent`)}get executionCtx(){if(this.#executionCtx)return this.#executionCtx;throw Error(`This context has no ExecutionContext`)}get res(){return this.#res||=new Response(null,{headers:this.#preparedHeaders??=new Headers})}set res(e){if(this.#res&&e){e=new Response(e.body,e);for(let[t,n]of this.#res.headers.entries()){if(t===`content-type`)continue;if(t===`set-cookie`){let t=this.#res.headers.getSetCookie();e.headers.delete(`set-cookie`);for(let n of t)e.headers.append(`set-cookie`,n)}else e.headers.set(t,n)}}this.#res=e,this.finalized=!0}render=(...e)=>(this.#renderer??=e=>this.html(e),this.#renderer(...e));setLayout=e=>this.#layout=e;getLayout=()=>this.#layout;setRenderer=e=>{this.#renderer=e};header=(e,t,n)=>{this.finalized&&(this.#res=new Response(this.#res.body,this.#res));let r=this.#res?this.#res.headers:this.#preparedHeaders??=new Headers;t===void 0?r.delete(e):n?.append?r.append(e,t):r.set(e,t)};status=e=>{this.#status=e};set=(e,t)=>{this.#var??=new Map,this.#var.set(e,t)};get=e=>this.#var?this.#var.get(e):void 0;get var(){return this.#var?Object.fromEntries(this.#var):{}}#newResponse(e,t,n){let r=this.#res?new Headers(this.#res.headers):this.#preparedHeaders??new Headers;if(typeof t==`object`&&`headers`in t){let e=t.headers instanceof Headers?t.headers:new Headers(t.headers);for(let[t,n]of e)t.toLowerCase()===`set-cookie`?r.append(t,n):r.set(t,n)}if(n)for(let[e,t]of Object.entries(n))if(typeof t==`string`)r.set(e,t);else{r.delete(e);for(let n of t)r.append(e,n)}let i=typeof t==`number`?t:t?.status??this.#status;return new Response(e,{status:i,headers:r})}newResponse=(...e)=>this.#newResponse(...e);body=(e,t,n)=>this.#newResponse(e,t,n);text=(e,t,n)=>!this.#preparedHeaders&&!this.#status&&!t&&!n&&!this.finalized?new Response(e):this.#newResponse(e,t,O(he,n));json=(e,t,n)=>this.#newResponse(JSON.stringify(e),t,O(`application/json`,n));html=(e,t,n)=>{let r=e=>this.#newResponse(e,t,O(`text/html; charset=UTF-8`,n));return typeof e==`object`?D(e,E.Stringify,!1,{}).then(r):r(e)};redirect=(e,t)=>{let n=String(e);return this.header(`Location`,/[^\x00-\xFF]/.test(n)?encodeURI(n):n),this.newResponse(null,t??302)};notFound=()=>(this.#notFoundHandler??=()=>new Response,this.#notFoundHandler(this))},k=`ALL`,_e=`all`,ve=[`get`,`post`,`put`,`delete`,`options`,`patch`],A=`Can not add a route since the matcher is already built.`,j=class extends Error{},ye=`__COMPOSED_HANDLER`,M=e=>e.text(`404 Not Found`,404),N=(e,t)=>{if(`getResponse`in e){let n=e.getResponse();return t.newResponse(n.body,n)}return console.error(e),t.text(`Internal Server Error`,500)},P=class{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath=`/`;#path=`/`;routes=[];constructor(e={}){let t=[...ve,_e];t.forEach(e=>{this[e]=(t,...n)=>(typeof t==`string`?this.#path=t:this.#addRoute(e,this.#path,t),n.forEach(t=>{this.#addRoute(e,this.#path,t)}),this)}),this.on=(e,t,...n)=>{for(let r of[t].flat()){this.#path=r;for(let t of[e].flat())n.map(e=>{this.#addRoute(t.toUpperCase(),this.#path,e)})}return this},this.use=(e,...t)=>(typeof e==`string`?this.#path=e:(this.#path=`*`,t.unshift(e)),t.forEach(e=>{this.#addRoute(k,this.#path,e)}),this);let{strict:i,...a}=e;Object.assign(this,a),this.getPath=i??!0?e.getPath??n:r}#clone(){let e=new P({router:this.router,getPath:this.getPath});return e.errorHandler=this.errorHandler,e.#notFoundHandler=this.#notFoundHandler,e.routes=this.routes,e}#notFoundHandler=M;errorHandler=N;route(e,t){let n=this.basePath(e);return t.routes.map(e=>{let r;t.errorHandler===N?r=e.handler:(r=async(n,r)=>(await S([],t.errorHandler)(n,()=>e.handler(n,r))).res,r[ye]=e.handler),n.#addRoute(e.method,e.path,r)}),this}basePath(e){let t=this.#clone();return t._basePath=s(this._basePath,e),t}onError=e=>(this.errorHandler=e,this);notFound=e=>(this.#notFoundHandler=e,this);mount(e,t,n){let r,i;n&&(typeof n==`function`?i=n:(i=n.optionHandler,r=n.replaceRequest===!1?e=>e:n.replaceRequest));let a=i?e=>{let t=i(e);return Array.isArray(t)?t:[t]}:e=>{let t;try{t=e.executionCtx}catch{}return[e.env,t]};r||=(()=>{let t=s(this._basePath,e),n=t===`/`?0:t.length;return e=>{let t=new URL(e.url);return t.pathname=t.pathname.slice(n)||`/`,new Request(t,e)}})();let o=async(e,n)=>{let i=await t(r(e.req.raw),...a(e));if(i)return i;await n()};return this.#addRoute(k,s(e,`*`),o),this}#addRoute(e,t,n){e=e.toUpperCase(),t=s(this._basePath,t);let r={basePath:this._basePath,path:t,method:e,handler:n};this.router.add(e,t,[n,r]),this.routes.push(r)}#handleError(e,t){if(e instanceof Error)return this.errorHandler(e,t);throw e}#dispatch(e,t,n,r){if(r===`HEAD`)return(async()=>new Response(null,await this.#dispatch(e,t,n,`GET`)))();let i=this.getPath(e,{env:n}),a=this.router.match(r,i),o=new ge(e,{path:i,matchResult:a,env:n,executionCtx:t,notFoundHandler:this.#notFoundHandler});if(a[0].length===1){let e;try{e=a[0][0][0][0](o,async()=>{o.res=await this.#notFoundHandler(o)})}catch(e){return this.#handleError(e,o)}return e instanceof Promise?e.then(e=>e||(o.finalized?o.res:this.#notFoundHandler(o))).catch(e=>this.#handleError(e,o)):e??this.#notFoundHandler(o)}let s=S(a[0],this.errorHandler,this.#notFoundHandler);return(async()=>{try{let e=await s(o);if(!e.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return e.res}catch(e){return this.#handleError(e,o)}})()}fetch=(e,...t)=>this.#dispatch(e,t[1],t[0],e.method);request=(e,t,n,r)=>e instanceof Request?this.fetch(t?new Request(e,t):e,n,r):(e=e.toString(),this.fetch(new Request(/^https?:\/\//.test(e)?e:`http://localhost${s(`/`,e)}`,t),n,r));fire=()=>{addEventListener(`fetch`,e=>{e.respondWith(this.#dispatch(e.request,e,void 0,e.request.method))})}},F=`[^/]+`,I=`.*`,L=`(?:|/.*)`,R=Symbol(),be=new Set(`.\\+*[^]$()`);function xe(e,t){return e.length===1?t.length===1?e<t?-1:1:-1:t.length===1||e===I||e===L?1:t===I||t===L?-1:e===F?1:t===F?-1:e.length===t.length?e<t?-1:1:t.length-e.length}var z=class{#index;#varIndex;#children=Object.create(null);insert(e,t,n,r,i){if(e.length===0){if(this.#index!==void 0)throw R;if(i)return;this.#index=t;return}let[a,...o]=e,s=a===`*`?o.length===0?[``,``,I]:[``,``,F]:a===`/*`?[``,``,L]:a.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),c;if(s){let e=s[1],t=s[2]||F;if(e&&s[2]&&(t===`.*`||(t=t.replace(/^\((?!\?:)(?=[^)]+\)$)/,`(?:`),/\((?!\?:)/.test(t))))throw R;if(c=this.#children[t],!c){if(Object.keys(this.#children).some(e=>e!==I&&e!==L))throw R;if(i)return;c=this.#children[t]=new z,e!==``&&(c.#varIndex=r.varIndex++)}!i&&e!==``&&n.push([e,c.#varIndex])}else if(c=this.#children[a],!c){if(Object.keys(this.#children).some(e=>e.length>1&&e!==I&&e!==L))throw R;if(i)return;c=this.#children[a]=new z}c.insert(o,t,n,r,i)}buildRegExpStr(){let e=Object.keys(this.#children).sort(xe),t=e.map(e=>{let t=this.#children[e];return(typeof t.#varIndex==`number`?`(${e})@${t.#varIndex}`:be.has(e)?`\\${e}`:e)+t.buildRegExpStr()});return typeof this.#index==`number`&&t.unshift(`#${this.#index}`),t.length===0?``:t.length===1?t[0]:`(?:`+t.join(`|`)+`)`}},Se=class{#context={varIndex:0};#root=new z;insert(e,t,n){let r=[],i=[];for(let t=0;;){let n=!1;if(e=e.replace(/\{[^}]+\}/g,e=>{let r=`@\\${t}`;return i[t]=[r,e],t++,n=!0,r}),!n)break}let a=e.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let e=i.length-1;e>=0;e--){let[t]=i[e];for(let n=a.length-1;n>=0;n--)if(a[n].indexOf(t)!==-1){a[n]=a[n].replace(t,i[e][1]);break}}return this.#root.insert(a,t,r,this.#context,n),r}buildRegExp(){let e=this.#root.buildRegExpStr();if(e===``)return[/^$/,[],[]];let t=0,n=[],r=[];return e=e.replace(/#(\d+)|@(\d+)|\.\*\$/g,(e,i,a)=>i===void 0?(a===void 0||(r[Number(a)]=++t),``):(n[++t]=Number(i),`$()`)),[RegExp(`^${e}`),n,r]}},B=[],Ce=[/^$/,[],Object.create(null)],V=Object.create(null);function H(e){return V[e]??=RegExp(e===`*`?``:`^${e.replace(/\/\*$|([.\\+*[^\]$()])/g,(e,t)=>t?`\\${t}`:`(?:|/.*)`)}$`)}function we(){V=Object.create(null)}function Te(e){let t=new Se,n=[];if(e.length===0)return Ce;let r=e.map(e=>[!/\*|\/:/.test(e[0]),...e]).sort(([e,t],[n,r])=>e?1:n?-1:t.length-r.length),i=Object.create(null);for(let e=0,a=-1,o=r.length;e<o;e++){let[o,s,c]=r[e];o?i[s]=[c.map(([e])=>[e,Object.create(null)]),B]:a++;let l;try{l=t.insert(s,a,o)}catch(e){throw e===R?new j(s):e}o||(n[a]=c.map(([e,t])=>{let n=Object.create(null);for(--t;t>=0;t--){let[e,r]=l[t];n[e]=r}return[e,n]}))}let[a,o,s]=t.buildRegExp();for(let e=0,t=n.length;e<t;e++)for(let t=0,r=n[e].length;t<r;t++){let r=n[e][t]?.[1];if(!r)continue;let i=Object.keys(r);for(let e=0,t=i.length;e<t;e++)r[i[e]]=s[r[i[e]]]}let c=[];for(let e in o)c[e]=n[o[e]];return[a,c,i]}function U(e,t){if(e){for(let n of Object.keys(e).sort((e,t)=>t.length-e.length))if(H(n).test(t))return[...e[n]]}}var Ee=class{name=`RegExpRouter`;#middleware;#routes;constructor(){this.#middleware={[k]:Object.create(null)},this.#routes={[k]:Object.create(null)}}add(t,n,r){let i=this.#middleware,a=this.#routes;if(!i||!a)throw Error(A);i[t]||[i,a].forEach(e=>{e[t]=Object.create(null),Object.keys(e[k]).forEach(n=>{e[t][n]=[...e[k][n]]})}),n===`/*`&&(n=`*`);let o=(n.match(/\/:/g)||[]).length;if(/\*$/.test(n)){let e=H(n);t===k?Object.keys(i).forEach(e=>{i[e][n]||=U(i[e],n)||U(i[k],n)||[]}):i[t][n]||=U(i[t],n)||U(i[k],n)||[],Object.keys(i).forEach(n=>{(t===k||t===n)&&Object.keys(i[n]).forEach(t=>{e.test(t)&&i[n][t].push([r,o])})}),Object.keys(a).forEach(n=>{(t===k||t===n)&&Object.keys(a[n]).forEach(t=>e.test(t)&&a[n][t].push([r,o]))});return}let s=e(n)||[n];for(let e=0,n=s.length;e<n;e++){let c=s[e];Object.keys(a).forEach(s=>{(t===k||t===s)&&(a[s][c]||=[...U(i[s],c)||U(i[k],c)||[]],a[s][c].push([r,o-n+e+1]))})}}match(e,t){we();let n=this.#buildAllMatchers();return this.match=(e,t)=>{let r=n[e]||n[k],i=r[2][t];if(i)return i;let a=t.match(r[0]);if(!a)return[[],B];let o=a.indexOf(``,1);return[r[1][o],a]},this.match(e,t)}#buildAllMatchers(){let e=Object.create(null);return Object.keys(this.#routes).concat(Object.keys(this.#middleware)).forEach(t=>{e[t]||=this.#buildMatcher(t)}),this.#middleware=this.#routes=void 0,e}#buildMatcher(e){let t=[],n=e===k;return[this.#middleware,this.#routes].forEach(r=>{let i=r[e]?Object.keys(r[e]).map(t=>[t,r[e][t]]):[];i.length===0?e!==k&&t.push(...Object.keys(r[k]).map(e=>[e,r[k][e]])):(n||=!0,t.push(...i))}),n?Te(t):null}},De=class{name=`SmartRouter`;#routers=[];#routes=[];constructor(e){this.#routers=e.routers}add(e,t,n){if(!this.#routes)throw Error(A);this.#routes.push([e,t,n])}match(e,t){if(!this.#routes)throw Error(`Fatal error`);let n=this.#routers,r=this.#routes,i=n.length,a=0,o;for(;a<i;a++){let i=n[a];try{for(let e=0,t=r.length;e<t;e++)i.add(...r[e]);o=i.match(e,t)}catch(e){if(e instanceof j)continue;throw e}this.match=i.match.bind(i),this.#routers=[i],this.#routes=void 0;break}if(a===i)throw Error(`Fatal error`);return this.name=`SmartRouter + ${this.activeRouter.name}`,o}get activeRouter(){if(this.#routes||this.#routers.length!==1)throw Error(`No active router has been determined yet.`);return this.#routers[0]}},W=Object.create(null),G=class{#methods;#children;#patterns;#order=0;#params=W;constructor(e,t,n){if(this.#children=n||Object.create(null),this.#methods=[],e&&t){let n=Object.create(null);n[e]={handler:t,possibleKeys:[],score:0},this.#methods=[n]}this.#patterns=[]}insert(e,t,n){this.#order=++this.#order;let r=this,a=u(t),o=[];for(let e=0,t=a.length;e<t;e++){let t=a[e],n=a[e+1],s=i(t,n),c=Array.isArray(s)?s[0]:t;if(c in r.#children){r=r.#children[c],s&&o.push(s[1]);continue}r.#children[c]=new G,s&&(r.#patterns.push(s),o.push(s[1])),r=r.#children[c]}return r.#methods.push({[e]:{handler:n,possibleKeys:o.filter((e,t,n)=>n.indexOf(e)===t),score:this.#order}}),r}#getHandlerSets(e,t,n,r){let i=[];for(let a=0,o=e.#methods.length;a<o;a++){let o=e.#methods[a],s=o[t]||o[k],c={};if(s!==void 0&&(s.params=Object.create(null),i.push(s),n!==W||r&&r!==W))for(let e=0,t=s.possibleKeys.length;e<t;e++){let t=s.possibleKeys[e],i=c[s.score];s.params[t]=r?.[t]&&!i?r[t]:n[t]??r?.[t],c[s.score]=!0}}return i}search(e,t){let n=[];this.#params=W;let r=this,i=[r],a=l(t),o=[];for(let t=0,r=a.length;t<r;t++){let s=a[t],c=t===r-1,l=[];for(let r=0,u=i.length;r<u;r++){let u=i[r],d=u.#children[s];d&&(d.#params=u.#params,c?(d.#children[`*`]&&n.push(...this.#getHandlerSets(d.#children[`*`],e,u.#params)),n.push(...this.#getHandlerSets(d,e,u.#params))):l.push(d));for(let r=0,i=u.#patterns.length;r<i;r++){let i=u.#patterns[r],d=u.#params===W?{}:{...u.#params};if(i===`*`){let t=u.#children[`*`];t&&(n.push(...this.#getHandlerSets(t,e,u.#params)),t.#params=d,l.push(t));continue}let[f,p,m]=i;if(!s&&!(m instanceof RegExp))continue;let h=u.#children[f],g=a.slice(t).join(`/`);if(m instanceof RegExp){let t=m.exec(g);if(t){if(d[p]=t[0],n.push(...this.#getHandlerSets(h,e,u.#params,d)),Object.keys(h.#children).length){h.#params=d;let e=t[0].match(/\//)?.length??0,n=o[e]||=[];n.push(h)}continue}}(m===!0||m.test(s))&&(d[p]=s,c?(n.push(...this.#getHandlerSets(h,e,d,u.#params)),h.#children[`*`]&&n.push(...this.#getHandlerSets(h.#children[`*`],e,d,u.#params))):(h.#params=d,l.push(h)))}}i=l.concat(o.shift()??[])}return n.length>1&&n.sort((e,t)=>e.score-t.score),[n.map(({handler:e,params:t})=>[e,t])]}},Oe=class{name=`TrieRouter`;#node;constructor(){this.#node=new G}add(t,n,r){let i=e(n);if(i){for(let e=0,n=i.length;e<n;e++)this.#node.insert(t,i[e],r);return}this.#node.insert(t,n,r)}match(e,t){return this.#node.search(e,t)}},K=class extends P{constructor(e={}){super(e),this.router=e.router??new De({routers:[new Ee,new Oe]})}},ke=(e,t,n)=>{let r=e.req.raw.headers.get(`Cookie`);if(typeof t==`string`){if(!r)return;let e=t;n===`secure`?e=`__Secure-`+t:n===`host`&&(e=`__Host-`+t);let i=c(r,e);return i[e]}if(!r)return{};let i=c(r);return i},q=class extends Error{res;status;constructor(e=500,t){super(t?.message,{cause:t?.cause}),this.res=t?.res,this.status=e}getResponse(){if(this.res){let e=new Response(this.res.body,{status:this.status,headers:this.res.headers});return e}return new Response(this.message,{status:this.status})}},J=(e,t)=>{let n=new Response(e,{headers:{"Content-Type":t}});return n.formData()},Ae=/^application\/([a-z-\.]+\+)?json(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/,je=/^multipart\/form-data(;\s?boundary=[a-zA-Z0-9'"()+_,\-./:=?]+)?$/,Me=/^application\/x-www-form-urlencoded(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/,Y=(e,t)=>async(n,r)=>{let i={},a=n.req.header(`Content-Type`);switch(e){case`json`:if(!a||!Ae.test(a))break;try{i=await n.req.json()}catch{throw new q(400,{message:`Malformed JSON in request body`})}break;case`form`:{if(!a||!(je.test(a)||Me.test(a)))break;let e;if(n.req.bodyCache.formData)e=await n.req.bodyCache.formData;else try{let t=await n.req.arrayBuffer();e=await J(t,a),n.req.bodyCache.formData=e}catch(e){let t=`Malformed FormData request.`;throw t+=e instanceof Error?` ${e.message}`:` ${String(e)}`,new q(400,{message:t})}let t={};e.forEach((e,n)=>{n.endsWith(`[]`)?(t[n]??=[]).push(e):Array.isArray(t[n])?t[n].push(e):n in t?t[n]=[t[n],e]:t[n]=e}),i=t;break}case`query`:i=Object.fromEntries(Object.entries(n.req.queries()).map(([e,t])=>t.length===1?[e,t[0]]:[e,t]));break;case`param`:i=n.req.param();break;case`header`:i=n.req.header();break;case`cookie`:i=ke(n);break}let o=await t(i,n);if(o instanceof Response)return o;n.req.addValidatedData(e,o),await r()};const X=()=>new K,Z=(e,t)=>e.json({error:t},400),Q=e=>{let t=e.req.param(`key`);return!t||t===``?{key:t,err:`Key is required`}:t.length>128?{key:t,err:`Key is too long. Max length is 128 characters.`}:{key:t}},Ne=X().get(`/kv/:key`,async e=>{let{key:t,err:n}=Q(e);if(n)return Z(e,n);let r=await e.env.storage.kv.get(t);return e.json({value:r},200)}).post(`/kv/:key`,Y(`json`,(e,t)=>{let n=e.value;return n?typeof n==`string`?n.length>1024?Z(t,`Value is too long. Max length is 1024 characters.`):{value:n}:Z(t,`Value must be a string`):Z(t,`Value is required`)}),async e=>{let{key:t,err:n}=Q(e);if(n)return Z(e,n);let{value:r}=e.req.valid(`json`);return await e.env.storage.kv.set(t,r),e.body(null,204)}).delete(`/kv/:key`,async e=>{let{key:t,err:n}=Q(e);return n?Z(e,n):(await e.env.storage.kv.del(t),e.body(null,204))}),$=e=>{let t=e.req.param(`id`);return t?t.length>128?{id:t,err:`ID is too long. Max length is 128 characters.`}:{id:t}:{id:t,err:`ID is required`}},Pe=X().basePath(`/:id`).post(`/`,async e=>{let{id:t,err:n}=$(e);if(n)return Z(e,n);let r=await e.env.chat.upsert(t);return e.json({id:r.id},200)}).post(`/sendMessages`,Y(`json`,(e,t)=>{let n=e.messages;if(!n)return Z(t,`Messages are required`);if(!Array.isArray(n))return Z(t,`Messages must be an array`);if(n.length===0)return Z(t,`Messages must not be empty`);let r=e.behavior;return r!==`enqueue`&&r!==`interrupt`&&r!==`append`?Z(t,`Invalid behavior`):{messages:n,behavior:r}}),async e=>{let{id:t,err:n}=$(e);if(n)return Z(e,n);let{messages:r,behavior:i}=e.req.valid(`json`);return await e.env.chat.sendMessages(t,{messages:r,behavior:i}),e.body(null,204)});new K().route(`/storage`,Ne).route(`/chat`,Pe);async function Fe(e){let t=e?.entrypoint??await re(e?.cwd??process.cwd());if(!t)throw Error(`Unable to locate the entrypoint of the agent. Please specify it manually.`);let n;if(typeof Bun<`u`)n=x(t);else{let{outfile:e}=await ne(t);n=x(e)}return se(n)}export{Fe as create};
|