blink 1.1.34 → 1.1.36
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/browser/control/index.d.cts +16 -16
- package/dist/browser/control/index.d.ts +16 -16
- package/dist/cli/{dist-Ceoe3h7v.js → auth-B9qq4cSL.js} +108 -65
- package/dist/cli/chat-DY4IWEHl.js +1 -0
- package/dist/cli/{chat-manager-bMAuoSb5.js → chat-manager-CIKM5Z0y.js} +7 -7
- package/dist/cli/{compute-server-BFNeHOmk.js → compute-server-qi2ObZrP.js} +1 -1
- package/dist/cli/config-jZRQMoaY.js +1 -0
- package/dist/cli/connect-CrE2QpMS.js +1 -0
- package/dist/cli/connect-CxdtUbca.js +1 -0
- package/dist/cli/{create-github-app-Dld06QIC.js → create-github-app-BeSDE8GT.js} +2 -2
- package/dist/cli/{dev-9EzQCNmd.js → dev-DRc-HUQD.js} +165 -158
- package/dist/cli/{esm-BiWxO8S7.js → esm-C6nUlmX4.js} +1 -1
- package/dist/cli/{getMachineId-bsd-BfwVPdTh.js → getMachineId-bsd-B09GfpQE.js} +1 -1
- package/dist/cli/{getMachineId-bsd-BmhpEQU_.js → getMachineId-bsd-B5inCcKX.js} +1 -1
- package/dist/cli/{getMachineId-bsd-C1eeoY31.js → getMachineId-bsd-BVOanLuZ.js} +1 -1
- package/dist/cli/{getMachineId-bsd-CO9ne--Y.js → getMachineId-bsd-BXrGuboa.js} +1 -1
- package/dist/cli/getMachineId-bsd-CBL_TGNf.js +1 -0
- package/dist/cli/getMachineId-bsd-CbC9XZ_w.js +1 -0
- package/dist/cli/{getMachineId-bsd-D4uBPoNF.js → getMachineId-bsd-CrOdTUu4.js} +1 -1
- package/dist/cli/getMachineId-bsd-Cxy148LG.js +1 -0
- package/dist/cli/{getMachineId-darwin-C0EZ3sY3.js → getMachineId-darwin-BU-w-BnC.js} +1 -1
- package/dist/cli/{getMachineId-darwin-CSfD7gS4.js → getMachineId-darwin-BWTc5KWy.js} +1 -1
- package/dist/cli/{getMachineId-darwin-CgQ9n4TU.js → getMachineId-darwin-BbUfrHce.js} +1 -1
- package/dist/cli/{getMachineId-darwin-CuAzoP7O.js → getMachineId-darwin-BlZzCAQ6.js} +1 -1
- package/dist/cli/getMachineId-darwin-BmmSRa_d.js +2 -0
- package/dist/cli/{getMachineId-darwin-Cpq0Lloc.js → getMachineId-darwin-UHAuN405.js} +1 -1
- package/dist/cli/getMachineId-darwin-hJWBup80.js +2 -0
- package/dist/cli/getMachineId-darwin-rxU3ohHe.js +2 -0
- package/dist/cli/{getMachineId-linux-B1XJTHUh.js → getMachineId-linux-B4EFTMpj.js} +1 -1
- package/dist/cli/{getMachineId-linux-CRUR6LbQ.js → getMachineId-linux-CKBueRrt.js} +1 -1
- package/dist/cli/{getMachineId-linux-CVQNNGui.js → getMachineId-linux-CNhTYXGA.js} +1 -1
- package/dist/cli/{getMachineId-linux-CtdZRCaX.js → getMachineId-linux-D3K2OTZn.js} +1 -1
- package/dist/cli/getMachineId-linux-DaUV--ii.js +1 -0
- package/dist/cli/getMachineId-linux-DrZ26-WQ.js +1 -0
- package/dist/cli/getMachineId-linux-DzK7jzi5.js +1 -0
- package/dist/cli/getMachineId-linux-fpVhDYCz.js +1 -0
- package/dist/cli/{getMachineId-unsupported-B-xvzil1.js → getMachineId-unsupported-16ooXsXU.js} +1 -1
- package/dist/cli/{getMachineId-unsupported-BA3eQjiV.js → getMachineId-unsupported-72ceFIVM.js} +1 -1
- package/dist/cli/{getMachineId-unsupported-BZCOxs7n.js → getMachineId-unsupported-BKotHSFu.js} +1 -1
- package/dist/cli/{getMachineId-unsupported-BjGFauqb.js → getMachineId-unsupported-BSdFT2aC.js} +1 -1
- package/dist/cli/getMachineId-unsupported-CDM0TBdr.js +1 -0
- package/dist/cli/getMachineId-unsupported-Cw89MFW-.js +1 -0
- package/dist/cli/getMachineId-unsupported-DBSoWxG_.js +1 -0
- package/dist/cli/getMachineId-unsupported-cHJvhp02.js +1 -0
- package/dist/cli/{getMachineId-win-AW-Mv9PG.js → getMachineId-win-BAPC_wWc.js} +1 -1
- package/dist/cli/{getMachineId-win-B_2C1cwE.js → getMachineId-win-Bn_WM7bG.js} +1 -1
- package/dist/cli/{getMachineId-win-CUeKGXdr.js → getMachineId-win-Cc69o1Nq.js} +1 -1
- package/dist/cli/{getMachineId-win-BbYxddZ9.js → getMachineId-win-DR3Dm4-5.js} +1 -1
- package/dist/cli/{getMachineId-win-BkozcdSh.js → getMachineId-win-DdInvJHL.js} +1 -1
- package/dist/cli/getMachineId-win-Dig4HMmA.js +1 -0
- package/dist/cli/getMachineId-win-DwHWO0Id.js +1 -0
- package/dist/cli/getMachineId-win-gVqg_Qhn.js +1 -0
- package/dist/cli/index.js +9 -9
- package/dist/cli/{init-CByRT25U.js → init-CO5TBme9.js} +1 -1
- package/dist/cli/{init-templates-jGRvqLQ6.js → init-templates-Br3bKUNT.js} +3 -3
- package/dist/cli/login-C60LmqjM.js +1 -0
- package/dist/cli/logout-2bj6PyZi.js +1 -0
- package/dist/cli/pull-BGcjDkHJ.js +18 -0
- package/dist/cli/run-SQMvtzUV.js +1 -0
- package/dist/cli/setup-github-app-DOhdofIm.js +9 -0
- package/dist/cli/{token-ClGOahUF.js → token-MaTAy4hv.js} +1 -1
- package/dist/cli/{token-util-h1hcKvQX.js → token-util-Bn01WxFK.js} +1 -1
- package/dist/cli/token-util-DbgI6oFx.js +1 -0
- package/dist/cli/undici-mM2IfLwA.js +1 -0
- package/dist/cli/{util-k3x8m_i5.js → util-DcqmsBrE.js} +1 -1
- package/dist/node/agent/index.node.cjs +1 -1
- package/dist/node/agent/index.node.d.ts +1 -1
- package/dist/node/agent/index.node.js +1 -1
- package/dist/node/build/index.cjs +1 -1
- package/dist/node/build/index.d.ts +1 -1
- package/dist/node/build/index.js +1 -1
- package/dist/node/context-Ch5QyxHM.js +1 -0
- package/dist/node/context-Cp_cUqvc.cjs +1 -0
- package/dist/node/esm-CSXsVdYr.js +1 -0
- package/dist/node/esm-DAl5TNhv.cjs +1 -0
- package/dist/node/{getMachineId-bsd-O0bNSuuh.cjs → getMachineId-bsd-C0y5EQEK.cjs} +1 -1
- package/dist/node/getMachineId-bsd-j5NqIOc8.js +1 -0
- package/dist/node/getMachineId-darwin-EKLAsCHs.js +2 -0
- package/dist/node/{getMachineId-darwin-DivkCgLG.cjs → getMachineId-darwin-QptN2GTZ.cjs} +1 -1
- package/dist/node/{getMachineId-linux-C8A0ak4z.cjs → getMachineId-linux-B7sBt1Ji.cjs} +1 -1
- package/dist/node/getMachineId-linux-BkKZQ4pT.js +1 -0
- package/dist/node/getMachineId-unsupported-C_PGk8nf.js +1 -0
- package/dist/node/{getMachineId-unsupported-DSRCXJha.cjs → getMachineId-unsupported-DwYXVQg7.cjs} +1 -1
- package/dist/node/getMachineId-win-BJspkM2m.js +1 -0
- package/dist/node/{getMachineId-win-B_okYUv6.cjs → getMachineId-win-C2mMnKyH.cjs} +1 -1
- package/dist/node/index.node-CU27y0G9.js +50 -0
- package/dist/node/index.node-DfJSk6zl.cjs +50 -0
- package/dist/node/internal/index.cjs +1 -0
- package/dist/node/internal/index.d.cts +24 -0
- package/dist/node/internal/index.d.ts +24 -0
- package/dist/node/internal/index.js +1 -0
- package/dist/node/react/index.node.cjs +110 -110
- package/dist/node/react/index.node.d.ts +2 -2
- package/dist/node/react/index.node.js +48 -48
- package/dist/node/{token-D4jFpAk0.cjs → token-BQFROC8n.cjs} +1 -1
- package/dist/node/{token-CI2_C_5D.js → token-Qko9jH1t.js} +1 -1
- package/dist/node/token-util-BRjrHLnr.cjs +1 -0
- package/dist/node/{token-util-BxSJFXkT.cjs → token-util-CzDIlVhL.cjs} +1 -1
- package/dist/node/{token-util-ChGcRyiF.js → token-util-DwGWB0np.js} +1 -1
- package/dist/node/{token-util-idU3T5iM.js → token-util-uzFo5Esl.js} +1 -1
- package/package.json +16 -8
- package/dist/cli/auth-DbpOUCTO.js +0 -2
- package/dist/cli/chat-mj0wnV3_.js +0 -1
- package/dist/cli/connect-BnhWpzRI.js +0 -1
- package/dist/cli/connect-Cd-0O7Uu.js +0 -1
- package/dist/cli/getMachineId-bsd-DVGtITCk.js +0 -1
- package/dist/cli/getMachineId-bsd-MA4oFaCa.js +0 -1
- package/dist/cli/getMachineId-bsd-dbToLPez.js +0 -1
- package/dist/cli/getMachineId-darwin-D6_tdcZj.js +0 -2
- package/dist/cli/getMachineId-darwin-DkExT2qu.js +0 -2
- package/dist/cli/getMachineId-darwin-xoAzTD7x.js +0 -2
- package/dist/cli/getMachineId-linux-DMILcDJR.js +0 -1
- package/dist/cli/getMachineId-linux-Deja7F2k.js +0 -1
- package/dist/cli/getMachineId-linux-DqOGXYgv.js +0 -1
- package/dist/cli/getMachineId-linux-FRx9q8NV.js +0 -1
- package/dist/cli/getMachineId-unsupported-CLWxRb7f.js +0 -1
- package/dist/cli/getMachineId-unsupported-CSVFDvWp.js +0 -1
- package/dist/cli/getMachineId-unsupported-Cp_95R-6.js +0 -1
- package/dist/cli/getMachineId-unsupported-Nd0_Z7NT.js +0 -1
- package/dist/cli/getMachineId-win-CPhFagnx.js +0 -1
- package/dist/cli/getMachineId-win-D3-sMfSu.js +0 -1
- package/dist/cli/getMachineId-win-DFVpvzl3.js +0 -1
- package/dist/cli/login-POW3H6LQ.js +0 -1
- package/dist/cli/run-Lp28Ogb_.js +0 -1
- package/dist/cli/setup-github-app-D-K7e6al.js +0 -9
- package/dist/cli/token-util-DIx5k-1f.js +0 -1
- package/dist/cli/undici-JD4hDNWZ.js +0 -1
- package/dist/cli/util-CUfifM0g.js +0 -5
- package/dist/node/esm-0UNjvroT.cjs +0 -1
- package/dist/node/esm-CbZfjZBn.js +0 -1
- package/dist/node/getMachineId-bsd-Ckr9jSoT.js +0 -1
- package/dist/node/getMachineId-darwin-36SFRv2R.js +0 -2
- package/dist/node/getMachineId-linux-ZoT5w75D.js +0 -1
- package/dist/node/getMachineId-unsupported-XVp8oFCM.js +0 -1
- package/dist/node/getMachineId-win-CGqZ4f4O.js +0 -1
- package/dist/node/index.node-Btg8Ii_o.cjs +0 -50
- package/dist/node/index.node-xL4mvvNL.js +0 -50
- package/dist/node/token-util-BENsR1Bn.cjs +0 -1
- /package/dist/cli/{devtools-CwQnB6v7.js → devtools-CS3ukAFj.js} +0 -0
- /package/dist/cli/{execAsync-4IyNgpoN.js → execAsync-9jtK4I3l.js} +0 -0
- /package/dist/cli/{execAsync-B6xSGvuk.js → execAsync-B4_pEoEJ.js} +0 -0
- /package/dist/cli/{execAsync-B8_ZTafx.js → execAsync-BdK7RB6d.js} +0 -0
- /package/dist/cli/{execAsync-B8nelpRN.js → execAsync-Bjxs-bO2.js} +0 -0
- /package/dist/cli/{execAsync-Cj_jF8MF.js → execAsync-CM_C8SBr.js} +0 -0
- /package/dist/cli/{execAsync-Ckbi9Yqe.js → execAsync-CNFaXJjR.js} +0 -0
- /package/dist/cli/{execAsync-CvOpnFex.js → execAsync-Dl3hbWiU.js} +0 -0
- /package/dist/cli/{execAsync-DDBH3pWg.js → execAsync-qGIZ8XA8.js} +0 -0
- /package/dist/cli/{ignore-NA4V6Pjc.js → ignore-ltyKbzfl.js} +0 -0
- /package/dist/cli/{token-error-BHDo_48c.js → token-error-CGIVaIg6.js} +0 -0
- /package/dist/cli/{undici-B5tM_IT9.js → undici-BiTrd9-R.js} +0 -0
- /package/dist/cli/{usingCtx-B1FpoePI.js → usingCtx-CCxav2be.js} +0 -0
- /package/dist/cli/{utils-B3iC7vdW.js → utils-BWKsfIcI.js} +0 -0
- /package/dist/node/{build-EgdtUZTI.cjs → build-BoU84guF.cjs} +0 -0
- /package/dist/node/{build-DYI55eX2.js → build-DBcSkHHH.js} +0 -0
- /package/dist/node/{execAsync-BMxJf0Eg.cjs → execAsync-BN6E2M46.cjs} +0 -0
- /package/dist/node/{execAsync-CY8juV7n.js → execAsync-CoM0jMb2.js} +0 -0
- /package/dist/node/{index-B4OXlWm3.d.ts → index-BcKU69uH.d.ts} +0 -0
- /package/dist/node/{index.node-BbqFCkOX.d.ts → index.node-Cl9AwUCW.d.ts} +0 -0
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import{_usingCtx as e}from"./usingCtx-B1FpoePI.js";import{isAsyncIterable as t}from"./utils-B3iC7vdW.js";import*as n from"node:path";import*as r from"node:fs";import i,{z as a}from"zod/v4";import{ZodFirstPartyTypeKind as o}from"zod/v3";import{stripVTControlCharacters as s}from"node:util";import{convertToModelMessages as c,createUIMessageStream as l,getToolName as u,isToolOrDynamicToolUIPart as d,isToolUIPart as f,readUIMessageStream as p,streamText as m}from"ai";var h=class extends Error{constructor(e,t){super(e),this.response=t}};const g=Object.freeze({withContext(e,t){let n={};for(let r of Object.keys(e))n[r]=e[r].withContext(t);return n},with(e,t){let n={};for(let r of Object.keys(e))n[r]=e[r].withContext(t);return n},async withApproval(e){let n={};for(let[t,r]of Object.entries(e.tools)){let e=r.execute;n[t]={...r,execute:async(t,n)=>r.autoApprove&&e&&await r.autoApprove(t)?e(t,n):{type:`tool-approval`,outcome:`pending`}}}let r=e.messages[e.messages.length-1];if(!r?.parts)return n;let i=[];for(let t of r.parts){if(!f(t))continue;let n=u(t),r=e.tools[n];r&&t.state===`output-available`&&r.execute&&_(t.output)&&t.output.outcome===`approved`&&i.push({toolName:u(t),tool:r,input:t.input,toolCallId:t.toolCallId})}if(i.length>0){let n=l({execute:async({writer:n})=>{n.write({type:`start-step`}),await Promise.all(i.map(async r=>{if(!r.tool.execute)throw Error(`Tool does not support execute.`);n.write({type:`tool-input-available`,toolCallId:r.toolCallId,toolName:r.toolName,input:r.input});try{let i=await r.tool.execute(r.input,{toolCallId:r.toolCallId,messages:c(e.messages,{tools:e.tools}),abortSignal:e.abortSignal}),a=i;if(t(i))for await(let e of i)a=e,n.write({type:`tool-output-available`,toolCallId:r.toolCallId,output:e,preliminary:!0});n.write({type:`tool-output-available`,toolCallId:r.toolCallId,output:a})}catch(e){n.write({type:`tool-output-error`,toolCallId:r.toolCallId,errorText:e instanceof Error?e.message:String(e)})}})),n.write({type:`finish`})}});throw new h(`Executing tools`,n)}return n},prefix(e,t){let n={};for(let[r,i]of Object.entries(e))n[`${t}${r}`]=i;return n}});function _(e){return typeof e==`object`&&!!e&&`type`in e&&e.type===`tool-approval`}var v=e=>{let t=e.split(`/`);return t[0]===``&&t.shift(),t},y=e=>{let{groups:t,path:n}=b(e),r=v(n);return x(r,t)},b=e=>{let t=[];return e=e.replace(/\{[^}]+\}/g,(e,n)=>{let r=`@${n}`;return t.push([r,e]),r}),{groups:t,path:e}},x=(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},S={},C=(e,t)=>{if(e===`*`)return`*`;let n=e.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(n){let r=`${e}#${t}`;return S[r]||(n[2]?S[r]=t&&t[0]!==`:`&&t[0]!==`*`?[r,n[1],RegExp(`^${n[2]}(?=/${t})`)]:[e,n[1],RegExp(`^${n[2]}$`)]:S[r]=[e,n[1],!0]),S[r]}return null},w=(e,t)=>{try{return t(e)}catch{return e.replace(/(?:%[0-9A-Fa-f]{2})+/g,e=>{try{return t(e)}catch{return e}})}},ee=e=>w(e,decodeURI),te=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 ee(i.includes(`%25`)?i.replace(/%25/g,`%2525`):i)}else if(e===63)break}return t.slice(n,r)},ne=e=>{let t=te(e);return t.length>1&&t.at(-1)===`/`?t.slice(0,-1):t},re=(e,t,...n)=>(n.length&&(t=re(t,...n)),`${e?.[0]===`/`?``:`/`}${e}${t===`/`?``:`${e?.at(-1)===`/`?``:`/`}${t?.[0]===`/`?t.slice(1):t}`}`),ie=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)},ae=e=>/[%+]/.test(e)?(e.indexOf(`+`)!==-1&&(e=e.replace(/\+/g,` `)),e.indexOf(`%`)===-1?e:w(e,le)):e,oe=(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 ae(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=ae(s)),a=t,s===``)continue;let c;o===-1?c=``:(c=e.slice(o+1,t===-1?void 0:t),r&&(c=ae(c))),n?(i[s]&&Array.isArray(i[s])||(i[s]=[]),i[s].push(c)):i[s]??=c}return t?i[t]:i},se=oe,ce=(e,t)=>oe(e,t,!0),le=decodeURIComponent,ue=/^[\w!#$%&'*.^`|~+-]+$/,de=/^[ !#-:<-[\]-~]*$/,fe=(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||!ue.test(i))continue;let a=e.substring(n+1).trim();if(a.startsWith(`"`)&&a.endsWith(`"`)&&(a=a.slice(1,-1)),de.test(a)&&(r[i]=a.indexOf(`%`)===-1?a:w(a,le),t))break}return r},pe=(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},me=(e,t,n)=>(t=encodeURIComponent(t),pe(e,t,n));function he(){return/[<>:"/\\|?*\u0000-\u001F]|[. ]$/g}function ge(){return/^(con|prn|aux|nul|com\d|lpt\d)$/i}const _e=/^\.+(\\|\/)|^\.+$/,ve=/[. ]+$/,ye=/[\p{Control}\p{Format}\p{Zl}\p{Zp}\uFFF0-\uFFFF]/gu,be=/[\p{Control}\p{Format}\p{Zl}\p{Zp}\uFFF0-\uFFFF]/u,xe=e=>e===``,Se=/([<>:"/\\|?*\u0000-\u001F]){2,}/g,Ce=/[\t\n\r\u00A0\u1680\u2000-\u200A\u202F\u205F\u3000]+/g;let we;function Te(){return we??=new Intl.Segmenter(void 0,{granularity:`grapheme`}),we}function Ee(e,t={}){if(typeof e!=`string`)throw TypeError(`Expected a string`);let n=t.replacement??`!`;if(he().test(n)||[...n].some(e=>be.test(e)&&!xe(e)))throw Error(`Replacement string cannot contain reserved filename characters`);e=e.normalize(`NFC`),e=e.replaceAll(Ce,` `),n.length>0&&(e=e.replaceAll(Se,`$1`)),e=e.replace(ve,``),e=e.replace(_e,n),e=e.replace(he(),n),e=e.replaceAll(ye,e=>xe(e)?e:n),e.length===0&&(e=n),e=ge().test(e)?e+n:e;let r=typeof t.maxLength==`number`?t.maxLength:100;if(e.length>r){let t=e.lastIndexOf(`.`);if(t===-1)e=De(e,r);else{let n=e.slice(0,t),i=e.slice(t),a=Math.max(0,r-i.length);e=De(n,a)+i}}return e}function De(e,t){if(e.length<=t)return e;let n=0,r=``;for(let{segment:i}of Te().segment(e)){let e=n+i.length;if(e>t)break;r+=i,n=e}return r}function Oe(e){return`${e}.lock`}function ke(e){try{return process.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function T(e,t={}){let n=Oe(e),i=process.pid.toString();try{return r.writeFileSync(n,i,{flag:`wx`}),!0}catch(i){if(i.code!==`EEXIST`)throw i;if(t.stale===0)return!1;let a;try{a=parseInt(r.readFileSync(n,`utf8`),10)}catch{return r.unlinkSync(n),T(e,{...t,stale:0})}if(!ke(a))try{return r.unlinkSync(n),T(e,{...t,stale:0})}catch(n){if(n.code===`ENOENT`)return T(e,{...t,stale:0});throw n}return!1}}async function Ae(e,t={}){let r={stale:!0,retries:0,retryInterval:100,...t},i=n.resolve(e),a=0;for(;a<=r.retries;){if(T(i,r))return()=>je(i);a<r.retries&&await new Promise(e=>setTimeout(e,r.retryInterval)),a++}let o=Error(`Lock file is already being held`);throw o.code=`ELOCKED`,o.file=i,o}function je(e){let t=n.resolve(e),i=Oe(t);try{if(parseInt(r.readFileSync(i,`utf8`),10)!==process.pid){let e=Error(`Lock is not owned by this process`);throw e.code=`ENOTACQUIRED`,e}r.unlinkSync(i)}catch(e){if(e.code===`ENOENT`){let e=Error(`Lock is not acquired`);throw e.code=`ENOTACQUIRED`,e}throw e}}function Me(e){let t=n.resolve(e),i=Oe(t);try{if(!r.existsSync(i))return{locked:!1};let e=r.readFileSync(i,`utf8`),t=parseInt(e,10);return ke(t)?{locked:!0,pid:t}:{locked:!1}}catch(e){return e.code,{locked:!1}}}const Ne=e=>{r.mkdirSync(e,{recursive:!0})},Pe=e=>{try{r.fdatasyncSync(e)}catch{}try{r.closeSync(e)}catch{}},Fe=e=>{try{let t=r.openSync(e,`r`);try{r.fsyncSync(t)}finally{r.closeSync(t)}}catch{}},Ie=(e,t)=>{let i=n.dirname(e);Ne(i);let a=n.join(i,`.tmp-`+process.pid+`-`+Math.random().toString(36).slice(2)),o;try{o=r.openSync(a,`w`),r.writeFileSync(o,t,`utf-8`),Pe(o),o=void 0,r.renameSync(a,e),Fe(e),Fe(i)}catch(e){if(o!==void 0)try{r.closeSync(o)}catch{}try{r.rmSync(a,{force:!0})}catch{}throw e}},Le=(e,t)=>{let i=new Map,a,o=e=>{if(r.statSync(e,{throwIfNoEntry:!1}))return JSON.parse(r.readFileSync(e,`utf-8`))},s=(e,t)=>{Ie(e,JSON.stringify(t,null,2))},c=async()=>{if(a)throw Error(`Index is already locked`);let t=n.join(e,`index.json`);Ne(e),r.existsSync(t)||r.writeFileSync(t,JSON.stringify({ids:{}}),`utf-8`);let i=await Ae(t,{stale:!0,retries:5,retryInterval:100});return a=()=>Promise.resolve(i()),()=>{i(),a=void 0}},l=async()=>{let t=n.join(e,`index.json`),r=o(t)??{ids:{}};return r.ids||={},r},u=async t=>{let r=n.join(e,`index.json`);s(r,t)},d=async t=>{let r=(await l()).ids[t];if(r)return n.join(e,r)},f=async t=>{let i=(await l()).ids[t];if(!i)return;let a=n.join(e,i);if(r.statSync(a,{throwIfNoEntry:!1}))return JSON.parse(r.readFileSync(a,`utf-8`))},p=async r=>{let i=r[t],a=String(i),o=Ee(a,{replacement:`_`})+`.json`,d=await c();try{let t=await l();t.ids[a]=o,t.current=a;let i=n.join(e,o);s(i,r),await u(t)}finally{await d()}};return{async get(e){return await f(e)},async list(){if(!r.statSync(e,{throwIfNoEntry:!1}))return[];let t=await l(),i=[];for(let[a,o]of Object.entries(t.ids)){let t=n.join(e,o),s=r.statSync(t,{throwIfNoEntry:!1});if(!s)continue;let c=Me(t);i.push({key:a,locked:c.locked,pid:c.pid,mtime:s.mtimeMs})}return i.sort((e,t)=>t.mtime-e.mtime),i},async lock(a,o){if(i.has(a))throw Error(`Key "${a}" is already locked in this process`);let s=await d(a);if(!s){let t=Ee(a,{replacement:`_`})+`.json`,i=await c();try{let i=await l();i.ids[a]=t;let o=n.join(e,t);Ne(e),r.writeFileSync(o,JSON.stringify({}),`utf-8`),await u(i),s=o}finally{await i()}}if(o?.force){let e=Me(s);if(e.locked&&e.pid&&e.pid!==process.pid)try{process.kill(e.pid,`SIGTERM`),await new Promise(e=>setTimeout(e,100))}catch(t){t.code!==`ESRCH`&&console.warn(`Failed to kill process ${e.pid}:`,t.message)}}let m=await Ae(s,{stale:!0,retries:o?.force?10:5,retryInterval:(o?.force,100)});return i.set(a,()=>Promise.resolve(m())),{async get(){let e=await f(a);if(!e)throw Error(`Key ${a} not found`);return e},async set(e){await p(e)},async update(e){let n=await f(a);if(!n||!(t in n))throw Error(`Key ${a} not found`);await p({...n,...e})},async delete(){let t=await c();try{let t=await l(),i=t.ids[a];if(i){delete t.ids[a],t.current===a&&(t.current=void 0),await u(t);let o=n.join(e,i);try{r.rmSync(o,{force:!0}),Fe(e)}catch{}}}finally{await t()}},async release(){try{m()}finally{i.delete(a)}}}},dispose(){i.clear()}}},Re=(e,t)=>{let i=t?.pollInterval??200,a=t?.debounce??50,o=new Set,s,c,l=new Map,u=new Map,d=n.join(e,`index.json`),f=()=>{try{if(!r.statSync(d,{throwIfNoEntry:!1}))return{ids:{}};let e=r.readFileSync(d,`utf-8`);return{ids:JSON.parse(e).ids??{}}}catch{return{ids:{}}}},p=(e,t,n,r)=>{for(let i of o)try{i({key:e,value:t,locked:n,pid:r})}catch(e){console.error(`Error in onChange callback:`,e)}},m=(t,i,a=!1)=>{let o=n.join(e,i);try{let e=r.statSync(o,{throwIfNoEntry:!1}),n=u.get(i);if(!e){n&&(u.delete(i),p(t,void 0,!1));return}let s=e.mtimeMs,c=n?{locked:n.locked,pid:n.pid}:{locked:!1,pid:void 0};if((a||!n)&&(c=Me(o)),!n||n.mtime!==s||n.locked!==c.locked||n.pid!==c.pid){let e;e=!n||n.mtime!==s?JSON.parse(r.readFileSync(o,`utf-8`)):n.cachedValue,u.set(i,{mtime:s,key:t,locked:c.locked,pid:c.pid,cachedValue:e}),p(t,e,c.locked,c.pid)}}catch{}},h=()=>{try{let e=f(),t=new Set(Object.keys(e.ids));for(let[t,n]of Object.entries(e.ids))m(t,n,!0);for(let[e,n]of u.entries())t.has(n.key)||(u.delete(e),p(n.key,void 0,!1))}catch{}},g=(e,t,n=!1)=>{let r=l.get(e);r&&clearTimeout(r),l.set(e,setTimeout(()=>{l.delete(e),m(e,t,n)},a))},_=()=>{if(s)return;try{r.mkdirSync(e,{recursive:!0})}catch{}s=r.watch(e,(e,t)=>{if(!t||t.startsWith(`.tmp-`))return;if(t===`index.json`){h();return}if(t.endsWith(`.lock`)){let e=t.replace(`.lock`,``),n=f(),r=Object.keys(n.ids).find(t=>n.ids[t]===e);r&&m(r,e,!0);return}let n=f(),r=Object.keys(n.ids).find(e=>n.ids[e]===t);r&&g(r,t,!1)});let t=()=>{h(),c=setTimeout(t,i)};h(),c=setTimeout(t,i)};return{onChange(e){return o.size===0&&_(),o.add(e),()=>{if(o.delete(e),o.size===0){s&&=(s.close(),void 0),c&&=(clearTimeout(c),void 0);for(let e of l.values())clearTimeout(e);l.clear(),u.clear()}}},dispose(){s&&=(s.close(),void 0),c&&=(clearTimeout(c),void 0);for(let e of l.values())clearTimeout(e);l.clear(),o.clear(),u.clear()}}};var ze=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 Be(e){}function Ve(e){if(typeof e==`function`)throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:t=Be,onError:n=Be,onRetry:r=Be,onComment:i}=e,a=``,o=!0,s,c=``,l=``;function u(e){let t=o?e.replace(/^\xEF\xBB\xBF/,``):e,[n,r]=He(`${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}
|
|
1
|
+
import{_usingCtx as e}from"./usingCtx-CCxav2be.js";import{isAsyncIterable as t}from"./utils-BWKsfIcI.js";import*as n from"node:path";import*as r from"node:fs";import i,{z as a}from"zod/v4";import{ZodFirstPartyTypeKind as o}from"zod/v3";import{stripVTControlCharacters as s}from"node:util";import{convertToModelMessages as c,createUIMessageStream as l,getToolName as u,isToolOrDynamicToolUIPart as d,isToolUIPart as f,readUIMessageStream as p,streamText as m}from"ai";var h=class extends Error{constructor(e,t){super(e),this.response=t}};const g=Object.freeze({withContext(e,t){let n={};for(let r of Object.keys(e))n[r]=e[r].withContext(t);return n},with(e,t){let n={};for(let r of Object.keys(e))n[r]=e[r].withContext(t);return n},async withApproval(e){let n={};for(let[t,r]of Object.entries(e.tools)){let e=r.execute;n[t]={...r,execute:async(t,n)=>r.autoApprove&&e&&await r.autoApprove(t)?e(t,n):{type:`tool-approval`,outcome:`pending`}}}let r=e.messages[e.messages.length-1];if(!r?.parts)return n;let i=[];for(let t of r.parts){if(!f(t))continue;let n=u(t),r=e.tools[n];r&&t.state===`output-available`&&r.execute&&_(t.output)&&t.output.outcome===`approved`&&i.push({toolName:u(t),tool:r,input:t.input,toolCallId:t.toolCallId})}if(i.length>0){let n=l({execute:async({writer:n})=>{n.write({type:`start-step`}),await Promise.all(i.map(async r=>{if(!r.tool.execute)throw Error(`Tool does not support execute.`);n.write({type:`tool-input-available`,toolCallId:r.toolCallId,toolName:r.toolName,input:r.input});try{let i=await r.tool.execute(r.input,{toolCallId:r.toolCallId,messages:c(e.messages,{tools:e.tools}),abortSignal:e.abortSignal}),a=i;if(t(i))for await(let e of i)a=e,n.write({type:`tool-output-available`,toolCallId:r.toolCallId,output:e,preliminary:!0});n.write({type:`tool-output-available`,toolCallId:r.toolCallId,output:a})}catch(e){n.write({type:`tool-output-error`,toolCallId:r.toolCallId,errorText:e instanceof Error?e.message:String(e)})}})),n.write({type:`finish`})}});throw new h(`Executing tools`,n)}return n},prefix(e,t){let n={};for(let[r,i]of Object.entries(e))n[`${t}${r}`]=i;return n}});function _(e){return typeof e==`object`&&!!e&&`type`in e&&e.type===`tool-approval`}var v=e=>{let t=e.split(`/`);return t[0]===``&&t.shift(),t},y=e=>{let{groups:t,path:n}=b(e),r=v(n);return x(r,t)},b=e=>{let t=[];return e=e.replace(/\{[^}]+\}/g,(e,n)=>{let r=`@${n}`;return t.push([r,e]),r}),{groups:t,path:e}},x=(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},S={},C=(e,t)=>{if(e===`*`)return`*`;let n=e.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(n){let r=`${e}#${t}`;return S[r]||(n[2]?S[r]=t&&t[0]!==`:`&&t[0]!==`*`?[r,n[1],RegExp(`^${n[2]}(?=/${t})`)]:[e,n[1],RegExp(`^${n[2]}$`)]:S[r]=[e,n[1],!0]),S[r]}return null},w=(e,t)=>{try{return t(e)}catch{return e.replace(/(?:%[0-9A-Fa-f]{2})+/g,e=>{try{return t(e)}catch{return e}})}},ee=e=>w(e,decodeURI),te=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 ee(i.includes(`%25`)?i.replace(/%25/g,`%2525`):i)}else if(e===63)break}return t.slice(n,r)},ne=e=>{let t=te(e);return t.length>1&&t.at(-1)===`/`?t.slice(0,-1):t},re=(e,t,...n)=>(n.length&&(t=re(t,...n)),`${e?.[0]===`/`?``:`/`}${e}${t===`/`?``:`${e?.at(-1)===`/`?``:`/`}${t?.[0]===`/`?t.slice(1):t}`}`),ie=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)},ae=e=>/[%+]/.test(e)?(e.indexOf(`+`)!==-1&&(e=e.replace(/\+/g,` `)),e.indexOf(`%`)===-1?e:w(e,le)):e,oe=(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 ae(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=ae(s)),a=t,s===``)continue;let c;o===-1?c=``:(c=e.slice(o+1,t===-1?void 0:t),r&&(c=ae(c))),n?(i[s]&&Array.isArray(i[s])||(i[s]=[]),i[s].push(c)):i[s]??=c}return t?i[t]:i},se=oe,ce=(e,t)=>oe(e,t,!0),le=decodeURIComponent,ue=/^[\w!#$%&'*.^`|~+-]+$/,de=/^[ !#-:<-[\]-~]*$/,fe=(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||!ue.test(i))continue;let a=e.substring(n+1).trim();if(a.startsWith(`"`)&&a.endsWith(`"`)&&(a=a.slice(1,-1)),de.test(a)&&(r[i]=a.indexOf(`%`)===-1?a:w(a,le),t))break}return r},pe=(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},me=(e,t,n)=>(t=encodeURIComponent(t),pe(e,t,n));function he(){return/[<>:"/\\|?*\u0000-\u001F]|[. ]$/g}function ge(){return/^(con|prn|aux|nul|com\d|lpt\d)$/i}const _e=/^\.+(\\|\/)|^\.+$/,ve=/[. ]+$/,ye=/[\p{Control}\p{Format}\p{Zl}\p{Zp}\uFFF0-\uFFFF]/gu,be=/[\p{Control}\p{Format}\p{Zl}\p{Zp}\uFFF0-\uFFFF]/u,xe=e=>e===``,Se=/([<>:"/\\|?*\u0000-\u001F]){2,}/g,Ce=/[\t\n\r\u00A0\u1680\u2000-\u200A\u202F\u205F\u3000]+/g;let we;function Te(){return we??=new Intl.Segmenter(void 0,{granularity:`grapheme`}),we}function Ee(e,t={}){if(typeof e!=`string`)throw TypeError(`Expected a string`);let n=t.replacement??`!`;if(he().test(n)||[...n].some(e=>be.test(e)&&!xe(e)))throw Error(`Replacement string cannot contain reserved filename characters`);e=e.normalize(`NFC`),e=e.replaceAll(Ce,` `),n.length>0&&(e=e.replaceAll(Se,`$1`)),e=e.replace(ve,``),e=e.replace(_e,n),e=e.replace(he(),n),e=e.replaceAll(ye,e=>xe(e)?e:n),e.length===0&&(e=n),e=ge().test(e)?e+n:e;let r=typeof t.maxLength==`number`?t.maxLength:100;if(e.length>r){let t=e.lastIndexOf(`.`);if(t===-1)e=De(e,r);else{let n=e.slice(0,t),i=e.slice(t),a=Math.max(0,r-i.length);e=De(n,a)+i}}return e}function De(e,t){if(e.length<=t)return e;let n=0,r=``;for(let{segment:i}of Te().segment(e)){let e=n+i.length;if(e>t)break;r+=i,n=e}return r}function Oe(e){return`${e}.lock`}function ke(e){try{return process.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function T(e,t={}){let n=Oe(e),i=process.pid.toString();try{return r.writeFileSync(n,i,{flag:`wx`}),!0}catch(i){if(i.code!==`EEXIST`)throw i;if(t.stale===0)return!1;let a;try{a=parseInt(r.readFileSync(n,`utf8`),10)}catch{return r.unlinkSync(n),T(e,{...t,stale:0})}if(!ke(a))try{return r.unlinkSync(n),T(e,{...t,stale:0})}catch(n){if(n.code===`ENOENT`)return T(e,{...t,stale:0});throw n}return!1}}async function Ae(e,t={}){let r={stale:!0,retries:0,retryInterval:100,...t},i=n.resolve(e),a=0;for(;a<=r.retries;){if(T(i,r))return()=>je(i);a<r.retries&&await new Promise(e=>setTimeout(e,r.retryInterval)),a++}let o=Error(`Lock file is already being held`);throw o.code=`ELOCKED`,o.file=i,o}function je(e){let t=n.resolve(e),i=Oe(t);try{if(parseInt(r.readFileSync(i,`utf8`),10)!==process.pid){let e=Error(`Lock is not owned by this process`);throw e.code=`ENOTACQUIRED`,e}r.unlinkSync(i)}catch(e){if(e.code===`ENOENT`){let e=Error(`Lock is not acquired`);throw e.code=`ENOTACQUIRED`,e}throw e}}function Me(e){let t=n.resolve(e),i=Oe(t);try{if(!r.existsSync(i))return{locked:!1};let e=r.readFileSync(i,`utf8`),t=parseInt(e,10);return ke(t)?{locked:!0,pid:t}:{locked:!1}}catch(e){return e.code,{locked:!1}}}const Ne=e=>{r.mkdirSync(e,{recursive:!0})},Pe=e=>{try{r.fdatasyncSync(e)}catch{}try{r.closeSync(e)}catch{}},Fe=e=>{try{let t=r.openSync(e,`r`);try{r.fsyncSync(t)}finally{r.closeSync(t)}}catch{}},Ie=(e,t)=>{let i=n.dirname(e);Ne(i);let a=n.join(i,`.tmp-`+process.pid+`-`+Math.random().toString(36).slice(2)),o;try{o=r.openSync(a,`w`),r.writeFileSync(o,t,`utf-8`),Pe(o),o=void 0,r.renameSync(a,e),Fe(e),Fe(i)}catch(e){if(o!==void 0)try{r.closeSync(o)}catch{}try{r.rmSync(a,{force:!0})}catch{}throw e}},Le=(e,t)=>{let i=new Map,a,o=e=>{if(r.statSync(e,{throwIfNoEntry:!1}))return JSON.parse(r.readFileSync(e,`utf-8`))},s=(e,t)=>{Ie(e,JSON.stringify(t,null,2))},c=async()=>{if(a)throw Error(`Index is already locked`);let t=n.join(e,`index.json`);Ne(e),r.existsSync(t)||r.writeFileSync(t,JSON.stringify({ids:{}}),`utf-8`);let i=await Ae(t,{stale:!0,retries:5,retryInterval:100});return a=()=>Promise.resolve(i()),()=>{i(),a=void 0}},l=async()=>{let t=n.join(e,`index.json`),r=o(t)??{ids:{}};return r.ids||={},r},u=async t=>{let r=n.join(e,`index.json`);s(r,t)},d=async t=>{let r=(await l()).ids[t];if(r)return n.join(e,r)},f=async t=>{let i=(await l()).ids[t];if(!i)return;let a=n.join(e,i);if(r.statSync(a,{throwIfNoEntry:!1}))return JSON.parse(r.readFileSync(a,`utf-8`))},p=async r=>{let i=r[t],a=String(i),o=Ee(a,{replacement:`_`})+`.json`,d=await c();try{let t=await l();t.ids[a]=o,t.current=a;let i=n.join(e,o);s(i,r),await u(t)}finally{await d()}};return{async get(e){return await f(e)},async list(){if(!r.statSync(e,{throwIfNoEntry:!1}))return[];let t=await l(),i=[];for(let[a,o]of Object.entries(t.ids)){let t=n.join(e,o),s=r.statSync(t,{throwIfNoEntry:!1});if(!s)continue;let c=Me(t);i.push({key:a,locked:c.locked,pid:c.pid,mtime:s.mtimeMs})}return i.sort((e,t)=>t.mtime-e.mtime),i},async lock(a,o){if(i.has(a))throw Error(`Key "${a}" is already locked in this process`);let s=await d(a);if(!s){let t=Ee(a,{replacement:`_`})+`.json`,i=await c();try{let i=await l();i.ids[a]=t;let o=n.join(e,t);Ne(e),r.writeFileSync(o,JSON.stringify({}),`utf-8`),await u(i),s=o}finally{await i()}}if(o?.force){let e=Me(s);if(e.locked&&e.pid&&e.pid!==process.pid)try{process.kill(e.pid,`SIGTERM`),await new Promise(e=>setTimeout(e,100))}catch(t){t.code!==`ESRCH`&&console.warn(`Failed to kill process ${e.pid}:`,t.message)}}let m=await Ae(s,{stale:!0,retries:o?.force?10:5,retryInterval:(o?.force,100)});return i.set(a,()=>Promise.resolve(m())),{async get(){let e=await f(a);if(!e)throw Error(`Key ${a} not found`);return e},async set(e){await p(e)},async update(e){let n=await f(a);if(!n||!(t in n))throw Error(`Key ${a} not found`);await p({...n,...e})},async delete(){let t=await c();try{let t=await l(),i=t.ids[a];if(i){delete t.ids[a],t.current===a&&(t.current=void 0),await u(t);let o=n.join(e,i);try{r.rmSync(o,{force:!0}),Fe(e)}catch{}}}finally{await t()}},async release(){try{m()}finally{i.delete(a)}}}},dispose(){i.clear()}}},Re=(e,t)=>{let i=t?.pollInterval??200,a=t?.debounce??50,o=new Set,s,c,l=new Map,u=new Map,d=n.join(e,`index.json`),f=()=>{try{if(!r.statSync(d,{throwIfNoEntry:!1}))return{ids:{}};let e=r.readFileSync(d,`utf-8`);return{ids:JSON.parse(e).ids??{}}}catch{return{ids:{}}}},p=(e,t,n,r)=>{for(let i of o)try{i({key:e,value:t,locked:n,pid:r})}catch(e){console.error(`Error in onChange callback:`,e)}},m=(t,i,a=!1)=>{let o=n.join(e,i);try{let e=r.statSync(o,{throwIfNoEntry:!1}),n=u.get(i);if(!e){n&&(u.delete(i),p(t,void 0,!1));return}let s=e.mtimeMs,c=n?{locked:n.locked,pid:n.pid}:{locked:!1,pid:void 0};if((a||!n)&&(c=Me(o)),!n||n.mtime!==s||n.locked!==c.locked||n.pid!==c.pid){let e;e=!n||n.mtime!==s?JSON.parse(r.readFileSync(o,`utf-8`)):n.cachedValue,u.set(i,{mtime:s,key:t,locked:c.locked,pid:c.pid,cachedValue:e}),p(t,e,c.locked,c.pid)}}catch{}},h=()=>{try{let e=f(),t=new Set(Object.keys(e.ids));for(let[t,n]of Object.entries(e.ids))m(t,n,!0);for(let[e,n]of u.entries())t.has(n.key)||(u.delete(e),p(n.key,void 0,!1))}catch{}},g=(e,t,n=!1)=>{let r=l.get(e);r&&clearTimeout(r),l.set(e,setTimeout(()=>{l.delete(e),m(e,t,n)},a))},_=()=>{if(s)return;try{r.mkdirSync(e,{recursive:!0})}catch{}s=r.watch(e,(e,t)=>{if(!t||t.startsWith(`.tmp-`))return;if(t===`index.json`){h();return}if(t.endsWith(`.lock`)){let e=t.replace(`.lock`,``),n=f(),r=Object.keys(n.ids).find(t=>n.ids[t]===e);r&&m(r,e,!0);return}let n=f(),r=Object.keys(n.ids).find(e=>n.ids[e]===t);r&&g(r,t,!1)});let t=()=>{h(),c=setTimeout(t,i)};h(),c=setTimeout(t,i)};return{onChange(e){return o.size===0&&_(),o.add(e),()=>{if(o.delete(e),o.size===0){s&&=(s.close(),void 0),c&&=(clearTimeout(c),void 0);for(let e of l.values())clearTimeout(e);l.clear(),u.clear()}}},dispose(){s&&=(s.close(),void 0),c&&=(clearTimeout(c),void 0);for(let e of l.values())clearTimeout(e);l.clear(),o.clear(),u.clear()}}};var ze=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 Be(e){}function Ve(e){if(typeof e==`function`)throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:t=Be,onError:n=Be,onRetry:r=Be,onComment:i}=e,a=``,o=!0,s,c=``,l=``;function u(e){let t=o?e.replace(/^\xEF\xBB\xBF/,``):e,[n,r]=He(`${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}
|
|
2
2
|
`;break;case`id`:s=t.includes(`\0`)?void 0:t;break;case`retry`:/^\d+$/.test(t)?r(parseInt(t,10)):n(new ze(`Invalid \`retry\` value: "${t}"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new ze(`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(`
|
|
3
3
|
`)?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 He(e){let t=[],n=``,r=0;for(;r<e.length;){let i=e.indexOf(`\r`,r),a=e.indexOf(`
|
|
4
4
|
`,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]===`
|
|
5
5
|
`&&r++}}return[t,n]}var E=class extends TransformStream{constructor({onError:e,onRetry:t,onComment:n}={}){let r;super({start(i){r=Ve({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)}})}},Ue=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),We=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??`);e=e.replace(t,r?`/${r}`:``)}return e},Ge=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(r!==void 0)if(Array.isArray(r))for(let e of r)t.append(n,e);else t.set(n,r);return t},Ke=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},qe=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function D(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Je(e,t){if(!D(e)&&!D(t))return t;let n={...e};for(let e in t){let r=t[e];D(n[e])&&D(r)?n[e]=Je(n[e],r):n[e]=r}return n}var Ye=(e,t)=>new Proxy(()=>{},{get(n,r){if(!(typeof r!=`string`||r===`then`))return Ye(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}}),Xe=class{url;method;queryParams=void 0;pathParams={};rBody;cType=void 0;constructor(e,t){this.url=e,this.method=t}fetch=async(e,t)=>{if(e){if(e.query&&(this.queryParams=Ge(e.query)),e.form){let t=new FormData;for(let[n,r]of Object.entries(e.form))if(Array.isArray(r))for(let e of r)t.append(n,e);else t.append(n,r);this.rBody=t}e.json&&(this.rBody=JSON.stringify(e.json),this.cType=`application/json`),e.param&&(this.pathParams=e.param)}let n=this.method.toUpperCase(),r={...e?.header,...typeof t?.headers==`function`?await t.headers():t?.headers};if(e?.cookie){let t=[];for(let[n,r]of Object.entries(e.cookie))t.push(me(n,r,{path:`/`}));r.Cookie=t.join(`,`)}this.cType&&(r[`Content-Type`]=this.cType);let i=new Headers(r??void 0),a=this.url;a=qe(a),a=We(a,this.pathParams),this.queryParams&&(a=a+`?`+this.queryParams.toString()),n=this.method.toUpperCase();let o=!(n===`GET`||n===`HEAD`);return(t?.fetch||fetch)(a,{body:o?this.rBody:void 0,method:n,headers:i,...t?.init})}},Ze=(e,t)=>Ye(function n(r){let i=[...r.path],a=i.slice(-3).reverse();if(a[0]===`toString`)return a[1]===`name`?a[2]||``:n.toString();if(a[0]===`valueOf`)return a[1]===`name`?a[2]||``:n;let o=``;if(/^\$/.test(a[0])){let e=i.pop();e&&(o=e.replace(/^\$/,``))}let s=i.join(`/`),c=Ue(e,s);if(o===`url`){let e=c;return r.args[0]&&(r.args[0].param&&(e=We(c,r.args[0].param)),r.args[0].query&&(e=e+`?`+Ge(r.args[0].query).toString())),e=qe(e),new URL(e)}if(o===`ws`){let e=Ke(r.args[0]&&r.args[0].param?We(c,r.args[0].param):c,`ws`),n=new URL(e),i=r.args[0]?.query;return i&&Object.entries(i).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.searchParams.append(e,t)):n.searchParams.set(e,t)}),((...e)=>t?.webSocket!==void 0&&typeof t.webSocket==`function`?t.webSocket(...e):new WebSocket(...e))(n.toString())}let l=new Xe(c,o);if(o){t??={};let e=Je(t,{...r.args[1]});return l.fetch(r.args[0],e)}return l},[]),Qe=`vercel.ai.error`,$e=Symbol.for(Qe),et,tt=class e extends Error{constructor({name:e,message:t,cause:n}){super(t),this[et]=!0,this.name=e,this.cause=n}static isInstance(t){return e.hasMarker(t,Qe)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};et=$e;var O=tt,nt=`AI_APICallError`,rt=`vercel.ai.error.${nt}`,it=Symbol.for(rt),at,k=class extends O{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:nt,message:e,cause:o}),this[at]=!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 O.hasMarker(e,rt)}};at=it;var ot=`AI_EmptyResponseBodyError`,st=`vercel.ai.error.${ot}`,ct=Symbol.for(st),lt,A=class extends O{constructor({message:e=`Empty response body`}={}){super({name:ot,message:e}),this[lt]=!0}static isInstance(e){return O.hasMarker(e,st)}};lt=ct;function ut(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.message:JSON.stringify(e)}var dt=`AI_InvalidArgumentError`,ft=`vercel.ai.error.${dt}`,pt=Symbol.for(ft),mt,j=class extends O{constructor({message:e,cause:t,argument:n}){super({name:dt,message:e,cause:t}),this[mt]=!0,this.argument=n}static isInstance(e){return O.hasMarker(e,ft)}};mt=pt;var ht=`AI_InvalidPromptError`,gt=`vercel.ai.error.${ht}`,_t=Symbol.for(gt),vt,yt=class extends O{constructor({prompt:e,message:t,cause:n}){super({name:ht,message:`Invalid prompt: ${t}`,cause:n}),this[vt]=!0,this.prompt=e}static isInstance(e){return O.hasMarker(e,gt)}};vt=_t;var bt=`AI_InvalidResponseDataError`,xt=`vercel.ai.error.${bt}`,St=Symbol.for(xt),Ct,wt=class extends O{constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:bt,message:t}),this[Ct]=!0,this.data=e}static isInstance(e){return O.hasMarker(e,xt)}};Ct=St;var Tt=`AI_JSONParseError`,Et=`vercel.ai.error.${Tt}`,Dt=Symbol.for(Et),Ot,M=class extends O{constructor({text:e,cause:t}){super({name:Tt,message:`JSON parsing failed: Text: ${e}.
|
|
6
|
-
Error message: ${ut(t)}`,cause:t}),this[Ot]=!0,this.text=e}static isInstance(e){return O.hasMarker(e,Et)}};Ot=Dt;var kt=`AI_LoadAPIKeyError`,At=`vercel.ai.error.${kt}`,jt=Symbol.for(At),Mt,N=class extends O{constructor({message:e}){super({name:kt,message:e}),this[Mt]=!0}static isInstance(e){return O.hasMarker(e,At)}};Mt=jt;var Nt=`AI_NoSuchModelError`,Pt=`vercel.ai.error.${Nt}`,Ft=Symbol.for(Pt),It,
|
|
7
|
-
Error message: ${ut(t)}`,cause:t}),this[Gt]=!0,this.value=e}static isInstance(e){return O.hasMarker(e,Ut)}static wrap({value:t,cause:n}){return e.isInstance(n)&&n.value===t?n:new e({value:t,cause:n})}};Gt=Wt;var F=Kt,qt=`AI_UnsupportedFunctionalityError`,Jt=`vercel.ai.error.${qt}`,Yt=Symbol.for(Jt),Xt,I=class extends O{constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:qt,message:t}),this[Xt]=!0,this.functionality=e}static isInstance(e){return O.hasMarker(e,Jt)}};Xt=Yt;function Zt(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function L(e){return Object.fromEntries([...e.headers])}function Qt(e=globalThis){return e.window?`runtime/browser`:e.navigator?.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:e.process?.versions?.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function $t(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function en(e,...t){let n=$t(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}var tn=(({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 j({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`})();function nn(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var rn=[`fetch failed`,`failed to fetch`];function an({error:e,url:t,requestBodyValues:n}){if(nn(e))return e;if(e instanceof TypeError&&rn.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new k({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}var on=`3.0.10`;function sn({apiKey:e,environmentVariableName:t,apiKeyParameterName:n=`apiKey`,description:r}){if(typeof e==`string`)return e;if(e!=null)throw new N({message:`${r} API key must be a string.`});if(typeof process>`u`)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables is not supported in this environment.`});if(e=process.env[t],e==null)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!=`string`)throw new N({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}var cn=/"__proto__"\s*:/,ln=/"constructor"\s*:/;function un(e){let t=JSON.parse(e);return typeof t!=`object`||!t||cn.test(e)===!1&&ln.test(e)===!1?t:dn(t)}function dn(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 fn(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return un(e)}finally{Error.stackTraceLimit=t}}var pn=Symbol.for(`vercel.ai.validator`);function mn(e){return{[pn]:!0,validate:e}}function hn(e){return typeof e==`object`&&!!e&&pn in e&&e[pn]===!0&&`validate`in e}function gn(e){return hn(e)?e:_n(e)}function _n(e){return mn(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new F({value:t,cause:n.issues})}})}async function vn({value:e,schema:t}){let n=await yn({value:e,schema:t});if(!n.success)throw F.wrap({value:e,cause:n.error});return n.value}async function yn({value:e,schema:t}){let n=gn(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:F.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:F.wrap({value:e,cause:t}),rawValue:e}}}async function bn({text:e,schema:t}){try{let n=fn(e);return t==null?n:vn({value:n,schema:t})}catch(t){throw M.isInstance(t)||F.isInstance(t)?t:new M({text:e,cause:t})}}async function xn({text:e,schema:t}){try{let n=fn(e);return t==null?{success:!0,value:n,rawValue:n}:await yn({value:n,schema:t})}catch(t){return{success:!1,error:M.isInstance(t)?t:new M({text:e,cause:t}),rawValue:void 0}}}function Sn({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new E).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await xn({text:e,schema:t}))}}))}async function R({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await yn({value:t[e],schema:n});if(!r.success)throw new j({argument:`providerOptions`,message:`invalid ${e} provider options`,cause:r.error});return r.value}var Cn=()=>globalThis.fetch,wn=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>Tn({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),Tn=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=Cn()})=>{try{let s=await o(e,{method:`POST`,headers:en(t,`ai-sdk/provider-utils/${on}`,Qt()),body:n.content,signal:a}),c=L(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw nn(t)||k.isInstance(t)?t:new k({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(nn(t)||k.isInstance(t))?t:new k({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw an({error:t,url:e,requestBodyValues:n.values})}};function En(e){return e}function z({id:e,name:t,inputSchema:n}){return({execute:r,outputSchema:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>En({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:i,execute:r,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}function Dn({id:e,name:t,inputSchema:n,outputSchema:r}){return({execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>En({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:r,execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}async function On(e){return typeof e==`function`&&(e=e()),Promise.resolve(e)}var kn=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=L(r);if(o.trim()===``)return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await bn({text:o,schema:e});return{responseHeaders:s,value:new k({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},An=e=>async({response:t})=>{let n=L(t);if(t.body==null)throw new A({});return{responseHeaders:n,value:Sn({stream:t.body,schema:e})}},jn=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await xn({text:i,schema:e}),o=L(t);if(!a.success)throw new k({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},{btoa:Mn,atob:Nn}=globalThis;function Pn(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return Mn(t)}function Fn(e){return e instanceof Uint8Array?Pn(e):e}function In(e){return e?.replace(/\/$/,``)}var Ln=`2.0.23`,Rn=a.object({type:a.literal(`error`),error:a.object({type:a.string(),message:a.string()})}),zn=kn({errorSchema:Rn,errorToMessage:e=>e.error.message}),Bn=a.object({citations:a.object({enabled:a.boolean()}).optional(),title:a.string().optional(),context:a.string().optional()}),Vn=a.object({sendReasoning:a.boolean().optional(),thinking:a.object({type:a.union([a.literal(`enabled`),a.literal(`disabled`)]),budgetTokens:a.number().optional()}).optional(),disableParallelToolUse:a.boolean().optional(),cacheControl:a.object({type:a.literal(`ephemeral`),ttl:a.union([a.literal(`5m`),a.literal(`1h`)]).optional()}).optional()});function B(e){let t=e?.anthropic;return t?.cacheControl??t?.cache_control}var Hn=a.object({maxCharacters:a.number().optional()}),Un=z({id:`anthropic.text_editor_20250728`,name:`str_replace_based_edit_tool`,inputSchema:a.object({command:a.enum([`view`,`create`,`str_replace`,`insert`]),path:a.string(),file_text:a.string().optional(),insert_line:a.number().int().optional(),new_str:a.string().optional(),old_str:a.string().optional(),view_range:a.array(a.number().int()).optional()})}),Wn=(e={})=>Un(e),Gn=a.object({maxUses:a.number().optional(),allowedDomains:a.array(a.string()).optional(),blockedDomains:a.array(a.string()).optional(),userLocation:a.object({type:a.literal(`approximate`),city:a.string().optional(),region:a.string().optional(),country:a.string().optional(),timezone:a.string().optional()}).optional()}),Kn=a.array(a.object({url:a.string(),title:a.string(),pageAge:a.string().nullable(),encryptedContent:a.string(),type:a.literal(`web_search_result`)})),qn=Dn({id:`anthropic.web_search_20250305`,name:`web_search`,inputSchema:a.object({query:a.string()}),outputSchema:Kn}),Jn=(e={})=>qn(e),Yn=a.object({maxUses:a.number().optional(),allowedDomains:a.array(a.string()).optional(),blockedDomains:a.array(a.string()).optional(),citations:a.object({enabled:a.boolean()}).optional(),maxContentTokens:a.number().optional()}),Xn=a.object({type:a.literal(`web_fetch_result`),url:a.string(),content:a.object({type:a.literal(`document`),title:a.string(),citations:a.object({enabled:a.boolean()}).optional(),source:a.union([a.object({type:a.literal(`base64`),mediaType:a.literal(`application/pdf`),data:a.string()}),a.object({type:a.literal(`text`),mediaType:a.literal(`text/plain`),data:a.string()})])}),retrievedAt:a.string().nullable()}),Zn=Dn({id:`anthropic.web_fetch_20250910`,name:`web_fetch`,inputSchema:a.object({url:a.string()}),outputSchema:Xn}),Qn=(e={})=>Zn(e);function $n({tools:e,toolChoice:t,disableParallelToolUse:n}){e=e?.length?e:void 0;let r=[],i=new Set;if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r,betas:i};let a=[];for(let t of e)switch(t.type){case`function`:{let e=B(t.providerOptions);a.push({name:t.name,description:t.description,input_schema:t.inputSchema,cache_control:e});break}case`provider-defined`:switch(t.id){case`anthropic.code_execution_20250522`:i.add(`code-execution-2025-05-22`),a.push({type:`code_execution_20250522`,name:`code_execution`});break;case`anthropic.computer_20250124`:i.add(`computer-use-2025-01-24`),a.push({name:`computer`,type:`computer_20250124`,display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber});break;case`anthropic.computer_20241022`:i.add(`computer-use-2024-10-22`),a.push({name:`computer`,type:`computer_20241022`,display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber});break;case`anthropic.text_editor_20250124`:i.add(`computer-use-2025-01-24`),a.push({name:`str_replace_editor`,type:`text_editor_20250124`});break;case`anthropic.text_editor_20241022`:i.add(`computer-use-2024-10-22`),a.push({name:`str_replace_editor`,type:`text_editor_20241022`});break;case`anthropic.text_editor_20250429`:i.add(`computer-use-2025-01-24`),a.push({name:`str_replace_based_edit_tool`,type:`text_editor_20250429`});break;case`anthropic.text_editor_20250728`:{let e=Hn.parse(t.args);a.push({name:`str_replace_based_edit_tool`,type:`text_editor_20250728`,max_characters:e.maxCharacters});break}case`anthropic.bash_20250124`:i.add(`computer-use-2025-01-24`),a.push({name:`bash`,type:`bash_20250124`});break;case`anthropic.bash_20241022`:i.add(`computer-use-2024-10-22`),a.push({name:`bash`,type:`bash_20241022`});break;case`anthropic.web_fetch_20250910`:{i.add(`web-fetch-2025-09-10`);let e=Yn.parse(t.args);a.push({type:`web_fetch_20250910`,name:`web_fetch`,max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,citations:e.citations,max_content_tokens:e.maxContentTokens});break}case`anthropic.web_search_20250305`:{let e=Gn.parse(t.args);a.push({type:`web_search_20250305`,name:`web_search`,max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,user_location:e.userLocation});break}default:r.push({type:`unsupported-tool`,tool:t});break}break;default:r.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:a,toolChoice:n?{type:`auto`,disable_parallel_tool_use:n}:void 0,toolWarnings:r,betas:i};let o=t.type;switch(o){case`auto`:return{tools:a,toolChoice:{type:`auto`,disable_parallel_tool_use:n},toolWarnings:r,betas:i};case`required`:return{tools:a,toolChoice:{type:`any`,disable_parallel_tool_use:n},toolWarnings:r,betas:i};case`none`:return{tools:void 0,toolChoice:void 0,toolWarnings:r,betas:i};case`tool`:return{tools:a,toolChoice:{type:`tool`,name:t.toolName,disable_parallel_tool_use:n},toolWarnings:r,betas:i};default:throw new I({functionality:`tool choice type: ${o}`})}}var er=a.object({type:a.literal(`code_execution_result`),stdout:a.string(),stderr:a.string(),return_code:a.number()}),tr=Dn({id:`anthropic.code_execution_20250522`,name:`code_execution`,inputSchema:a.object({code:a.string()}),outputSchema:er}),nr=(e={})=>tr(e);function rr(e){if(typeof e==`string`)return Buffer.from(e,`base64`).toString(`utf-8`);if(e instanceof Uint8Array)return new TextDecoder().decode(e);throw e instanceof URL?new I({functionality:`URL-based text documents are not supported for citations`}):new I({functionality:`unsupported data type for text documents: ${typeof e}`})}async function ir({prompt:e,sendReasoning:t,warnings:n}){let r=new Set,i=ar(e),a,o=[];async function s(e){return(await R({provider:`anthropic`,providerOptions:e,schema:Bn}))?.citations?.enabled??!1}async function c(e){let t=await R({provider:`anthropic`,providerOptions:e,schema:Bn});return{title:t?.title,context:t?.context}}for(let e=0;e<i.length;e++){let l=i[e],u=e===i.length-1,d=l.type;switch(d){case`system`:if(a!=null)throw new I({functionality:`Multiple system messages that are separated by user/assistant messages`});a=l.messages.map(({content:e,providerOptions:t})=>({type:`text`,text:e,cache_control:B(t)}));break;case`user`:{let e=[];for(let t of l.messages){let{role:n,content:i}=t;switch(n){case`user`:for(let n=0;n<i.length;n++){let a=i[n],o=n===i.length-1,l=B(a.providerOptions)??(o?B(t.providerOptions):void 0);switch(a.type){case`text`:e.push({type:`text`,text:a.text,cache_control:l});break;case`file`:if(a.mediaType.startsWith(`image/`))e.push({type:`image`,source:a.data instanceof URL?{type:`url`,url:a.data.toString()}:{type:`base64`,media_type:a.mediaType===`image/*`?`image/jpeg`:a.mediaType,data:Fn(a.data)},cache_control:l});else if(a.mediaType===`application/pdf`){r.add(`pdfs-2024-09-25`);let t=await s(a.providerOptions),n=await c(a.providerOptions);e.push({type:`document`,source:a.data instanceof URL?{type:`url`,url:a.data.toString()}:{type:`base64`,media_type:`application/pdf`,data:Fn(a.data)},title:n.title??a.filename,...n.context&&{context:n.context},...t&&{citations:{enabled:!0}},cache_control:l})}else if(a.mediaType===`text/plain`){let t=await s(a.providerOptions),n=await c(a.providerOptions);e.push({type:`document`,source:a.data instanceof URL?{type:`url`,url:a.data.toString()}:{type:`text`,media_type:`text/plain`,data:rr(a.data)},title:n.title??a.filename,...n.context&&{context:n.context},...t&&{citations:{enabled:!0}},cache_control:l})}else throw new I({functionality:`media type: ${a.mediaType}`});break}}break;case`tool`:for(let n=0;n<i.length;n++){let r=i[n],a=n===i.length-1,o=B(r.providerOptions)??(a?B(t.providerOptions):void 0),s=r.output,c;switch(s.type){case`content`:c=s.value.map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text,cache_control:void 0};case`media`:if(e.mediaType.startsWith(`image/`))return{type:`image`,source:{type:`base64`,media_type:e.mediaType,data:e.data},cache_control:void 0};throw new I({functionality:`media type: ${e.mediaType}`})}});break;case`text`:case`error-text`:c=s.value;break;case`json`:case`error-json`:default:c=JSON.stringify(s.value);break}e.push({type:`tool_result`,tool_use_id:r.toolCallId,content:c,is_error:s.type===`error-text`||s.type===`error-json`?!0:void 0,cache_control:o})}break;default:{let e=n;throw Error(`Unsupported role: ${e}`)}}}o.push({role:`user`,content:e});break}case`assistant`:{let e=[];for(let r=0;r<l.messages.length;r++){let i=l.messages[r],a=r===l.messages.length-1,{content:o}=i;for(let r=0;r<o.length;r++){let s=o[r],c=r===o.length-1,l=B(s.providerOptions)??(c?B(i.providerOptions):void 0);switch(s.type){case`text`:e.push({type:`text`,text:u&&a&&c?s.text.trim():s.text,cache_control:l});break;case`reasoning`:if(t){let t=await R({provider:`anthropic`,providerOptions:s.providerOptions,schema:pr});t==null?n.push({type:`other`,message:`unsupported reasoning metadata`}):t.signature==null?t.redactedData==null?n.push({type:`other`,message:`unsupported reasoning metadata`}):e.push({type:`redacted_thinking`,data:t.redactedData,cache_control:l}):e.push({type:`thinking`,thinking:s.text,signature:t.signature,cache_control:l})}else n.push({type:`other`,message:`sending reasoning content is disabled for this model`});break;case`tool-call`:if(s.providerExecuted){s.toolName===`code_execution`||s.toolName===`web_fetch`||s.toolName===`web_search`?e.push({type:`server_tool_use`,id:s.toolCallId,name:s.toolName,input:s.input,cache_control:l}):n.push({type:`other`,message:`provider executed tool call for tool ${s.toolName} is not supported`});break}e.push({type:`tool_use`,id:s.toolCallId,name:s.toolName,input:s.input,cache_control:l});break;case`tool-result`:if(s.toolName===`code_execution`){let t=s.output;if(t.type!==`json`){n.push({type:`other`,message:`provider executed tool result output type ${t.type} for tool ${s.toolName} is not supported`});break}let r=er.parse(t.value);e.push({type:`code_execution_tool_result`,tool_use_id:s.toolCallId,content:{type:r.type,stdout:r.stdout,stderr:r.stderr,return_code:r.return_code},cache_control:l});break}if(s.toolName===`web_fetch`){let t=s.output;if(t.type!==`json`){n.push({type:`other`,message:`provider executed tool result output type ${t.type} for tool ${s.toolName} is not supported`});break}let r=Xn.parse(t.value);e.push({type:`web_fetch_tool_result`,tool_use_id:s.toolCallId,content:{type:`web_fetch_result`,url:r.url,retrieved_at:r.retrievedAt,content:{type:`document`,title:r.content.title,citations:r.content.citations,source:{type:r.content.source.type,media_type:r.content.source.mediaType,data:r.content.source.data}}},cache_control:l});break}if(s.toolName===`web_search`){let t=s.output;if(t.type!==`json`){n.push({type:`other`,message:`provider executed tool result output type ${t.type} for tool ${s.toolName} is not supported`});break}let r=Kn.parse(t.value);e.push({type:`web_search_tool_result`,tool_use_id:s.toolCallId,content:r.map(e=>({url:e.url,title:e.title,page_age:e.pageAge,encrypted_content:e.encryptedContent,type:e.type})),cache_control:l});break}n.push({type:`other`,message:`provider executed tool result for tool ${s.toolName} is not supported`});break}}}o.push({role:`assistant`,content:e});break}default:{let e=d;throw Error(`content type: ${e}`)}}}return{prompt:{system:a,messages:o},betas:r}}function ar(e){let t=[],n;for(let r of e){let{role:e}=r;switch(e){case`system`:n?.type!==`system`&&(n={type:`system`,messages:[]},t.push(n)),n.messages.push(r);break;case`assistant`:n?.type!==`assistant`&&(n={type:`assistant`,messages:[]},t.push(n)),n.messages.push(r);break;case`user`:n?.type!==`user`&&(n={type:`user`,messages:[]},t.push(n)),n.messages.push(r);break;case`tool`:n?.type!==`user`&&(n={type:`user`,messages:[]},t.push(n)),n.messages.push(r);break;default:{let t=e;throw Error(`Unsupported role: ${t}`)}}}return t}function or({finishReason:e,isJsonResponseFromTool:t}){switch(e){case`pause_turn`:case`end_turn`:case`stop_sequence`:return`stop`;case`refusal`:return`content-filter`;case`tool_use`:return t?`stop`:`tool-calls`;case`max_tokens`:return`length`;default:return`unknown`}}var V={webSearchResult:a.object({type:a.literal(`web_search_result_location`),cited_text:a.string(),url:a.string(),title:a.string(),encrypted_index:a.string()}),pageLocation:a.object({type:a.literal(`page_location`),cited_text:a.string(),document_index:a.number(),document_title:a.string().nullable(),start_page_number:a.number(),end_page_number:a.number()}),charLocation:a.object({type:a.literal(`char_location`),cited_text:a.string(),document_index:a.number(),document_title:a.string().nullable(),start_char_index:a.number(),end_char_index:a.number()})},sr=a.discriminatedUnion(`type`,[V.webSearchResult,V.pageLocation,V.charLocation]);a.discriminatedUnion(`type`,[V.pageLocation,V.charLocation]);function cr(e,t,n,r){if(e.type===`page_location`||e.type===`char_location`){let i=lr(e,t,n);i&&r(i)}}function lr(e,t,n){let r=t[e.document_index];if(!r)return null;let i=e.type===`page_location`?{citedText:e.cited_text,startPageNumber:e.start_page_number,endPageNumber:e.end_page_number}:{citedText:e.cited_text,startCharIndex:e.start_char_index,endCharIndex:e.end_char_index};return{type:`source`,sourceType:`document`,id:n(),mediaType:r.mediaType,title:e.document_title??r.title,filename:r.filename,providerMetadata:{anthropic:i}}}var ur=class{constructor(e,t){this.specificationVersion=`v2`,this.modelId=e,this.config=t,this.generateId=t.generateId??tn}supportsUrl(e){return e.protocol===`https:`}get provider(){return this.config.provider}get supportedUrls(){var e;return(e=this.config).supportedUrls?.call(e)??{}}async getArgs({prompt:e,maxOutputTokens:t=4096,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,providerOptions:f}){let p=[];a!=null&&p.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&p.push({type:`unsupported-setting`,setting:`presencePenalty`}),l!=null&&p.push({type:`unsupported-setting`,setting:`seed`}),c?.type===`json`&&(c.schema==null?p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format requires a schema. The response format is ignored.`}):u!=null&&p.push({type:`unsupported-setting`,setting:`tools`,details:`JSON response format does not support tools. The provided tools are ignored.`}));let m=c?.type===`json`&&c.schema!=null?{type:`function`,name:`json`,description:`Respond with a JSON object.`,inputSchema:c.schema}:void 0,h=await R({provider:`anthropic`,providerOptions:f,schema:Vn}),{prompt:g,betas:_}=await ir({prompt:e,sendReasoning:h?.sendReasoning??!0,warnings:p}),v=h?.thinking?.type===`enabled`,y=h?.thinking?.budgetTokens,b={model:this.modelId,max_tokens:t,temperature:n,top_k:i,top_p:r,stop_sequences:s,...v&&{thinking:{type:`enabled`,budget_tokens:y}},system:g.system,messages:g.messages};if(v){if(y==null)throw new I({functionality:`thinking requires a budget`});b.temperature!=null&&(b.temperature=void 0,p.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported when thinking is enabled`})),i!=null&&(b.top_k=void 0,p.push({type:`unsupported-setting`,setting:`topK`,details:`topK is not supported when thinking is enabled`})),r!=null&&(b.top_p=void 0,p.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported when thinking is enabled`})),b.max_tokens=t+y}let{tools:x,toolChoice:S,toolWarnings:C,betas:w}=$n(m==null?{tools:u??[],toolChoice:d,disableParallelToolUse:h?.disableParallelToolUse}:{tools:[m],toolChoice:{type:`tool`,toolName:m.name},disableParallelToolUse:!0});return{args:{...b,tools:x,tool_choice:S},warnings:[...p,...C],betas:new Set([..._,...w]),usesJsonResponseTool:m!=null}}async getHeaders({betas:e,headers:t}){return Zt(await On(this.config.headers),e.size>0?{"anthropic-beta":Array.from(e).join(`,`)}:{},t)}buildRequestUrl(e){var t;return(t=this.config).buildRequestUrl?.call(t,this.config.baseURL,e)??`${this.config.baseURL}/messages`}transformRequestBody(e){var t;return(t=this.config).transformRequestBody?.call(t,e)??e}extractCitationDocuments(e){return e.filter(e=>e.role===`user`).flatMap(e=>e.content).filter(e=>e.type!==`file`||e.mediaType!==`application/pdf`&&e.mediaType!==`text/plain`?!1:e.providerOptions?.anthropic?.citations?.enabled??!1).map(e=>{let t=e;return{title:t.filename??`Untitled Document`,filename:t.filename,mediaType:t.mediaType}})}async doGenerate(e){let{args:t,warnings:n,betas:r,usesJsonResponseTool:i}=await this.getArgs(e),a=this.extractCitationDocuments(e.prompt),{responseHeaders:o,value:s,rawValue:c}=await wn({url:this.buildRequestUrl(!1),headers:await this.getHeaders({betas:r,headers:e.headers}),body:this.transformRequestBody(t),failedResponseHandler:zn,successfulResponseHandler:jn(dr),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=[];for(let e of s.content)switch(e.type){case`text`:if(!i&&(l.push({type:`text`,text:e.text}),e.citations))for(let t of e.citations)cr(t,a,this.generateId,e=>l.push(e));break;case`thinking`:l.push({type:`reasoning`,text:e.thinking,providerMetadata:{anthropic:{signature:e.signature}}});break;case`redacted_thinking`:l.push({type:`reasoning`,text:``,providerMetadata:{anthropic:{redactedData:e.data}}});break;case`tool_use`:l.push(i?{type:`text`,text:JSON.stringify(e.input)}:{type:`tool-call`,toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input)});break;case`server_tool_use`:(e.name===`web_search`||e.name===`code_execution`||e.name===`web_fetch`)&&l.push({type:`tool-call`,toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input),providerExecuted:!0});break;case`web_fetch_tool_result`:e.content.type===`web_fetch_result`?l.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_fetch`,result:{type:`web_fetch_result`,url:e.content.url,retrievedAt:e.content.retrieved_at,content:{type:e.content.content.type,title:e.content.content.title,citations:e.content.content.citations,source:{type:e.content.content.source.type,mediaType:e.content.content.source.media_type,data:e.content.content.source.data}}},providerExecuted:!0}):e.content.type===`web_fetch_tool_result_error`&&l.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_fetch`,isError:!0,result:{type:`web_fetch_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});break;case`web_search_tool_result`:if(Array.isArray(e.content)){l.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,result:e.content.map(e=>({url:e.url,title:e.title,pageAge:e.page_age??null,encryptedContent:e.encrypted_content,type:e.type})),providerExecuted:!0});for(let t of e.content)l.push({type:`source`,sourceType:`url`,id:this.generateId(),url:t.url,title:t.title,providerMetadata:{anthropic:{pageAge:t.page_age??null}}})}else l.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,isError:!0,result:{type:`web_search_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});break;case`code_execution_tool_result`:e.content.type===`code_execution_result`?l.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code},providerExecuted:!0}):e.content.type===`code_execution_tool_result_error`&&l.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,isError:!0,result:{type:`code_execution_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});break}return{content:l,finishReason:or({finishReason:s.stop_reason,isJsonResponseFromTool:i}),usage:{inputTokens:s.usage.input_tokens,outputTokens:s.usage.output_tokens,totalTokens:s.usage.input_tokens+s.usage.output_tokens,cachedInputTokens:s.usage.cache_read_input_tokens??void 0},request:{body:t},response:{id:s.id??void 0,modelId:s.model??void 0,headers:o,body:c},warnings:n,providerMetadata:{anthropic:{usage:s.usage,cacheCreationInputTokens:s.usage.cache_creation_input_tokens??null,stopSequence:s.stop_sequence??null}}}}async doStream(e){let{args:t,warnings:n,betas:r,usesJsonResponseTool:i}=await this.getArgs(e),a=this.extractCitationDocuments(e.prompt),o={...t,stream:!0},{responseHeaders:s,value:c}=await wn({url:this.buildRequestUrl(!0),headers:await this.getHeaders({betas:r,headers:e.headers}),body:this.transformRequestBody(o),failedResponseHandler:zn,successfulResponseHandler:An(fr),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=`unknown`,u={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},d={},f,p=null,m=null,h,g=this.generateId;return{stream:c.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let r=t.value;switch(r.type){case`ping`:return;case`content_block_start`:{let e=r.content_block.type;switch(h=e,e){case`text`:d[r.index]={type:`text`},n.enqueue({type:`text-start`,id:String(r.index)});return;case`thinking`:d[r.index]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:String(r.index)});return;case`redacted_thinking`:d[r.index]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:String(r.index),providerMetadata:{anthropic:{redactedData:r.content_block.data}}});return;case`tool_use`:d[r.index]=i?{type:`text`}:{type:`tool-call`,toolCallId:r.content_block.id,toolName:r.content_block.name,input:``},n.enqueue(i?{type:`text-start`,id:String(r.index)}:{type:`tool-input-start`,id:r.content_block.id,toolName:r.content_block.name});return;case`server_tool_use`:(r.content_block.name===`web_fetch`||r.content_block.name===`web_search`||r.content_block.name===`code_execution`)&&(d[r.index]={type:`tool-call`,toolCallId:r.content_block.id,toolName:r.content_block.name,input:``,providerExecuted:!0},n.enqueue({type:`tool-input-start`,id:r.content_block.id,toolName:r.content_block.name,providerExecuted:!0}));return;case`web_fetch_tool_result`:{let e=r.content_block;e.content.type===`web_fetch_result`?n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_fetch`,result:{type:`web_fetch_result`,url:e.content.url,retrievedAt:e.content.retrieved_at,content:{type:e.content.content.type,title:e.content.content.title,citations:e.content.content.citations,source:{type:e.content.content.source.type,mediaType:e.content.content.source.media_type,data:e.content.content.source.data}}}}):e.content.type===`web_fetch_tool_result_error`&&n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_fetch`,isError:!0,result:{type:`web_fetch_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});return}case`web_search_tool_result`:{let e=r.content_block;if(Array.isArray(e.content)){n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,result:e.content.map(e=>({url:e.url,title:e.title,pageAge:e.page_age??null,encryptedContent:e.encrypted_content,type:e.type})),providerExecuted:!0});for(let t of e.content)n.enqueue({type:`source`,sourceType:`url`,id:g(),url:t.url,title:t.title,providerMetadata:{anthropic:{pageAge:t.page_age??null}}})}else n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,isError:!0,result:{type:`web_search_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});return}case`code_execution_tool_result`:{let e=r.content_block;e.content.type===`code_execution_result`?n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code},providerExecuted:!0}):e.content.type===`code_execution_tool_result_error`&&n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,isError:!0,result:{type:`code_execution_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});return}default:{let t=e;throw Error(`Unsupported content block type: ${t}`)}}}case`content_block_stop`:if(d[r.index]!=null){let e=d[r.index];switch(e.type){case`text`:n.enqueue({type:`text-end`,id:String(r.index)});break;case`reasoning`:n.enqueue({type:`reasoning-end`,id:String(r.index)});break;case`tool-call`:i||(n.enqueue({type:`tool-input-end`,id:e.toolCallId}),n.enqueue(e));break}delete d[r.index]}h=void 0;return;case`content_block_delta`:{let e=r.delta.type;switch(e){case`text_delta`:if(i)return;n.enqueue({type:`text-delta`,id:String(r.index),delta:r.delta.text});return;case`thinking_delta`:n.enqueue({type:`reasoning-delta`,id:String(r.index),delta:r.delta.thinking});return;case`signature_delta`:h===`thinking`&&n.enqueue({type:`reasoning-delta`,id:String(r.index),delta:``,providerMetadata:{anthropic:{signature:r.delta.signature}}});return;case`input_json_delta`:{let e=d[r.index],t=r.delta.partial_json;if(i){if(e?.type!==`text`)return;n.enqueue({type:`text-delta`,id:String(r.index),delta:t})}else{if(e?.type!==`tool-call`)return;n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:t}),e.input+=t}return}case`citations_delta`:{let e=r.delta.citation;cr(e,a,g,e=>n.enqueue(e));return}default:{let t=e;throw Error(`Unsupported delta type: ${t}`)}}}case`message_start`:u.inputTokens=r.message.usage.input_tokens,u.cachedInputTokens=r.message.usage.cache_read_input_tokens??void 0,f={...r.message.usage},p=r.message.usage.cache_creation_input_tokens??null,n.enqueue({type:`response-metadata`,id:r.message.id??void 0,modelId:r.message.model??void 0});return;case`message_delta`:u.outputTokens=r.usage.output_tokens,u.totalTokens=(u.inputTokens??0)+(r.usage.output_tokens??0),l=or({finishReason:r.delta.stop_reason,isJsonResponseFromTool:i}),m=r.delta.stop_sequence??null,f={...f,...r.usage};return;case`message_stop`:n.enqueue({type:`finish`,finishReason:l,usage:u,providerMetadata:{anthropic:{usage:f??null,cacheCreationInputTokens:p,stopSequence:m}}});return;case`error`:n.enqueue({type:`error`,error:r.error});return;default:{let e=r;throw Error(`Unsupported chunk type: ${e}`)}}}})),request:{body:o},response:{headers:s}}}},dr=a.object({type:a.literal(`message`),id:a.string().nullish(),model:a.string().nullish(),content:a.array(a.discriminatedUnion(`type`,[a.object({type:a.literal(`text`),text:a.string(),citations:a.array(sr).optional()}),a.object({type:a.literal(`thinking`),thinking:a.string(),signature:a.string()}),a.object({type:a.literal(`redacted_thinking`),data:a.string()}),a.object({type:a.literal(`tool_use`),id:a.string(),name:a.string(),input:a.unknown()}),a.object({type:a.literal(`server_tool_use`),id:a.string(),name:a.string(),input:a.record(a.string(),a.unknown()).nullish()}),a.object({type:a.literal(`web_fetch_tool_result`),tool_use_id:a.string(),content:a.union([a.object({type:a.literal(`web_fetch_result`),url:a.string(),retrieved_at:a.string(),content:a.object({type:a.literal(`document`),title:a.string().nullable(),citations:a.object({enabled:a.boolean()}).optional(),source:a.object({type:a.literal(`text`),media_type:a.string(),data:a.string()})})}),a.object({type:a.literal(`web_fetch_tool_result_error`),error_code:a.string()})])}),a.object({type:a.literal(`web_search_tool_result`),tool_use_id:a.string(),content:a.union([a.array(a.object({type:a.literal(`web_search_result`),url:a.string(),title:a.string(),encrypted_content:a.string(),page_age:a.string().nullish()})),a.object({type:a.literal(`web_search_tool_result_error`),error_code:a.string()})])}),a.object({type:a.literal(`code_execution_tool_result`),tool_use_id:a.string(),content:a.union([a.object({type:a.literal(`code_execution_result`),stdout:a.string(),stderr:a.string(),return_code:a.number()}),a.object({type:a.literal(`code_execution_tool_result_error`),error_code:a.string()})])})])),stop_reason:a.string().nullish(),stop_sequence:a.string().nullish(),usage:a.looseObject({input_tokens:a.number(),output_tokens:a.number(),cache_creation_input_tokens:a.number().nullish(),cache_read_input_tokens:a.number().nullish()})}),fr=a.discriminatedUnion(`type`,[a.object({type:a.literal(`message_start`),message:a.object({id:a.string().nullish(),model:a.string().nullish(),usage:a.looseObject({input_tokens:a.number(),cache_creation_input_tokens:a.number().nullish(),cache_read_input_tokens:a.number().nullish()})})}),a.object({type:a.literal(`content_block_start`),index:a.number(),content_block:a.discriminatedUnion(`type`,[a.object({type:a.literal(`text`),text:a.string()}),a.object({type:a.literal(`thinking`),thinking:a.string()}),a.object({type:a.literal(`tool_use`),id:a.string(),name:a.string()}),a.object({type:a.literal(`redacted_thinking`),data:a.string()}),a.object({type:a.literal(`server_tool_use`),id:a.string(),name:a.string(),input:a.record(a.string(),a.unknown()).nullish()}),a.object({type:a.literal(`web_fetch_tool_result`),tool_use_id:a.string(),content:a.union([a.object({type:a.literal(`web_fetch_result`),url:a.string(),retrieved_at:a.string(),content:a.object({type:a.literal(`document`),title:a.string().nullable(),citations:a.object({enabled:a.boolean()}).optional(),source:a.object({type:a.literal(`text`),media_type:a.string(),data:a.string()})})}),a.object({type:a.literal(`web_fetch_tool_result_error`),error_code:a.string()})])}),a.object({type:a.literal(`web_search_tool_result`),tool_use_id:a.string(),content:a.union([a.array(a.object({type:a.literal(`web_search_result`),url:a.string(),title:a.string(),encrypted_content:a.string(),page_age:a.string().nullish()})),a.object({type:a.literal(`web_search_tool_result_error`),error_code:a.string()})])}),a.object({type:a.literal(`code_execution_tool_result`),tool_use_id:a.string(),content:a.union([a.object({type:a.literal(`code_execution_result`),stdout:a.string(),stderr:a.string(),return_code:a.number()}),a.object({type:a.literal(`code_execution_tool_result_error`),error_code:a.string()})])})])}),a.object({type:a.literal(`content_block_delta`),index:a.number(),delta:a.discriminatedUnion(`type`,[a.object({type:a.literal(`input_json_delta`),partial_json:a.string()}),a.object({type:a.literal(`text_delta`),text:a.string()}),a.object({type:a.literal(`thinking_delta`),thinking:a.string()}),a.object({type:a.literal(`signature_delta`),signature:a.string()}),a.object({type:a.literal(`citations_delta`),citation:sr})])}),a.object({type:a.literal(`content_block_stop`),index:a.number()}),a.object({type:a.literal(`error`),error:a.object({type:a.string(),message:a.string()})}),a.object({type:a.literal(`message_delta`),delta:a.object({stop_reason:a.string().nullish(),stop_sequence:a.string().nullish()}),usage:a.looseObject({output_tokens:a.number(),cache_creation_input_tokens:a.number().nullish()})}),a.object({type:a.literal(`message_stop`)}),a.object({type:a.literal(`ping`)})]),pr=a.object({signature:a.string().optional(),redactedData:a.string().optional()}),mr=z({id:`anthropic.bash_20241022`,name:`bash`,inputSchema:i.object({command:i.string(),restart:i.boolean().optional()})}),hr=z({id:`anthropic.bash_20250124`,name:`bash`,inputSchema:i.object({command:i.string(),restart:i.boolean().optional()})}),gr=z({id:`anthropic.computer_20241022`,name:`computer`,inputSchema:a.object({action:a.enum([`key`,`type`,`mouse_move`,`left_click`,`left_click_drag`,`right_click`,`middle_click`,`double_click`,`screenshot`,`cursor_position`]),coordinate:a.array(a.number().int()).optional(),text:a.string().optional()})}),_r=z({id:`anthropic.computer_20250124`,name:`computer`,inputSchema:a.object({action:a.enum([`key`,`hold_key`,`type`,`cursor_position`,`mouse_move`,`left_mouse_down`,`left_mouse_up`,`left_click`,`left_click_drag`,`right_click`,`middle_click`,`double_click`,`triple_click`,`scroll`,`wait`,`screenshot`]),coordinate:a.tuple([a.number().int(),a.number().int()]).optional(),duration:a.number().optional(),scroll_amount:a.number().optional(),scroll_direction:a.enum([`up`,`down`,`left`,`right`]).optional(),start_coordinate:a.tuple([a.number().int(),a.number().int()]).optional(),text:a.string().optional()})}),vr=z({id:`anthropic.text_editor_20241022`,name:`str_replace_editor`,inputSchema:a.object({command:a.enum([`view`,`create`,`str_replace`,`insert`,`undo_edit`]),path:a.string(),file_text:a.string().optional(),insert_line:a.number().int().optional(),new_str:a.string().optional(),old_str:a.string().optional(),view_range:a.array(a.number().int()).optional()})}),yr=z({id:`anthropic.text_editor_20250124`,name:`str_replace_editor`,inputSchema:a.object({command:a.enum([`view`,`create`,`str_replace`,`insert`,`undo_edit`]),path:a.string(),file_text:a.string().optional(),insert_line:a.number().int().optional(),new_str:a.string().optional(),old_str:a.string().optional(),view_range:a.array(a.number().int()).optional()})}),br=z({id:`anthropic.text_editor_20250429`,name:`str_replace_based_edit_tool`,inputSchema:a.object({command:a.enum([`view`,`create`,`str_replace`,`insert`]),path:a.string(),file_text:a.string().optional(),insert_line:a.number().int().optional(),new_str:a.string().optional(),old_str:a.string().optional(),view_range:a.array(a.number().int()).optional()})}),xr={bash_20241022:mr,bash_20250124:hr,codeExecution_20250522:nr,computer_20241022:gr,computer_20250124:_r,textEditor_20241022:vr,textEditor_20250124:yr,textEditor_20250429:br,textEditor_20250728:Wn,webFetch_20250910:Qn,webSearch_20250305:Jn};function Sr(e={}){let t=In(e.baseURL)??`https://api.anthropic.com/v1`,n=()=>en({"anthropic-version":`2023-06-01`,"x-api-key":sn({apiKey:e.apiKey,environmentVariableName:`ANTHROPIC_API_KEY`,description:`Anthropic`}),...e.headers},`ai-sdk/anthropic/${Ln}`),r=r=>new ur(r,{provider:`anthropic.messages`,baseURL:t,headers:n,fetch:e.fetch,generateId:e.generateId??tn,supportedUrls:()=>({"image/*":[/^https?:\/\/.*$/]})}),i=function(e){if(new.target)throw Error(`The Anthropic model function cannot be called with the new keyword.`);return r(e)};return i.languageModel=r,i.chat=r,i.messages=r,i.textEmbeddingModel=e=>{throw new P({modelId:e,modelType:`textEmbeddingModel`})},i.imageModel=e=>{throw new P({modelId:e,modelType:`imageModel`})},i.tools=xr,i}Sr();function Cr(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function wr(e){return Object.fromEntries([...e.headers])}function Tr(e=globalThis){return e.window?`runtime/browser`:e.navigator?.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:e.process?.versions?.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function Er(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function Dr(e,...t){let n=Er(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}var Or=(({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 j({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`})();function kr(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var Ar=[`fetch failed`,`failed to fetch`];function jr({error:e,url:t,requestBodyValues:n}){if(kr(e))return e;if(e instanceof TypeError&&Ar.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new k({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}var Mr=`3.0.10`;function Nr({apiKey:e,environmentVariableName:t,apiKeyParameterName:n=`apiKey`,description:r}){if(typeof e==`string`)return e;if(e!=null)throw new N({message:`${r} API key must be a string.`});if(typeof process>`u`)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables is not supported in this environment.`});if(e=process.env[t],e==null)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!=`string`)throw new N({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}var Pr=/"__proto__"\s*:/,Fr=/"constructor"\s*:/;function Ir(e){let t=JSON.parse(e);return typeof t!=`object`||!t||Pr.test(e)===!1&&Fr.test(e)===!1?t:Lr(t)}function Lr(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 Rr(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return Ir(e)}finally{Error.stackTraceLimit=t}}var zr=Symbol.for(`vercel.ai.validator`);function Br(e){return{[zr]:!0,validate:e}}function Vr(e){return typeof e==`object`&&!!e&&zr in e&&e[zr]===!0&&`validate`in e}function Hr(e){return Vr(e)?e:Ur(e)}function Ur(e){return Br(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new F({value:t,cause:n.issues})}})}async function Wr({value:e,schema:t}){let n=await Gr({value:e,schema:t});if(!n.success)throw F.wrap({value:e,cause:n.error});return n.value}async function Gr({value:e,schema:t}){let n=Hr(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:F.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:F.wrap({value:e,cause:t}),rawValue:e}}}async function Kr({text:e,schema:t}){try{let n=Rr(e);return t==null?n:Wr({value:n,schema:t})}catch(t){throw M.isInstance(t)||F.isInstance(t)?t:new M({text:e,cause:t})}}async function qr({text:e,schema:t}){try{let n=Rr(e);return t==null?{success:!0,value:n,rawValue:n}:await Gr({value:n,schema:t})}catch(t){return{success:!1,error:M.isInstance(t)?t:new M({text:e,cause:t}),rawValue:void 0}}}function Jr({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new E).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await qr({text:e,schema:t}))}}))}async function Yr({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await Gr({value:t[e],schema:n});if(!r.success)throw new j({argument:`providerOptions`,message:`invalid ${e} provider options`,cause:r.error});return r.value}var Xr=()=>globalThis.fetch,H=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>Zr({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),Zr=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=Xr()})=>{try{let s=await o(e,{method:`POST`,headers:Dr(t,`ai-sdk/provider-utils/${Mr}`,Tr()),body:n.content,signal:a}),c=wr(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw kr(t)||k.isInstance(t)?t:new k({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(kr(t)||k.isInstance(t))?t:new k({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw jr({error:t,url:e,requestBodyValues:n.values})}};function Qr(e){return e}function $r({id:e,name:t,inputSchema:n}){return({execute:r,outputSchema:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>Qr({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:i,execute:r,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}function ei({id:e,name:t,inputSchema:n,outputSchema:r}){return({execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>Qr({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:r,execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}async function ti(e){return typeof e==`function`&&(e=e()),Promise.resolve(e)}var ni=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=wr(r);if(o.trim()===``)return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await Kr({text:o,schema:e});return{responseHeaders:s,value:new k({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},ri=e=>async({response:t})=>{let n=wr(t);if(t.body==null)throw new A({});return{responseHeaders:n,value:Jr({stream:t.body,schema:e})}},ii=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await qr({text:i,schema:e}),o=wr(t);if(!a.success)throw new k({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},{btoa:ai,atob:oi}=globalThis;function si(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return ai(t)}function ci(e){return e instanceof Uint8Array?si(e):e}function li(e){return e?.replace(/\/$/,``)}var ui=`2.0.17`,di=a.object({error:a.object({code:a.number().nullable(),message:a.string(),status:a.string()})}),U=ni({errorSchema:di,errorToMessage:e=>e.error.message}),fi=a.object({outputDimensionality:a.number().optional(),taskType:a.enum([`SEMANTIC_SIMILARITY`,`CLASSIFICATION`,`CLUSTERING`,`RETRIEVAL_DOCUMENT`,`RETRIEVAL_QUERY`,`QUESTION_ANSWERING`,`FACT_VERIFICATION`,`CODE_RETRIEVAL_QUERY`]).optional()}),pi=class{constructor(e,t){this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){let i=await Yr({provider:`google`,providerOptions:r,schema:fi});if(e.length>this.maxEmbeddingsPerCall)throw new Vt({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=Cr(await ti(this.config.headers),t);if(e.length===1){let{responseHeaders:t,value:r,rawValue:o}=await H({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:a,body:{model:`models/${this.modelId}`,content:{parts:[{text:e[0]}]},outputDimensionality:i?.outputDimensionality,taskType:i?.taskType},failedResponseHandler:U,successfulResponseHandler:ii(hi),abortSignal:n,fetch:this.config.fetch});return{embeddings:[r.embedding.values],usage:void 0,response:{headers:t,body:o}}}let{responseHeaders:o,value:s,rawValue:c}=await H({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:a,body:{requests:e.map(e=>({model:`models/${this.modelId}`,content:{role:`user`,parts:[{text:e}]},outputDimensionality:i?.outputDimensionality,taskType:i?.taskType}))},failedResponseHandler:U,successfulResponseHandler:ii(mi),abortSignal:n,fetch:this.config.fetch});return{embeddings:s.embeddings.map(e=>e.values),usage:void 0,response:{headers:o,body:c}}}},mi=a.object({embeddings:a.array(a.object({values:a.array(a.number())}))}),hi=a.object({embedding:a.object({values:a.array(a.number())})});function W(e){if(e==null||gi(e))return;if(typeof e==`boolean`)return{type:`boolean`,properties:{}};let{type:t,description:n,required:r,properties:i,items:a,allOf:o,anyOf:s,oneOf:c,format:l,const:u,minLength:d,enum:f}=e,p={};if(n&&(p.description=n),r&&(p.required=r),l&&(p.format=l),u!==void 0&&(p.enum=[u]),t&&(Array.isArray(t)?t.includes(`null`)?(p.type=t.filter(e=>e!==`null`)[0],p.nullable=!0):p.type=t:t===`null`?p.type=`null`:p.type=t),f!==void 0&&(p.enum=f),i!=null&&(p.properties=Object.entries(i).reduce((e,[t,n])=>(e[t]=W(n),e),{})),a&&(p.items=Array.isArray(a)?a.map(W):W(a)),o&&(p.allOf=o.map(W)),s)if(s.some(e=>typeof e==`object`&&e?.type===`null`)){let e=s.filter(e=>!(typeof e==`object`&&e?.type===`null`));if(e.length===1){let t=W(e[0]);typeof t==`object`&&(p.nullable=!0,Object.assign(p,t))}else p.anyOf=e.map(W),p.nullable=!0}else p.anyOf=s.map(W);return c&&(p.oneOf=c.map(W)),d!==void 0&&(p.minLength=d),p}function gi(e){return typeof e==`object`&&!!e&&e.type===`object`&&(e.properties==null||Object.keys(e.properties).length===0)&&!e.additionalProperties}function _i(e,t){let n=[],r=[],i=!0,a=t?.isGemmaModel??!1;for(let{role:t,content:a}of e)switch(t){case`system`:if(!i)throw new I({functionality:`system messages are only supported at the beginning of the conversation`});n.push({text:a});break;case`user`:{i=!1;let e=[];for(let t of a)switch(t.type){case`text`:e.push({text:t.text});break;case`file`:{let n=t.mediaType===`image/*`?`image/jpeg`:t.mediaType;e.push(t.data instanceof URL?{fileData:{mimeType:n,fileUri:t.data.toString()}}:{inlineData:{mimeType:n,data:ci(t.data)}});break}}r.push({role:`user`,parts:e});break}case`assistant`:i=!1,r.push({role:`model`,parts:a.map(e=>{switch(e.type){case`text`:return e.text.length===0?void 0:{text:e.text,thoughtSignature:e.providerOptions?.google?.thoughtSignature};case`reasoning`:return e.text.length===0?void 0:{text:e.text,thought:!0,thoughtSignature:e.providerOptions?.google?.thoughtSignature};case`file`:if(e.mediaType!==`image/png`)throw new I({functionality:`Only PNG images are supported in assistant messages`});if(e.data instanceof URL)throw new I({functionality:`File data URLs in assistant messages are not supported`});return{inlineData:{mimeType:e.mediaType,data:ci(e.data)}};case`tool-call`:return{functionCall:{name:e.toolName,args:e.input},thoughtSignature:e.providerOptions?.google?.thoughtSignature}}}).filter(e=>e!==void 0)});break;case`tool`:{i=!1;let e=[];for(let t of a){let n=t.output;if(n.type===`content`)for(let r of n.value)switch(r.type){case`text`:e.push({functionResponse:{name:t.toolName,response:{name:t.toolName,content:r.text}}});break;case`media`:e.push({inlineData:{mimeType:r.mediaType,data:r.data}},{text:`Tool executed successfully and returned this image as a response`});break;default:e.push({text:JSON.stringify(r)});break}else e.push({functionResponse:{name:t.toolName,response:{name:t.toolName,content:n.value}}})}r.push({role:`user`,parts:e});break}}if(a&&n.length>0&&r.length>0&&r[0].role===`user`){let e=n.map(e=>e.text).join(`
|
|
6
|
+
Error message: ${ut(t)}`,cause:t}),this[Ot]=!0,this.text=e}static isInstance(e){return O.hasMarker(e,Et)}};Ot=Dt;var kt=`AI_LoadAPIKeyError`,At=`vercel.ai.error.${kt}`,jt=Symbol.for(At),Mt,N=class extends O{constructor({message:e}){super({name:kt,message:e}),this[Mt]=!0}static isInstance(e){return O.hasMarker(e,At)}};Mt=jt;var Nt=`AI_NoSuchModelError`,Pt=`vercel.ai.error.${Nt}`,Ft=Symbol.for(Pt),It,Lt=class extends O{constructor({errorName:e=Nt,modelId:t,modelType:n,message:r=`No such ${n}: ${t}`}){super({name:e,message:r}),this[It]=!0,this.modelId=t,this.modelType=n}static isInstance(e){return O.hasMarker(e,Pt)}};It=Ft;var Rt=`AI_TooManyEmbeddingValuesForCallError`,zt=`vercel.ai.error.${Rt}`,Bt=Symbol.for(zt),Vt,Ht=class extends O{constructor(e){super({name:Rt,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[Vt]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return O.hasMarker(e,zt)}};Vt=Bt;var Ut=`AI_TypeValidationError`,Wt=`vercel.ai.error.${Ut}`,Gt=Symbol.for(Wt),Kt,qt=class e extends O{constructor({value:e,cause:t}){super({name:Ut,message:`Type validation failed: Value: ${JSON.stringify(e)}.
|
|
7
|
+
Error message: ${ut(t)}`,cause:t}),this[Kt]=!0,this.value=e}static isInstance(e){return O.hasMarker(e,Wt)}static wrap({value:t,cause:n}){return e.isInstance(n)&&n.value===t?n:new e({value:t,cause:n})}};Kt=Gt;var P=qt,Jt=`AI_UnsupportedFunctionalityError`,Yt=`vercel.ai.error.${Jt}`,Xt=Symbol.for(Yt),Zt,F=class extends O{constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:Jt,message:t}),this[Zt]=!0,this.functionality=e}static isInstance(e){return O.hasMarker(e,Yt)}};Zt=Xt;function Qt(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function I(e){return Object.fromEntries([...e.headers])}function $t(e=globalThis){return e.window?`runtime/browser`:e.navigator?.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:e.process?.versions?.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function en(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function tn(e,...t){let n=en(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}var nn=(({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 j({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`})();function rn(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var an=[`fetch failed`,`failed to fetch`];function on({error:e,url:t,requestBodyValues:n}){if(rn(e))return e;if(e instanceof TypeError&&an.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new k({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}var sn=`3.0.10`;function cn({apiKey:e,environmentVariableName:t,apiKeyParameterName:n=`apiKey`,description:r}){if(typeof e==`string`)return e;if(e!=null)throw new N({message:`${r} API key must be a string.`});if(typeof process>`u`)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables is not supported in this environment.`});if(e=process.env[t],e==null)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!=`string`)throw new N({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}var ln=/"__proto__"\s*:/,un=/"constructor"\s*:/;function dn(e){let t=JSON.parse(e);return typeof t!=`object`||!t||ln.test(e)===!1&&un.test(e)===!1?t:fn(t)}function fn(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 pn(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return dn(e)}finally{Error.stackTraceLimit=t}}var mn=Symbol.for(`vercel.ai.validator`);function hn(e){return{[mn]:!0,validate:e}}function gn(e){return typeof e==`object`&&!!e&&mn in e&&e[mn]===!0&&`validate`in e}function _n(e){return gn(e)?e:vn(e)}function vn(e){return hn(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new P({value:t,cause:n.issues})}})}async function yn({value:e,schema:t}){let n=await bn({value:e,schema:t});if(!n.success)throw P.wrap({value:e,cause:n.error});return n.value}async function bn({value:e,schema:t}){let n=_n(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:P.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:P.wrap({value:e,cause:t}),rawValue:e}}}async function xn({text:e,schema:t}){try{let n=pn(e);return t==null?n:yn({value:n,schema:t})}catch(t){throw M.isInstance(t)||P.isInstance(t)?t:new M({text:e,cause:t})}}async function Sn({text:e,schema:t}){try{let n=pn(e);return t==null?{success:!0,value:n,rawValue:n}:await bn({value:n,schema:t})}catch(t){return{success:!1,error:M.isInstance(t)?t:new M({text:e,cause:t}),rawValue:void 0}}}function Cn({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new E).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await Sn({text:e,schema:t}))}}))}async function L({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await bn({value:t[e],schema:n});if(!r.success)throw new j({argument:`providerOptions`,message:`invalid ${e} provider options`,cause:r.error});return r.value}var wn=()=>globalThis.fetch,Tn=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>En({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),En=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=wn()})=>{try{let s=await o(e,{method:`POST`,headers:tn(t,`ai-sdk/provider-utils/${sn}`,$t()),body:n.content,signal:a}),c=I(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw rn(t)||k.isInstance(t)?t:new k({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(rn(t)||k.isInstance(t))?t:new k({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw on({error:t,url:e,requestBodyValues:n.values})}};function Dn(e){return e}function R({id:e,name:t,inputSchema:n}){return({execute:r,outputSchema:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>Dn({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:i,execute:r,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}function On({id:e,name:t,inputSchema:n,outputSchema:r}){return({execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>Dn({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:r,execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}async function kn(e){return typeof e==`function`&&(e=e()),Promise.resolve(e)}var An=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=I(r);if(o.trim()===``)return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await xn({text:o,schema:e});return{responseHeaders:s,value:new k({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},jn=e=>async({response:t})=>{let n=I(t);if(t.body==null)throw new A({});return{responseHeaders:n,value:Cn({stream:t.body,schema:e})}},Mn=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await Sn({text:i,schema:e}),o=I(t);if(!a.success)throw new k({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},{btoa:Nn,atob:Pn}=globalThis;function Fn(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return Nn(t)}function In(e){return e instanceof Uint8Array?Fn(e):e}function Ln(e){return e?.replace(/\/$/,``)}var Rn=`2.0.23`,zn=a.object({type:a.literal(`error`),error:a.object({type:a.string(),message:a.string()})}),Bn=An({errorSchema:zn,errorToMessage:e=>e.error.message}),Vn=a.object({citations:a.object({enabled:a.boolean()}).optional(),title:a.string().optional(),context:a.string().optional()}),Hn=a.object({sendReasoning:a.boolean().optional(),thinking:a.object({type:a.union([a.literal(`enabled`),a.literal(`disabled`)]),budgetTokens:a.number().optional()}).optional(),disableParallelToolUse:a.boolean().optional(),cacheControl:a.object({type:a.literal(`ephemeral`),ttl:a.union([a.literal(`5m`),a.literal(`1h`)]).optional()}).optional()});function z(e){let t=e?.anthropic;return t?.cacheControl??t?.cache_control}var Un=a.object({maxCharacters:a.number().optional()}),Wn=R({id:`anthropic.text_editor_20250728`,name:`str_replace_based_edit_tool`,inputSchema:a.object({command:a.enum([`view`,`create`,`str_replace`,`insert`]),path:a.string(),file_text:a.string().optional(),insert_line:a.number().int().optional(),new_str:a.string().optional(),old_str:a.string().optional(),view_range:a.array(a.number().int()).optional()})}),Gn=(e={})=>Wn(e),Kn=a.object({maxUses:a.number().optional(),allowedDomains:a.array(a.string()).optional(),blockedDomains:a.array(a.string()).optional(),userLocation:a.object({type:a.literal(`approximate`),city:a.string().optional(),region:a.string().optional(),country:a.string().optional(),timezone:a.string().optional()}).optional()}),qn=a.array(a.object({url:a.string(),title:a.string(),pageAge:a.string().nullable(),encryptedContent:a.string(),type:a.literal(`web_search_result`)})),Jn=On({id:`anthropic.web_search_20250305`,name:`web_search`,inputSchema:a.object({query:a.string()}),outputSchema:qn}),Yn=(e={})=>Jn(e),Xn=a.object({maxUses:a.number().optional(),allowedDomains:a.array(a.string()).optional(),blockedDomains:a.array(a.string()).optional(),citations:a.object({enabled:a.boolean()}).optional(),maxContentTokens:a.number().optional()}),Zn=a.object({type:a.literal(`web_fetch_result`),url:a.string(),content:a.object({type:a.literal(`document`),title:a.string(),citations:a.object({enabled:a.boolean()}).optional(),source:a.union([a.object({type:a.literal(`base64`),mediaType:a.literal(`application/pdf`),data:a.string()}),a.object({type:a.literal(`text`),mediaType:a.literal(`text/plain`),data:a.string()})])}),retrievedAt:a.string().nullable()}),Qn=On({id:`anthropic.web_fetch_20250910`,name:`web_fetch`,inputSchema:a.object({url:a.string()}),outputSchema:Zn}),$n=(e={})=>Qn(e);function er({tools:e,toolChoice:t,disableParallelToolUse:n}){e=e?.length?e:void 0;let r=[],i=new Set;if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r,betas:i};let a=[];for(let t of e)switch(t.type){case`function`:{let e=z(t.providerOptions);a.push({name:t.name,description:t.description,input_schema:t.inputSchema,cache_control:e});break}case`provider-defined`:switch(t.id){case`anthropic.code_execution_20250522`:i.add(`code-execution-2025-05-22`),a.push({type:`code_execution_20250522`,name:`code_execution`});break;case`anthropic.computer_20250124`:i.add(`computer-use-2025-01-24`),a.push({name:`computer`,type:`computer_20250124`,display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber});break;case`anthropic.computer_20241022`:i.add(`computer-use-2024-10-22`),a.push({name:`computer`,type:`computer_20241022`,display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber});break;case`anthropic.text_editor_20250124`:i.add(`computer-use-2025-01-24`),a.push({name:`str_replace_editor`,type:`text_editor_20250124`});break;case`anthropic.text_editor_20241022`:i.add(`computer-use-2024-10-22`),a.push({name:`str_replace_editor`,type:`text_editor_20241022`});break;case`anthropic.text_editor_20250429`:i.add(`computer-use-2025-01-24`),a.push({name:`str_replace_based_edit_tool`,type:`text_editor_20250429`});break;case`anthropic.text_editor_20250728`:{let e=Un.parse(t.args);a.push({name:`str_replace_based_edit_tool`,type:`text_editor_20250728`,max_characters:e.maxCharacters});break}case`anthropic.bash_20250124`:i.add(`computer-use-2025-01-24`),a.push({name:`bash`,type:`bash_20250124`});break;case`anthropic.bash_20241022`:i.add(`computer-use-2024-10-22`),a.push({name:`bash`,type:`bash_20241022`});break;case`anthropic.web_fetch_20250910`:{i.add(`web-fetch-2025-09-10`);let e=Xn.parse(t.args);a.push({type:`web_fetch_20250910`,name:`web_fetch`,max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,citations:e.citations,max_content_tokens:e.maxContentTokens});break}case`anthropic.web_search_20250305`:{let e=Kn.parse(t.args);a.push({type:`web_search_20250305`,name:`web_search`,max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,user_location:e.userLocation});break}default:r.push({type:`unsupported-tool`,tool:t});break}break;default:r.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:a,toolChoice:n?{type:`auto`,disable_parallel_tool_use:n}:void 0,toolWarnings:r,betas:i};let o=t.type;switch(o){case`auto`:return{tools:a,toolChoice:{type:`auto`,disable_parallel_tool_use:n},toolWarnings:r,betas:i};case`required`:return{tools:a,toolChoice:{type:`any`,disable_parallel_tool_use:n},toolWarnings:r,betas:i};case`none`:return{tools:void 0,toolChoice:void 0,toolWarnings:r,betas:i};case`tool`:return{tools:a,toolChoice:{type:`tool`,name:t.toolName,disable_parallel_tool_use:n},toolWarnings:r,betas:i};default:throw new F({functionality:`tool choice type: ${o}`})}}var tr=a.object({type:a.literal(`code_execution_result`),stdout:a.string(),stderr:a.string(),return_code:a.number()}),nr=On({id:`anthropic.code_execution_20250522`,name:`code_execution`,inputSchema:a.object({code:a.string()}),outputSchema:tr}),rr=(e={})=>nr(e);function ir(e){if(typeof e==`string`)return Buffer.from(e,`base64`).toString(`utf-8`);if(e instanceof Uint8Array)return new TextDecoder().decode(e);throw e instanceof URL?new F({functionality:`URL-based text documents are not supported for citations`}):new F({functionality:`unsupported data type for text documents: ${typeof e}`})}async function ar({prompt:e,sendReasoning:t,warnings:n}){let r=new Set,i=or(e),a,o=[];async function s(e){return(await L({provider:`anthropic`,providerOptions:e,schema:Vn}))?.citations?.enabled??!1}async function c(e){let t=await L({provider:`anthropic`,providerOptions:e,schema:Vn});return{title:t?.title,context:t?.context}}for(let e=0;e<i.length;e++){let l=i[e],u=e===i.length-1,d=l.type;switch(d){case`system`:if(a!=null)throw new F({functionality:`Multiple system messages that are separated by user/assistant messages`});a=l.messages.map(({content:e,providerOptions:t})=>({type:`text`,text:e,cache_control:z(t)}));break;case`user`:{let e=[];for(let t of l.messages){let{role:n,content:i}=t;switch(n){case`user`:for(let n=0;n<i.length;n++){let a=i[n],o=n===i.length-1,l=z(a.providerOptions)??(o?z(t.providerOptions):void 0);switch(a.type){case`text`:e.push({type:`text`,text:a.text,cache_control:l});break;case`file`:if(a.mediaType.startsWith(`image/`))e.push({type:`image`,source:a.data instanceof URL?{type:`url`,url:a.data.toString()}:{type:`base64`,media_type:a.mediaType===`image/*`?`image/jpeg`:a.mediaType,data:In(a.data)},cache_control:l});else if(a.mediaType===`application/pdf`){r.add(`pdfs-2024-09-25`);let t=await s(a.providerOptions),n=await c(a.providerOptions);e.push({type:`document`,source:a.data instanceof URL?{type:`url`,url:a.data.toString()}:{type:`base64`,media_type:`application/pdf`,data:In(a.data)},title:n.title??a.filename,...n.context&&{context:n.context},...t&&{citations:{enabled:!0}},cache_control:l})}else if(a.mediaType===`text/plain`){let t=await s(a.providerOptions),n=await c(a.providerOptions);e.push({type:`document`,source:a.data instanceof URL?{type:`url`,url:a.data.toString()}:{type:`text`,media_type:`text/plain`,data:ir(a.data)},title:n.title??a.filename,...n.context&&{context:n.context},...t&&{citations:{enabled:!0}},cache_control:l})}else throw new F({functionality:`media type: ${a.mediaType}`});break}}break;case`tool`:for(let n=0;n<i.length;n++){let r=i[n],a=n===i.length-1,o=z(r.providerOptions)??(a?z(t.providerOptions):void 0),s=r.output,c;switch(s.type){case`content`:c=s.value.map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text,cache_control:void 0};case`media`:if(e.mediaType.startsWith(`image/`))return{type:`image`,source:{type:`base64`,media_type:e.mediaType,data:e.data},cache_control:void 0};throw new F({functionality:`media type: ${e.mediaType}`})}});break;case`text`:case`error-text`:c=s.value;break;case`json`:case`error-json`:default:c=JSON.stringify(s.value);break}e.push({type:`tool_result`,tool_use_id:r.toolCallId,content:c,is_error:s.type===`error-text`||s.type===`error-json`?!0:void 0,cache_control:o})}break;default:{let e=n;throw Error(`Unsupported role: ${e}`)}}}o.push({role:`user`,content:e});break}case`assistant`:{let e=[];for(let r=0;r<l.messages.length;r++){let i=l.messages[r],a=r===l.messages.length-1,{content:o}=i;for(let r=0;r<o.length;r++){let s=o[r],c=r===o.length-1,l=z(s.providerOptions)??(c?z(i.providerOptions):void 0);switch(s.type){case`text`:e.push({type:`text`,text:u&&a&&c?s.text.trim():s.text,cache_control:l});break;case`reasoning`:if(t){let t=await L({provider:`anthropic`,providerOptions:s.providerOptions,schema:mr});t==null?n.push({type:`other`,message:`unsupported reasoning metadata`}):t.signature==null?t.redactedData==null?n.push({type:`other`,message:`unsupported reasoning metadata`}):e.push({type:`redacted_thinking`,data:t.redactedData,cache_control:l}):e.push({type:`thinking`,thinking:s.text,signature:t.signature,cache_control:l})}else n.push({type:`other`,message:`sending reasoning content is disabled for this model`});break;case`tool-call`:if(s.providerExecuted){s.toolName===`code_execution`||s.toolName===`web_fetch`||s.toolName===`web_search`?e.push({type:`server_tool_use`,id:s.toolCallId,name:s.toolName,input:s.input,cache_control:l}):n.push({type:`other`,message:`provider executed tool call for tool ${s.toolName} is not supported`});break}e.push({type:`tool_use`,id:s.toolCallId,name:s.toolName,input:s.input,cache_control:l});break;case`tool-result`:if(s.toolName===`code_execution`){let t=s.output;if(t.type!==`json`){n.push({type:`other`,message:`provider executed tool result output type ${t.type} for tool ${s.toolName} is not supported`});break}let r=tr.parse(t.value);e.push({type:`code_execution_tool_result`,tool_use_id:s.toolCallId,content:{type:r.type,stdout:r.stdout,stderr:r.stderr,return_code:r.return_code},cache_control:l});break}if(s.toolName===`web_fetch`){let t=s.output;if(t.type!==`json`){n.push({type:`other`,message:`provider executed tool result output type ${t.type} for tool ${s.toolName} is not supported`});break}let r=Zn.parse(t.value);e.push({type:`web_fetch_tool_result`,tool_use_id:s.toolCallId,content:{type:`web_fetch_result`,url:r.url,retrieved_at:r.retrievedAt,content:{type:`document`,title:r.content.title,citations:r.content.citations,source:{type:r.content.source.type,media_type:r.content.source.mediaType,data:r.content.source.data}}},cache_control:l});break}if(s.toolName===`web_search`){let t=s.output;if(t.type!==`json`){n.push({type:`other`,message:`provider executed tool result output type ${t.type} for tool ${s.toolName} is not supported`});break}let r=qn.parse(t.value);e.push({type:`web_search_tool_result`,tool_use_id:s.toolCallId,content:r.map(e=>({url:e.url,title:e.title,page_age:e.pageAge,encrypted_content:e.encryptedContent,type:e.type})),cache_control:l});break}n.push({type:`other`,message:`provider executed tool result for tool ${s.toolName} is not supported`});break}}}o.push({role:`assistant`,content:e});break}default:{let e=d;throw Error(`content type: ${e}`)}}}return{prompt:{system:a,messages:o},betas:r}}function or(e){let t=[],n;for(let r of e){let{role:e}=r;switch(e){case`system`:n?.type!==`system`&&(n={type:`system`,messages:[]},t.push(n)),n.messages.push(r);break;case`assistant`:n?.type!==`assistant`&&(n={type:`assistant`,messages:[]},t.push(n)),n.messages.push(r);break;case`user`:n?.type!==`user`&&(n={type:`user`,messages:[]},t.push(n)),n.messages.push(r);break;case`tool`:n?.type!==`user`&&(n={type:`user`,messages:[]},t.push(n)),n.messages.push(r);break;default:{let t=e;throw Error(`Unsupported role: ${t}`)}}}return t}function sr({finishReason:e,isJsonResponseFromTool:t}){switch(e){case`pause_turn`:case`end_turn`:case`stop_sequence`:return`stop`;case`refusal`:return`content-filter`;case`tool_use`:return t?`stop`:`tool-calls`;case`max_tokens`:return`length`;default:return`unknown`}}var B={webSearchResult:a.object({type:a.literal(`web_search_result_location`),cited_text:a.string(),url:a.string(),title:a.string(),encrypted_index:a.string()}),pageLocation:a.object({type:a.literal(`page_location`),cited_text:a.string(),document_index:a.number(),document_title:a.string().nullable(),start_page_number:a.number(),end_page_number:a.number()}),charLocation:a.object({type:a.literal(`char_location`),cited_text:a.string(),document_index:a.number(),document_title:a.string().nullable(),start_char_index:a.number(),end_char_index:a.number()})},cr=a.discriminatedUnion(`type`,[B.webSearchResult,B.pageLocation,B.charLocation]);a.discriminatedUnion(`type`,[B.pageLocation,B.charLocation]);function lr(e,t,n,r){if(e.type===`page_location`||e.type===`char_location`){let i=ur(e,t,n);i&&r(i)}}function ur(e,t,n){let r=t[e.document_index];if(!r)return null;let i=e.type===`page_location`?{citedText:e.cited_text,startPageNumber:e.start_page_number,endPageNumber:e.end_page_number}:{citedText:e.cited_text,startCharIndex:e.start_char_index,endCharIndex:e.end_char_index};return{type:`source`,sourceType:`document`,id:n(),mediaType:r.mediaType,title:e.document_title??r.title,filename:r.filename,providerMetadata:{anthropic:i}}}var dr=class{constructor(e,t){this.specificationVersion=`v2`,this.modelId=e,this.config=t,this.generateId=t.generateId??nn}supportsUrl(e){return e.protocol===`https:`}get provider(){return this.config.provider}get supportedUrls(){var e;return(e=this.config).supportedUrls?.call(e)??{}}async getArgs({prompt:e,maxOutputTokens:t=4096,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,providerOptions:f}){let p=[];a!=null&&p.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&p.push({type:`unsupported-setting`,setting:`presencePenalty`}),l!=null&&p.push({type:`unsupported-setting`,setting:`seed`}),c?.type===`json`&&(c.schema==null?p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format requires a schema. The response format is ignored.`}):u!=null&&p.push({type:`unsupported-setting`,setting:`tools`,details:`JSON response format does not support tools. The provided tools are ignored.`}));let m=c?.type===`json`&&c.schema!=null?{type:`function`,name:`json`,description:`Respond with a JSON object.`,inputSchema:c.schema}:void 0,h=await L({provider:`anthropic`,providerOptions:f,schema:Hn}),{prompt:g,betas:_}=await ar({prompt:e,sendReasoning:h?.sendReasoning??!0,warnings:p}),v=h?.thinking?.type===`enabled`,y=h?.thinking?.budgetTokens,b={model:this.modelId,max_tokens:t,temperature:n,top_k:i,top_p:r,stop_sequences:s,...v&&{thinking:{type:`enabled`,budget_tokens:y}},system:g.system,messages:g.messages};if(v){if(y==null)throw new F({functionality:`thinking requires a budget`});b.temperature!=null&&(b.temperature=void 0,p.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported when thinking is enabled`})),i!=null&&(b.top_k=void 0,p.push({type:`unsupported-setting`,setting:`topK`,details:`topK is not supported when thinking is enabled`})),r!=null&&(b.top_p=void 0,p.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported when thinking is enabled`})),b.max_tokens=t+y}let{tools:x,toolChoice:S,toolWarnings:C,betas:w}=er(m==null?{tools:u??[],toolChoice:d,disableParallelToolUse:h?.disableParallelToolUse}:{tools:[m],toolChoice:{type:`tool`,toolName:m.name},disableParallelToolUse:!0});return{args:{...b,tools:x,tool_choice:S},warnings:[...p,...C],betas:new Set([..._,...w]),usesJsonResponseTool:m!=null}}async getHeaders({betas:e,headers:t}){return Qt(await kn(this.config.headers),e.size>0?{"anthropic-beta":Array.from(e).join(`,`)}:{},t)}buildRequestUrl(e){var t;return(t=this.config).buildRequestUrl?.call(t,this.config.baseURL,e)??`${this.config.baseURL}/messages`}transformRequestBody(e){var t;return(t=this.config).transformRequestBody?.call(t,e)??e}extractCitationDocuments(e){return e.filter(e=>e.role===`user`).flatMap(e=>e.content).filter(e=>e.type!==`file`||e.mediaType!==`application/pdf`&&e.mediaType!==`text/plain`?!1:e.providerOptions?.anthropic?.citations?.enabled??!1).map(e=>{let t=e;return{title:t.filename??`Untitled Document`,filename:t.filename,mediaType:t.mediaType}})}async doGenerate(e){let{args:t,warnings:n,betas:r,usesJsonResponseTool:i}=await this.getArgs(e),a=this.extractCitationDocuments(e.prompt),{responseHeaders:o,value:s,rawValue:c}=await Tn({url:this.buildRequestUrl(!1),headers:await this.getHeaders({betas:r,headers:e.headers}),body:this.transformRequestBody(t),failedResponseHandler:Bn,successfulResponseHandler:Mn(fr),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=[];for(let e of s.content)switch(e.type){case`text`:if(!i&&(l.push({type:`text`,text:e.text}),e.citations))for(let t of e.citations)lr(t,a,this.generateId,e=>l.push(e));break;case`thinking`:l.push({type:`reasoning`,text:e.thinking,providerMetadata:{anthropic:{signature:e.signature}}});break;case`redacted_thinking`:l.push({type:`reasoning`,text:``,providerMetadata:{anthropic:{redactedData:e.data}}});break;case`tool_use`:l.push(i?{type:`text`,text:JSON.stringify(e.input)}:{type:`tool-call`,toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input)});break;case`server_tool_use`:(e.name===`web_search`||e.name===`code_execution`||e.name===`web_fetch`)&&l.push({type:`tool-call`,toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input),providerExecuted:!0});break;case`web_fetch_tool_result`:e.content.type===`web_fetch_result`?l.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_fetch`,result:{type:`web_fetch_result`,url:e.content.url,retrievedAt:e.content.retrieved_at,content:{type:e.content.content.type,title:e.content.content.title,citations:e.content.content.citations,source:{type:e.content.content.source.type,mediaType:e.content.content.source.media_type,data:e.content.content.source.data}}},providerExecuted:!0}):e.content.type===`web_fetch_tool_result_error`&&l.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_fetch`,isError:!0,result:{type:`web_fetch_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});break;case`web_search_tool_result`:if(Array.isArray(e.content)){l.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,result:e.content.map(e=>({url:e.url,title:e.title,pageAge:e.page_age??null,encryptedContent:e.encrypted_content,type:e.type})),providerExecuted:!0});for(let t of e.content)l.push({type:`source`,sourceType:`url`,id:this.generateId(),url:t.url,title:t.title,providerMetadata:{anthropic:{pageAge:t.page_age??null}}})}else l.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,isError:!0,result:{type:`web_search_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});break;case`code_execution_tool_result`:e.content.type===`code_execution_result`?l.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code},providerExecuted:!0}):e.content.type===`code_execution_tool_result_error`&&l.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,isError:!0,result:{type:`code_execution_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});break}return{content:l,finishReason:sr({finishReason:s.stop_reason,isJsonResponseFromTool:i}),usage:{inputTokens:s.usage.input_tokens,outputTokens:s.usage.output_tokens,totalTokens:s.usage.input_tokens+s.usage.output_tokens,cachedInputTokens:s.usage.cache_read_input_tokens??void 0},request:{body:t},response:{id:s.id??void 0,modelId:s.model??void 0,headers:o,body:c},warnings:n,providerMetadata:{anthropic:{usage:s.usage,cacheCreationInputTokens:s.usage.cache_creation_input_tokens??null,stopSequence:s.stop_sequence??null}}}}async doStream(e){let{args:t,warnings:n,betas:r,usesJsonResponseTool:i}=await this.getArgs(e),a=this.extractCitationDocuments(e.prompt),o={...t,stream:!0},{responseHeaders:s,value:c}=await Tn({url:this.buildRequestUrl(!0),headers:await this.getHeaders({betas:r,headers:e.headers}),body:this.transformRequestBody(o),failedResponseHandler:Bn,successfulResponseHandler:jn(pr),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=`unknown`,u={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},d={},f,p=null,m=null,h,g=this.generateId;return{stream:c.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let r=t.value;switch(r.type){case`ping`:return;case`content_block_start`:{let e=r.content_block.type;switch(h=e,e){case`text`:d[r.index]={type:`text`},n.enqueue({type:`text-start`,id:String(r.index)});return;case`thinking`:d[r.index]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:String(r.index)});return;case`redacted_thinking`:d[r.index]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:String(r.index),providerMetadata:{anthropic:{redactedData:r.content_block.data}}});return;case`tool_use`:d[r.index]=i?{type:`text`}:{type:`tool-call`,toolCallId:r.content_block.id,toolName:r.content_block.name,input:``},n.enqueue(i?{type:`text-start`,id:String(r.index)}:{type:`tool-input-start`,id:r.content_block.id,toolName:r.content_block.name});return;case`server_tool_use`:(r.content_block.name===`web_fetch`||r.content_block.name===`web_search`||r.content_block.name===`code_execution`)&&(d[r.index]={type:`tool-call`,toolCallId:r.content_block.id,toolName:r.content_block.name,input:``,providerExecuted:!0},n.enqueue({type:`tool-input-start`,id:r.content_block.id,toolName:r.content_block.name,providerExecuted:!0}));return;case`web_fetch_tool_result`:{let e=r.content_block;e.content.type===`web_fetch_result`?n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_fetch`,result:{type:`web_fetch_result`,url:e.content.url,retrievedAt:e.content.retrieved_at,content:{type:e.content.content.type,title:e.content.content.title,citations:e.content.content.citations,source:{type:e.content.content.source.type,mediaType:e.content.content.source.media_type,data:e.content.content.source.data}}}}):e.content.type===`web_fetch_tool_result_error`&&n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_fetch`,isError:!0,result:{type:`web_fetch_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});return}case`web_search_tool_result`:{let e=r.content_block;if(Array.isArray(e.content)){n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,result:e.content.map(e=>({url:e.url,title:e.title,pageAge:e.page_age??null,encryptedContent:e.encrypted_content,type:e.type})),providerExecuted:!0});for(let t of e.content)n.enqueue({type:`source`,sourceType:`url`,id:g(),url:t.url,title:t.title,providerMetadata:{anthropic:{pageAge:t.page_age??null}}})}else n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,isError:!0,result:{type:`web_search_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});return}case`code_execution_tool_result`:{let e=r.content_block;e.content.type===`code_execution_result`?n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code},providerExecuted:!0}):e.content.type===`code_execution_tool_result_error`&&n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,isError:!0,result:{type:`code_execution_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});return}default:{let t=e;throw Error(`Unsupported content block type: ${t}`)}}}case`content_block_stop`:if(d[r.index]!=null){let e=d[r.index];switch(e.type){case`text`:n.enqueue({type:`text-end`,id:String(r.index)});break;case`reasoning`:n.enqueue({type:`reasoning-end`,id:String(r.index)});break;case`tool-call`:i||(n.enqueue({type:`tool-input-end`,id:e.toolCallId}),n.enqueue(e));break}delete d[r.index]}h=void 0;return;case`content_block_delta`:{let e=r.delta.type;switch(e){case`text_delta`:if(i)return;n.enqueue({type:`text-delta`,id:String(r.index),delta:r.delta.text});return;case`thinking_delta`:n.enqueue({type:`reasoning-delta`,id:String(r.index),delta:r.delta.thinking});return;case`signature_delta`:h===`thinking`&&n.enqueue({type:`reasoning-delta`,id:String(r.index),delta:``,providerMetadata:{anthropic:{signature:r.delta.signature}}});return;case`input_json_delta`:{let e=d[r.index],t=r.delta.partial_json;if(i){if(e?.type!==`text`)return;n.enqueue({type:`text-delta`,id:String(r.index),delta:t})}else{if(e?.type!==`tool-call`)return;n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:t}),e.input+=t}return}case`citations_delta`:{let e=r.delta.citation;lr(e,a,g,e=>n.enqueue(e));return}default:{let t=e;throw Error(`Unsupported delta type: ${t}`)}}}case`message_start`:u.inputTokens=r.message.usage.input_tokens,u.cachedInputTokens=r.message.usage.cache_read_input_tokens??void 0,f={...r.message.usage},p=r.message.usage.cache_creation_input_tokens??null,n.enqueue({type:`response-metadata`,id:r.message.id??void 0,modelId:r.message.model??void 0});return;case`message_delta`:u.outputTokens=r.usage.output_tokens,u.totalTokens=(u.inputTokens??0)+(r.usage.output_tokens??0),l=sr({finishReason:r.delta.stop_reason,isJsonResponseFromTool:i}),m=r.delta.stop_sequence??null,f={...f,...r.usage};return;case`message_stop`:n.enqueue({type:`finish`,finishReason:l,usage:u,providerMetadata:{anthropic:{usage:f??null,cacheCreationInputTokens:p,stopSequence:m}}});return;case`error`:n.enqueue({type:`error`,error:r.error});return;default:{let e=r;throw Error(`Unsupported chunk type: ${e}`)}}}})),request:{body:o},response:{headers:s}}}},fr=a.object({type:a.literal(`message`),id:a.string().nullish(),model:a.string().nullish(),content:a.array(a.discriminatedUnion(`type`,[a.object({type:a.literal(`text`),text:a.string(),citations:a.array(cr).optional()}),a.object({type:a.literal(`thinking`),thinking:a.string(),signature:a.string()}),a.object({type:a.literal(`redacted_thinking`),data:a.string()}),a.object({type:a.literal(`tool_use`),id:a.string(),name:a.string(),input:a.unknown()}),a.object({type:a.literal(`server_tool_use`),id:a.string(),name:a.string(),input:a.record(a.string(),a.unknown()).nullish()}),a.object({type:a.literal(`web_fetch_tool_result`),tool_use_id:a.string(),content:a.union([a.object({type:a.literal(`web_fetch_result`),url:a.string(),retrieved_at:a.string(),content:a.object({type:a.literal(`document`),title:a.string().nullable(),citations:a.object({enabled:a.boolean()}).optional(),source:a.object({type:a.literal(`text`),media_type:a.string(),data:a.string()})})}),a.object({type:a.literal(`web_fetch_tool_result_error`),error_code:a.string()})])}),a.object({type:a.literal(`web_search_tool_result`),tool_use_id:a.string(),content:a.union([a.array(a.object({type:a.literal(`web_search_result`),url:a.string(),title:a.string(),encrypted_content:a.string(),page_age:a.string().nullish()})),a.object({type:a.literal(`web_search_tool_result_error`),error_code:a.string()})])}),a.object({type:a.literal(`code_execution_tool_result`),tool_use_id:a.string(),content:a.union([a.object({type:a.literal(`code_execution_result`),stdout:a.string(),stderr:a.string(),return_code:a.number()}),a.object({type:a.literal(`code_execution_tool_result_error`),error_code:a.string()})])})])),stop_reason:a.string().nullish(),stop_sequence:a.string().nullish(),usage:a.looseObject({input_tokens:a.number(),output_tokens:a.number(),cache_creation_input_tokens:a.number().nullish(),cache_read_input_tokens:a.number().nullish()})}),pr=a.discriminatedUnion(`type`,[a.object({type:a.literal(`message_start`),message:a.object({id:a.string().nullish(),model:a.string().nullish(),usage:a.looseObject({input_tokens:a.number(),cache_creation_input_tokens:a.number().nullish(),cache_read_input_tokens:a.number().nullish()})})}),a.object({type:a.literal(`content_block_start`),index:a.number(),content_block:a.discriminatedUnion(`type`,[a.object({type:a.literal(`text`),text:a.string()}),a.object({type:a.literal(`thinking`),thinking:a.string()}),a.object({type:a.literal(`tool_use`),id:a.string(),name:a.string()}),a.object({type:a.literal(`redacted_thinking`),data:a.string()}),a.object({type:a.literal(`server_tool_use`),id:a.string(),name:a.string(),input:a.record(a.string(),a.unknown()).nullish()}),a.object({type:a.literal(`web_fetch_tool_result`),tool_use_id:a.string(),content:a.union([a.object({type:a.literal(`web_fetch_result`),url:a.string(),retrieved_at:a.string(),content:a.object({type:a.literal(`document`),title:a.string().nullable(),citations:a.object({enabled:a.boolean()}).optional(),source:a.object({type:a.literal(`text`),media_type:a.string(),data:a.string()})})}),a.object({type:a.literal(`web_fetch_tool_result_error`),error_code:a.string()})])}),a.object({type:a.literal(`web_search_tool_result`),tool_use_id:a.string(),content:a.union([a.array(a.object({type:a.literal(`web_search_result`),url:a.string(),title:a.string(),encrypted_content:a.string(),page_age:a.string().nullish()})),a.object({type:a.literal(`web_search_tool_result_error`),error_code:a.string()})])}),a.object({type:a.literal(`code_execution_tool_result`),tool_use_id:a.string(),content:a.union([a.object({type:a.literal(`code_execution_result`),stdout:a.string(),stderr:a.string(),return_code:a.number()}),a.object({type:a.literal(`code_execution_tool_result_error`),error_code:a.string()})])})])}),a.object({type:a.literal(`content_block_delta`),index:a.number(),delta:a.discriminatedUnion(`type`,[a.object({type:a.literal(`input_json_delta`),partial_json:a.string()}),a.object({type:a.literal(`text_delta`),text:a.string()}),a.object({type:a.literal(`thinking_delta`),thinking:a.string()}),a.object({type:a.literal(`signature_delta`),signature:a.string()}),a.object({type:a.literal(`citations_delta`),citation:cr})])}),a.object({type:a.literal(`content_block_stop`),index:a.number()}),a.object({type:a.literal(`error`),error:a.object({type:a.string(),message:a.string()})}),a.object({type:a.literal(`message_delta`),delta:a.object({stop_reason:a.string().nullish(),stop_sequence:a.string().nullish()}),usage:a.looseObject({output_tokens:a.number(),cache_creation_input_tokens:a.number().nullish()})}),a.object({type:a.literal(`message_stop`)}),a.object({type:a.literal(`ping`)})]),mr=a.object({signature:a.string().optional(),redactedData:a.string().optional()}),hr=R({id:`anthropic.bash_20241022`,name:`bash`,inputSchema:i.object({command:i.string(),restart:i.boolean().optional()})}),gr=R({id:`anthropic.bash_20250124`,name:`bash`,inputSchema:i.object({command:i.string(),restart:i.boolean().optional()})}),_r=R({id:`anthropic.computer_20241022`,name:`computer`,inputSchema:a.object({action:a.enum([`key`,`type`,`mouse_move`,`left_click`,`left_click_drag`,`right_click`,`middle_click`,`double_click`,`screenshot`,`cursor_position`]),coordinate:a.array(a.number().int()).optional(),text:a.string().optional()})}),vr=R({id:`anthropic.computer_20250124`,name:`computer`,inputSchema:a.object({action:a.enum([`key`,`hold_key`,`type`,`cursor_position`,`mouse_move`,`left_mouse_down`,`left_mouse_up`,`left_click`,`left_click_drag`,`right_click`,`middle_click`,`double_click`,`triple_click`,`scroll`,`wait`,`screenshot`]),coordinate:a.tuple([a.number().int(),a.number().int()]).optional(),duration:a.number().optional(),scroll_amount:a.number().optional(),scroll_direction:a.enum([`up`,`down`,`left`,`right`]).optional(),start_coordinate:a.tuple([a.number().int(),a.number().int()]).optional(),text:a.string().optional()})}),yr=R({id:`anthropic.text_editor_20241022`,name:`str_replace_editor`,inputSchema:a.object({command:a.enum([`view`,`create`,`str_replace`,`insert`,`undo_edit`]),path:a.string(),file_text:a.string().optional(),insert_line:a.number().int().optional(),new_str:a.string().optional(),old_str:a.string().optional(),view_range:a.array(a.number().int()).optional()})}),br=R({id:`anthropic.text_editor_20250124`,name:`str_replace_editor`,inputSchema:a.object({command:a.enum([`view`,`create`,`str_replace`,`insert`,`undo_edit`]),path:a.string(),file_text:a.string().optional(),insert_line:a.number().int().optional(),new_str:a.string().optional(),old_str:a.string().optional(),view_range:a.array(a.number().int()).optional()})}),xr=R({id:`anthropic.text_editor_20250429`,name:`str_replace_based_edit_tool`,inputSchema:a.object({command:a.enum([`view`,`create`,`str_replace`,`insert`]),path:a.string(),file_text:a.string().optional(),insert_line:a.number().int().optional(),new_str:a.string().optional(),old_str:a.string().optional(),view_range:a.array(a.number().int()).optional()})}),Sr={bash_20241022:hr,bash_20250124:gr,codeExecution_20250522:rr,computer_20241022:_r,computer_20250124:vr,textEditor_20241022:yr,textEditor_20250124:br,textEditor_20250429:xr,textEditor_20250728:Gn,webFetch_20250910:$n,webSearch_20250305:Yn};function Cr(e={}){let t=Ln(e.baseURL)??`https://api.anthropic.com/v1`,n=()=>tn({"anthropic-version":`2023-06-01`,"x-api-key":cn({apiKey:e.apiKey,environmentVariableName:`ANTHROPIC_API_KEY`,description:`Anthropic`}),...e.headers},`ai-sdk/anthropic/${Rn}`),r=r=>new dr(r,{provider:`anthropic.messages`,baseURL:t,headers:n,fetch:e.fetch,generateId:e.generateId??nn,supportedUrls:()=>({"image/*":[/^https?:\/\/.*$/]})}),i=function(e){if(new.target)throw Error(`The Anthropic model function cannot be called with the new keyword.`);return r(e)};return i.languageModel=r,i.chat=r,i.messages=r,i.textEmbeddingModel=e=>{throw new Lt({modelId:e,modelType:`textEmbeddingModel`})},i.imageModel=e=>{throw new Lt({modelId:e,modelType:`imageModel`})},i.tools=Sr,i}Cr();function V(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function wr(e){return Object.fromEntries([...e.headers])}function Tr(e=globalThis){return e.window?`runtime/browser`:e.navigator?.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:e.process?.versions?.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function Er(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function Dr(e,...t){let n=Er(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}var Or=(({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 j({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`})();function kr(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var Ar=[`fetch failed`,`failed to fetch`];function jr({error:e,url:t,requestBodyValues:n}){if(kr(e))return e;if(e instanceof TypeError&&Ar.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new k({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}var Mr=`3.0.10`;function Nr({apiKey:e,environmentVariableName:t,apiKeyParameterName:n=`apiKey`,description:r}){if(typeof e==`string`)return e;if(e!=null)throw new N({message:`${r} API key must be a string.`});if(typeof process>`u`)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables is not supported in this environment.`});if(e=process.env[t],e==null)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!=`string`)throw new N({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}var Pr=/"__proto__"\s*:/,Fr=/"constructor"\s*:/;function Ir(e){let t=JSON.parse(e);return typeof t!=`object`||!t||Pr.test(e)===!1&&Fr.test(e)===!1?t:Lr(t)}function Lr(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 Rr(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return Ir(e)}finally{Error.stackTraceLimit=t}}var zr=Symbol.for(`vercel.ai.validator`);function Br(e){return{[zr]:!0,validate:e}}function Vr(e){return typeof e==`object`&&!!e&&zr in e&&e[zr]===!0&&`validate`in e}function Hr(e){return Vr(e)?e:Ur(e)}function Ur(e){return Br(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new P({value:t,cause:n.issues})}})}async function Wr({value:e,schema:t}){let n=await Gr({value:e,schema:t});if(!n.success)throw P.wrap({value:e,cause:n.error});return n.value}async function Gr({value:e,schema:t}){let n=Hr(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:P.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:P.wrap({value:e,cause:t}),rawValue:e}}}async function Kr({text:e,schema:t}){try{let n=Rr(e);return t==null?n:Wr({value:n,schema:t})}catch(t){throw M.isInstance(t)||P.isInstance(t)?t:new M({text:e,cause:t})}}async function qr({text:e,schema:t}){try{let n=Rr(e);return t==null?{success:!0,value:n,rawValue:n}:await Gr({value:n,schema:t})}catch(t){return{success:!1,error:M.isInstance(t)?t:new M({text:e,cause:t}),rawValue:void 0}}}function Jr({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new E).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await qr({text:e,schema:t}))}}))}async function Yr({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await Gr({value:t[e],schema:n});if(!r.success)throw new j({argument:`providerOptions`,message:`invalid ${e} provider options`,cause:r.error});return r.value}var Xr=()=>globalThis.fetch,H=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>Zr({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),Zr=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=Xr()})=>{try{let s=await o(e,{method:`POST`,headers:Dr(t,`ai-sdk/provider-utils/${Mr}`,Tr()),body:n.content,signal:a}),c=wr(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw kr(t)||k.isInstance(t)?t:new k({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(kr(t)||k.isInstance(t))?t:new k({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw jr({error:t,url:e,requestBodyValues:n.values})}};function Qr(e){return e}function $r({id:e,name:t,inputSchema:n}){return({execute:r,outputSchema:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>Qr({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:i,execute:r,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}function ei({id:e,name:t,inputSchema:n,outputSchema:r}){return({execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>Qr({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:r,execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}async function ti(e){return typeof e==`function`&&(e=e()),Promise.resolve(e)}var ni=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=wr(r);if(o.trim()===``)return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await Kr({text:o,schema:e});return{responseHeaders:s,value:new k({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},ri=e=>async({response:t})=>{let n=wr(t);if(t.body==null)throw new A({});return{responseHeaders:n,value:Jr({stream:t.body,schema:e})}},ii=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await qr({text:i,schema:e}),o=wr(t);if(!a.success)throw new k({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},{btoa:ai,atob:oi}=globalThis;function si(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return ai(t)}function ci(e){return e instanceof Uint8Array?si(e):e}function li(e){return e?.replace(/\/$/,``)}var ui=`2.0.17`,di=a.object({error:a.object({code:a.number().nullable(),message:a.string(),status:a.string()})}),U=ni({errorSchema:di,errorToMessage:e=>e.error.message}),fi=a.object({outputDimensionality:a.number().optional(),taskType:a.enum([`SEMANTIC_SIMILARITY`,`CLASSIFICATION`,`CLUSTERING`,`RETRIEVAL_DOCUMENT`,`RETRIEVAL_QUERY`,`QUESTION_ANSWERING`,`FACT_VERIFICATION`,`CODE_RETRIEVAL_QUERY`]).optional()}),pi=class{constructor(e,t){this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){let i=await Yr({provider:`google`,providerOptions:r,schema:fi});if(e.length>this.maxEmbeddingsPerCall)throw new Ht({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=V(await ti(this.config.headers),t);if(e.length===1){let{responseHeaders:t,value:r,rawValue:o}=await H({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:a,body:{model:`models/${this.modelId}`,content:{parts:[{text:e[0]}]},outputDimensionality:i?.outputDimensionality,taskType:i?.taskType},failedResponseHandler:U,successfulResponseHandler:ii(hi),abortSignal:n,fetch:this.config.fetch});return{embeddings:[r.embedding.values],usage:void 0,response:{headers:t,body:o}}}let{responseHeaders:o,value:s,rawValue:c}=await H({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:a,body:{requests:e.map(e=>({model:`models/${this.modelId}`,content:{role:`user`,parts:[{text:e}]},outputDimensionality:i?.outputDimensionality,taskType:i?.taskType}))},failedResponseHandler:U,successfulResponseHandler:ii(mi),abortSignal:n,fetch:this.config.fetch});return{embeddings:s.embeddings.map(e=>e.values),usage:void 0,response:{headers:o,body:c}}}},mi=a.object({embeddings:a.array(a.object({values:a.array(a.number())}))}),hi=a.object({embedding:a.object({values:a.array(a.number())})});function W(e){if(e==null||gi(e))return;if(typeof e==`boolean`)return{type:`boolean`,properties:{}};let{type:t,description:n,required:r,properties:i,items:a,allOf:o,anyOf:s,oneOf:c,format:l,const:u,minLength:d,enum:f}=e,p={};if(n&&(p.description=n),r&&(p.required=r),l&&(p.format=l),u!==void 0&&(p.enum=[u]),t&&(Array.isArray(t)?t.includes(`null`)?(p.type=t.filter(e=>e!==`null`)[0],p.nullable=!0):p.type=t:t===`null`?p.type=`null`:p.type=t),f!==void 0&&(p.enum=f),i!=null&&(p.properties=Object.entries(i).reduce((e,[t,n])=>(e[t]=W(n),e),{})),a&&(p.items=Array.isArray(a)?a.map(W):W(a)),o&&(p.allOf=o.map(W)),s)if(s.some(e=>typeof e==`object`&&e?.type===`null`)){let e=s.filter(e=>!(typeof e==`object`&&e?.type===`null`));if(e.length===1){let t=W(e[0]);typeof t==`object`&&(p.nullable=!0,Object.assign(p,t))}else p.anyOf=e.map(W),p.nullable=!0}else p.anyOf=s.map(W);return c&&(p.oneOf=c.map(W)),d!==void 0&&(p.minLength=d),p}function gi(e){return typeof e==`object`&&!!e&&e.type===`object`&&(e.properties==null||Object.keys(e.properties).length===0)&&!e.additionalProperties}function _i(e,t){let n=[],r=[],i=!0,a=t?.isGemmaModel??!1;for(let{role:t,content:a}of e)switch(t){case`system`:if(!i)throw new F({functionality:`system messages are only supported at the beginning of the conversation`});n.push({text:a});break;case`user`:{i=!1;let e=[];for(let t of a)switch(t.type){case`text`:e.push({text:t.text});break;case`file`:{let n=t.mediaType===`image/*`?`image/jpeg`:t.mediaType;e.push(t.data instanceof URL?{fileData:{mimeType:n,fileUri:t.data.toString()}}:{inlineData:{mimeType:n,data:ci(t.data)}});break}}r.push({role:`user`,parts:e});break}case`assistant`:i=!1,r.push({role:`model`,parts:a.map(e=>{switch(e.type){case`text`:return e.text.length===0?void 0:{text:e.text,thoughtSignature:e.providerOptions?.google?.thoughtSignature};case`reasoning`:return e.text.length===0?void 0:{text:e.text,thought:!0,thoughtSignature:e.providerOptions?.google?.thoughtSignature};case`file`:if(e.mediaType!==`image/png`)throw new F({functionality:`Only PNG images are supported in assistant messages`});if(e.data instanceof URL)throw new F({functionality:`File data URLs in assistant messages are not supported`});return{inlineData:{mimeType:e.mediaType,data:ci(e.data)}};case`tool-call`:return{functionCall:{name:e.toolName,args:e.input},thoughtSignature:e.providerOptions?.google?.thoughtSignature}}}).filter(e=>e!==void 0)});break;case`tool`:{i=!1;let e=[];for(let t of a){let n=t.output;if(n.type===`content`)for(let r of n.value)switch(r.type){case`text`:e.push({functionResponse:{name:t.toolName,response:{name:t.toolName,content:r.text}}});break;case`media`:e.push({inlineData:{mimeType:r.mediaType,data:r.data}},{text:`Tool executed successfully and returned this image as a response`});break;default:e.push({text:JSON.stringify(r)});break}else e.push({functionResponse:{name:t.toolName,response:{name:t.toolName,content:n.value}}})}r.push({role:`user`,parts:e});break}}if(a&&n.length>0&&r.length>0&&r[0].role===`user`){let e=n.map(e=>e.text).join(`
|
|
8
8
|
|
|
9
9
|
`);r[0].parts.unshift({text:e+`
|
|
10
10
|
|
|
11
|
-
`})}return{systemInstruction:n.length>0&&!a?{parts:n}:void 0,contents:r}}function vi(e){return e.includes(`/`)?e:`models/${e}`}var yi=a.object({responseModalities:a.array(a.enum([`TEXT`,`IMAGE`])).optional(),thinkingConfig:a.object({thinkingBudget:a.number().optional(),includeThoughts:a.boolean().optional()}).optional(),cachedContent:a.string().optional(),structuredOutputs:a.boolean().optional(),safetySettings:a.array(a.object({category:a.enum([`HARM_CATEGORY_UNSPECIFIED`,`HARM_CATEGORY_HATE_SPEECH`,`HARM_CATEGORY_DANGEROUS_CONTENT`,`HARM_CATEGORY_HARASSMENT`,`HARM_CATEGORY_SEXUALLY_EXPLICIT`,`HARM_CATEGORY_CIVIC_INTEGRITY`]),threshold:a.enum([`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,`BLOCK_LOW_AND_ABOVE`,`BLOCK_MEDIUM_AND_ABOVE`,`BLOCK_ONLY_HIGH`,`BLOCK_NONE`,`OFF`])})).optional(),threshold:a.enum([`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,`BLOCK_LOW_AND_ABOVE`,`BLOCK_MEDIUM_AND_ABOVE`,`BLOCK_ONLY_HIGH`,`BLOCK_NONE`,`OFF`]).optional(),audioTimestamp:a.boolean().optional(),labels:a.record(a.string(),a.string()).optional()});function bi({tools:e,toolChoice:t,modelId:n}){e=e?.length?e:void 0;let r=[],i=n.includes(`gemini-2`),a=n.includes(`gemini-1.5-flash`)&&!n.includes(`-8b`);if(e==null)return{tools:void 0,toolConfig:void 0,toolWarnings:r};let o=e.some(e=>e.type===`function`),s=e.some(e=>e.type===`provider-defined`);if(o&&s&&r.push({type:`unsupported-tool`,tool:e.find(e=>e.type===`function`),details:`Cannot mix function tools with provider-defined tools in the same request. Please use either function tools or provider-defined tools, but not both.`}),s){let t={};return e.filter(e=>e.type===`provider-defined`).forEach(e=>{switch(e.id){case`google.google_search`:i?t.googleSearch={}:a?t.googleSearchRetrieval={dynamicRetrievalConfig:{mode:e.args.mode,dynamicThreshold:e.args.dynamicThreshold}}:t.googleSearchRetrieval={};break;case`google.url_context`:i?t.urlContext={}:r.push({type:`unsupported-tool`,tool:e,details:`The URL context tool is not supported with other Gemini models than Gemini 2.`});break;case`google.code_execution`:i?t.codeExecution={}:r.push({type:`unsupported-tool`,tool:e,details:`The code execution tools is not supported with other Gemini models than Gemini 2.`});break;default:r.push({type:`unsupported-tool`,tool:e});break}}),{tools:Object.keys(t).length>0?t:void 0,toolConfig:void 0,toolWarnings:r}}let c=[];for(let t of e)switch(t.type){case`function`:c.push({name:t.name,description:t.description??``,parameters:W(t.inputSchema)});break;default:r.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:{functionDeclarations:c},toolConfig:void 0,toolWarnings:r};let l=t.type;switch(l){case`auto`:return{tools:{functionDeclarations:c},toolConfig:{functionCallingConfig:{mode:`AUTO`}},toolWarnings:r};case`none`:return{tools:{functionDeclarations:c},toolConfig:{functionCallingConfig:{mode:`NONE`}},toolWarnings:r};case`required`:return{tools:{functionDeclarations:c},toolConfig:{functionCallingConfig:{mode:`ANY`}},toolWarnings:r};case`tool`:return{tools:{functionDeclarations:c},toolConfig:{functionCallingConfig:{mode:`ANY`,allowedFunctionNames:[t.toolName]}},toolWarnings:r};default:throw new I({functionality:`tool choice type: ${l}`})}}function xi({finishReason:e,hasToolCalls:t}){switch(e){case`STOP`:return t?`tool-calls`:`stop`;case`MAX_TOKENS`:return`length`;case`IMAGE_SAFETY`:case`RECITATION`:case`SAFETY`:case`BLOCKLIST`:case`PROHIBITED_CONTENT`:case`SPII`:return`content-filter`;case`FINISH_REASON_UNSPECIFIED`:case`OTHER`:return`other`;case`MALFORMED_FUNCTION_CALL`:return`error`;default:return`unknown`}}var Si=a.object({web:a.object({uri:a.string(),title:a.string()}).nullish(),retrievedContext:a.object({uri:a.string(),title:a.string()}).nullish()}),Ci=a.object({webSearchQueries:a.array(a.string()).nullish(),retrievalQueries:a.array(a.string()).nullish(),searchEntryPoint:a.object({renderedContent:a.string()}).nullish(),groundingChunks:a.array(Si).nullish(),groundingSupports:a.array(a.object({segment:a.object({startIndex:a.number().nullish(),endIndex:a.number().nullish(),text:a.string().nullish()}),segment_text:a.string().nullish(),groundingChunkIndices:a.array(a.number()).nullish(),supportChunkIndices:a.array(a.number()).nullish(),confidenceScores:a.array(a.number()).nullish(),confidenceScore:a.array(a.number()).nullish()})).nullish(),retrievalMetadata:a.union([a.object({webDynamicRetrievalScore:a.number()}),a.object({})]).nullish()}),wi=$r({id:`google.google_search`,name:`google_search`,inputSchema:a.object({mode:a.enum([`MODE_DYNAMIC`,`MODE_UNSPECIFIED`]).default(`MODE_UNSPECIFIED`),dynamicThreshold:a.number().default(1)})}),Ti=a.object({retrievedUrl:a.string(),urlRetrievalStatus:a.string()}),Ei=a.object({urlMetadata:a.array(Ti)}),Di=$r({id:`google.url_context`,name:`url_context`,inputSchema:a.object({})}),Oi=class{constructor(e,t){this.specificationVersion=`v2`,this.modelId=e,this.config=t,this.generateId=t.generateId??Or}get provider(){return this.config.provider}get supportedUrls(){var e;return(e=this.config).supportedUrls?.call(e)??{}}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,providerOptions:f}){let p=[],m=await Yr({provider:`google`,providerOptions:f,schema:yi});m?.thinkingConfig?.includeThoughts===!0&&!this.config.provider.startsWith(`google.vertex.`)&&p.push({type:`other`,message:`The 'includeThoughts' option is only supported with the Google Vertex provider and might not be supported or could behave unexpectedly with the current Google provider (${this.config.provider}).`});let h=this.modelId.toLowerCase().startsWith(`gemma-`),{contents:g,systemInstruction:_}=_i(e,{isGemmaModel:h}),{tools:v,toolConfig:y,toolWarnings:b}=bi({tools:u,toolChoice:d,modelId:this.modelId});return{args:{generationConfig:{maxOutputTokens:t,temperature:n,topK:i,topP:r,frequencyPenalty:a,presencePenalty:o,stopSequences:s,seed:l,responseMimeType:c?.type===`json`?`application/json`:void 0,responseSchema:c?.type===`json`&&c.schema!=null&&(m?.structuredOutputs??!0)?W(c.schema):void 0,...m?.audioTimestamp&&{audioTimestamp:m.audioTimestamp},responseModalities:m?.responseModalities,thinkingConfig:m?.thinkingConfig},contents:g,systemInstruction:h?void 0:_,safetySettings:m?.safetySettings,tools:v,toolConfig:y,cachedContent:m?.cachedContent,labels:m?.labels},warnings:[...p,...b]}}async doGenerate(e){let{args:t,warnings:n}=await this.getArgs(e),r=JSON.stringify(t),i=Cr(await ti(this.config.headers),e.headers),{responseHeaders:a,value:o,rawValue:s}=await H({url:`${this.config.baseURL}/${vi(this.modelId)}:generateContent`,headers:i,body:t,failedResponseHandler:U,successfulResponseHandler:ii(Fi),abortSignal:e.abortSignal,fetch:this.config.fetch}),c=o.candidates[0],l=[],u=c.content?.parts??[],d=o.usageMetadata,f;for(let e of u)if(`executableCode`in e&&e.executableCode?.code){let t=this.config.generateId();f=t,l.push({type:`tool-call`,toolCallId:t,toolName:`code_execution`,input:JSON.stringify(e.executableCode),providerExecuted:!0})}else `codeExecutionResult`in e&&e.codeExecutionResult?(l.push({type:`tool-result`,toolCallId:f,toolName:`code_execution`,result:{outcome:e.codeExecutionResult.outcome,output:e.codeExecutionResult.output},providerExecuted:!0}),f=void 0):`text`in e&&e.text!=null&&e.text.length>0?l.push({type:e.thought===!0?`reasoning`:`text`,text:e.text,providerMetadata:e.thoughtSignature?{google:{thoughtSignature:e.thoughtSignature}}:void 0}):`functionCall`in e?l.push({type:`tool-call`,toolCallId:this.config.generateId(),toolName:e.functionCall.name,input:JSON.stringify(e.functionCall.args),providerMetadata:e.thoughtSignature?{google:{thoughtSignature:e.thoughtSignature}}:void 0}):`inlineData`in e&&l.push({type:`file`,data:e.inlineData.data,mediaType:e.inlineData.mimeType});let p=ji({groundingMetadata:c.groundingMetadata,generateId:this.config.generateId})??[];for(let e of p)l.push(e);return{content:l,finishReason:xi({finishReason:c.finishReason,hasToolCalls:l.some(e=>e.type===`tool-call`)}),usage:{inputTokens:d?.promptTokenCount??void 0,outputTokens:d?.candidatesTokenCount??void 0,totalTokens:d?.totalTokenCount??void 0,reasoningTokens:d?.thoughtsTokenCount??void 0,cachedInputTokens:d?.cachedContentTokenCount??void 0},warnings:n,providerMetadata:{google:{promptFeedback:o.promptFeedback??null,groundingMetadata:c.groundingMetadata??null,urlContextMetadata:c.urlContextMetadata??null,safetyRatings:c.safetyRatings??null,usageMetadata:d??null}},request:{body:r},response:{headers:a,body:s}}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r=JSON.stringify(t),i=Cr(await ti(this.config.headers),e.headers),{responseHeaders:a,value:o}=await H({url:`${this.config.baseURL}/${vi(this.modelId)}:streamGenerateContent?alt=sse`,headers:i,body:t,failedResponseHandler:U,successfulResponseHandler:ri(Ii),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l,u=this.config.generateId,d=!1,f=null,p=null,m=0,h=new Set,g;return{stream:o.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let r=t.value,i=r.usageMetadata;i!=null&&(c.inputTokens=i.promptTokenCount??void 0,c.outputTokens=i.candidatesTokenCount??void 0,c.totalTokens=i.totalTokenCount??void 0,c.reasoningTokens=i.thoughtsTokenCount??void 0,c.cachedInputTokens=i.cachedContentTokenCount??void 0);let a=r.candidates?.[0];if(a==null)return;let o=a.content,_=ji({groundingMetadata:a.groundingMetadata,generateId:u});if(_!=null)for(let e of _)e.sourceType===`url`&&!h.has(e.url)&&(h.add(e.url),n.enqueue(e));if(o!=null){let e=o.parts??[];for(let t of e)if(`executableCode`in t&&t.executableCode?.code){let e=u();g=e,n.enqueue({type:`tool-call`,toolCallId:e,toolName:`code_execution`,input:JSON.stringify(t.executableCode),providerExecuted:!0}),d=!0}else if(`codeExecutionResult`in t&&t.codeExecutionResult){let e=g;e&&(n.enqueue({type:`tool-result`,toolCallId:e,toolName:`code_execution`,result:{outcome:t.codeExecutionResult.outcome,output:t.codeExecutionResult.output},providerExecuted:!0}),g=void 0)}else `text`in t&&t.text!=null&&t.text.length>0&&(t.thought===!0?(f!==null&&(n.enqueue({type:`text-end`,id:f}),f=null),p===null&&(p=String(m++),n.enqueue({type:`reasoning-start`,id:p,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})),n.enqueue({type:`reasoning-delta`,id:p,delta:t.text,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})):(p!==null&&(n.enqueue({type:`reasoning-end`,id:p}),p=null),f===null&&(f=String(m++),n.enqueue({type:`text-start`,id:f,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})),n.enqueue({type:`text-delta`,id:f,delta:t.text,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})));let t=Ai(o.parts);if(t!=null)for(let e of t)n.enqueue({type:`file`,mediaType:e.inlineData.mimeType,data:e.inlineData.data});let r=ki({parts:o.parts,generateId:u});if(r!=null)for(let e of r)n.enqueue({type:`tool-input-start`,id:e.toolCallId,toolName:e.toolName,providerMetadata:e.providerMetadata}),n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:e.args,providerMetadata:e.providerMetadata}),n.enqueue({type:`tool-input-end`,id:e.toolCallId,providerMetadata:e.providerMetadata}),n.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:e.toolName,input:e.args,providerMetadata:e.providerMetadata}),d=!0}a.finishReason!=null&&(s=xi({finishReason:a.finishReason,hasToolCalls:d}),l={google:{promptFeedback:r.promptFeedback??null,groundingMetadata:a.groundingMetadata??null,urlContextMetadata:a.urlContextMetadata??null,safetyRatings:a.safetyRatings??null}},i!=null&&(l.google.usageMetadata=i))},flush(e){f!==null&&e.enqueue({type:`text-end`,id:f}),p!==null&&e.enqueue({type:`reasoning-end`,id:p}),e.enqueue({type:`finish`,finishReason:s,usage:c,providerMetadata:l})}})),response:{headers:a},request:{body:r}}}};function ki({parts:e,generateId:t}){let n=e?.filter(e=>`functionCall`in e);return n==null||n.length===0?void 0:n.map(e=>({type:`tool-call`,toolCallId:t(),toolName:e.functionCall.name,args:JSON.stringify(e.functionCall.args),providerMetadata:e.thoughtSignature?{google:{thoughtSignature:e.thoughtSignature}}:void 0}))}function Ai(e){return e?.filter(e=>`inlineData`in e)}function ji({groundingMetadata:e,generateId:t}){return(e?.groundingChunks)?.filter(e=>e.web!=null).map(e=>({type:`source`,sourceType:`url`,id:t(),url:e.web.uri,title:e.web.title}))}var Mi=a.object({parts:a.array(a.union([a.object({functionCall:a.object({name:a.string(),args:a.unknown()}),thoughtSignature:a.string().nullish()}),a.object({inlineData:a.object({mimeType:a.string(),data:a.string()})}),a.object({executableCode:a.object({language:a.string(),code:a.string()}).nullish(),codeExecutionResult:a.object({outcome:a.string(),output:a.string()}).nullish(),text:a.string().nullish(),thought:a.boolean().nullish(),thoughtSignature:a.string().nullish()})])).nullish()}),Ni=a.object({category:a.string().nullish(),probability:a.string().nullish(),probabilityScore:a.number().nullish(),severity:a.string().nullish(),severityScore:a.number().nullish(),blocked:a.boolean().nullish()}),Pi=a.object({cachedContentTokenCount:a.number().nullish(),thoughtsTokenCount:a.number().nullish(),promptTokenCount:a.number().nullish(),candidatesTokenCount:a.number().nullish(),totalTokenCount:a.number().nullish()}),Fi=a.object({candidates:a.array(a.object({content:Mi.nullish().or(a.object({}).strict()),finishReason:a.string().nullish(),safetyRatings:a.array(Ni).nullish(),groundingMetadata:Ci.nullish(),urlContextMetadata:Ei.nullish()})),usageMetadata:Pi.nullish(),promptFeedback:a.object({blockReason:a.string().nullish(),safetyRatings:a.array(Ni).nullish()}).nullish()}),Ii=a.object({candidates:a.array(a.object({content:Mi.nullish(),finishReason:a.string().nullish(),safetyRatings:a.array(Ni).nullish(),groundingMetadata:Ci.nullish(),urlContextMetadata:Ei.nullish()})).nullish(),usageMetadata:Pi.nullish(),promptFeedback:a.object({blockReason:a.string().nullish(),safetyRatings:a.array(Ni).nullish()}).nullish()}),Li=ei({id:`google.code_execution`,name:`code_execution`,inputSchema:a.object({language:a.string().describe(`The programming language of the code.`),code:a.string().describe(`The code to be executed.`)}),outputSchema:a.object({outcome:a.string().describe(`The outcome of the execution (e.g., "OUTCOME_OK").`),output:a.string().describe(`The output from the code execution.`)})}),Ri={googleSearch:wi,urlContext:Di,codeExecution:Li},zi=class{constructor(e,t,n){this.modelId=e,this.settings=t,this.config=n,this.specificationVersion=`v2`}get maxImagesPerCall(){return this.settings.maxImagesPerCall??4}get provider(){return this.config.provider}async doGenerate(e){var t;let{prompt:n,n:r=1,size:i=`1024x1024`,aspectRatio:a=`1:1`,seed:o,providerOptions:s,headers:c,abortSignal:l}=e,u=[];i!=null&&u.push({type:`unsupported-setting`,setting:`size`,details:"This model does not support the `size` option. Use `aspectRatio` instead."}),o!=null&&u.push({type:`unsupported-setting`,setting:`seed`,details:"This model does not support the `seed` option through this provider."});let d=await Yr({provider:`google`,providerOptions:s,schema:Vi}),f=((t=this.config._internal)?.currentDate)?.call(t)??new Date,p={sampleCount:r};a!=null&&(p.aspectRatio=a),d&&Object.assign(p,d);let m={instances:[{prompt:n}],parameters:p},{responseHeaders:h,value:g}=await H({url:`${this.config.baseURL}/models/${this.modelId}:predict`,headers:Cr(await ti(this.config.headers),c),body:m,failedResponseHandler:U,successfulResponseHandler:ii(Bi),abortSignal:l,fetch:this.config.fetch});return{images:g.predictions.map(e=>e.bytesBase64Encoded),warnings:u??[],providerMetadata:{google:{images:g.predictions.map(e=>({}))}},response:{timestamp:f,modelId:this.modelId,headers:h}}}},Bi=a.object({predictions:a.array(a.object({bytesBase64Encoded:a.string()})).default([])}),Vi=a.object({personGeneration:a.enum([`dont_allow`,`allow_adult`,`allow_all`]).nullish(),aspectRatio:a.enum([`1:1`,`3:4`,`4:3`,`9:16`,`16:9`]).nullish()});function Hi(e={}){let t=li(e.baseURL)??`https://generativelanguage.googleapis.com/v1beta`,n=()=>Dr({"x-goog-api-key":Nr({apiKey:e.apiKey,environmentVariableName:`GOOGLE_GENERATIVE_AI_API_KEY`,description:`Google Generative AI`}),...e.headers},`ai-sdk/google/${ui}`),r=r=>new Oi(r,{provider:`google.generative-ai`,baseURL:t,headers:n,generateId:e.generateId??Or,supportedUrls:()=>({"*":[RegExp(`^${t}/files/.*$`),RegExp(`^https://(?:www\\.)?youtube\\.com/watch\\?v=[\\w-]+(?:&[\\w=&.-]*)?$`),RegExp(`^https://youtu\\.be/[\\w-]+(?:\\?[\\w=&.-]*)?$`)]}),fetch:e.fetch}),i=r=>new pi(r,{provider:`google.generative-ai`,baseURL:t,headers:n,fetch:e.fetch}),a=(r,i={})=>new zi(r,i,{provider:`google.generative-ai`,baseURL:t,headers:n,fetch:e.fetch}),o=function(e){if(new.target)throw Error(`The Google Generative AI model function cannot be called with the new keyword.`);return r(e)};return o.languageModel=r,o.chat=r,o.generativeAI=r,o.embedding=i,o.textEmbedding=i,o.textEmbeddingModel=i,o.image=a,o.imageModel=a,o.tools=Ri,o}Hi();function G(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function K(e){return Object.fromEntries([...e.headers])}function Ui(e=globalThis){return e.window?`runtime/browser`:e.navigator?.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:e.process?.versions?.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function Wi(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function Gi(e,...t){let n=Wi(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}var q=(({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 j({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`})();function Ki(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var qi=[`fetch failed`,`failed to fetch`];function Ji({error:e,url:t,requestBodyValues:n}){if(Ki(e))return e;if(e instanceof TypeError&&qi.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new k({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}var Yi=`3.0.10`;function Xi({apiKey:e,environmentVariableName:t,apiKeyParameterName:n=`apiKey`,description:r}){if(typeof e==`string`)return e;if(e!=null)throw new N({message:`${r} API key must be a string.`});if(typeof process>`u`)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables is not supported in this environment.`});if(e=process.env[t],e==null)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!=`string`)throw new N({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}function Zi({settingValue:e,environmentVariableName:t}){if(typeof e==`string`||!(e!=null||typeof process>`u`)&&(e=process.env[t],!(e==null||typeof e!=`string`)))return e}function Qi(e){let[t,n=``]=e.toLowerCase().split(`/`);return{mpeg:`mp3`,"x-wav":`wav`,opus:`ogg`,mp4:`m4a`,"x-m4a":`m4a`}[n]??n}var $i=/"__proto__"\s*:/,ea=/"constructor"\s*:/;function ta(e){let t=JSON.parse(e);return typeof t!=`object`||!t||$i.test(e)===!1&&ea.test(e)===!1?t:na(t)}function na(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 ra(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return ta(e)}finally{Error.stackTraceLimit=t}}var ia=Symbol.for(`vercel.ai.validator`);function aa(e){return{[ia]:!0,validate:e}}function oa(e){return typeof e==`object`&&!!e&&ia in e&&e[ia]===!0&&`validate`in e}function sa(e){return oa(e)?e:ca(e)}function ca(e){return aa(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new F({value:t,cause:n.issues})}})}async function la({value:e,schema:t}){let n=await ua({value:e,schema:t});if(!n.success)throw F.wrap({value:e,cause:n.error});return n.value}async function ua({value:e,schema:t}){let n=sa(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:F.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:F.wrap({value:e,cause:t}),rawValue:e}}}async function da({text:e,schema:t}){try{let n=ra(e);return t==null?n:la({value:n,schema:t})}catch(t){throw M.isInstance(t)||F.isInstance(t)?t:new M({text:e,cause:t})}}async function fa({text:e,schema:t}){try{let n=ra(e);return t==null?{success:!0,value:n,rawValue:n}:await ua({value:n,schema:t})}catch(t){return{success:!1,error:M.isInstance(t)?t:new M({text:e,cause:t}),rawValue:void 0}}}function pa(e){try{return ra(e),!0}catch{return!1}}function ma({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new E).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await fa({text:e,schema:t}))}}))}async function J({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await ua({value:t[e],schema:n});if(!r.success)throw new j({argument:`providerOptions`,message:`invalid ${e} provider options`,cause:r.error});return r.value}var ha=()=>globalThis.fetch,Y=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>_a({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),ga=async({url:e,headers:t,formData:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>_a({url:e,headers:t,body:{content:n,values:Object.fromEntries(n.entries())},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),_a=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=ha()})=>{try{let s=await o(e,{method:`POST`,headers:Gi(t,`ai-sdk/provider-utils/${Yi}`,Ui()),body:n.content,signal:a}),c=K(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw Ki(t)||k.isInstance(t)?t:new k({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(Ki(t)||k.isInstance(t))?t:new k({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw Ji({error:t,url:e,requestBodyValues:n.values})}};function va(e){return e}function ya({id:e,name:t,inputSchema:n}){return({execute:r,outputSchema:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>va({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:i,execute:r,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}function ba({id:e,name:t,inputSchema:n,outputSchema:r}){return({execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>va({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:r,execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}var xa=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=K(r);if(o.trim()===``)return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await da({text:o,schema:e});return{responseHeaders:s,value:new k({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},Sa=e=>async({response:t})=>{let n=K(t);if(t.body==null)throw new A({});return{responseHeaders:n,value:ma({stream:t.body,schema:e})}},X=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await fa({text:i,schema:e}),o=K(t);if(!a.success)throw new k({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},Ca=()=>async({response:e,url:t,requestBodyValues:n})=>{let r=K(e);if(!e.body)throw new k({message:`Response body is empty`,url:t,requestBodyValues:n,statusCode:e.status,responseHeaders:r,responseBody:void 0});try{let t=await e.arrayBuffer();return{responseHeaders:r,value:new Uint8Array(t)}}catch(i){throw new k({message:`Failed to read response as array buffer`,url:t,requestBodyValues:n,statusCode:e.status,responseHeaders:r,responseBody:void 0,cause:i})}},{btoa:wa,atob:Ta}=globalThis;function Ea(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=Ta(t);return Uint8Array.from(n,e=>e.codePointAt(0))}function Da(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return wa(t)}function Z(e){return e instanceof Uint8Array?Da(e):e}function Oa(e){return e?.replace(/\/$/,``)}var ka=a.object({error:a.object({message:a.string(),type:a.string().nullish(),param:a.any().nullish(),code:a.union([a.string(),a.number()]).nullish()})}),Q=xa({errorSchema:ka,errorToMessage:e=>e.error.message});function Aa({prompt:e,systemMessageMode:t=`system`}){let n=[],r=[];for(let{role:i,content:a}of e)switch(i){case`system`:switch(t){case`system`:n.push({role:`system`,content:a});break;case`developer`:n.push({role:`developer`,content:a});break;case`remove`:r.push({type:`other`,message:`system messages are removed for this model`});break;default:{let e=t;throw Error(`Unsupported system message mode: ${e}`)}}break;case`user`:if(a.length===1&&a[0].type===`text`){n.push({role:`user`,content:a[0].text});break}n.push({role:`user`,content:a.map((e,t)=>{switch(e.type){case`text`:return{type:`text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`image_url`,image_url:{url:e.data instanceof URL?e.data.toString():`data:${t};base64,${Z(e.data)}`,detail:e.providerOptions?.openai?.imageDetail}}}else if(e.mediaType.startsWith(`audio/`)){if(e.data instanceof URL)throw new I({functionality:`audio file parts with URLs`});switch(e.mediaType){case`audio/wav`:return{type:`input_audio`,input_audio:{data:Z(e.data),format:`wav`}};case`audio/mp3`:case`audio/mpeg`:return{type:`input_audio`,input_audio:{data:Z(e.data),format:`mp3`}};default:throw new I({functionality:`audio content parts with media type ${e.mediaType}`})}}else if(e.mediaType===`application/pdf`){if(e.data instanceof URL)throw new I({functionality:`PDF file parts with URLs`});return{type:`file`,file:typeof e.data==`string`&&e.data.startsWith(`file-`)?{file_id:e.data}:{filename:e.filename??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${Z(e.data)}`}}}else throw new I({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e=``,t=[];for(let n of a)switch(n.type){case`text`:e+=n.text;break;case`tool-call`:t.push({id:n.toolCallId,type:`function`,function:{name:n.toolName,arguments:JSON.stringify(n.input)}});break}n.push({role:`assistant`,content:e,tool_calls:t.length>0?t:void 0});break}case`tool`:for(let e of a){let t=e.output,r;switch(t.type){case`text`:case`error-text`:r=t.value;break;case`content`:case`json`:case`error-json`:r=JSON.stringify(t.value);break}n.push({role:`tool`,tool_call_id:e.toolCallId,content:r})}break;default:{let e=i;throw Error(`Unsupported role: ${e}`)}}return{messages:n,warnings:r}}function ja({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function Ma(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`unknown`}}var Na=a.object({logitBias:a.record(a.coerce.number(),a.number()).optional(),logprobs:a.union([a.boolean(),a.number()]).optional(),parallelToolCalls:a.boolean().optional(),user:a.string().optional(),reasoningEffort:a.enum([`minimal`,`low`,`medium`,`high`]).optional(),maxCompletionTokens:a.number().optional(),store:a.boolean().optional(),metadata:a.record(a.string().max(64),a.string().max(512)).optional(),prediction:a.record(a.string(),a.any()).optional(),structuredOutputs:a.boolean().optional(),serviceTier:a.enum([`auto`,`flex`,`priority`]).optional(),strictJsonSchema:a.boolean().optional(),textVerbosity:a.enum([`low`,`medium`,`high`]).optional(),promptCacheKey:a.string().optional(),safetyIdentifier:a.string().optional()});function Pa({tools:e,toolChoice:t,structuredOutputs:n,strictJsonSchema:r}){e=e?.length?e:void 0;let i=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:i};let a=[];for(let t of e)switch(t.type){case`function`:a.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema,strict:n?r:void 0}});break;default:i.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:a,toolChoice:void 0,toolWarnings:i};let o=t.type;switch(o){case`auto`:case`none`:case`required`:return{tools:a,toolChoice:o,toolWarnings:i};case`tool`:return{tools:a,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:i};default:throw new I({functionality:`tool choice type: ${o}`})}}var Fa=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,providerOptions:f}){let p=[],m=await J({provider:`openai`,providerOptions:f,schema:Na})??{},h=m.structuredOutputs??!0;i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),c?.type===`json`&&c.schema!=null&&!h&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is only supported with structuredOutputs`});let{messages:g,warnings:_}=Aa({prompt:e,systemMessageMode:Ha(this.modelId)});p.push(..._);let v=m.strictJsonSchema??!1,y={model:this.modelId,logit_bias:m.logitBias,logprobs:m.logprobs===!0||typeof m.logprobs==`number`?!0:void 0,top_logprobs:typeof m.logprobs==`number`?m.logprobs:typeof m.logprobs==`boolean`&&m.logprobs?0:void 0,user:m.user,parallel_tool_calls:m.parallelToolCalls,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,response_format:c?.type===`json`?h&&c.schema!=null?{type:`json_schema`,json_schema:{schema:c.schema,strict:v,name:c.name??`response`,description:c.description}}:{type:`json_object`}:void 0,stop:s,seed:l,verbosity:m.textVerbosity,max_completion_tokens:m.maxCompletionTokens,store:m.store,metadata:m.metadata,prediction:m.prediction,reasoning_effort:m.reasoningEffort,service_tier:m.serviceTier,prompt_cache_key:m.promptCacheKey,safety_identifier:m.safetyIdentifier,messages:g};za(this.modelId)?(y.temperature!=null&&(y.temperature=void 0,p.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),y.top_p!=null&&(y.top_p=void 0,p.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`})),y.frequency_penalty!=null&&(y.frequency_penalty=void 0,p.push({type:`unsupported-setting`,setting:`frequencyPenalty`,details:`frequencyPenalty is not supported for reasoning models`})),y.presence_penalty!=null&&(y.presence_penalty=void 0,p.push({type:`unsupported-setting`,setting:`presencePenalty`,details:`presencePenalty is not supported for reasoning models`})),y.logit_bias!=null&&(y.logit_bias=void 0,p.push({type:`other`,message:`logitBias is not supported for reasoning models`})),y.logprobs!=null&&(y.logprobs=void 0,p.push({type:`other`,message:`logprobs is not supported for reasoning models`})),y.top_logprobs!=null&&(y.top_logprobs=void 0,p.push({type:`other`,message:`topLogprobs is not supported for reasoning models`})),y.max_tokens!=null&&(y.max_completion_tokens??=y.max_tokens,y.max_tokens=void 0)):(this.modelId.startsWith(`gpt-4o-search-preview`)||this.modelId.startsWith(`gpt-4o-mini-search-preview`))&&y.temperature!=null&&(y.temperature=void 0,p.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for the search preview models and has been removed.`})),m.serviceTier===`flex`&&!Ba(this.modelId)&&(p.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),y.service_tier=void 0),m.serviceTier===`priority`&&!Va(this.modelId)&&(p.push({type:`unsupported-setting`,setting:`serviceTier`,details:`priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported`}),y.service_tier=void 0);let{tools:b,toolChoice:x,toolWarnings:S}=Pa({tools:u,toolChoice:d,structuredOutputs:h,strictJsonSchema:v});return{args:{...y,tools:b,tool_choice:x},warnings:[...p,...S]}}async doGenerate(e){let{args:t,warnings:n}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await Y({url:this.config.url({path:`/chat/completions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:t,failedResponseHandler:Q,successfulResponseHandler:X(La),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=i.choices[0],s=[],c=o.message.content;c!=null&&c.length>0&&s.push({type:`text`,text:c});for(let e of o.message.tool_calls??[])s.push({type:`tool-call`,toolCallId:e.id??q(),toolName:e.function.name,input:e.function.arguments});for(let e of o.message.annotations??[])s.push({type:`source`,sourceType:`url`,id:q(),url:e.url,title:e.title});let l=i.usage?.completion_tokens_details,u=i.usage?.prompt_tokens_details,d={openai:{}};return l?.accepted_prediction_tokens!=null&&(d.openai.acceptedPredictionTokens=l?.accepted_prediction_tokens),l?.rejected_prediction_tokens!=null&&(d.openai.rejectedPredictionTokens=l?.rejected_prediction_tokens),o.logprobs?.content!=null&&(d.openai.logprobs=o.logprobs.content),{content:s,finishReason:Ma(o.finish_reason),usage:{inputTokens:i.usage?.prompt_tokens??void 0,outputTokens:i.usage?.completion_tokens??void 0,totalTokens:i.usage?.total_tokens??void 0,reasoningTokens:l?.reasoning_tokens??void 0,cachedInputTokens:u?.cached_tokens??void 0},request:{body:t},response:{...ja(i),headers:r,body:a},warnings:n,providerMetadata:d}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await Y({url:this.config.url({path:`/chat/completions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:r,failedResponseHandler:Q,successfulResponseHandler:Sa(Ra),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=[],s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=!0,u=!1,d={openai:{}};return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let r=t.value;if(`error`in r){s=`error`,n.enqueue({type:`error`,error:r.error});return}l&&(l=!1,n.enqueue({type:`response-metadata`,...ja(r)})),r.usage!=null&&(c.inputTokens=r.usage.prompt_tokens??void 0,c.outputTokens=r.usage.completion_tokens??void 0,c.totalTokens=r.usage.total_tokens??void 0,c.reasoningTokens=r.usage.completion_tokens_details?.reasoning_tokens??void 0,c.cachedInputTokens=r.usage.prompt_tokens_details?.cached_tokens??void 0,r.usage.completion_tokens_details?.accepted_prediction_tokens!=null&&(d.openai.acceptedPredictionTokens=r.usage.completion_tokens_details?.accepted_prediction_tokens),r.usage.completion_tokens_details?.rejected_prediction_tokens!=null&&(d.openai.rejectedPredictionTokens=r.usage.completion_tokens_details?.rejected_prediction_tokens));let i=r.choices[0];if(i?.finish_reason!=null&&(s=Ma(i.finish_reason)),i?.logprobs?.content!=null&&(d.openai.logprobs=i.logprobs.content),i?.delta==null)return;let a=i.delta;if(a.content!=null&&(u||=(n.enqueue({type:`text-start`,id:`0`}),!0),n.enqueue({type:`text-delta`,id:`0`,delta:a.content})),a.tool_calls!=null)for(let e of a.tool_calls){let t=e.index;if(o[t]==null){if(e.type!==`function`)throw new wt({data:e,message:`Expected 'function' type.`});if(e.id==null)throw new wt({data:e,message:`Expected 'id' to be a string.`});if(e.function?.name==null)throw new wt({data:e,message:`Expected 'function.name' to be a string.`});n.enqueue({type:`tool-input-start`,id:e.id,toolName:e.function.name}),o[t]={id:e.id,type:`function`,function:{name:e.function.name,arguments:e.function.arguments??``},hasFinished:!1};let r=o[t];r.function?.name!=null&&r.function?.arguments!=null&&(r.function.arguments.length>0&&n.enqueue({type:`tool-input-delta`,id:r.id,delta:r.function.arguments}),pa(r.function.arguments)&&(n.enqueue({type:`tool-input-end`,id:r.id}),n.enqueue({type:`tool-call`,toolCallId:r.id??q(),toolName:r.function.name,input:r.function.arguments}),r.hasFinished=!0));continue}let r=o[t];r.hasFinished||(e.function?.arguments!=null&&(r.function.arguments+=e.function?.arguments??``),n.enqueue({type:`tool-input-delta`,id:r.id,delta:e.function.arguments??``}),r.function?.name!=null&&r.function?.arguments!=null&&pa(r.function.arguments)&&(n.enqueue({type:`tool-input-end`,id:r.id}),n.enqueue({type:`tool-call`,toolCallId:r.id??q(),toolName:r.function.name,input:r.function.arguments}),r.hasFinished=!0))}if(a.annotations!=null)for(let e of a.annotations)n.enqueue({type:`source`,sourceType:`url`,id:q(),url:e.url,title:e.title})},flush(e){u&&e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:s,usage:c,...d==null?{}:{providerMetadata:d}})}})),request:{body:r},response:{headers:i}}}},Ia=a.object({prompt_tokens:a.number().nullish(),completion_tokens:a.number().nullish(),total_tokens:a.number().nullish(),prompt_tokens_details:a.object({cached_tokens:a.number().nullish()}).nullish(),completion_tokens_details:a.object({reasoning_tokens:a.number().nullish(),accepted_prediction_tokens:a.number().nullish(),rejected_prediction_tokens:a.number().nullish()}).nullish()}).nullish(),La=a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({message:a.object({role:a.literal(`assistant`).nullish(),content:a.string().nullish(),tool_calls:a.array(a.object({id:a.string().nullish(),type:a.literal(`function`),function:a.object({name:a.string(),arguments:a.string()})})).nullish(),annotations:a.array(a.object({type:a.literal(`url_citation`),start_index:a.number(),end_index:a.number(),url:a.string(),title:a.string()})).nullish()}),index:a.number(),logprobs:a.object({content:a.array(a.object({token:a.string(),logprob:a.number(),top_logprobs:a.array(a.object({token:a.string(),logprob:a.number()}))})).nullish()}).nullish(),finish_reason:a.string().nullish()})),usage:Ia}),Ra=a.union([a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({delta:a.object({role:a.enum([`assistant`]).nullish(),content:a.string().nullish(),tool_calls:a.array(a.object({index:a.number(),id:a.string().nullish(),type:a.literal(`function`).nullish(),function:a.object({name:a.string().nullish(),arguments:a.string().nullish()})})).nullish(),annotations:a.array(a.object({type:a.literal(`url_citation`),start_index:a.number(),end_index:a.number(),url:a.string(),title:a.string()})).nullish()}).nullish(),logprobs:a.object({content:a.array(a.object({token:a.string(),logprob:a.number(),top_logprobs:a.array(a.object({token:a.string(),logprob:a.number()}))})).nullish()}).nullish(),finish_reason:a.string().nullish(),index:a.number()})),usage:Ia}),ka]);function za(e){return(e.startsWith(`o`)||e.startsWith(`gpt-5`))&&!e.startsWith(`gpt-5-chat`)}function Ba(e){return e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`)}function Va(e){return e.startsWith(`gpt-4`)||e.startsWith(`gpt-5-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-nano`)&&!e.startsWith(`gpt-5-chat`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`)}function Ha(e){return za(e)?Ua[e]?.systemMessageMode??`developer`:`system`}var Ua={"o1-mini":{systemMessageMode:`remove`},"o1-mini-2024-09-12":{systemMessageMode:`remove`},"o1-preview":{systemMessageMode:`remove`},"o1-preview-2024-09-12":{systemMessageMode:`remove`},o3:{systemMessageMode:`developer`},"o3-2025-04-16":{systemMessageMode:`developer`},"o3-mini":{systemMessageMode:`developer`},"o3-mini-2025-01-31":{systemMessageMode:`developer`},"o4-mini":{systemMessageMode:`developer`},"o4-mini-2025-04-16":{systemMessageMode:`developer`}};function Wa({prompt:e,user:t=`user`,assistant:n=`assistant`}){let r=``;e[0].role===`system`&&(r+=`${e[0].content}
|
|
11
|
+
`})}return{systemInstruction:n.length>0&&!a?{parts:n}:void 0,contents:r}}function vi(e){return e.includes(`/`)?e:`models/${e}`}var yi=a.object({responseModalities:a.array(a.enum([`TEXT`,`IMAGE`])).optional(),thinkingConfig:a.object({thinkingBudget:a.number().optional(),includeThoughts:a.boolean().optional()}).optional(),cachedContent:a.string().optional(),structuredOutputs:a.boolean().optional(),safetySettings:a.array(a.object({category:a.enum([`HARM_CATEGORY_UNSPECIFIED`,`HARM_CATEGORY_HATE_SPEECH`,`HARM_CATEGORY_DANGEROUS_CONTENT`,`HARM_CATEGORY_HARASSMENT`,`HARM_CATEGORY_SEXUALLY_EXPLICIT`,`HARM_CATEGORY_CIVIC_INTEGRITY`]),threshold:a.enum([`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,`BLOCK_LOW_AND_ABOVE`,`BLOCK_MEDIUM_AND_ABOVE`,`BLOCK_ONLY_HIGH`,`BLOCK_NONE`,`OFF`])})).optional(),threshold:a.enum([`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,`BLOCK_LOW_AND_ABOVE`,`BLOCK_MEDIUM_AND_ABOVE`,`BLOCK_ONLY_HIGH`,`BLOCK_NONE`,`OFF`]).optional(),audioTimestamp:a.boolean().optional(),labels:a.record(a.string(),a.string()).optional()});function bi({tools:e,toolChoice:t,modelId:n}){e=e?.length?e:void 0;let r=[],i=n.includes(`gemini-2`),a=n.includes(`gemini-1.5-flash`)&&!n.includes(`-8b`);if(e==null)return{tools:void 0,toolConfig:void 0,toolWarnings:r};let o=e.some(e=>e.type===`function`),s=e.some(e=>e.type===`provider-defined`);if(o&&s&&r.push({type:`unsupported-tool`,tool:e.find(e=>e.type===`function`),details:`Cannot mix function tools with provider-defined tools in the same request. Please use either function tools or provider-defined tools, but not both.`}),s){let t={};return e.filter(e=>e.type===`provider-defined`).forEach(e=>{switch(e.id){case`google.google_search`:i?t.googleSearch={}:a?t.googleSearchRetrieval={dynamicRetrievalConfig:{mode:e.args.mode,dynamicThreshold:e.args.dynamicThreshold}}:t.googleSearchRetrieval={};break;case`google.url_context`:i?t.urlContext={}:r.push({type:`unsupported-tool`,tool:e,details:`The URL context tool is not supported with other Gemini models than Gemini 2.`});break;case`google.code_execution`:i?t.codeExecution={}:r.push({type:`unsupported-tool`,tool:e,details:`The code execution tools is not supported with other Gemini models than Gemini 2.`});break;default:r.push({type:`unsupported-tool`,tool:e});break}}),{tools:Object.keys(t).length>0?t:void 0,toolConfig:void 0,toolWarnings:r}}let c=[];for(let t of e)switch(t.type){case`function`:c.push({name:t.name,description:t.description??``,parameters:W(t.inputSchema)});break;default:r.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:{functionDeclarations:c},toolConfig:void 0,toolWarnings:r};let l=t.type;switch(l){case`auto`:return{tools:{functionDeclarations:c},toolConfig:{functionCallingConfig:{mode:`AUTO`}},toolWarnings:r};case`none`:return{tools:{functionDeclarations:c},toolConfig:{functionCallingConfig:{mode:`NONE`}},toolWarnings:r};case`required`:return{tools:{functionDeclarations:c},toolConfig:{functionCallingConfig:{mode:`ANY`}},toolWarnings:r};case`tool`:return{tools:{functionDeclarations:c},toolConfig:{functionCallingConfig:{mode:`ANY`,allowedFunctionNames:[t.toolName]}},toolWarnings:r};default:throw new F({functionality:`tool choice type: ${l}`})}}function xi({finishReason:e,hasToolCalls:t}){switch(e){case`STOP`:return t?`tool-calls`:`stop`;case`MAX_TOKENS`:return`length`;case`IMAGE_SAFETY`:case`RECITATION`:case`SAFETY`:case`BLOCKLIST`:case`PROHIBITED_CONTENT`:case`SPII`:return`content-filter`;case`FINISH_REASON_UNSPECIFIED`:case`OTHER`:return`other`;case`MALFORMED_FUNCTION_CALL`:return`error`;default:return`unknown`}}var Si=a.object({web:a.object({uri:a.string(),title:a.string()}).nullish(),retrievedContext:a.object({uri:a.string(),title:a.string()}).nullish()}),Ci=a.object({webSearchQueries:a.array(a.string()).nullish(),retrievalQueries:a.array(a.string()).nullish(),searchEntryPoint:a.object({renderedContent:a.string()}).nullish(),groundingChunks:a.array(Si).nullish(),groundingSupports:a.array(a.object({segment:a.object({startIndex:a.number().nullish(),endIndex:a.number().nullish(),text:a.string().nullish()}),segment_text:a.string().nullish(),groundingChunkIndices:a.array(a.number()).nullish(),supportChunkIndices:a.array(a.number()).nullish(),confidenceScores:a.array(a.number()).nullish(),confidenceScore:a.array(a.number()).nullish()})).nullish(),retrievalMetadata:a.union([a.object({webDynamicRetrievalScore:a.number()}),a.object({})]).nullish()}),wi=$r({id:`google.google_search`,name:`google_search`,inputSchema:a.object({mode:a.enum([`MODE_DYNAMIC`,`MODE_UNSPECIFIED`]).default(`MODE_UNSPECIFIED`),dynamicThreshold:a.number().default(1)})}),Ti=a.object({retrievedUrl:a.string(),urlRetrievalStatus:a.string()}),Ei=a.object({urlMetadata:a.array(Ti)}),Di=$r({id:`google.url_context`,name:`url_context`,inputSchema:a.object({})}),Oi=class{constructor(e,t){this.specificationVersion=`v2`,this.modelId=e,this.config=t,this.generateId=t.generateId??Or}get provider(){return this.config.provider}get supportedUrls(){var e;return(e=this.config).supportedUrls?.call(e)??{}}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,providerOptions:f}){let p=[],m=await Yr({provider:`google`,providerOptions:f,schema:yi});m?.thinkingConfig?.includeThoughts===!0&&!this.config.provider.startsWith(`google.vertex.`)&&p.push({type:`other`,message:`The 'includeThoughts' option is only supported with the Google Vertex provider and might not be supported or could behave unexpectedly with the current Google provider (${this.config.provider}).`});let h=this.modelId.toLowerCase().startsWith(`gemma-`),{contents:g,systemInstruction:_}=_i(e,{isGemmaModel:h}),{tools:v,toolConfig:y,toolWarnings:b}=bi({tools:u,toolChoice:d,modelId:this.modelId});return{args:{generationConfig:{maxOutputTokens:t,temperature:n,topK:i,topP:r,frequencyPenalty:a,presencePenalty:o,stopSequences:s,seed:l,responseMimeType:c?.type===`json`?`application/json`:void 0,responseSchema:c?.type===`json`&&c.schema!=null&&(m?.structuredOutputs??!0)?W(c.schema):void 0,...m?.audioTimestamp&&{audioTimestamp:m.audioTimestamp},responseModalities:m?.responseModalities,thinkingConfig:m?.thinkingConfig},contents:g,systemInstruction:h?void 0:_,safetySettings:m?.safetySettings,tools:v,toolConfig:y,cachedContent:m?.cachedContent,labels:m?.labels},warnings:[...p,...b]}}async doGenerate(e){let{args:t,warnings:n}=await this.getArgs(e),r=JSON.stringify(t),i=V(await ti(this.config.headers),e.headers),{responseHeaders:a,value:o,rawValue:s}=await H({url:`${this.config.baseURL}/${vi(this.modelId)}:generateContent`,headers:i,body:t,failedResponseHandler:U,successfulResponseHandler:ii(Fi),abortSignal:e.abortSignal,fetch:this.config.fetch}),c=o.candidates[0],l=[],u=c.content?.parts??[],d=o.usageMetadata,f;for(let e of u)if(`executableCode`in e&&e.executableCode?.code){let t=this.config.generateId();f=t,l.push({type:`tool-call`,toolCallId:t,toolName:`code_execution`,input:JSON.stringify(e.executableCode),providerExecuted:!0})}else `codeExecutionResult`in e&&e.codeExecutionResult?(l.push({type:`tool-result`,toolCallId:f,toolName:`code_execution`,result:{outcome:e.codeExecutionResult.outcome,output:e.codeExecutionResult.output},providerExecuted:!0}),f=void 0):`text`in e&&e.text!=null&&e.text.length>0?l.push({type:e.thought===!0?`reasoning`:`text`,text:e.text,providerMetadata:e.thoughtSignature?{google:{thoughtSignature:e.thoughtSignature}}:void 0}):`functionCall`in e?l.push({type:`tool-call`,toolCallId:this.config.generateId(),toolName:e.functionCall.name,input:JSON.stringify(e.functionCall.args),providerMetadata:e.thoughtSignature?{google:{thoughtSignature:e.thoughtSignature}}:void 0}):`inlineData`in e&&l.push({type:`file`,data:e.inlineData.data,mediaType:e.inlineData.mimeType});let p=ji({groundingMetadata:c.groundingMetadata,generateId:this.config.generateId})??[];for(let e of p)l.push(e);return{content:l,finishReason:xi({finishReason:c.finishReason,hasToolCalls:l.some(e=>e.type===`tool-call`)}),usage:{inputTokens:d?.promptTokenCount??void 0,outputTokens:d?.candidatesTokenCount??void 0,totalTokens:d?.totalTokenCount??void 0,reasoningTokens:d?.thoughtsTokenCount??void 0,cachedInputTokens:d?.cachedContentTokenCount??void 0},warnings:n,providerMetadata:{google:{promptFeedback:o.promptFeedback??null,groundingMetadata:c.groundingMetadata??null,urlContextMetadata:c.urlContextMetadata??null,safetyRatings:c.safetyRatings??null,usageMetadata:d??null}},request:{body:r},response:{headers:a,body:s}}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r=JSON.stringify(t),i=V(await ti(this.config.headers),e.headers),{responseHeaders:a,value:o}=await H({url:`${this.config.baseURL}/${vi(this.modelId)}:streamGenerateContent?alt=sse`,headers:i,body:t,failedResponseHandler:U,successfulResponseHandler:ri(Ii),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l,u=this.config.generateId,d=!1,f=null,p=null,m=0,h=new Set,g;return{stream:o.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let r=t.value,i=r.usageMetadata;i!=null&&(c.inputTokens=i.promptTokenCount??void 0,c.outputTokens=i.candidatesTokenCount??void 0,c.totalTokens=i.totalTokenCount??void 0,c.reasoningTokens=i.thoughtsTokenCount??void 0,c.cachedInputTokens=i.cachedContentTokenCount??void 0);let a=r.candidates?.[0];if(a==null)return;let o=a.content,_=ji({groundingMetadata:a.groundingMetadata,generateId:u});if(_!=null)for(let e of _)e.sourceType===`url`&&!h.has(e.url)&&(h.add(e.url),n.enqueue(e));if(o!=null){let e=o.parts??[];for(let t of e)if(`executableCode`in t&&t.executableCode?.code){let e=u();g=e,n.enqueue({type:`tool-call`,toolCallId:e,toolName:`code_execution`,input:JSON.stringify(t.executableCode),providerExecuted:!0}),d=!0}else if(`codeExecutionResult`in t&&t.codeExecutionResult){let e=g;e&&(n.enqueue({type:`tool-result`,toolCallId:e,toolName:`code_execution`,result:{outcome:t.codeExecutionResult.outcome,output:t.codeExecutionResult.output},providerExecuted:!0}),g=void 0)}else `text`in t&&t.text!=null&&t.text.length>0&&(t.thought===!0?(f!==null&&(n.enqueue({type:`text-end`,id:f}),f=null),p===null&&(p=String(m++),n.enqueue({type:`reasoning-start`,id:p,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})),n.enqueue({type:`reasoning-delta`,id:p,delta:t.text,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})):(p!==null&&(n.enqueue({type:`reasoning-end`,id:p}),p=null),f===null&&(f=String(m++),n.enqueue({type:`text-start`,id:f,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})),n.enqueue({type:`text-delta`,id:f,delta:t.text,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})));let t=Ai(o.parts);if(t!=null)for(let e of t)n.enqueue({type:`file`,mediaType:e.inlineData.mimeType,data:e.inlineData.data});let r=ki({parts:o.parts,generateId:u});if(r!=null)for(let e of r)n.enqueue({type:`tool-input-start`,id:e.toolCallId,toolName:e.toolName,providerMetadata:e.providerMetadata}),n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:e.args,providerMetadata:e.providerMetadata}),n.enqueue({type:`tool-input-end`,id:e.toolCallId,providerMetadata:e.providerMetadata}),n.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:e.toolName,input:e.args,providerMetadata:e.providerMetadata}),d=!0}a.finishReason!=null&&(s=xi({finishReason:a.finishReason,hasToolCalls:d}),l={google:{promptFeedback:r.promptFeedback??null,groundingMetadata:a.groundingMetadata??null,urlContextMetadata:a.urlContextMetadata??null,safetyRatings:a.safetyRatings??null}},i!=null&&(l.google.usageMetadata=i))},flush(e){f!==null&&e.enqueue({type:`text-end`,id:f}),p!==null&&e.enqueue({type:`reasoning-end`,id:p}),e.enqueue({type:`finish`,finishReason:s,usage:c,providerMetadata:l})}})),response:{headers:a},request:{body:r}}}};function ki({parts:e,generateId:t}){let n=e?.filter(e=>`functionCall`in e);return n==null||n.length===0?void 0:n.map(e=>({type:`tool-call`,toolCallId:t(),toolName:e.functionCall.name,args:JSON.stringify(e.functionCall.args),providerMetadata:e.thoughtSignature?{google:{thoughtSignature:e.thoughtSignature}}:void 0}))}function Ai(e){return e?.filter(e=>`inlineData`in e)}function ji({groundingMetadata:e,generateId:t}){return(e?.groundingChunks)?.filter(e=>e.web!=null).map(e=>({type:`source`,sourceType:`url`,id:t(),url:e.web.uri,title:e.web.title}))}var Mi=a.object({parts:a.array(a.union([a.object({functionCall:a.object({name:a.string(),args:a.unknown()}),thoughtSignature:a.string().nullish()}),a.object({inlineData:a.object({mimeType:a.string(),data:a.string()})}),a.object({executableCode:a.object({language:a.string(),code:a.string()}).nullish(),codeExecutionResult:a.object({outcome:a.string(),output:a.string()}).nullish(),text:a.string().nullish(),thought:a.boolean().nullish(),thoughtSignature:a.string().nullish()})])).nullish()}),Ni=a.object({category:a.string().nullish(),probability:a.string().nullish(),probabilityScore:a.number().nullish(),severity:a.string().nullish(),severityScore:a.number().nullish(),blocked:a.boolean().nullish()}),Pi=a.object({cachedContentTokenCount:a.number().nullish(),thoughtsTokenCount:a.number().nullish(),promptTokenCount:a.number().nullish(),candidatesTokenCount:a.number().nullish(),totalTokenCount:a.number().nullish()}),Fi=a.object({candidates:a.array(a.object({content:Mi.nullish().or(a.object({}).strict()),finishReason:a.string().nullish(),safetyRatings:a.array(Ni).nullish(),groundingMetadata:Ci.nullish(),urlContextMetadata:Ei.nullish()})),usageMetadata:Pi.nullish(),promptFeedback:a.object({blockReason:a.string().nullish(),safetyRatings:a.array(Ni).nullish()}).nullish()}),Ii=a.object({candidates:a.array(a.object({content:Mi.nullish(),finishReason:a.string().nullish(),safetyRatings:a.array(Ni).nullish(),groundingMetadata:Ci.nullish(),urlContextMetadata:Ei.nullish()})).nullish(),usageMetadata:Pi.nullish(),promptFeedback:a.object({blockReason:a.string().nullish(),safetyRatings:a.array(Ni).nullish()}).nullish()}),Li=ei({id:`google.code_execution`,name:`code_execution`,inputSchema:a.object({language:a.string().describe(`The programming language of the code.`),code:a.string().describe(`The code to be executed.`)}),outputSchema:a.object({outcome:a.string().describe(`The outcome of the execution (e.g., "OUTCOME_OK").`),output:a.string().describe(`The output from the code execution.`)})}),Ri={googleSearch:wi,urlContext:Di,codeExecution:Li},zi=class{constructor(e,t,n){this.modelId=e,this.settings=t,this.config=n,this.specificationVersion=`v2`}get maxImagesPerCall(){return this.settings.maxImagesPerCall??4}get provider(){return this.config.provider}async doGenerate(e){var t;let{prompt:n,n:r=1,size:i=`1024x1024`,aspectRatio:a=`1:1`,seed:o,providerOptions:s,headers:c,abortSignal:l}=e,u=[];i!=null&&u.push({type:`unsupported-setting`,setting:`size`,details:"This model does not support the `size` option. Use `aspectRatio` instead."}),o!=null&&u.push({type:`unsupported-setting`,setting:`seed`,details:"This model does not support the `seed` option through this provider."});let d=await Yr({provider:`google`,providerOptions:s,schema:Vi}),f=((t=this.config._internal)?.currentDate)?.call(t)??new Date,p={sampleCount:r};a!=null&&(p.aspectRatio=a),d&&Object.assign(p,d);let m={instances:[{prompt:n}],parameters:p},{responseHeaders:h,value:g}=await H({url:`${this.config.baseURL}/models/${this.modelId}:predict`,headers:V(await ti(this.config.headers),c),body:m,failedResponseHandler:U,successfulResponseHandler:ii(Bi),abortSignal:l,fetch:this.config.fetch});return{images:g.predictions.map(e=>e.bytesBase64Encoded),warnings:u??[],providerMetadata:{google:{images:g.predictions.map(e=>({}))}},response:{timestamp:f,modelId:this.modelId,headers:h}}}},Bi=a.object({predictions:a.array(a.object({bytesBase64Encoded:a.string()})).default([])}),Vi=a.object({personGeneration:a.enum([`dont_allow`,`allow_adult`,`allow_all`]).nullish(),aspectRatio:a.enum([`1:1`,`3:4`,`4:3`,`9:16`,`16:9`]).nullish()});function Hi(e={}){let t=li(e.baseURL)??`https://generativelanguage.googleapis.com/v1beta`,n=()=>Dr({"x-goog-api-key":Nr({apiKey:e.apiKey,environmentVariableName:`GOOGLE_GENERATIVE_AI_API_KEY`,description:`Google Generative AI`}),...e.headers},`ai-sdk/google/${ui}`),r=r=>new Oi(r,{provider:`google.generative-ai`,baseURL:t,headers:n,generateId:e.generateId??Or,supportedUrls:()=>({"*":[RegExp(`^${t}/files/.*$`),RegExp(`^https://(?:www\\.)?youtube\\.com/watch\\?v=[\\w-]+(?:&[\\w=&.-]*)?$`),RegExp(`^https://youtu\\.be/[\\w-]+(?:\\?[\\w=&.-]*)?$`)]}),fetch:e.fetch}),i=r=>new pi(r,{provider:`google.generative-ai`,baseURL:t,headers:n,fetch:e.fetch}),a=(r,i={})=>new zi(r,i,{provider:`google.generative-ai`,baseURL:t,headers:n,fetch:e.fetch}),o=function(e){if(new.target)throw Error(`The Google Generative AI model function cannot be called with the new keyword.`);return r(e)};return o.languageModel=r,o.chat=r,o.generativeAI=r,o.embedding=i,o.textEmbedding=i,o.textEmbeddingModel=i,o.image=a,o.imageModel=a,o.tools=Ri,o}Hi();function G(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function K(e){return Object.fromEntries([...e.headers])}function Ui(e=globalThis){return e.window?`runtime/browser`:e.navigator?.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:e.process?.versions?.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function Wi(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function Gi(e,...t){let n=Wi(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}var q=(({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 j({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`})();function Ki(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var qi=[`fetch failed`,`failed to fetch`];function Ji({error:e,url:t,requestBodyValues:n}){if(Ki(e))return e;if(e instanceof TypeError&&qi.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new k({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}var Yi=`3.0.10`;function Xi({apiKey:e,environmentVariableName:t,apiKeyParameterName:n=`apiKey`,description:r}){if(typeof e==`string`)return e;if(e!=null)throw new N({message:`${r} API key must be a string.`});if(typeof process>`u`)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables is not supported in this environment.`});if(e=process.env[t],e==null)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!=`string`)throw new N({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}function Zi({settingValue:e,environmentVariableName:t}){if(typeof e==`string`||!(e!=null||typeof process>`u`)&&(e=process.env[t],!(e==null||typeof e!=`string`)))return e}function Qi(e){let[t,n=``]=e.toLowerCase().split(`/`);return{mpeg:`mp3`,"x-wav":`wav`,opus:`ogg`,mp4:`m4a`,"x-m4a":`m4a`}[n]??n}var $i=/"__proto__"\s*:/,ea=/"constructor"\s*:/;function ta(e){let t=JSON.parse(e);return typeof t!=`object`||!t||$i.test(e)===!1&&ea.test(e)===!1?t:na(t)}function na(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 ra(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return ta(e)}finally{Error.stackTraceLimit=t}}var ia=Symbol.for(`vercel.ai.validator`);function aa(e){return{[ia]:!0,validate:e}}function oa(e){return typeof e==`object`&&!!e&&ia in e&&e[ia]===!0&&`validate`in e}function sa(e){return oa(e)?e:ca(e)}function ca(e){return aa(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new P({value:t,cause:n.issues})}})}async function la({value:e,schema:t}){let n=await ua({value:e,schema:t});if(!n.success)throw P.wrap({value:e,cause:n.error});return n.value}async function ua({value:e,schema:t}){let n=sa(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:P.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:P.wrap({value:e,cause:t}),rawValue:e}}}async function da({text:e,schema:t}){try{let n=ra(e);return t==null?n:la({value:n,schema:t})}catch(t){throw M.isInstance(t)||P.isInstance(t)?t:new M({text:e,cause:t})}}async function fa({text:e,schema:t}){try{let n=ra(e);return t==null?{success:!0,value:n,rawValue:n}:await ua({value:n,schema:t})}catch(t){return{success:!1,error:M.isInstance(t)?t:new M({text:e,cause:t}),rawValue:void 0}}}function pa(e){try{return ra(e),!0}catch{return!1}}function ma({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new E).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await fa({text:e,schema:t}))}}))}async function J({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await ua({value:t[e],schema:n});if(!r.success)throw new j({argument:`providerOptions`,message:`invalid ${e} provider options`,cause:r.error});return r.value}var ha=()=>globalThis.fetch,Y=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>_a({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),ga=async({url:e,headers:t,formData:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>_a({url:e,headers:t,body:{content:n,values:Object.fromEntries(n.entries())},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),_a=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=ha()})=>{try{let s=await o(e,{method:`POST`,headers:Gi(t,`ai-sdk/provider-utils/${Yi}`,Ui()),body:n.content,signal:a}),c=K(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw Ki(t)||k.isInstance(t)?t:new k({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(Ki(t)||k.isInstance(t))?t:new k({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw Ji({error:t,url:e,requestBodyValues:n.values})}};function va(e){return e}function ya({id:e,name:t,inputSchema:n}){return({execute:r,outputSchema:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>va({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:i,execute:r,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}function ba({id:e,name:t,inputSchema:n,outputSchema:r}){return({execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>va({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:r,execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}var xa=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=K(r);if(o.trim()===``)return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await da({text:o,schema:e});return{responseHeaders:s,value:new k({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},Sa=e=>async({response:t})=>{let n=K(t);if(t.body==null)throw new A({});return{responseHeaders:n,value:ma({stream:t.body,schema:e})}},X=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await fa({text:i,schema:e}),o=K(t);if(!a.success)throw new k({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},Ca=()=>async({response:e,url:t,requestBodyValues:n})=>{let r=K(e);if(!e.body)throw new k({message:`Response body is empty`,url:t,requestBodyValues:n,statusCode:e.status,responseHeaders:r,responseBody:void 0});try{let t=await e.arrayBuffer();return{responseHeaders:r,value:new Uint8Array(t)}}catch(i){throw new k({message:`Failed to read response as array buffer`,url:t,requestBodyValues:n,statusCode:e.status,responseHeaders:r,responseBody:void 0,cause:i})}},{btoa:wa,atob:Ta}=globalThis;function Ea(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=Ta(t);return Uint8Array.from(n,e=>e.codePointAt(0))}function Da(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return wa(t)}function Z(e){return e instanceof Uint8Array?Da(e):e}function Oa(e){return e?.replace(/\/$/,``)}var ka=a.object({error:a.object({message:a.string(),type:a.string().nullish(),param:a.any().nullish(),code:a.union([a.string(),a.number()]).nullish()})}),Q=xa({errorSchema:ka,errorToMessage:e=>e.error.message});function Aa({prompt:e,systemMessageMode:t=`system`}){let n=[],r=[];for(let{role:i,content:a}of e)switch(i){case`system`:switch(t){case`system`:n.push({role:`system`,content:a});break;case`developer`:n.push({role:`developer`,content:a});break;case`remove`:r.push({type:`other`,message:`system messages are removed for this model`});break;default:{let e=t;throw Error(`Unsupported system message mode: ${e}`)}}break;case`user`:if(a.length===1&&a[0].type===`text`){n.push({role:`user`,content:a[0].text});break}n.push({role:`user`,content:a.map((e,t)=>{switch(e.type){case`text`:return{type:`text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`image_url`,image_url:{url:e.data instanceof URL?e.data.toString():`data:${t};base64,${Z(e.data)}`,detail:e.providerOptions?.openai?.imageDetail}}}else if(e.mediaType.startsWith(`audio/`)){if(e.data instanceof URL)throw new F({functionality:`audio file parts with URLs`});switch(e.mediaType){case`audio/wav`:return{type:`input_audio`,input_audio:{data:Z(e.data),format:`wav`}};case`audio/mp3`:case`audio/mpeg`:return{type:`input_audio`,input_audio:{data:Z(e.data),format:`mp3`}};default:throw new F({functionality:`audio content parts with media type ${e.mediaType}`})}}else if(e.mediaType===`application/pdf`){if(e.data instanceof URL)throw new F({functionality:`PDF file parts with URLs`});return{type:`file`,file:typeof e.data==`string`&&e.data.startsWith(`file-`)?{file_id:e.data}:{filename:e.filename??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${Z(e.data)}`}}}else throw new F({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e=``,t=[];for(let n of a)switch(n.type){case`text`:e+=n.text;break;case`tool-call`:t.push({id:n.toolCallId,type:`function`,function:{name:n.toolName,arguments:JSON.stringify(n.input)}});break}n.push({role:`assistant`,content:e,tool_calls:t.length>0?t:void 0});break}case`tool`:for(let e of a){let t=e.output,r;switch(t.type){case`text`:case`error-text`:r=t.value;break;case`content`:case`json`:case`error-json`:r=JSON.stringify(t.value);break}n.push({role:`tool`,tool_call_id:e.toolCallId,content:r})}break;default:{let e=i;throw Error(`Unsupported role: ${e}`)}}return{messages:n,warnings:r}}function ja({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function Ma(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`unknown`}}var Na=a.object({logitBias:a.record(a.coerce.number(),a.number()).optional(),logprobs:a.union([a.boolean(),a.number()]).optional(),parallelToolCalls:a.boolean().optional(),user:a.string().optional(),reasoningEffort:a.enum([`minimal`,`low`,`medium`,`high`]).optional(),maxCompletionTokens:a.number().optional(),store:a.boolean().optional(),metadata:a.record(a.string().max(64),a.string().max(512)).optional(),prediction:a.record(a.string(),a.any()).optional(),structuredOutputs:a.boolean().optional(),serviceTier:a.enum([`auto`,`flex`,`priority`]).optional(),strictJsonSchema:a.boolean().optional(),textVerbosity:a.enum([`low`,`medium`,`high`]).optional(),promptCacheKey:a.string().optional(),safetyIdentifier:a.string().optional()});function Pa({tools:e,toolChoice:t,structuredOutputs:n,strictJsonSchema:r}){e=e?.length?e:void 0;let i=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:i};let a=[];for(let t of e)switch(t.type){case`function`:a.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema,strict:n?r:void 0}});break;default:i.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:a,toolChoice:void 0,toolWarnings:i};let o=t.type;switch(o){case`auto`:case`none`:case`required`:return{tools:a,toolChoice:o,toolWarnings:i};case`tool`:return{tools:a,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:i};default:throw new F({functionality:`tool choice type: ${o}`})}}var Fa=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,providerOptions:f}){let p=[],m=await J({provider:`openai`,providerOptions:f,schema:Na})??{},h=m.structuredOutputs??!0;i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),c?.type===`json`&&c.schema!=null&&!h&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is only supported with structuredOutputs`});let{messages:g,warnings:_}=Aa({prompt:e,systemMessageMode:Ha(this.modelId)});p.push(..._);let v=m.strictJsonSchema??!1,y={model:this.modelId,logit_bias:m.logitBias,logprobs:m.logprobs===!0||typeof m.logprobs==`number`?!0:void 0,top_logprobs:typeof m.logprobs==`number`?m.logprobs:typeof m.logprobs==`boolean`&&m.logprobs?0:void 0,user:m.user,parallel_tool_calls:m.parallelToolCalls,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,response_format:c?.type===`json`?h&&c.schema!=null?{type:`json_schema`,json_schema:{schema:c.schema,strict:v,name:c.name??`response`,description:c.description}}:{type:`json_object`}:void 0,stop:s,seed:l,verbosity:m.textVerbosity,max_completion_tokens:m.maxCompletionTokens,store:m.store,metadata:m.metadata,prediction:m.prediction,reasoning_effort:m.reasoningEffort,service_tier:m.serviceTier,prompt_cache_key:m.promptCacheKey,safety_identifier:m.safetyIdentifier,messages:g};za(this.modelId)?(y.temperature!=null&&(y.temperature=void 0,p.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),y.top_p!=null&&(y.top_p=void 0,p.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`})),y.frequency_penalty!=null&&(y.frequency_penalty=void 0,p.push({type:`unsupported-setting`,setting:`frequencyPenalty`,details:`frequencyPenalty is not supported for reasoning models`})),y.presence_penalty!=null&&(y.presence_penalty=void 0,p.push({type:`unsupported-setting`,setting:`presencePenalty`,details:`presencePenalty is not supported for reasoning models`})),y.logit_bias!=null&&(y.logit_bias=void 0,p.push({type:`other`,message:`logitBias is not supported for reasoning models`})),y.logprobs!=null&&(y.logprobs=void 0,p.push({type:`other`,message:`logprobs is not supported for reasoning models`})),y.top_logprobs!=null&&(y.top_logprobs=void 0,p.push({type:`other`,message:`topLogprobs is not supported for reasoning models`})),y.max_tokens!=null&&(y.max_completion_tokens??=y.max_tokens,y.max_tokens=void 0)):(this.modelId.startsWith(`gpt-4o-search-preview`)||this.modelId.startsWith(`gpt-4o-mini-search-preview`))&&y.temperature!=null&&(y.temperature=void 0,p.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for the search preview models and has been removed.`})),m.serviceTier===`flex`&&!Ba(this.modelId)&&(p.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),y.service_tier=void 0),m.serviceTier===`priority`&&!Va(this.modelId)&&(p.push({type:`unsupported-setting`,setting:`serviceTier`,details:`priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported`}),y.service_tier=void 0);let{tools:b,toolChoice:x,toolWarnings:S}=Pa({tools:u,toolChoice:d,structuredOutputs:h,strictJsonSchema:v});return{args:{...y,tools:b,tool_choice:x},warnings:[...p,...S]}}async doGenerate(e){let{args:t,warnings:n}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await Y({url:this.config.url({path:`/chat/completions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:t,failedResponseHandler:Q,successfulResponseHandler:X(La),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=i.choices[0],s=[],c=o.message.content;c!=null&&c.length>0&&s.push({type:`text`,text:c});for(let e of o.message.tool_calls??[])s.push({type:`tool-call`,toolCallId:e.id??q(),toolName:e.function.name,input:e.function.arguments});for(let e of o.message.annotations??[])s.push({type:`source`,sourceType:`url`,id:q(),url:e.url,title:e.title});let l=i.usage?.completion_tokens_details,u=i.usage?.prompt_tokens_details,d={openai:{}};return l?.accepted_prediction_tokens!=null&&(d.openai.acceptedPredictionTokens=l?.accepted_prediction_tokens),l?.rejected_prediction_tokens!=null&&(d.openai.rejectedPredictionTokens=l?.rejected_prediction_tokens),o.logprobs?.content!=null&&(d.openai.logprobs=o.logprobs.content),{content:s,finishReason:Ma(o.finish_reason),usage:{inputTokens:i.usage?.prompt_tokens??void 0,outputTokens:i.usage?.completion_tokens??void 0,totalTokens:i.usage?.total_tokens??void 0,reasoningTokens:l?.reasoning_tokens??void 0,cachedInputTokens:u?.cached_tokens??void 0},request:{body:t},response:{...ja(i),headers:r,body:a},warnings:n,providerMetadata:d}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await Y({url:this.config.url({path:`/chat/completions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:r,failedResponseHandler:Q,successfulResponseHandler:Sa(Ra),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=[],s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=!0,u=!1,d={openai:{}};return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let r=t.value;if(`error`in r){s=`error`,n.enqueue({type:`error`,error:r.error});return}l&&(l=!1,n.enqueue({type:`response-metadata`,...ja(r)})),r.usage!=null&&(c.inputTokens=r.usage.prompt_tokens??void 0,c.outputTokens=r.usage.completion_tokens??void 0,c.totalTokens=r.usage.total_tokens??void 0,c.reasoningTokens=r.usage.completion_tokens_details?.reasoning_tokens??void 0,c.cachedInputTokens=r.usage.prompt_tokens_details?.cached_tokens??void 0,r.usage.completion_tokens_details?.accepted_prediction_tokens!=null&&(d.openai.acceptedPredictionTokens=r.usage.completion_tokens_details?.accepted_prediction_tokens),r.usage.completion_tokens_details?.rejected_prediction_tokens!=null&&(d.openai.rejectedPredictionTokens=r.usage.completion_tokens_details?.rejected_prediction_tokens));let i=r.choices[0];if(i?.finish_reason!=null&&(s=Ma(i.finish_reason)),i?.logprobs?.content!=null&&(d.openai.logprobs=i.logprobs.content),i?.delta==null)return;let a=i.delta;if(a.content!=null&&(u||=(n.enqueue({type:`text-start`,id:`0`}),!0),n.enqueue({type:`text-delta`,id:`0`,delta:a.content})),a.tool_calls!=null)for(let e of a.tool_calls){let t=e.index;if(o[t]==null){if(e.type!==`function`)throw new wt({data:e,message:`Expected 'function' type.`});if(e.id==null)throw new wt({data:e,message:`Expected 'id' to be a string.`});if(e.function?.name==null)throw new wt({data:e,message:`Expected 'function.name' to be a string.`});n.enqueue({type:`tool-input-start`,id:e.id,toolName:e.function.name}),o[t]={id:e.id,type:`function`,function:{name:e.function.name,arguments:e.function.arguments??``},hasFinished:!1};let r=o[t];r.function?.name!=null&&r.function?.arguments!=null&&(r.function.arguments.length>0&&n.enqueue({type:`tool-input-delta`,id:r.id,delta:r.function.arguments}),pa(r.function.arguments)&&(n.enqueue({type:`tool-input-end`,id:r.id}),n.enqueue({type:`tool-call`,toolCallId:r.id??q(),toolName:r.function.name,input:r.function.arguments}),r.hasFinished=!0));continue}let r=o[t];r.hasFinished||(e.function?.arguments!=null&&(r.function.arguments+=e.function?.arguments??``),n.enqueue({type:`tool-input-delta`,id:r.id,delta:e.function.arguments??``}),r.function?.name!=null&&r.function?.arguments!=null&&pa(r.function.arguments)&&(n.enqueue({type:`tool-input-end`,id:r.id}),n.enqueue({type:`tool-call`,toolCallId:r.id??q(),toolName:r.function.name,input:r.function.arguments}),r.hasFinished=!0))}if(a.annotations!=null)for(let e of a.annotations)n.enqueue({type:`source`,sourceType:`url`,id:q(),url:e.url,title:e.title})},flush(e){u&&e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:s,usage:c,...d==null?{}:{providerMetadata:d}})}})),request:{body:r},response:{headers:i}}}},Ia=a.object({prompt_tokens:a.number().nullish(),completion_tokens:a.number().nullish(),total_tokens:a.number().nullish(),prompt_tokens_details:a.object({cached_tokens:a.number().nullish()}).nullish(),completion_tokens_details:a.object({reasoning_tokens:a.number().nullish(),accepted_prediction_tokens:a.number().nullish(),rejected_prediction_tokens:a.number().nullish()}).nullish()}).nullish(),La=a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({message:a.object({role:a.literal(`assistant`).nullish(),content:a.string().nullish(),tool_calls:a.array(a.object({id:a.string().nullish(),type:a.literal(`function`),function:a.object({name:a.string(),arguments:a.string()})})).nullish(),annotations:a.array(a.object({type:a.literal(`url_citation`),start_index:a.number(),end_index:a.number(),url:a.string(),title:a.string()})).nullish()}),index:a.number(),logprobs:a.object({content:a.array(a.object({token:a.string(),logprob:a.number(),top_logprobs:a.array(a.object({token:a.string(),logprob:a.number()}))})).nullish()}).nullish(),finish_reason:a.string().nullish()})),usage:Ia}),Ra=a.union([a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({delta:a.object({role:a.enum([`assistant`]).nullish(),content:a.string().nullish(),tool_calls:a.array(a.object({index:a.number(),id:a.string().nullish(),type:a.literal(`function`).nullish(),function:a.object({name:a.string().nullish(),arguments:a.string().nullish()})})).nullish(),annotations:a.array(a.object({type:a.literal(`url_citation`),start_index:a.number(),end_index:a.number(),url:a.string(),title:a.string()})).nullish()}).nullish(),logprobs:a.object({content:a.array(a.object({token:a.string(),logprob:a.number(),top_logprobs:a.array(a.object({token:a.string(),logprob:a.number()}))})).nullish()}).nullish(),finish_reason:a.string().nullish(),index:a.number()})),usage:Ia}),ka]);function za(e){return(e.startsWith(`o`)||e.startsWith(`gpt-5`))&&!e.startsWith(`gpt-5-chat`)}function Ba(e){return e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`)}function Va(e){return e.startsWith(`gpt-4`)||e.startsWith(`gpt-5-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-nano`)&&!e.startsWith(`gpt-5-chat`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`)}function Ha(e){return za(e)?Ua[e]?.systemMessageMode??`developer`:`system`}var Ua={"o1-mini":{systemMessageMode:`remove`},"o1-mini-2024-09-12":{systemMessageMode:`remove`},"o1-preview":{systemMessageMode:`remove`},"o1-preview-2024-09-12":{systemMessageMode:`remove`},o3:{systemMessageMode:`developer`},"o3-2025-04-16":{systemMessageMode:`developer`},"o3-mini":{systemMessageMode:`developer`},"o3-mini-2025-01-31":{systemMessageMode:`developer`},"o4-mini":{systemMessageMode:`developer`},"o4-mini-2025-04-16":{systemMessageMode:`developer`}};function Wa({prompt:e,user:t=`user`,assistant:n=`assistant`}){let r=``;e[0].role===`system`&&(r+=`${e[0].content}
|
|
12
12
|
|
|
13
13
|
`,e=e.slice(1));for(let{role:i,content:a}of e)switch(i){case`system`:throw new yt({message:"Unexpected system message in prompt: ${content}",prompt:e});case`user`:{let e=a.map(e=>{switch(e.type){case`text`:return e.text}}).filter(Boolean).join(``);r+=`${t}:
|
|
14
14
|
${e}
|
|
15
15
|
|
|
16
|
-
`;break}case`assistant`:{let e=a.map(e=>{switch(e.type){case`text`:return e.text;case`tool-call`:throw new
|
|
16
|
+
`;break}case`assistant`:{let e=a.map(e=>{switch(e.type){case`text`:return e.text;case`tool-call`:throw new F({functionality:`tool-call messages`})}}).join(``);r+=`${n}:
|
|
17
17
|
${e}
|
|
18
18
|
|
|
19
|
-
`;break}case`tool`:throw new
|
|
19
|
+
`;break}case`tool`:throw new F({functionality:`tool messages`});default:{let e=i;throw Error(`Unsupported role: ${e}`)}}return r+=`${n}:
|
|
20
20
|
`,{prompt:r,stopSequences:[`
|
|
21
|
-
${t}:`]}}function Ga({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function Ka(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`unknown`}}var qa=a.object({echo:a.boolean().optional(),logitBias:a.record(a.string(),a.number()).optional(),suffix:a.string().optional(),user:a.string().optional(),logprobs:a.union([a.boolean(),a.number()]).optional()}),Ja=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={},this.modelId=e,this.config=t}get providerOptionsName(){return this.config.provider.split(`.`)[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,tools:l,toolChoice:u,seed:d,providerOptions:f}){let p=[],m={...await J({provider:`openai`,providerOptions:f,schema:qa}),...await J({provider:this.providerOptionsName,providerOptions:f,schema:qa})};i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),l?.length&&p.push({type:`unsupported-setting`,setting:`tools`}),u!=null&&p.push({type:`unsupported-setting`,setting:`toolChoice`}),c!=null&&c.type!==`text`&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format is not supported.`});let{prompt:h,stopSequences:g}=Wa({prompt:e}),_=[...g??[],...s??[]];return{args:{model:this.modelId,echo:m.echo,logit_bias:m.logitBias,logprobs:m?.logprobs===!0?0:m?.logprobs===!1?void 0:m?.logprobs,suffix:m.suffix,user:m.user,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,seed:d,prompt:h,stop:_.length>0?_:void 0},warnings:p}}async doGenerate(e){let{args:t,warnings:n}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await Y({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:t,failedResponseHandler:Q,successfulResponseHandler:X(Xa),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=i.choices[0],s={openai:{}};return o.logprobs!=null&&(s.openai.logprobs=o.logprobs),{content:[{type:`text`,text:o.text}],usage:{inputTokens:i.usage?.prompt_tokens,outputTokens:i.usage?.completion_tokens,totalTokens:i.usage?.total_tokens},finishReason:Ka(o.finish_reason),request:{body:t},response:{...Ga(i),headers:r,body:a},providerMetadata:s,warnings:n}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await Y({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:r,failedResponseHandler:Q,successfulResponseHandler:Sa(Za),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=`unknown`,s={openai:{}},c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=!0;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){o=`error`,n.enqueue({type:`error`,error:t.error});return}let r=t.value;if(`error`in r){o=`error`,n.enqueue({type:`error`,error:r.error});return}l&&(l=!1,n.enqueue({type:`response-metadata`,...Ga(r)}),n.enqueue({type:`text-start`,id:`0`})),r.usage!=null&&(c.inputTokens=r.usage.prompt_tokens,c.outputTokens=r.usage.completion_tokens,c.totalTokens=r.usage.total_tokens);let i=r.choices[0];i?.finish_reason!=null&&(o=Ka(i.finish_reason)),i?.logprobs!=null&&(s.openai.logprobs=i.logprobs),i?.text!=null&&i.text.length>0&&n.enqueue({type:`text-delta`,id:`0`,delta:i.text})},flush(e){l||e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:o,providerMetadata:s,usage:c})}})),request:{body:r},response:{headers:i}}}},Ya=a.object({prompt_tokens:a.number(),completion_tokens:a.number(),total_tokens:a.number()}),Xa=a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({text:a.string(),finish_reason:a.string(),logprobs:a.object({tokens:a.array(a.string()),token_logprobs:a.array(a.number()),top_logprobs:a.array(a.record(a.string(),a.number())).nullish()}).nullish()})),usage:Ya.nullish()}),Za=a.union([a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({text:a.string(),finish_reason:a.string().nullish(),index:a.number(),logprobs:a.object({tokens:a.array(a.string()),token_logprobs:a.array(a.number()),top_logprobs:a.array(a.record(a.string(),a.number())).nullish()}).nullish()})),usage:Ya.nullish()}),ka]),Qa=a.object({dimensions:a.number().optional(),user:a.string().optional()}),$a=class{constructor(e,t){this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){if(e.length>this.maxEmbeddingsPerCall)throw new Vt({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let i=await J({provider:`openai`,providerOptions:r,schema:Qa})??{},{responseHeaders:a,value:o,rawValue:s}=await Y({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:G(this.config.headers(),t),body:{model:this.modelId,input:e,encoding_format:`float`,dimensions:i.dimensions,user:i.user},failedResponseHandler:Q,successfulResponseHandler:X(eo),abortSignal:n,fetch:this.config.fetch});return{embeddings:o.data.map(e=>e.embedding),usage:o.usage?{tokens:o.usage.prompt_tokens}:void 0,response:{headers:a,body:s}}}},eo=a.object({data:a.array(a.object({embedding:a.array(a.number())})),usage:a.object({prompt_tokens:a.number()}).nullish()}),to={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},no=new Set([`gpt-image-1`]),ro=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get maxImagesPerCall(){return to[this.modelId]??1}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c;let l=[];r!=null&&l.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&l.push({type:`unsupported-setting`,setting:`seed`});let u=((c=this.config._internal)?.currentDate)?.call(c)??new Date,{value:d,responseHeaders:f}=await Y({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:G(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...a.openai??{},...no.has(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:Q,successfulResponseHandler:X(io),abortSignal:s,fetch:this.config.fetch});return{images:d.data.map(e=>e.b64_json),warnings:l,response:{timestamp:u,modelId:this.modelId,headers:f},providerMetadata:{openai:{images:d.data.map(e=>e.revised_prompt?{revisedPrompt:e.revised_prompt}:null)}}}}},io=a.object({data:a.array(a.object({b64_json:a.string(),revised_prompt:a.string().optional()}))}),ao=a.object({code:a.string().nullish(),containerId:a.string()}),oo=a.object({outputs:a.array(a.discriminatedUnion(`type`,[a.object({type:a.literal(`logs`),logs:a.string()}),a.object({type:a.literal(`image`),url:a.string()})])).nullish()}),so=a.object({container:a.union([a.string(),a.object({fileIds:a.array(a.string()).optional()})]).optional()}),co=ba({id:`openai.code_interpreter`,name:`code_interpreter`,inputSchema:ao,outputSchema:oo}),lo=(e={})=>co(e),uo=a.object({key:a.string(),type:a.enum([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`]),value:a.union([a.string(),a.number(),a.boolean()])}),fo=a.object({type:a.enum([`and`,`or`]),filters:a.array(a.union([uo,a.lazy(()=>fo)]))}),po=a.object({vectorStoreIds:a.array(a.string()),maxNumResults:a.number().optional(),ranking:a.object({ranker:a.string().optional(),scoreThreshold:a.number().optional()}).optional(),filters:a.union([uo,fo]).optional()}),mo=a.object({queries:a.array(a.string()),results:a.array(a.object({attributes:a.record(a.string(),a.unknown()),fileId:a.string(),filename:a.string(),score:a.number(),text:a.string()})).nullable()}),ho=ba({id:`openai.file_search`,name:`file_search`,inputSchema:a.object({}),outputSchema:mo}),go=a.object({background:a.enum([`auto`,`opaque`,`transparent`]).optional(),inputFidelity:a.enum([`low`,`high`]).optional(),inputImageMask:a.object({fileId:a.string().optional(),imageUrl:a.string().optional()}).optional(),model:a.string().optional(),moderation:a.enum([`auto`]).optional(),outputCompression:a.number().int().min(0).max(100).optional(),outputFormat:a.enum([`png`,`jpeg`,`webp`]).optional(),quality:a.enum([`auto`,`low`,`medium`,`high`]).optional(),size:a.enum([`1024x1024`,`1024x1536`,`1536x1024`,`auto`]).optional()}).strict(),_o=a.object({result:a.string()}),vo=ba({id:`openai.image_generation`,name:`image_generation`,inputSchema:a.object({}),outputSchema:_o}),yo=(e={})=>vo(e),bo=a.object({action:a.object({type:a.literal(`exec`),command:a.array(a.string()),timeoutMs:a.number().optional(),user:a.string().optional(),workingDirectory:a.string().optional(),env:a.record(a.string(),a.string()).optional()})}),xo=a.object({output:a.string()}),So=ba({id:`openai.local_shell`,name:`local_shell`,inputSchema:bo,outputSchema:xo}),Co=a.object({filters:a.object({allowedDomains:a.array(a.string()).optional()}).optional(),searchContextSize:a.enum([`low`,`medium`,`high`]).optional(),userLocation:a.object({type:a.literal(`approximate`),country:a.string().optional(),city:a.string().optional(),region:a.string().optional(),timezone:a.string().optional()}).optional()}),wo=ya({id:`openai.web_search`,name:`web_search`,inputSchema:a.object({action:a.discriminatedUnion(`type`,[a.object({type:a.literal(`search`),query:a.string().nullish()}),a.object({type:a.literal(`open_page`),url:a.string()}),a.object({type:a.literal(`find`),url:a.string(),pattern:a.string()})]).nullish()})}),To=(e={})=>wo(e),Eo=a.object({searchContextSize:a.enum([`low`,`medium`,`high`]).optional(),userLocation:a.object({type:a.literal(`approximate`),country:a.string().optional(),city:a.string().optional(),region:a.string().optional(),timezone:a.string().optional()}).optional()}),Do=ya({id:`openai.web_search_preview`,name:`web_search_preview`,inputSchema:a.object({action:a.discriminatedUnion(`type`,[a.object({type:a.literal(`search`),query:a.string().nullish()}),a.object({type:a.literal(`open_page`),url:a.string()}),a.object({type:a.literal(`find`),url:a.string(),pattern:a.string()})]).nullish()})}),Oo={codeInterpreter:lo,fileSearch:ho,imageGeneration:yo,localShell:So,webSearchPreview:Do,webSearch:To};function ko(e,t){return t?t.some(t=>e.startsWith(t)):!1}async function Ao({prompt:e,systemMessageMode:t,fileIdPrefixes:n,store:r,hasLocalShellTool:i=!1}){let a=[],o=[];for(let{role:s,content:c}of e)switch(s){case`system`:switch(t){case`system`:a.push({role:`system`,content:c});break;case`developer`:a.push({role:`developer`,content:c});break;case`remove`:o.push({type:`other`,message:`system messages are removed for this model`});break;default:{let e=t;throw Error(`Unsupported system message mode: ${e}`)}}break;case`user`:a.push({role:`user`,content:c.map((e,t)=>{switch(e.type){case`text`:return{type:`input_text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`input_image`,...e.data instanceof URL?{image_url:e.data.toString()}:typeof e.data==`string`&&ko(e.data,n)?{file_id:e.data}:{image_url:`data:${t};base64,${Z(e.data)}`},detail:e.providerOptions?.openai?.imageDetail}}else if(e.mediaType===`application/pdf`)return e.data instanceof URL?{type:`input_file`,file_url:e.data.toString()}:{type:`input_file`,...typeof e.data==`string`&&ko(e.data,n)?{file_id:e.data}:{filename:e.filename??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${Z(e.data)}`}};else throw new I({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e={},t={};for(let n of c)switch(n.type){case`text`:a.push({role:`assistant`,content:[{type:`output_text`,text:n.text}],id:n.providerOptions?.openai?.itemId??void 0});break;case`tool-call`:if(t[n.toolCallId]=n,n.providerExecuted)break;if(i&&n.toolName===`local_shell`){let e=bo.parse(n.input);a.push({type:`local_shell_call`,call_id:n.toolCallId,id:n.providerOptions?.openai?.itemId??void 0,action:{type:`exec`,command:e.action.command,timeout_ms:e.action.timeoutMs,user:e.action.user,working_directory:e.action.workingDirectory,env:e.action.env}});break}a.push({type:`function_call`,call_id:n.toolCallId,name:n.toolName,arguments:JSON.stringify(n.input),id:n.providerOptions?.openai?.itemId??void 0});break;case`tool-result`:r?a.push({type:`item_reference`,id:n.toolCallId}):o.push({type:`other`,message:`Results for OpenAI tool ${n.toolName} are not sent to the API when store is false`});break;case`reasoning`:{let t=await J({provider:`openai`,providerOptions:n.providerOptions,schema:jo}),i=t?.itemId;if(i!=null){let s=e[i];if(r)s===void 0&&(a.push({type:`item_reference`,id:i}),e[i]={type:`reasoning`,id:i,summary:[]});else{let r=[];n.text.length>0?r.push({type:`summary_text`,text:n.text}):s!==void 0&&o.push({type:`other`,message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(n)}.`}),s===void 0?(e[i]={type:`reasoning`,id:i,encrypted_content:t?.reasoningEncryptedContent,summary:r},a.push(e[i])):s.summary.push(...r)}}else o.push({type:`other`,message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(n)}.`});break}}break}case`tool`:for(let e of c){let t=e.output;if(i&&e.toolName===`local_shell`&&t.type===`json`){a.push({type:`local_shell_call_output`,call_id:e.toolCallId,output:xo.parse(t.value).output});break}let n;switch(t.type){case`text`:case`error-text`:n=t.value;break;case`content`:case`json`:case`error-json`:n=JSON.stringify(t.value);break}a.push({type:`function_call_output`,call_id:e.toolCallId,output:n})}break;default:{let e=s;throw Error(`Unsupported role: ${e}`)}}return{input:a,warnings:o}}var jo=a.object({itemId:a.string().nullish(),reasoningEncryptedContent:a.string().nullish()});function Mo({finishReason:e,hasFunctionCall:t}){switch(e){case void 0:case null:return t?`tool-calls`:`stop`;case`max_output_tokens`:return`length`;case`content_filter`:return`content-filter`;default:return t?`tool-calls`:`unknown`}}function No({tools:e,toolChoice:t,strictJsonSchema:n}){e=e?.length?e:void 0;let r=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r};let i=[];for(let t of e)switch(t.type){case`function`:i.push({type:`function`,name:t.name,description:t.description,parameters:t.inputSchema,strict:n});break;case`provider-defined`:switch(t.id){case`openai.file_search`:{let e=po.parse(t.args);i.push({type:`file_search`,vector_store_ids:e.vectorStoreIds,max_num_results:e.maxNumResults,ranking_options:e.ranking?{ranker:e.ranking.ranker,score_threshold:e.ranking.scoreThreshold}:void 0,filters:e.filters});break}case`openai.local_shell`:i.push({type:`local_shell`});break;case`openai.web_search_preview`:{let e=Eo.parse(t.args);i.push({type:`web_search_preview`,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.web_search`:{let e=Co.parse(t.args);i.push({type:`web_search`,filters:e.filters==null?void 0:{allowed_domains:e.filters.allowedDomains},search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.code_interpreter`:{let e=so.parse(t.args);i.push({type:`code_interpreter`,container:e.container==null?{type:`auto`,file_ids:void 0}:typeof e.container==`string`?e.container:{type:`auto`,file_ids:e.container.fileIds}});break}case`openai.image_generation`:{let e=go.parse(t.args);i.push({type:`image_generation`,background:e.background,input_fidelity:e.inputFidelity,input_image_mask:e.inputImageMask?{file_id:e.inputImageMask.fileId,image_url:e.inputImageMask.imageUrl}:void 0,model:e.model,size:e.size,quality:e.quality,moderation:e.moderation,output_format:e.outputFormat,output_compression:e.outputCompression});break}}break;default:r.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:i,toolChoice:void 0,toolWarnings:r};let a=t.type;switch(a){case`auto`:case`none`:case`required`:return{tools:i,toolChoice:a,toolWarnings:r};case`tool`:return{tools:i,toolChoice:t.toolName===`code_interpreter`||t.toolName===`file_search`||t.toolName===`image_generation`||t.toolName===`web_search_preview`||t.toolName===`web_search`?{type:t.toolName}:{type:`function`,name:t.toolName},toolWarnings:r};default:throw new I({functionality:`tool choice type: ${a}`})}}var Po=a.object({type:a.literal(`web_search_call`),id:a.string(),status:a.string(),action:a.discriminatedUnion(`type`,[a.object({type:a.literal(`search`),query:a.string().nullish()}),a.object({type:a.literal(`open_page`),url:a.string()}),a.object({type:a.literal(`find`),url:a.string(),pattern:a.string()})]).nullish()}),Fo=a.object({type:a.literal(`file_search_call`),id:a.string(),queries:a.array(a.string()),results:a.array(a.object({attributes:a.record(a.string(),a.unknown()),file_id:a.string(),filename:a.string(),score:a.number(),text:a.string()})).nullish()}),Io=a.object({type:a.literal(`code_interpreter_call`),id:a.string(),code:a.string().nullable(),container_id:a.string(),outputs:a.array(a.discriminatedUnion(`type`,[a.object({type:a.literal(`logs`),logs:a.string()}),a.object({type:a.literal(`image`),url:a.string()})])).nullable()}),Lo=a.object({type:a.literal(`local_shell_call`),id:a.string(),call_id:a.string(),action:a.object({type:a.literal(`exec`),command:a.array(a.string()),timeout_ms:a.number().optional(),user:a.string().optional(),working_directory:a.string().optional(),env:a.record(a.string(),a.string()).optional()})}),Ro=a.object({type:a.literal(`image_generation_call`),id:a.string(),result:a.string()}),zo=20,Bo=a.array(a.object({token:a.string(),logprob:a.number(),top_logprobs:a.array(a.object({token:a.string(),logprob:a.number()}))})),Vo=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({maxOutputTokens:e,temperature:t,stopSequences:n,topP:r,topK:i,presencePenalty:a,frequencyPenalty:o,seed:s,prompt:c,providerOptions:l,tools:u,toolChoice:d,responseFormat:f}){let p=[],m=vs(this.modelId);i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),s!=null&&p.push({type:`unsupported-setting`,setting:`seed`}),a!=null&&p.push({type:`unsupported-setting`,setting:`presencePenalty`}),o!=null&&p.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),n!=null&&p.push({type:`unsupported-setting`,setting:`stopSequences`});let h=await J({provider:`openai`,providerOptions:l,schema:ys}),{input:g,warnings:_}=await Ao({prompt:c,systemMessageMode:m.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes,store:h?.store??!0,hasLocalShellTool:x(`openai.local_shell`)});p.push(..._);let v=h?.strictJsonSchema??!1,y=h?.include;function b(e){y=y==null?[e]:[...y,e]}function x(e){return u?.find(t=>t.type===`provider-defined`&&t.id===e)!=null}let S=typeof h?.logprobs==`number`?h?.logprobs:h?.logprobs===!0?zo:void 0;S&&b(`message.output_text.logprobs`);let C=u?.find(e=>e.type===`provider-defined`&&(e.id===`openai.web_search`||e.id===`openai.web_search_preview`))?.name;C&&b(`web_search_call.action.sources`),x(`openai.code_interpreter`)&&b(`code_interpreter_call.outputs`);let w={model:this.modelId,input:g,temperature:t,top_p:r,max_output_tokens:e,...(f?.type===`json`||h?.textVerbosity)&&{text:{...f?.type===`json`&&{format:f.schema==null?{type:`json_object`}:{type:`json_schema`,strict:v,name:f.name??`response`,description:f.description,schema:f.schema}},...h?.textVerbosity&&{verbosity:h.textVerbosity}}},max_tool_calls:h?.maxToolCalls,metadata:h?.metadata,parallel_tool_calls:h?.parallelToolCalls,previous_response_id:h?.previousResponseId,store:h?.store,user:h?.user,instructions:h?.instructions,service_tier:h?.serviceTier,include:y,prompt_cache_key:h?.promptCacheKey,safety_identifier:h?.safetyIdentifier,top_logprobs:S,...m.isReasoningModel&&(h?.reasoningEffort!=null||h?.reasoningSummary!=null)&&{reasoning:{...h?.reasoningEffort!=null&&{effort:h.reasoningEffort},...h?.reasoningSummary!=null&&{summary:h.reasoningSummary}}},...m.requiredAutoTruncation&&{truncation:`auto`}};m.isReasoningModel?(w.temperature!=null&&(w.temperature=void 0,p.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),w.top_p!=null&&(w.top_p=void 0,p.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`}))):(h?.reasoningEffort!=null&&p.push({type:`unsupported-setting`,setting:`reasoningEffort`,details:`reasoningEffort is not supported for non-reasoning models`}),h?.reasoningSummary!=null&&p.push({type:`unsupported-setting`,setting:`reasoningSummary`,details:`reasoningSummary is not supported for non-reasoning models`})),h?.serviceTier===`flex`&&!m.supportsFlexProcessing&&(p.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),delete w.service_tier),h?.serviceTier===`priority`&&!m.supportsPriorityProcessing&&(p.push({type:`unsupported-setting`,setting:`serviceTier`,details:`priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported`}),delete w.service_tier);let{tools:ee,toolChoice:te,toolWarnings:ne}=No({tools:u,toolChoice:d,strictJsonSchema:v});return{webSearchToolName:C,args:{...w,tools:ee,tool_choice:te},warnings:[...p,...ne]}}async doGenerate(e){var t,n;let{args:r,warnings:i,webSearchToolName:o}=await this.getArgs(e),s=this.config.url({path:`/responses`,modelId:this.modelId}),{responseHeaders:c,value:l,rawValue:u}=await Y({url:s,headers:G(this.config.headers(),e.headers),body:r,failedResponseHandler:Q,successfulResponseHandler:X(a.object({id:a.string(),created_at:a.number(),error:a.object({code:a.string(),message:a.string()}).nullish(),model:a.string(),output:a.array(a.discriminatedUnion(`type`,[a.object({type:a.literal(`message`),role:a.literal(`assistant`),id:a.string(),content:a.array(a.object({type:a.literal(`output_text`),text:a.string(),logprobs:Bo.nullish(),annotations:a.array(a.discriminatedUnion(`type`,[a.object({type:a.literal(`url_citation`),start_index:a.number(),end_index:a.number(),url:a.string(),title:a.string()}),a.object({type:a.literal(`file_citation`),file_id:a.string(),filename:a.string().nullish(),index:a.number().nullish(),start_index:a.number().nullish(),end_index:a.number().nullish(),quote:a.string().nullish()}),a.object({type:a.literal(`container_file_citation`)})]))}))}),Po,Fo,Io,Ro,Lo,a.object({type:a.literal(`function_call`),call_id:a.string(),name:a.string(),arguments:a.string(),id:a.string()}),a.object({type:a.literal(`computer_call`),id:a.string(),status:a.string().optional()}),a.object({type:a.literal(`reasoning`),id:a.string(),encrypted_content:a.string().nullish(),summary:a.array(a.object({type:a.literal(`summary_text`),text:a.string()}))})])),service_tier:a.string().nullish(),incomplete_details:a.object({reason:a.string()}).nullish(),usage:Ho})),abortSignal:e.abortSignal,fetch:this.config.fetch});if(l.error)throw new k({message:l.error.message,url:s,requestBodyValues:r,statusCode:400,responseHeaders:c,responseBody:u,isRetryable:!1});let d=[],f=[],p=!1;for(let r of l.output)switch(r.type){case`reasoning`:r.summary.length===0&&r.summary.push({type:`summary_text`,text:``});for(let e of r.summary)d.push({type:`reasoning`,text:e.text,providerMetadata:{openai:{itemId:r.id,reasoningEncryptedContent:r.encrypted_content??null}}});break;case`image_generation_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`image_generation`,input:`{}`,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`image_generation`,result:{result:r.result},providerExecuted:!0});break;case`local_shell_call`:d.push({type:`tool-call`,toolCallId:r.call_id,toolName:`local_shell`,input:JSON.stringify({action:r.action}),providerMetadata:{openai:{itemId:r.id}}});break;case`message`:for(let i of r.content){e.providerOptions?.openai?.logprobs&&i.logprobs&&f.push(i.logprobs),d.push({type:`text`,text:i.text,providerMetadata:{openai:{itemId:r.id}}});for(let e of i.annotations)e.type===`url_citation`?d.push({type:`source`,sourceType:`url`,id:(t=this.config).generateId?.call(t)??q(),url:e.url,title:e.title}):e.type===`file_citation`&&d.push({type:`source`,sourceType:`document`,id:(n=this.config).generateId?.call(n)??q(),mediaType:`text/plain`,title:e.quote??e.filename??`Document`,filename:e.filename??e.file_id})}break;case`function_call`:p=!0,d.push({type:`tool-call`,toolCallId:r.call_id,toolName:r.name,input:r.arguments,providerMetadata:{openai:{itemId:r.id}}});break;case`web_search_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:o??`web_search`,input:JSON.stringify({action:r.action}),providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:o??`web_search`,result:{status:r.status},providerExecuted:!0});break;case`computer_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`computer_use`,input:``,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:r.status||`completed`},providerExecuted:!0});break;case`file_search_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`file_search`,input:`{}`,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`file_search`,result:{queries:r.queries,results:r.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null},providerExecuted:!0});break;case`code_interpreter_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`code_interpreter`,input:JSON.stringify({code:r.code,containerId:r.container_id}),providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`code_interpreter`,result:{outputs:r.outputs},providerExecuted:!0});break}let m={openai:{responseId:l.id}};return f.length>0&&(m.openai.logprobs=f),typeof l.service_tier==`string`&&(m.openai.serviceTier=l.service_tier),{content:d,finishReason:Mo({finishReason:l.incomplete_details?.reason,hasFunctionCall:p}),usage:{inputTokens:l.usage.input_tokens,outputTokens:l.usage.output_tokens,totalTokens:l.usage.input_tokens+l.usage.output_tokens,reasoningTokens:l.usage.output_tokens_details?.reasoning_tokens??void 0,cachedInputTokens:l.usage.input_tokens_details?.cached_tokens??void 0},request:{body:r},response:{id:l.id,timestamp:new Date(l.created_at*1e3),modelId:l.model,headers:c,body:u},providerMetadata:m,warnings:i}}async doStream(e){let{args:t,warnings:n,webSearchToolName:r}=await this.getArgs(e),{responseHeaders:i,value:a}=await Y({url:this.config.url({path:`/responses`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:{...t,stream:!0},failedResponseHandler:Q,successfulResponseHandler:Sa(ts),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=this,s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=[],u=null,d={},f=!1,p={},m;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var i,a,h;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let g=t.value;if(fs(g))g.item.type===`function_call`?(d[g.output_index]={toolName:g.item.name,toolCallId:g.item.call_id},n.enqueue({type:`tool-input-start`,id:g.item.call_id,toolName:g.item.name})):g.item.type===`web_search_call`?(d[g.output_index]={toolName:r??`web_search`,toolCallId:g.item.id},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:r??`web_search`})):g.item.type===`computer_call`?(d[g.output_index]={toolName:`computer_use`,toolCallId:g.item.id},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:`computer_use`})):g.item.type===`code_interpreter_call`?(d[g.output_index]={toolName:`code_interpreter`,toolCallId:g.item.id,codeInterpreter:{containerId:g.item.container_id}},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:`code_interpreter`}),n.enqueue({type:`tool-input-delta`,id:g.item.id,delta:`{"containerId":"${g.item.container_id}","code":"`})):g.item.type===`file_search_call`?n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`file_search`,input:`{}`,providerExecuted:!0}):g.item.type===`image_generation_call`?n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`image_generation`,input:`{}`,providerExecuted:!0}):g.item.type===`message`?n.enqueue({type:`text-start`,id:g.item.id,providerMetadata:{openai:{itemId:g.item.id}}}):ps(g)&&(p[g.item.id]={encryptedContent:g.item.encrypted_content,summaryParts:[0]},n.enqueue({type:`reasoning-start`,id:`${g.item.id}:0`,providerMetadata:{openai:{itemId:g.item.id,reasoningEncryptedContent:g.item.encrypted_content??null}}}));else if(rs(g)){if(g.item.type===`function_call`)d[g.output_index]=void 0,f=!0,n.enqueue({type:`tool-input-end`,id:g.item.call_id}),n.enqueue({type:`tool-call`,toolCallId:g.item.call_id,toolName:g.item.name,input:g.item.arguments,providerMetadata:{openai:{itemId:g.item.id}}});else if(g.item.type===`web_search_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:g.item.id}),n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`web_search`,input:JSON.stringify({action:g.item.action}),providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`web_search`,result:{status:g.item.status},providerExecuted:!0});else if(g.item.type===`computer_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:g.item.id}),n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`computer_use`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:g.item.status||`completed`},providerExecuted:!0});else if(g.item.type===`file_search_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`file_search`,result:{queries:g.item.queries,results:g.item.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null},providerExecuted:!0});else if(g.item.type===`code_interpreter_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`code_interpreter`,result:{outputs:g.item.outputs},providerExecuted:!0});else if(g.item.type===`image_generation_call`)n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`image_generation`,result:{result:g.item.result},providerExecuted:!0});else if(g.item.type===`local_shell_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-call`,toolCallId:g.item.call_id,toolName:`local_shell`,input:JSON.stringify({action:{type:`exec`,command:g.item.action.command,timeoutMs:g.item.action.timeout_ms,user:g.item.action.user,workingDirectory:g.item.action.working_directory,env:g.item.action.env}}),providerMetadata:{openai:{itemId:g.item.id}}});else if(g.item.type===`message`)n.enqueue({type:`text-end`,id:g.item.id});else if(os(g)){let e=p[g.item.id];for(let t of e.summaryParts)n.enqueue({type:`reasoning-end`,id:`${g.item.id}:${t}`,providerMetadata:{openai:{itemId:g.item.id,reasoningEncryptedContent:g.item.encrypted_content??null}}});delete p[g.item.id]}}else if(ls(g)){let e=d[g.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:g.delta})}else if(us(g)){let e=d[g.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:JSON.stringify(g.delta).slice(1,-1)})}else if(ds(g)){let e=d[g.output_index];e!=null&&(n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:`"}`}),n.enqueue({type:`tool-input-end`,id:e.toolCallId}),n.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:`code_interpreter`,input:JSON.stringify({code:g.code,containerId:e.codeInterpreter.containerId}),providerExecuted:!0}))}else cs(g)?(u=g.response.id,n.enqueue({type:`response-metadata`,id:g.response.id,timestamp:new Date(g.response.created_at*1e3),modelId:g.response.model})):ns(g)?(n.enqueue({type:`text-delta`,id:g.item_id,delta:g.delta}),e.providerOptions?.openai?.logprobs&&g.logprobs&&l.push(g.logprobs)):hs(g)?g.summary_index>0&&((i=p[g.item_id])==null||i.summaryParts.push(g.summary_index),n.enqueue({type:`reasoning-start`,id:`${g.item_id}:${g.summary_index}`,providerMetadata:{openai:{itemId:g.item_id,reasoningEncryptedContent:p[g.item_id]?.encryptedContent??null}}})):gs(g)?n.enqueue({type:`reasoning-delta`,id:`${g.item_id}:${g.summary_index}`,delta:g.delta,providerMetadata:{openai:{itemId:g.item_id}}}):ss(g)?(s=Mo({finishReason:g.response.incomplete_details?.reason,hasFunctionCall:f}),c.inputTokens=g.response.usage.input_tokens,c.outputTokens=g.response.usage.output_tokens,c.totalTokens=g.response.usage.input_tokens+g.response.usage.output_tokens,c.reasoningTokens=g.response.usage.output_tokens_details?.reasoning_tokens??void 0,c.cachedInputTokens=g.response.usage.input_tokens_details?.cached_tokens??void 0,typeof g.response.service_tier==`string`&&(m=g.response.service_tier)):ms(g)?g.annotation.type===`url_citation`?n.enqueue({type:`source`,sourceType:`url`,id:(a=o.config).generateId?.call(a)??q(),url:g.annotation.url,title:g.annotation.title}):g.annotation.type===`file_citation`&&n.enqueue({type:`source`,sourceType:`document`,id:(h=o.config).generateId?.call(h)??q(),mediaType:`text/plain`,title:g.annotation.quote??g.annotation.filename??`Document`,filename:g.annotation.filename??g.annotation.file_id}):_s(g)&&n.enqueue({type:`error`,error:g})},flush(e){let t={openai:{responseId:u}};l.length>0&&(t.openai.logprobs=l),m!==void 0&&(t.openai.serviceTier=m),e.enqueue({type:`finish`,finishReason:s,usage:c,providerMetadata:t})}})),request:{body:t},response:{headers:i}}}},Ho=a.object({input_tokens:a.number(),input_tokens_details:a.object({cached_tokens:a.number().nullish()}).nullish(),output_tokens:a.number(),output_tokens_details:a.object({reasoning_tokens:a.number().nullish()}).nullish()}),Uo=a.object({type:a.literal(`response.output_text.delta`),item_id:a.string(),delta:a.string(),logprobs:Bo.nullish()}),Wo=a.object({type:a.literal(`error`),code:a.string(),message:a.string(),param:a.string().nullish(),sequence_number:a.number()}),Go=a.object({type:a.enum([`response.completed`,`response.incomplete`]),response:a.object({incomplete_details:a.object({reason:a.string()}).nullish(),usage:Ho,service_tier:a.string().nullish()})}),Ko=a.object({type:a.literal(`response.created`),response:a.object({id:a.string(),created_at:a.number(),model:a.string(),service_tier:a.string().nullish()})}),qo=a.object({type:a.literal(`response.output_item.added`),output_index:a.number(),item:a.discriminatedUnion(`type`,[a.object({type:a.literal(`message`),id:a.string()}),a.object({type:a.literal(`reasoning`),id:a.string(),encrypted_content:a.string().nullish()}),a.object({type:a.literal(`function_call`),id:a.string(),call_id:a.string(),name:a.string(),arguments:a.string()}),a.object({type:a.literal(`web_search_call`),id:a.string(),status:a.string(),action:a.object({type:a.literal(`search`),query:a.string().optional()}).nullish()}),a.object({type:a.literal(`computer_call`),id:a.string(),status:a.string()}),a.object({type:a.literal(`file_search_call`),id:a.string()}),a.object({type:a.literal(`image_generation_call`),id:a.string()}),a.object({type:a.literal(`code_interpreter_call`),id:a.string(),container_id:a.string(),code:a.string().nullable(),outputs:a.array(a.discriminatedUnion(`type`,[a.object({type:a.literal(`logs`),logs:a.string()}),a.object({type:a.literal(`image`),url:a.string()})])).nullable(),status:a.string()})])}),Jo=a.object({type:a.literal(`response.output_item.done`),output_index:a.number(),item:a.discriminatedUnion(`type`,[a.object({type:a.literal(`message`),id:a.string()}),a.object({type:a.literal(`reasoning`),id:a.string(),encrypted_content:a.string().nullish()}),a.object({type:a.literal(`function_call`),id:a.string(),call_id:a.string(),name:a.string(),arguments:a.string(),status:a.literal(`completed`)}),Io,Ro,Po,Fo,Lo,a.object({type:a.literal(`computer_call`),id:a.string(),status:a.literal(`completed`)})])}),Yo=a.object({type:a.literal(`response.function_call_arguments.delta`),item_id:a.string(),output_index:a.number(),delta:a.string()}),Xo=a.object({type:a.literal(`response.code_interpreter_call_code.delta`),item_id:a.string(),output_index:a.number(),delta:a.string()}),Zo=a.object({type:a.literal(`response.code_interpreter_call_code.done`),item_id:a.string(),output_index:a.number(),code:a.string()}),Qo=a.object({type:a.literal(`response.output_text.annotation.added`),annotation:a.discriminatedUnion(`type`,[a.object({type:a.literal(`url_citation`),url:a.string(),title:a.string()}),a.object({type:a.literal(`file_citation`),file_id:a.string(),filename:a.string().nullish(),index:a.number().nullish(),start_index:a.number().nullish(),end_index:a.number().nullish(),quote:a.string().nullish()})])}),$o=a.object({type:a.literal(`response.reasoning_summary_part.added`),item_id:a.string(),summary_index:a.number()}),es=a.object({type:a.literal(`response.reasoning_summary_text.delta`),item_id:a.string(),summary_index:a.number(),delta:a.string()}),ts=a.union([Uo,Go,Ko,qo,Jo,Yo,Xo,Zo,Qo,$o,es,Wo,a.object({type:a.string()}).loose()]);function ns(e){return e.type===`response.output_text.delta`}function rs(e){return e.type===`response.output_item.done`}function os(e){return rs(e)&&e.item.type===`reasoning`}function ss(e){return e.type===`response.completed`||e.type===`response.incomplete`}function cs(e){return e.type===`response.created`}function ls(e){return e.type===`response.function_call_arguments.delta`}function us(e){return e.type===`response.code_interpreter_call_code.delta`}function ds(e){return e.type===`response.code_interpreter_call_code.done`}function fs(e){return e.type===`response.output_item.added`}function ps(e){return fs(e)&&e.item.type===`reasoning`}function ms(e){return e.type===`response.output_text.annotation.added`}function hs(e){return e.type===`response.reasoning_summary_part.added`}function gs(e){return e.type===`response.reasoning_summary_text.delta`}function _s(e){return e.type===`error`}function vs(e){let t=e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`),n=e.startsWith(`gpt-4`)||e.startsWith(`gpt-5-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-nano`)&&!e.startsWith(`gpt-5-chat`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`),r={requiredAutoTruncation:!1,systemMessageMode:`system`,supportsFlexProcessing:t,supportsPriorityProcessing:n};return e.startsWith(`gpt-5-chat`)?{...r,isReasoningModel:!1}:e.startsWith(`o`)||e.startsWith(`gpt-5`)||e.startsWith(`codex-`)||e.startsWith(`computer-use`)?e.startsWith(`o1-mini`)||e.startsWith(`o1-preview`)?{...r,isReasoningModel:!0,systemMessageMode:`remove`}:{...r,isReasoningModel:!0,systemMessageMode:`developer`}:{...r,isReasoningModel:!1}}var ys=a.object({include:a.array(a.enum([`reasoning.encrypted_content`,`file_search_call.results`,`message.output_text.logprobs`])).nullish(),instructions:a.string().nullish(),logprobs:a.union([a.boolean(),a.number().min(1).max(zo)]).optional(),maxToolCalls:a.number().nullish(),metadata:a.any().nullish(),parallelToolCalls:a.boolean().nullish(),previousResponseId:a.string().nullish(),promptCacheKey:a.string().nullish(),reasoningEffort:a.string().nullish(),reasoningSummary:a.string().nullish(),safetyIdentifier:a.string().nullish(),serviceTier:a.enum([`auto`,`flex`,`priority`]).nullish(),store:a.boolean().nullish(),strictJsonSchema:a.boolean().nullish(),textVerbosity:a.enum([`low`,`medium`,`high`]).nullish(),user:a.string().nullish()}),bs=a.object({instructions:a.string().nullish(),speed:a.number().min(.25).max(4).default(1).nullish()}),xs=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({text:e,voice:t=`alloy`,outputFormat:n=`mp3`,speed:r,instructions:i,language:a,providerOptions:o}){let s=[],c=await J({provider:`openai`,providerOptions:o,schema:bs}),l={model:this.modelId,input:e,voice:t,response_format:`mp3`,speed:r,instructions:i};if(n&&([`mp3`,`opus`,`aac`,`flac`,`wav`,`pcm`].includes(n)?l.response_format=n:s.push({type:`unsupported-setting`,setting:`outputFormat`,details:`Unsupported output format: ${n}. Using mp3 instead.`})),c){let e={};for(let t in e){let n=e[t];n!==void 0&&(l[t]=n)}}return a&&s.push({type:`unsupported-setting`,setting:`language`,details:`OpenAI speech models do not support language selection. Language parameter "${a}" was ignored.`}),{requestBody:l,warnings:s}}async doGenerate(e){var t;let n=((t=this.config._internal)?.currentDate)?.call(t)??new Date,{requestBody:r,warnings:i}=await this.getArgs(e),{value:a,responseHeaders:o,rawValue:s}=await Y({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:r,failedResponseHandler:Q,successfulResponseHandler:Ca(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:a,warnings:i,request:{body:JSON.stringify(r)},response:{timestamp:n,modelId:this.modelId,headers:o,body:s}}}},Ss=a.object({include:a.array(a.string()).optional(),language:a.string().optional(),prompt:a.string().optional(),temperature:a.number().min(0).max(1).default(0).optional(),timestampGranularities:a.array(a.enum([`word`,`segment`])).default([`segment`]).optional()}),Cs={afrikaans:`af`,arabic:`ar`,armenian:`hy`,azerbaijani:`az`,belarusian:`be`,bosnian:`bs`,bulgarian:`bg`,catalan:`ca`,chinese:`zh`,croatian:`hr`,czech:`cs`,danish:`da`,dutch:`nl`,english:`en`,estonian:`et`,finnish:`fi`,french:`fr`,galician:`gl`,german:`de`,greek:`el`,hebrew:`he`,hindi:`hi`,hungarian:`hu`,icelandic:`is`,indonesian:`id`,italian:`it`,japanese:`ja`,kannada:`kn`,kazakh:`kk`,korean:`ko`,latvian:`lv`,lithuanian:`lt`,macedonian:`mk`,malay:`ms`,marathi:`mr`,maori:`mi`,nepali:`ne`,norwegian:`no`,persian:`fa`,polish:`pl`,portuguese:`pt`,romanian:`ro`,russian:`ru`,serbian:`sr`,slovak:`sk`,slovenian:`sl`,spanish:`es`,swahili:`sw`,swedish:`sv`,tagalog:`tl`,tamil:`ta`,thai:`th`,turkish:`tr`,ukrainian:`uk`,urdu:`ur`,vietnamese:`vi`,welsh:`cy`},ws=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:n}){let r=[],i=await J({provider:`openai`,providerOptions:n,schema:Ss}),a=new FormData,o=e instanceof Uint8Array?new Blob([e]):new Blob([Ea(e)]);a.append(`model`,this.modelId);let s=Qi(t);if(a.append(`file`,new File([o],`audio`,{type:t}),`audio.${s}`),i){let e={include:i.include,language:i.language,prompt:i.prompt,response_format:[`gpt-4o-transcribe`,`gpt-4o-mini-transcribe`].includes(this.modelId)?`json`:`verbose_json`,temperature:i.temperature,timestamp_granularities:i.timestampGranularities};for(let[t,n]of Object.entries(e))if(n!=null)if(Array.isArray(n))for(let e of n)a.append(`${t}[]`,String(e));else a.append(t,String(n))}return{formData:a,warnings:r}}async doGenerate(e){var t;let n=((t=this.config._internal)?.currentDate)?.call(t)??new Date,{formData:r,warnings:i}=await this.getArgs(e),{value:a,responseHeaders:o,rawValue:s}=await ga({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),formData:r,failedResponseHandler:Q,successfulResponseHandler:X(Ts),abortSignal:e.abortSignal,fetch:this.config.fetch}),c=a.language!=null&&a.language in Cs?Cs[a.language]:void 0;return{text:a.text,segments:a.segments?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end}))??a.words?.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end}))??[],language:c,durationInSeconds:a.duration??void 0,warnings:i,response:{timestamp:n,modelId:this.modelId,headers:o,body:s}}}},Ts=a.object({text:a.string(),language:a.string().nullish(),duration:a.number().nullish(),words:a.array(a.object({word:a.string(),start:a.number(),end:a.number()})).nullish(),segments:a.array(a.object({id:a.number(),seek:a.number(),start:a.number(),end:a.number(),text:a.string(),tokens:a.array(a.number()),temperature:a.number(),avg_logprob:a.number(),compression_ratio:a.number(),no_speech_prob:a.number()})).nullish()}),Es=`2.0.42`;function Ds(e={}){let t=Oa(Zi({settingValue:e.baseURL,environmentVariableName:`OPENAI_BASE_URL`}))??`https://api.openai.com/v1`,n=e.name??`openai`,r=()=>Gi({Authorization:`Bearer ${Xi({apiKey:e.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers},`ai-sdk/openai/${Es}`),i=i=>new Fa(i,{provider:`${n}.chat`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),a=i=>new Ja(i,{provider:`${n}.completion`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),o=i=>new $a(i,{provider:`${n}.embedding`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),s=i=>new ro(i,{provider:`${n}.image`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),c=i=>new ws(i,{provider:`${n}.transcription`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),l=i=>new xs(i,{provider:`${n}.speech`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),u=e=>{if(new.target)throw Error(`The OpenAI model function cannot be called with the new keyword.`);return d(e)},d=i=>new Vo(i,{provider:`${n}.responses`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch,fileIdPrefixes:[`file-`]}),f=function(e){return u(e)};return f.languageModel=u,f.chat=i,f.completion=a,f.responses=d,f.embedding=o,f.textEmbedding=o,f.textEmbeddingModel=o,f.image=s,f.imageModel=s,f.transcription=c,f.transcriptionModel=c,f.speech=l,f.speechModel=l,f.tools=Oo,f}Ds();function Os(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function ks(e){return Object.fromEntries([...e.headers])}function As(e=globalThis){return e.window?`runtime/browser`:e.navigator?.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:e.process?.versions?.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function js(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function Ms(e,...t){let n=js(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}(({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 j({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`})();function Ns(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var Ps=[`fetch failed`,`failed to fetch`];function Fs({error:e,url:t,requestBodyValues:n}){if(Ns(e))return e;if(e instanceof TypeError&&Ps.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new k({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}var Is=`3.0.10`,Ls=/"__proto__"\s*:/,Rs=/"constructor"\s*:/;function zs(e){let t=JSON.parse(e);return typeof t!=`object`||!t||Ls.test(e)===!1&&Rs.test(e)===!1?t:Bs(t)}function Bs(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 Vs(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return zs(e)}finally{Error.stackTraceLimit=t}}var Hs=Symbol.for(`vercel.ai.validator`);function Us(e){return{[Hs]:!0,validate:e}}function Ws(e){return typeof e==`object`&&!!e&&Hs in e&&e[Hs]===!0&&`validate`in e}function Gs(e){return Ws(e)?e:Ks(e)}function Ks(e){return Us(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new F({value:t,cause:n.issues})}})}async function qs({value:e,schema:t}){let n=await Js({value:e,schema:t});if(!n.success)throw F.wrap({value:e,cause:n.error});return n.value}async function Js({value:e,schema:t}){let n=Gs(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:F.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:F.wrap({value:e,cause:t}),rawValue:e}}}async function Ys({text:e,schema:t}){try{let n=Vs(e);return t==null?n:qs({value:n,schema:t})}catch(t){throw M.isInstance(t)||F.isInstance(t)?t:new M({text:e,cause:t})}}async function Xs({text:e,schema:t}){try{let n=Vs(e);return t==null?{success:!0,value:n,rawValue:n}:await Js({value:n,schema:t})}catch(t){return{success:!1,error:M.isInstance(t)?t:new M({text:e,cause:t}),rawValue:void 0}}}var Zs=()=>globalThis.fetch,Qs=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>$s({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),$s=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=Zs()})=>{try{let s=await o(e,{method:`POST`,headers:Ms(t,`ai-sdk/provider-utils/${Is}`,As()),body:n.content,signal:a}),c=ks(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw Ns(t)||k.isInstance(t)?t:new k({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(Ns(t)||k.isInstance(t))?t:new k({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw Fs({error:t,url:e,requestBodyValues:n.values})}},ec=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=ks(r);if(o.trim()===``)return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await Ys({text:o,schema:e});return{responseHeaders:s,value:new k({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},tc=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await Xs({text:i,schema:e}),o=ks(t);if(!a.success)throw new k({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},{btoa:nc,atob:rc}=globalThis;a.object({user:a.string().optional(),reasoningEffort:a.string().optional()});var ic={errorSchema:a.object({error:a.object({message:a.string(),type:a.string().nullish(),param:a.any().nullish(),code:a.union([a.string(),a.number()]).nullish()})}),errorToMessage:e=>e.error.message},ac=a.object({prompt_tokens:a.number().nullish(),completion_tokens:a.number().nullish(),total_tokens:a.number().nullish(),prompt_tokens_details:a.object({cached_tokens:a.number().nullish()}).nullish(),completion_tokens_details:a.object({reasoning_tokens:a.number().nullish(),accepted_prediction_tokens:a.number().nullish(),rejected_prediction_tokens:a.number().nullish()}).nullish()}).nullish();a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({message:a.object({role:a.literal(`assistant`).nullish(),content:a.string().nullish(),reasoning_content:a.string().nullish(),reasoning:a.string().nullish(),tool_calls:a.array(a.object({id:a.string().nullish(),function:a.object({name:a.string(),arguments:a.string()})})).nullish()}),finish_reason:a.string().nullish()})),usage:ac}),a.object({echo:a.boolean().optional(),logitBias:a.record(a.string(),a.number()).optional(),suffix:a.string().optional(),user:a.string().optional()});var oc=a.object({prompt_tokens:a.number(),completion_tokens:a.number(),total_tokens:a.number()});a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({text:a.string(),finish_reason:a.string()})),usage:oc.nullish()}),a.object({dimensions:a.number().optional(),user:a.string().optional()}),a.object({data:a.array(a.object({embedding:a.array(a.number())})),usage:a.object({prompt_tokens:a.number()}).nullish(),providerMetadata:a.record(a.string(),a.record(a.string(),a.any())).optional()});var sc=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`,this.maxImagesPerCall=10}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c;let l=[];r!=null&&l.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&l.push({type:`unsupported-setting`,setting:`seed`});let u=((c=this.config._internal)?.currentDate)?.call(c)??new Date,{value:d,responseHeaders:f}=await Qs({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:Os(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...a.openai??{},response_format:`b64_json`},failedResponseHandler:ec(this.config.errorStructure??ic),successfulResponseHandler:tc(cc),abortSignal:s,fetch:this.config.fetch});return{images:d.data.map(e=>e.b64_json),warnings:l,response:{timestamp:u,modelId:this.modelId,headers:f}}}},cc=a.object({data:a.array(a.object({b64_json:a.string()}))});function lc(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function $(e){return Object.fromEntries([...e.headers])}function uc(e=globalThis){return e.window?`runtime/browser`:e.navigator?.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:e.process?.versions?.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function dc(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function fc(e,...t){let n=dc(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}var pc=(({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 j({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`})();function mc(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var hc=[`fetch failed`,`failed to fetch`];function gc({error:e,url:t,requestBodyValues:n}){if(mc(e))return e;if(e instanceof TypeError&&hc.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new k({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}var _c=`3.0.10`;function vc({apiKey:e,environmentVariableName:t,apiKeyParameterName:n=`apiKey`,description:r}){if(typeof e==`string`)return e;if(e!=null)throw new N({message:`${r} API key must be a string.`});if(typeof process>`u`)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables is not supported in this environment.`});if(e=process.env[t],e==null)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!=`string`)throw new N({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}var yc=/"__proto__"\s*:/,bc=/"constructor"\s*:/;function xc(e){let t=JSON.parse(e);return typeof t!=`object`||!t||yc.test(e)===!1&&bc.test(e)===!1?t:Sc(t)}function Sc(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 Cc(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return xc(e)}finally{Error.stackTraceLimit=t}}var wc=Symbol.for(`vercel.ai.validator`);function Tc(e){return{[wc]:!0,validate:e}}function Ec(e){return typeof e==`object`&&!!e&&wc in e&&e[wc]===!0&&`validate`in e}function Dc(e){return Ec(e)?e:Oc(e)}function Oc(e){return Tc(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new F({value:t,cause:n.issues})}})}async function kc({value:e,schema:t}){let n=await Ac({value:e,schema:t});if(!n.success)throw F.wrap({value:e,cause:n.error});return n.value}async function Ac({value:e,schema:t}){let n=Dc(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:F.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:F.wrap({value:e,cause:t}),rawValue:e}}}async function jc({text:e,schema:t}){try{let n=Cc(e);return t==null?n:kc({value:n,schema:t})}catch(t){throw M.isInstance(t)||F.isInstance(t)?t:new M({text:e,cause:t})}}async function Mc({text:e,schema:t}){try{let n=Cc(e);return t==null?{success:!0,value:n,rawValue:n}:await Ac({value:n,schema:t})}catch(t){return{success:!1,error:M.isInstance(t)?t:new M({text:e,cause:t}),rawValue:void 0}}}function Nc({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new E).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await Mc({text:e,schema:t}))}}))}async function Pc({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await Ac({value:t[e],schema:n});if(!r.success)throw new j({argument:`providerOptions`,message:`invalid ${e} provider options`,cause:r.error});return r.value}var Fc=()=>globalThis.fetch,Ic=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>Lc({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),Lc=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=Fc()})=>{try{let s=await o(e,{method:`POST`,headers:fc(t,`ai-sdk/provider-utils/${_c}`,uc()),body:n.content,signal:a}),c=$(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw mc(t)||k.isInstance(t)?t:new k({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(mc(t)||k.isInstance(t))?t:new k({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw gc({error:t,url:e,requestBodyValues:n.values})}},Rc=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=$(r);if(o.trim()===``)return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await jc({text:o,schema:e});return{responseHeaders:s,value:new k({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},zc=e=>async({response:t})=>{let n=$(t);if(t.body==null)throw new A({});return{responseHeaders:n,value:Nc({stream:t.body,schema:e})}},Bc=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await Mc({text:i,schema:e}),o=$(t);if(!a.success)throw new k({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},{btoa:Vc,atob:Hc}=globalThis;function Uc(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return Vc(t)}function Wc(e){return e instanceof Uint8Array?Uc(e):e}function Gc(e){return e?.replace(/\/$/,``)}function Kc(e){let t=[],n=[];for(let{role:n,content:r}of e)switch(n){case`system`:t.push({role:`system`,content:r});break;case`user`:if(r.length===1&&r[0].type===`text`){t.push({role:`user`,content:r[0].text});break}t.push({role:`user`,content:r.map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`image_url`,image_url:{url:e.data instanceof URL?e.data.toString():`data:${t};base64,${Wc(e.data)}`}}}else throw new I({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e=``,n=[];for(let t of r)switch(t.type){case`text`:e+=t.text;break;case`tool-call`:n.push({id:t.toolCallId,type:`function`,function:{name:t.toolName,arguments:JSON.stringify(t.input)}});break}t.push({role:`assistant`,content:e,tool_calls:n.length>0?n:void 0});break}case`tool`:for(let e of r){let n=e.output,r;switch(n.type){case`text`:case`error-text`:r=n.value;break;case`content`:case`json`:case`error-json`:r=JSON.stringify(n.value);break}t.push({role:`tool`,tool_call_id:e.toolCallId,content:r})}break;default:{let e=n;throw Error(`Unsupported role: ${e}`)}}return{messages:t,warnings:n}}function qc({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function Jc(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`tool_calls`:case`function_call`:return`tool-calls`;case`content_filter`:return`content-filter`;default:return`unknown`}}var Yc=a.object({type:a.literal(`web`),country:a.string().length(2).optional(),excludedWebsites:a.array(a.string()).max(5).optional(),allowedWebsites:a.array(a.string()).max(5).optional(),safeSearch:a.boolean().optional()}),Xc=a.object({type:a.literal(`x`),excludedXHandles:a.array(a.string()).optional(),includedXHandles:a.array(a.string()).optional(),postFavoriteCount:a.number().int().optional(),postViewCount:a.number().int().optional(),xHandles:a.array(a.string()).optional()}),Zc=a.object({type:a.literal(`news`),country:a.string().length(2).optional(),excludedWebsites:a.array(a.string()).max(5).optional(),safeSearch:a.boolean().optional()}),Qc=a.object({type:a.literal(`rss`),links:a.array(a.string().url()).max(1)}),$c=a.discriminatedUnion(`type`,[Yc,Xc,Zc,Qc]),el=a.object({reasoningEffort:a.enum([`low`,`high`]).optional(),searchParameters:a.object({mode:a.enum([`off`,`auto`,`on`]),returnCitations:a.boolean().optional(),fromDate:a.string().optional(),toDate:a.string().optional(),maxSearchResults:a.number().min(1).max(50).optional(),sources:a.array($c).optional()}).optional()}),tl=a.object({error:a.object({message:a.string(),type:a.string().nullish(),param:a.any().nullish(),code:a.union([a.string(),a.number()]).nullish()})}),nl=Rc({errorSchema:tl,errorToMessage:e=>e.error.message});function rl({tools:e,toolChoice:t}){e=e?.length?e:void 0;let n=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:n};let r=[];for(let t of e)t.type===`provider-defined`?n.push({type:`unsupported-tool`,tool:t}):r.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema}});if(t==null)return{tools:r,toolChoice:void 0,toolWarnings:n};let i=t.type;switch(i){case`auto`:case`none`:return{tools:r,toolChoice:i,toolWarnings:n};case`required`:return{tools:r,toolChoice:`required`,toolWarnings:n};case`tool`:return{tools:r,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:n};default:throw new I({functionality:`tool choice type: ${i}`})}}var il=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,seed:c,responseFormat:l,providerOptions:u,tools:d,toolChoice:f}){let p=[],m=await Pc({provider:`xai`,providerOptions:u,schema:el})??{};i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),a!=null&&p.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&p.push({type:`unsupported-setting`,setting:`presencePenalty`}),s!=null&&p.push({type:`unsupported-setting`,setting:`stopSequences`}),l!=null&&l.type===`json`&&l.schema!=null&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is not supported`});let{messages:h,warnings:g}=Kc(e);p.push(...g);let{tools:_,toolChoice:v,toolWarnings:y}=rl({tools:d,toolChoice:f});return p.push(...y),{args:{model:this.modelId,max_tokens:t,temperature:n,top_p:r,seed:c,reasoning_effort:m.reasoningEffort,response_format:l?.type===`json`?l.schema==null?{type:`json_object`}:{type:`json_schema`,json_schema:{name:l.name??`response`,schema:l.schema,strict:!0}}:void 0,search_parameters:m.searchParameters?{mode:m.searchParameters.mode,return_citations:m.searchParameters.returnCitations,from_date:m.searchParameters.fromDate,to_date:m.searchParameters.toDate,max_search_results:m.searchParameters.maxSearchResults,sources:m.searchParameters.sources?.map(e=>({type:e.type,...e.type===`web`&&{country:e.country,excluded_websites:e.excludedWebsites,allowed_websites:e.allowedWebsites,safe_search:e.safeSearch},...e.type===`x`&&{excluded_x_handles:e.excludedXHandles,included_x_handles:e.includedXHandles??e.xHandles,post_favorite_count:e.postFavoriteCount,post_view_count:e.postViewCount},...e.type===`news`&&{country:e.country,excluded_websites:e.excludedWebsites,safe_search:e.safeSearch},...e.type===`rss`&&{links:e.links}}))}:void 0,messages:h,tools:_,tool_choice:v},warnings:p}}async doGenerate(e){let{args:t,warnings:n}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await Ic({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:lc(this.config.headers(),e.headers),body:t,failedResponseHandler:nl,successfulResponseHandler:Bc(ol),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=i.choices[0],s=[];if(o.message.content!=null&&o.message.content.length>0){let e=o.message.content,n=t.messages[t.messages.length-1];n?.role===`assistant`&&e===n.content&&(e=``),e.length>0&&s.push({type:`text`,text:e})}if(o.message.reasoning_content!=null&&o.message.reasoning_content.length>0&&s.push({type:`reasoning`,text:o.message.reasoning_content}),o.message.tool_calls!=null)for(let e of o.message.tool_calls)s.push({type:`tool-call`,toolCallId:e.id,toolName:e.function.name,input:e.function.arguments});if(i.citations!=null)for(let e of i.citations)s.push({type:`source`,sourceType:`url`,id:this.config.generateId(),url:e});return{content:s,finishReason:Jc(o.finish_reason),usage:{inputTokens:i.usage.prompt_tokens,outputTokens:i.usage.completion_tokens,totalTokens:i.usage.total_tokens,reasoningTokens:i.usage.completion_tokens_details?.reasoning_tokens??void 0},request:{body:t},response:{...qc(i),headers:r,body:a},warnings:n}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await Ic({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:lc(this.config.headers(),e.headers),body:r,failedResponseHandler:nl,successfulResponseHandler:zc(sl),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=`unknown`,s={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},c=!0,l={},u={},d=this;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let i=t.value;if(c&&=(n.enqueue({type:`response-metadata`,...qc(i)}),!1),i.citations!=null)for(let e of i.citations)n.enqueue({type:`source`,sourceType:`url`,id:d.config.generateId(),url:e});i.usage!=null&&(s.inputTokens=i.usage.prompt_tokens,s.outputTokens=i.usage.completion_tokens,s.totalTokens=i.usage.total_tokens,s.reasoningTokens=i.usage.completion_tokens_details?.reasoning_tokens??void 0);let a=i.choices[0];if(a?.finish_reason!=null&&(o=Jc(a.finish_reason)),a?.delta==null)return;let f=a.delta,p=a.index;if(f.content!=null&&f.content.length>0){let e=f.content,t=r.messages[r.messages.length-1];if(t?.role===`assistant`&&e===t.content)return;let a=`text-${i.id||p}`;l[a]??(l[a]={type:`text`},n.enqueue({type:`text-start`,id:a})),n.enqueue({type:`text-delta`,id:a,delta:e})}if(f.reasoning_content!=null&&f.reasoning_content.length>0){let e=`reasoning-${i.id||p}`;if(u[e]===f.reasoning_content)return;u[e]=f.reasoning_content,l[e]??(l[e]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:e})),n.enqueue({type:`reasoning-delta`,id:e,delta:f.reasoning_content})}if(f.tool_calls!=null)for(let e of f.tool_calls){let t=e.id;n.enqueue({type:`tool-input-start`,id:t,toolName:e.function.name}),n.enqueue({type:`tool-input-delta`,id:t,delta:e.function.arguments}),n.enqueue({type:`tool-input-end`,id:t}),n.enqueue({type:`tool-call`,toolCallId:t,toolName:e.function.name,input:e.function.arguments})}},flush(e){for(let[t,n]of Object.entries(l))e.enqueue({type:n.type===`text`?`text-end`:`reasoning-end`,id:t});e.enqueue({type:`finish`,finishReason:o,usage:s})}})),request:{body:r},response:{headers:i}}}},al=a.object({prompt_tokens:a.number(),completion_tokens:a.number(),total_tokens:a.number(),completion_tokens_details:a.object({reasoning_tokens:a.number().nullish()}).nullish()}),ol=a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({message:a.object({role:a.literal(`assistant`),content:a.string().nullish(),reasoning_content:a.string().nullish(),tool_calls:a.array(a.object({id:a.string(),type:a.literal(`function`),function:a.object({name:a.string(),arguments:a.string()})})).nullish()}),index:a.number(),finish_reason:a.string().nullish()})),object:a.literal(`chat.completion`),usage:al,citations:a.array(a.string().url()).nullish()}),sl=a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({delta:a.object({role:a.enum([`assistant`]).optional(),content:a.string().nullish(),reasoning_content:a.string().nullish(),tool_calls:a.array(a.object({id:a.string(),type:a.literal(`function`),function:a.object({name:a.string(),arguments:a.string()})})).nullish()}),finish_reason:a.string().nullish(),index:a.number()})),usage:al.nullish(),citations:a.array(a.string().url()).nullish()}),cl=`2.0.23`,ll={errorSchema:tl,errorToMessage:e=>e.error.message};function ul(e={}){let t=Gc(e.baseURL??`https://api.x.ai/v1`),n=()=>fc({Authorization:`Bearer ${vc({apiKey:e.apiKey,environmentVariableName:`XAI_API_KEY`,description:`xAI API key`})}`,...e.headers},`ai-sdk/xai/${cl}`),r=r=>new il(r,{provider:`xai.chat`,baseURL:t,headers:n,generateId:pc,fetch:e.fetch}),i=r=>new sc(r,{provider:`xai.image`,url:({path:e})=>`${t}${e}`,headers:n,fetch:e.fetch,errorStructure:ll}),a=e=>r(e);return a.languageModel=r,a.chat=r,a.textEmbeddingModel=e=>{throw new P({modelId:e,modelType:`textEmbeddingModel`})},a.imageModel=i,a.image=i,a}ul();function dl(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n!==void 0&&n.role===`user`&&!(typeof n.metadata!=`object`||n.metadata===null)&&`options`in n.metadata)return n.metadata.options}}function fl(e){if(!e.body)throw Error(`Response body is required`);let t=e.headers.get(`x-blink-stream-response-format`);if(!t||t===`ui-message`)return e.body.pipeThrough(new TextDecoderStream).pipeThrough(new E).pipeThrough(new TransformStream({async transform(e,t){if(e.data!==`[DONE]`)try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));let n=e=>m({model:e,prompt:[{role:`user`,content:[{type:`text`,text:`Hello, world!`}]}]}).toUIMessageStream();switch(t){case`openai-chat`:return n(Ds({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`openai-response`:return n(Ds({apiKey:`ignored`,fetch:(t,n)=>e}).responses(`fake-model`));case`anthropic`:return n(Sr({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`google`:return n(Hi({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`xai`:return n(ul({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));default:throw Error(`Unsupported response format: ${t}`)}}const pl=`BLINK_API_URL`;function ml(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var hl=class{_lockP=null;async lock(){let e=this._lockP,{promise:t,resolve:n}=ml();return this._lockP=t,await e,n}withLock(e){return _l(this.lock(),e)}},gl=class{_lock=new hl;_writeP=null;_readP=[];read(){return this._lock.withLock(async()=>{await this._writeP;let{promise:e,resolve:t}=ml();return this._readP.push(e),t})}withRead(e){return _l(this.read(),e)}async write(){return await this._lock.withLock(async()=>{await this._writeP,await Promise.all(this._readP);let{promise:e,resolve:t}=ml();return this._writeP=e,this._readP=[],t})}withWrite(e){return _l(this.write(),e)}};async function _l(e,t){let n=await e;try{return await t()}finally{n()}}var vl=class{constructor(e){this.onRelease=e}[Symbol.dispose](){this.onRelease()}},yl=class{constructor(e){this.onRelease=e}[Symbol.dispose](){this.onRelease()}},bl=class{_lock=new gl;async read(){let e=await this._lock.read();return new vl(e)}async write(){let e=await this._lock.write();return new yl(e)}},xl=class{baseUrl;client;constructor(e){this.client=Ze(e.baseUrl),this.baseUrl=e.baseUrl}async chat(e,t){let n=await this.client._agent.chat.$post({json:e},{headers:t?.headers,init:{signal:t?.signal}});return n.ok||await this.handleError(n),fl(n)}async capabilities(){let e=await this.client._agent.capabilities.$get();return e.ok||await this.handleError(e),e.json()}async ui(e,t){let n=await this.client._agent.ui.$get({query:e.selectedOptions?{selected_options:JSON.stringify(e.selectedOptions)}:{}},{init:{signal:t?.signal}});if(!n.ok||n.status!==200){if(n.status===404)return;await this.handleError(n)}return n.json()}async health(){let e=await this.client._agent.health.$get();e.ok||await this.handleError(e)}async handleError(e){let t;try{t=await e.text()}catch{}if(t){let n;try{n=JSON.parse(t)}catch{}throw n?Error(n.error):Error(`Failed (${e.status}): ${t}`)}throw Error(`Failed (${e.status}): ${e.statusText}`)}};async function Sl({id:e,agent:t,messages:n,signal:r,shouldContinueStreaming:i=Cl}){n=[...n];let a=new TransformStream,o=a.writable.getWriter(),s=async()=>{let a;try{let c=await t.chat({messages:n,id:e},{signal:r}),l=p({message:{id:crypto.randomUUID(),role:`assistant`,parts:[],metadata:{}},stream:c,onError:e=>{e instanceof Error&&e.name===`AbortError`||o.abort(e)}});for await(let e of l)o.write(e),a=e;if(a&&i(a)){n.push(a),await s();return}await o.close()}catch(e){if(e?.name===`AbortError`||r?.aborted)return;await o.abort(e)}finally{await o.close()}};return s().catch(e=>{o.abort(e)}),a.readable}const Cl=e=>{if(e.role!==`assistant`)return!1;let t=e.parts.reduce((e,t,n)=>t.type===`step-start`?n:e,-1),n=e.parts.slice(t+1).filter(d);return n.length===0||n.some(e=>_(e.output)&&e.output.outcome===`pending`)?!1:n.every(e=>e.state.startsWith(`output-`))},wl=(e,t,n=crypto.randomUUID())=>({created_at:new Date().toISOString(),...e,id:n,metadata:e.metadata,mode:t});function Tl(e){return typeof e==`object`&&e?.__blink_internal!==void 0}function El(e){return typeof e.metadata==`object`&&e.metadata!==null&&`__blink_log`in e.metadata&&e.metadata.__blink_log===!0&&`level`in e.metadata&&`source`in e.metadata&&`message`in e.metadata}var Dl=class{chatId;agent;chatStore;serializeMessage;filterMessages;onError;chat;loading=!1;streamingMessage;status=`idle`;queue=[];logQueue=[];abortController;isProcessingQueue=!1;listeners=new Set;watcher;disposed=!1;constructor(e){this.chatId=e.chatId??`00000000-0000-0000-0000-000000000000`,this.chat={id:this.chatId,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),messages:[]},this.loading=!0,this.chatStore=Le(e.chatsDirectory,`id`),this.serializeMessage=e.serializeMessage,this.filterMessages=e.filterMessages,this.onError=e.onError,this.watcher=Re(e.chatsDirectory,{pollInterval:1e3,debounce:50}),this.watcher.onChange(e=>{if(e.key!==this.chatId||this.isProcessingQueue)return;if(!e.value){this.chat={id:this.chatId,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),messages:[]},this.status=`idle`,this.streamingMessage=void 0,this.notifyListeners();return}if(this.chat.updated_at===e.value?.updated_at)return;let t=e.value,n=e.locked?`streaming`:`idle`,r=this.chat.updated_at!==t?.updated_at||this.status!==n;this.chat=t,this.streamingMessage=void 0,this.status=n,r&&this.notifyListeners()}),this.chatStore.get(this.chatId).then(e=>{this.disposed||e&&(this.chat=e)}).catch(e=>{let t=e instanceof Error?e.message:String(e);this.onError?.(t)}).finally(()=>{this.loading=!1,this.notifyListeners()})}setAgent(e){this.agent=e}getState(){return{id:this.chatId,key:this.chat?.key,messages:(this.chat?.messages??[]).filter(e=>!Tl(e.metadata)),created_at:this.chat?.created_at,updated_at:this.chat?.updated_at,status:this.status,streamingMessage:this.streamingMessage,loading:this.loading,queuedMessages:this.queue,queuedLogs:this.logQueue}}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}async upsertMessages(e,t){let n=!1,r;t?r=t:(r=await this.chatStore.lock(this.chatId),n=!0);try{let t=await r.get();(!t.id||!Array.isArray(t.messages))&&(t={id:this.chatId,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),messages:[]});let n=[...t.messages];for(let t of e){let e;if(this.serializeMessage){let n=this.serializeMessage(t);if(n===void 0)return;e=n}else e={...t,created_at:new Date().toISOString(),mode:`run`,metadata:t.metadata,id:t.id??crypto.randomUUID()};let r=n.findIndex(t=>t.id===e.id);r===-1?n.push(e):n.splice(r,1,e)}this.chat={...t,updated_at:new Date().toISOString(),messages:n},await r.set(this.chat),this.notifyListeners()}finally{n&&await r.release()}}async deleteMessages(e){let t;try{t=await this.chatStore.lock(this.chatId);let n=await t.get();this.chat.messages=n.messages.filter(t=>!e.includes(t.id)),this.chat.updated_at=new Date().toISOString(),await t.set(this.chat),this.notifyListeners()}finally{t&&await t.release()}}async queueLogMessage({message:e,level:t,source:n}){let r=`(EDIT MODE NOTE) ${n===`agent`?`The agent`:"The `blink dev` CLI"} printed the following ${t}:\n\`\`\`\n${s(e)}\n\`\`\`\n`,i={id:crypto.randomUUID(),created_at:new Date().toISOString(),role:`user`,parts:[{type:`text`,text:r}],metadata:{__blink_log:!0,level:t,source:n,message:e},mode:`edit`};this.logQueue.push(i),this.notifyListeners()}async flushLogQueue(e){if(this.logQueue.length===0)return;let t=[...this.logQueue];this.logQueue=[],await this.upsertMessages(t,e)}async sendMessages(e){if(this.status=`idle`,this.notifyListeners(),this.isProcessingQueue){this.queue.push(...e),this.notifyListeners();return}this.queue=e,this.processQueueOrRun()}async start(){this.status=`idle`,this.notifyListeners(),this.processQueueOrRun()}async stop(){this.status=`idle`,this.abortController?.abort(),this.notifyListeners()}async processQueueOrRun(){if(!this.agent){this.onError?.(`The agent is not available. Please wait for the build to succeed.`),this.queue=[];return}if(this.isProcessingQueue)return;this.isProcessingQueue=!0;let t;try{t=await this.chatStore.lock(this.chatId),await this.flushLogQueue(t);let r=!0;for(;this.queue.length>0||r;)try{var n=e();r=!1;let i=new AbortController;this.abortController=i;let a=[...this.queue];this.queue=[],this.streamingMessage=void 0,this.status=`streaming`,this.notifyListeners(),a.length>0&&await this.upsertMessages(a,t);let o=this.chat.messages;this.filterMessages&&(o=o.filter(this.filterMessages)),o=o.map(e=>({...e,parts:e.parts.map(e=>!d(e)||e.input!==``?e:{...e,input:{}})})),n.u(await this.agent.lock.read());let s=performance.now(),c=await Sl({agent:this.agent.client,id:this.chatId,signal:i.signal,messages:o}),l=async e=>{let n=e;if(this.serializeMessage){let t=this.serializeMessage(e);if(t===void 0)return;n=t}this.chat.updated_at=new Date().toISOString(),this.chat.messages.push(n),this.streamingMessage=void 0,await t?.set(this.chat)},u=c.getReader();i.signal.addEventListener(`abort`,()=>{u.cancel().catch(()=>{})},{once:!0});let f;try{for(;;){let{done:e,value:t}=await u.read();if(e||i.signal.aborted)break;f||=performance.now()-s,this.streamingMessage&&t.id!==this.streamingMessage.id&&await l(this.streamingMessage);let n={...t,metadata:{...typeof t.metadata==`object`&&t.metadata!==null?t.metadata:{},ttft:f}};this.streamingMessage=this.serializeMessage?this.serializeMessage(n):n,this.notifyListeners()}}finally{u.releaseLock()}this.streamingMessage&&await l(this.streamingMessage)}catch(e){n.e=e}finally{n.d()}}catch(e){let t=e instanceof Error?e.message:String(e);this.onError?.(t)}finally{this.isProcessingQueue=!1,this.streamingMessage=void 0,this.status=`idle`,t&&(await this.flushLogQueue(t),this.chat.updated_at=new Date().toISOString(),await t.set(this.chat),await t.release(),this.notifyListeners())}}stopStreaming(){this.abortController?.abort()}clearQueue(){this.queue=[],this.notifyListeners()}async resetChat(){this.abortController?.abort(),this.resetChatState(),this.notifyListeners();let e;try{e=await this.chatStore.lock(this.chatId),await e.delete()}catch{}finally{if(e)try{await e.release()}catch{}}}dispose(){this.disposed=!0,this.watcher.dispose(),this.listeners.clear(),this.stopStreaming()}resetChatState(){this.chat={id:this.chatId,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),messages:[]},this.streamingMessage=void 0,this.status=`idle`,this.queue=[],this.logQueue=[]}notifyListeners(){let e=this.getState();for(let t of this.listeners)t(e)}};export{k as APICallError,pl as APIServerURLEnvironmentVariable,Dl as ChatManager,xl as Client,h as CustomChatResponseError,A as EmptyResponseBodyError,E as EventSourceParserStream,j as InvalidArgumentError,M as JSONParseError,P as NoSuchModelError,bl as RWLock,F as TypeValidationError,ie as checkOptionalParameter,wl as convertMessage,Sr as createAnthropic,Le as createDiskStore,Ds as createOpenAI,Ve as createParser,le as decodeURIComponent_,Me as getLockInfo,te as getPath,ne as getPathNoStrict,C as getPattern,se as getQueryParam,ce as getQueryParams,Ze as hc,El as isLogMessage,Tl as isStoredMessageMetadata,_ as isToolApprovalOutput,dl as lastUIOptions,Ae as lock,re as mergePath,fe as parse,v as splitPath,y as splitRoutingPath,g as tools,w as tryDecode};
|
|
21
|
+
${t}:`]}}function Ga({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function Ka(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`unknown`}}var qa=a.object({echo:a.boolean().optional(),logitBias:a.record(a.string(),a.number()).optional(),suffix:a.string().optional(),user:a.string().optional(),logprobs:a.union([a.boolean(),a.number()]).optional()}),Ja=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={},this.modelId=e,this.config=t}get providerOptionsName(){return this.config.provider.split(`.`)[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,tools:l,toolChoice:u,seed:d,providerOptions:f}){let p=[],m={...await J({provider:`openai`,providerOptions:f,schema:qa}),...await J({provider:this.providerOptionsName,providerOptions:f,schema:qa})};i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),l?.length&&p.push({type:`unsupported-setting`,setting:`tools`}),u!=null&&p.push({type:`unsupported-setting`,setting:`toolChoice`}),c!=null&&c.type!==`text`&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format is not supported.`});let{prompt:h,stopSequences:g}=Wa({prompt:e}),_=[...g??[],...s??[]];return{args:{model:this.modelId,echo:m.echo,logit_bias:m.logitBias,logprobs:m?.logprobs===!0?0:m?.logprobs===!1?void 0:m?.logprobs,suffix:m.suffix,user:m.user,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,seed:d,prompt:h,stop:_.length>0?_:void 0},warnings:p}}async doGenerate(e){let{args:t,warnings:n}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await Y({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:t,failedResponseHandler:Q,successfulResponseHandler:X(Xa),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=i.choices[0],s={openai:{}};return o.logprobs!=null&&(s.openai.logprobs=o.logprobs),{content:[{type:`text`,text:o.text}],usage:{inputTokens:i.usage?.prompt_tokens,outputTokens:i.usage?.completion_tokens,totalTokens:i.usage?.total_tokens},finishReason:Ka(o.finish_reason),request:{body:t},response:{...Ga(i),headers:r,body:a},providerMetadata:s,warnings:n}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await Y({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:r,failedResponseHandler:Q,successfulResponseHandler:Sa(Za),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=`unknown`,s={openai:{}},c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=!0;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){o=`error`,n.enqueue({type:`error`,error:t.error});return}let r=t.value;if(`error`in r){o=`error`,n.enqueue({type:`error`,error:r.error});return}l&&(l=!1,n.enqueue({type:`response-metadata`,...Ga(r)}),n.enqueue({type:`text-start`,id:`0`})),r.usage!=null&&(c.inputTokens=r.usage.prompt_tokens,c.outputTokens=r.usage.completion_tokens,c.totalTokens=r.usage.total_tokens);let i=r.choices[0];i?.finish_reason!=null&&(o=Ka(i.finish_reason)),i?.logprobs!=null&&(s.openai.logprobs=i.logprobs),i?.text!=null&&i.text.length>0&&n.enqueue({type:`text-delta`,id:`0`,delta:i.text})},flush(e){l||e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:o,providerMetadata:s,usage:c})}})),request:{body:r},response:{headers:i}}}},Ya=a.object({prompt_tokens:a.number(),completion_tokens:a.number(),total_tokens:a.number()}),Xa=a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({text:a.string(),finish_reason:a.string(),logprobs:a.object({tokens:a.array(a.string()),token_logprobs:a.array(a.number()),top_logprobs:a.array(a.record(a.string(),a.number())).nullish()}).nullish()})),usage:Ya.nullish()}),Za=a.union([a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({text:a.string(),finish_reason:a.string().nullish(),index:a.number(),logprobs:a.object({tokens:a.array(a.string()),token_logprobs:a.array(a.number()),top_logprobs:a.array(a.record(a.string(),a.number())).nullish()}).nullish()})),usage:Ya.nullish()}),ka]),Qa=a.object({dimensions:a.number().optional(),user:a.string().optional()}),$a=class{constructor(e,t){this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){if(e.length>this.maxEmbeddingsPerCall)throw new Ht({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let i=await J({provider:`openai`,providerOptions:r,schema:Qa})??{},{responseHeaders:a,value:o,rawValue:s}=await Y({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:G(this.config.headers(),t),body:{model:this.modelId,input:e,encoding_format:`float`,dimensions:i.dimensions,user:i.user},failedResponseHandler:Q,successfulResponseHandler:X(eo),abortSignal:n,fetch:this.config.fetch});return{embeddings:o.data.map(e=>e.embedding),usage:o.usage?{tokens:o.usage.prompt_tokens}:void 0,response:{headers:a,body:s}}}},eo=a.object({data:a.array(a.object({embedding:a.array(a.number())})),usage:a.object({prompt_tokens:a.number()}).nullish()}),to={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},no=new Set([`gpt-image-1`]),ro=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get maxImagesPerCall(){return to[this.modelId]??1}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c;let l=[];r!=null&&l.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&l.push({type:`unsupported-setting`,setting:`seed`});let u=((c=this.config._internal)?.currentDate)?.call(c)??new Date,{value:d,responseHeaders:f}=await Y({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:G(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...a.openai??{},...no.has(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:Q,successfulResponseHandler:X(io),abortSignal:s,fetch:this.config.fetch});return{images:d.data.map(e=>e.b64_json),warnings:l,response:{timestamp:u,modelId:this.modelId,headers:f},providerMetadata:{openai:{images:d.data.map(e=>e.revised_prompt?{revisedPrompt:e.revised_prompt}:null)}}}}},io=a.object({data:a.array(a.object({b64_json:a.string(),revised_prompt:a.string().optional()}))}),ao=a.object({code:a.string().nullish(),containerId:a.string()}),oo=a.object({outputs:a.array(a.discriminatedUnion(`type`,[a.object({type:a.literal(`logs`),logs:a.string()}),a.object({type:a.literal(`image`),url:a.string()})])).nullish()}),so=a.object({container:a.union([a.string(),a.object({fileIds:a.array(a.string()).optional()})]).optional()}),co=ba({id:`openai.code_interpreter`,name:`code_interpreter`,inputSchema:ao,outputSchema:oo}),lo=(e={})=>co(e),uo=a.object({key:a.string(),type:a.enum([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`]),value:a.union([a.string(),a.number(),a.boolean()])}),fo=a.object({type:a.enum([`and`,`or`]),filters:a.array(a.union([uo,a.lazy(()=>fo)]))}),po=a.object({vectorStoreIds:a.array(a.string()),maxNumResults:a.number().optional(),ranking:a.object({ranker:a.string().optional(),scoreThreshold:a.number().optional()}).optional(),filters:a.union([uo,fo]).optional()}),mo=a.object({queries:a.array(a.string()),results:a.array(a.object({attributes:a.record(a.string(),a.unknown()),fileId:a.string(),filename:a.string(),score:a.number(),text:a.string()})).nullable()}),ho=ba({id:`openai.file_search`,name:`file_search`,inputSchema:a.object({}),outputSchema:mo}),go=a.object({background:a.enum([`auto`,`opaque`,`transparent`]).optional(),inputFidelity:a.enum([`low`,`high`]).optional(),inputImageMask:a.object({fileId:a.string().optional(),imageUrl:a.string().optional()}).optional(),model:a.string().optional(),moderation:a.enum([`auto`]).optional(),outputCompression:a.number().int().min(0).max(100).optional(),outputFormat:a.enum([`png`,`jpeg`,`webp`]).optional(),quality:a.enum([`auto`,`low`,`medium`,`high`]).optional(),size:a.enum([`1024x1024`,`1024x1536`,`1536x1024`,`auto`]).optional()}).strict(),_o=a.object({result:a.string()}),vo=ba({id:`openai.image_generation`,name:`image_generation`,inputSchema:a.object({}),outputSchema:_o}),yo=(e={})=>vo(e),bo=a.object({action:a.object({type:a.literal(`exec`),command:a.array(a.string()),timeoutMs:a.number().optional(),user:a.string().optional(),workingDirectory:a.string().optional(),env:a.record(a.string(),a.string()).optional()})}),xo=a.object({output:a.string()}),So=ba({id:`openai.local_shell`,name:`local_shell`,inputSchema:bo,outputSchema:xo}),Co=a.object({filters:a.object({allowedDomains:a.array(a.string()).optional()}).optional(),searchContextSize:a.enum([`low`,`medium`,`high`]).optional(),userLocation:a.object({type:a.literal(`approximate`),country:a.string().optional(),city:a.string().optional(),region:a.string().optional(),timezone:a.string().optional()}).optional()}),wo=ya({id:`openai.web_search`,name:`web_search`,inputSchema:a.object({action:a.discriminatedUnion(`type`,[a.object({type:a.literal(`search`),query:a.string().nullish()}),a.object({type:a.literal(`open_page`),url:a.string()}),a.object({type:a.literal(`find`),url:a.string(),pattern:a.string()})]).nullish()})}),To=(e={})=>wo(e),Eo=a.object({searchContextSize:a.enum([`low`,`medium`,`high`]).optional(),userLocation:a.object({type:a.literal(`approximate`),country:a.string().optional(),city:a.string().optional(),region:a.string().optional(),timezone:a.string().optional()}).optional()}),Do=ya({id:`openai.web_search_preview`,name:`web_search_preview`,inputSchema:a.object({action:a.discriminatedUnion(`type`,[a.object({type:a.literal(`search`),query:a.string().nullish()}),a.object({type:a.literal(`open_page`),url:a.string()}),a.object({type:a.literal(`find`),url:a.string(),pattern:a.string()})]).nullish()})}),Oo={codeInterpreter:lo,fileSearch:ho,imageGeneration:yo,localShell:So,webSearchPreview:Do,webSearch:To};function ko(e,t){return t?t.some(t=>e.startsWith(t)):!1}async function Ao({prompt:e,systemMessageMode:t,fileIdPrefixes:n,store:r,hasLocalShellTool:i=!1}){let a=[],o=[];for(let{role:s,content:c}of e)switch(s){case`system`:switch(t){case`system`:a.push({role:`system`,content:c});break;case`developer`:a.push({role:`developer`,content:c});break;case`remove`:o.push({type:`other`,message:`system messages are removed for this model`});break;default:{let e=t;throw Error(`Unsupported system message mode: ${e}`)}}break;case`user`:a.push({role:`user`,content:c.map((e,t)=>{switch(e.type){case`text`:return{type:`input_text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`input_image`,...e.data instanceof URL?{image_url:e.data.toString()}:typeof e.data==`string`&&ko(e.data,n)?{file_id:e.data}:{image_url:`data:${t};base64,${Z(e.data)}`},detail:e.providerOptions?.openai?.imageDetail}}else if(e.mediaType===`application/pdf`)return e.data instanceof URL?{type:`input_file`,file_url:e.data.toString()}:{type:`input_file`,...typeof e.data==`string`&&ko(e.data,n)?{file_id:e.data}:{filename:e.filename??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${Z(e.data)}`}};else throw new F({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e={},t={};for(let n of c)switch(n.type){case`text`:a.push({role:`assistant`,content:[{type:`output_text`,text:n.text}],id:n.providerOptions?.openai?.itemId??void 0});break;case`tool-call`:if(t[n.toolCallId]=n,n.providerExecuted)break;if(i&&n.toolName===`local_shell`){let e=bo.parse(n.input);a.push({type:`local_shell_call`,call_id:n.toolCallId,id:n.providerOptions?.openai?.itemId??void 0,action:{type:`exec`,command:e.action.command,timeout_ms:e.action.timeoutMs,user:e.action.user,working_directory:e.action.workingDirectory,env:e.action.env}});break}a.push({type:`function_call`,call_id:n.toolCallId,name:n.toolName,arguments:JSON.stringify(n.input),id:n.providerOptions?.openai?.itemId??void 0});break;case`tool-result`:r?a.push({type:`item_reference`,id:n.toolCallId}):o.push({type:`other`,message:`Results for OpenAI tool ${n.toolName} are not sent to the API when store is false`});break;case`reasoning`:{let t=await J({provider:`openai`,providerOptions:n.providerOptions,schema:jo}),i=t?.itemId;if(i!=null){let s=e[i];if(r)s===void 0&&(a.push({type:`item_reference`,id:i}),e[i]={type:`reasoning`,id:i,summary:[]});else{let r=[];n.text.length>0?r.push({type:`summary_text`,text:n.text}):s!==void 0&&o.push({type:`other`,message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(n)}.`}),s===void 0?(e[i]={type:`reasoning`,id:i,encrypted_content:t?.reasoningEncryptedContent,summary:r},a.push(e[i])):s.summary.push(...r)}}else o.push({type:`other`,message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(n)}.`});break}}break}case`tool`:for(let e of c){let t=e.output;if(i&&e.toolName===`local_shell`&&t.type===`json`){a.push({type:`local_shell_call_output`,call_id:e.toolCallId,output:xo.parse(t.value).output});break}let n;switch(t.type){case`text`:case`error-text`:n=t.value;break;case`content`:case`json`:case`error-json`:n=JSON.stringify(t.value);break}a.push({type:`function_call_output`,call_id:e.toolCallId,output:n})}break;default:{let e=s;throw Error(`Unsupported role: ${e}`)}}return{input:a,warnings:o}}var jo=a.object({itemId:a.string().nullish(),reasoningEncryptedContent:a.string().nullish()});function Mo({finishReason:e,hasFunctionCall:t}){switch(e){case void 0:case null:return t?`tool-calls`:`stop`;case`max_output_tokens`:return`length`;case`content_filter`:return`content-filter`;default:return t?`tool-calls`:`unknown`}}function No({tools:e,toolChoice:t,strictJsonSchema:n}){e=e?.length?e:void 0;let r=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r};let i=[];for(let t of e)switch(t.type){case`function`:i.push({type:`function`,name:t.name,description:t.description,parameters:t.inputSchema,strict:n});break;case`provider-defined`:switch(t.id){case`openai.file_search`:{let e=po.parse(t.args);i.push({type:`file_search`,vector_store_ids:e.vectorStoreIds,max_num_results:e.maxNumResults,ranking_options:e.ranking?{ranker:e.ranking.ranker,score_threshold:e.ranking.scoreThreshold}:void 0,filters:e.filters});break}case`openai.local_shell`:i.push({type:`local_shell`});break;case`openai.web_search_preview`:{let e=Eo.parse(t.args);i.push({type:`web_search_preview`,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.web_search`:{let e=Co.parse(t.args);i.push({type:`web_search`,filters:e.filters==null?void 0:{allowed_domains:e.filters.allowedDomains},search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.code_interpreter`:{let e=so.parse(t.args);i.push({type:`code_interpreter`,container:e.container==null?{type:`auto`,file_ids:void 0}:typeof e.container==`string`?e.container:{type:`auto`,file_ids:e.container.fileIds}});break}case`openai.image_generation`:{let e=go.parse(t.args);i.push({type:`image_generation`,background:e.background,input_fidelity:e.inputFidelity,input_image_mask:e.inputImageMask?{file_id:e.inputImageMask.fileId,image_url:e.inputImageMask.imageUrl}:void 0,model:e.model,size:e.size,quality:e.quality,moderation:e.moderation,output_format:e.outputFormat,output_compression:e.outputCompression});break}}break;default:r.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:i,toolChoice:void 0,toolWarnings:r};let a=t.type;switch(a){case`auto`:case`none`:case`required`:return{tools:i,toolChoice:a,toolWarnings:r};case`tool`:return{tools:i,toolChoice:t.toolName===`code_interpreter`||t.toolName===`file_search`||t.toolName===`image_generation`||t.toolName===`web_search_preview`||t.toolName===`web_search`?{type:t.toolName}:{type:`function`,name:t.toolName},toolWarnings:r};default:throw new F({functionality:`tool choice type: ${a}`})}}var Po=a.object({type:a.literal(`web_search_call`),id:a.string(),status:a.string(),action:a.discriminatedUnion(`type`,[a.object({type:a.literal(`search`),query:a.string().nullish()}),a.object({type:a.literal(`open_page`),url:a.string()}),a.object({type:a.literal(`find`),url:a.string(),pattern:a.string()})]).nullish()}),Fo=a.object({type:a.literal(`file_search_call`),id:a.string(),queries:a.array(a.string()),results:a.array(a.object({attributes:a.record(a.string(),a.unknown()),file_id:a.string(),filename:a.string(),score:a.number(),text:a.string()})).nullish()}),Io=a.object({type:a.literal(`code_interpreter_call`),id:a.string(),code:a.string().nullable(),container_id:a.string(),outputs:a.array(a.discriminatedUnion(`type`,[a.object({type:a.literal(`logs`),logs:a.string()}),a.object({type:a.literal(`image`),url:a.string()})])).nullable()}),Lo=a.object({type:a.literal(`local_shell_call`),id:a.string(),call_id:a.string(),action:a.object({type:a.literal(`exec`),command:a.array(a.string()),timeout_ms:a.number().optional(),user:a.string().optional(),working_directory:a.string().optional(),env:a.record(a.string(),a.string()).optional()})}),Ro=a.object({type:a.literal(`image_generation_call`),id:a.string(),result:a.string()}),zo=20,Bo=a.array(a.object({token:a.string(),logprob:a.number(),top_logprobs:a.array(a.object({token:a.string(),logprob:a.number()}))})),Vo=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({maxOutputTokens:e,temperature:t,stopSequences:n,topP:r,topK:i,presencePenalty:a,frequencyPenalty:o,seed:s,prompt:c,providerOptions:l,tools:u,toolChoice:d,responseFormat:f}){let p=[],m=vs(this.modelId);i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),s!=null&&p.push({type:`unsupported-setting`,setting:`seed`}),a!=null&&p.push({type:`unsupported-setting`,setting:`presencePenalty`}),o!=null&&p.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),n!=null&&p.push({type:`unsupported-setting`,setting:`stopSequences`});let h=await J({provider:`openai`,providerOptions:l,schema:ys}),{input:g,warnings:_}=await Ao({prompt:c,systemMessageMode:m.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes,store:h?.store??!0,hasLocalShellTool:x(`openai.local_shell`)});p.push(..._);let v=h?.strictJsonSchema??!1,y=h?.include;function b(e){y=y==null?[e]:[...y,e]}function x(e){return u?.find(t=>t.type===`provider-defined`&&t.id===e)!=null}let S=typeof h?.logprobs==`number`?h?.logprobs:h?.logprobs===!0?zo:void 0;S&&b(`message.output_text.logprobs`);let C=u?.find(e=>e.type===`provider-defined`&&(e.id===`openai.web_search`||e.id===`openai.web_search_preview`))?.name;C&&b(`web_search_call.action.sources`),x(`openai.code_interpreter`)&&b(`code_interpreter_call.outputs`);let w={model:this.modelId,input:g,temperature:t,top_p:r,max_output_tokens:e,...(f?.type===`json`||h?.textVerbosity)&&{text:{...f?.type===`json`&&{format:f.schema==null?{type:`json_object`}:{type:`json_schema`,strict:v,name:f.name??`response`,description:f.description,schema:f.schema}},...h?.textVerbosity&&{verbosity:h.textVerbosity}}},max_tool_calls:h?.maxToolCalls,metadata:h?.metadata,parallel_tool_calls:h?.parallelToolCalls,previous_response_id:h?.previousResponseId,store:h?.store,user:h?.user,instructions:h?.instructions,service_tier:h?.serviceTier,include:y,prompt_cache_key:h?.promptCacheKey,safety_identifier:h?.safetyIdentifier,top_logprobs:S,...m.isReasoningModel&&(h?.reasoningEffort!=null||h?.reasoningSummary!=null)&&{reasoning:{...h?.reasoningEffort!=null&&{effort:h.reasoningEffort},...h?.reasoningSummary!=null&&{summary:h.reasoningSummary}}},...m.requiredAutoTruncation&&{truncation:`auto`}};m.isReasoningModel?(w.temperature!=null&&(w.temperature=void 0,p.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),w.top_p!=null&&(w.top_p=void 0,p.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`}))):(h?.reasoningEffort!=null&&p.push({type:`unsupported-setting`,setting:`reasoningEffort`,details:`reasoningEffort is not supported for non-reasoning models`}),h?.reasoningSummary!=null&&p.push({type:`unsupported-setting`,setting:`reasoningSummary`,details:`reasoningSummary is not supported for non-reasoning models`})),h?.serviceTier===`flex`&&!m.supportsFlexProcessing&&(p.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),delete w.service_tier),h?.serviceTier===`priority`&&!m.supportsPriorityProcessing&&(p.push({type:`unsupported-setting`,setting:`serviceTier`,details:`priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported`}),delete w.service_tier);let{tools:ee,toolChoice:te,toolWarnings:ne}=No({tools:u,toolChoice:d,strictJsonSchema:v});return{webSearchToolName:C,args:{...w,tools:ee,tool_choice:te},warnings:[...p,...ne]}}async doGenerate(e){var t,n;let{args:r,warnings:i,webSearchToolName:o}=await this.getArgs(e),s=this.config.url({path:`/responses`,modelId:this.modelId}),{responseHeaders:c,value:l,rawValue:u}=await Y({url:s,headers:G(this.config.headers(),e.headers),body:r,failedResponseHandler:Q,successfulResponseHandler:X(a.object({id:a.string(),created_at:a.number(),error:a.object({code:a.string(),message:a.string()}).nullish(),model:a.string(),output:a.array(a.discriminatedUnion(`type`,[a.object({type:a.literal(`message`),role:a.literal(`assistant`),id:a.string(),content:a.array(a.object({type:a.literal(`output_text`),text:a.string(),logprobs:Bo.nullish(),annotations:a.array(a.discriminatedUnion(`type`,[a.object({type:a.literal(`url_citation`),start_index:a.number(),end_index:a.number(),url:a.string(),title:a.string()}),a.object({type:a.literal(`file_citation`),file_id:a.string(),filename:a.string().nullish(),index:a.number().nullish(),start_index:a.number().nullish(),end_index:a.number().nullish(),quote:a.string().nullish()}),a.object({type:a.literal(`container_file_citation`)})]))}))}),Po,Fo,Io,Ro,Lo,a.object({type:a.literal(`function_call`),call_id:a.string(),name:a.string(),arguments:a.string(),id:a.string()}),a.object({type:a.literal(`computer_call`),id:a.string(),status:a.string().optional()}),a.object({type:a.literal(`reasoning`),id:a.string(),encrypted_content:a.string().nullish(),summary:a.array(a.object({type:a.literal(`summary_text`),text:a.string()}))})])),service_tier:a.string().nullish(),incomplete_details:a.object({reason:a.string()}).nullish(),usage:Ho})),abortSignal:e.abortSignal,fetch:this.config.fetch});if(l.error)throw new k({message:l.error.message,url:s,requestBodyValues:r,statusCode:400,responseHeaders:c,responseBody:u,isRetryable:!1});let d=[],f=[],p=!1;for(let r of l.output)switch(r.type){case`reasoning`:r.summary.length===0&&r.summary.push({type:`summary_text`,text:``});for(let e of r.summary)d.push({type:`reasoning`,text:e.text,providerMetadata:{openai:{itemId:r.id,reasoningEncryptedContent:r.encrypted_content??null}}});break;case`image_generation_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`image_generation`,input:`{}`,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`image_generation`,result:{result:r.result},providerExecuted:!0});break;case`local_shell_call`:d.push({type:`tool-call`,toolCallId:r.call_id,toolName:`local_shell`,input:JSON.stringify({action:r.action}),providerMetadata:{openai:{itemId:r.id}}});break;case`message`:for(let i of r.content){e.providerOptions?.openai?.logprobs&&i.logprobs&&f.push(i.logprobs),d.push({type:`text`,text:i.text,providerMetadata:{openai:{itemId:r.id}}});for(let e of i.annotations)e.type===`url_citation`?d.push({type:`source`,sourceType:`url`,id:(t=this.config).generateId?.call(t)??q(),url:e.url,title:e.title}):e.type===`file_citation`&&d.push({type:`source`,sourceType:`document`,id:(n=this.config).generateId?.call(n)??q(),mediaType:`text/plain`,title:e.quote??e.filename??`Document`,filename:e.filename??e.file_id})}break;case`function_call`:p=!0,d.push({type:`tool-call`,toolCallId:r.call_id,toolName:r.name,input:r.arguments,providerMetadata:{openai:{itemId:r.id}}});break;case`web_search_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:o??`web_search`,input:JSON.stringify({action:r.action}),providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:o??`web_search`,result:{status:r.status},providerExecuted:!0});break;case`computer_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`computer_use`,input:``,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:r.status||`completed`},providerExecuted:!0});break;case`file_search_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`file_search`,input:`{}`,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`file_search`,result:{queries:r.queries,results:r.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null},providerExecuted:!0});break;case`code_interpreter_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`code_interpreter`,input:JSON.stringify({code:r.code,containerId:r.container_id}),providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`code_interpreter`,result:{outputs:r.outputs},providerExecuted:!0});break}let m={openai:{responseId:l.id}};return f.length>0&&(m.openai.logprobs=f),typeof l.service_tier==`string`&&(m.openai.serviceTier=l.service_tier),{content:d,finishReason:Mo({finishReason:l.incomplete_details?.reason,hasFunctionCall:p}),usage:{inputTokens:l.usage.input_tokens,outputTokens:l.usage.output_tokens,totalTokens:l.usage.input_tokens+l.usage.output_tokens,reasoningTokens:l.usage.output_tokens_details?.reasoning_tokens??void 0,cachedInputTokens:l.usage.input_tokens_details?.cached_tokens??void 0},request:{body:r},response:{id:l.id,timestamp:new Date(l.created_at*1e3),modelId:l.model,headers:c,body:u},providerMetadata:m,warnings:i}}async doStream(e){let{args:t,warnings:n,webSearchToolName:r}=await this.getArgs(e),{responseHeaders:i,value:a}=await Y({url:this.config.url({path:`/responses`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:{...t,stream:!0},failedResponseHandler:Q,successfulResponseHandler:Sa(ts),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=this,s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=[],u=null,d={},f=!1,p={},m;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var i,a,h;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let g=t.value;if(fs(g))g.item.type===`function_call`?(d[g.output_index]={toolName:g.item.name,toolCallId:g.item.call_id},n.enqueue({type:`tool-input-start`,id:g.item.call_id,toolName:g.item.name})):g.item.type===`web_search_call`?(d[g.output_index]={toolName:r??`web_search`,toolCallId:g.item.id},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:r??`web_search`})):g.item.type===`computer_call`?(d[g.output_index]={toolName:`computer_use`,toolCallId:g.item.id},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:`computer_use`})):g.item.type===`code_interpreter_call`?(d[g.output_index]={toolName:`code_interpreter`,toolCallId:g.item.id,codeInterpreter:{containerId:g.item.container_id}},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:`code_interpreter`}),n.enqueue({type:`tool-input-delta`,id:g.item.id,delta:`{"containerId":"${g.item.container_id}","code":"`})):g.item.type===`file_search_call`?n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`file_search`,input:`{}`,providerExecuted:!0}):g.item.type===`image_generation_call`?n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`image_generation`,input:`{}`,providerExecuted:!0}):g.item.type===`message`?n.enqueue({type:`text-start`,id:g.item.id,providerMetadata:{openai:{itemId:g.item.id}}}):ps(g)&&(p[g.item.id]={encryptedContent:g.item.encrypted_content,summaryParts:[0]},n.enqueue({type:`reasoning-start`,id:`${g.item.id}:0`,providerMetadata:{openai:{itemId:g.item.id,reasoningEncryptedContent:g.item.encrypted_content??null}}}));else if(rs(g)){if(g.item.type===`function_call`)d[g.output_index]=void 0,f=!0,n.enqueue({type:`tool-input-end`,id:g.item.call_id}),n.enqueue({type:`tool-call`,toolCallId:g.item.call_id,toolName:g.item.name,input:g.item.arguments,providerMetadata:{openai:{itemId:g.item.id}}});else if(g.item.type===`web_search_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:g.item.id}),n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`web_search`,input:JSON.stringify({action:g.item.action}),providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`web_search`,result:{status:g.item.status},providerExecuted:!0});else if(g.item.type===`computer_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:g.item.id}),n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`computer_use`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:g.item.status||`completed`},providerExecuted:!0});else if(g.item.type===`file_search_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`file_search`,result:{queries:g.item.queries,results:g.item.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null},providerExecuted:!0});else if(g.item.type===`code_interpreter_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`code_interpreter`,result:{outputs:g.item.outputs},providerExecuted:!0});else if(g.item.type===`image_generation_call`)n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`image_generation`,result:{result:g.item.result},providerExecuted:!0});else if(g.item.type===`local_shell_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-call`,toolCallId:g.item.call_id,toolName:`local_shell`,input:JSON.stringify({action:{type:`exec`,command:g.item.action.command,timeoutMs:g.item.action.timeout_ms,user:g.item.action.user,workingDirectory:g.item.action.working_directory,env:g.item.action.env}}),providerMetadata:{openai:{itemId:g.item.id}}});else if(g.item.type===`message`)n.enqueue({type:`text-end`,id:g.item.id});else if(os(g)){let e=p[g.item.id];for(let t of e.summaryParts)n.enqueue({type:`reasoning-end`,id:`${g.item.id}:${t}`,providerMetadata:{openai:{itemId:g.item.id,reasoningEncryptedContent:g.item.encrypted_content??null}}});delete p[g.item.id]}}else if(ls(g)){let e=d[g.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:g.delta})}else if(us(g)){let e=d[g.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:JSON.stringify(g.delta).slice(1,-1)})}else if(ds(g)){let e=d[g.output_index];e!=null&&(n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:`"}`}),n.enqueue({type:`tool-input-end`,id:e.toolCallId}),n.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:`code_interpreter`,input:JSON.stringify({code:g.code,containerId:e.codeInterpreter.containerId}),providerExecuted:!0}))}else cs(g)?(u=g.response.id,n.enqueue({type:`response-metadata`,id:g.response.id,timestamp:new Date(g.response.created_at*1e3),modelId:g.response.model})):ns(g)?(n.enqueue({type:`text-delta`,id:g.item_id,delta:g.delta}),e.providerOptions?.openai?.logprobs&&g.logprobs&&l.push(g.logprobs)):hs(g)?g.summary_index>0&&((i=p[g.item_id])==null||i.summaryParts.push(g.summary_index),n.enqueue({type:`reasoning-start`,id:`${g.item_id}:${g.summary_index}`,providerMetadata:{openai:{itemId:g.item_id,reasoningEncryptedContent:p[g.item_id]?.encryptedContent??null}}})):gs(g)?n.enqueue({type:`reasoning-delta`,id:`${g.item_id}:${g.summary_index}`,delta:g.delta,providerMetadata:{openai:{itemId:g.item_id}}}):ss(g)?(s=Mo({finishReason:g.response.incomplete_details?.reason,hasFunctionCall:f}),c.inputTokens=g.response.usage.input_tokens,c.outputTokens=g.response.usage.output_tokens,c.totalTokens=g.response.usage.input_tokens+g.response.usage.output_tokens,c.reasoningTokens=g.response.usage.output_tokens_details?.reasoning_tokens??void 0,c.cachedInputTokens=g.response.usage.input_tokens_details?.cached_tokens??void 0,typeof g.response.service_tier==`string`&&(m=g.response.service_tier)):ms(g)?g.annotation.type===`url_citation`?n.enqueue({type:`source`,sourceType:`url`,id:(a=o.config).generateId?.call(a)??q(),url:g.annotation.url,title:g.annotation.title}):g.annotation.type===`file_citation`&&n.enqueue({type:`source`,sourceType:`document`,id:(h=o.config).generateId?.call(h)??q(),mediaType:`text/plain`,title:g.annotation.quote??g.annotation.filename??`Document`,filename:g.annotation.filename??g.annotation.file_id}):_s(g)&&n.enqueue({type:`error`,error:g})},flush(e){let t={openai:{responseId:u}};l.length>0&&(t.openai.logprobs=l),m!==void 0&&(t.openai.serviceTier=m),e.enqueue({type:`finish`,finishReason:s,usage:c,providerMetadata:t})}})),request:{body:t},response:{headers:i}}}},Ho=a.object({input_tokens:a.number(),input_tokens_details:a.object({cached_tokens:a.number().nullish()}).nullish(),output_tokens:a.number(),output_tokens_details:a.object({reasoning_tokens:a.number().nullish()}).nullish()}),Uo=a.object({type:a.literal(`response.output_text.delta`),item_id:a.string(),delta:a.string(),logprobs:Bo.nullish()}),Wo=a.object({type:a.literal(`error`),code:a.string(),message:a.string(),param:a.string().nullish(),sequence_number:a.number()}),Go=a.object({type:a.enum([`response.completed`,`response.incomplete`]),response:a.object({incomplete_details:a.object({reason:a.string()}).nullish(),usage:Ho,service_tier:a.string().nullish()})}),Ko=a.object({type:a.literal(`response.created`),response:a.object({id:a.string(),created_at:a.number(),model:a.string(),service_tier:a.string().nullish()})}),qo=a.object({type:a.literal(`response.output_item.added`),output_index:a.number(),item:a.discriminatedUnion(`type`,[a.object({type:a.literal(`message`),id:a.string()}),a.object({type:a.literal(`reasoning`),id:a.string(),encrypted_content:a.string().nullish()}),a.object({type:a.literal(`function_call`),id:a.string(),call_id:a.string(),name:a.string(),arguments:a.string()}),a.object({type:a.literal(`web_search_call`),id:a.string(),status:a.string(),action:a.object({type:a.literal(`search`),query:a.string().optional()}).nullish()}),a.object({type:a.literal(`computer_call`),id:a.string(),status:a.string()}),a.object({type:a.literal(`file_search_call`),id:a.string()}),a.object({type:a.literal(`image_generation_call`),id:a.string()}),a.object({type:a.literal(`code_interpreter_call`),id:a.string(),container_id:a.string(),code:a.string().nullable(),outputs:a.array(a.discriminatedUnion(`type`,[a.object({type:a.literal(`logs`),logs:a.string()}),a.object({type:a.literal(`image`),url:a.string()})])).nullable(),status:a.string()})])}),Jo=a.object({type:a.literal(`response.output_item.done`),output_index:a.number(),item:a.discriminatedUnion(`type`,[a.object({type:a.literal(`message`),id:a.string()}),a.object({type:a.literal(`reasoning`),id:a.string(),encrypted_content:a.string().nullish()}),a.object({type:a.literal(`function_call`),id:a.string(),call_id:a.string(),name:a.string(),arguments:a.string(),status:a.literal(`completed`)}),Io,Ro,Po,Fo,Lo,a.object({type:a.literal(`computer_call`),id:a.string(),status:a.literal(`completed`)})])}),Yo=a.object({type:a.literal(`response.function_call_arguments.delta`),item_id:a.string(),output_index:a.number(),delta:a.string()}),Xo=a.object({type:a.literal(`response.code_interpreter_call_code.delta`),item_id:a.string(),output_index:a.number(),delta:a.string()}),Zo=a.object({type:a.literal(`response.code_interpreter_call_code.done`),item_id:a.string(),output_index:a.number(),code:a.string()}),Qo=a.object({type:a.literal(`response.output_text.annotation.added`),annotation:a.discriminatedUnion(`type`,[a.object({type:a.literal(`url_citation`),url:a.string(),title:a.string()}),a.object({type:a.literal(`file_citation`),file_id:a.string(),filename:a.string().nullish(),index:a.number().nullish(),start_index:a.number().nullish(),end_index:a.number().nullish(),quote:a.string().nullish()})])}),$o=a.object({type:a.literal(`response.reasoning_summary_part.added`),item_id:a.string(),summary_index:a.number()}),es=a.object({type:a.literal(`response.reasoning_summary_text.delta`),item_id:a.string(),summary_index:a.number(),delta:a.string()}),ts=a.union([Uo,Go,Ko,qo,Jo,Yo,Xo,Zo,Qo,$o,es,Wo,a.object({type:a.string()}).loose()]);function ns(e){return e.type===`response.output_text.delta`}function rs(e){return e.type===`response.output_item.done`}function os(e){return rs(e)&&e.item.type===`reasoning`}function ss(e){return e.type===`response.completed`||e.type===`response.incomplete`}function cs(e){return e.type===`response.created`}function ls(e){return e.type===`response.function_call_arguments.delta`}function us(e){return e.type===`response.code_interpreter_call_code.delta`}function ds(e){return e.type===`response.code_interpreter_call_code.done`}function fs(e){return e.type===`response.output_item.added`}function ps(e){return fs(e)&&e.item.type===`reasoning`}function ms(e){return e.type===`response.output_text.annotation.added`}function hs(e){return e.type===`response.reasoning_summary_part.added`}function gs(e){return e.type===`response.reasoning_summary_text.delta`}function _s(e){return e.type===`error`}function vs(e){let t=e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`),n=e.startsWith(`gpt-4`)||e.startsWith(`gpt-5-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-nano`)&&!e.startsWith(`gpt-5-chat`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`),r={requiredAutoTruncation:!1,systemMessageMode:`system`,supportsFlexProcessing:t,supportsPriorityProcessing:n};return e.startsWith(`gpt-5-chat`)?{...r,isReasoningModel:!1}:e.startsWith(`o`)||e.startsWith(`gpt-5`)||e.startsWith(`codex-`)||e.startsWith(`computer-use`)?e.startsWith(`o1-mini`)||e.startsWith(`o1-preview`)?{...r,isReasoningModel:!0,systemMessageMode:`remove`}:{...r,isReasoningModel:!0,systemMessageMode:`developer`}:{...r,isReasoningModel:!1}}var ys=a.object({include:a.array(a.enum([`reasoning.encrypted_content`,`file_search_call.results`,`message.output_text.logprobs`])).nullish(),instructions:a.string().nullish(),logprobs:a.union([a.boolean(),a.number().min(1).max(zo)]).optional(),maxToolCalls:a.number().nullish(),metadata:a.any().nullish(),parallelToolCalls:a.boolean().nullish(),previousResponseId:a.string().nullish(),promptCacheKey:a.string().nullish(),reasoningEffort:a.string().nullish(),reasoningSummary:a.string().nullish(),safetyIdentifier:a.string().nullish(),serviceTier:a.enum([`auto`,`flex`,`priority`]).nullish(),store:a.boolean().nullish(),strictJsonSchema:a.boolean().nullish(),textVerbosity:a.enum([`low`,`medium`,`high`]).nullish(),user:a.string().nullish()}),bs=a.object({instructions:a.string().nullish(),speed:a.number().min(.25).max(4).default(1).nullish()}),xs=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({text:e,voice:t=`alloy`,outputFormat:n=`mp3`,speed:r,instructions:i,language:a,providerOptions:o}){let s=[],c=await J({provider:`openai`,providerOptions:o,schema:bs}),l={model:this.modelId,input:e,voice:t,response_format:`mp3`,speed:r,instructions:i};if(n&&([`mp3`,`opus`,`aac`,`flac`,`wav`,`pcm`].includes(n)?l.response_format=n:s.push({type:`unsupported-setting`,setting:`outputFormat`,details:`Unsupported output format: ${n}. Using mp3 instead.`})),c){let e={};for(let t in e){let n=e[t];n!==void 0&&(l[t]=n)}}return a&&s.push({type:`unsupported-setting`,setting:`language`,details:`OpenAI speech models do not support language selection. Language parameter "${a}" was ignored.`}),{requestBody:l,warnings:s}}async doGenerate(e){var t;let n=((t=this.config._internal)?.currentDate)?.call(t)??new Date,{requestBody:r,warnings:i}=await this.getArgs(e),{value:a,responseHeaders:o,rawValue:s}=await Y({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:r,failedResponseHandler:Q,successfulResponseHandler:Ca(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:a,warnings:i,request:{body:JSON.stringify(r)},response:{timestamp:n,modelId:this.modelId,headers:o,body:s}}}},Ss=a.object({include:a.array(a.string()).optional(),language:a.string().optional(),prompt:a.string().optional(),temperature:a.number().min(0).max(1).default(0).optional(),timestampGranularities:a.array(a.enum([`word`,`segment`])).default([`segment`]).optional()}),Cs={afrikaans:`af`,arabic:`ar`,armenian:`hy`,azerbaijani:`az`,belarusian:`be`,bosnian:`bs`,bulgarian:`bg`,catalan:`ca`,chinese:`zh`,croatian:`hr`,czech:`cs`,danish:`da`,dutch:`nl`,english:`en`,estonian:`et`,finnish:`fi`,french:`fr`,galician:`gl`,german:`de`,greek:`el`,hebrew:`he`,hindi:`hi`,hungarian:`hu`,icelandic:`is`,indonesian:`id`,italian:`it`,japanese:`ja`,kannada:`kn`,kazakh:`kk`,korean:`ko`,latvian:`lv`,lithuanian:`lt`,macedonian:`mk`,malay:`ms`,marathi:`mr`,maori:`mi`,nepali:`ne`,norwegian:`no`,persian:`fa`,polish:`pl`,portuguese:`pt`,romanian:`ro`,russian:`ru`,serbian:`sr`,slovak:`sk`,slovenian:`sl`,spanish:`es`,swahili:`sw`,swedish:`sv`,tagalog:`tl`,tamil:`ta`,thai:`th`,turkish:`tr`,ukrainian:`uk`,urdu:`ur`,vietnamese:`vi`,welsh:`cy`},ws=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:n}){let r=[],i=await J({provider:`openai`,providerOptions:n,schema:Ss}),a=new FormData,o=e instanceof Uint8Array?new Blob([e]):new Blob([Ea(e)]);a.append(`model`,this.modelId);let s=Qi(t);if(a.append(`file`,new File([o],`audio`,{type:t}),`audio.${s}`),i){let e={include:i.include,language:i.language,prompt:i.prompt,response_format:[`gpt-4o-transcribe`,`gpt-4o-mini-transcribe`].includes(this.modelId)?`json`:`verbose_json`,temperature:i.temperature,timestamp_granularities:i.timestampGranularities};for(let[t,n]of Object.entries(e))if(n!=null)if(Array.isArray(n))for(let e of n)a.append(`${t}[]`,String(e));else a.append(t,String(n))}return{formData:a,warnings:r}}async doGenerate(e){var t;let n=((t=this.config._internal)?.currentDate)?.call(t)??new Date,{formData:r,warnings:i}=await this.getArgs(e),{value:a,responseHeaders:o,rawValue:s}=await ga({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),formData:r,failedResponseHandler:Q,successfulResponseHandler:X(Ts),abortSignal:e.abortSignal,fetch:this.config.fetch}),c=a.language!=null&&a.language in Cs?Cs[a.language]:void 0;return{text:a.text,segments:a.segments?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end}))??a.words?.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end}))??[],language:c,durationInSeconds:a.duration??void 0,warnings:i,response:{timestamp:n,modelId:this.modelId,headers:o,body:s}}}},Ts=a.object({text:a.string(),language:a.string().nullish(),duration:a.number().nullish(),words:a.array(a.object({word:a.string(),start:a.number(),end:a.number()})).nullish(),segments:a.array(a.object({id:a.number(),seek:a.number(),start:a.number(),end:a.number(),text:a.string(),tokens:a.array(a.number()),temperature:a.number(),avg_logprob:a.number(),compression_ratio:a.number(),no_speech_prob:a.number()})).nullish()}),Es=`2.0.42`;function Ds(e={}){let t=Oa(Zi({settingValue:e.baseURL,environmentVariableName:`OPENAI_BASE_URL`}))??`https://api.openai.com/v1`,n=e.name??`openai`,r=()=>Gi({Authorization:`Bearer ${Xi({apiKey:e.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers},`ai-sdk/openai/${Es}`),i=i=>new Fa(i,{provider:`${n}.chat`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),a=i=>new Ja(i,{provider:`${n}.completion`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),o=i=>new $a(i,{provider:`${n}.embedding`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),s=i=>new ro(i,{provider:`${n}.image`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),c=i=>new ws(i,{provider:`${n}.transcription`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),l=i=>new xs(i,{provider:`${n}.speech`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),u=e=>{if(new.target)throw Error(`The OpenAI model function cannot be called with the new keyword.`);return d(e)},d=i=>new Vo(i,{provider:`${n}.responses`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch,fileIdPrefixes:[`file-`]}),f=function(e){return u(e)};return f.languageModel=u,f.chat=i,f.completion=a,f.responses=d,f.embedding=o,f.textEmbedding=o,f.textEmbeddingModel=o,f.image=s,f.imageModel=s,f.transcription=c,f.transcriptionModel=c,f.speech=l,f.speechModel=l,f.tools=Oo,f}Ds();function Os(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function ks(e){return Object.fromEntries([...e.headers])}function As(e=globalThis){return e.window?`runtime/browser`:e.navigator?.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:e.process?.versions?.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function js(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function Ms(e,...t){let n=js(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}(({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 j({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`})();function Ns(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var Ps=[`fetch failed`,`failed to fetch`];function Fs({error:e,url:t,requestBodyValues:n}){if(Ns(e))return e;if(e instanceof TypeError&&Ps.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new k({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}var Is=`3.0.10`,Ls=/"__proto__"\s*:/,Rs=/"constructor"\s*:/;function zs(e){let t=JSON.parse(e);return typeof t!=`object`||!t||Ls.test(e)===!1&&Rs.test(e)===!1?t:Bs(t)}function Bs(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 Vs(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return zs(e)}finally{Error.stackTraceLimit=t}}var Hs=Symbol.for(`vercel.ai.validator`);function Us(e){return{[Hs]:!0,validate:e}}function Ws(e){return typeof e==`object`&&!!e&&Hs in e&&e[Hs]===!0&&`validate`in e}function Gs(e){return Ws(e)?e:Ks(e)}function Ks(e){return Us(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new P({value:t,cause:n.issues})}})}async function qs({value:e,schema:t}){let n=await Js({value:e,schema:t});if(!n.success)throw P.wrap({value:e,cause:n.error});return n.value}async function Js({value:e,schema:t}){let n=Gs(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:P.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:P.wrap({value:e,cause:t}),rawValue:e}}}async function Ys({text:e,schema:t}){try{let n=Vs(e);return t==null?n:qs({value:n,schema:t})}catch(t){throw M.isInstance(t)||P.isInstance(t)?t:new M({text:e,cause:t})}}async function Xs({text:e,schema:t}){try{let n=Vs(e);return t==null?{success:!0,value:n,rawValue:n}:await Js({value:n,schema:t})}catch(t){return{success:!1,error:M.isInstance(t)?t:new M({text:e,cause:t}),rawValue:void 0}}}var Zs=()=>globalThis.fetch,Qs=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>$s({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),$s=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=Zs()})=>{try{let s=await o(e,{method:`POST`,headers:Ms(t,`ai-sdk/provider-utils/${Is}`,As()),body:n.content,signal:a}),c=ks(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw Ns(t)||k.isInstance(t)?t:new k({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(Ns(t)||k.isInstance(t))?t:new k({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw Fs({error:t,url:e,requestBodyValues:n.values})}},ec=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=ks(r);if(o.trim()===``)return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await Ys({text:o,schema:e});return{responseHeaders:s,value:new k({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},tc=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await Xs({text:i,schema:e}),o=ks(t);if(!a.success)throw new k({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},{btoa:nc,atob:rc}=globalThis;a.object({user:a.string().optional(),reasoningEffort:a.string().optional()});var ic={errorSchema:a.object({error:a.object({message:a.string(),type:a.string().nullish(),param:a.any().nullish(),code:a.union([a.string(),a.number()]).nullish()})}),errorToMessage:e=>e.error.message},ac=a.object({prompt_tokens:a.number().nullish(),completion_tokens:a.number().nullish(),total_tokens:a.number().nullish(),prompt_tokens_details:a.object({cached_tokens:a.number().nullish()}).nullish(),completion_tokens_details:a.object({reasoning_tokens:a.number().nullish(),accepted_prediction_tokens:a.number().nullish(),rejected_prediction_tokens:a.number().nullish()}).nullish()}).nullish();a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({message:a.object({role:a.literal(`assistant`).nullish(),content:a.string().nullish(),reasoning_content:a.string().nullish(),reasoning:a.string().nullish(),tool_calls:a.array(a.object({id:a.string().nullish(),function:a.object({name:a.string(),arguments:a.string()})})).nullish()}),finish_reason:a.string().nullish()})),usage:ac}),a.object({echo:a.boolean().optional(),logitBias:a.record(a.string(),a.number()).optional(),suffix:a.string().optional(),user:a.string().optional()});var oc=a.object({prompt_tokens:a.number(),completion_tokens:a.number(),total_tokens:a.number()});a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({text:a.string(),finish_reason:a.string()})),usage:oc.nullish()}),a.object({dimensions:a.number().optional(),user:a.string().optional()}),a.object({data:a.array(a.object({embedding:a.array(a.number())})),usage:a.object({prompt_tokens:a.number()}).nullish(),providerMetadata:a.record(a.string(),a.record(a.string(),a.any())).optional()});var sc=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`,this.maxImagesPerCall=10}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c;let l=[];r!=null&&l.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&l.push({type:`unsupported-setting`,setting:`seed`});let u=((c=this.config._internal)?.currentDate)?.call(c)??new Date,{value:d,responseHeaders:f}=await Qs({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:Os(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...a.openai??{},response_format:`b64_json`},failedResponseHandler:ec(this.config.errorStructure??ic),successfulResponseHandler:tc(cc),abortSignal:s,fetch:this.config.fetch});return{images:d.data.map(e=>e.b64_json),warnings:l,response:{timestamp:u,modelId:this.modelId,headers:f}}}},cc=a.object({data:a.array(a.object({b64_json:a.string()}))});function lc(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function $(e){return Object.fromEntries([...e.headers])}function uc(e=globalThis){return e.window?`runtime/browser`:e.navigator?.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:e.process?.versions?.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function dc(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function fc(e,...t){let n=dc(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}var pc=(({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 j({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`})();function mc(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var hc=[`fetch failed`,`failed to fetch`];function gc({error:e,url:t,requestBodyValues:n}){if(mc(e))return e;if(e instanceof TypeError&&hc.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new k({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}var _c=`3.0.10`;function vc({apiKey:e,environmentVariableName:t,apiKeyParameterName:n=`apiKey`,description:r}){if(typeof e==`string`)return e;if(e!=null)throw new N({message:`${r} API key must be a string.`});if(typeof process>`u`)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables is not supported in this environment.`});if(e=process.env[t],e==null)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!=`string`)throw new N({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}var yc=/"__proto__"\s*:/,bc=/"constructor"\s*:/;function xc(e){let t=JSON.parse(e);return typeof t!=`object`||!t||yc.test(e)===!1&&bc.test(e)===!1?t:Sc(t)}function Sc(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 Cc(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return xc(e)}finally{Error.stackTraceLimit=t}}var wc=Symbol.for(`vercel.ai.validator`);function Tc(e){return{[wc]:!0,validate:e}}function Ec(e){return typeof e==`object`&&!!e&&wc in e&&e[wc]===!0&&`validate`in e}function Dc(e){return Ec(e)?e:Oc(e)}function Oc(e){return Tc(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new P({value:t,cause:n.issues})}})}async function kc({value:e,schema:t}){let n=await Ac({value:e,schema:t});if(!n.success)throw P.wrap({value:e,cause:n.error});return n.value}async function Ac({value:e,schema:t}){let n=Dc(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:P.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:P.wrap({value:e,cause:t}),rawValue:e}}}async function jc({text:e,schema:t}){try{let n=Cc(e);return t==null?n:kc({value:n,schema:t})}catch(t){throw M.isInstance(t)||P.isInstance(t)?t:new M({text:e,cause:t})}}async function Mc({text:e,schema:t}){try{let n=Cc(e);return t==null?{success:!0,value:n,rawValue:n}:await Ac({value:n,schema:t})}catch(t){return{success:!1,error:M.isInstance(t)?t:new M({text:e,cause:t}),rawValue:void 0}}}function Nc({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new E).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await Mc({text:e,schema:t}))}}))}async function Pc({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await Ac({value:t[e],schema:n});if(!r.success)throw new j({argument:`providerOptions`,message:`invalid ${e} provider options`,cause:r.error});return r.value}var Fc=()=>globalThis.fetch,Ic=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>Lc({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),Lc=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=Fc()})=>{try{let s=await o(e,{method:`POST`,headers:fc(t,`ai-sdk/provider-utils/${_c}`,uc()),body:n.content,signal:a}),c=$(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw mc(t)||k.isInstance(t)?t:new k({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(mc(t)||k.isInstance(t))?t:new k({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw gc({error:t,url:e,requestBodyValues:n.values})}},Rc=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=$(r);if(o.trim()===``)return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await jc({text:o,schema:e});return{responseHeaders:s,value:new k({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},zc=e=>async({response:t})=>{let n=$(t);if(t.body==null)throw new A({});return{responseHeaders:n,value:Nc({stream:t.body,schema:e})}},Bc=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await Mc({text:i,schema:e}),o=$(t);if(!a.success)throw new k({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},{btoa:Vc,atob:Hc}=globalThis;function Uc(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return Vc(t)}function Wc(e){return e instanceof Uint8Array?Uc(e):e}function Gc(e){return e?.replace(/\/$/,``)}function Kc(e){let t=[],n=[];for(let{role:n,content:r}of e)switch(n){case`system`:t.push({role:`system`,content:r});break;case`user`:if(r.length===1&&r[0].type===`text`){t.push({role:`user`,content:r[0].text});break}t.push({role:`user`,content:r.map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`image_url`,image_url:{url:e.data instanceof URL?e.data.toString():`data:${t};base64,${Wc(e.data)}`}}}else throw new F({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e=``,n=[];for(let t of r)switch(t.type){case`text`:e+=t.text;break;case`tool-call`:n.push({id:t.toolCallId,type:`function`,function:{name:t.toolName,arguments:JSON.stringify(t.input)}});break}t.push({role:`assistant`,content:e,tool_calls:n.length>0?n:void 0});break}case`tool`:for(let e of r){let n=e.output,r;switch(n.type){case`text`:case`error-text`:r=n.value;break;case`content`:case`json`:case`error-json`:r=JSON.stringify(n.value);break}t.push({role:`tool`,tool_call_id:e.toolCallId,content:r})}break;default:{let e=n;throw Error(`Unsupported role: ${e}`)}}return{messages:t,warnings:n}}function qc({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function Jc(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`tool_calls`:case`function_call`:return`tool-calls`;case`content_filter`:return`content-filter`;default:return`unknown`}}var Yc=a.object({type:a.literal(`web`),country:a.string().length(2).optional(),excludedWebsites:a.array(a.string()).max(5).optional(),allowedWebsites:a.array(a.string()).max(5).optional(),safeSearch:a.boolean().optional()}),Xc=a.object({type:a.literal(`x`),excludedXHandles:a.array(a.string()).optional(),includedXHandles:a.array(a.string()).optional(),postFavoriteCount:a.number().int().optional(),postViewCount:a.number().int().optional(),xHandles:a.array(a.string()).optional()}),Zc=a.object({type:a.literal(`news`),country:a.string().length(2).optional(),excludedWebsites:a.array(a.string()).max(5).optional(),safeSearch:a.boolean().optional()}),Qc=a.object({type:a.literal(`rss`),links:a.array(a.string().url()).max(1)}),$c=a.discriminatedUnion(`type`,[Yc,Xc,Zc,Qc]),el=a.object({reasoningEffort:a.enum([`low`,`high`]).optional(),searchParameters:a.object({mode:a.enum([`off`,`auto`,`on`]),returnCitations:a.boolean().optional(),fromDate:a.string().optional(),toDate:a.string().optional(),maxSearchResults:a.number().min(1).max(50).optional(),sources:a.array($c).optional()}).optional()}),tl=a.object({error:a.object({message:a.string(),type:a.string().nullish(),param:a.any().nullish(),code:a.union([a.string(),a.number()]).nullish()})}),nl=Rc({errorSchema:tl,errorToMessage:e=>e.error.message});function rl({tools:e,toolChoice:t}){e=e?.length?e:void 0;let n=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:n};let r=[];for(let t of e)t.type===`provider-defined`?n.push({type:`unsupported-tool`,tool:t}):r.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema}});if(t==null)return{tools:r,toolChoice:void 0,toolWarnings:n};let i=t.type;switch(i){case`auto`:case`none`:return{tools:r,toolChoice:i,toolWarnings:n};case`required`:return{tools:r,toolChoice:`required`,toolWarnings:n};case`tool`:return{tools:r,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:n};default:throw new F({functionality:`tool choice type: ${i}`})}}var il=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,seed:c,responseFormat:l,providerOptions:u,tools:d,toolChoice:f}){let p=[],m=await Pc({provider:`xai`,providerOptions:u,schema:el})??{};i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),a!=null&&p.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&p.push({type:`unsupported-setting`,setting:`presencePenalty`}),s!=null&&p.push({type:`unsupported-setting`,setting:`stopSequences`}),l!=null&&l.type===`json`&&l.schema!=null&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is not supported`});let{messages:h,warnings:g}=Kc(e);p.push(...g);let{tools:_,toolChoice:v,toolWarnings:y}=rl({tools:d,toolChoice:f});return p.push(...y),{args:{model:this.modelId,max_tokens:t,temperature:n,top_p:r,seed:c,reasoning_effort:m.reasoningEffort,response_format:l?.type===`json`?l.schema==null?{type:`json_object`}:{type:`json_schema`,json_schema:{name:l.name??`response`,schema:l.schema,strict:!0}}:void 0,search_parameters:m.searchParameters?{mode:m.searchParameters.mode,return_citations:m.searchParameters.returnCitations,from_date:m.searchParameters.fromDate,to_date:m.searchParameters.toDate,max_search_results:m.searchParameters.maxSearchResults,sources:m.searchParameters.sources?.map(e=>({type:e.type,...e.type===`web`&&{country:e.country,excluded_websites:e.excludedWebsites,allowed_websites:e.allowedWebsites,safe_search:e.safeSearch},...e.type===`x`&&{excluded_x_handles:e.excludedXHandles,included_x_handles:e.includedXHandles??e.xHandles,post_favorite_count:e.postFavoriteCount,post_view_count:e.postViewCount},...e.type===`news`&&{country:e.country,excluded_websites:e.excludedWebsites,safe_search:e.safeSearch},...e.type===`rss`&&{links:e.links}}))}:void 0,messages:h,tools:_,tool_choice:v},warnings:p}}async doGenerate(e){let{args:t,warnings:n}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await Ic({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:lc(this.config.headers(),e.headers),body:t,failedResponseHandler:nl,successfulResponseHandler:Bc(ol),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=i.choices[0],s=[];if(o.message.content!=null&&o.message.content.length>0){let e=o.message.content,n=t.messages[t.messages.length-1];n?.role===`assistant`&&e===n.content&&(e=``),e.length>0&&s.push({type:`text`,text:e})}if(o.message.reasoning_content!=null&&o.message.reasoning_content.length>0&&s.push({type:`reasoning`,text:o.message.reasoning_content}),o.message.tool_calls!=null)for(let e of o.message.tool_calls)s.push({type:`tool-call`,toolCallId:e.id,toolName:e.function.name,input:e.function.arguments});if(i.citations!=null)for(let e of i.citations)s.push({type:`source`,sourceType:`url`,id:this.config.generateId(),url:e});return{content:s,finishReason:Jc(o.finish_reason),usage:{inputTokens:i.usage.prompt_tokens,outputTokens:i.usage.completion_tokens,totalTokens:i.usage.total_tokens,reasoningTokens:i.usage.completion_tokens_details?.reasoning_tokens??void 0},request:{body:t},response:{...qc(i),headers:r,body:a},warnings:n}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await Ic({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:lc(this.config.headers(),e.headers),body:r,failedResponseHandler:nl,successfulResponseHandler:zc(sl),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=`unknown`,s={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},c=!0,l={},u={},d=this;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let i=t.value;if(c&&=(n.enqueue({type:`response-metadata`,...qc(i)}),!1),i.citations!=null)for(let e of i.citations)n.enqueue({type:`source`,sourceType:`url`,id:d.config.generateId(),url:e});i.usage!=null&&(s.inputTokens=i.usage.prompt_tokens,s.outputTokens=i.usage.completion_tokens,s.totalTokens=i.usage.total_tokens,s.reasoningTokens=i.usage.completion_tokens_details?.reasoning_tokens??void 0);let a=i.choices[0];if(a?.finish_reason!=null&&(o=Jc(a.finish_reason)),a?.delta==null)return;let f=a.delta,p=a.index;if(f.content!=null&&f.content.length>0){let e=f.content,t=r.messages[r.messages.length-1];if(t?.role===`assistant`&&e===t.content)return;let a=`text-${i.id||p}`;l[a]??(l[a]={type:`text`},n.enqueue({type:`text-start`,id:a})),n.enqueue({type:`text-delta`,id:a,delta:e})}if(f.reasoning_content!=null&&f.reasoning_content.length>0){let e=`reasoning-${i.id||p}`;if(u[e]===f.reasoning_content)return;u[e]=f.reasoning_content,l[e]??(l[e]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:e})),n.enqueue({type:`reasoning-delta`,id:e,delta:f.reasoning_content})}if(f.tool_calls!=null)for(let e of f.tool_calls){let t=e.id;n.enqueue({type:`tool-input-start`,id:t,toolName:e.function.name}),n.enqueue({type:`tool-input-delta`,id:t,delta:e.function.arguments}),n.enqueue({type:`tool-input-end`,id:t}),n.enqueue({type:`tool-call`,toolCallId:t,toolName:e.function.name,input:e.function.arguments})}},flush(e){for(let[t,n]of Object.entries(l))e.enqueue({type:n.type===`text`?`text-end`:`reasoning-end`,id:t});e.enqueue({type:`finish`,finishReason:o,usage:s})}})),request:{body:r},response:{headers:i}}}},al=a.object({prompt_tokens:a.number(),completion_tokens:a.number(),total_tokens:a.number(),completion_tokens_details:a.object({reasoning_tokens:a.number().nullish()}).nullish()}),ol=a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({message:a.object({role:a.literal(`assistant`),content:a.string().nullish(),reasoning_content:a.string().nullish(),tool_calls:a.array(a.object({id:a.string(),type:a.literal(`function`),function:a.object({name:a.string(),arguments:a.string()})})).nullish()}),index:a.number(),finish_reason:a.string().nullish()})),object:a.literal(`chat.completion`),usage:al,citations:a.array(a.string().url()).nullish()}),sl=a.object({id:a.string().nullish(),created:a.number().nullish(),model:a.string().nullish(),choices:a.array(a.object({delta:a.object({role:a.enum([`assistant`]).optional(),content:a.string().nullish(),reasoning_content:a.string().nullish(),tool_calls:a.array(a.object({id:a.string(),type:a.literal(`function`),function:a.object({name:a.string(),arguments:a.string()})})).nullish()}),finish_reason:a.string().nullish(),index:a.number()})),usage:al.nullish(),citations:a.array(a.string().url()).nullish()}),cl=`2.0.23`,ll={errorSchema:tl,errorToMessage:e=>e.error.message};function ul(e={}){let t=Gc(e.baseURL??`https://api.x.ai/v1`),n=()=>fc({Authorization:`Bearer ${vc({apiKey:e.apiKey,environmentVariableName:`XAI_API_KEY`,description:`xAI API key`})}`,...e.headers},`ai-sdk/xai/${cl}`),r=r=>new il(r,{provider:`xai.chat`,baseURL:t,headers:n,generateId:pc,fetch:e.fetch}),i=r=>new sc(r,{provider:`xai.image`,url:({path:e})=>`${t}${e}`,headers:n,fetch:e.fetch,errorStructure:ll}),a=e=>r(e);return a.languageModel=r,a.chat=r,a.textEmbeddingModel=e=>{throw new Lt({modelId:e,modelType:`textEmbeddingModel`})},a.imageModel=i,a.image=i,a}ul();function dl(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n!==void 0&&n.role===`user`&&!(typeof n.metadata!=`object`||n.metadata===null)&&`options`in n.metadata)return n.metadata.options}}function fl(e){if(!e.body)throw Error(`Response body is required`);let t=e.headers.get(`x-blink-stream-response-format`);if(!t||t===`ui-message`)return e.body.pipeThrough(new TextDecoderStream).pipeThrough(new E).pipeThrough(new TransformStream({async transform(e,t){if(e.data!==`[DONE]`)try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));let n=e=>m({model:e,prompt:[{role:`user`,content:[{type:`text`,text:`Hello, world!`}]}]}).toUIMessageStream();switch(t){case`openai-chat`:return n(Ds({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`openai-response`:return n(Ds({apiKey:`ignored`,fetch:(t,n)=>e}).responses(`fake-model`));case`anthropic`:return n(Cr({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`google`:return n(Hi({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`xai`:return n(ul({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));default:throw Error(`Unsupported response format: ${t}`)}}const pl=`BLINK_API_URL`;function ml(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var hl=class{_lockP=null;async lock(){let e=this._lockP,{promise:t,resolve:n}=ml();return this._lockP=t,await e,n}withLock(e){return _l(this.lock(),e)}},gl=class{_lock=new hl;_writeP=null;_readP=[];read(){return this._lock.withLock(async()=>{await this._writeP;let{promise:e,resolve:t}=ml();return this._readP.push(e),t})}withRead(e){return _l(this.read(),e)}async write(){return await this._lock.withLock(async()=>{await this._writeP,await Promise.all(this._readP);let{promise:e,resolve:t}=ml();return this._writeP=e,this._readP=[],t})}withWrite(e){return _l(this.write(),e)}};async function _l(e,t){let n=await e;try{return await t()}finally{n()}}var vl=class{constructor(e){this.onRelease=e}[Symbol.dispose](){this.onRelease()}},yl=class{constructor(e){this.onRelease=e}[Symbol.dispose](){this.onRelease()}},bl=class{_lock=new gl;async read(){let e=await this._lock.read();return new vl(e)}async write(){let e=await this._lock.write();return new yl(e)}},xl=class{baseUrl;client;constructor(e){this.client=Ze(e.baseUrl),this.baseUrl=e.baseUrl}async chat(e,t){let n=await this.client._agent.chat.$post({json:e},{headers:t?.headers,init:{signal:t?.signal}});return n.ok||await this.handleError(n),fl(n)}async capabilities(){let e=await this.client._agent.capabilities.$get();return e.ok||await this.handleError(e),e.json()}async ui(e,t){let n=await this.client._agent.ui.$get({query:e.selectedOptions?{selected_options:JSON.stringify(e.selectedOptions)}:{}},{init:{signal:t?.signal}});if(!n.ok||n.status!==200){if(n.status===404)return;await this.handleError(n)}return n.json()}async health(){let e=await this.client._agent.health.$get();e.ok||await this.handleError(e)}async handleError(e){let t;try{t=await e.text()}catch{}if(t){let n;try{n=JSON.parse(t)}catch{}throw n?Error(n.error):Error(`Failed (${e.status}): ${t}`)}throw Error(`Failed (${e.status}): ${e.statusText}`)}};async function Sl({id:e,agent:t,messages:n,signal:r,shouldContinueStreaming:i=Cl}){n=[...n];let a=new TransformStream,o=a.writable.getWriter(),s=async()=>{let a;try{let c=await t.chat({messages:n,id:e},{signal:r}),l=p({message:{id:crypto.randomUUID(),role:`assistant`,parts:[],metadata:{}},stream:c,onError:e=>{e instanceof Error&&e.name===`AbortError`||o.abort(e)}});for await(let e of l)o.write(e),a=e;if(a&&i(a)){n.push(a),await s();return}await o.close()}catch(e){if(e?.name===`AbortError`||r?.aborted)return;await o.abort(e)}finally{await o.close()}};return s().catch(e=>{o.abort(e)}),a.readable}const Cl=e=>{if(e.role!==`assistant`)return!1;let t=e.parts.reduce((e,t,n)=>t.type===`step-start`?n:e,-1),n=e.parts.slice(t+1).filter(d);return n.length===0||n.some(e=>_(e.output)&&e.output.outcome===`pending`)?!1:n.every(e=>e.state.startsWith(`output-`))},wl=(e,t,n=crypto.randomUUID())=>({created_at:new Date().toISOString(),...e,id:n,metadata:e.metadata,mode:t});function Tl(e){return typeof e==`object`&&e?.__blink_internal!==void 0}function El(e){return typeof e.metadata==`object`&&e.metadata!==null&&`__blink_log`in e.metadata&&e.metadata.__blink_log===!0&&`level`in e.metadata&&`source`in e.metadata&&`message`in e.metadata}var Dl=class{chatId;agent;chatStore;serializeMessage;filterMessages;onError;chat;loading=!1;streamingMessage;status=`idle`;queue=[];logQueue=[];abortController;isProcessingQueue=!1;listeners=new Set;watcher;disposed=!1;constructor(e){this.chatId=e.chatId??`00000000-0000-0000-0000-000000000000`,this.chat={id:this.chatId,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),messages:[]},this.loading=!0,this.chatStore=Le(e.chatsDirectory,`id`),this.serializeMessage=e.serializeMessage,this.filterMessages=e.filterMessages,this.onError=e.onError,this.watcher=Re(e.chatsDirectory,{pollInterval:1e3,debounce:50}),this.watcher.onChange(e=>{if(e.key!==this.chatId||this.isProcessingQueue)return;if(!e.value){this.chat={id:this.chatId,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),messages:[]},this.status=`idle`,this.streamingMessage=void 0,this.notifyListeners();return}if(this.chat.updated_at===e.value?.updated_at)return;let t=e.value,n=e.locked?`streaming`:`idle`,r=this.chat.updated_at!==t?.updated_at||this.status!==n;this.chat=t,this.streamingMessage=void 0,this.status=n,r&&this.notifyListeners()}),this.chatStore.get(this.chatId).then(e=>{this.disposed||e&&(this.chat=e)}).catch(e=>{let t=e instanceof Error?e.message:String(e);this.onError?.(t)}).finally(()=>{this.loading=!1,this.notifyListeners()})}setAgent(e){this.agent=e}getState(){return{id:this.chatId,key:this.chat?.key,messages:(this.chat?.messages??[]).filter(e=>!Tl(e.metadata)),created_at:this.chat?.created_at,updated_at:this.chat?.updated_at,status:this.status,streamingMessage:this.streamingMessage,loading:this.loading,queuedMessages:this.queue,queuedLogs:this.logQueue}}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}async upsertMessages(e,t){let n=!1,r;t?r=t:(r=await this.chatStore.lock(this.chatId),n=!0);try{let t=await r.get();(!t.id||!Array.isArray(t.messages))&&(t={id:this.chatId,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),messages:[]});let n=[...t.messages];for(let t of e){let e;if(this.serializeMessage){let n=this.serializeMessage(t);if(n===void 0)return;e=n}else e={...t,created_at:new Date().toISOString(),mode:`run`,metadata:t.metadata,id:t.id??crypto.randomUUID()};let r=n.findIndex(t=>t.id===e.id);r===-1?n.push(e):n.splice(r,1,e)}this.chat={...t,updated_at:new Date().toISOString(),messages:n},await r.set(this.chat),this.notifyListeners()}finally{n&&await r.release()}}async deleteMessages(e){let t;try{t=await this.chatStore.lock(this.chatId);let n=await t.get();this.chat.messages=n.messages.filter(t=>!e.includes(t.id)),this.chat.updated_at=new Date().toISOString(),await t.set(this.chat),this.notifyListeners()}finally{t&&await t.release()}}async queueLogMessage({message:e,level:t,source:n}){let r=`(EDIT MODE NOTE) ${n===`agent`?`The agent`:"The `blink dev` CLI"} printed the following ${t}:\n\`\`\`\n${s(e)}\n\`\`\`\n`,i={id:crypto.randomUUID(),created_at:new Date().toISOString(),role:`user`,parts:[{type:`text`,text:r}],metadata:{__blink_log:!0,level:t,source:n,message:e},mode:`edit`};this.logQueue.push(i),this.notifyListeners()}async flushLogQueue(e){if(this.logQueue.length===0)return;let t=[...this.logQueue];this.logQueue=[],await this.upsertMessages(t,e)}async sendMessages(e){if(this.status=`idle`,this.notifyListeners(),this.isProcessingQueue){this.queue.push(...e),this.notifyListeners();return}this.queue=e,this.processQueueOrRun()}async start(){this.status=`idle`,this.notifyListeners(),this.processQueueOrRun()}async stop(){this.status=`idle`,this.abortController?.abort(),this.notifyListeners()}async processQueueOrRun(){if(!this.agent){this.onError?.(`The agent is not available. Please wait for the build to succeed.`),this.queue=[];return}if(this.isProcessingQueue)return;this.isProcessingQueue=!0;let t;try{t=await this.chatStore.lock(this.chatId),await this.flushLogQueue(t);let r=!0;for(;this.queue.length>0||r;)try{var n=e();r=!1;let i=new AbortController;this.abortController=i;let a=[...this.queue];this.queue=[],this.streamingMessage=void 0,this.status=`streaming`,this.notifyListeners(),a.length>0&&await this.upsertMessages(a,t);let o=this.chat.messages;this.filterMessages&&(o=o.filter(this.filterMessages)),o=o.map(e=>({...e,parts:e.parts.map(e=>!d(e)||e.input!==``?e:{...e,input:{}})})),n.u(await this.agent.lock.read());let s=performance.now(),c=await Sl({agent:this.agent.client,id:this.chatId,signal:i.signal,messages:o}),l=async e=>{let n=e;if(this.serializeMessage){let t=this.serializeMessage(e);if(t===void 0)return;n=t}this.chat.updated_at=new Date().toISOString(),this.chat.messages.push(n),this.streamingMessage=void 0,await t?.set(this.chat)},u=c.getReader();i.signal.addEventListener(`abort`,()=>{u.cancel().catch(()=>{})},{once:!0});let f;try{for(;;){let{done:e,value:t}=await u.read();if(e||i.signal.aborted)break;f||=performance.now()-s,this.streamingMessage&&t.id!==this.streamingMessage.id&&await l(this.streamingMessage);let n={...t,metadata:{...typeof t.metadata==`object`&&t.metadata!==null?t.metadata:{},ttft:f}};this.streamingMessage=this.serializeMessage?this.serializeMessage(n):n,this.notifyListeners()}}finally{u.releaseLock()}this.streamingMessage&&await l(this.streamingMessage)}catch(e){n.e=e}finally{n.d()}}catch(e){let t=e instanceof Error?e.message:String(e);this.onError?.(t)}finally{this.isProcessingQueue=!1,this.streamingMessage=void 0,this.status=`idle`,t&&(await this.flushLogQueue(t),this.chat.updated_at=new Date().toISOString(),await t.set(this.chat),await t.release(),this.notifyListeners())}}stopStreaming(){this.abortController?.abort()}clearQueue(){this.queue=[],this.notifyListeners()}async resetChat(){this.abortController?.abort(),this.resetChatState(),this.notifyListeners();let e;try{e=await this.chatStore.lock(this.chatId),await e.delete()}catch{}finally{if(e)try{await e.release()}catch{}}}dispose(){this.disposed=!0,this.watcher.dispose(),this.listeners.clear(),this.stopStreaming()}resetChatState(){this.chat={id:this.chatId,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),messages:[]},this.streamingMessage=void 0,this.status=`idle`,this.queue=[],this.logQueue=[]}notifyListeners(){let e=this.getState();for(let t of this.listeners)t(e)}};export{k as APICallError,pl as APIServerURLEnvironmentVariable,Dl as ChatManager,xl as Client,h as CustomChatResponseError,A as EmptyResponseBodyError,E as EventSourceParserStream,j as InvalidArgumentError,M as JSONParseError,bl as RWLock,P as TypeValidationError,ie as checkOptionalParameter,wl as convertMessage,Cr as createAnthropic,Le as createDiskStore,Ds as createOpenAI,Ve as createParser,le as decodeURIComponent_,Me as getLockInfo,te as getPath,ne as getPathNoStrict,C as getPattern,se as getQueryParam,ce as getQueryParams,Ze as hc,El as isLogMessage,Tl as isStoredMessageMetadata,_ as isToolApprovalOutput,dl as lastUIOptions,Ae as lock,re as mergePath,fe as parse,v as splitPath,y as splitRoutingPath,g as tools,w as tryDecode};
|