@shawnstack/quickforge 1.3.14 → 1.3.15
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/README.md +348 -348
- package/dist/assets/{anthropic-DGgbbhP2.js → anthropic-BT3d4VOP.js} +1 -1
- package/dist/assets/{azure-openai-responses-iVkKls8h.js → azure-openai-responses-48tpKUXk.js} +1 -1
- package/dist/assets/{google-CfWayb6J.js → google-BYapAGwA.js} +1 -1
- package/dist/assets/{google-gemini-cli-BKFbEcDj.js → google-gemini-cli-BnkyGSNu.js} +1 -1
- package/dist/assets/{google-vertex-Di6pCCaT.js → google-vertex-E_DV02Ii.js} +1 -1
- package/dist/assets/{index-CgTJgJ5U.js → index-BLH5UHZ2.js} +472 -453
- package/dist/assets/{mistral-DGp-bWeK.js → mistral-CTSjsKBm.js} +1 -1
- package/dist/assets/{openai-codex-responses-CFSjwMXz.js → openai-codex-responses-Db9Q_SPJ.js} +1 -1
- package/dist/assets/{openai-completions-DlNb8Upk.js → openai-completions-CL6yyDHL.js} +1 -1
- package/dist/assets/{openai-responses-DulHAAeh.js → openai-responses-BBcr7NqZ.js} +1 -1
- package/dist/assets/{openai-responses-shared-BWikZIo_.js → openai-responses-shared-BMUh_Lci.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/server/agent-manager.mjs +97 -3
- package/server/auto-compaction.mjs +21 -1
- package/server/routes/agent.mjs +27 -0
- package/server/tools/definitions.mjs +1 -1
- package/server/tools/index.mjs +745 -712
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,i as t,r as n,s as r,t as i}from"./index-CgTJgJ5U.js";import{a,i as o,r as s,t as c}from"./transform-messages-CV4kCtBB.js";import{t as l}from"./hash-Bt1aVMQ3.js";var u=Object.prototype.hasOwnProperty;function d(e,t){let n=/\{([a-zA-Z0-9_][a-zA-Z0-9_-]*?)\}/g;return function(r={}){return e.replace(n,function(e,n){if(!u.call(r,n))throw Error(`Parameter '${n}' is required`);let i=r[n];if(typeof i!=`string`&&typeof i!=`number`)throw Error(`Parameter '${n}' must be a string or number`);return t?.charEncoding===`percent`?encodeURIComponent(`${i}`):`${i}`}).replace(/^\/+/,``)}}var f={eu:`https://api.mistral.ai`};function p(e){let t=e.serverURL,n={};t||=f[e.server??`eu`]||``;let r=d(t)(n);return new URL(r)}var m={language:`typescript`,openapiDocVersion:`1.0.0`,sdkVersion:`2.2.1`,genVersion:`2.881.4`,userAgent:`speakeasy-sdk/typescript 2.2.1 2.881.4 1.0.0 @mistralai/mistralai`};async function h(e){let t=e.getReader(),n=[],r=0,i=!1;for(;!i;){let{value:e,done:a}=await t.read();a?i=!0:(n.push(e),r+=e.length)}let a=new Uint8Array(r),o=0;for(let e of n)a.set(e,o),o+=e.length;return a.buffer}function g(e){if(!e)return null;let t=e.toLowerCase().split(`.`).pop();return t&&{json:`application/json`,xml:`application/xml`,html:`text/html`,htm:`text/html`,txt:`text/plain`,csv:`text/csv`,pdf:`application/pdf`,png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,svg:`image/svg+xml`,js:`application/javascript`,css:`text/css`,zip:`application/zip`,tar:`application/x-tar`,gz:`application/gzip`,mp4:`video/mp4`,mp3:`audio/mpeg`,wav:`audio/wav`,webp:`image/webp`,ico:`image/x-icon`,woff:`font/woff`,woff2:`font/woff2`,ttf:`font/ttf`,otf:`font/otf`}[t]||null}function _(e,t){return e instanceof Uint8Array?new Blob([new Uint8Array(e)],{type:t}):new Blob([e],{type:t})}var v=(e,t)=>t==null?fetch(e):fetch(e,t),ee=class e{options;fetcher;requestHooks=[];requestErrorHooks=[];responseHooks=[];constructor(e={}){this.options=e,this.fetcher=e.fetcher||v}async request(e){let t=e;for(let e of this.requestHooks){let n=await e(t);n&&(t=n)}try{let e=await this.fetcher(t);for(let n of this.responseHooks)await n(e,t);return e}catch(e){for(let n of this.requestErrorHooks)await n(e,t);throw e}}addHook(...e){if(e[0]===`beforeRequest`)this.requestHooks.push(e[1]);else if(e[0]===`requestError`)this.requestErrorHooks.push(e[1]);else if(e[0]===`response`)this.responseHooks.push(e[1]);else throw Error(`Invalid hook type: ${e[0]}`);return this}removeHook(...e){let t;if(e[0]===`beforeRequest`)t=this.requestHooks;else if(e[0]===`requestError`)t=this.requestErrorHooks;else if(e[0]===`response`)t=this.responseHooks;else throw Error(`Invalid hook type: ${e[0]}`);let n=t.findIndex(t=>t===e[1]);return n>=0&&t.splice(n,1),this}clone(){let t=new e(this.options);return t.requestHooks=this.requestHooks.slice(),t.requestErrorHooks=this.requestErrorHooks.slice(),t.responseHooks=this.responseHooks.slice(),t}},te=/\s*;\s*/g;function ne(e,t){if(t===`*`)return!0;let n=e.headers.get(`content-type`)?.trim()||`application/octet-stream`;n=n.toLowerCase();let[r=``,...i]=t.toLowerCase().trim().split(te);if(r.split(`/`).length!==2)return!1;let[a=``,...o]=n.split(te),[s=``,c=``]=a.split(`/`);if(!s||!c||r!==`*/*`&&a!==r&&`${s}/*`!==r&&`*/${c}`!==r||o.length<i.length)return!1;let l=new Set(o);for(let e of i)if(!l.has(e))return!1;return!0}var re=RegExp(`^[0-9]xx$`,`i`);function y(e,t){let n=`${e.status}`,r=Array.isArray(t)?t:[t];return r.length?r.some(e=>{let t=`${e}`;if(t===`default`)return!0;if(!re.test(`${t}`))return t===n;let r=t.charAt(0);if(!r)throw Error(`Invalid status code range`);let i=n.charAt(0);if(!i)throw Error(`Invalid response status code: ${n}`);return i===r}):!1}function ie(e,t,n){return y(e,t)&&ne(e,n)}function ae(e){if(typeof e!=`object`||!e)return!1;let t=e instanceof TypeError&&e.message.toLowerCase().startsWith(`failed to fetch`),n=e instanceof TypeError&&e.message.toLowerCase().startsWith(`fetch failed`),r=`name`in e&&e.name===`ConnectionError`,i=`code`in e&&typeof e.code==`string`&&e.code.toLowerCase()===`econnreset`;return t||n||i||r}function oe(e){if(typeof e!=`object`||!e)return!1;let t=`name`in e&&e.name===`TimeoutError`,n=`code`in e&&e.code===23,r=`code`in e&&typeof e.code==`string`&&e.code.toLowerCase()===`econnaborted`;return t||n||r}function se(e){if(typeof e!=`object`||!e)return!1;let t=`name`in e&&e.name===`AbortError`,n=`code`in e&&e.code===20,r=`code`in e&&typeof e.code==`string`&&e.code.toLowerCase()===`econnaborted`;return t||n||r}var ce=class{beforeRequest(e,t){let n=`mistral-client-typescript/${m.sdkVersion}`;return t.headers.set(`user-agent`,n),t.headers.get(`user-agent`)||t.headers.set(`x-mistral-user-agent`,n),t}},le=`x-model-deprecation-timestamp`,ue=class{afterSuccess(e,t){return t.headers.has(le)&&t.clone().json().then(e=>{let n=e.model;console.warn(`WARNING: The model ${n} is deprecated and will be removed on ${t.headers.get(le)}. Please refer to https://docs.mistral.ai/getting-started/models/#api-versioning for more information.`)}),t}};function de(e){let t=new ce;e.registerBeforeRequestHook(t);let n=new ue;e.registerAfterSuccessHook(n)}var fe=class{sdkInitHooks=[];beforeCreateRequestHooks=[];beforeRequestHooks=[];afterSuccessHooks=[];afterErrorHooks=[];constructor(){for(let e of[])`sdkInit`in e&&this.registerSDKInitHook(e),`beforeCreateRequest`in e&&this.registerBeforeCreateRequestHook(e),`beforeRequest`in e&&this.registerBeforeRequestHook(e),`afterSuccess`in e&&this.registerAfterSuccessHook(e),`afterError`in e&&this.registerAfterErrorHook(e);de(this)}registerSDKInitHook(e){this.sdkInitHooks.push(e)}registerBeforeCreateRequestHook(e){this.beforeCreateRequestHooks.push(e)}registerBeforeRequestHook(e){this.beforeRequestHooks.push(e)}registerAfterSuccessHook(e){this.afterSuccessHooks.push(e)}registerAfterErrorHook(e){this.afterErrorHooks.push(e)}sdkInit(e){return this.sdkInitHooks.reduce((e,t)=>t.sdkInit(e),e)}beforeCreateRequest(e,t){let n=t;for(let t of this.beforeCreateRequestHooks)n=t.beforeCreateRequest(e,n);return n}async beforeRequest(e,t){let n=t;for(let t of this.beforeRequestHooks)n=await t.beforeRequest(e,n);return n}async afterSuccess(e,t){let n=t;for(let t of this.afterSuccessHooks)n=await t.afterSuccess(e,n);return n}async afterError(e,t,n){let r=t,i=n;for(let t of this.afterErrorHooks){let n=await t.afterError(e,r,i);r=n.response,i=n.error}return{response:r,error:i}}},pe=class extends Error{cause;name=`HTTPClientError`;constructor(e,t){let n=e;t?.cause&&(n+=`: ${t.cause}`),super(n,t),this.cause===void 0&&(this.cause=t?.cause)}},me=class extends pe{name=`UnexpectedClientError`},he=class extends pe{name=`InvalidRequestError`},ge=class extends pe{name=`RequestAbortedError`},_e=class extends pe{name=`RequestTimeoutError`},ve=class extends pe{name=`ConnectionError`};function ye(e){return{ok:!0,value:e}}function be(e){return{ok:!1,error:e}}async function b(e){let t=await e;if(!t.ok)throw t.error;return t.value}var xe=Object.freeze({status:`aborted`});function x(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,`_zod`,{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,`name`,{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,`init`,{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,`name`,{value:e}),o}var Se=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Ce=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}},we={};function Te(e){return e&&Object.assign(we,e),we}function Ee(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function De(e,t){return typeof t==`bigint`?t.toString():t}function Oe(e){return{get value(){{let t=e();return Object.defineProperty(this,`value`,{value:t}),t}throw Error(`cached value already set`)}}}function ke(e){return e==null}function Ae(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function je(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=t.toString(),i=(r.split(`.`)[1]||``).length;if(i===0&&/\d?e-\d?/.test(r)){let e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]))}let a=n>i?n:i;return Number.parseInt(e.toFixed(a).replace(`.`,``))%Number.parseInt(t.toFixed(a).replace(`.`,``))/10**a}var Me=Symbol(`evaluating`);function S(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Me)return r===void 0&&(r=Me,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function Ne(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Pe(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function Fe(e){return JSON.stringify(e)}function Ie(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var Le=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function Re(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ze=Oe(()=>{if(typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function Be(e){if(Re(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(Re(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function Ve(e){return Be(e)?{...e}:Array.isArray(e)?[...e]:e}var He=new Set([`string`,`number`,`symbol`]);function Ue(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function We(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function C(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function Ge(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var Ke={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function qe(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return We(e,Pe(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return Ne(this,`shape`,e),e},checks:[]}))}function Je(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return We(e,Pe(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return Ne(this,`shape`,r),r},checks:[]}))}function Ye(e,t){if(!Be(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return We(e,Pe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Ne(this,`shape`,n),n}}))}function Xe(e,t){if(!Be(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return We(e,Pe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Ne(this,`shape`,n),n}}))}function Ze(e,t){return We(e,Pe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Ne(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:[]}))}function Qe(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return We(t,Pe(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return Ne(this,`shape`,i),i},checks:[]}))}function $e(e,t,n){return We(t,Pe(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return Ne(this,`shape`,i),i}}))}function et(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function tt(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function nt(e){return typeof e==`string`?e:e?.message}function rt(e,t,n){let r={...e,path:e.path??[]};return e.message||(r.message=nt(e.inst?._zod.def?.error?.(e))??nt(t?.error?.(e))??nt(n.customError?.(e))??nt(n.localeError?.(e))??`Invalid input`),delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function it(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function at(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var ot=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,`_zod`,{value:e._zod,enumerable:!1}),Object.defineProperty(e,`issues`,{value:t,enumerable:!1}),e.message=JSON.stringify(t,De,2),Object.defineProperty(e,`toString`,{value:()=>e.message,enumerable:!1})},st=x(`$ZodError`,ot),ct=x(`$ZodError`,ot,{Parent:Error});function lt(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function ut(e,t=e=>e.message){let n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`&&i.errors.length)i.errors.map(e=>r({issues:e}));else if(i.code===`invalid_key`)r({issues:i.issues});else if(i.code===`invalid_element`)r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}function dt(e){let t=[],n=e.map(e=>typeof e==`object`?e.key:e);for(let e of n)typeof e==`number`?t.push(`[${e}]`):typeof e==`symbol`?t.push(`[${JSON.stringify(String(e))}]`):/[^\w$]/.test(e)?t.push(`[${JSON.stringify(e)}]`):(t.length&&t.push(`.`),t.push(e));return t.join(``)}function ft(e){let t=[],n=[...e.issues].sort((e,t)=>(e.path??[]).length-(t.path??[]).length);for(let e of n)t.push(`✖ ${e.message}`),e.path?.length&&t.push(` → at ${dt(e.path)}`);return t.join(`
|
|
1
|
+
import{a as e,i as t,r as n,s as r,t as i}from"./index-BLH5UHZ2.js";import{a,i as o,r as s,t as c}from"./transform-messages-CV4kCtBB.js";import{t as l}from"./hash-Bt1aVMQ3.js";var u=Object.prototype.hasOwnProperty;function d(e,t){let n=/\{([a-zA-Z0-9_][a-zA-Z0-9_-]*?)\}/g;return function(r={}){return e.replace(n,function(e,n){if(!u.call(r,n))throw Error(`Parameter '${n}' is required`);let i=r[n];if(typeof i!=`string`&&typeof i!=`number`)throw Error(`Parameter '${n}' must be a string or number`);return t?.charEncoding===`percent`?encodeURIComponent(`${i}`):`${i}`}).replace(/^\/+/,``)}}var f={eu:`https://api.mistral.ai`};function p(e){let t=e.serverURL,n={};t||=f[e.server??`eu`]||``;let r=d(t)(n);return new URL(r)}var m={language:`typescript`,openapiDocVersion:`1.0.0`,sdkVersion:`2.2.1`,genVersion:`2.881.4`,userAgent:`speakeasy-sdk/typescript 2.2.1 2.881.4 1.0.0 @mistralai/mistralai`};async function h(e){let t=e.getReader(),n=[],r=0,i=!1;for(;!i;){let{value:e,done:a}=await t.read();a?i=!0:(n.push(e),r+=e.length)}let a=new Uint8Array(r),o=0;for(let e of n)a.set(e,o),o+=e.length;return a.buffer}function g(e){if(!e)return null;let t=e.toLowerCase().split(`.`).pop();return t&&{json:`application/json`,xml:`application/xml`,html:`text/html`,htm:`text/html`,txt:`text/plain`,csv:`text/csv`,pdf:`application/pdf`,png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,svg:`image/svg+xml`,js:`application/javascript`,css:`text/css`,zip:`application/zip`,tar:`application/x-tar`,gz:`application/gzip`,mp4:`video/mp4`,mp3:`audio/mpeg`,wav:`audio/wav`,webp:`image/webp`,ico:`image/x-icon`,woff:`font/woff`,woff2:`font/woff2`,ttf:`font/ttf`,otf:`font/otf`}[t]||null}function _(e,t){return e instanceof Uint8Array?new Blob([new Uint8Array(e)],{type:t}):new Blob([e],{type:t})}var v=(e,t)=>t==null?fetch(e):fetch(e,t),ee=class e{options;fetcher;requestHooks=[];requestErrorHooks=[];responseHooks=[];constructor(e={}){this.options=e,this.fetcher=e.fetcher||v}async request(e){let t=e;for(let e of this.requestHooks){let n=await e(t);n&&(t=n)}try{let e=await this.fetcher(t);for(let n of this.responseHooks)await n(e,t);return e}catch(e){for(let n of this.requestErrorHooks)await n(e,t);throw e}}addHook(...e){if(e[0]===`beforeRequest`)this.requestHooks.push(e[1]);else if(e[0]===`requestError`)this.requestErrorHooks.push(e[1]);else if(e[0]===`response`)this.responseHooks.push(e[1]);else throw Error(`Invalid hook type: ${e[0]}`);return this}removeHook(...e){let t;if(e[0]===`beforeRequest`)t=this.requestHooks;else if(e[0]===`requestError`)t=this.requestErrorHooks;else if(e[0]===`response`)t=this.responseHooks;else throw Error(`Invalid hook type: ${e[0]}`);let n=t.findIndex(t=>t===e[1]);return n>=0&&t.splice(n,1),this}clone(){let t=new e(this.options);return t.requestHooks=this.requestHooks.slice(),t.requestErrorHooks=this.requestErrorHooks.slice(),t.responseHooks=this.responseHooks.slice(),t}},te=/\s*;\s*/g;function ne(e,t){if(t===`*`)return!0;let n=e.headers.get(`content-type`)?.trim()||`application/octet-stream`;n=n.toLowerCase();let[r=``,...i]=t.toLowerCase().trim().split(te);if(r.split(`/`).length!==2)return!1;let[a=``,...o]=n.split(te),[s=``,c=``]=a.split(`/`);if(!s||!c||r!==`*/*`&&a!==r&&`${s}/*`!==r&&`*/${c}`!==r||o.length<i.length)return!1;let l=new Set(o);for(let e of i)if(!l.has(e))return!1;return!0}var re=RegExp(`^[0-9]xx$`,`i`);function y(e,t){let n=`${e.status}`,r=Array.isArray(t)?t:[t];return r.length?r.some(e=>{let t=`${e}`;if(t===`default`)return!0;if(!re.test(`${t}`))return t===n;let r=t.charAt(0);if(!r)throw Error(`Invalid status code range`);let i=n.charAt(0);if(!i)throw Error(`Invalid response status code: ${n}`);return i===r}):!1}function ie(e,t,n){return y(e,t)&&ne(e,n)}function ae(e){if(typeof e!=`object`||!e)return!1;let t=e instanceof TypeError&&e.message.toLowerCase().startsWith(`failed to fetch`),n=e instanceof TypeError&&e.message.toLowerCase().startsWith(`fetch failed`),r=`name`in e&&e.name===`ConnectionError`,i=`code`in e&&typeof e.code==`string`&&e.code.toLowerCase()===`econnreset`;return t||n||i||r}function oe(e){if(typeof e!=`object`||!e)return!1;let t=`name`in e&&e.name===`TimeoutError`,n=`code`in e&&e.code===23,r=`code`in e&&typeof e.code==`string`&&e.code.toLowerCase()===`econnaborted`;return t||n||r}function se(e){if(typeof e!=`object`||!e)return!1;let t=`name`in e&&e.name===`AbortError`,n=`code`in e&&e.code===20,r=`code`in e&&typeof e.code==`string`&&e.code.toLowerCase()===`econnaborted`;return t||n||r}var ce=class{beforeRequest(e,t){let n=`mistral-client-typescript/${m.sdkVersion}`;return t.headers.set(`user-agent`,n),t.headers.get(`user-agent`)||t.headers.set(`x-mistral-user-agent`,n),t}},le=`x-model-deprecation-timestamp`,ue=class{afterSuccess(e,t){return t.headers.has(le)&&t.clone().json().then(e=>{let n=e.model;console.warn(`WARNING: The model ${n} is deprecated and will be removed on ${t.headers.get(le)}. Please refer to https://docs.mistral.ai/getting-started/models/#api-versioning for more information.`)}),t}};function de(e){let t=new ce;e.registerBeforeRequestHook(t);let n=new ue;e.registerAfterSuccessHook(n)}var fe=class{sdkInitHooks=[];beforeCreateRequestHooks=[];beforeRequestHooks=[];afterSuccessHooks=[];afterErrorHooks=[];constructor(){for(let e of[])`sdkInit`in e&&this.registerSDKInitHook(e),`beforeCreateRequest`in e&&this.registerBeforeCreateRequestHook(e),`beforeRequest`in e&&this.registerBeforeRequestHook(e),`afterSuccess`in e&&this.registerAfterSuccessHook(e),`afterError`in e&&this.registerAfterErrorHook(e);de(this)}registerSDKInitHook(e){this.sdkInitHooks.push(e)}registerBeforeCreateRequestHook(e){this.beforeCreateRequestHooks.push(e)}registerBeforeRequestHook(e){this.beforeRequestHooks.push(e)}registerAfterSuccessHook(e){this.afterSuccessHooks.push(e)}registerAfterErrorHook(e){this.afterErrorHooks.push(e)}sdkInit(e){return this.sdkInitHooks.reduce((e,t)=>t.sdkInit(e),e)}beforeCreateRequest(e,t){let n=t;for(let t of this.beforeCreateRequestHooks)n=t.beforeCreateRequest(e,n);return n}async beforeRequest(e,t){let n=t;for(let t of this.beforeRequestHooks)n=await t.beforeRequest(e,n);return n}async afterSuccess(e,t){let n=t;for(let t of this.afterSuccessHooks)n=await t.afterSuccess(e,n);return n}async afterError(e,t,n){let r=t,i=n;for(let t of this.afterErrorHooks){let n=await t.afterError(e,r,i);r=n.response,i=n.error}return{response:r,error:i}}},pe=class extends Error{cause;name=`HTTPClientError`;constructor(e,t){let n=e;t?.cause&&(n+=`: ${t.cause}`),super(n,t),this.cause===void 0&&(this.cause=t?.cause)}},me=class extends pe{name=`UnexpectedClientError`},he=class extends pe{name=`InvalidRequestError`},ge=class extends pe{name=`RequestAbortedError`},_e=class extends pe{name=`RequestTimeoutError`},ve=class extends pe{name=`ConnectionError`};function ye(e){return{ok:!0,value:e}}function be(e){return{ok:!1,error:e}}async function b(e){let t=await e;if(!t.ok)throw t.error;return t.value}var xe=Object.freeze({status:`aborted`});function x(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,`_zod`,{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,`name`,{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,`init`,{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,`name`,{value:e}),o}var Se=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Ce=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}},we={};function Te(e){return e&&Object.assign(we,e),we}function Ee(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function De(e,t){return typeof t==`bigint`?t.toString():t}function Oe(e){return{get value(){{let t=e();return Object.defineProperty(this,`value`,{value:t}),t}throw Error(`cached value already set`)}}}function ke(e){return e==null}function Ae(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function je(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=t.toString(),i=(r.split(`.`)[1]||``).length;if(i===0&&/\d?e-\d?/.test(r)){let e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]))}let a=n>i?n:i;return Number.parseInt(e.toFixed(a).replace(`.`,``))%Number.parseInt(t.toFixed(a).replace(`.`,``))/10**a}var Me=Symbol(`evaluating`);function S(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Me)return r===void 0&&(r=Me,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function Ne(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Pe(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function Fe(e){return JSON.stringify(e)}function Ie(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var Le=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function Re(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ze=Oe(()=>{if(typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function Be(e){if(Re(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(Re(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function Ve(e){return Be(e)?{...e}:Array.isArray(e)?[...e]:e}var He=new Set([`string`,`number`,`symbol`]);function Ue(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function We(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function C(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function Ge(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var Ke={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function qe(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return We(e,Pe(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return Ne(this,`shape`,e),e},checks:[]}))}function Je(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return We(e,Pe(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return Ne(this,`shape`,r),r},checks:[]}))}function Ye(e,t){if(!Be(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return We(e,Pe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Ne(this,`shape`,n),n}}))}function Xe(e,t){if(!Be(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return We(e,Pe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Ne(this,`shape`,n),n}}))}function Ze(e,t){return We(e,Pe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Ne(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:[]}))}function Qe(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return We(t,Pe(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return Ne(this,`shape`,i),i},checks:[]}))}function $e(e,t,n){return We(t,Pe(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return Ne(this,`shape`,i),i}}))}function et(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function tt(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function nt(e){return typeof e==`string`?e:e?.message}function rt(e,t,n){let r={...e,path:e.path??[]};return e.message||(r.message=nt(e.inst?._zod.def?.error?.(e))??nt(t?.error?.(e))??nt(n.customError?.(e))??nt(n.localeError?.(e))??`Invalid input`),delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function it(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function at(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var ot=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,`_zod`,{value:e._zod,enumerable:!1}),Object.defineProperty(e,`issues`,{value:t,enumerable:!1}),e.message=JSON.stringify(t,De,2),Object.defineProperty(e,`toString`,{value:()=>e.message,enumerable:!1})},st=x(`$ZodError`,ot),ct=x(`$ZodError`,ot,{Parent:Error});function lt(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function ut(e,t=e=>e.message){let n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`&&i.errors.length)i.errors.map(e=>r({issues:e}));else if(i.code===`invalid_key`)r({issues:i.issues});else if(i.code===`invalid_element`)r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}function dt(e){let t=[],n=e.map(e=>typeof e==`object`?e.key:e);for(let e of n)typeof e==`number`?t.push(`[${e}]`):typeof e==`symbol`?t.push(`[${JSON.stringify(String(e))}]`):/[^\w$]/.test(e)?t.push(`[${JSON.stringify(e)}]`):(t.length&&t.push(`.`),t.push(e));return t.join(``)}function ft(e){let t=[],n=[...e.issues].sort((e,t)=>(e.path??[]).length-(t.path??[]).length);for(let e of n)t.push(`✖ ${e.message}`),e.path?.length&&t.push(` → at ${dt(e.path)}`);return t.join(`
|
|
2
2
|
`)}var pt=e=>(t,n,r,i)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new Se;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>rt(e,a,Te())));throw Le(t,i?.callee),t}return o.value},mt=e=>async(t,n,r,i)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>rt(e,a,Te())));throw Le(t,i?.callee),t}return o.value},ht=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new Se;return a.issues.length?{success:!1,error:new(e??st)(a.issues.map(e=>rt(e,i,Te())))}:{success:!0,data:a.value}},gt=ht(ct),_t=e=>async(t,n,r)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>rt(e,i,Te())))}:{success:!0,data:a.value}},vt=_t(ct),yt=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return pt(e)(t,n,i)},bt=e=>(t,n,r)=>pt(e)(t,n,r),xt=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return mt(e)(t,n,i)},St=e=>async(t,n,r)=>mt(e)(t,n,r),Ct=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return ht(e)(t,n,i)},wt=e=>(t,n,r)=>ht(e)(t,n,r),Tt=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return _t(e)(t,n,i)},Et=e=>async(t,n,r)=>_t(e)(t,n,r),Dt=/^[cC][^\s-]{8,}$/,Ot=/^[0-9a-z]+$/,kt=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,At=/^[0-9a-vA-V]{20}$/,jt=/^[A-Za-z0-9]{27}$/,Mt=/^[a-zA-Z0-9_-]{21}$/,Nt=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Pt=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ft=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,It=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Lt=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function Rt(){return new RegExp(Lt,`u`)}var zt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Bt=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Vt=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ht=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ut=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Wt=/^[A-Za-z0-9_-]*$/,Gt=/^\+[1-9]\d{6,14}$/,Kt=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,qt=RegExp(`^${Kt}$`);function Jt(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Yt(e){return RegExp(`^${Jt(e)}$`)}function Xt(e){let t=Jt({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${Kt}T(?:${r})$`)}var Zt=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Qt=/^-?\d+$/,$t=/^-?\d+(?:\.\d+)?$/,en=/^(?:true|false)$/i,tn=/^[^A-Z]*$/,nn=/^[^a-z]*$/,rn=x(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),an={number:`number`,bigint:`bigint`,object:`date`},on=x(`$ZodCheckLessThan`,(e,t)=>{rn.init(e,t);let n=an[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),sn=x(`$ZodCheckGreaterThan`,(e,t)=>{rn.init(e,t);let n=an[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),cn=x(`$ZodCheckMultipleOf`,(e,t)=>{rn.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):je(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),ln=x(`$ZodCheckNumberFormat`,(e,t)=>{rn.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Ke[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Qt)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),un=x(`$ZodCheckMaxLength`,(e,t)=>{var n;rn.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ke(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=it(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),dn=x(`$ZodCheckMinLength`,(e,t)=>{var n;rn.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ke(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=it(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),fn=x(`$ZodCheckLengthEquals`,(e,t)=>{var n;rn.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ke(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=it(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),pn=x(`$ZodCheckStringFormat`,(e,t)=>{var n,r;rn.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),mn=x(`$ZodCheckRegex`,(e,t)=>{pn.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),hn=x(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=tn,pn.init(e,t)}),gn=x(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=nn,pn.init(e,t)}),_n=x(`$ZodCheckIncludes`,(e,t)=>{rn.init(e,t);let n=Ue(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),vn=x(`$ZodCheckStartsWith`,(e,t)=>{rn.init(e,t);let n=RegExp(`^${Ue(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),yn=x(`$ZodCheckEndsWith`,(e,t)=>{rn.init(e,t);let n=RegExp(`.*${Ue(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),bn=x(`$ZodCheckOverwrite`,(e,t)=>{rn.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),xn=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
3
3
|
`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
|
|
4
4
|
`))}},Sn={major:4,minor:3,patch:6},Cn=x(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Sn;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=et(e),i;for(let a of t){if(a._zod.def.when){if(!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new Se;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=et(e,t))});else{if(e.issues.length===t)continue;r||=et(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(et(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new Se;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new Se;return o.then(e=>t(e,r,a))}return t(o,r,a)}}S(e,`~standard`,()=>({validate:t=>{try{let n=gt(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return vt(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),wn=x(`$ZodString`,(e,t)=>{Cn.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Zt(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),Tn=x(`$ZodStringFormat`,(e,t)=>{pn.init(e,t),wn.init(e,t)}),En=x(`$ZodGUID`,(e,t)=>{t.pattern??=Pt,Tn.init(e,t)}),Dn=x(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=Ft(e)}else t.pattern??=Ft();Tn.init(e,t)}),On=x(`$ZodEmail`,(e,t)=>{t.pattern??=It,Tn.init(e,t)}),kn=x(`$ZodURL`,(e,t)=>{Tn.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=i.href:n.value=r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),An=x(`$ZodEmoji`,(e,t)=>{t.pattern??=Rt(),Tn.init(e,t)}),jn=x(`$ZodNanoID`,(e,t)=>{t.pattern??=Mt,Tn.init(e,t)}),Mn=x(`$ZodCUID`,(e,t)=>{t.pattern??=Dt,Tn.init(e,t)}),Nn=x(`$ZodCUID2`,(e,t)=>{t.pattern??=Ot,Tn.init(e,t)}),Pn=x(`$ZodULID`,(e,t)=>{t.pattern??=kt,Tn.init(e,t)}),Fn=x(`$ZodXID`,(e,t)=>{t.pattern??=At,Tn.init(e,t)}),In=x(`$ZodKSUID`,(e,t)=>{t.pattern??=jt,Tn.init(e,t)}),Ln=x(`$ZodISODateTime`,(e,t)=>{t.pattern??=Xt(t),Tn.init(e,t)}),Rn=x(`$ZodISODate`,(e,t)=>{t.pattern??=qt,Tn.init(e,t)}),zn=x(`$ZodISOTime`,(e,t)=>{t.pattern??=Yt(t),Tn.init(e,t)}),Bn=x(`$ZodISODuration`,(e,t)=>{t.pattern??=Nt,Tn.init(e,t)}),Vn=x(`$ZodIPv4`,(e,t)=>{t.pattern??=zt,Tn.init(e,t),e._zod.bag.format=`ipv4`}),Hn=x(`$ZodIPv6`,(e,t)=>{t.pattern??=Bt,Tn.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),Un=x(`$ZodCIDRv4`,(e,t)=>{t.pattern??=Vt,Tn.init(e,t)}),Wn=x(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Ht,Tn.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function Gn(e){if(e===``)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Kn=x(`$ZodBase64`,(e,t)=>{t.pattern??=Ut,Tn.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{Gn(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function qn(e){if(!Wt.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Gn(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var Jn=x(`$ZodBase64URL`,(e,t)=>{t.pattern??=Wt,Tn.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{qn(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Yn=x(`$ZodE164`,(e,t)=>{t.pattern??=Gt,Tn.init(e,t)});function Xn(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var Zn=x(`$ZodJWT`,(e,t)=>{Tn.init(e,t),e._zod.check=n=>{Xn(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Qn=x(`$ZodNumber`,(e,t)=>{Cn.init(e,t),e._zod.pattern=e._zod.bag.pattern??$t,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),$n=x(`$ZodNumberFormat`,(e,t)=>{ln.init(e,t),Qn.init(e,t)}),er=x(`$ZodBoolean`,(e,t)=>{Cn.init(e,t),e._zod.pattern=en,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),tr=x(`$ZodAny`,(e,t)=>{Cn.init(e,t),e._zod.parse=e=>e}),nr=x(`$ZodUnknown`,(e,t)=>{Cn.init(e,t),e._zod.parse=e=>e}),rr=x(`$ZodNever`,(e,t)=>{Cn.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)}),ir=x(`$ZodVoid`,(e,t)=>{Cn.init(e,t),e._zod.parse=(t,n)=>{let r=t.value;return r===void 0||t.issues.push({expected:`void`,code:`invalid_type`,input:r,inst:e}),t}}),ar=x(`$ZodDate`,(e,t)=>{Cn.init(e,t),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=new Date(n.value)}catch{}let i=n.value,a=i instanceof Date;return a&&!Number.isNaN(i.getTime())||n.issues.push({expected:`date`,code:`invalid_type`,input:i,...a?{received:`Invalid Date`}:{},inst:e}),n}});function or(e,t,n){e.issues.length&&t.issues.push(...tt(n,e.issues)),t.value[n]=e.value}var sr=x(`$ZodArray`,(e,t)=>{Cn.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>or(t,n,e))):or(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function cr(e,t,n,r,i){if(e.issues.length){if(i&&!(n in r))return;t.issues.push(...tt(n,e.issues))}e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function lr(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=Ge(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function ur(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optout===`optional`;for(let i in t){if(s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>cr(e,n,i,t,u))):cr(a,n,i,t,u)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var dr=x(`$ZodObject`,(e,t)=>{if(Cn.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,`shape`,{get:()=>{let n={...e};return Object.defineProperty(t,`shape`,{value:n}),n}})}let n=Oe(()=>lr(t));S(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=Re,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optout===`optional`,i=n._zod.run({value:s[e],issues:[]},o);i instanceof Promise?c.push(i.then(n=>cr(n,t,e,s,r))):cr(i,t,e,s,r)}return i?ur(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),fr=x(`$ZodObjectJIT`,(e,t)=>{dr.init(e,t);let n=e._zod.parse,r=Oe(()=>lr(t)),i=e=>{let t=new xn([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=Fe(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=Fe(r),s=e[r]?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),s?t.write(`
|
package/dist/assets/{openai-codex-responses-CFSjwMXz.js → openai-codex-responses-Db9Q_SPJ.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as e,i as t,o as n,s as r}from"./index-
|
|
1
|
+
import{c as e,i as t,o as n,s as r}from"./index-BLH5UHZ2.js";import{t as i}from"./headers-5EYI0_pl.js";import{i as a,r as o}from"./transform-messages-CV4kCtBB.js";import{n as s,r as c,t as l}from"./openai-responses-shared-BMUh_Lci.js";var u=null;typeof process<`u`&&(process.versions?.node||process.versions?.bun)&&(t=>e(()=>import(t),[]))(`node:os`).then(e=>{u=e});var d=`https://chatgpt.com/backend-api`,f=`https://api.openai.com/auth`,p=3,m=1e3,h=new Set([`openai`,`openai-codex`,`opencode`]),g=new Set([`completed`,`incomplete`,`failed`,`cancelled`,`queued`,`in_progress`]);function _(e,t){return e===429||e===500||e===502||e===503||e===504?!0:/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(t)}function v(e,t){return new Promise((n,r)=>{if(t?.aborted){r(Error(`Request was aborted`));return}let i=setTimeout(n,e);t?.addEventListener(`abort`,()=>{clearTimeout(i),r(Error(`Request was aborted`))})})}var y=(e,n,a)=>{let o=new t;return(async()=>{let t={role:`assistant`,content:[],api:`openai-codex-responses`,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let s=a?.apiKey||r(e.provider)||``;if(!s)throw Error(`No API key for provider: ${e.provider}`);let c=J(s),l=x(e,n,a),u=await a?.onPayload?.(l,e);u!==void 0&&(l=u);let d=a?.sessionId||Y(),f=Z(e.headers,a?.headers,c,s,a?.sessionId),h=Q(e.headers,a?.headers,c,s,d),g=JSON.stringify(l),y=a?.transport||`sse`;if(y!==`sse`){let n=!1;try{if(await K(D(e.baseUrl),l,h,t,o,e,()=>{n=!0},a),a?.signal?.aborted)throw Error(`Request was aborted`);o.push({type:`done`,reason:t.stopReason,message:t}),o.end();return}catch(e){if(y===`websocket`||n)throw e}}let b,S;for(let t=0;t<=p;t++){if(a?.signal?.aborted)throw Error(`Request was aborted`);try{if(b=await fetch(E(e.baseUrl),{method:`POST`,headers:f,body:g,signal:a?.signal}),await a?.onResponse?.({status:b.status,headers:i(b.headers)},e),b.ok)break;let n=await b.text();if(t<p&&_(b.status,n)){await v(m*2**t,a?.signal);continue}let r=await q(new Response(n,{status:b.status,statusText:b.statusText}));throw Error(r.friendlyMessage||r.message)}catch(e){if(e instanceof Error&&(e.name===`AbortError`||e.message===`Request was aborted`))throw Error(`Request was aborted`);if(S=e instanceof Error?e:Error(String(e)),t<p&&!S.message.includes(`usage limit`)){await v(m*2**t,a?.signal);continue}throw S}}if(!b?.ok)throw S??Error(`Failed after retries`);if(!b.body)throw Error(`No response body`);if(o.push({type:`start`,partial:t}),await O(b,t,o,e,a),a?.signal?.aborted)throw Error(`Request was aborted`);o.push({type:`done`,reason:t.stopReason,message:t}),o.end()}catch(e){for(let e of t.content)delete e.partialJson;t.stopReason=a?.signal?.aborted?`aborted`:`error`,t.errorMessage=e instanceof Error?e.message:String(e),o.push({type:`error`,reason:t.stopReason,error:t}),o.end()}})(),o},b=(e,t,i)=>{let s=i?.apiKey||r(e.provider);if(!s)throw Error(`No API key for provider: ${e.provider}`);let c=o(e,i,s),l=n(e)?i?.reasoning:a(i?.reasoning);return y(e,t,{...c,reasoningEffort:l})};function x(e,t,n){let r=l(e,t,h,{includeSystemPrompt:!1}),i={model:e.id,store:!1,stream:!0,instructions:t.systemPrompt,input:r,text:{verbosity:n?.textVerbosity||`low`},include:[`reasoning.encrypted_content`],prompt_cache_key:n?.sessionId,tool_choice:`auto`,parallel_tool_calls:!0};return n?.temperature!==void 0&&(i.temperature=n.temperature),n?.serviceTier!==void 0&&(i.service_tier=n.serviceTier),t.tools&&t.tools.length>0&&(i.tools=s(t.tools,{strict:null})),n?.reasoningEffort!==void 0&&(i.reasoning={effort:S(e.id,n.reasoningEffort),summary:n.reasoningSummary??`auto`}),i}function S(e,t){let n=e.includes(`/`)?e.split(`/`).pop():e;return(n.startsWith(`gpt-5.2`)||n.startsWith(`gpt-5.3`)||n.startsWith(`gpt-5.4`)||n.startsWith(`gpt-5.5`))&&t===`minimal`?`low`:n===`gpt-5.1`&&t===`xhigh`?`high`:n===`gpt-5.1-codex-mini`?t===`high`||t===`xhigh`?`high`:`medium`:t}function C(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function w(e,t,n){let r=C(n,t);r!==1&&(e.cost.input*=r,e.cost.output*=r,e.cost.cacheRead*=r,e.cost.cacheWrite*=r,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite)}function T(e,t){return e===`default`&&(t===`flex`||t===`priority`)?t:e??t}function E(e){let t=(e&&e.trim().length>0?e:d).replace(/\/+$/,``);return t.endsWith(`/codex/responses`)?t:t.endsWith(`/codex`)?`${t}/responses`:`${t}/codex/responses`}function D(e){let t=new URL(E(e));return t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}async function O(e,t,n,r,i){await c(k(j(e)),t,n,r,{serviceTier:i?.serviceTier,resolveServiceTier:T,applyServiceTierPricing:(e,t)=>w(e,t,r)})}async function*k(e){for await(let t of e){let e=typeof t.type==`string`?t.type:void 0;if(e){if(e===`error`){let e=t.code||``,n=t.message||``;throw Error(`Codex error: ${n||e||JSON.stringify(t)}`)}if(e===`response.failed`){let e=t.response?.error?.message;throw Error(e||`Codex response failed`)}if(e===`response.done`||e===`response.completed`||e===`response.incomplete`){let e=t.response,n=e&&{...e,status:A(e.status)};yield{...t,type:`response.completed`,response:n};return}yield t}}}function A(e){if(typeof e==`string`)return g.has(e)?e:void 0}async function*j(e){if(!e.body)return;let t=e.body.getReader(),n=new TextDecoder,r=``;try{for(;;){let{done:e,value:i}=await t.read();if(e)break;r+=n.decode(i,{stream:!0});let a=r.indexOf(`
|
|
2
2
|
|
|
3
3
|
`);for(;a!==-1;){let e=r.slice(0,a);r=r.slice(a+2);let t=e.split(`
|
|
4
4
|
`).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trim());if(t.length>0){let e=t.join(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,i as t,o as n,r,s as i}from"./index-
|
|
1
|
+
import{a as e,i as t,o as n,r,s as i}from"./index-BLH5UHZ2.js";import{t as a}from"./headers-5EYI0_pl.js";import{a as o,i as s,r as c,t as l}from"./transform-messages-CV4kCtBB.js";import{n as u,t as d}from"./github-copilot-headers-CrI0CIJ7.js";import{n as f}from"./openai-Cn7eGqwa.js";function p(e){for(let t of e)if(t.role===`toolResult`||t.role===`assistant`&&t.content.some(e=>e.type===`toolCall`))return!0;return!1}function m(e){return e.type===`text`}function h(e){return e.type===`thinking`}function g(e){return e.type===`toolCall`}function _(e){return e.type===`image`}function v(e){return e||(typeof process<`u`&&{}.PI_CACHE_RETENTION===`long`?`long`:`short`)}var y=(e,n,o)=>{let s=new t;return(async()=>{let t={role:`assistant`,content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let c=o?.apiKey||i(e.provider)||``,l=L(e),u=v(o?.cacheRetention),d=u===`none`?void 0:o?.sessionId,f=x(e,n,c,o?.headers,d,l),p=S(e,n,o,l,u),m=await o?.onPayload?.(p,e);m!==void 0&&(p=m);let h={...o?.signal?{signal:o.signal}:{},...o?.timeoutMs===void 0?{}:{timeout:o.timeoutMs},...o?.maxRetries===void 0?{}:{maxRetries:o.maxRetries}},{data:g,response:_}=await f.chat.completions.create(p,h).withResponse();await o?.onResponse?.({status:_.status,headers:a(_.headers)},e),s.push({type:`start`,partial:t});let y=null,b=t.content,C=e=>e?b.indexOf(e):-1,w=()=>C(y),T=e=>{if(e){let n=C(e);if(n===-1)return;e.type===`text`?s.push({type:`text_end`,contentIndex:n,content:e.text,partial:t}):e.type===`thinking`?s.push({type:`thinking_end`,contentIndex:n,content:e.thinking,partial:t}):e.type===`toolCall`&&(e.arguments=r(e.partialArgs),delete e.partialArgs,delete e.streamIndex,s.push({type:`toolcall_end`,contentIndex:n,toolCall:e,partial:t}))}};for await(let n of g){if(!n||typeof n!=`object`)continue;t.responseId||=n.id,n.usage&&(t.usage=P(n.usage,e));let i=Array.isArray(n.choices)?n.choices[0]:void 0;if(i){if(!n.usage&&i.usage&&(t.usage=P(i.usage,e)),i.finish_reason){let e=F(i.finish_reason);t.stopReason=e.stopReason,e.errorMessage&&(t.errorMessage=e.errorMessage)}if(i.delta){i.delta.content!==null&&i.delta.content!==void 0&&i.delta.content.length>0&&((!y||y.type!==`text`)&&(T(y),y={type:`text`,text:``},t.content.push(y),s.push({type:`text_start`,contentIndex:w(),partial:t})),y.type===`text`&&(y.text+=i.delta.content,s.push({type:`text_delta`,contentIndex:w(),delta:i.delta.content,partial:t})));let e=[`reasoning_content`,`reasoning`,`reasoning_text`],n=null;for(let t of e)if(i.delta[t]!==null&&i.delta[t]!==void 0&&i.delta[t].length>0&&!n){n=t;break}if(n&&((!y||y.type!==`thinking`)&&(T(y),y={type:`thinking`,thinking:``,thinkingSignature:n},t.content.push(y),s.push({type:`thinking_start`,contentIndex:w(),partial:t})),y.type===`thinking`)){let e=i.delta[n];y.thinking+=e,s.push({type:`thinking_delta`,contentIndex:w(),delta:e,partial:t})}if(i?.delta?.tool_calls)for(let e of i.delta.tool_calls){let n=typeof e.index==`number`?e.index:void 0;y?.type===`toolCall`&&(n!==void 0&&y.streamIndex===n||n===void 0&&e.id&&y.id===e.id)||(T(y),y={type:`toolCall`,id:e.id||``,name:e.function?.name||``,arguments:{},partialArgs:``,streamIndex:n},t.content.push(y),s.push({type:`toolcall_start`,contentIndex:C(y),partial:t}));let i=y?.type===`toolCall`?y:null;if(i){!i.id&&e.id&&(i.id=e.id),!i.name&&e.function?.name&&(i.name=e.function.name),i.streamIndex===void 0&&n!==void 0&&(i.streamIndex=n);let a=``;e.function?.arguments&&(a=e.function.arguments,i.partialArgs+=e.function.arguments,i.arguments=r(i.partialArgs)),s.push({type:`toolcall_delta`,contentIndex:C(i),delta:a,partial:t})}}let a=i.delta.reasoning_details;if(a&&Array.isArray(a)){for(let e of a)if(e.type===`reasoning.encrypted`&&e.id&&e.data){let n=t.content.find(t=>t.type===`toolCall`&&t.id===e.id);n&&(n.thoughtSignature=JSON.stringify(e))}}}}}if(T(y),o?.signal?.aborted||t.stopReason===`aborted`)throw Error(`Request was aborted`);if(t.stopReason===`error`)throw Error(t.errorMessage||`Provider returned an error stop reason`);s.push({type:`done`,reason:t.stopReason,message:t}),s.end()}catch(e){for(let e of t.content)delete e.index,delete e.partialArgs,delete e.streamIndex;t.stopReason=o?.signal?.aborted?`aborted`:`error`,t.errorMessage=e instanceof Error?e.message:JSON.stringify(e);let n=e?.error?.metadata?.raw;n&&(t.errorMessage+=`\n${n}`),s.push({type:`error`,reason:t.stopReason,error:t}),s.end()}})(),s},b=(e,t,r)=>{let a=r?.apiKey||i(e.provider);if(!a)throw Error(`No API key for provider: ${e.provider}`);let o=c(e,r,a),l=n(e)?r?.reasoning:s(r?.reasoning),u=r?.toolChoice;return y(e,t,{...o,reasoningEffort:l,toolChoice:u})};function x(e,t,n,r,i,a=L(e)){if(!n){if(!{}.OPENAI_API_KEY)throw Error(`OpenAI API key is required. Set OPENAI_API_KEY environment variable or pass it as an argument.`);n={}.OPENAI_API_KEY}let o={...e.headers};if(e.provider===`github-copilot`){let e=u(t.messages),n=d({messages:t.messages,hasImages:e});Object.assign(o,n)}return i&&a.sendSessionAffinityHeaders&&(o.session_id=i,o[`x-client-request-id`]=i,o[`x-session-affinity`]=i),r&&Object.assign(o,r),new f({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:o})}function S(e,t,n,r=L(e),i=v(n?.cacheRetention)){let a=M(e,t,r),o=w(r,i),s={model:e.id,messages:a,stream:!0,prompt_cache_key:e.baseUrl.includes(`api.openai.com`)&&i!==`none`||i===`long`&&r.supportsLongCacheRetention?n?.sessionId:void 0,prompt_cache_retention:i===`long`&&r.supportsLongCacheRetention?`24h`:void 0};if(r.supportsUsageInStreaming!==!1&&(s.stream_options={include_usage:!0}),r.supportsStore&&(s.store=!1),n?.maxTokens&&(r.maxTokensField===`max_tokens`?s.max_tokens=n.maxTokens:s.max_completion_tokens=n.maxTokens),n?.temperature!==void 0&&(s.temperature=n.temperature),t.tools&&t.tools.length>0?(s.tools=N(t.tools,r),r.zaiToolStream&&(s.tool_stream=!0)):p(t.messages)&&(s.tools=[]),o&&T(a,s.tools,o),n?.toolChoice&&(s.tool_choice=n.toolChoice),r.thinkingFormat===`zai`&&e.reasoning)s.enable_thinking=!!n?.reasoningEffort;else if(r.thinkingFormat===`qwen`&&e.reasoning)s.enable_thinking=!!n?.reasoningEffort;else if(r.thinkingFormat===`qwen-chat-template`&&e.reasoning)s.chat_template_kwargs={enable_thinking:!!n?.reasoningEffort,preserve_thinking:!0};else if(r.thinkingFormat===`deepseek`&&e.reasoning)s.thinking={type:n?.reasoningEffort?`enabled`:`disabled`},n?.reasoningEffort&&(s.reasoning_effort=C(n.reasoningEffort,r.reasoningEffortMap));else if(r.thinkingFormat===`openrouter`&&e.reasoning){let e=s;n?.reasoningEffort?e.reasoning={effort:C(n.reasoningEffort,r.reasoningEffortMap)}:e.reasoning={effort:`none`}}else n?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort&&(s.reasoning_effort=C(n.reasoningEffort,r.reasoningEffortMap));if(e.baseUrl.includes(`openrouter.ai`)&&e.compat?.openRouterRouting&&(s.provider=e.compat.openRouterRouting),e.baseUrl.includes(`ai-gateway.vercel.sh`)&&e.compat?.vercelGatewayRouting){let t=e.compat.vercelGatewayRouting;if(t.only||t.order){let e={};t.only&&(e.only=t.only),t.order&&(e.order=t.order),s.providerOptions={gateway:e}}}return s}function C(e,t){return t[e]??e}function w(e,t){if(e.cacheControlFormat!==`anthropic`||t===`none`)return;let n=t===`long`&&e.supportsLongCacheRetention?`1h`:void 0;return{type:`ephemeral`,...n?{ttl:n}:{}}}function T(e,t,n){E(e,n),O(t,n),D(e,n)}function E(e,t){for(let n of e)if(n.role===`system`||n.role===`developer`){k(n,t);return}}function D(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if((r.role===`user`||r.role===`assistant`)&&A(r,t))return}}function O(e,t){if(!e||e.length===0)return;let n=e[e.length-1];n.cache_control=t}function k(e,t){return j(e,t)}function A(e,t){return e.role===`user`||e.role===`assistant`?j(e,t):!1}function j(e,t){let n=e.content;if(typeof n==`string`)return n.length===0?!1:(e.content=[{type:`text`,text:n,cache_control:t}],!0);if(!Array.isArray(n))return!1;for(let e=n.length-1;e>=0;e--){let r=n[e];if(r?.type===`text`){let e=r;return e.cache_control=t,!0}}return!1}function M(e,t,n){let r=[],i=t=>{if(t.includes(`|`)){let[e]=t.split(`|`);return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,40)}return e.provider===`openai`&&t.length>40?t.slice(0,40):t},a=l(t.messages,e,e=>i(e));if(t.systemPrompt){let i=e.reasoning&&n.supportsDeveloperRole?`developer`:`system`;r.push({role:i,content:o(t.systemPrompt)})}let s=null;for(let t=0;t<a.length;t++){let i=a[t];if(n.requiresAssistantAfterToolResult&&s===`toolResult`&&i.role===`user`&&r.push({role:`assistant`,content:`I have processed the tool results.`}),i.role===`user`)if(typeof i.content==`string`)r.push({role:`user`,content:o(i.content)});else{let e=i.content.map(e=>e.type===`text`?{type:`text`,text:o(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});if(e.length===0)continue;r.push({role:`user`,content:e})}else if(i.role===`assistant`){let t={role:`assistant`,content:n.requiresAssistantAfterToolResult?``:null},a=i.content.filter(m).filter(e=>e.text.trim().length>0).map(e=>({type:`text`,text:o(e.text)})),s=a.map(e=>e.text).join(``),c=i.content.filter(h).filter(e=>e.thinking.trim().length>0);if(c.length>0)if(n.requiresThinkingAsText)t.content=[{type:`text`,text:c.map(e=>o(e.thinking)).join(`
|
|
2
2
|
|
|
3
3
|
`)},...a];else{s.length>0&&(t.content=s);let e=c[0].thinkingSignature;e&&e.length>0&&(t[e]=c.map(e=>e.thinking).join(`
|
|
4
4
|
`))}else s.length>0&&(t.content=s);let l=i.content.filter(g);if(l.length>0){t.tool_calls=l.map(e=>({id:e.id,type:`function`,function:{name:e.name,arguments:JSON.stringify(e.arguments)}}));let e=l.filter(e=>e.thoughtSignature).map(e=>{try{return JSON.parse(e.thoughtSignature)}catch{return null}}).filter(Boolean);e.length>0&&(t.reasoning_details=e)}n.requiresReasoningContentOnAssistantMessages&&e.reasoning&&t.reasoning_content===void 0&&(t.reasoning_content=``);let u=t.content;if(!(u!=null&&u.length>0)&&!t.tool_calls)continue;r.push(t)}else if(i.role===`toolResult`){let i=[],c=t;for(;c<a.length&&a[c].role===`toolResult`;c++){let t=a[c],s=t.content.filter(m).map(e=>e.text).join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,o as t,s as n}from"./index-
|
|
1
|
+
import{i as e,o as t,s as n}from"./index-BLH5UHZ2.js";import{t as r}from"./headers-5EYI0_pl.js";import{i,r as a}from"./transform-messages-CV4kCtBB.js";import{n as o,t as s}from"./github-copilot-headers-CrI0CIJ7.js";import{n as c}from"./openai-Cn7eGqwa.js";import{n as l,r as u,t as d}from"./openai-responses-shared-BMUh_Lci.js";var f=new Set([`openai`,`openai-codex`,`opencode`]);function p(e){return e||(typeof process<`u`&&{}.PI_CACHE_RETENTION===`long`?`long`:`short`)}function m(e){return{sendSessionIdHeader:e.compat?.sendSessionIdHeader??!0,supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0}}function h(e,t){return t===`long`&&e.supportsLongCacheRetention?`24h`:void 0}var g=(t,i,a)=>{let o=new e;return(async()=>{let e={role:`assistant`,content:[],api:t.api,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let s=a?.apiKey||n(t.provider)||``,c=p(a?.cacheRetention)===`none`?void 0:a?.sessionId,l=v(t,i,s,a?.headers,c),d=y(t,i,a),f=await a?.onPayload?.(d,t);f!==void 0&&(d=f);let m={...a?.signal?{signal:a.signal}:{},...a?.timeoutMs===void 0?{}:{timeout:a.timeoutMs},...a?.maxRetries===void 0?{}:{maxRetries:a.maxRetries}},{data:h,response:g}=await l.responses.create(d,m).withResponse();if(await a?.onResponse?.({status:g.status,headers:r(g.headers)},t),o.push({type:`start`,partial:e}),await u(h,e,o,t,{serviceTier:a?.serviceTier,applyServiceTierPricing:(e,n)=>x(e,n,t)}),a?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(`An unknown error occurred`);o.push({type:`done`,reason:e.stopReason,message:e}),o.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialJson;e.stopReason=a?.signal?.aborted?`aborted`:`error`,e.errorMessage=t instanceof Error?t.message:JSON.stringify(t),o.push({type:`error`,reason:e.stopReason,error:e}),o.end()}})(),o},_=(e,r,o)=>{let s=o?.apiKey||n(e.provider);if(!s)throw Error(`No API key for provider: ${e.provider}`);let c=a(e,o,s),l=t(e)?o?.reasoning:i(o?.reasoning);return g(e,r,{...c,reasoningEffort:l})};function v(e,t,n,r,i){if(!n){if(!{}.OPENAI_API_KEY)throw Error(`OpenAI API key is required. Set OPENAI_API_KEY environment variable or pass it as an argument.`);n={}.OPENAI_API_KEY}let a=m(e),l={...e.headers};if(e.provider===`github-copilot`){let e=o(t.messages),n=s({messages:t.messages,hasImages:e});Object.assign(l,n)}return i&&(a.sendSessionIdHeader&&(l.session_id=i),l[`x-client-request-id`]=i),r&&Object.assign(l,r),new c({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:l})}function y(e,t,n){let r=d(e,t,f),i=p(n?.cacheRetention),a=m(e),o={model:e.id,input:r,stream:!0,prompt_cache_key:i===`none`?void 0:n?.sessionId,prompt_cache_retention:h(a,i),store:!1};return n?.maxTokens&&(o.max_output_tokens=n?.maxTokens),n?.temperature!==void 0&&(o.temperature=n?.temperature),n?.serviceTier!==void 0&&(o.service_tier=n.serviceTier),t.tools&&t.tools.length>0&&(o.tools=l(t.tools)),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(o.reasoning={effort:n?.reasoningEffort||`medium`,summary:n?.reasoningSummary||`auto`},o.include=[`reasoning.encrypted_content`]):e.provider!==`github-copilot`&&(o.reasoning={effort:`none`})),o}function b(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function x(e,t,n){let r=b(n,t);r!==1&&(e.cost.input*=r,e.cost.output*=r,e.cost.cacheRead*=r,e.cost.cacheWrite*=r,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite)}export{g as streamOpenAIResponses,_ as streamSimpleOpenAIResponses};
|
package/dist/assets/{openai-responses-shared-BWikZIo_.js → openai-responses-shared-BMUh_Lci.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,r as t}from"./index-
|
|
1
|
+
import{a as e,r as t}from"./index-BLH5UHZ2.js";import{a as n,t as r}from"./transform-messages-CV4kCtBB.js";import{t as i}from"./hash-Bt1aVMQ3.js";function a(e,t){let n={v:1,id:e};return t&&(n.phase=t),JSON.stringify(n)}function o(e){if(e){if(e.startsWith(`{`))try{let t=JSON.parse(e);if(t.v===1&&typeof t.id==`string`)return t.phase===`commentary`||t.phase===`final_answer`?{id:t.id,phase:t.phase}:{id:t.id}}catch{}return{id:e}}}function s(e,t,a,s){let c=[],l=e=>{let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return(t.length>64?t.slice(0,64):t).replace(/_+$/,``)},u=e=>{let t=`fc_${i(e)}`;return t.length>64?t.slice(0,64):t},d=r(t.messages,e,(t,n,r)=>{if(!a.has(e.provider)||!t.includes(`|`))return l(t);let[i,o]=t.split(`|`),s=l(i),c=r.provider!==e.provider||r.api!==e.api?u(o):l(o);return c.startsWith(`fc_`)||(c=l(`fc_${c}`)),`${s}|${c}`});if((s?.includeSystemPrompt??!0)&&t.systemPrompt){let r=e.reasoning?`developer`:`system`;c.push({role:r,content:n(t.systemPrompt)})}let f=0;for(let t of d){if(t.role===`user`)if(typeof t.content==`string`)c.push({role:`user`,content:[{type:`input_text`,text:n(t.content)}]});else{let e=t.content.map(e=>e.type===`text`?{type:`input_text`,text:n(e.text)}:{type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});if(e.length===0)continue;c.push({role:`user`,content:e})}else if(t.role===`assistant`){let r=[],a=t,s=a.model!==e.id&&a.provider===e.provider&&a.api===e.api;for(let e of t.content)if(e.type===`thinking`){if(e.thinkingSignature){let t=JSON.parse(e.thinkingSignature);r.push(t)}}else if(e.type===`text`){let t=e,a=o(t.textSignature),s=a?.id;s?s.length>64&&(s=`msg_${i(s)}`):s=`msg_${f}`,r.push({type:`message`,role:`assistant`,content:[{type:`output_text`,text:n(t.text),annotations:[]}],status:`completed`,id:s,phase:a?.phase})}else if(e.type===`toolCall`){let t=e,[n,i]=t.id.split(`|`),a=i;s&&a?.startsWith(`fc_`)&&(a=void 0),r.push({type:`function_call`,id:a,call_id:n,name:t.name,arguments:JSON.stringify(t.arguments)})}if(r.length===0)continue;c.push(...r)}else if(t.role===`toolResult`){let r=t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
2
2
|
`),i=t.content.some(e=>e.type===`image`),a=r.length>0,[o]=t.toolCallId.split(`|`),s;if(i&&e.input.includes(`image`)){let e=[];a&&e.push({type:`input_text`,text:n(r)});for(let n of t.content)n.type===`image`&&e.push({type:`input_image`,detail:`auto`,image_url:`data:${n.mimeType};base64,${n.data}`});s=e}else s=n(a?r:`(see attached image)`);c.push({type:`function_call_output`,call_id:o,output:s})}f++}return c}function c(e,t){let n=t?.strict===void 0?!1:t.strict;return e.map(e=>({type:`function`,name:e.name,description:e.description,parameters:e.parameters,strict:n}))}async function l(n,r,i,o,s){let c=null,l=null,d=r.content,f=()=>d.length-1;for await(let d of n)if(d.type===`response.created`)r.responseId=d.response.id;else if(d.type===`response.output_item.added`){let e=d.item;e.type===`reasoning`?(c=e,l={type:`thinking`,thinking:``},r.content.push(l),i.push({type:`thinking_start`,contentIndex:f(),partial:r})):e.type===`message`?(c=e,l={type:`text`,text:``},r.content.push(l),i.push({type:`text_start`,contentIndex:f(),partial:r})):e.type===`function_call`&&(c=e,l={type:`toolCall`,id:`${e.call_id}|${e.id}`,name:e.name,arguments:{},partialJson:e.arguments||``},r.content.push(l),i.push({type:`toolcall_start`,contentIndex:f(),partial:r}))}else if(d.type===`response.reasoning_summary_part.added`)c&&c.type===`reasoning`&&(c.summary=c.summary||[],c.summary.push(d.part));else if(d.type===`response.reasoning_summary_text.delta`){if(c?.type===`reasoning`&&l?.type===`thinking`){c.summary=c.summary||[];let e=c.summary[c.summary.length-1];e&&(l.thinking+=d.delta,e.text+=d.delta,i.push({type:`thinking_delta`,contentIndex:f(),delta:d.delta,partial:r}))}}else if(d.type===`response.reasoning_summary_part.done`){if(c?.type===`reasoning`&&l?.type===`thinking`){c.summary=c.summary||[];let e=c.summary[c.summary.length-1];e&&(l.thinking+=`
|
|
3
3
|
|
|
4
4
|
`,e.text+=`
|
package/dist/index.html
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<meta name="apple-mobile-web-app-title" content="QuickForge" />
|
|
12
12
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
13
13
|
<title>速构 QuickForge</title>
|
|
14
|
-
<script type="module" crossorigin src="/assets/index-
|
|
14
|
+
<script type="module" crossorigin src="/assets/index-BLH5UHZ2.js"></script>
|
|
15
15
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-CkqCuyE9.js">
|
|
16
16
|
<link rel="modulepreload" crossorigin href="/assets/lit-vendor-Dr3cpBGF.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="/assets/css-utils-rkE68RDy.js">
|
package/package.json
CHANGED
package/server/agent-manager.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { EventEmitter } from 'node:events'
|
|
|
2
2
|
import { randomUUID } from 'node:crypto'
|
|
3
3
|
import { Agent } from '@mariozechner/pi-agent-core'
|
|
4
4
|
import { streamSimpleWithAiHttpLogging } from './ai-http-logger.mjs'
|
|
5
|
-
import { toolHandlers, loadSkillToolContext } from './tools/index.mjs'
|
|
5
|
+
import { toolHandlers, loadSkillToolContext, abortRunningCommand } from './tools/index.mjs'
|
|
6
6
|
import { createSkillTools, workspaceTools } from './tools/definitions.mjs'
|
|
7
7
|
import { callMcpTool, createMcpToolDefinitions, isMcpToolName } from './mcp/registry.mjs'
|
|
8
8
|
import { projectContextFromId, readProjectConfig } from './project-config.mjs'
|
|
@@ -51,12 +51,13 @@ function wrapToolDefinition(definition, context, toolPermissions) {
|
|
|
51
51
|
|
|
52
52
|
const startedAt = Date.now()
|
|
53
53
|
const startedAtPerf = performance.now()
|
|
54
|
-
const result = await handler(params || {}, context, { signal, onUpdate })
|
|
54
|
+
const result = await handler(params || {}, context, { signal, onUpdate, toolCallId: _toolCallId })
|
|
55
55
|
const finishedAt = Date.now()
|
|
56
56
|
const durationMs = Math.max(0, Math.round(performance.now() - startedAtPerf))
|
|
57
|
+
const details = mergeQuickForgeTiming(result.details, { startedAt, finishedAt, durationMs })
|
|
57
58
|
return {
|
|
58
59
|
content: [{ type: 'text', text: result.content }],
|
|
59
|
-
details:
|
|
60
|
+
details: isPlainObject(details) ? { ...details, toolCallId: _toolCallId } : details,
|
|
60
61
|
}
|
|
61
62
|
},
|
|
62
63
|
}
|
|
@@ -141,6 +142,7 @@ const APPROVAL_TIMEOUT_MS = 5 * 60 * 1000 // 5 minutes for tool approval
|
|
|
141
142
|
const commandRestrictedTools = new Set(['write_file', 'edit_file', 'run_command'])
|
|
142
143
|
const safeReadTools = new Set(['read_file', 'grep_files'])
|
|
143
144
|
const pendingApprovals = new Map() // toolCallId → { resolve, reject, sessionId, toolName, args, timeout }
|
|
145
|
+
const pendingAutoCompactApprovals = new Map() // approvalId → { resolve, reject, sessionId, timeout }
|
|
144
146
|
|
|
145
147
|
function createCommandToolPermissions(session) {
|
|
146
148
|
return (toolName) => {
|
|
@@ -224,6 +226,61 @@ function createApprovalPromise(session, toolCallId, toolName, args) {
|
|
|
224
226
|
})
|
|
225
227
|
}
|
|
226
228
|
|
|
229
|
+
function createAutoCompactApprovalPromise(session, details = {}) {
|
|
230
|
+
if (!session) return Promise.resolve(false)
|
|
231
|
+
const approvalId = randomUUID()
|
|
232
|
+
return new Promise((resolve, reject) => {
|
|
233
|
+
let settled = false
|
|
234
|
+
const timeout = setTimeout(() => {
|
|
235
|
+
if (settled) return
|
|
236
|
+
settled = true
|
|
237
|
+
pendingAutoCompactApprovals.delete(approvalId)
|
|
238
|
+
resolve(false)
|
|
239
|
+
}, APPROVAL_TIMEOUT_MS)
|
|
240
|
+
|
|
241
|
+
const cleanup = () => {
|
|
242
|
+
clearTimeout(timeout)
|
|
243
|
+
if (settled) return
|
|
244
|
+
settled = true
|
|
245
|
+
pendingAutoCompactApprovals.delete(approvalId)
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
const signal = session.agent.signal
|
|
249
|
+
if (signal) {
|
|
250
|
+
if (signal.aborted) {
|
|
251
|
+
cleanup()
|
|
252
|
+
reject(new Error('Run aborted'))
|
|
253
|
+
return
|
|
254
|
+
}
|
|
255
|
+
const onAbort = () => {
|
|
256
|
+
cleanup()
|
|
257
|
+
reject(new Error('Run aborted'))
|
|
258
|
+
}
|
|
259
|
+
signal.addEventListener('abort', onAbort, { once: true })
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
pendingAutoCompactApprovals.set(approvalId, {
|
|
263
|
+
resolve: (approved) => {
|
|
264
|
+
cleanup()
|
|
265
|
+
resolve(approved === true)
|
|
266
|
+
},
|
|
267
|
+
reject: (err) => {
|
|
268
|
+
cleanup()
|
|
269
|
+
reject(err)
|
|
270
|
+
},
|
|
271
|
+
sessionId: session.sessionId,
|
|
272
|
+
})
|
|
273
|
+
|
|
274
|
+
emitSessionEvent(session, {
|
|
275
|
+
type: 'auto_compact_approval_required',
|
|
276
|
+
approvalId,
|
|
277
|
+
usage: details.usage,
|
|
278
|
+
thresholdPercent: details.settings?.thresholdPercent,
|
|
279
|
+
keepRecentTurns: details.settings?.keepRecentTurns,
|
|
280
|
+
})
|
|
281
|
+
})
|
|
282
|
+
}
|
|
283
|
+
|
|
227
284
|
function assistantTextMessage(text, model) {
|
|
228
285
|
return {
|
|
229
286
|
role: 'assistant',
|
|
@@ -592,6 +649,7 @@ async function transformSessionContext(session, messages, signal) {
|
|
|
592
649
|
emitSessionEvent,
|
|
593
650
|
persistSession,
|
|
594
651
|
logger,
|
|
652
|
+
confirmAutoCompact: createAutoCompactApprovalPromise,
|
|
595
653
|
})
|
|
596
654
|
const transformedMessages = buildAutoCompactLoopMessages(session, messages)
|
|
597
655
|
session.lastTransformedContextMessages = transformedMessages
|
|
@@ -1116,6 +1174,12 @@ export async function abortRun(sessionId) {
|
|
|
1116
1174
|
approval.reject(new Error('Run aborted'))
|
|
1117
1175
|
}
|
|
1118
1176
|
}
|
|
1177
|
+
for (const [approvalId, approval] of pendingAutoCompactApprovals) {
|
|
1178
|
+
if (approval.sessionId === sessionId) {
|
|
1179
|
+
approval.reject(new Error('Run aborted'))
|
|
1180
|
+
pendingAutoCompactApprovals.delete(approvalId)
|
|
1181
|
+
}
|
|
1182
|
+
}
|
|
1119
1183
|
|
|
1120
1184
|
session.agent.abort()
|
|
1121
1185
|
await session.agent.waitForIdle()
|
|
@@ -1321,6 +1385,36 @@ export function rejectToolCall(sessionId, toolCallId) {
|
|
|
1321
1385
|
return { rejected: true, toolCallId }
|
|
1322
1386
|
}
|
|
1323
1387
|
|
|
1388
|
+
export function approveAutoCompact(sessionId, approvalId) {
|
|
1389
|
+
const approval = pendingAutoCompactApprovals.get(approvalId)
|
|
1390
|
+
if (!approval || approval.sessionId !== sessionId) {
|
|
1391
|
+
throw Object.assign(new Error('No pending auto compact approval for this session'), { statusCode: 404 })
|
|
1392
|
+
}
|
|
1393
|
+
approval.resolve(true)
|
|
1394
|
+
return { approved: true, approvalId }
|
|
1395
|
+
}
|
|
1396
|
+
|
|
1397
|
+
export function rejectAutoCompact(sessionId, approvalId) {
|
|
1398
|
+
const approval = pendingAutoCompactApprovals.get(approvalId)
|
|
1399
|
+
if (!approval || approval.sessionId !== sessionId) {
|
|
1400
|
+
throw Object.assign(new Error('No pending auto compact approval for this session'), { statusCode: 404 })
|
|
1401
|
+
}
|
|
1402
|
+
approval.resolve(false)
|
|
1403
|
+
return { rejected: true, approvalId }
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
export function abortToolCall(sessionId, toolCallId) {
|
|
1407
|
+
const session = agentSessions.get(sessionId)
|
|
1408
|
+
if (!session) {
|
|
1409
|
+
throw Object.assign(new Error('Session not found'), { statusCode: 404 })
|
|
1410
|
+
}
|
|
1411
|
+
const aborted = abortRunningCommand(toolCallId)
|
|
1412
|
+
if (!aborted) {
|
|
1413
|
+
throw Object.assign(new Error('No running command for this tool call'), { statusCode: 404 })
|
|
1414
|
+
}
|
|
1415
|
+
return { aborted: true, toolCallId }
|
|
1416
|
+
}
|
|
1417
|
+
|
|
1324
1418
|
/**
|
|
1325
1419
|
* List all active sessions.
|
|
1326
1420
|
*/
|
|
@@ -8,6 +8,7 @@ export const DEFAULT_AUTO_COMPACT_SETTINGS = {
|
|
|
8
8
|
thresholdPercent: 80,
|
|
9
9
|
keepRecentTurns: 2,
|
|
10
10
|
minSourceChars: 1600,
|
|
11
|
+
requireConfirmation: true,
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
const AUTO_COMPACT_MIN_INTERVAL_MS = 30_000
|
|
@@ -25,6 +26,7 @@ export function normalizeAutoCompactSettings(value) {
|
|
|
25
26
|
thresholdPercent: clampNumber(value.thresholdPercent, DEFAULT_AUTO_COMPACT_SETTINGS.thresholdPercent, 50, 95),
|
|
26
27
|
keepRecentTurns: clampNumber(value.keepRecentTurns, DEFAULT_AUTO_COMPACT_SETTINGS.keepRecentTurns, 1, 20),
|
|
27
28
|
minSourceChars: clampNumber(value.minSourceChars, DEFAULT_AUTO_COMPACT_SETTINGS.minSourceChars, 0, 200000),
|
|
29
|
+
requireConfirmation: value.requireConfirmation !== false,
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
32
|
|
|
@@ -153,7 +155,7 @@ export function buildAutoCompactLoopMessages(session, messages) {
|
|
|
153
155
|
return [summaryMessage, ...messages.slice(tailStart)]
|
|
154
156
|
}
|
|
155
157
|
|
|
156
|
-
export async function maybeAutoCompactSession({ session, messages, signal, emitSessionEvent, persistSession, logger }) {
|
|
158
|
+
export async function maybeAutoCompactSession({ session, messages, signal, emitSessionEvent, persistSession, logger, confirmAutoCompact }) {
|
|
157
159
|
if (!session || session.autoCompacting) return { compacted: false }
|
|
158
160
|
const settings = await readAutoCompactSettings()
|
|
159
161
|
if (!settings.enabled) return { compacted: false }
|
|
@@ -168,6 +170,18 @@ export async function maybeAutoCompactSession({ session, messages, signal, emitS
|
|
|
168
170
|
})
|
|
169
171
|
if (!usage.contextWindow || usage.percent < settings.thresholdPercent) return { compacted: false, usage }
|
|
170
172
|
|
|
173
|
+
emitSessionEvent?.(session, {
|
|
174
|
+
type: 'auto_compact_threshold_reached',
|
|
175
|
+
usage,
|
|
176
|
+
thresholdPercent: settings.thresholdPercent,
|
|
177
|
+
requireConfirmation: settings.requireConfirmation,
|
|
178
|
+
})
|
|
179
|
+
|
|
180
|
+
if (settings.requireConfirmation) {
|
|
181
|
+
const approved = await confirmAutoCompact?.(session, { usage, settings })
|
|
182
|
+
if (!approved || signal?.aborted) return { compacted: false, usage, reason: approved === false ? 'user_rejected' : 'confirmation_unavailable' }
|
|
183
|
+
}
|
|
184
|
+
|
|
171
185
|
const now = Date.now()
|
|
172
186
|
if (session.lastAutoCompactAt && now - session.lastAutoCompactAt < AUTO_COMPACT_MIN_INTERVAL_MS) {
|
|
173
187
|
return { compacted: false, usage, reason: 'recently_compacted' }
|
|
@@ -213,6 +227,12 @@ export async function maybeAutoCompactSession({ session, messages, signal, emitS
|
|
|
213
227
|
}
|
|
214
228
|
session.lastAutoCompactAt = now
|
|
215
229
|
await persistSession(session)
|
|
230
|
+
emitSessionEvent(session, {
|
|
231
|
+
type: 'auto_compact_completed',
|
|
232
|
+
usage,
|
|
233
|
+
thresholdPercent: settings.thresholdPercent,
|
|
234
|
+
contextCompaction: session.contextCompaction,
|
|
235
|
+
})
|
|
216
236
|
emitSessionEvent(session, {
|
|
217
237
|
type: 'messages_replaced',
|
|
218
238
|
reason: 'auto_compact',
|
package/server/routes/agent.mjs
CHANGED
|
@@ -20,6 +20,9 @@ import {
|
|
|
20
20
|
updateSessionThinkingLevel,
|
|
21
21
|
approveToolCall,
|
|
22
22
|
rejectToolCall,
|
|
23
|
+
approveAutoCompact,
|
|
24
|
+
rejectAutoCompact,
|
|
25
|
+
abortToolCall,
|
|
23
26
|
replaceSessionMessages,
|
|
24
27
|
rollbackSessionMessages,
|
|
25
28
|
agentEvents,
|
|
@@ -225,6 +228,30 @@ export async function handleAgentApi(req, res, url) {
|
|
|
225
228
|
return
|
|
226
229
|
}
|
|
227
230
|
|
|
231
|
+
// POST /api/agents/:sessionId/approve-auto-compact — approve a pending automatic context compaction
|
|
232
|
+
if (req.method === 'POST' && subPath === 'approve-auto-compact') {
|
|
233
|
+
const body = await readJsonBody(req)
|
|
234
|
+
const result = approveAutoCompact(sessionId, body?.approvalId)
|
|
235
|
+
sendJson(res, 200, result)
|
|
236
|
+
return
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
// POST /api/agents/:sessionId/reject-auto-compact — skip a pending automatic context compaction
|
|
240
|
+
if (req.method === 'POST' && subPath === 'reject-auto-compact') {
|
|
241
|
+
const body = await readJsonBody(req)
|
|
242
|
+
const result = rejectAutoCompact(sessionId, body?.approvalId)
|
|
243
|
+
sendJson(res, 200, result)
|
|
244
|
+
return
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// POST /api/agents/:sessionId/abort-tool — abort a running run_command tool call
|
|
248
|
+
if (req.method === 'POST' && subPath === 'abort-tool') {
|
|
249
|
+
const body = await readJsonBody(req)
|
|
250
|
+
const result = abortToolCall(sessionId, body?.toolCallId)
|
|
251
|
+
sendJson(res, 200, result)
|
|
252
|
+
return
|
|
253
|
+
}
|
|
254
|
+
|
|
228
255
|
const error = new Error('Not found')
|
|
229
256
|
error.statusCode = 404
|
|
230
257
|
throw error
|
|
@@ -68,7 +68,7 @@ export const workspaceTools = [
|
|
|
68
68
|
description: 'Run a shell command in the project bound to this chat. Use this for lint, build, tests, git status, and diagnostics.',
|
|
69
69
|
parameters: Type.Object({
|
|
70
70
|
command: Type.String({ description: 'Command to execute in the workspace.' }),
|
|
71
|
-
timeoutSeconds: Type.Optional(Type.Number({ description: 'Timeout in seconds. Defaults to
|
|
71
|
+
timeoutSeconds: Type.Optional(Type.Number({ description: 'Timeout in seconds. Defaults to 600 (10 minutes).', default: 600 })),
|
|
72
72
|
}),
|
|
73
73
|
executionMode: 'sequential',
|
|
74
74
|
},
|