blink 1.1.33 → 1.1.35
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 +28 -20
- package/dist/browser/control/index.d.ts +28 -20
- package/dist/cli/chat-BfOX7Zpn.js +1 -0
- package/dist/cli/chat-manager-cUXPlLU4.js +21 -0
- package/dist/cli/compute-server-BFNeHOmk.js +1 -0
- package/dist/cli/connect-3pBvxI6u.js +1 -0
- package/dist/cli/connect-XRcF_tn8.js +1 -0
- package/dist/cli/create-github-app-CaCP607a.js +16 -0
- package/dist/cli/{dev-DTCSw4OQ.js → dev-DOvBAIjm.js} +222 -236
- package/dist/cli/{getMachineId-bsd-BECgXpZb.js → getMachineId-bsd-BfwVPdTh.js} +1 -1
- package/dist/cli/{getMachineId-bsd-BgAyii4H.js → getMachineId-bsd-BmhpEQU_.js} +1 -1
- package/dist/cli/{getMachineId-bsd-Cc73dhdJ.js → getMachineId-bsd-C1eeoY31.js} +1 -1
- package/dist/cli/{getMachineId-bsd-DJn61I3m.js → getMachineId-bsd-CO9ne--Y.js} +1 -1
- package/dist/cli/{getMachineId-bsd-Doah6QJP.js → getMachineId-bsd-D4uBPoNF.js} +1 -1
- package/dist/cli/getMachineId-bsd-DVGtITCk.js +1 -0
- package/dist/cli/getMachineId-bsd-MA4oFaCa.js +1 -0
- package/dist/cli/getMachineId-bsd-dbToLPez.js +1 -0
- package/dist/cli/{getMachineId-darwin-BMnMBte0.js → getMachineId-darwin-C0EZ3sY3.js} +1 -1
- package/dist/cli/{getMachineId-darwin-BP9BSYcd.js → getMachineId-darwin-CSfD7gS4.js} +1 -1
- package/dist/cli/{getMachineId-darwin-Bs3mlKrs.js → getMachineId-darwin-CgQ9n4TU.js} +1 -1
- package/dist/cli/{getMachineId-darwin-DFronuaU.js → getMachineId-darwin-Cpq0Lloc.js} +1 -1
- package/dist/cli/{getMachineId-darwin-D-l4_nyT.js → getMachineId-darwin-CuAzoP7O.js} +1 -1
- package/dist/cli/getMachineId-darwin-D6_tdcZj.js +2 -0
- package/dist/cli/getMachineId-darwin-DkExT2qu.js +2 -0
- package/dist/cli/getMachineId-darwin-xoAzTD7x.js +2 -0
- package/dist/cli/{getMachineId-linux-B2r_HEgX.js → getMachineId-linux-B1XJTHUh.js} +1 -1
- package/dist/cli/{getMachineId-linux-Bj52Hdvy.js → getMachineId-linux-CRUR6LbQ.js} +1 -1
- package/dist/cli/{getMachineId-linux-C9o1dYwI.js → getMachineId-linux-CVQNNGui.js} +1 -1
- package/dist/cli/{getMachineId-linux-CGcBOg7J.js → getMachineId-linux-CtdZRCaX.js} +1 -1
- package/dist/cli/getMachineId-linux-DMILcDJR.js +1 -0
- package/dist/cli/getMachineId-linux-Deja7F2k.js +1 -0
- package/dist/cli/getMachineId-linux-DqOGXYgv.js +1 -0
- package/dist/cli/getMachineId-linux-FRx9q8NV.js +1 -0
- package/dist/cli/{getMachineId-unsupported-BtmyS2eg.js → getMachineId-unsupported-B-xvzil1.js} +1 -1
- package/dist/cli/{getMachineId-unsupported-C8az6JKm.js → getMachineId-unsupported-BA3eQjiV.js} +1 -1
- package/dist/cli/{getMachineId-unsupported-CBS2qXAs.js → getMachineId-unsupported-BZCOxs7n.js} +1 -1
- package/dist/cli/{getMachineId-unsupported-Cu0DvxaU.js → getMachineId-unsupported-BjGFauqb.js} +1 -1
- package/dist/cli/getMachineId-unsupported-CLWxRb7f.js +1 -0
- package/dist/cli/getMachineId-unsupported-CSVFDvWp.js +1 -0
- package/dist/cli/getMachineId-unsupported-Cp_95R-6.js +1 -0
- package/dist/cli/getMachineId-unsupported-Nd0_Z7NT.js +1 -0
- package/dist/cli/{getMachineId-win-BCAO7ld1.js → getMachineId-win-AW-Mv9PG.js} +1 -1
- package/dist/cli/{getMachineId-win-BDQszRKi.js → getMachineId-win-B_2C1cwE.js} +1 -1
- package/dist/cli/{getMachineId-win-BOnF6rL7.js → getMachineId-win-BbYxddZ9.js} +1 -1
- package/dist/cli/{getMachineId-win-BOuIHcz_.js → getMachineId-win-BkozcdSh.js} +1 -1
- package/dist/cli/getMachineId-win-CPhFagnx.js +1 -0
- package/dist/cli/{getMachineId-win-pnMl0wak.js → getMachineId-win-CUeKGXdr.js} +1 -1
- package/dist/cli/getMachineId-win-D3-sMfSu.js +1 -0
- package/dist/cli/getMachineId-win-DFVpvzl3.js +1 -0
- package/dist/cli/index.js +7 -7
- package/dist/cli/init-LtTUYXzn.js +23 -0
- package/dist/cli/{init-templates-D4lwX_8M.js → init-templates-jGRvqLQ6.js} +614 -1
- package/dist/cli/run-BHKBjgkK.js +1 -0
- package/dist/cli/setup-github-app-DBiuq7cy.js +9 -0
- package/dist/cli/token-util-3NkPUSqu.js +1 -0
- package/dist/cli/{token-util-BKLboTb2.js → token-util-BgEcL2NM.js} +1 -1
- package/dist/cli/{token-Bk68OrJt.js → token-v4NJW7VU.js} +1 -1
- package/dist/cli/undici-JD4hDNWZ.js +1 -0
- package/dist/cli/utils-B3iC7vdW.js +1 -0
- package/dist/node/agent/index.node.cjs +1 -1
- package/dist/node/agent/index.node.js +1 -1
- package/dist/node/{index.node-Bvp48I1R.cjs → index.node-CFR7FTuY.cjs} +4 -4
- package/dist/node/{index.node-ppzOWVGE.js → index.node-CITcyk6b.js} +4 -4
- package/dist/node/react/index.node.cjs +621 -8
- package/dist/node/react/index.node.js +621 -8
- package/dist/node/{token-CI2_C_5D.js → token-B2MtKe6w.js} +1 -1
- package/dist/node/{token-D4jFpAk0.cjs → token-BQ-EqDMB.cjs} +1 -1
- package/dist/node/{token-util-BxSJFXkT.cjs → token-util--zh4M6Ze.cjs} +1 -1
- package/dist/node/{token-util-idU3T5iM.js → token-util-CtaB7NzM.js} +1 -1
- package/dist/node/token-util-P8_cV3Yu.cjs +1 -0
- package/dist/node/{token-util-ChGcRyiF.js → token-util-RdQsj3MK.js} +1 -1
- package/package.json +10 -8
- package/dist/cli/chat-C_rQ9SRr.js +0 -1
- package/dist/cli/chat-manager-bLgTuAnK.js +0 -21
- package/dist/cli/compute-server-CyGc-fpM.js +0 -1
- package/dist/cli/connect-CgLoRyDv.js +0 -1
- package/dist/cli/connect-t56RPJRB.js +0 -1
- package/dist/cli/create-slack-app-CyVPwWsG.js +0 -1
- package/dist/cli/events-DKgZ2LNM.js +0 -1
- package/dist/cli/getMachineId-bsd-aoAkh_W6.js +0 -1
- package/dist/cli/getMachineId-bsd-iPOb0TqF.js +0 -1
- package/dist/cli/getMachineId-bsd-io5tPlFg.js +0 -1
- package/dist/cli/getMachineId-darwin-DJO6fOdc.js +0 -2
- package/dist/cli/getMachineId-darwin-DlRRGl6M.js +0 -2
- package/dist/cli/getMachineId-darwin-Wp0usMIp.js +0 -2
- package/dist/cli/getMachineId-linux-CV2HmJXY.js +0 -1
- package/dist/cli/getMachineId-linux-Cv44Y8ZY.js +0 -1
- package/dist/cli/getMachineId-linux-CzNEh3DJ.js +0 -1
- package/dist/cli/getMachineId-linux-_RiwpX2J.js +0 -1
- package/dist/cli/getMachineId-unsupported-Dni2ujA-.js +0 -1
- package/dist/cli/getMachineId-unsupported-MPNVP8rP.js +0 -1
- package/dist/cli/getMachineId-unsupported-mBJd3oBN.js +0 -1
- package/dist/cli/getMachineId-unsupported-rdNf8ej6.js +0 -1
- package/dist/cli/getMachineId-win-BQ_C7kS3.js +0 -1
- package/dist/cli/getMachineId-win-Bw0-Mlkn.js +0 -1
- package/dist/cli/getMachineId-win-DrJTv2qi.js +0 -1
- package/dist/cli/init-DXBledyD.js +0 -23
- package/dist/cli/run-CRrWbMEw.js +0 -1
- package/dist/cli/setup-slack-app-C9L0iIDZ.js +0 -1
- package/dist/cli/token-util-Dui5nOLw.js +0 -1
- package/dist/cli/undici-mM2IfLwA.js +0 -1
- package/dist/node/token-util-BENsR1Bn.cjs +0 -1
- /package/dist/cli/{devtools-CS3ukAFj.js → devtools-CwQnB6v7.js} +0 -0
- /package/dist/cli/{esm-CYkSi8_o.js → esm-BiWxO8S7.js} +0 -0
- /package/dist/cli/{execAsync-9jtK4I3l.js → execAsync-4IyNgpoN.js} +0 -0
- /package/dist/cli/{execAsync-B4_pEoEJ.js → execAsync-B6xSGvuk.js} +0 -0
- /package/dist/cli/{execAsync-BdK7RB6d.js → execAsync-B8_ZTafx.js} +0 -0
- /package/dist/cli/{execAsync-Bjxs-bO2.js → execAsync-B8nelpRN.js} +0 -0
- /package/dist/cli/{execAsync-CM_C8SBr.js → execAsync-Cj_jF8MF.js} +0 -0
- /package/dist/cli/{execAsync-CNFaXJjR.js → execAsync-Ckbi9Yqe.js} +0 -0
- /package/dist/cli/{execAsync-Dl3hbWiU.js → execAsync-CvOpnFex.js} +0 -0
- /package/dist/cli/{execAsync-qGIZ8XA8.js → execAsync-DDBH3pWg.js} +0 -0
- /package/dist/cli/{token-error-CGIVaIg6.js → token-error-BHDo_48c.js} +0 -0
- /package/dist/cli/{undici-BiTrd9-R.js → undici-B5tM_IT9.js} +0 -0
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import{_usingCtx as e}from"./usingCtx-B1FpoePI.js";import*as t from"node:path";import*as n from"node:fs";import r,{z as i}from"zod/v4";import{ZodFirstPartyTypeKind as a}from"zod/v3";import{stripVTControlCharacters as o}from"node:util";import{convertToModelMessages as s,createUIMessageStream as c,getToolName as l,isToolOrDynamicToolUIPart as u,isToolUIPart as d,readUIMessageStream as f,streamText as p}from"ai";const m=Symbol.for(`@whatwg-node/promise-helpers/FakePromise`);function h(e){return e?.then!=null}function g(e){let t=e;return t&&t.then&&t.catch&&t.finally}function _(e,t,n,r){let i=v().then(e).then(t,n);return r&&(i=i.finally(r)),te(i)}function v(e){return e&&g(e)?e:h(e)?{then:(t,n)=>v(e.then(t,n)),catch:t=>v(e.then(e=>e,t)),finally:t=>v(t?C(e,t):e),[Symbol.toStringTag]:`Promise`}:{then(t){if(t)try{return v(t(e))}catch(e){return x(e)}return this},catch(){return this},finally(t){if(t)try{return v(t()).then(()=>e,()=>e)}catch(e){return x(e)}return this},[Symbol.toStringTag]:`Promise`,__fakePromiseValue:e,[m]:`resolved`}}function y(){if(Promise.withResolvers)return Promise.withResolvers();let e,t;return{promise:new Promise(function(n,r){e=n,t=r}),get resolve(){return e},get reject(){return t}}}function b(e,t,n){if(e?.length===0)return;let r=e[Symbol.iterator](),i=0;function a(){let{done:e,value:o}=r.next();if(e)return;let s=!1;function c(){s=!0}return _(function(){return t(o,c,i++)},function(e){if(e&&n?.push(e),!s)return a()})}return a()}function x(e){return{then(t,n){if(n)try{return v(n(e))}catch(e){return x(e)}return this},catch(t){if(t)try{return v(t(e))}catch(e){return x(e)}return this},finally(e){if(e)try{e()}catch(e){return x(e)}return this},__fakeRejectError:e,[Symbol.toStringTag]:`Promise`,[m]:`rejected`}}function S(e){return e?.[m]===`resolved`}function ee(e){return e?.[m]===`rejected`}function C(e,t){return`finally`in e?e.finally(t):e.then(e=>{let n=t();return h(n)?n.then(()=>e):e},e=>{let n=t();if(h(n))return n.then(()=>{throw e});throw e})}function te(e){if(S(e))return e.__fakePromiseValue;if(ee(e))throw e.__fakeRejectError;return e}function ne(e){return typeof e==`object`&&!!e&&typeof e[Symbol.asyncIterator]==`function`}function re(e){return e.socket?.localPort?e.socket?.localPort:(e.headers?.[`:authority`]||e.headers?.host)?.split(`:`)?.[1]||80}function ie(e){if(e.headers?.[`:authority`])return e.headers?.[`:authority`];if(e.headers?.host)return e.headers?.host;let t=re(e);if(e.hostname)return e.hostname+`:`+t;let n=e.socket?.localAddress;return n&&!n?.includes(`::`)&&!n?.includes(`ffff`)?`${n}:${t}`:`localhost`}function ae(e){let t=ie(e),n=e.protocol||(e.socket?.encrypted?`https`:`http`),r=e.originalUrl||e.url||`/graphql`;return`${n}://${t}${r}`}function oe(e){let t=e[Symbol.toStringTag];return!!(typeof e==`string`||t===`Uint8Array`||t===`Blob`||t===`FormData`||t===`URLSearchParams`||ne(e))}function se(e,t,n,r){let i=e.raw||e.req||e,a=ae(i);if(e.query){let n=new t.URL(a);for(let t in e.query)n.searchParams.set(t,e.query[t]);a=n.toString()}let o=e.headers;if(e.headers?.[`:method`])for(let t in o={},e.headers)t.startsWith(`:`)||(o[t]=e.headers[t]);let s=r?Oe():new AbortController;if(n?.once){let e=()=>{s.signal.aborted||(Object.defineProperty(i,`aborted`,{value:!0}),s.abort(n.errored??void 0))};n.once(`error`,e),n.once(`close`,e),n.once(`finish`,()=>{n.removeListener(`close`,e)})}if(e.method===`GET`||e.method===`HEAD`)return new t.Request(a,{method:e.method,headers:o,signal:s.signal});let c=e.body;if(c!=null&&Object.keys(c).length>0){if(oe(c))return new t.Request(a,{method:e.method||`GET`,headers:o,body:c,signal:s.signal});let n=new t.Request(a,{method:e.method||`GET`,headers:o,signal:s.signal});return n.headers.get(`content-type`)?.includes(`json`)||n.headers.set(`content-type`,`application/json; charset=utf-8`),new Proxy(n,{get:(e,t,n)=>{switch(t){case`json`:return()=>v(c);case`text`:return()=>v(JSON.stringify(c));default:return globalThis.Bun?Reflect.get(e,t):Reflect.get(e,t,n)}}})}return new t.Request(a,{method:e.method,headers:o,signal:s.signal,body:i,duplex:`half`})}function ce(e){return e.read!=null}function le(e){return ce(e)}function ue(e){return e!=null&&e.setHeader!=null&&e.end!=null&&e.once!=null&&e.write!=null}function de(e){return e!=null&&e.getReader!=null}function fe(e){return e!=null&&e.request!=null&&e.respondWith!=null}function pe(e){e?.socket?.setTimeout?.(0),e?.socket?.setNoDelay?.(!0),e?.socket?.setKeepAlive?.(!0)}function w(e){e.end(null,null,null)}function me(e,t){let n=!1,r=()=>{n=!0};e.once(`error`,r),e.once(`close`,r),e.once(`finish`,()=>{e.removeListener(`close`,r),e.removeListener(`error`,r)});let i=t[Symbol.asyncIterator](),a=()=>i.next().then(({done:t,value:r})=>{if(!(n||t))return _(()=>T(r,e),()=>n?w(e):a())});return a()}function T(e,t){if(!t.write(e))return new Promise(e=>t.once(`drain`,e))}function he(e,t,n,r){if(t.closed||t.destroyed||t.writableEnded)return;if(!e){t.statusCode=404,w(t);return}if(r&&e.headers?.headersInit&&!Array.isArray(e.headers.headersInit)&&!e.headers.headersInit.get&&!e.headers._map&&!e.headers._setCookies?.length)t.writeHead(e.status,e.statusText,e.headers.headersInit);else{if(t.setHeaders)t.setHeaders(e.headers);else{let n=!1;e.headers.forEach((r,i)=>{if(i===`set-cookie`){if(n)return;n=!0;let r=e.headers.getSetCookie?.();if(r){t.setHeader(`set-cookie`,r);return}}t.setHeader(i,r)})}t.writeHead(e.status,e.statusText)}if(e.bodyType===`String`)return _(()=>T(e.bodyInit,t),()=>w(t));let i=e._buffer;if(i)return _(()=>T(i,t),()=>w(t));let a=e.body;if(a==null){w(t);return}if(a[Symbol.toStringTag]===`Uint8Array`)return _(()=>T(a,t),()=>w(t));if(pe(n),ce(a)){t.once(`close`,()=>{a.destroy()}),a.pipe(t,{end:!0});return}if(de(a))return ge(n,t,a);if(ne(a))return me(t,a)}function ge(e,t,n){let r=n.getReader();e?.once?.(`error`,e=>{r.cancel(e)});function i(){return r.read().then(({done:e,value:n})=>e?w(t):_(()=>T(n,t),i))}return i()}function _e(e){return typeof e==`object`&&!!e&&(`body`in e||`cache`in e||`credentials`in e||`headers`in e||`integrity`in e||`keepalive`in e||`method`in e||`mode`in e||`redirect`in e||`referrer`in e||`referrerPolicy`in e||`signal`in e||`window`in e)}function ve(...e){let[t,...n]=e.filter(e=>typeof e==`object`&&!!e);return n.forEach(e=>{let n=Object.getOwnPropertyNames(e).reduce((t,n)=>(Object.getOwnPropertyDescriptor(e,n)&&(t[n]=Object.getOwnPropertyDescriptor(e,n)),t),{});Object.getOwnPropertySymbols(e).forEach(t=>{let r=Object.getOwnPropertyDescriptor(e,t);r?.enumerable&&(n[t]=r)}),Object.defineProperties(t,n)}),t}function ye(e,t){return new t(e.stack||e.message||e.toString(),{status:e.status||500})}function be(e,t){return e==null?t==null?{}:{waitUntil:t}:ve(Object.create(e),{waitUntil:t},e)}function xe(e,t){if(t?.aborted)throw t.reason;if(h(e)&&t){let n=y();function r(){n.reject(t.reason)}return t.addEventListener(`abort`,r,{once:!0}),e.then(function(e){n.resolve(e)}).catch(function(e){n.reject(e)}).finally(()=>{t.removeEventListener(`abort`,r)}),n.promise}return e}const Se=[`SIGINT`,`exit`,`SIGTERM`],Ce=new Set;let we=!1;function Te(){if(!we){we=!0;for(let e of Se)globalThis.process.once(e,function(){return Promise.allSettled([...Ce].map(e=>!e.disposed&&e.disposeAsync()))})}}function Ee(e){globalThis.process&&(Te(),Ce.has(e)||(Ce.add(e),e.defer(()=>{Ce.delete(e)})))}var De=class extends EventTarget{aborted=!1;_onabort=null;_reason;constructor(){super();let e=globalThis.process?.getBuiltinModule?.(`node:events`);e?.kMaxEventTargetListeners&&(this[e.kMaxEventTargetListeners]=0)}throwIfAborted(){if(this._nativeCtrl?.signal?.throwIfAborted)return this._nativeCtrl.signal.throwIfAborted();if(this.aborted)throw this._reason}_nativeCtrl;ensureNativeCtrl(){if(!this._nativeCtrl){let e=this.aborted;this._nativeCtrl=new AbortController,e&&this._nativeCtrl.abort(this._reason)}return this._nativeCtrl}abort(e){if(this._nativeCtrl?.abort)return this._nativeCtrl?.abort(e);this._reason=e||new DOMException(`This operation was aborted`,`AbortError`),this.aborted=!0,this.dispatchEvent(new Event(`abort`))}get signal(){return this._nativeCtrl?.signal?this._nativeCtrl.signal:this}get reason(){return this._nativeCtrl?.signal?this._nativeCtrl.signal.reason:this._reason}get onabort(){return this._onabort,this._onabort}set onabort(e){if(this._nativeCtrl?.signal){this._nativeCtrl.signal.onabort=e;return}this._onabort&&this.removeEventListener(`abort`,this._onabort),this._onabort=e,e&&this.addEventListener(`abort`,e)}};function Oe(){return globalThis.Bun||globalThis.Deno?new AbortController:new Proxy(new De,{get(e,t,n){if(t.toString().includes(`kDependantSignals`)){let n=e.ensureNativeCtrl();return Reflect.get(n.signal,t,n.signal)}return Reflect.get(e,t,n)},set(e,t,n,r){if(t.toString().includes(`kDependantSignals`)){let r=e.ensureNativeCtrl();return Reflect.set(r.signal,t,n,r.signal)}return Reflect.set(e,t,n,r)},getPrototypeOf(){return AbortSignal.prototype}})}var ke=class extends Error{constructor(e,t){super(e),this.response=t}};const Ae=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 t={};for(let[n,r]of Object.entries(e.tools)){let e=r.execute;t[n]={...r,execute:async(t,n)=>r.autoApprove&&e&&await r.autoApprove(t)?e(t,n):{type:`tool-approval`,outcome:`pending`}}}let n=e.messages[e.messages.length-1];if(!n?.parts)return t;let r=[];for(let t of n.parts){if(!d(t))continue;let n=l(t),i=e.tools[n];i&&t.state===`output-available`&&i.execute&&je(t.output)&&t.output.outcome===`approved`&&r.push({toolName:l(t),tool:i,input:t.input,toolCallId:t.toolCallId})}if(r.length>0){let t=c({execute:async({writer:t})=>{t.write({type:`start-step`}),await Promise.all(r.map(async n=>{if(!n.tool.execute)throw Error(`Tool does not support execute.`);t.write({type:`tool-input-available`,toolCallId:n.toolCallId,toolName:n.toolName,input:n.input});try{let r=await n.tool.execute(n.input,{toolCallId:n.toolCallId,messages:s(e.messages,{tools:e.tools}),abortSignal:e.abortSignal}),i=r;if(ne(r))for await(let e of r)i=e,t.write({type:`tool-output-available`,toolCallId:n.toolCallId,output:e,preliminary:!0});t.write({type:`tool-output-available`,toolCallId:n.toolCallId,output:i})}catch(e){t.write({type:`tool-output-error`,toolCallId:n.toolCallId,errorText:e instanceof Error?e.message:String(e)})}})),t.write({type:`finish`})}});throw new ke(`Executing tools`,t)}return t},prefix(e,t){let n={};for(let[r,i]of Object.entries(e))n[`${t}${r}`]=i;return n}});function je(e){return typeof e==`object`&&!!e&&`type`in e&&e.type===`tool-approval`}var Me=e=>{let t=e.split(`/`);return t[0]===``&&t.shift(),t},Ne=e=>{let{groups:t,path:n}=Pe(e),r=Me(n);return Fe(r,t)},Pe=e=>{let t=[];return e=e.replace(/\{[^}]+\}/g,(e,n)=>{let r=`@${n}`;return t.push([r,e]),r}),{groups:t,path:e}},Fe=(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},E={},Ie=(e,t)=>{if(e===`*`)return`*`;let n=e.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(n){let r=`${e}#${t}`;return E[r]||(n[2]?E[r]=t&&t[0]!==`:`&&t[0]!==`*`?[r,n[1],RegExp(`^${n[2]}(?=/${t})`)]:[e,n[1],RegExp(`^${n[2]}$`)]:E[r]=[e,n[1],!0]),E[r]}return null},Le=(e,t)=>{try{return t(e)}catch{return e.replace(/(?:%[0-9A-Fa-f]{2})+/g,e=>{try{return t(e)}catch{return e}})}},Re=e=>Le(e,decodeURI),ze=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 Re(i.includes(`%25`)?i.replace(/%25/g,`%2525`):i)}else if(e===63)break}return t.slice(n,r)},Be=e=>{let t=ze(e);return t.length>1&&t.at(-1)===`/`?t.slice(0,-1):t},Ve=(e,t,...n)=>(n.length&&(t=Ve(t,...n)),`${e?.[0]===`/`?``:`/`}${e}${t===`/`?``:`${e?.at(-1)===`/`?``:`/`}${t?.[0]===`/`?t.slice(1):t}`}`),He=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)},Ue=e=>/[%+]/.test(e)?(e.indexOf(`+`)!==-1&&(e=e.replace(/\+/g,` `)),e.indexOf(`%`)===-1?e:Le(e,qe)):e,We=(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 Ue(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=Ue(s)),a=t,s===``)continue;let c;o===-1?c=``:(c=e.slice(o+1,t===-1?void 0:t),r&&(c=Ue(c))),n?(i[s]&&Array.isArray(i[s])||(i[s]=[]),i[s].push(c)):i[s]??=c}return t?i[t]:i},Ge=We,Ke=(e,t)=>We(e,t,!0),qe=decodeURIComponent,Je=/^[\w!#$%&'*.^`|~+-]+$/,Ye=/^[ !#-:<-[\]-~]*$/,Xe=(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||!Je.test(i))continue;let a=e.substring(n+1).trim();if(a.startsWith(`"`)&&a.endsWith(`"`)&&(a=a.slice(1,-1)),Ye.test(a)&&(r[i]=a.indexOf(`%`)===-1?a:Le(a,qe),t))break}return r},Ze=(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},Qe=(e,t,n)=>(t=encodeURIComponent(t),Ze(e,t,n));function $e(){return/[<>:"/\\|?*\u0000-\u001F]|[. ]$/g}function et(){return/^(con|prn|aux|nul|com\d|lpt\d)$/i}const tt=/^\.+(\\|\/)|^\.+$/,nt=/[. ]+$/,rt=/[\p{Control}\p{Format}\p{Zl}\p{Zp}\uFFF0-\uFFFF]/gu,it=/[\p{Control}\p{Format}\p{Zl}\p{Zp}\uFFF0-\uFFFF]/u,at=e=>e===``,ot=/([<>:"/\\|?*\u0000-\u001F]){2,}/g,st=/[\t\n\r\u00A0\u1680\u2000-\u200A\u202F\u205F\u3000]+/g;let ct;function lt(){return ct??=new Intl.Segmenter(void 0,{granularity:`grapheme`}),ct}function ut(e,t={}){if(typeof e!=`string`)throw TypeError(`Expected a string`);let n=t.replacement??`!`;if($e().test(n)||[...n].some(e=>it.test(e)&&!at(e)))throw Error(`Replacement string cannot contain reserved filename characters`);e=e.normalize(`NFC`),e=e.replaceAll(st,` `),n.length>0&&(e=e.replaceAll(ot,`$1`)),e=e.replace(nt,``),e=e.replace(tt,n),e=e.replace($e(),n),e=e.replaceAll(rt,e=>at(e)?e:n),e.length===0&&(e=n),e=et().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=dt(e,r);else{let n=e.slice(0,t),i=e.slice(t),a=Math.max(0,r-i.length);e=dt(n,a)+i}}return e}function dt(e,t){if(e.length<=t)return e;let n=0,r=``;for(let{segment:i}of lt().segment(e)){let e=n+i.length;if(e>t)break;r+=i,n=e}return r}function ft(e){return`${e}.lock`}function pt(e){try{return process.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function mt(e,t={}){let r=ft(e),i=process.pid.toString();try{return n.writeFileSync(r,i,{flag:`wx`}),!0}catch(i){if(i.code!==`EEXIST`)throw i;if(t.stale===0)return!1;let a;try{a=parseInt(n.readFileSync(r,`utf8`),10)}catch{return n.unlinkSync(r),mt(e,{...t,stale:0})}if(!pt(a))try{return n.unlinkSync(r),mt(e,{...t,stale:0})}catch(n){if(n.code===`ENOENT`)return mt(e,{...t,stale:0});throw n}return!1}}async function ht(e,n={}){let r={stale:!0,retries:0,retryInterval:100,...n},i=t.resolve(e),a=0;for(;a<=r.retries;){if(mt(i,r))return()=>gt(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 gt(e){let r=t.resolve(e),i=ft(r);try{if(parseInt(n.readFileSync(i,`utf8`),10)!==process.pid){let e=Error(`Lock is not owned by this process`);throw e.code=`ENOTACQUIRED`,e}n.unlinkSync(i)}catch(e){if(e.code===`ENOENT`){let e=Error(`Lock is not acquired`);throw e.code=`ENOTACQUIRED`,e}throw e}}function _t(e){let r=t.resolve(e),i=ft(r);try{if(!n.existsSync(i))return{locked:!1};let e=n.readFileSync(i,`utf8`),t=parseInt(e,10);return pt(t)?{locked:!0,pid:t}:{locked:!1}}catch(e){return e.code,{locked:!1}}}const vt=e=>{n.mkdirSync(e,{recursive:!0})},yt=e=>{try{n.fdatasyncSync(e)}catch{}try{n.closeSync(e)}catch{}},bt=e=>{try{let t=n.openSync(e,`r`);try{n.fsyncSync(t)}finally{n.closeSync(t)}}catch{}},xt=(e,r)=>{let i=t.dirname(e);vt(i);let a=t.join(i,`.tmp-`+process.pid+`-`+Math.random().toString(36).slice(2)),o;try{o=n.openSync(a,`w`),n.writeFileSync(o,r,`utf-8`),yt(o),o=void 0,n.renameSync(a,e),bt(e),bt(i)}catch(e){if(o!==void 0)try{n.closeSync(o)}catch{}try{n.rmSync(a,{force:!0})}catch{}throw e}},St=(e,r)=>{let i=new Map,a,o=e=>{if(n.statSync(e,{throwIfNoEntry:!1}))return JSON.parse(n.readFileSync(e,`utf-8`))},s=(e,t)=>{xt(e,JSON.stringify(t,null,2))},c=async()=>{if(a)throw Error(`Index is already locked`);let r=t.join(e,`index.json`);vt(e),n.existsSync(r)||n.writeFileSync(r,JSON.stringify({ids:{}}),`utf-8`);let i=await ht(r,{stale:!0,retries:5,retryInterval:100});return a=()=>Promise.resolve(i()),()=>{i(),a=void 0}},l=async()=>{let n=t.join(e,`index.json`),r=o(n)??{ids:{}};return r.ids||={},r},u=async n=>{let r=t.join(e,`index.json`);s(r,n)},d=async n=>{let r=(await l()).ids[n];if(r)return t.join(e,r)},f=async r=>{let i=(await l()).ids[r];if(!i)return;let a=t.join(e,i);if(n.statSync(a,{throwIfNoEntry:!1}))return JSON.parse(n.readFileSync(a,`utf-8`))},p=async n=>{let i=n[r],a=String(i),o=ut(a,{replacement:`_`})+`.json`,d=await c();try{let r=await l();r.ids[a]=o,r.current=a;let i=t.join(e,o);s(i,n),await u(r)}finally{await d()}};return{async get(e){return await f(e)},async list(){if(!n.statSync(e,{throwIfNoEntry:!1}))return[];let r=await l(),i=[];for(let[a,o]of Object.entries(r.ids)){let r=t.join(e,o),s=n.statSync(r,{throwIfNoEntry:!1});if(!s)continue;let c=_t(r);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 r=ut(a,{replacement:`_`})+`.json`,i=await c();try{let i=await l();i.ids[a]=r;let o=t.join(e,r);vt(e),n.writeFileSync(o,JSON.stringify({}),`utf-8`),await u(i),s=o}finally{await i()}}if(o?.force){let e=_t(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 ht(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 t=await f(a);if(!t||!(r in t))throw Error(`Key ${a} not found`);await p({...t,...e})},async delete(){let r=await c();try{let r=await l(),i=r.ids[a];if(i){delete r.ids[a],r.current===a&&(r.current=void 0),await u(r);let o=t.join(e,i);try{n.rmSync(o,{force:!0}),bt(e)}catch{}}}finally{await r()}},async release(){try{m()}finally{i.delete(a)}}}},dispose(){i.clear()}}},Ct=(e,r)=>{let i=r?.pollInterval??200,a=r?.debounce??50,o=new Set,s,c,l=new Map,u=new Map,d=t.join(e,`index.json`),f=()=>{try{if(!n.statSync(d,{throwIfNoEntry:!1}))return{ids:{}};let e=n.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=(r,i,a=!1)=>{let o=t.join(e,i);try{let e=n.statSync(o,{throwIfNoEntry:!1}),t=u.get(i);if(!e){t&&(u.delete(i),p(r,void 0,!1));return}let s=e.mtimeMs,c=t?{locked:t.locked,pid:t.pid}:{locked:!1,pid:void 0};if((a||!t)&&(c=_t(o)),!t||t.mtime!==s||t.locked!==c.locked||t.pid!==c.pid){let e;e=!t||t.mtime!==s?JSON.parse(n.readFileSync(o,`utf-8`)):t.cachedValue,u.set(i,{mtime:s,key:r,locked:c.locked,pid:c.pid,cachedValue:e}),p(r,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{n.mkdirSync(e,{recursive:!0})}catch{}s=n.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 wt=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 Tt(e){}function Et(e){if(typeof e==`function`)throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:t=Tt,onError:n=Tt,onRetry:r=Tt,onComment:i}=e,a=``,o=!0,s,c=``,l=``;function u(e){let t=o?e.replace(/^\xEF\xBB\xBF/,``):e,[n,r]=Dt(`${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
|
-
`;break;case`id`:s=t.includes(`\0`)?void 0:t;break;case`retry`:/^\d+$/.test(t)?r(parseInt(t,10)):n(new wt(`Invalid \`retry\` value: "${t}"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new wt(`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
|
-
`)?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 Dt(e){let t=[],n=``,r=0;for(;r<e.length;){let i=e.indexOf(`\r`,r),a=e.indexOf(`
|
|
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
|
-
`&&r++}}return[t,n]}var D=class extends TransformStream{constructor({onError:e,onRetry:t,onComment:n}={}){let r;super({start(i){r=Et({onEvent:e=>{i.enqueue(e)},onError(t){e===`terminate`?i.error(t):typeof e==`function`&&e(t)},onRetry:t,onComment:n})},transform(e){r.feed(e)}})}},Ot=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),kt=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??`);e=e.replace(t,r?`/${r}`:``)}return e},At=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},jt=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},Mt=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function Nt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Pt(e,t){if(!Nt(e)&&!Nt(t))return t;let n={...e};for(let e in t){let r=t[e];Nt(n[e])&&Nt(r)?n[e]=Pt(n[e],r):n[e]=r}return n}var Ft=(e,t)=>new Proxy(()=>{},{get(n,r){if(!(typeof r!=`string`||r===`then`))return Ft(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}}),It=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=At(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(Qe(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=Mt(a),a=kt(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})}},Lt=(e,t)=>Ft(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=Ot(e,s);if(o===`url`){let e=c;return r.args[0]&&(r.args[0].param&&(e=kt(c,r.args[0].param)),r.args[0].query&&(e=e+`?`+At(r.args[0].query).toString())),e=Mt(e),new URL(e)}if(o===`ws`){let e=jt(r.args[0]&&r.args[0].param?kt(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 It(c,o);if(o){t??={};let e=Pt(t,{...r.args[1]});return l.fetch(r.args[0],e)}return l},[]),Rt=`vercel.ai.error`,zt=Symbol.for(Rt),Bt,Vt=class e extends Error{constructor({name:e,message:t,cause:n}){super(t),this[Bt]=!0,this.name=e,this.cause=n}static isInstance(t){return e.hasMarker(t,Rt)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};Bt=zt;var O=Vt,Ht=`AI_APICallError`,Ut=`vercel.ai.error.${Ht}`,Wt=Symbol.for(Ut),Gt,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:Ht,message:e,cause:o}),this[Gt]=!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,Ut)}};Gt=Wt;var Kt=`AI_EmptyResponseBodyError`,qt=`vercel.ai.error.${Kt}`,Jt=Symbol.for(qt),Yt,A=class extends O{constructor({message:e=`Empty response body`}={}){super({name:Kt,message:e}),this[Yt]=!0}static isInstance(e){return O.hasMarker(e,qt)}};Yt=Jt;function Xt(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.message:JSON.stringify(e)}var Zt=`AI_InvalidArgumentError`,Qt=`vercel.ai.error.${Zt}`,$t=Symbol.for(Qt),en,j=class extends O{constructor({message:e,cause:t,argument:n}){super({name:Zt,message:e,cause:t}),this[en]=!0,this.argument=n}static isInstance(e){return O.hasMarker(e,Qt)}};en=$t;var tn=`AI_InvalidPromptError`,nn=`vercel.ai.error.${tn}`,rn=Symbol.for(nn),an,on=class extends O{constructor({prompt:e,message:t,cause:n}){super({name:tn,message:`Invalid prompt: ${t}`,cause:n}),this[an]=!0,this.prompt=e}static isInstance(e){return O.hasMarker(e,nn)}};an=rn;var sn=`AI_InvalidResponseDataError`,cn=`vercel.ai.error.${sn}`,ln=Symbol.for(cn),un,dn=class extends O{constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:sn,message:t}),this[un]=!0,this.data=e}static isInstance(e){return O.hasMarker(e,cn)}};un=ln;var fn=`AI_JSONParseError`,pn=`vercel.ai.error.${fn}`,mn=Symbol.for(pn),hn,M=class extends O{constructor({text:e,cause:t}){super({name:fn,message:`JSON parsing failed: Text: ${e}.
|
|
6
|
-
Error message: ${Xt(t)}`,cause:t}),this[hn]=!0,this.text=e}static isInstance(e){return O.hasMarker(e,pn)}};hn=mn;var gn=`AI_LoadAPIKeyError`,_n=`vercel.ai.error.${gn}`,vn=Symbol.for(_n),yn,N=class extends O{constructor({message:e}){super({name:gn,message:e}),this[yn]=!0}static isInstance(e){return O.hasMarker(e,_n)}};yn=vn;var bn=`AI_NoSuchModelError`,xn=`vercel.ai.error.${bn}`,Sn=Symbol.for(xn),Cn,P=class extends O{constructor({errorName:e=bn,modelId:t,modelType:n,message:r=`No such ${n}: ${t}`}){super({name:e,message:r}),this[Cn]=!0,this.modelId=t,this.modelType=n}static isInstance(e){return O.hasMarker(e,xn)}};Cn=Sn;var wn=`AI_TooManyEmbeddingValuesForCallError`,Tn=`vercel.ai.error.${wn}`,En=Symbol.for(Tn),Dn,On=class extends O{constructor(e){super({name:wn,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[Dn]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return O.hasMarker(e,Tn)}};Dn=En;var kn=`AI_TypeValidationError`,An=`vercel.ai.error.${kn}`,jn=Symbol.for(An),Mn,Nn=class e extends O{constructor({value:e,cause:t}){super({name:kn,message:`Type validation failed: Value: ${JSON.stringify(e)}.
|
|
7
|
-
Error message: ${Xt(t)}`,cause:t}),this[Mn]=!0,this.value=e}static isInstance(e){return O.hasMarker(e,An)}static wrap({value:t,cause:n}){return e.isInstance(n)&&n.value===t?n:new e({value:t,cause:n})}};Mn=jn;var F=Nn,Pn=`AI_UnsupportedFunctionalityError`,Fn=`vercel.ai.error.${Pn}`,In=Symbol.for(Fn),Ln,I=class extends O{constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:Pn,message:t}),this[Ln]=!0,this.functionality=e}static isInstance(e){return O.hasMarker(e,Fn)}};Ln=In;function Rn(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function zn(e){return Object.fromEntries([...e.headers])}function Bn(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 Vn(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function Hn(e,...t){let n=Vn(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}var Un=(({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 Wn(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var Gn=[`fetch failed`,`failed to fetch`];function Kn({error:e,url:t,requestBodyValues:n}){if(Wn(e))return e;if(e instanceof TypeError&&Gn.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 qn=`3.0.10`;function Jn({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 Yn=/"__proto__"\s*:/,Xn=/"constructor"\s*:/;function Zn(e){let t=JSON.parse(e);return typeof t!=`object`||!t||Yn.test(e)===!1&&Xn.test(e)===!1?t:Qn(t)}function Qn(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 $n(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return Zn(e)}finally{Error.stackTraceLimit=t}}var er=Symbol.for(`vercel.ai.validator`);function tr(e){return{[er]:!0,validate:e}}function nr(e){return typeof e==`object`&&!!e&&er in e&&e[er]===!0&&`validate`in e}function rr(e){return nr(e)?e:ir(e)}function ir(e){return tr(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 ar({value:e,schema:t}){let n=await or({value:e,schema:t});if(!n.success)throw F.wrap({value:e,cause:n.error});return n.value}async function or({value:e,schema:t}){let n=rr(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 sr({text:e,schema:t}){try{let n=$n(e);return t==null?n:ar({value:n,schema:t})}catch(t){throw M.isInstance(t)||F.isInstance(t)?t:new M({text:e,cause:t})}}async function cr({text:e,schema:t}){try{let n=$n(e);return t==null?{success:!0,value:n,rawValue:n}:await or({value:n,schema:t})}catch(t){return{success:!1,error:M.isInstance(t)?t:new M({text:e,cause:t}),rawValue:void 0}}}function lr({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new D).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await cr({text:e,schema:t}))}}))}async function L({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await or({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 ur=()=>globalThis.fetch,dr=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>fr({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),fr=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=ur()})=>{try{let s=await o(e,{method:`POST`,headers:Hn(t,`ai-sdk/provider-utils/${qn}`,Bn()),body:n.content,signal:a}),c=zn(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw Wn(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&&(Wn(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 Kn({error:t,url:e,requestBodyValues:n.values})}};function pr(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})=>pr({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:i,execute:r,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}function mr({id:e,name:t,inputSchema:n,outputSchema:r}){return({execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>pr({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 hr(e){return typeof e==`function`&&(e=e()),Promise.resolve(e)}var gr=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=zn(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 sr({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)})}}},_r=e=>async({response:t})=>{let n=zn(t);if(t.body==null)throw new A({});return{responseHeaders:n,value:lr({stream:t.body,schema:e})}},vr=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await cr({text:i,schema:e}),o=zn(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:yr,atob:br}=globalThis;function xr(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return yr(t)}function Sr(e){return e instanceof Uint8Array?xr(e):e}function Cr(e){return e?.replace(/\/$/,``)}var wr=`2.0.23`,Tr=i.object({type:i.literal(`error`),error:i.object({type:i.string(),message:i.string()})}),Er=gr({errorSchema:Tr,errorToMessage:e=>e.error.message}),Dr=i.object({citations:i.object({enabled:i.boolean()}).optional(),title:i.string().optional(),context:i.string().optional()}),Or=i.object({sendReasoning:i.boolean().optional(),thinking:i.object({type:i.union([i.literal(`enabled`),i.literal(`disabled`)]),budgetTokens:i.number().optional()}).optional(),disableParallelToolUse:i.boolean().optional(),cacheControl:i.object({type:i.literal(`ephemeral`),ttl:i.union([i.literal(`5m`),i.literal(`1h`)]).optional()}).optional()});function z(e){let t=e?.anthropic;return t?.cacheControl??t?.cache_control}var kr=i.object({maxCharacters:i.number().optional()}),Ar=R({id:`anthropic.text_editor_20250728`,name:`str_replace_based_edit_tool`,inputSchema:i.object({command:i.enum([`view`,`create`,`str_replace`,`insert`]),path:i.string(),file_text:i.string().optional(),insert_line:i.number().int().optional(),new_str:i.string().optional(),old_str:i.string().optional(),view_range:i.array(i.number().int()).optional()})}),jr=(e={})=>Ar(e),Mr=i.object({maxUses:i.number().optional(),allowedDomains:i.array(i.string()).optional(),blockedDomains:i.array(i.string()).optional(),userLocation:i.object({type:i.literal(`approximate`),city:i.string().optional(),region:i.string().optional(),country:i.string().optional(),timezone:i.string().optional()}).optional()}),Nr=i.array(i.object({url:i.string(),title:i.string(),pageAge:i.string().nullable(),encryptedContent:i.string(),type:i.literal(`web_search_result`)})),Pr=mr({id:`anthropic.web_search_20250305`,name:`web_search`,inputSchema:i.object({query:i.string()}),outputSchema:Nr}),Fr=(e={})=>Pr(e),Ir=i.object({maxUses:i.number().optional(),allowedDomains:i.array(i.string()).optional(),blockedDomains:i.array(i.string()).optional(),citations:i.object({enabled:i.boolean()}).optional(),maxContentTokens:i.number().optional()}),Lr=i.object({type:i.literal(`web_fetch_result`),url:i.string(),content:i.object({type:i.literal(`document`),title:i.string(),citations:i.object({enabled:i.boolean()}).optional(),source:i.union([i.object({type:i.literal(`base64`),mediaType:i.literal(`application/pdf`),data:i.string()}),i.object({type:i.literal(`text`),mediaType:i.literal(`text/plain`),data:i.string()})])}),retrievedAt:i.string().nullable()}),Rr=mr({id:`anthropic.web_fetch_20250910`,name:`web_fetch`,inputSchema:i.object({url:i.string()}),outputSchema:Lr}),zr=(e={})=>Rr(e);function Br({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=kr.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=Ir.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=Mr.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 Vr=i.object({type:i.literal(`code_execution_result`),stdout:i.string(),stderr:i.string(),return_code:i.number()}),Hr=mr({id:`anthropic.code_execution_20250522`,name:`code_execution`,inputSchema:i.object({code:i.string()}),outputSchema:Vr}),Ur=(e={})=>Hr(e);function Wr(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 Gr({prompt:e,sendReasoning:t,warnings:n}){let r=new Set,i=Kr(e),a,o=[];async function s(e){return(await L({provider:`anthropic`,providerOptions:e,schema:Dr}))?.citations?.enabled??!1}async function c(e){let t=await L({provider:`anthropic`,providerOptions:e,schema:Dr});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: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:Sr(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:Sr(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:Wr(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=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 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=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:ei});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=Vr.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=Lr.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=Nr.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 Kr(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 qr({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:i.object({type:i.literal(`web_search_result_location`),cited_text:i.string(),url:i.string(),title:i.string(),encrypted_index:i.string()}),pageLocation:i.object({type:i.literal(`page_location`),cited_text:i.string(),document_index:i.number(),document_title:i.string().nullable(),start_page_number:i.number(),end_page_number:i.number()}),charLocation:i.object({type:i.literal(`char_location`),cited_text:i.string(),document_index:i.number(),document_title:i.string().nullable(),start_char_index:i.number(),end_char_index:i.number()})},Jr=i.discriminatedUnion(`type`,[B.webSearchResult,B.pageLocation,B.charLocation]);i.discriminatedUnion(`type`,[B.pageLocation,B.charLocation]);function Yr(e,t,n,r){if(e.type===`page_location`||e.type===`char_location`){let i=Xr(e,t,n);i&&r(i)}}function Xr(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 Zr=class{constructor(e,t){this.specificationVersion=`v2`,this.modelId=e,this.config=t,this.generateId=t.generateId??Un}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:Or}),{prompt:g,betas:_}=await Gr({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:ee,betas:C}=Br(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,...ee],betas:new Set([..._,...C]),usesJsonResponseTool:m!=null}}async getHeaders({betas:e,headers:t}){return Rn(await hr(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 dr({url:this.buildRequestUrl(!1),headers:await this.getHeaders({betas:r,headers:e.headers}),body:this.transformRequestBody(t),failedResponseHandler:Er,successfulResponseHandler:vr(Qr),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)Yr(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:qr({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 dr({url:this.buildRequestUrl(!0),headers:await this.getHeaders({betas:r,headers:e.headers}),body:this.transformRequestBody(o),failedResponseHandler:Er,successfulResponseHandler:_r($r),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;Yr(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=qr({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}}}},Qr=i.object({type:i.literal(`message`),id:i.string().nullish(),model:i.string().nullish(),content:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`text`),text:i.string(),citations:i.array(Jr).optional()}),i.object({type:i.literal(`thinking`),thinking:i.string(),signature:i.string()}),i.object({type:i.literal(`redacted_thinking`),data:i.string()}),i.object({type:i.literal(`tool_use`),id:i.string(),name:i.string(),input:i.unknown()}),i.object({type:i.literal(`server_tool_use`),id:i.string(),name:i.string(),input:i.record(i.string(),i.unknown()).nullish()}),i.object({type:i.literal(`web_fetch_tool_result`),tool_use_id:i.string(),content:i.union([i.object({type:i.literal(`web_fetch_result`),url:i.string(),retrieved_at:i.string(),content:i.object({type:i.literal(`document`),title:i.string().nullable(),citations:i.object({enabled:i.boolean()}).optional(),source:i.object({type:i.literal(`text`),media_type:i.string(),data:i.string()})})}),i.object({type:i.literal(`web_fetch_tool_result_error`),error_code:i.string()})])}),i.object({type:i.literal(`web_search_tool_result`),tool_use_id:i.string(),content:i.union([i.array(i.object({type:i.literal(`web_search_result`),url:i.string(),title:i.string(),encrypted_content:i.string(),page_age:i.string().nullish()})),i.object({type:i.literal(`web_search_tool_result_error`),error_code:i.string()})])}),i.object({type:i.literal(`code_execution_tool_result`),tool_use_id:i.string(),content:i.union([i.object({type:i.literal(`code_execution_result`),stdout:i.string(),stderr:i.string(),return_code:i.number()}),i.object({type:i.literal(`code_execution_tool_result_error`),error_code:i.string()})])})])),stop_reason:i.string().nullish(),stop_sequence:i.string().nullish(),usage:i.looseObject({input_tokens:i.number(),output_tokens:i.number(),cache_creation_input_tokens:i.number().nullish(),cache_read_input_tokens:i.number().nullish()})}),$r=i.discriminatedUnion(`type`,[i.object({type:i.literal(`message_start`),message:i.object({id:i.string().nullish(),model:i.string().nullish(),usage:i.looseObject({input_tokens:i.number(),cache_creation_input_tokens:i.number().nullish(),cache_read_input_tokens:i.number().nullish()})})}),i.object({type:i.literal(`content_block_start`),index:i.number(),content_block:i.discriminatedUnion(`type`,[i.object({type:i.literal(`text`),text:i.string()}),i.object({type:i.literal(`thinking`),thinking:i.string()}),i.object({type:i.literal(`tool_use`),id:i.string(),name:i.string()}),i.object({type:i.literal(`redacted_thinking`),data:i.string()}),i.object({type:i.literal(`server_tool_use`),id:i.string(),name:i.string(),input:i.record(i.string(),i.unknown()).nullish()}),i.object({type:i.literal(`web_fetch_tool_result`),tool_use_id:i.string(),content:i.union([i.object({type:i.literal(`web_fetch_result`),url:i.string(),retrieved_at:i.string(),content:i.object({type:i.literal(`document`),title:i.string().nullable(),citations:i.object({enabled:i.boolean()}).optional(),source:i.object({type:i.literal(`text`),media_type:i.string(),data:i.string()})})}),i.object({type:i.literal(`web_fetch_tool_result_error`),error_code:i.string()})])}),i.object({type:i.literal(`web_search_tool_result`),tool_use_id:i.string(),content:i.union([i.array(i.object({type:i.literal(`web_search_result`),url:i.string(),title:i.string(),encrypted_content:i.string(),page_age:i.string().nullish()})),i.object({type:i.literal(`web_search_tool_result_error`),error_code:i.string()})])}),i.object({type:i.literal(`code_execution_tool_result`),tool_use_id:i.string(),content:i.union([i.object({type:i.literal(`code_execution_result`),stdout:i.string(),stderr:i.string(),return_code:i.number()}),i.object({type:i.literal(`code_execution_tool_result_error`),error_code:i.string()})])})])}),i.object({type:i.literal(`content_block_delta`),index:i.number(),delta:i.discriminatedUnion(`type`,[i.object({type:i.literal(`input_json_delta`),partial_json:i.string()}),i.object({type:i.literal(`text_delta`),text:i.string()}),i.object({type:i.literal(`thinking_delta`),thinking:i.string()}),i.object({type:i.literal(`signature_delta`),signature:i.string()}),i.object({type:i.literal(`citations_delta`),citation:Jr})])}),i.object({type:i.literal(`content_block_stop`),index:i.number()}),i.object({type:i.literal(`error`),error:i.object({type:i.string(),message:i.string()})}),i.object({type:i.literal(`message_delta`),delta:i.object({stop_reason:i.string().nullish(),stop_sequence:i.string().nullish()}),usage:i.looseObject({output_tokens:i.number(),cache_creation_input_tokens:i.number().nullish()})}),i.object({type:i.literal(`message_stop`)}),i.object({type:i.literal(`ping`)})]),ei=i.object({signature:i.string().optional(),redactedData:i.string().optional()}),ti=R({id:`anthropic.bash_20241022`,name:`bash`,inputSchema:r.object({command:r.string(),restart:r.boolean().optional()})}),ni=R({id:`anthropic.bash_20250124`,name:`bash`,inputSchema:r.object({command:r.string(),restart:r.boolean().optional()})}),ri=R({id:`anthropic.computer_20241022`,name:`computer`,inputSchema:i.object({action:i.enum([`key`,`type`,`mouse_move`,`left_click`,`left_click_drag`,`right_click`,`middle_click`,`double_click`,`screenshot`,`cursor_position`]),coordinate:i.array(i.number().int()).optional(),text:i.string().optional()})}),ii=R({id:`anthropic.computer_20250124`,name:`computer`,inputSchema:i.object({action:i.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:i.tuple([i.number().int(),i.number().int()]).optional(),duration:i.number().optional(),scroll_amount:i.number().optional(),scroll_direction:i.enum([`up`,`down`,`left`,`right`]).optional(),start_coordinate:i.tuple([i.number().int(),i.number().int()]).optional(),text:i.string().optional()})}),ai=R({id:`anthropic.text_editor_20241022`,name:`str_replace_editor`,inputSchema:i.object({command:i.enum([`view`,`create`,`str_replace`,`insert`,`undo_edit`]),path:i.string(),file_text:i.string().optional(),insert_line:i.number().int().optional(),new_str:i.string().optional(),old_str:i.string().optional(),view_range:i.array(i.number().int()).optional()})}),oi=R({id:`anthropic.text_editor_20250124`,name:`str_replace_editor`,inputSchema:i.object({command:i.enum([`view`,`create`,`str_replace`,`insert`,`undo_edit`]),path:i.string(),file_text:i.string().optional(),insert_line:i.number().int().optional(),new_str:i.string().optional(),old_str:i.string().optional(),view_range:i.array(i.number().int()).optional()})}),si=R({id:`anthropic.text_editor_20250429`,name:`str_replace_based_edit_tool`,inputSchema:i.object({command:i.enum([`view`,`create`,`str_replace`,`insert`]),path:i.string(),file_text:i.string().optional(),insert_line:i.number().int().optional(),new_str:i.string().optional(),old_str:i.string().optional(),view_range:i.array(i.number().int()).optional()})}),ci={bash_20241022:ti,bash_20250124:ni,codeExecution_20250522:Ur,computer_20241022:ri,computer_20250124:ii,textEditor_20241022:ai,textEditor_20250124:oi,textEditor_20250429:si,textEditor_20250728:jr,webFetch_20250910:zr,webSearch_20250305:Fr};function li(e={}){let t=Cr(e.baseURL)??`https://api.anthropic.com/v1`,n=()=>Hn({"anthropic-version":`2023-06-01`,"x-api-key":Jn({apiKey:e.apiKey,environmentVariableName:`ANTHROPIC_API_KEY`,description:`Anthropic`}),...e.headers},`ai-sdk/anthropic/${wr}`),r=r=>new Zr(r,{provider:`anthropic.messages`,baseURL:t,headers:n,fetch:e.fetch,generateId:e.generateId??Un,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=ci,i}li();function ui(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function di(e){return Object.fromEntries([...e.headers])}function fi(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 pi(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function mi(e,...t){let n=pi(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}var hi=(({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 gi(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var _i=[`fetch failed`,`failed to fetch`];function vi({error:e,url:t,requestBodyValues:n}){if(gi(e))return e;if(e instanceof TypeError&&_i.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 bi({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 xi=/"__proto__"\s*:/,Si=/"constructor"\s*:/;function Ci(e){let t=JSON.parse(e);return typeof t!=`object`||!t||xi.test(e)===!1&&Si.test(e)===!1?t:wi(t)}function wi(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 Ti(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return Ci(e)}finally{Error.stackTraceLimit=t}}var Ei=Symbol.for(`vercel.ai.validator`);function Di(e){return{[Ei]:!0,validate:e}}function Oi(e){return typeof e==`object`&&!!e&&Ei in e&&e[Ei]===!0&&`validate`in e}function ki(e){return Oi(e)?e:Ai(e)}function Ai(e){return Di(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 ji({value:e,schema:t}){let n=await Mi({value:e,schema:t});if(!n.success)throw F.wrap({value:e,cause:n.error});return n.value}async function Mi({value:e,schema:t}){let n=ki(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 Ni({text:e,schema:t}){try{let n=Ti(e);return t==null?n:ji({value:n,schema:t})}catch(t){throw M.isInstance(t)||F.isInstance(t)?t:new M({text:e,cause:t})}}async function Pi({text:e,schema:t}){try{let n=Ti(e);return t==null?{success:!0,value:n,rawValue:n}:await Mi({value:n,schema:t})}catch(t){return{success:!1,error:M.isInstance(t)?t:new M({text:e,cause:t}),rawValue:void 0}}}function Fi({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new D).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await Pi({text:e,schema:t}))}}))}async function Ii({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await Mi({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 Li=()=>globalThis.fetch,V=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>Ri({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),Ri=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=Li()})=>{try{let s=await o(e,{method:`POST`,headers:mi(t,`ai-sdk/provider-utils/${yi}`,fi()),body:n.content,signal:a}),c=di(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw gi(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&&(gi(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 vi({error:t,url:e,requestBodyValues:n.values})}};function zi(e){return e}function Bi({id:e,name:t,inputSchema:n}){return({execute:r,outputSchema:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>zi({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:i,execute:r,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}function Vi({id:e,name:t,inputSchema:n,outputSchema:r}){return({execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>zi({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 H(e){return typeof e==`function`&&(e=e()),Promise.resolve(e)}var Hi=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=di(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 Ni({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)})}}},Ui=e=>async({response:t})=>{let n=di(t);if(t.body==null)throw new A({});return{responseHeaders:n,value:Fi({stream:t.body,schema:e})}},U=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await Pi({text:i,schema:e}),o=di(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:Wi,atob:Gi}=globalThis;function Ki(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return Wi(t)}function qi(e){return e instanceof Uint8Array?Ki(e):e}function Ji(e){return e?.replace(/\/$/,``)}var Yi=`2.0.17`,Xi=i.object({error:i.object({code:i.number().nullable(),message:i.string(),status:i.string()})}),W=Hi({errorSchema:Xi,errorToMessage:e=>e.error.message}),Zi=i.object({outputDimensionality:i.number().optional(),taskType:i.enum([`SEMANTIC_SIMILARITY`,`CLASSIFICATION`,`CLUSTERING`,`RETRIEVAL_DOCUMENT`,`RETRIEVAL_QUERY`,`QUESTION_ANSWERING`,`FACT_VERIFICATION`,`CODE_RETRIEVAL_QUERY`]).optional()}),Qi=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 Ii({provider:`google`,providerOptions:r,schema:Zi});if(e.length>this.maxEmbeddingsPerCall)throw new On({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=ui(await H(this.config.headers),t);if(e.length===1){let{responseHeaders:t,value:r,rawValue:o}=await V({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:W,successfulResponseHandler:U(ea),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 V({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:W,successfulResponseHandler:U($i),abortSignal:n,fetch:this.config.fetch});return{embeddings:s.embeddings.map(e=>e.values),usage:void 0,response:{headers:o,body:c}}}},$i=i.object({embeddings:i.array(i.object({values:i.array(i.number())}))}),ea=i.object({embedding:i.object({values:i.array(i.number())})});function G(e){if(e==null||ta(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]=G(n),e),{})),a&&(p.items=Array.isArray(a)?a.map(G):G(a)),o&&(p.allOf=o.map(G)),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=G(e[0]);typeof t==`object`&&(p.nullable=!0,Object.assign(p,t))}else p.anyOf=e.map(G),p.nullable=!0}else p.anyOf=s.map(G);return c&&(p.oneOf=c.map(G)),d!==void 0&&(p.minLength=d),p}function ta(e){return typeof e==`object`&&!!e&&e.type===`object`&&(e.properties==null||Object.keys(e.properties).length===0)&&!e.additionalProperties}function na(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:qi(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:qi(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
|
-
|
|
9
|
-
`);r[0].parts.unshift({text:e+`
|
|
10
|
-
|
|
11
|
-
`})}return{systemInstruction:n.length>0&&!a?{parts:n}:void 0,contents:r}}function ra(e){return e.includes(`/`)?e:`models/${e}`}var ia=i.object({responseModalities:i.array(i.enum([`TEXT`,`IMAGE`])).optional(),thinkingConfig:i.object({thinkingBudget:i.number().optional(),includeThoughts:i.boolean().optional()}).optional(),cachedContent:i.string().optional(),structuredOutputs:i.boolean().optional(),safetySettings:i.array(i.object({category:i.enum([`HARM_CATEGORY_UNSPECIFIED`,`HARM_CATEGORY_HATE_SPEECH`,`HARM_CATEGORY_DANGEROUS_CONTENT`,`HARM_CATEGORY_HARASSMENT`,`HARM_CATEGORY_SEXUALLY_EXPLICIT`,`HARM_CATEGORY_CIVIC_INTEGRITY`]),threshold:i.enum([`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,`BLOCK_LOW_AND_ABOVE`,`BLOCK_MEDIUM_AND_ABOVE`,`BLOCK_ONLY_HIGH`,`BLOCK_NONE`,`OFF`])})).optional(),threshold:i.enum([`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,`BLOCK_LOW_AND_ABOVE`,`BLOCK_MEDIUM_AND_ABOVE`,`BLOCK_ONLY_HIGH`,`BLOCK_NONE`,`OFF`]).optional(),audioTimestamp:i.boolean().optional(),labels:i.record(i.string(),i.string()).optional()});function aa({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:G(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 oa({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 sa=i.object({web:i.object({uri:i.string(),title:i.string()}).nullish(),retrievedContext:i.object({uri:i.string(),title:i.string()}).nullish()}),ca=i.object({webSearchQueries:i.array(i.string()).nullish(),retrievalQueries:i.array(i.string()).nullish(),searchEntryPoint:i.object({renderedContent:i.string()}).nullish(),groundingChunks:i.array(sa).nullish(),groundingSupports:i.array(i.object({segment:i.object({startIndex:i.number().nullish(),endIndex:i.number().nullish(),text:i.string().nullish()}),segment_text:i.string().nullish(),groundingChunkIndices:i.array(i.number()).nullish(),supportChunkIndices:i.array(i.number()).nullish(),confidenceScores:i.array(i.number()).nullish(),confidenceScore:i.array(i.number()).nullish()})).nullish(),retrievalMetadata:i.union([i.object({webDynamicRetrievalScore:i.number()}),i.object({})]).nullish()}),la=Bi({id:`google.google_search`,name:`google_search`,inputSchema:i.object({mode:i.enum([`MODE_DYNAMIC`,`MODE_UNSPECIFIED`]).default(`MODE_UNSPECIFIED`),dynamicThreshold:i.number().default(1)})}),ua=i.object({retrievedUrl:i.string(),urlRetrievalStatus:i.string()}),da=i.object({urlMetadata:i.array(ua)}),fa=Bi({id:`google.url_context`,name:`url_context`,inputSchema:i.object({})}),pa=class{constructor(e,t){this.specificationVersion=`v2`,this.modelId=e,this.config=t,this.generateId=t.generateId??hi}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 Ii({provider:`google`,providerOptions:f,schema:ia});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:_}=na(e,{isGemmaModel:h}),{tools:v,toolConfig:y,toolWarnings:b}=aa({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)?G(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=ui(await H(this.config.headers),e.headers),{responseHeaders:a,value:o,rawValue:s}=await V({url:`${this.config.baseURL}/${ra(this.modelId)}:generateContent`,headers:i,body:t,failedResponseHandler:W,successfulResponseHandler:U(ba),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=ga({groundingMetadata:c.groundingMetadata,generateId:this.config.generateId})??[];for(let e of p)l.push(e);return{content:l,finishReason:oa({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=ui(await H(this.config.headers),e.headers),{responseHeaders:a,value:o}=await V({url:`${this.config.baseURL}/${ra(this.modelId)}:streamGenerateContent?alt=sse`,headers:i,body:t,failedResponseHandler:W,successfulResponseHandler:Ui(xa),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,_=ga({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=ha(o.parts);if(t!=null)for(let e of t)n.enqueue({type:`file`,mediaType:e.inlineData.mimeType,data:e.inlineData.data});let r=ma({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=oa({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 ma({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 ha(e){return e?.filter(e=>`inlineData`in e)}function ga({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 _a=i.object({parts:i.array(i.union([i.object({functionCall:i.object({name:i.string(),args:i.unknown()}),thoughtSignature:i.string().nullish()}),i.object({inlineData:i.object({mimeType:i.string(),data:i.string()})}),i.object({executableCode:i.object({language:i.string(),code:i.string()}).nullish(),codeExecutionResult:i.object({outcome:i.string(),output:i.string()}).nullish(),text:i.string().nullish(),thought:i.boolean().nullish(),thoughtSignature:i.string().nullish()})])).nullish()}),va=i.object({category:i.string().nullish(),probability:i.string().nullish(),probabilityScore:i.number().nullish(),severity:i.string().nullish(),severityScore:i.number().nullish(),blocked:i.boolean().nullish()}),ya=i.object({cachedContentTokenCount:i.number().nullish(),thoughtsTokenCount:i.number().nullish(),promptTokenCount:i.number().nullish(),candidatesTokenCount:i.number().nullish(),totalTokenCount:i.number().nullish()}),ba=i.object({candidates:i.array(i.object({content:_a.nullish().or(i.object({}).strict()),finishReason:i.string().nullish(),safetyRatings:i.array(va).nullish(),groundingMetadata:ca.nullish(),urlContextMetadata:da.nullish()})),usageMetadata:ya.nullish(),promptFeedback:i.object({blockReason:i.string().nullish(),safetyRatings:i.array(va).nullish()}).nullish()}),xa=i.object({candidates:i.array(i.object({content:_a.nullish(),finishReason:i.string().nullish(),safetyRatings:i.array(va).nullish(),groundingMetadata:ca.nullish(),urlContextMetadata:da.nullish()})).nullish(),usageMetadata:ya.nullish(),promptFeedback:i.object({blockReason:i.string().nullish(),safetyRatings:i.array(va).nullish()}).nullish()}),Sa=Vi({id:`google.code_execution`,name:`code_execution`,inputSchema:i.object({language:i.string().describe(`The programming language of the code.`),code:i.string().describe(`The code to be executed.`)}),outputSchema:i.object({outcome:i.string().describe(`The outcome of the execution (e.g., "OUTCOME_OK").`),output:i.string().describe(`The output from the code execution.`)})}),Ca={googleSearch:la,urlContext:fa,codeExecution:Sa},wa=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 Ii({provider:`google`,providerOptions:s,schema:Ea}),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 V({url:`${this.config.baseURL}/models/${this.modelId}:predict`,headers:ui(await H(this.config.headers),c),body:m,failedResponseHandler:W,successfulResponseHandler:U(Ta),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}}}},Ta=i.object({predictions:i.array(i.object({bytesBase64Encoded:i.string()})).default([])}),Ea=i.object({personGeneration:i.enum([`dont_allow`,`allow_adult`,`allow_all`]).nullish(),aspectRatio:i.enum([`1:1`,`3:4`,`4:3`,`9:16`,`16:9`]).nullish()});function Da(e={}){let t=Ji(e.baseURL)??`https://generativelanguage.googleapis.com/v1beta`,n=()=>mi({"x-goog-api-key":bi({apiKey:e.apiKey,environmentVariableName:`GOOGLE_GENERATIVE_AI_API_KEY`,description:`Google Generative AI`}),...e.headers},`ai-sdk/google/${Yi}`),r=r=>new pa(r,{provider:`google.generative-ai`,baseURL:t,headers:n,generateId:e.generateId??hi,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 Qi(r,{provider:`google.generative-ai`,baseURL:t,headers:n,fetch:e.fetch}),a=(r,i={})=>new wa(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=Ca,o}Da();function K(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function q(e){return Object.fromEntries([...e.headers])}function Oa(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 ka(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function Aa(e,...t){let n=ka(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}var J=(({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 ja(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var Ma=[`fetch failed`,`failed to fetch`];function Na({error:e,url:t,requestBodyValues:n}){if(ja(e))return e;if(e instanceof TypeError&&Ma.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 Pa=`3.0.10`;function Fa({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 Ia({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 La(e){let[t,n=``]=e.toLowerCase().split(`/`);return{mpeg:`mp3`,"x-wav":`wav`,opus:`ogg`,mp4:`m4a`,"x-m4a":`m4a`}[n]??n}var Ra=/"__proto__"\s*:/,za=/"constructor"\s*:/;function Ba(e){let t=JSON.parse(e);return typeof t!=`object`||!t||Ra.test(e)===!1&&za.test(e)===!1?t:Va(t)}function Va(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 Ha(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return Ba(e)}finally{Error.stackTraceLimit=t}}var Ua=Symbol.for(`vercel.ai.validator`);function Wa(e){return{[Ua]:!0,validate:e}}function Ga(e){return typeof e==`object`&&!!e&&Ua in e&&e[Ua]===!0&&`validate`in e}function Ka(e){return Ga(e)?e:qa(e)}function qa(e){return Wa(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 Ja({value:e,schema:t}){let n=await Ya({value:e,schema:t});if(!n.success)throw F.wrap({value:e,cause:n.error});return n.value}async function Ya({value:e,schema:t}){let n=Ka(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 Xa({text:e,schema:t}){try{let n=Ha(e);return t==null?n:Ja({value:n,schema:t})}catch(t){throw M.isInstance(t)||F.isInstance(t)?t:new M({text:e,cause:t})}}async function Za({text:e,schema:t}){try{let n=Ha(e);return t==null?{success:!0,value:n,rawValue:n}:await Ya({value:n,schema:t})}catch(t){return{success:!1,error:M.isInstance(t)?t:new M({text:e,cause:t}),rawValue:void 0}}}function Qa(e){try{return Ha(e),!0}catch{return!1}}function $a({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new D).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await Za({text:e,schema:t}))}}))}async function Y({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await Ya({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 eo=()=>globalThis.fetch,X=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>no({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),to=async({url:e,headers:t,formData:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>no({url:e,headers:t,body:{content:n,values:Object.fromEntries(n.entries())},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),no=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=eo()})=>{try{let s=await o(e,{method:`POST`,headers:Aa(t,`ai-sdk/provider-utils/${Pa}`,Oa()),body:n.content,signal:a}),c=q(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw ja(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&&(ja(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 Na({error:t,url:e,requestBodyValues:n.values})}};function ro(e){return e}function io({id:e,name:t,inputSchema:n}){return({execute:r,outputSchema:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>ro({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:i,execute:r,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}function ao({id:e,name:t,inputSchema:n,outputSchema:r}){return({execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>ro({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:r,execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}var oo=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=q(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 Xa({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)})}}},so=e=>async({response:t})=>{let n=q(t);if(t.body==null)throw new A({});return{responseHeaders:n,value:$a({stream:t.body,schema:e})}},Z=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await Za({text:i,schema:e}),o=q(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}},co=()=>async({response:e,url:t,requestBodyValues:n})=>{let r=q(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:lo,atob:uo}=globalThis;function fo(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=uo(t);return Uint8Array.from(n,e=>e.codePointAt(0))}function po(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return lo(t)}function Q(e){return e instanceof Uint8Array?po(e):e}function mo(e){return e?.replace(/\/$/,``)}var ho=i.object({error:i.object({message:i.string(),type:i.string().nullish(),param:i.any().nullish(),code:i.union([i.string(),i.number()]).nullish()})}),$=oo({errorSchema:ho,errorToMessage:e=>e.error.message});function go({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,${Q(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:Q(e.data),format:`wav`}};case`audio/mp3`:case`audio/mpeg`:return{type:`input_audio`,input_audio:{data:Q(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,${Q(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 _o({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 vo(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 yo=i.object({logitBias:i.record(i.coerce.number(),i.number()).optional(),logprobs:i.union([i.boolean(),i.number()]).optional(),parallelToolCalls:i.boolean().optional(),user:i.string().optional(),reasoningEffort:i.enum([`minimal`,`low`,`medium`,`high`]).optional(),maxCompletionTokens:i.number().optional(),store:i.boolean().optional(),metadata:i.record(i.string().max(64),i.string().max(512)).optional(),prediction:i.record(i.string(),i.any()).optional(),structuredOutputs:i.boolean().optional(),serviceTier:i.enum([`auto`,`flex`,`priority`]).optional(),strictJsonSchema:i.boolean().optional(),textVerbosity:i.enum([`low`,`medium`,`high`]).optional(),promptCacheKey:i.string().optional(),safetyIdentifier:i.string().optional()});function bo({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 xo=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 Y({provider:`openai`,providerOptions:f,schema:yo})??{},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:_}=go({prompt:e,systemMessageMode:Oo(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};To(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`&&!Eo(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`&&!Do(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}=bo({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 X({url:this.config.url({path:`/chat/completions`,modelId:this.modelId}),headers:K(this.config.headers(),e.headers),body:t,failedResponseHandler:$,successfulResponseHandler:Z(Co),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??J(),toolName:e.function.name,input:e.function.arguments});for(let e of o.message.annotations??[])s.push({type:`source`,sourceType:`url`,id:J(),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:vo(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:{..._o(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 X({url:this.config.url({path:`/chat/completions`,modelId:this.modelId}),headers:K(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:so(wo),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`,..._o(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=vo(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 dn({data:e,message:`Expected 'function' type.`});if(e.id==null)throw new dn({data:e,message:`Expected 'id' to be a string.`});if(e.function?.name==null)throw new dn({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}),Qa(r.function.arguments)&&(n.enqueue({type:`tool-input-end`,id:r.id}),n.enqueue({type:`tool-call`,toolCallId:r.id??J(),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&&Qa(r.function.arguments)&&(n.enqueue({type:`tool-input-end`,id:r.id}),n.enqueue({type:`tool-call`,toolCallId:r.id??J(),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:J(),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}}}},So=i.object({prompt_tokens:i.number().nullish(),completion_tokens:i.number().nullish(),total_tokens:i.number().nullish(),prompt_tokens_details:i.object({cached_tokens:i.number().nullish()}).nullish(),completion_tokens_details:i.object({reasoning_tokens:i.number().nullish(),accepted_prediction_tokens:i.number().nullish(),rejected_prediction_tokens:i.number().nullish()}).nullish()}).nullish(),Co=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({message:i.object({role:i.literal(`assistant`).nullish(),content:i.string().nullish(),tool_calls:i.array(i.object({id:i.string().nullish(),type:i.literal(`function`),function:i.object({name:i.string(),arguments:i.string()})})).nullish(),annotations:i.array(i.object({type:i.literal(`url_citation`),start_index:i.number(),end_index:i.number(),url:i.string(),title:i.string()})).nullish()}),index:i.number(),logprobs:i.object({content:i.array(i.object({token:i.string(),logprob:i.number(),top_logprobs:i.array(i.object({token:i.string(),logprob:i.number()}))})).nullish()}).nullish(),finish_reason:i.string().nullish()})),usage:So}),wo=i.union([i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({delta:i.object({role:i.enum([`assistant`]).nullish(),content:i.string().nullish(),tool_calls:i.array(i.object({index:i.number(),id:i.string().nullish(),type:i.literal(`function`).nullish(),function:i.object({name:i.string().nullish(),arguments:i.string().nullish()})})).nullish(),annotations:i.array(i.object({type:i.literal(`url_citation`),start_index:i.number(),end_index:i.number(),url:i.string(),title:i.string()})).nullish()}).nullish(),logprobs:i.object({content:i.array(i.object({token:i.string(),logprob:i.number(),top_logprobs:i.array(i.object({token:i.string(),logprob:i.number()}))})).nullish()}).nullish(),finish_reason:i.string().nullish(),index:i.number()})),usage:So}),ho]);function To(e){return(e.startsWith(`o`)||e.startsWith(`gpt-5`))&&!e.startsWith(`gpt-5-chat`)}function Eo(e){return e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`)}function Do(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 Oo(e){return To(e)?ko[e]?.systemMessageMode??`developer`:`system`}var ko={"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 Ao({prompt:e,user:t=`user`,assistant:n=`assistant`}){let r=``;e[0].role===`system`&&(r+=`${e[0].content}
|
|
12
|
-
|
|
13
|
-
`,e=e.slice(1));for(let{role:i,content:a}of e)switch(i){case`system`:throw new on({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
|
-
${e}
|
|
15
|
-
|
|
16
|
-
`;break}case`assistant`:{let e=a.map(e=>{switch(e.type){case`text`:return e.text;case`tool-call`:throw new I({functionality:`tool-call messages`})}}).join(``);r+=`${n}:
|
|
17
|
-
${e}
|
|
18
|
-
|
|
19
|
-
`;break}case`tool`:throw new I({functionality:`tool messages`});default:{let e=i;throw Error(`Unsupported role: ${e}`)}}return r+=`${n}:
|
|
20
|
-
`,{prompt:r,stopSequences:[`
|
|
21
|
-
${t}:`]}}function jo({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 Mo(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 No=i.object({echo:i.boolean().optional(),logitBias:i.record(i.string(),i.number()).optional(),suffix:i.string().optional(),user:i.string().optional(),logprobs:i.union([i.boolean(),i.number()]).optional()}),Po=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 Y({provider:`openai`,providerOptions:f,schema:No}),...await Y({provider:this.providerOptionsName,providerOptions:f,schema:No})};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}=Ao({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 X({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:K(this.config.headers(),e.headers),body:t,failedResponseHandler:$,successfulResponseHandler:Z(Io),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:Mo(o.finish_reason),request:{body:t},response:{...jo(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 X({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:K(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:so(Lo),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`,...jo(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=Mo(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}}}},Fo=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number()}),Io=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({text:i.string(),finish_reason:i.string(),logprobs:i.object({tokens:i.array(i.string()),token_logprobs:i.array(i.number()),top_logprobs:i.array(i.record(i.string(),i.number())).nullish()}).nullish()})),usage:Fo.nullish()}),Lo=i.union([i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({text:i.string(),finish_reason:i.string().nullish(),index:i.number(),logprobs:i.object({tokens:i.array(i.string()),token_logprobs:i.array(i.number()),top_logprobs:i.array(i.record(i.string(),i.number())).nullish()}).nullish()})),usage:Fo.nullish()}),ho]),Ro=i.object({dimensions:i.number().optional(),user:i.string().optional()}),zo=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 On({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let i=await Y({provider:`openai`,providerOptions:r,schema:Ro})??{},{responseHeaders:a,value:o,rawValue:s}=await X({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:K(this.config.headers(),t),body:{model:this.modelId,input:e,encoding_format:`float`,dimensions:i.dimensions,user:i.user},failedResponseHandler:$,successfulResponseHandler:Z(Bo),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}}}},Bo=i.object({data:i.array(i.object({embedding:i.array(i.number())})),usage:i.object({prompt_tokens:i.number()}).nullish()}),Vo={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},Ho=new Set([`gpt-image-1`]),Uo=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get maxImagesPerCall(){return Vo[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 X({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:K(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...a.openai??{},...Ho.has(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:$,successfulResponseHandler:Z(Wo),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)}}}}},Wo=i.object({data:i.array(i.object({b64_json:i.string(),revised_prompt:i.string().optional()}))}),Go=i.object({code:i.string().nullish(),containerId:i.string()}),Ko=i.object({outputs:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`logs`),logs:i.string()}),i.object({type:i.literal(`image`),url:i.string()})])).nullish()}),qo=i.object({container:i.union([i.string(),i.object({fileIds:i.array(i.string()).optional()})]).optional()}),Jo=ao({id:`openai.code_interpreter`,name:`code_interpreter`,inputSchema:Go,outputSchema:Ko}),Yo=(e={})=>Jo(e),Xo=i.object({key:i.string(),type:i.enum([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`]),value:i.union([i.string(),i.number(),i.boolean()])}),Zo=i.object({type:i.enum([`and`,`or`]),filters:i.array(i.union([Xo,i.lazy(()=>Zo)]))}),Qo=i.object({vectorStoreIds:i.array(i.string()),maxNumResults:i.number().optional(),ranking:i.object({ranker:i.string().optional(),scoreThreshold:i.number().optional()}).optional(),filters:i.union([Xo,Zo]).optional()}),$o=i.object({queries:i.array(i.string()),results:i.array(i.object({attributes:i.record(i.string(),i.unknown()),fileId:i.string(),filename:i.string(),score:i.number(),text:i.string()})).nullable()}),es=ao({id:`openai.file_search`,name:`file_search`,inputSchema:i.object({}),outputSchema:$o}),ts=i.object({background:i.enum([`auto`,`opaque`,`transparent`]).optional(),inputFidelity:i.enum([`low`,`high`]).optional(),inputImageMask:i.object({fileId:i.string().optional(),imageUrl:i.string().optional()}).optional(),model:i.string().optional(),moderation:i.enum([`auto`]).optional(),outputCompression:i.number().int().min(0).max(100).optional(),outputFormat:i.enum([`png`,`jpeg`,`webp`]).optional(),quality:i.enum([`auto`,`low`,`medium`,`high`]).optional(),size:i.enum([`1024x1024`,`1024x1536`,`1536x1024`,`auto`]).optional()}).strict(),ns=i.object({result:i.string()}),rs=ao({id:`openai.image_generation`,name:`image_generation`,inputSchema:i.object({}),outputSchema:ns}),os=(e={})=>rs(e),ss=i.object({action:i.object({type:i.literal(`exec`),command:i.array(i.string()),timeoutMs:i.number().optional(),user:i.string().optional(),workingDirectory:i.string().optional(),env:i.record(i.string(),i.string()).optional()})}),cs=i.object({output:i.string()}),ls=ao({id:`openai.local_shell`,name:`local_shell`,inputSchema:ss,outputSchema:cs}),us=i.object({filters:i.object({allowedDomains:i.array(i.string()).optional()}).optional(),searchContextSize:i.enum([`low`,`medium`,`high`]).optional(),userLocation:i.object({type:i.literal(`approximate`),country:i.string().optional(),city:i.string().optional(),region:i.string().optional(),timezone:i.string().optional()}).optional()}),ds=io({id:`openai.web_search`,name:`web_search`,inputSchema:i.object({action:i.discriminatedUnion(`type`,[i.object({type:i.literal(`search`),query:i.string().nullish()}),i.object({type:i.literal(`open_page`),url:i.string()}),i.object({type:i.literal(`find`),url:i.string(),pattern:i.string()})]).nullish()})}),fs=(e={})=>ds(e),ps=i.object({searchContextSize:i.enum([`low`,`medium`,`high`]).optional(),userLocation:i.object({type:i.literal(`approximate`),country:i.string().optional(),city:i.string().optional(),region:i.string().optional(),timezone:i.string().optional()}).optional()}),ms=io({id:`openai.web_search_preview`,name:`web_search_preview`,inputSchema:i.object({action:i.discriminatedUnion(`type`,[i.object({type:i.literal(`search`),query:i.string().nullish()}),i.object({type:i.literal(`open_page`),url:i.string()}),i.object({type:i.literal(`find`),url:i.string(),pattern:i.string()})]).nullish()})}),hs={codeInterpreter:Yo,fileSearch:es,imageGeneration:os,localShell:ls,webSearchPreview:ms,webSearch:fs};function gs(e,t){return t?t.some(t=>e.startsWith(t)):!1}async function _s({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`&&gs(e.data,n)?{file_id:e.data}:{image_url:`data:${t};base64,${Q(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`&&gs(e.data,n)?{file_id:e.data}:{filename:e.filename??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${Q(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=ss.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 Y({provider:`openai`,providerOptions:n.providerOptions,schema:vs}),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:cs.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 vs=i.object({itemId:i.string().nullish(),reasoningEncryptedContent:i.string().nullish()});function ys({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 bs({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=Qo.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=ps.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=us.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=qo.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=ts.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 xs=i.object({type:i.literal(`web_search_call`),id:i.string(),status:i.string(),action:i.discriminatedUnion(`type`,[i.object({type:i.literal(`search`),query:i.string().nullish()}),i.object({type:i.literal(`open_page`),url:i.string()}),i.object({type:i.literal(`find`),url:i.string(),pattern:i.string()})]).nullish()}),Ss=i.object({type:i.literal(`file_search_call`),id:i.string(),queries:i.array(i.string()),results:i.array(i.object({attributes:i.record(i.string(),i.unknown()),file_id:i.string(),filename:i.string(),score:i.number(),text:i.string()})).nullish()}),Cs=i.object({type:i.literal(`code_interpreter_call`),id:i.string(),code:i.string().nullable(),container_id:i.string(),outputs:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`logs`),logs:i.string()}),i.object({type:i.literal(`image`),url:i.string()})])).nullable()}),ws=i.object({type:i.literal(`local_shell_call`),id:i.string(),call_id:i.string(),action:i.object({type:i.literal(`exec`),command:i.array(i.string()),timeout_ms:i.number().optional(),user:i.string().optional(),working_directory:i.string().optional(),env:i.record(i.string(),i.string()).optional()})}),Ts=i.object({type:i.literal(`image_generation_call`),id:i.string(),result:i.string()}),Es=20,Ds=i.array(i.object({token:i.string(),logprob:i.number(),top_logprobs:i.array(i.object({token:i.string(),logprob:i.number()}))})),Os=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=rc(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 Y({provider:`openai`,providerOptions:l,schema:ic}),{input:g,warnings:_}=await _s({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?Es:void 0;S&&b(`message.output_text.logprobs`);let ee=u?.find(e=>e.type===`provider-defined`&&(e.id===`openai.web_search`||e.id===`openai.web_search_preview`))?.name;ee&&b(`web_search_call.action.sources`),x(`openai.code_interpreter`)&&b(`code_interpreter_call.outputs`);let C={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?(C.temperature!=null&&(C.temperature=void 0,p.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),C.top_p!=null&&(C.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 C.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 C.service_tier);let{tools:te,toolChoice:ne,toolWarnings:re}=bs({tools:u,toolChoice:d,strictJsonSchema:v});return{webSearchToolName:ee,args:{...C,tools:te,tool_choice:ne},warnings:[...p,...re]}}async doGenerate(e){var t,n;let{args:r,warnings:a,webSearchToolName:o}=await this.getArgs(e),s=this.config.url({path:`/responses`,modelId:this.modelId}),{responseHeaders:c,value:l,rawValue:u}=await X({url:s,headers:K(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:Z(i.object({id:i.string(),created_at:i.number(),error:i.object({code:i.string(),message:i.string()}).nullish(),model:i.string(),output:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`message`),role:i.literal(`assistant`),id:i.string(),content:i.array(i.object({type:i.literal(`output_text`),text:i.string(),logprobs:Ds.nullish(),annotations:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`url_citation`),start_index:i.number(),end_index:i.number(),url:i.string(),title:i.string()}),i.object({type:i.literal(`file_citation`),file_id:i.string(),filename:i.string().nullish(),index:i.number().nullish(),start_index:i.number().nullish(),end_index:i.number().nullish(),quote:i.string().nullish()}),i.object({type:i.literal(`container_file_citation`)})]))}))}),xs,Ss,Cs,Ts,ws,i.object({type:i.literal(`function_call`),call_id:i.string(),name:i.string(),arguments:i.string(),id:i.string()}),i.object({type:i.literal(`computer_call`),id:i.string(),status:i.string().optional()}),i.object({type:i.literal(`reasoning`),id:i.string(),encrypted_content:i.string().nullish(),summary:i.array(i.object({type:i.literal(`summary_text`),text:i.string()}))})])),service_tier:i.string().nullish(),incomplete_details:i.object({reason:i.string()}).nullish(),usage:ks})),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)??J(),url:e.url,title:e.title}):e.type===`file_citation`&&d.push({type:`source`,sourceType:`document`,id:(n=this.config).generateId?.call(n)??J(),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:ys({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:a}}async doStream(e){let{args:t,warnings:n,webSearchToolName:r}=await this.getArgs(e),{responseHeaders:i,value:a}=await X({url:this.config.url({path:`/responses`,modelId:this.modelId}),headers:K(this.config.headers(),e.headers),body:{...t,stream:!0},failedResponseHandler:$,successfulResponseHandler:so(Hs),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(Zs(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}}}):Qs(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(Ws(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(Gs(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(Js(g)){let e=d[g.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:g.delta})}else if(Ys(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(Xs(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 qs(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})):Us(g)?(n.enqueue({type:`text-delta`,id:g.item_id,delta:g.delta}),e.providerOptions?.openai?.logprobs&&g.logprobs&&l.push(g.logprobs)):ec(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}}})):tc(g)?n.enqueue({type:`reasoning-delta`,id:`${g.item_id}:${g.summary_index}`,delta:g.delta,providerMetadata:{openai:{itemId:g.item_id}}}):Ks(g)?(s=ys({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)):$s(g)?g.annotation.type===`url_citation`?n.enqueue({type:`source`,sourceType:`url`,id:(a=o.config).generateId?.call(a)??J(),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)??J(),mediaType:`text/plain`,title:g.annotation.quote??g.annotation.filename??`Document`,filename:g.annotation.filename??g.annotation.file_id}):nc(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}}}},ks=i.object({input_tokens:i.number(),input_tokens_details:i.object({cached_tokens:i.number().nullish()}).nullish(),output_tokens:i.number(),output_tokens_details:i.object({reasoning_tokens:i.number().nullish()}).nullish()}),As=i.object({type:i.literal(`response.output_text.delta`),item_id:i.string(),delta:i.string(),logprobs:Ds.nullish()}),js=i.object({type:i.literal(`error`),code:i.string(),message:i.string(),param:i.string().nullish(),sequence_number:i.number()}),Ms=i.object({type:i.enum([`response.completed`,`response.incomplete`]),response:i.object({incomplete_details:i.object({reason:i.string()}).nullish(),usage:ks,service_tier:i.string().nullish()})}),Ns=i.object({type:i.literal(`response.created`),response:i.object({id:i.string(),created_at:i.number(),model:i.string(),service_tier:i.string().nullish()})}),Ps=i.object({type:i.literal(`response.output_item.added`),output_index:i.number(),item:i.discriminatedUnion(`type`,[i.object({type:i.literal(`message`),id:i.string()}),i.object({type:i.literal(`reasoning`),id:i.string(),encrypted_content:i.string().nullish()}),i.object({type:i.literal(`function_call`),id:i.string(),call_id:i.string(),name:i.string(),arguments:i.string()}),i.object({type:i.literal(`web_search_call`),id:i.string(),status:i.string(),action:i.object({type:i.literal(`search`),query:i.string().optional()}).nullish()}),i.object({type:i.literal(`computer_call`),id:i.string(),status:i.string()}),i.object({type:i.literal(`file_search_call`),id:i.string()}),i.object({type:i.literal(`image_generation_call`),id:i.string()}),i.object({type:i.literal(`code_interpreter_call`),id:i.string(),container_id:i.string(),code:i.string().nullable(),outputs:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`logs`),logs:i.string()}),i.object({type:i.literal(`image`),url:i.string()})])).nullable(),status:i.string()})])}),Fs=i.object({type:i.literal(`response.output_item.done`),output_index:i.number(),item:i.discriminatedUnion(`type`,[i.object({type:i.literal(`message`),id:i.string()}),i.object({type:i.literal(`reasoning`),id:i.string(),encrypted_content:i.string().nullish()}),i.object({type:i.literal(`function_call`),id:i.string(),call_id:i.string(),name:i.string(),arguments:i.string(),status:i.literal(`completed`)}),Cs,Ts,xs,Ss,ws,i.object({type:i.literal(`computer_call`),id:i.string(),status:i.literal(`completed`)})])}),Is=i.object({type:i.literal(`response.function_call_arguments.delta`),item_id:i.string(),output_index:i.number(),delta:i.string()}),Ls=i.object({type:i.literal(`response.code_interpreter_call_code.delta`),item_id:i.string(),output_index:i.number(),delta:i.string()}),Rs=i.object({type:i.literal(`response.code_interpreter_call_code.done`),item_id:i.string(),output_index:i.number(),code:i.string()}),zs=i.object({type:i.literal(`response.output_text.annotation.added`),annotation:i.discriminatedUnion(`type`,[i.object({type:i.literal(`url_citation`),url:i.string(),title:i.string()}),i.object({type:i.literal(`file_citation`),file_id:i.string(),filename:i.string().nullish(),index:i.number().nullish(),start_index:i.number().nullish(),end_index:i.number().nullish(),quote:i.string().nullish()})])}),Bs=i.object({type:i.literal(`response.reasoning_summary_part.added`),item_id:i.string(),summary_index:i.number()}),Vs=i.object({type:i.literal(`response.reasoning_summary_text.delta`),item_id:i.string(),summary_index:i.number(),delta:i.string()}),Hs=i.union([As,Ms,Ns,Ps,Fs,Is,Ls,Rs,zs,Bs,Vs,js,i.object({type:i.string()}).loose()]);function Us(e){return e.type===`response.output_text.delta`}function Ws(e){return e.type===`response.output_item.done`}function Gs(e){return Ws(e)&&e.item.type===`reasoning`}function Ks(e){return e.type===`response.completed`||e.type===`response.incomplete`}function qs(e){return e.type===`response.created`}function Js(e){return e.type===`response.function_call_arguments.delta`}function Ys(e){return e.type===`response.code_interpreter_call_code.delta`}function Xs(e){return e.type===`response.code_interpreter_call_code.done`}function Zs(e){return e.type===`response.output_item.added`}function Qs(e){return Zs(e)&&e.item.type===`reasoning`}function $s(e){return e.type===`response.output_text.annotation.added`}function ec(e){return e.type===`response.reasoning_summary_part.added`}function tc(e){return e.type===`response.reasoning_summary_text.delta`}function nc(e){return e.type===`error`}function rc(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 ic=i.object({include:i.array(i.enum([`reasoning.encrypted_content`,`file_search_call.results`,`message.output_text.logprobs`])).nullish(),instructions:i.string().nullish(),logprobs:i.union([i.boolean(),i.number().min(1).max(Es)]).optional(),maxToolCalls:i.number().nullish(),metadata:i.any().nullish(),parallelToolCalls:i.boolean().nullish(),previousResponseId:i.string().nullish(),promptCacheKey:i.string().nullish(),reasoningEffort:i.string().nullish(),reasoningSummary:i.string().nullish(),safetyIdentifier:i.string().nullish(),serviceTier:i.enum([`auto`,`flex`,`priority`]).nullish(),store:i.boolean().nullish(),strictJsonSchema:i.boolean().nullish(),textVerbosity:i.enum([`low`,`medium`,`high`]).nullish(),user:i.string().nullish()}),ac=i.object({instructions:i.string().nullish(),speed:i.number().min(.25).max(4).default(1).nullish()}),oc=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 Y({provider:`openai`,providerOptions:o,schema:ac}),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 X({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:K(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:co(),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}}}},sc=i.object({include:i.array(i.string()).optional(),language:i.string().optional(),prompt:i.string().optional(),temperature:i.number().min(0).max(1).default(0).optional(),timestampGranularities:i.array(i.enum([`word`,`segment`])).default([`segment`]).optional()}),cc={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`},lc=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 Y({provider:`openai`,providerOptions:n,schema:sc}),a=new FormData,o=e instanceof Uint8Array?new Blob([e]):new Blob([fo(e)]);a.append(`model`,this.modelId);let s=La(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 to({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:K(this.config.headers(),e.headers),formData:r,failedResponseHandler:$,successfulResponseHandler:Z(uc),abortSignal:e.abortSignal,fetch:this.config.fetch}),c=a.language!=null&&a.language in cc?cc[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}}}},uc=i.object({text:i.string(),language:i.string().nullish(),duration:i.number().nullish(),words:i.array(i.object({word:i.string(),start:i.number(),end:i.number()})).nullish(),segments:i.array(i.object({id:i.number(),seek:i.number(),start:i.number(),end:i.number(),text:i.string(),tokens:i.array(i.number()),temperature:i.number(),avg_logprob:i.number(),compression_ratio:i.number(),no_speech_prob:i.number()})).nullish()}),dc=`2.0.42`;function fc(e={}){let t=mo(Ia({settingValue:e.baseURL,environmentVariableName:`OPENAI_BASE_URL`}))??`https://api.openai.com/v1`,n=e.name??`openai`,r=()=>Aa({Authorization:`Bearer ${Fa({apiKey:e.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers},`ai-sdk/openai/${dc}`),i=i=>new xo(i,{provider:`${n}.chat`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),a=i=>new Po(i,{provider:`${n}.completion`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),o=i=>new zo(i,{provider:`${n}.embedding`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),s=i=>new Uo(i,{provider:`${n}.image`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),c=i=>new lc(i,{provider:`${n}.transcription`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),l=i=>new oc(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 Os(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=hs,f}fc();function pc(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function mc(e){return Object.fromEntries([...e.headers])}function hc(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 gc(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function _c(e,...t){let n=gc(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 vc(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var yc=[`fetch failed`,`failed to fetch`];function bc({error:e,url:t,requestBodyValues:n}){if(vc(e))return e;if(e instanceof TypeError&&yc.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 xc=`3.0.10`,Sc=/"__proto__"\s*:/,Cc=/"constructor"\s*:/;function wc(e){let t=JSON.parse(e);return typeof t!=`object`||!t||Sc.test(e)===!1&&Cc.test(e)===!1?t:Tc(t)}function Tc(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 Ec(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return wc(e)}finally{Error.stackTraceLimit=t}}var Dc=Symbol.for(`vercel.ai.validator`);function Oc(e){return{[Dc]:!0,validate:e}}function kc(e){return typeof e==`object`&&!!e&&Dc in e&&e[Dc]===!0&&`validate`in e}function Ac(e){return kc(e)?e:jc(e)}function jc(e){return Oc(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 Mc({value:e,schema:t}){let n=await Nc({value:e,schema:t});if(!n.success)throw F.wrap({value:e,cause:n.error});return n.value}async function Nc({value:e,schema:t}){let n=Ac(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 Pc({text:e,schema:t}){try{let n=Ec(e);return t==null?n:Mc({value:n,schema:t})}catch(t){throw M.isInstance(t)||F.isInstance(t)?t:new M({text:e,cause:t})}}async function Fc({text:e,schema:t}){try{let n=Ec(e);return t==null?{success:!0,value:n,rawValue:n}:await Nc({value:n,schema:t})}catch(t){return{success:!1,error:M.isInstance(t)?t:new M({text:e,cause:t}),rawValue:void 0}}}var Ic=()=>globalThis.fetch,Lc=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>Rc({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),Rc=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=Ic()})=>{try{let s=await o(e,{method:`POST`,headers:_c(t,`ai-sdk/provider-utils/${xc}`,hc()),body:n.content,signal:a}),c=mc(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw vc(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&&(vc(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 bc({error:t,url:e,requestBodyValues:n.values})}},zc=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=mc(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 Pc({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)})}}},Bc=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await Fc({text:i,schema:e}),o=mc(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;i.object({user:i.string().optional(),reasoningEffort:i.string().optional()});var Uc={errorSchema:i.object({error:i.object({message:i.string(),type:i.string().nullish(),param:i.any().nullish(),code:i.union([i.string(),i.number()]).nullish()})}),errorToMessage:e=>e.error.message},Wc=i.object({prompt_tokens:i.number().nullish(),completion_tokens:i.number().nullish(),total_tokens:i.number().nullish(),prompt_tokens_details:i.object({cached_tokens:i.number().nullish()}).nullish(),completion_tokens_details:i.object({reasoning_tokens:i.number().nullish(),accepted_prediction_tokens:i.number().nullish(),rejected_prediction_tokens:i.number().nullish()}).nullish()}).nullish();i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({message:i.object({role:i.literal(`assistant`).nullish(),content:i.string().nullish(),reasoning_content:i.string().nullish(),reasoning:i.string().nullish(),tool_calls:i.array(i.object({id:i.string().nullish(),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),finish_reason:i.string().nullish()})),usage:Wc}),i.object({echo:i.boolean().optional(),logitBias:i.record(i.string(),i.number()).optional(),suffix:i.string().optional(),user:i.string().optional()});var Gc=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number()});i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({text:i.string(),finish_reason:i.string()})),usage:Gc.nullish()}),i.object({dimensions:i.number().optional(),user:i.string().optional()}),i.object({data:i.array(i.object({embedding:i.array(i.number())})),usage:i.object({prompt_tokens:i.number()}).nullish(),providerMetadata:i.record(i.string(),i.record(i.string(),i.any())).optional()});var Kc=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 Lc({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:pc(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...a.openai??{},response_format:`b64_json`},failedResponseHandler:zc(this.config.errorStructure??Uc),successfulResponseHandler:Bc(qc),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}}}},qc=i.object({data:i.array(i.object({b64_json:i.string()}))});function Jc(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function Yc(e){return Object.fromEntries([...e.headers])}function Xc(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 Zc(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function Qc(e,...t){let n=Zc(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}var $c=(({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 el(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var tl=[`fetch failed`,`failed to fetch`];function nl({error:e,url:t,requestBodyValues:n}){if(el(e))return e;if(e instanceof TypeError&&tl.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 rl=`3.0.10`;function il({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 al=/"__proto__"\s*:/,ol=/"constructor"\s*:/;function sl(e){let t=JSON.parse(e);return typeof t!=`object`||!t||al.test(e)===!1&&ol.test(e)===!1?t:cl(t)}function cl(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 ll(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return sl(e)}finally{Error.stackTraceLimit=t}}var ul=Symbol.for(`vercel.ai.validator`);function dl(e){return{[ul]:!0,validate:e}}function fl(e){return typeof e==`object`&&!!e&&ul in e&&e[ul]===!0&&`validate`in e}function pl(e){return fl(e)?e:ml(e)}function ml(e){return dl(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 hl({value:e,schema:t}){let n=await gl({value:e,schema:t});if(!n.success)throw F.wrap({value:e,cause:n.error});return n.value}async function gl({value:e,schema:t}){let n=pl(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 _l({text:e,schema:t}){try{let n=ll(e);return t==null?n:hl({value:n,schema:t})}catch(t){throw M.isInstance(t)||F.isInstance(t)?t:new M({text:e,cause:t})}}async function vl({text:e,schema:t}){try{let n=ll(e);return t==null?{success:!0,value:n,rawValue:n}:await gl({value:n,schema:t})}catch(t){return{success:!1,error:M.isInstance(t)?t:new M({text:e,cause:t}),rawValue:void 0}}}function yl({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new D).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await vl({text:e,schema:t}))}}))}async function bl({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await gl({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 xl=()=>globalThis.fetch,Sl=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>Cl({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),Cl=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=xl()})=>{try{let s=await o(e,{method:`POST`,headers:Qc(t,`ai-sdk/provider-utils/${rl}`,Xc()),body:n.content,signal:a}),c=Yc(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw el(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&&(el(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 nl({error:t,url:e,requestBodyValues:n.values})}},wl=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=Yc(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 _l({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)})}}},Tl=e=>async({response:t})=>{let n=Yc(t);if(t.body==null)throw new A({});return{responseHeaders:n,value:yl({stream:t.body,schema:e})}},El=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await vl({text:i,schema:e}),o=Yc(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:Dl,atob:Ol}=globalThis;function kl(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return Dl(t)}function Al(e){return e instanceof Uint8Array?kl(e):e}function jl(e){return e?.replace(/\/$/,``)}function Ml(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,${Al(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 Nl({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 Pl(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 Fl=i.object({type:i.literal(`web`),country:i.string().length(2).optional(),excludedWebsites:i.array(i.string()).max(5).optional(),allowedWebsites:i.array(i.string()).max(5).optional(),safeSearch:i.boolean().optional()}),Il=i.object({type:i.literal(`x`),excludedXHandles:i.array(i.string()).optional(),includedXHandles:i.array(i.string()).optional(),postFavoriteCount:i.number().int().optional(),postViewCount:i.number().int().optional(),xHandles:i.array(i.string()).optional()}),Ll=i.object({type:i.literal(`news`),country:i.string().length(2).optional(),excludedWebsites:i.array(i.string()).max(5).optional(),safeSearch:i.boolean().optional()}),Rl=i.object({type:i.literal(`rss`),links:i.array(i.string().url()).max(1)}),zl=i.discriminatedUnion(`type`,[Fl,Il,Ll,Rl]),Bl=i.object({reasoningEffort:i.enum([`low`,`high`]).optional(),searchParameters:i.object({mode:i.enum([`off`,`auto`,`on`]),returnCitations:i.boolean().optional(),fromDate:i.string().optional(),toDate:i.string().optional(),maxSearchResults:i.number().min(1).max(50).optional(),sources:i.array(zl).optional()}).optional()}),Vl=i.object({error:i.object({message:i.string(),type:i.string().nullish(),param:i.any().nullish(),code:i.union([i.string(),i.number()]).nullish()})}),Hl=wl({errorSchema:Vl,errorToMessage:e=>e.error.message});function Ul({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 Wl=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 bl({provider:`xai`,providerOptions:u,schema:Bl})??{};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}=Ml(e);p.push(...g);let{tools:_,toolChoice:v,toolWarnings:y}=Ul({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 Sl({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:Jc(this.config.headers(),e.headers),body:t,failedResponseHandler:Hl,successfulResponseHandler:El(Kl),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:Pl(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:{...Nl(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 Sl({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:Jc(this.config.headers(),e.headers),body:r,failedResponseHandler:Hl,successfulResponseHandler:Tl(ql),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`,...Nl(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=Pl(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}}}},Gl=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number(),completion_tokens_details:i.object({reasoning_tokens:i.number().nullish()}).nullish()}),Kl=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({message:i.object({role:i.literal(`assistant`),content:i.string().nullish(),reasoning_content:i.string().nullish(),tool_calls:i.array(i.object({id:i.string(),type:i.literal(`function`),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),index:i.number(),finish_reason:i.string().nullish()})),object:i.literal(`chat.completion`),usage:Gl,citations:i.array(i.string().url()).nullish()}),ql=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({delta:i.object({role:i.enum([`assistant`]).optional(),content:i.string().nullish(),reasoning_content:i.string().nullish(),tool_calls:i.array(i.object({id:i.string(),type:i.literal(`function`),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),finish_reason:i.string().nullish(),index:i.number()})),usage:Gl.nullish(),citations:i.array(i.string().url()).nullish()}),Jl=`2.0.23`,Yl={errorSchema:Vl,errorToMessage:e=>e.error.message};function Xl(e={}){let t=jl(e.baseURL??`https://api.x.ai/v1`),n=()=>Qc({Authorization:`Bearer ${il({apiKey:e.apiKey,environmentVariableName:`XAI_API_KEY`,description:`xAI API key`})}`,...e.headers},`ai-sdk/xai/${Jl}`),r=r=>new Wl(r,{provider:`xai.chat`,baseURL:t,headers:n,generateId:$c,fetch:e.fetch}),i=r=>new Kc(r,{provider:`xai.image`,url:({path:e})=>`${t}${e}`,headers:n,fetch:e.fetch,errorStructure:Yl}),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}Xl();function Zl(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 Ql(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 D).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=>p({model:e,prompt:[{role:`user`,content:[{type:`text`,text:`Hello, world!`}]}]}).toUIMessageStream();switch(t){case`openai-chat`:return n(fc({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`openai-response`:return n(fc({apiKey:`ignored`,fetch:(t,n)=>e}).responses(`fake-model`));case`anthropic`:return n(li({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`google`:return n(Da({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`xai`:return n(Xl({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));default:throw Error(`Unsupported response format: ${t}`)}}const $l=`BLINK_API_URL`;function eu(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var tu=class{_lockP=null;async lock(){let e=this._lockP,{promise:t,resolve:n}=eu();return this._lockP=t,await e,n}withLock(e){return ru(this.lock(),e)}},nu=class{_lock=new tu;_writeP=null;_readP=[];read(){return this._lock.withLock(async()=>{await this._writeP;let{promise:e,resolve:t}=eu();return this._readP.push(e),t})}withRead(e){return ru(this.read(),e)}async write(){return await this._lock.withLock(async()=>{await this._writeP,await Promise.all(this._readP);let{promise:e,resolve:t}=eu();return this._writeP=e,this._readP=[],t})}withWrite(e){return ru(this.write(),e)}};async function ru(e,t){let n=await e;try{return await t()}finally{n()}}var iu=class{constructor(e){this.onRelease=e}[Symbol.dispose](){this.onRelease()}},au=class{constructor(e){this.onRelease=e}[Symbol.dispose](){this.onRelease()}},ou=class{_lock=new nu;async read(){let e=await this._lock.read();return new iu(e)}async write(){let e=await this._lock.write();return new au(e)}},su=class{baseUrl;client;constructor(e){this.client=Lt(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),Ql(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 cu({id:e,agent:t,messages:n,signal:r,shouldContinueStreaming:i=lu}){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=f({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 lu=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(u);return n.length===0||n.some(e=>je(e.output)&&e.output.outcome===`pending`)?!1:n.every(e=>e.state.startsWith(`output-`))},uu=(e,t,n=crypto.randomUUID())=>({created_at:new Date().toISOString(),...e,id:n,metadata:e.metadata,mode:t});function du(e){return typeof e==`object`&&e?.__blink_internal!==void 0}function fu(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 pu=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=St(e.chatsDirectory,`id`),this.serializeMessage=e.serializeMessage,this.filterMessages=e.filterMessages,this.onError=e.onError,this.watcher=Ct(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=>!du(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${o(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=>!u(e)||e.input!==``?e:{...e,input:{}})})),n.u(await this.agent.lock.read());let s=performance.now(),c=await cu({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)},d=c.getReader();i.signal.addEventListener(`abort`,()=>{d.cancel().catch(()=>{})},{once:!0});let f;try{for(;;){let{done:e,value:t}=await d.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{d.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,$l as APIServerURLEnvironmentVariable,pu as ChatManager,su as Client,ke as CustomChatResponseError,A as EmptyResponseBodyError,D as EventSourceParserStream,j as InvalidArgumentError,M as JSONParseError,P as NoSuchModelError,ou as RWLock,F as TypeValidationError,He as checkOptionalParameter,ve as completeAssign,uu as convertMessage,li as createAnthropic,Oe as createCustomAbortControllerSignal,St as createDiskStore,fc as createOpenAI,Et as createParser,qe as decodeURIComponent_,Ee as ensureDisposableStackRegisteredForTerminateEvents,v as fakePromise,_t as getLockInfo,ze as getPath,Be as getPathNoStrict,Ie as getPattern,Ge as getQueryParam,Ke as getQueryParams,xe as handleAbortSignalAndPromiseResponse,ye as handleErrorFromRequestHandler,_ as handleMaybePromise,Lt as hc,fe as isFetchEvent,fu as isLogMessage,le as isNodeRequest,h as isPromise,_e as isRequestInit,ue as isServerResponse,du as isStoredMessageMetadata,je as isToolApprovalOutput,be as isolateObject,b as iterateAsync,Zl as lastUIOptions,ht as lock,Ve as mergePath,se as normalizeNodeRequest,Xe as parse,he as sendNodeResponse,Me as splitPath,Ne as splitRoutingPath,Ae as tools,Le as tryDecode,te as unfakePromise};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{__require as e}from"./chunk-D9KrCrVq.js";import{import_websocket_server as t}from"./wrapper-DRdRnzOz.js";import{_usingCtx as n}from"./usingCtx-B1FpoePI.js";import"./events-DKgZ2LNM.js";import{Buffer as r}from"node:buffer";import{Server as i}from"@blink-sdk/compute-protocol/server";let a=function(e){return e[e.DATA=0]=`DATA`,e[e.CLOSE=1]=`CLOSE`,e[e.ERROR=2]=`ERROR`,e}({});var o=class{static MAX_POOL_SIZE=100;static COMMON_SIZES=[64,256,1024,4096,16384];static pools=new Map;static{for(let e of this.COMMON_SIZES)this.pools.set(e,[])}static acquire(e){for(let t of this.COMMON_SIZES)if(t>=e){let e=this.pools.get(t);if(e&&e.length>0)return e.pop();break}return new Uint8Array(e)}static release(e){let t=e.length;for(let n of this.COMMON_SIZES)if(n===t){let t=this.pools.get(n);t&&t.length<this.MAX_POOL_SIZE&&t.push(e);break}}},s=class e{static HEADER_SIZE=4;static MAX_FRAME_SIZE=1024*1024-e.HEADER_SIZE;static encode(e){let t=e.payload.length;if(t>this.MAX_FRAME_SIZE)throw Error(`Frame payload too large: ${t} > ${this.MAX_FRAME_SIZE}`);let n=this.HEADER_SIZE+t,r=o.acquire(n),i=e.streamId<<8|e.type<<4|e.flags&15;return r[0]=i>>>24&255,r[1]=i>>>16&255,r[2]=i>>>8&255,r[3]=i&255,t>0&&r.set(e.payload,this.HEADER_SIZE),r.length===n?r:r.subarray(0,n)}static encodeTyped(t,n,r,i,a){let s=1+a.length;if(s>this.MAX_FRAME_SIZE)throw Error(`Frame payload too large: ${s} > ${this.MAX_FRAME_SIZE}`);let c=this.HEADER_SIZE+s,l=o.acquire(c),u=t<<8|n<<4|r&15;return l[0]=u>>>24&255,l[1]=u>>>16&255,l[2]=u>>>8&255,l[3]=u&255,l[e.HEADER_SIZE]=i&255,a.length>0&&l.set(a,e.HEADER_SIZE+1),l.length===c?l:l.subarray(0,c)}static decode(t){if(t.length<e.HEADER_SIZE)throw Error(`Invalid frame: too short (${t.length} < ${e.HEADER_SIZE})`);let n=t[0]<<24|t[1]<<16|t[2]<<8|t[3],r=n>>>8,i=n&255,a=i>>>4,o=i&15,s=t.length>e.HEADER_SIZE?t.subarray(e.HEADER_SIZE):new Uint8Array;return{streamId:r,type:a,flags:o,payload:s}}static releaseBuffer(e){o.release(e)}static getMaxPayloadSize(){return e.MAX_FRAME_SIZE}};const c={GIT_TERMINAL_PROMPT:`0`,GIT_PAGER:`cat`,GIT_AUTHOR_NAME:`blink-so[bot]`,GIT_AUTHOR_EMAIL:`211532188+blink-so[bot]@users.noreply.github.com`,GIT_COMMITTER_NAME:`blink-so[bot]`,GIT_COMMITTER_EMAIL:`211532188+blink-so[bot]@users.noreply.github.com`,GIT_CONFIG_COUNT:`1`,GIT_CONFIG_KEY_0:`credential.https://github.com.helper`,GIT_CONFIG_VALUE_0:`!gh auth git-credential`},l=e=>{if(Array.isArray(e)){let t=r.concat(e);return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}return e instanceof Uint8Array?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)},u=(e,t)=>{let n=s.encode({streamId:t,type:e.type,flags:e.flags,payload:e.payload});return{buffer:r.from(n.buffer,n.byteOffset,n.byteLength),release:()=>s.releaseBuffer(n)}},d=(e,t)=>s.encode({streamId:t,type:e.type,flags:e.flags,payload:e.payload}),f=e=>new Promise(t=>{if(e.address()){t();return}e.once(`listening`,()=>t())}),p=(e,t)=>{let n=e.address();return typeof n==`object`&&n?n.port:typeof n==`number`?n:t};async function m(o={}){let m=o.logger??console;for(let[e,t]of Object.entries(c))process.env[e]===void 0&&(process.env[e]=t);let h=o.port??(process.env.PORT?parseInt(process.env.PORT,10):22137);if(isNaN(h))throw Error(`PORT environment variable is not a number`);let g=o.host??process.env.HOST??`127.0.0.1`,_;try{_=e(`@lydell/node-pty`)}catch{}typeof Bun<`u`&&(_=void 0);let v=new Set,y=new Map,b=1,x=e=>{for(let t of v)t.ws.send(r.from(e))},S=(e,t)=>{let n=e.serverToClientStream.get(t);n!==void 0&&(e.serverToClientStream.delete(t),e.clientToServerStream.delete(n)),y.delete(t)},C=new i({nodePty:_,send:e=>{try{var t=n();let r;t.u({[Symbol.dispose](){s.releaseBuffer(e)}});try{r=s.decode(e)}catch(e){m.error(`Failed to decode server frame`,e);return}let i=y.get(r.streamId);if(i){let e=i.serverToClientStream.get(r.streamId);if(e===void 0){S(i,r.streamId);return}let{buffer:t,release:n}=u(r,e);try{i.ws.send(t)}finally{n()}(r.type===a.CLOSE||r.type===a.ERROR)&&S(i,r.streamId);return}r.streamId%2==0&&x(e)}catch(e){t.e=e}finally{t.d()}}}),w=()=>{let e=b;return b+=2,e},T=e=>{let t=d(e,e.streamId);try{C.handleMessage(t)}finally{s.releaseBuffer(t)}},E=o.createWebSocketServer?.({port:h,host:g})??new t.default({port:h,host:g});await f(E);let D=p(E,h);return m.info(`Compute server running on ${g}:${D}`),E.on(`connection`,e=>{m.info(`Client connected`);let t={ws:e,clientToServerStream:new Map,serverToClientStream:new Map};v.add(t),e.on(`message`,n=>{if(typeof n==`string`){m.warn(`Ignoring unexpected text message from client`);return}let r=l(n),i;try{i=s.decode(r)}catch(t){m.error(`Failed to decode client frame`,t),e.close(1002,`invalid frame`);return}let o=t.clientToServerStream.get(i.streamId);o===void 0&&(o=w(),t.clientToServerStream.set(i.streamId,o),t.serverToClientStream.set(o,i.streamId),y.set(o,t)),i.streamId=o,T(i),(i.type===a.CLOSE||i.type===a.ERROR)&&S(t,o)});let n=()=>{for(let e of[...t.serverToClientStream.keys()]){let n={streamId:e,type:a.CLOSE,flags:0,payload:new Uint8Array};T(n),S(t,e)}};e.on(`close`,()=>{n(),v.delete(t),m.info(`Client disconnected`)}),e.on(`error`,()=>{n(),v.delete(t)})}),E}export{m as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./wrapper-DRdRnzOz.js";import"./events-DKgZ2LNM.js";import{WorkspaceConnect as e,connect as t}from"./connect-t56RPJRB.js";export{e as WorkspaceConnect,t as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{__require as e}from"./chunk-D9KrCrVq.js";import{wrapper_default as t}from"./wrapper-DRdRnzOz.js";import{Emitter as n}from"./events-DKgZ2LNM.js";import r from"node:path";import i from"node:fs";import a from"node:os";import{Server as o}from"@blink-sdk/compute-protocol/server";const s=r.join(a.tmpdir(),`blink-connect-${process.pid}.log`),c=e=>{if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}},l=async e=>{let t=`${new Date().toISOString()} ${e}\n`;try{await i.promises.appendFile(s,t,`utf8`)}catch{}};async function u(){let e=process.env.BLINK_URL,t=process.env.BLINK_TOKEN;delete process.env.BLINK_TOKEN,process.env.GIT_TERMINAL_PROMPT=`0`,process.env.GIT_PAGER=`cat`,process.env.GIT_AUTHOR_NAME=`blink-so[bot]`,process.env.GIT_AUTHOR_EMAIL=`211532188+blink-so[bot]@users.noreply.github.com`,process.env.GIT_COMMITTER_NAME=`blink-so[bot]`,process.env.GIT_COMMITTER_EMAIL=`211532188+blink-so[bot]@users.noreply.github.com`,process.env.GIT_CONFIG_COUNT=`1`,process.env.GIT_CONFIG_KEY_0=`credential.https://github.com.helper`,process.env.GIT_CONFIG_VALUE_0=`!gh auth git-credential`,process.addListener(`uncaughtException`,e=>{l(`uncaughtException: ${c(e)}`),d(t,e)}),process.addListener(`unhandledRejection`,e=>{l(`unhandledRejection: ${c(e)}`),d(t,e)});let n=new f({url:e??`wss://blink.so/api/connect`,token:t,createDeploymentFromTar:async n=>{let r=new URL(`/api/static-deployment`,e??`https://blink.so`);return(await(await fetch(r,{method:`POST`,body:n,headers:{"Content-Type":`application/tar`,Authorization:`Bearer ${t}`},duplex:`half`})).json()).deployment_id}});n.onConnect(()=>{console.log(`Connected`),l(`Connected`)}),n.onDisconnect(()=>{console.log(`Disconnected`),l(`Disconnected`)})}const d=async(e,t)=>{let n=new URL(`https://blink.so/api/connect-error`);await fetch(n.toString(),{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${e}`},body:JSON.stringify({error:t})})};var f=class{_onConnect=new n;onConnect=this._onConnect.event;_onDisconnect=new n;onDisconnect=this._onDisconnect.event;reconnectTimeout=null;disposed=!1;ws;server;hasReconnectedOnce=!1;constructor(n){this.opts=n;let r;try{r=e(`@lydell/node-pty`)}catch{}typeof Bun<`u`&&(r=void 0),this.server=new o({send:e=>{this.ws.readyState===t.OPEN?this.ws.send(e):console.warn(`Message skipped because connection is closed.`)},createDeploymentFromTar:this.opts.createDeploymentFromTar,nodePty:r}),this.connect()}dispose(){this.disposed||(this.disposed=!0,this.ws.close(),this.reconnectTimeout&&clearTimeout(this.reconnectTimeout))}scheduleReconnect(){if(this.disposed)return;let e=this.opts.immediateReconnectFirst??!0,t=this.opts.reconnectionDelay??2500;!this.hasReconnectedOnce&&e&&(t=0),this.hasReconnectedOnce=!0,this.reconnectTimeout&&clearTimeout(this.reconnectTimeout),this.reconnectTimeout=setTimeout(()=>{this.connect()},t)}connect(){let e=new URL(this.opts.url);e.protocol===`http:`?e.protocol=`ws:`:e.protocol===`https:`&&(e.protocol=`wss:`);let n={};this.opts.token&&(n.Authorization=`Bearer ${this.opts.token}`),this.ws=new t(e.toString(),{headers:n}),this.ws.addEventListener(`open`,()=>{this._onConnect.emit()}),this.ws.addEventListener(`close`,()=>{this._onDisconnect.emit(),!this.disposed&&this.scheduleReconnect()}),this.ws.addEventListener(`error`,e=>{console.error(`Error`,e.message??e)}),this.ws.addEventListener(`message`,e=>{if(typeof e.data==`string`){console.warn(`Message skipped because it is not a buffer.`);return}try{this.server.handleMessage(new Uint8Array(e.data))}catch(e){console.error(`message handler error`,e);try{this.ws.close(1011)}catch{}}})}};export{f as WorkspaceConnect,u as connect};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{dirname as e,join as t}from"path";import{existsSync as n,mkdirSync as r,readFileSync as i,unlinkSync as a,writeFileSync as o}from"fs";import{z as s}from"zod";function c(e){return t(e,`.blink`,`devhook.txt`)}function l(e){return n(c(e))}function u(e){let t=c(e);if(n(t))return i(t,`utf-8`).trim()}function d(t){let a=c(t);if(r(e(a),{recursive:!0}),n(a))return i(a,`utf-8`);let s=crypto.randomUUID();return o(a,s),s}function f(e){let t=c(e);n(t)&&a(t)}function p(e){return`https://api.slack.com/apps?new_app=1&manifest_json=${encodeURIComponent(JSON.stringify(e))}`}const m=s.union([s.literal(`app_mention`).describe(`Bot is @mentioned in a channel or conversation. Requires scope: app_mentions:read`),s.literal(`app_home_opened`).describe(`User opened the app's Home tab. No additional scope required beyond bot token`),s.literal(`app_installed`).describe(`App was installed to a workspace. No additional scope required beyond bot token`),s.literal(`app_uninstalled`).describe(`App was uninstalled from a workspace. No additional scope required beyond bot token`),s.literal(`assistant_thread_context_changed`).describe(`Context changed in an assistant thread. Requires scope: assistant:write`),s.literal(`assistant_thread_started`).describe(`New assistant thread was started. Requires scope: assistant:write`),s.literal(`channel_archive`).describe(`Public channel was archived. Requires scope: channels:read`),s.literal(`channel_created`).describe(`Public channel was created. Requires scope: channels:read`),s.literal(`channel_deleted`).describe(`Public channel was deleted. Requires scope: channels:read`),s.literal(`channel_rename`).describe(`Public channel was renamed. Requires scope: channels:read`),s.literal(`channel_unarchive`).describe(`Public channel was unarchived. Requires scope: channels:read`),s.literal(`dnd_updated_user`).describe(`User's Do Not Disturb settings changed. Requires scope: dnd:read`),s.literal(`email_domain_changed`).describe(`Workspace's email domain changed. Requires scope: team:read`),s.literal(`emoji_changed`).describe(`Custom emoji was added or changed. Requires scope: emoji:read`),s.literal(`file_change`).describe(`File was changed. Requires scope: files:read`),s.literal(`file_created`).describe(`File was created. Requires scope: files:read`),s.literal(`file_deleted`).describe(`File was deleted. Requires scope: files:read`),s.literal(`file_public`).describe(`File was made public. Requires scope: files:read`),s.literal(`file_shared`).describe(`File was shared. Requires scope: files:read`),s.literal(`file_unshared`).describe(`File was unshared. Requires scope: files:read`),s.literal(`group_archive`).describe(`Private channel was archived. Requires scope: groups:read`),s.literal(`group_deleted`).describe(`Private channel was deleted. Requires scope: groups:read`),s.literal(`group_rename`).describe(`Private channel was renamed. Requires scope: groups:read`),s.literal(`group_unarchive`).describe(`Private channel was unarchived. Requires scope: groups:read`),s.literal(`link_shared`).describe(`Link from a registered domain was shared. Requires scope: links:read`),s.literal(`member_joined_channel`).describe(`User joined a public or private channel. Requires scope: channels:read (public) or groups:read (private)`),s.literal(`member_left_channel`).describe(`User left a public or private channel. Requires scope: channels:read (public) or groups:read (private)`),s.literal(`message.channels`).describe(`Message was posted in a public channel. Requires scope: channels:history`),s.literal(`message.groups`).describe(`Message was posted in a private channel. Requires scope: groups:history`),s.literal(`message.im`).describe(`Message was posted in a direct message. Requires scope: im:history`),s.literal(`message.mpim`).describe(`Message was posted in a multi-party direct message. Requires scope: mpim:history`),s.literal(`pin_added`).describe(`Item was pinned in a channel. Requires scope: pins:read`),s.literal(`pin_removed`).describe(`Item was unpinned from a channel. Requires scope: pins:read`),s.literal(`reaction_added`).describe(`Reaction was added to a message. Requires scope: reactions:read`),s.literal(`reaction_removed`).describe(`Reaction was removed from a message. Requires scope: reactions:read`),s.literal(`team_join`).describe(`New user joined the workspace. Requires scope: users:read`),s.literal(`user_change`).describe(`User's profile or settings changed. Requires scope: users:read`)]),h=s.union([s.literal(`app_mentions:read`).describe(`Read messages that directly mention the bot. Required for: app_mention event`),s.literal(`assistant:write`).describe(`Update bot status and write assistant messages. This should *always* be included for Slack bots. It improves the UX dramatically for users. Required for: assistant_thread_context_changed, assistant_thread_started events`),s.literal(`channels:history`).describe(`Read message history in public channels the bot has access to. Required for: message.channels event`),s.literal(`channels:join`).describe(`Join public channels`),s.literal(`channels:manage`).describe(`Manage public channels (archive, rename, etc.)`),s.literal(`channels:read`).describe(`View basic information about public channels. Required for: channel_archive, channel_created, channel_deleted, channel_rename, channel_unarchive, member_joined_channel, member_left_channel events`),s.literal(`chat:write`).describe(`Send messages as the bot`),s.literal(`chat:write.customize`).describe(`Send messages with a customized username and avatar`),s.literal(`chat:write.public`).describe(`Send messages to public channels without joining`),s.literal(`commands`).describe(`Add and use slash commands`),s.literal(`dnd:read`).describe(`View Do Not Disturb settings for users. Required for: dnd_updated_user event`),s.literal(`emoji:read`).describe(`View custom emoji in the workspace. Required for: emoji_changed event`),s.literal(`files:read`).describe(`View files shared in channels and conversations. Required for: file_change, file_created, file_deleted, file_public, file_shared, file_unshared events`),s.literal(`files:write`).describe(`Upload, edit, and delete files`),s.literal(`groups:history`).describe(`Read message history in private channels the bot has access to. Required for: message.groups event`),s.literal(`groups:read`).describe(`View basic information about private channels. Required for: group_archive, group_deleted, group_rename, group_unarchive, member_joined_channel, member_left_channel events`),s.literal(`groups:write`).describe(`Manage private channels (archive, rename, create, etc.)`),s.literal(`im:history`).describe(`Read message history in direct messages with the bot. Required for: message.im event`),s.literal(`im:read`).describe(`View basic information about direct messages with the bot`),s.literal(`im:write`).describe(`Start and manage direct messages with users`),s.literal(`links:read`).describe(`View URLs in messages. Required for: link_shared event`),s.literal(`links:write`).describe(`Show previews of URLs (unfurling)`),s.literal(`metadata.message:read`).describe(`Read message metadata`),s.literal(`mpim:history`).describe(`Read message history in multi-party direct messages. Required for: message.mpim event`),s.literal(`mpim:read`).describe(`View basic information about multi-party direct messages`),s.literal(`mpim:write`).describe(`Start and manage multi-party direct messages`),s.literal(`pins:read`).describe(`View pinned items in channels and conversations. Required for: pin_added, pin_removed events`),s.literal(`pins:write`).describe(`Pin and unpin items in channels and conversations`),s.literal(`reactions:read`).describe(`View emoji reactions on messages. Required for: reaction_added, reaction_removed events`),s.literal(`reactions:write`).describe(`Add and remove emoji reactions to messages`),s.literal(`reminders:read`).describe(`View reminders created by the bot`),s.literal(`reminders:write`).describe(`Create, update, and delete reminders`),s.literal(`team:read`).describe(`View workspace name, domain, and other basic information. Required for: email_domain_changed event`),s.literal(`usergroups:read`).describe(`View user groups and their members`),s.literal(`usergroups:write`).describe(`Create, update, and archive user groups`),s.literal(`users.profile:read`).describe(`View profile information about users`),s.literal(`users:read`).describe(`View users in the workspace. Required for: team_join, user_change events`),s.literal(`users:read.email`).describe(`View email addresses of users in the workspace`),s.literal(`users:write`).describe(`Set presence and status for the bot user`)]),g=s.union([s.literal(`channels:history`).describe(`Read message history in public channels on behalf of the user`),s.literal(`channels:read`).describe(`View basic information about public channels on behalf of the user`),s.literal(`channels:write`).describe(`Manage public channels on behalf of the user`),s.literal(`chat:write`).describe(`Send messages on behalf of the user`),s.literal(`emoji:read`).describe(`View custom emoji on behalf of the user`),s.literal(`files:read`).describe(`View files on behalf of the user`),s.literal(`files:write`).describe(`Upload, edit, and delete files on behalf of the user`),s.literal(`groups:history`).describe(`Read message history in private channels on behalf of the user`),s.literal(`groups:read`).describe(`View basic information about private channels on behalf of the user`),s.literal(`groups:write`).describe(`Manage private channels on behalf of the user`),s.literal(`im:history`).describe(`Read direct message history on behalf of the user`),s.literal(`im:read`).describe(`View basic information about direct messages on behalf of the user`),s.literal(`im:write`).describe(`Manage direct messages on behalf of the user`),s.literal(`links:read`).describe(`View URLs in messages on behalf of the user`),s.literal(`links:write`).describe(`Show URL previews on behalf of the user`),s.literal(`mpim:history`).describe(`Read multi-party direct message history on behalf of the user`),s.literal(`mpim:read`).describe(`View basic information about multi-party direct messages on behalf of the user`),s.literal(`mpim:write`).describe(`Manage multi-party direct messages on behalf of the user`),s.literal(`pins:read`).describe(`View pinned items on behalf of the user`),s.literal(`pins:write`).describe(`Pin and unpin items on behalf of the user`),s.literal(`reactions:read`).describe(`View emoji reactions on behalf of the user`),s.literal(`reactions:write`).describe(`Add and remove emoji reactions on behalf of the user`),s.literal(`reminders:read`).describe(`View reminders on behalf of the user`),s.literal(`reminders:write`).describe(`Create, update, and delete reminders on behalf of the user`),s.literal(`search:read`).describe(`Search messages and files on behalf of the user`),s.literal(`stars:read`).describe(`View starred items on behalf of the user`),s.literal(`stars:write`).describe(`Star and unstar items on behalf of the user`),s.literal(`team:read`).describe(`View workspace information on behalf of the user`),s.literal(`usergroups:read`).describe(`View user groups on behalf of the user`),s.literal(`usergroups:write`).describe(`Manage user groups on behalf of the user`),s.literal(`users.profile:read`).describe(`View user profile information on behalf of the user`),s.literal(`users.profile:write`).describe(`Edit the user's profile information`),s.literal(`users:read`).describe(`View users in the workspace on behalf of the user`),s.literal(`users:read.email`).describe(`View email addresses on behalf of the user`),s.literal(`users:write`).describe(`Set presence for the user`)]),_=s.object({display_information:s.object({name:s.string().describe(`The name of the Slack app.`),description:s.string().optional().describe(`A short description of the app.`),background_color:s.string().regex(/^#[0-9A-Fa-f]{6}$/).optional().describe(`Background color for the app in hex format (e.g., #4A154B).`),long_description:s.string().optional().describe(`A longer description of the app.`)}).describe(`Display information for the Slack app.`),features:s.object({bot_user:s.object({display_name:s.string().describe(`The display name for the bot user.`),always_online:s.boolean().optional().default(!0).describe(`Whether the bot always appears online.`)}).optional().describe(`Configuration for the bot user.`),app_home:s.object({home_tab_enabled:s.boolean().optional().describe(`Enable the Home tab.`),messages_tab_enabled:s.boolean().optional().describe(`Enable the Messages tab.`),messages_tab_read_only_enabled:s.boolean().optional().describe(`Make the Messages tab read-only.`)}).optional().describe(`Configuration for the App Home. If specified, the "bot" scope is *REQUIRED*.`),assistant_view:s.object({assistant_description:s.string().optional().describe(`Description for the assistant view.`)}).optional().describe(`Configuration for the assistant view.`),slash_commands:s.array(s.object({command:s.string().regex(/^\//).describe(`The command (must start with /).`),description:s.string().describe(`Description of the command.`),usage_hint:s.string().optional().describe(`Usage hint for the command.`),should_escape:s.boolean().optional().describe(`Whether to escape special characters.`)})).optional().describe(`Slash commands for the app.`),unfurl_domains:s.array(s.string()).optional().describe(`Domains for link unfurling.`)}).optional().describe(`Features configuration for the Slack app.`),oauth_config:s.object({redirect_urls:s.array(s.url()).optional().describe(`OAuth redirect URLs.`),scopes:s.object({bot:s.array(s.union([h,s.string()])).optional().describe(`Bot scopes required by the app. Each scope defines specific permissions for what the bot can do.`),user:s.array(s.union([g,s.string()])).optional().describe(`User scopes required by the app. Each scope defines specific permissions for actions performed on behalf of users.`)}).describe(`OAuth scopes for bot and user tokens.`)}).describe(`OAuth configuration for the Slack app.`),settings:s.object({event_subscriptions:s.object({request_url:s.string().url().describe(`The webhook URL for event subscriptions.`),bot_events:s.array(s.union([m,s.string()])).optional().describe(`Bot events to subscribe to. Each event notifies your app when specific actions occur in the workspace.`)}).optional().describe(`Event subscriptions configuration.`),interactivity:s.object({is_enabled:s.boolean().describe(`Enable interactivity.`),request_url:s.string().url().describe(`The webhook URL for interactive components.`),message_menu_options_url:s.string().url().optional().describe(`URL for message menu options.`)}).optional().describe(`Interactivity configuration.`),org_deploy_enabled:s.boolean().optional().default(!1).describe(`Enable organization-wide deployment.`),socket_mode_enabled:s.boolean().optional().default(!1).describe(`Enable Socket Mode.`),token_rotation_enabled:s.boolean().optional().default(!1).describe(`Enable automatic token rotation.`)}).optional().describe(`Settings for the Slack app.`)});export{d as createDevhookID,p as createSlackApp,_ as createSlackAppSchema,u as getDevhookID,l as hasDevhook,f as resetDevhookID};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=class{listeners=[];get event(){return e=>(this.listeners.push(e),{dispose:()=>{this.listeners=this.listeners.filter(t=>t!==e)}})}emit(e){for(let t=this.listeners.length-1;t>=0;t--)this.listeners[t]?.(e)}dispose(){this.listeners=[]}};export{e as Emitter};
|