@shawnstack/quickforge 1.3.18 → 1.3.20
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 +10 -10
- package/bin/quickforge.mjs +258 -49
- package/dist/assets/anthropic-Bj3HAZgj.js +39 -0
- package/dist/assets/azure-openai-responses-IdZZrSrI.js +1 -0
- package/dist/assets/github-copilot-headers-CMb2BbzT.js +1 -0
- package/dist/assets/google-Brt_lS1J.js +1 -0
- package/dist/assets/{google-shared-XhYUKiGZ.js → google-shared-CLc4ziON.js} +3 -3
- package/dist/assets/google-vertex-B6HsoZ34.js +1 -0
- package/dist/assets/{index-Dm7aEWvT.js → index-D0CVLdX_.js} +525 -489
- package/dist/assets/index-D0W9hAl_.css +3 -0
- package/dist/assets/{mistral-DxhS4Wkn.js → mistral-CenXqwPz.js} +3 -3
- package/dist/assets/openai-codex-responses-D9ffGwbj.js +7 -0
- package/dist/assets/openai-completions-eWdeSGBG.js +5 -0
- package/dist/assets/openai-responses-Cavpmjeu.js +1 -0
- package/dist/assets/{openai-responses-shared-f_P3e1nz.js → openai-responses-shared-DF3ZGaUx.js} +5 -3
- package/dist/assets/transform-messages-CmnxG9RB.js +1 -0
- package/dist/index.html +2 -2
- package/node_modules/@anthropic-ai/sdk/CHANGELOG.md +34 -0
- package/node_modules/@anthropic-ai/sdk/bin/migration-config.json +185 -0
- package/node_modules/@anthropic-ai/sdk/package.json +1 -1
- package/node_modules/@anthropic-ai/sdk/resources/beta/beta.js +4 -0
- package/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs +4 -0
- package/node_modules/@anthropic-ai/sdk/resources/beta/files.js +5 -5
- package/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs +5 -5
- package/node_modules/@anthropic-ai/sdk/resources/beta/index.js +11 -9
- package/node_modules/@anthropic-ai/sdk/resources/beta/index.mjs +1 -0
- package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/index.js +11 -0
- package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/index.mjs +5 -0
- package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.js +130 -0
- package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.mjs +126 -0
- package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-stores.js +145 -0
- package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-stores.mjs +140 -0
- package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.js +81 -0
- package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.mjs +77 -0
- package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores.js +6 -0
- package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores.mjs +3 -0
- package/node_modules/@anthropic-ai/sdk/tools/memory/node.js +12 -5
- package/node_modules/@anthropic-ai/sdk/tools/memory/node.mjs +12 -5
- package/node_modules/@anthropic-ai/sdk/version.js +1 -1
- package/node_modules/@anthropic-ai/sdk/version.mjs +1 -1
- package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +5 -5
- package/node_modules/@aws-sdk/core/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.js +12 -6
- package/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js +12 -6
- package/node_modules/@aws-sdk/credential-provider-http/package.json +3 -2
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
- package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-websocket/package.json +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/package.json +3 -3
- package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +1 -2
- package/node_modules/@aws-sdk/token-providers/package.json +3 -3
- package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
- package/node_modules/@mariozechner/pi-agent-core/README.md +14 -0
- package/node_modules/@mariozechner/pi-agent-core/dist/agent-loop.js +9 -0
- package/node_modules/@mariozechner/pi-agent-core/dist/agent.js +1 -1
- package/node_modules/@mariozechner/pi-agent-core/package.json +2 -2
- package/node_modules/@mariozechner/pi-ai/README.md +20 -31
- package/node_modules/@mariozechner/pi-ai/dist/env-api-keys.js +7 -0
- package/node_modules/@mariozechner/pi-ai/dist/index.js +2 -0
- package/node_modules/@mariozechner/pi-ai/dist/models.generated.js +2420 -1213
- package/node_modules/@mariozechner/pi-ai/dist/models.js +28 -20
- package/node_modules/@mariozechner/pi-ai/dist/providers/amazon-bedrock.js +11 -11
- package/node_modules/@mariozechner/pi-ai/dist/providers/anthropic.js +43 -26
- package/node_modules/@mariozechner/pi-ai/dist/providers/azure-openai-responses.js +12 -6
- package/node_modules/@mariozechner/pi-ai/dist/providers/cloudflare.js +10 -3
- package/node_modules/@mariozechner/pi-ai/dist/providers/google-shared.js +4 -13
- package/node_modules/@mariozechner/pi-ai/dist/providers/google-vertex.js +4 -3
- package/node_modules/@mariozechner/pi-ai/dist/providers/google.js +4 -3
- package/node_modules/@mariozechner/pi-ai/dist/providers/mistral.js +8 -7
- package/node_modules/@mariozechner/pi-ai/dist/providers/openai-codex-responses.js +296 -41
- package/node_modules/@mariozechner/pi-ai/dist/providers/openai-completions.js +169 -153
- package/node_modules/@mariozechner/pi-ai/dist/providers/openai-responses-shared.js +14 -1
- package/node_modules/@mariozechner/pi-ai/dist/providers/openai-responses.js +22 -8
- package/node_modules/@mariozechner/pi-ai/dist/providers/register-builtins.js +0 -18
- package/node_modules/@mariozechner/pi-ai/dist/providers/simple-options.js +1 -0
- package/node_modules/@mariozechner/pi-ai/dist/session-resources.js +22 -0
- package/node_modules/@mariozechner/pi-ai/dist/utils/diagnostics.js +25 -0
- package/node_modules/@mariozechner/pi-ai/dist/utils/oauth/index.js +0 -10
- package/node_modules/@mariozechner/pi-ai/dist/utils/oauth/openai-codex.js +25 -14
- package/node_modules/@mariozechner/pi-ai/dist/utils/overflow.js +14 -0
- package/node_modules/@mariozechner/pi-ai/package.json +2 -6
- package/package.json +3 -3
- package/server/agent-manager.mjs +279 -12
- package/server/auto-compaction.mjs +1 -2
- package/server/conversation-compaction.mjs +0 -5
- package/server/index.mjs +1 -0
- package/server/routes/static.mjs +1 -0
- package/server/routes/tools.mjs +3 -1
- package/server/session-utils.mjs +6 -1
- package/server/share-store.mjs +27 -4
- package/server/subagents.mjs +101 -0
- package/server/system-prompt.mjs +30 -1
- package/server/tools/definitions.mjs +18 -0
- package/server/tools/index.mjs +1013 -911
- package/dist/assets/anthropic-Ck2DxOfr.js +0 -39
- package/dist/assets/azure-openai-responses-DIoz5q4Z.js +0 -1
- package/dist/assets/github-copilot-headers-CrI0CIJ7.js +0 -1
- package/dist/assets/google-Dau-4ve_.js +0 -1
- package/dist/assets/google-gemini-cli-DttMmbGb.js +0 -2
- package/dist/assets/google-vertex-BeukMl44.js +0 -1
- package/dist/assets/index-DgJVElbv.css +0 -3
- package/dist/assets/openai-codex-responses-X3sTzNAa.js +0 -7
- package/dist/assets/openai-completions-CRB9Vm0w.js +0 -5
- package/dist/assets/openai-responses-DXluu3oi.js +0 -1
- package/dist/assets/transform-messages-CV4kCtBB.js +0 -1
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/LICENSE +0 -201
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/README.md +0 -62
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +0 -156
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/constants.js +0 -2
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromEnvSigningName.js +0 -16
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js +0 -80
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromStatic.js +0 -8
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js +0 -11
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js +0 -10
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/index.js +0 -4
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/nodeProvider.js +0 -5
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/validateTokenExpiry.js +0 -7
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/validateTokenKey.js +0 -7
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/writeSSOTokenToFile.js +0 -8
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +0 -69
- package/node_modules/@mariozechner/pi-ai/dist/providers/google-gemini-cli.js +0 -779
- package/node_modules/@mariozechner/pi-ai/dist/utils/oauth/google-antigravity.js +0 -377
- package/node_modules/@mariozechner/pi-ai/dist/utils/oauth/google-gemini-cli.js +0 -482
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{a as e,c as t,d as n,f as r,i,o as a,s as o,u as s}from"./index-D0CVLdX_.js";import{t as c}from"./headers-5EYI0_pl.js";import{r as l}from"./transform-messages-CmnxG9RB.js";import{n as u,r as d,t as f}from"./openai-responses-shared-DF3ZGaUx.js";var p=null;typeof process<`u`&&(process.versions?.node||process.versions?.bun)&&(e=>r(()=>import(e),[]))(`node:os`).then(e=>{p=e});var m=`https://chatgpt.com/backend-api`,h=`https://api.openai.com/auth`,g=3,_=1e3,v=new Set([`openai`,`openai-codex`,`opencode`]),y=1009,b=new Set([`completed`,`incomplete`,`failed`,`cancelled`,`queued`,`in_progress`]);function ee(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 x(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 S=(r,a,o)=>{let s=new t;return(async()=>{let t={role:`assistant`,content:[],api:`openai-codex-responses`,provider:r.provider,model:r.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 l=o?.apiKey||n(r.provider)||``;if(!l)throw Error(`No API key for provider: ${r.provider}`);let u=_e(l),d=te(r,a,o),f=await o?.onPayload?.(d,r);f!==void 0&&(d=f);let p=o?.sessionId||ve(),m=ye(r.headers,o?.headers,u,l,o?.sessionId),h=be(r.headers,o?.headers,u,l,p),v=JSON.stringify(d),y=o?.transport||`auto`,b=y!==`sse`&&z(o?.sessionId);if(b&&B(o?.sessionId),y!==`sse`&&!b){let n=!1;try{if(await Q(ne(r.baseUrl),d,h,t,s,r,()=>{n=!0},o),o?.signal?.aborted)throw Error(`Request was aborted`);s.push({type:`done`,reason:t.stopReason,message:t}),s.end();return}catch(r){if(o?.signal?.aborted||A(r)||(i(t,e(`provider_transport_failure`,r,{configuredTransport:y,fallbackTransport:n?void 0:`sse`,eventsEmitted:n,phase:n?`after_message_stream_start`:`before_message_stream_start`,requestBytes:new TextEncoder().encode(v).byteLength})),V(o?.sessionId,r),n))throw r;B(o?.sessionId)}}let S,C;for(let e=0;e<=g;e++){if(o?.signal?.aborted)throw Error(`Request was aborted`);try{if(S=await fetch(D(r.baseUrl),{method:`POST`,headers:m,body:v,signal:o?.signal}),await o?.onResponse?.({status:S.status,headers:c(S.headers)},r),S.ok)break;let t=await S.text();if(e<g&&ee(S.status,t)){await x(_*2**e,o?.signal);continue}let n=await ge(new Response(t,{status:S.status,statusText:S.statusText}));throw Error(n.friendlyMessage||n.message)}catch(t){if(t instanceof Error&&(t.name===`AbortError`||t.message===`Request was aborted`))throw Error(`Request was aborted`);if(C=t instanceof Error?t:Error(String(t)),e<g&&!C.message.includes(`usage limit`)){await x(_*2**e,o?.signal);continue}throw C}}if(!S?.ok)throw C??Error(`Failed after retries`);if(!S.body)throw Error(`No response body`);if(s.push({type:`start`,partial:t}),await re(S,t,s,r,o),o?.signal?.aborted)throw Error(`Request was aborted`);s.push({type:`done`,reason:t.stopReason,message:t}),s.end()}catch(e){for(let e of t.content)delete e.partialJson;t.stopReason=o?.signal?.aborted?`aborted`:`error`,t.errorMessage=e instanceof Error?e.message:String(e),s.push({type:`error`,reason:t.stopReason,error:t}),s.end()}})(),s},C=(e,t,r)=>{let i=r?.apiKey||n(e.provider);if(!i)throw Error(`No API key for provider: ${e.provider}`);let a=l(e,r,i),o=r?.reasoning?s(e,r.reasoning):void 0,c=o===`off`?void 0:o;return S(e,t,{...a,reasoningEffort:c})};function te(e,t,n){let r=f(e,t,v,{includeSystemPrompt:!1}),i={model:e.id,store:!1,stream:!0,instructions:t.systemPrompt||`You are a helpful assistant.`,input:r,text:{verbosity:n?.textVerbosity||`low`},include:[`reasoning.encrypted_content`],prompt_cache_key:n?.sessionId,tool_choice:`auto`,parallel_tool_calls:!0};if(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=u(t.tools,{strict:null})),n?.reasoningEffort!==void 0){let t=n.reasoningEffort===`none`?e.thinkingLevelMap?.off??`none`:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;t!==null&&(i.reasoning={effort:t,summary:n.reasoningSummary??`auto`})}return i}function w(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function T(e,t,n){let r=w(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 E(e,t){return e===`default`&&(t===`flex`||t===`priority`)?t:e??t}function D(e){let t=(e&&e.trim().length>0?e:m).replace(/\/+$/,``);return t.endsWith(`/codex/responses`)?t:t.endsWith(`/codex`)?`${t}/responses`:`${t}/codex/responses`}function ne(e){let t=new URL(D(e));return t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}async function re(e,t,n,r,i){await d(j(ae(e)),t,n,r,{serviceTier:i?.serviceTier,resolveServiceTier:E,applyServiceTierPricing:(e,t)=>T(e,t,r)})}var O=class extends Error{code;payload;constructor(e,t){super(e),this.name=`CodexApiError`,this.code=t?.code,this.payload=t?.payload,this.cause=t?.cause}},k=class extends Error{payload;constructor(e,t){super(e),this.name=`CodexProtocolError`,this.payload=t?.payload,this.cause=t?.cause}};function A(e){return e instanceof O||e instanceof k}async function*j(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||``;throw new O(`Codex error: ${t.message||e||JSON.stringify(t)}`,{code:e||void 0,payload:t})}if(e===`response.failed`){let e=t.response,n=e?.error?.code,r=e?.error?.message;throw new O(r||`Codex response failed`,{code:n,payload:t})}if(e===`response.done`||e===`response.completed`||e===`response.incomplete`){let e=t.response,n=e&&{...e,status:ie(e.status)};yield{...t,type:`response.completed`,response:n};return}yield t}}}function ie(e){if(typeof e==`string`)return b.has(e)?e:void 0}async function*ae(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 o=r.indexOf(`
|
|
2
|
+
|
|
3
|
+
`);for(;o!==-1;){let e=r.slice(0,o);r=r.slice(o+2);let t=e.split(`
|
|
4
|
+
`).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trim());if(t.length>0){let e=t.join(`
|
|
5
|
+
`).trim();if(e&&e!==`[DONE]`)try{yield JSON.parse(e)}catch(t){throw new k(`Invalid Codex SSE JSON: ${a(t)}`,{cause:t,payload:e})}}o=r.indexOf(`
|
|
6
|
+
|
|
7
|
+
`)}}}finally{try{await t.cancel()}catch{}try{t.releaseLock()}catch{}}}var M=`responses_websockets=2026-02-06`,N=300*1e3,P=new Map,F=new Map,I=new Set;function L(e){let t=F.get(e);return t||(t={requests:0,connectionsCreated:0,connectionsReused:0,cachedContextRequests:0,storeTrueRequests:0,fullContextRequests:0,deltaRequests:0,lastInputItems:0,websocketFailures:0,sseFallbacks:0},F.set(e,t)),t}function oe(e){let t=F.get(e);return t?{...t}:void 0}function se(e){if(e){F.delete(e),I.delete(e);return}F.clear(),I.clear()}function R(e){let t=e=>{e.idleTimer&&clearTimeout(e.idleTimer),K(e.socket,1e3,`debug_close`)};if(e){let n=P.get(e);n&&t(n),P.delete(e);return}for(let e of P.values())t(e);P.clear()}o(R);function z(e){return e?I.has(e):!1}function B(e){if(!e)return;let t=L(e);t.sseFallbacks++,t.websocketFallbackActive=z(e)}function V(e,t){if(!e)return;I.add(e);let n=L(e);n.websocketFailures++,n.lastWebSocketError=a(t),n.websocketFallbackActive=!0}function H(){let e=globalThis.WebSocket;return typeof e==`function`?e:null}var U=class extends Error{code;reason;wasClean;constructor(e,t){super(e),this.name=`WebSocketCloseError`,this.code=t?.code,this.reason=t?.reason,this.wasClean=t?.wasClean}};function W(e){let t=e.readyState;return typeof t==`number`?t:void 0}function G(e){let t=W(e);return t===void 0||t===1}function K(e,t=1e3,n=`done`){try{e.close(t,n)}catch{}}function q(e,t){t.idleTimer&&clearTimeout(t.idleTimer),t.idleTimer=setTimeout(()=>{t.busy||(K(t.socket,1e3,`idle_timeout`),P.delete(e))},N)}async function J(e,t,n){let r=H();if(!r)throw Error(`WebSocket transport is not available in this runtime`);let i=c(t);return delete i[`OpenAI-Beta`],new Promise((t,a)=>{let o=!1,s;try{s=new r(e,{headers:i})}catch(e){a(e instanceof Error?e:Error(String(e)));return}let c=()=>{o||(o=!0,f(),t(s))},l=e=>{let t=Y(e);o||(o=!0,f(),a(t))},u=e=>{let t=X(e);o||(o=!0,f(),a(t))},d=()=>{o||(o=!0,f(),s.close(1e3,`aborted`),a(Error(`Request was aborted`)))},f=()=>{s.removeEventListener(`open`,c),s.removeEventListener(`error`,l),s.removeEventListener(`close`,u),n?.removeEventListener(`abort`,d)};s.addEventListener(`open`,c),s.addEventListener(`error`,l),s.addEventListener(`close`,u),n?.addEventListener(`abort`,d)})}async function ce(e,t,n,r){if(!n){let n=await J(e,t,r);return{socket:n,reused:!1,release:({keep:e}={})=>{if(e===!1){K(n);return}K(n)}}}let i=P.get(n);if(i){if(i.idleTimer&&=(clearTimeout(i.idleTimer),void 0),!i.busy&&G(i.socket))return i.busy=!0,{socket:i.socket,entry:i,reused:!0,release:({keep:e}={})=>{if(!e||!G(i.socket)){K(i.socket),P.delete(n);return}i.busy=!1,q(n,i)}};if(i.busy){let n=await J(e,t,r);return{socket:n,reused:!1,release:()=>{K(n)}}}G(i.socket)||(K(i.socket),P.delete(n))}let a=await J(e,t,r),o={socket:a,busy:!0};return P.set(n,o),{socket:a,entry:o,reused:!1,release:({keep:e}={})=>{if(!e||!G(o.socket)){K(o.socket),o.idleTimer&&clearTimeout(o.idleTimer),P.get(n)===o&&P.delete(n);return}o.busy=!1,q(n,o)}}}function Y(e){if(e&&typeof e==`object`){let t=`message`in e?e.message:void 0;if(typeof t==`string`&&t.length>0)return Error(t);let n=`error`in e?e.error:void 0;if(n instanceof Error&&n.message.length>0)return n;if(n&&typeof n==`object`&&`message`in n){let e=n.message;if(typeof e==`string`&&e.length>0)return Error(e)}}return Error(`WebSocket error`)}function X(e){if(e&&typeof e==`object`){let t=`code`in e?e.code:void 0,n=`reason`in e?e.reason:void 0,r=`wasClean`in e?e.wasClean:void 0,i=typeof t==`number`?` ${t}`:``,a=typeof n==`string`&&n.length>0?` ${n}`:``;return!a&&t===y&&(a=` message too big`),new U(`WebSocket closed${i}${a}`.trim(),{code:typeof t==`number`?t:void 0,reason:typeof n==`string`&&n.length>0?n:void 0,wasClean:typeof r==`boolean`?r:void 0})}return Error(`WebSocket closed`)}async function le(e){if(typeof e==`string`)return e;if(e instanceof ArrayBuffer)return new TextDecoder().decode(new Uint8Array(e));if(ArrayBuffer.isView(e)){let t=e;return new TextDecoder().decode(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}if(e&&typeof e==`object`&&`arrayBuffer`in e){let t=await e.arrayBuffer();return new TextDecoder().decode(new Uint8Array(t))}return null}async function*ue(e,t){let n=[],r=null,i=!1,o=null,s=!1,c=()=>{if(!r)return;let e=r;r=null,e()},l=e=>{(async()=>{let t=null;try{if(!e||typeof e!=`object`||!(`data`in e)||(t=await le(e.data),!t))return;let r=JSON.parse(t),a=typeof r.type==`string`?r.type:``;(a===`response.completed`||a===`response.done`||a===`response.incomplete`)&&(s=!0,i=!0),n.push(r),c()}catch(e){o=new k(`Invalid Codex WebSocket JSON: ${a(e)}`,{cause:e,payload:t}),i=!0,c()}})()},u=e=>{o=Y(e),i=!0,c()},d=e=>{if(s){i=!0,c();return}o||=X(e),i=!0,c()},f=()=>{o=Error(`Request was aborted`),i=!0,c()};e.addEventListener(`message`,l),e.addEventListener(`error`,u),e.addEventListener(`close`,d),t?.addEventListener(`abort`,f);try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);if(n.length>0){yield n.shift();continue}if(i)break;await new Promise(e=>{r=e})}if(o)throw o;if(!s)throw Error(`WebSocket stream closed before response.completed`)}finally{e.removeEventListener(`message`,l),e.removeEventListener(`error`,u),e.removeEventListener(`close`,d),t?.removeEventListener(`abort`,f)}}function Z(e){let{input:t,previous_response_id:n,...r}=e;return r}function de(e,t){return JSON.stringify(e??[])===JSON.stringify(t??[])}function fe(e,t){return JSON.stringify(Z(e))===JSON.stringify(Z(t))}function pe(e,t){if(!fe(e,t.lastRequestBody))return;let n=e.input??[],r=[...t.lastRequestBody.input??[],...t.lastResponseItems];if(!(n.length<r.length)&&de(n.slice(0,r.length),r))return n.slice(r.length)}function me(e,t){let n=e.continuation;if(!n)return t;let r=pe(t,n);return!r||!n.lastResponseId?(e.continuation=void 0,t):{...t,previous_response_id:n.lastResponseId,input:r}}async function*he(e,t,n,r){let i=!1;for await(let a of e)i||(i=!0,r(),n.push({type:`start`,partial:t})),yield a}async function Q(e,t,n,r,i,a,o,s){let{socket:c,entry:l,reused:u,release:p}=await ce(e,n,s?.sessionId,s?.signal),m=!0,h=s?.transport===`websocket-cached`||s?.transport===`auto`,g=t,_=h&&l?me(l,g):g,y=s?.sessionId?L(s.sessionId):void 0;y&&(y.requests++,u?y.connectionsReused++:y.connectionsCreated++,h&&y.cachedContextRequests++,_.store===!0&&y.storeTrueRequests++,y.lastInputItems=_.input?.length??0,_.previous_response_id?(y.deltaRequests++,y.lastDeltaInputItems=_.input?.length??0,y.lastPreviousResponseId=_.previous_response_id):(y.fullContextRequests++,y.lastDeltaInputItems=void 0,y.lastPreviousResponseId=void 0));try{if(c.send(JSON.stringify({type:`response.create`,..._})),await d(he(j(ue(c,s?.signal)),r,i,o),r,i,a,{serviceTier:s?.serviceTier,resolveServiceTier:E,applyServiceTierPricing:(e,t)=>T(e,t,a)}),s?.signal?.aborted)m=!1;else if(h&&l&&r.responseId){let e=f(a,{messages:[r]},v,{includeSystemPrompt:!1}).filter(e=>e.type!==`function_call_output`);l.continuation={lastRequestBody:g,lastResponseId:r.responseId,lastResponseItems:e}}}catch(e){throw l&&(l.continuation=void 0),m=!1,e}finally{p({keep:m})}}async function ge(e){let t=await e.text(),n=t||e.statusText||`Request failed`,r;try{let i=JSON.parse(t)?.error;if(i){let t=i.code||i.type||``;if(/usage_limit_reached|usage_not_included|rate_limit_exceeded/i.test(t)||e.status===429){let e=i.plan_type?` (${i.plan_type.toLowerCase()} plan)`:``,t=i.resets_at?Math.max(0,Math.round((i.resets_at*1e3-Date.now())/6e4)):void 0;r=`You have hit your ChatGPT usage limit${e}.${t===void 0?``:` Try again in ~${t} min.`}`.trim()}n=i.message||r||n}}catch{}return{message:n,friendlyMessage:r}}function _e(e){try{let t=e.split(`.`);if(t.length!==3)throw Error(`Invalid token`);let n=JSON.parse(atob(t[1]))?.[h]?.chatgpt_account_id;if(!n)throw Error(`No account ID in token`);return n}catch{throw Error(`Failed to extract accountId from token`)}}function ve(){return typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`codex_${Date.now()}_${Math.random().toString(36).slice(2,10)}`}function $(e,t,n,r){let i=new Headers(e);for(let[e,n]of Object.entries(t||{}))i.set(e,n);i.set(`Authorization`,`Bearer ${r}`),i.set(`chatgpt-account-id`,n),i.set(`originator`,`pi`);let a=p?`pi (${p.platform()} ${p.release()}; ${p.arch()})`:`pi (browser)`;return i.set(`User-Agent`,a),i}function ye(e,t,n,r,i){let a=$(e,t,n,r);return a.set(`OpenAI-Beta`,`responses=experimental`),a.set(`accept`,`text/event-stream`),a.set(`content-type`,`application/json`),i&&(a.set(`session_id`,i),a.set(`x-client-request-id`,i)),a}function be(e,t,n,r,i){let a=$(e,t,n,r);return a.delete(`accept`),a.delete(`content-type`),a.delete(`OpenAI-Beta`),a.delete(`openai-beta`),a.set(`OpenAI-Beta`,M),a.set(`x-client-request-id`,i),a.set(`session_id`,i),a}export{R as closeOpenAICodexWebSocketSessions,oe as getOpenAICodexWebSocketDebugStats,se as resetOpenAICodexWebSocketDebugStats,S as streamOpenAICodexResponses,C as streamSimpleOpenAICodexResponses};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{c as e,d as t,l as n,r,u as i}from"./index-D0CVLdX_.js";import{t as a}from"./headers-5EYI0_pl.js";import{i as o,r as s,t as c}from"./transform-messages-CmnxG9RB.js";import{i as l,n as u,r as d,t as f}from"./github-copilot-headers-CMb2BbzT.js";import{n as p}from"./openai-Cn7eGqwa.js";function m(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 h(e){return e.type===`text`}function g(e){return e.type===`thinking`}function _(e){return e.type===`toolCall`}function v(e){return e.type===`image`}function y(e){return e||(typeof process<`u`&&{}.PI_CACHE_RETENTION===`long`?`long`:`short`)}var b=(n,i,o)=>{let s=new e;return(async()=>{let e={role:`assistant`,content:[],api:n.api,provider:n.provider,model:n.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||t(n.provider)||``,l=L(n),u=y(o?.cacheRetention),d=u===`none`?void 0:o?.sessionId,f=S(n,i,c,o?.headers,d,l),p=C(n,i,o,l,u),m=await o?.onPayload?.(p,n);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)},n),s.push({type:`start`,partial:e});let v=null,b=null,x=new Map,w=new Map,T=e.content,E=e=>T.indexOf(e),D=t=>{let n=E(t);n!==-1&&(t.type===`text`?s.push({type:`text_end`,contentIndex:n,content:t.text,partial:e}):t.type===`thinking`?s.push({type:`thinking_end`,contentIndex:n,content:t.thinking,partial:e}):t.type===`toolCall`&&(t.arguments=r(t.partialArgs),delete t.partialArgs,delete t.streamIndex,s.push({type:`toolcall_end`,contentIndex:n,toolCall:t,partial:e})))},O=()=>(v||(v={type:`text`,text:``},T.push(v),s.push({type:`text_start`,contentIndex:E(v),partial:e})),v),k=t=>(b||(b={type:`thinking`,thinking:``,thinkingSignature:t},T.push(b),s.push({type:`thinking_start`,contentIndex:E(b),partial:e})),b),A=t=>{let n=typeof t.index==`number`?t.index:void 0,r=n===void 0?void 0:x.get(n);return!r&&t.id&&(r=w.get(t.id)),r||(r={type:`toolCall`,id:t.id||``,name:t.function?.name||``,arguments:{},partialArgs:``,streamIndex:n},n!==void 0&&x.set(n,r),t.id&&w.set(t.id,r),T.push(r),s.push({type:`toolcall_start`,contentIndex:E(r),partial:e})),n!==void 0&&r.streamIndex===void 0&&(r.streamIndex=n,x.set(n,r)),t.id&&w.set(t.id,r),r};for await(let t of g){if(!t||typeof t!=`object`)continue;e.responseId||=t.id,typeof t.model==`string`&&t.model.length>0&&t.model!==n.id&&(e.responseModel||=t.model),t.usage&&(e.usage=P(t.usage,n));let i=Array.isArray(t.choices)?t.choices[0]:void 0;if(i){if(!t.usage&&i.usage&&(e.usage=P(i.usage,n)),i.finish_reason){let t=F(i.finish_reason);e.stopReason=t.stopReason,t.errorMessage&&(e.errorMessage=t.errorMessage)}if(i.delta){if(i.delta.content!==null&&i.delta.content!==void 0&&i.delta.content.length>0){let t=O();t.text+=i.delta.content,s.push({type:`text_delta`,contentIndex:E(t),delta:i.delta.content,partial:e})}let t=[`reasoning_content`,`reasoning`,`reasoning_text`],n=i.delta,a=null;for(let e of t){let t=n[e];if(typeof t==`string`&&t.length>0){a=e;break}}if(a){let t=n[a];if(typeof t==`string`&&t.length>0){let n=k(a);n.thinking+=t,s.push({type:`thinking_delta`,contentIndex:E(n),delta:t,partial:e})}}if(i?.delta?.tool_calls)for(let t of i.delta.tool_calls){let n=A(t);!n.id&&t.id&&(n.id=t.id,w.set(t.id,n)),!n.name&&t.function?.name&&(n.name=t.function.name);let i=``;t.function?.arguments&&(i=t.function.arguments,n.partialArgs=(n.partialArgs??``)+t.function.arguments,n.arguments=r(n.partialArgs)),s.push({type:`toolcall_delta`,contentIndex:E(n),delta:i,partial:e})}let o=i.delta.reasoning_details;if(o&&Array.isArray(o)){for(let t of o)if(t.type===`reasoning.encrypted`&&t.id&&t.data){let n=e.content.find(e=>e.type===`toolCall`&&e.id===t.id);n&&(n.thoughtSignature=JSON.stringify(t))}}}}}for(let e of T)D(e);if(o?.signal?.aborted||e.stopReason===`aborted`)throw Error(`Request was aborted`);if(e.stopReason===`error`)throw Error(e.errorMessage||`Provider returned an error stop reason`);s.push({type:`done`,reason:e.stopReason,message:e}),s.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialArgs,delete t.streamIndex;e.stopReason=o?.signal?.aborted?`aborted`:`error`,e.errorMessage=t instanceof Error?t.message:JSON.stringify(t);let n=t?.error?.metadata?.raw;n&&(e.errorMessage+=`\n${n}`),s.push({type:`error`,reason:e.stopReason,error:e}),s.end()}})(),s},x=(e,n,r)=>{let a=r?.apiKey||t(e.provider);if(!a)throw Error(`No API key for provider: ${e.provider}`);let o=s(e,r,a),c=r?.reasoning?i(e,r.reasoning):void 0,l=c===`off`?void 0:c,u=r?.toolChoice;return b(e,n,{...o,reasoningEffort:l,toolChoice:u})};function S(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=f({messages:t.messages,hasImages:e});Object.assign(o,n)}i&&a.sendSessionAffinityHeaders&&(o.session_id=i,o[`x-client-request-id`]=i,o[`x-session-affinity`]=i),r&&Object.assign(o,r);let s=e.provider===`cloudflare-ai-gateway`?{...o,Authorization:o.Authorization??null,"cf-aig-authorization":`Bearer ${n}`}:o;return new p({apiKey:n,baseURL:d(e.provider)?l(e):e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:s})}function C(e,t,n,r=L(e),i=y(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)):m(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=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort);else if(r.thinkingFormat===`openrouter`&&e.reasoning){let t=s;n?.reasoningEffort?t.reasoning={effort:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort}:e.thinkingLevelMap?.off!==null&&(t.reasoning={effort:e.thinkingLevelMap?.off??`none`})}else if(n?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort)s.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;else if(!n?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort){let t=e.thinkingLevelMap?.off;typeof t==`string`&&(s.reasoning_effort=t)}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 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=c(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(h).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(g).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
|
+
|
|
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
|
+
`))}else s.length>0&&(t.content=s);let l=i.content.filter(_);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(h).map(e=>e.text).join(`
|
|
5
|
+
`),l=t.content.some(e=>e.type===`image`),u={role:`tool`,content:o(s.length>0?s:`(see attached image)`),tool_call_id:t.toolCallId};if(n.requiresToolResultName&&t.toolName&&(u.name=t.toolName),r.push(u),l&&e.input.includes(`image`))for(let e of t.content)v(e)&&i.push({type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}})}t=c-1,i.length>0?(n.requiresAssistantAfterToolResult&&r.push({role:`assistant`,content:`I have processed the tool results.`}),r.push({role:`user`,content:[{type:`text`,text:`Attached image(s) from tool result:`},...i]}),s=`user`):s=`toolResult`;continue}s=i.role}return r}function N(e,t){return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters,...t.supportsStrictMode!==!1&&{strict:!1}}}))}function P(e,t){let r=e.prompt_tokens||0,i=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??0,a=e.prompt_tokens_details?.cache_write_tokens||0,o=a>0?Math.max(0,i-a):i,s=Math.max(0,r-o-a),c=e.completion_tokens||0,l={input:s,output:c,cacheRead:o,cacheWrite:a,totalTokens:s+c+o+a,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return n(t,l),l}function F(e){if(e===null)return{stopReason:`stop`};switch(e){case`stop`:case`end`:return{stopReason:`stop`};case`length`:return{stopReason:`length`};case`function_call`:case`tool_calls`:return{stopReason:`toolUse`};case`content_filter`:return{stopReason:`error`,errorMessage:`Provider finish_reason: content_filter`};case`network_error`:return{stopReason:`error`,errorMessage:`Provider finish_reason: network_error`};default:return{stopReason:`error`,errorMessage:`Provider finish_reason: ${e}`}}}function I(e){let t=e.provider,n=e.baseUrl,r=t===`zai`||n.includes(`api.z.ai`),i=t===`moonshotai`||t===`moonshotai-cn`||n.includes(`api.moonshot.`),a=t===`cloudflare-workers-ai`||n.includes(`api.cloudflare.com`),o=t===`cloudflare-ai-gateway`||n.includes(`gateway.ai.cloudflare.com`),s=t===`cerebras`||n.includes(`cerebras.ai`)||t===`xai`||n.includes(`api.x.ai`)||n.includes(`chutes.ai`)||n.includes(`deepseek.com`)||r||i||t===`opencode`||n.includes(`opencode.ai`)||a||o,c=n.includes(`chutes.ai`)||i||o,l=t===`xai`||n.includes(`api.x.ai`),u=t===`deepseek`||n.includes(`deepseek.com`),d=t===`openrouter`&&e.id.startsWith(`anthropic/`)?`anthropic`:void 0;return{supportsStore:!s,supportsDeveloperRole:!s,supportsReasoningEffort:!l&&!r&&!i&&!o,supportsUsageInStreaming:!0,maxTokensField:c?`max_tokens`:`max_completion_tokens`,requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:u,thinkingFormat:u?`deepseek`:r?`zai`:t===`openrouter`||n.includes(`openrouter.ai`)?`openrouter`:`openai`,openRouterRouting:{},vercelGatewayRouting:{},zaiToolStream:!1,supportsStrictMode:!i&&!o,cacheControlFormat:d,sendSessionAffinityHeaders:!1,supportsLongCacheRetention:!(a||o)}}function L(e){let t=I(e);return e.compat?{supportsStore:e.compat.supportsStore??t.supportsStore,supportsDeveloperRole:e.compat.supportsDeveloperRole??t.supportsDeveloperRole,supportsReasoningEffort:e.compat.supportsReasoningEffort??t.supportsReasoningEffort,supportsUsageInStreaming:e.compat.supportsUsageInStreaming??t.supportsUsageInStreaming,maxTokensField:e.compat.maxTokensField??t.maxTokensField,requiresToolResultName:e.compat.requiresToolResultName??t.requiresToolResultName,requiresAssistantAfterToolResult:e.compat.requiresAssistantAfterToolResult??t.requiresAssistantAfterToolResult,requiresThinkingAsText:e.compat.requiresThinkingAsText??t.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:e.compat.requiresReasoningContentOnAssistantMessages??t.requiresReasoningContentOnAssistantMessages,thinkingFormat:e.compat.thinkingFormat??t.thinkingFormat,openRouterRouting:e.compat.openRouterRouting??{},vercelGatewayRouting:e.compat.vercelGatewayRouting??t.vercelGatewayRouting,zaiToolStream:e.compat.zaiToolStream??t.zaiToolStream,supportsStrictMode:e.compat.supportsStrictMode??t.supportsStrictMode,cacheControlFormat:e.compat.cacheControlFormat??t.cacheControlFormat,sendSessionAffinityHeaders:e.compat.sendSessionAffinityHeaders??t.sendSessionAffinityHeaders,supportsLongCacheRetention:e.compat.supportsLongCacheRetention??t.supportsLongCacheRetention}:t}export{M as convertMessages,b as streamOpenAICompletions,x as streamSimpleOpenAICompletions};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,d as t,u as n}from"./index-D0CVLdX_.js";import{t as r}from"./headers-5EYI0_pl.js";import{r as i}from"./transform-messages-CmnxG9RB.js";import{i as a,n as o,r as s,t as c}from"./github-copilot-headers-CMb2BbzT.js";import{n as l}from"./openai-Cn7eGqwa.js";import{n as u,r as d,t as f}from"./openai-responses-shared-DF3ZGaUx.js";var p=new Set([`openai`,`openai-codex`,`opencode`]);function m(e){return e||(typeof process<`u`&&{}.PI_CACHE_RETENTION===`long`?`long`:`short`)}function h(e){return{sendSessionIdHeader:e.compat?.sendSessionIdHeader??!0,supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0}}function g(e,t){return t===`long`&&e.supportsLongCacheRetention?`24h`:void 0}var _=(n,i,a)=>{let o=new e;return(async()=>{let e={role:`assistant`,content:[],api:n.api,provider:n.provider,model:n.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||t(n.provider)||``,c=m(a?.cacheRetention)===`none`?void 0:a?.sessionId,l=y(n,i,s,a?.headers,c),u=b(n,i,a),f=await a?.onPayload?.(u,n);f!==void 0&&(u=f);let p={...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(u,p).withResponse();if(await a?.onResponse?.({status:g.status,headers:r(g.headers)},n),o.push({type:`start`,partial:e}),await d(h,e,o,n,{serviceTier:a?.serviceTier,applyServiceTierPricing:(e,t)=>S(e,t,n)}),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},v=(e,r,a)=>{let o=a?.apiKey||t(e.provider);if(!o)throw Error(`No API key for provider: ${e.provider}`);let s=i(e,a,o),c=a?.reasoning?n(e,a.reasoning):void 0,l=c===`off`?void 0:c;return _(e,r,{...s,reasoningEffort:l})};function y(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 u=h(e),d={...e.headers};if(e.provider===`github-copilot`){let e=o(t.messages),n=c({messages:t.messages,hasImages:e});Object.assign(d,n)}i&&(u.sendSessionIdHeader&&(d.session_id=i),d[`x-client-request-id`]=i),r&&Object.assign(d,r);let f=e.provider===`cloudflare-ai-gateway`?{...d,Authorization:d.Authorization??null,"cf-aig-authorization":`Bearer ${n}`}:d;return new l({apiKey:n,baseURL:s(e.provider)?a(e):e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:f})}function b(e,t,n){let r=f(e,t,p),i=m(n?.cacheRetention),a=h(e),o={model:e.id,input:r,stream:!0,prompt_cache_key:i===`none`?void 0:n?.sessionId,prompt_cache_retention:g(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=u(t.tools)),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(o.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},o.include=[`reasoning.encrypted_content`]):e.provider!==`github-copilot`&&e.thinkingLevelMap?.off!==null&&(o.reasoning={effort:e.thinkingLevelMap?.off??`none`})),o}function x(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function S(e,t,n){let r=x(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{_ as streamOpenAIResponses,v as streamSimpleOpenAIResponses};
|
package/dist/assets/{openai-responses-shared-f_P3e1nz.js → openai-responses-shared-DF3ZGaUx.js}
RENAMED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{l as e,r as t}from"./index-D0CVLdX_.js";import{i as n,t as r}from"./transform-messages-CmnxG9RB.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+=`
|
|
5
5
|
|
|
6
6
|
`,i.push({type:`thinking_delta`,contentIndex:f(),delta:`
|
|
7
7
|
|
|
8
|
-
`,partial:r}))}}else if(d.type===`response.content_part.added`)c?.type===`message`&&(c.content=c.content||[],(d.part.type===`output_text`||d.part.type===`refusal`)&&c.content.push(d.part));else if(d.type===`response.output_text.delta`){if(c?.type===`message`&&l?.type===`text`){if(!c.content||c.content.length===0)continue;let e=c.content[c.content.length-1];e?.type===`output_text`&&(l.text+=d.delta,e.text+=d.delta,i.push({type:`text_delta`,contentIndex:f(),delta:d.delta,partial:r}))}}else if(d.type===`response.refusal.delta`){if(c?.type===`message`&&l?.type===`text`){if(!c.content||c.content.length===0)continue;let e=c.content[c.content.length-1];e?.type===`refusal`&&(l.text+=d.delta,e.refusal+=d.delta,i.push({type:`text_delta`,contentIndex:f(),delta:d.delta,partial:r}))}}else if(d.type===`response.function_call_arguments.delta`)c?.type===`function_call`&&l?.type===`toolCall`&&(l.partialJson+=d.delta,l.arguments=t(l.partialJson),i.push({type:`toolcall_delta`,contentIndex:f(),delta:d.delta,partial:r}));else if(d.type===`response.function_call_arguments.done`){if(c?.type===`function_call`&&l?.type===`toolCall`){let e=l.partialJson;if(l.partialJson=d.arguments,l.arguments=t(l.partialJson),d.arguments.startsWith(e)){let t=d.arguments.slice(e.length);t.length>0&&i.push({type:`toolcall_delta`,contentIndex:f(),delta:t,partial:r})}}}else if(d.type===`response.output_item.done`){let e=d.item;if(e.type===`reasoning`&&l?.type===`thinking`)
|
|
8
|
+
`,partial:r}))}}else if(d.type===`response.reasoning_text.delta`)c?.type===`reasoning`&&l?.type===`thinking`&&(l.thinking+=d.delta,i.push({type:`thinking_delta`,contentIndex:f(),delta:d.delta,partial:r}));else if(d.type===`response.content_part.added`)c?.type===`message`&&(c.content=c.content||[],(d.part.type===`output_text`||d.part.type===`refusal`)&&c.content.push(d.part));else if(d.type===`response.output_text.delta`){if(c?.type===`message`&&l?.type===`text`){if(!c.content||c.content.length===0)continue;let e=c.content[c.content.length-1];e?.type===`output_text`&&(l.text+=d.delta,e.text+=d.delta,i.push({type:`text_delta`,contentIndex:f(),delta:d.delta,partial:r}))}}else if(d.type===`response.refusal.delta`){if(c?.type===`message`&&l?.type===`text`){if(!c.content||c.content.length===0)continue;let e=c.content[c.content.length-1];e?.type===`refusal`&&(l.text+=d.delta,e.refusal+=d.delta,i.push({type:`text_delta`,contentIndex:f(),delta:d.delta,partial:r}))}}else if(d.type===`response.function_call_arguments.delta`)c?.type===`function_call`&&l?.type===`toolCall`&&(l.partialJson+=d.delta,l.arguments=t(l.partialJson),i.push({type:`toolcall_delta`,contentIndex:f(),delta:d.delta,partial:r}));else if(d.type===`response.function_call_arguments.done`){if(c?.type===`function_call`&&l?.type===`toolCall`){let e=l.partialJson;if(l.partialJson=d.arguments,l.arguments=t(l.partialJson),d.arguments.startsWith(e)){let t=d.arguments.slice(e.length);t.length>0&&i.push({type:`toolcall_delta`,contentIndex:f(),delta:t,partial:r})}}}else if(d.type===`response.output_item.done`){let e=d.item;if(e.type===`reasoning`&&l?.type===`thinking`){let t=e.summary?.map(e=>e.text).join(`
|
|
9
9
|
|
|
10
|
-
`)||``,
|
|
10
|
+
`)||``,n=e.content?.map(e=>e.text).join(`
|
|
11
|
+
|
|
12
|
+
`)||``;l.thinking=t||n||l.thinking,l.thinkingSignature=JSON.stringify(e),i.push({type:`thinking_end`,contentIndex:f(),content:l.thinking,partial:r}),l=null}else if(e.type===`message`&&l?.type===`text`)l.text=e.content.map(e=>e.type===`output_text`?e.text:e.refusal).join(``),l.textSignature=a(e.id,e.phase??void 0),i.push({type:`text_end`,contentIndex:f(),content:l.text,partial:r}),l=null;else if(e.type===`function_call`){let n=l?.type===`toolCall`&&l.partialJson?t(l.partialJson):t(e.arguments||`{}`),a;l?.type===`toolCall`?(l.arguments=n,delete l.partialJson,a=l):a={type:`toolCall`,id:`${e.call_id}|${e.id}`,name:e.name,arguments:n},l=null,i.push({type:`toolcall_end`,contentIndex:f(),toolCall:a,partial:r})}}else if(d.type===`response.completed`){let t=d.response;if(t?.id&&(r.responseId=t.id),t?.usage){let e=t.usage.input_tokens_details?.cached_tokens||0;r.usage={input:(t.usage.input_tokens||0)-e,output:t.usage.output_tokens||0,cacheRead:e,cacheWrite:0,totalTokens:t.usage.total_tokens||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}if(e(o,r.usage),s?.applyServiceTierPricing){let e=s.resolveServiceTier?s.resolveServiceTier(t?.service_tier,s.serviceTier):t?.service_tier??s.serviceTier;s.applyServiceTierPricing(r.usage,e)}r.stopReason=u(t?.status),r.content.some(e=>e.type===`toolCall`)&&r.stopReason===`stop`&&(r.stopReason=`toolUse`)}else if(d.type===`error`)throw Error(`Error Code ${d.code}: ${d.message}`||`Unknown error`);else if(d.type===`response.failed`){let e=d.response?.error,t=d.response?.incomplete_details,n=e?`${e.code||`unknown`}: ${e.message||`no message`}`:t?.reason?`incomplete: ${t.reason}`:`Unknown error (no error details in response)`;throw Error(n)}}function u(e){if(!e)return`stop`;switch(e){case`completed`:return`stop`;case`incomplete`:return`length`;case`failed`:case`cancelled`:return`error`;case`in_progress`:case`queued`:return`stop`;default:throw Error(`Unhandled stop reason: ${e}`)}}export{c as n,l as r,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){return e.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,``)}function t(e,t,n){return{temperature:t?.temperature,maxTokens:t?.maxTokens??(e.maxTokens>0?Math.min(e.maxTokens,32e3):void 0),signal:t?.signal,apiKey:n||t?.apiKey,transport:t?.transport,cacheRetention:t?.cacheRetention,sessionId:t?.sessionId,headers:t?.headers,onPayload:t?.onPayload,onResponse:t?.onResponse,timeoutMs:t?.timeoutMs,maxRetries:t?.maxRetries,maxRetryDelayMs:t?.maxRetryDelayMs,metadata:t?.metadata}}function n(e){return e===`xhigh`?`high`:e}function r(e,t,r,i){let a={minimal:1024,low:2048,medium:8192,high:16384,...i}[n(r)],o=Math.min(e+a,t);return o<=a&&(a=Math.max(0,o-1024)),{maxTokens:o,thinkingBudget:a}}var i=`(image omitted: model does not support images)`,a=`(tool image omitted: model does not support images)`;function o(e,t){let n=[],r=!1;for(let i of e){if(i.type===`image`){r||n.push({type:`text`,text:t}),r=!0;continue}n.push(i),r=i.text===t}return n}function s(e,t){return t.input.includes(`image`)?e:e.map(e=>e.role===`user`&&Array.isArray(e.content)?{...e,content:o(e.content,i)}:e.role===`toolResult`?{...e,content:o(e.content,a)}:e)}function c(e,t,n){let r=new Map,i=s(e,t).map(e=>{if(e.role===`user`)return e;if(e.role===`toolResult`){let t=r.get(e.toolCallId);return t&&t!==e.toolCallId?{...e,toolCallId:t}:e}if(e.role===`assistant`){let i=e,a=i.provider===t.provider&&i.api===t.api&&i.model===t.id,o=i.content.flatMap(e=>{if(e.type===`thinking`)return e.redacted?a?e:[]:a&&e.thinkingSignature?e:!e.thinking||e.thinking.trim()===``?[]:a?e:{type:`text`,text:e.thinking};if(e.type===`text`)return a?e:{type:`text`,text:e.text};if(e.type===`toolCall`){let o=e,s=o;if(!a&&o.thoughtSignature&&(s={...o},delete s.thoughtSignature),!a&&n){let e=n(o.id,t,i);e!==o.id&&(r.set(o.id,e),s={...s,id:e})}return s}return e});return{...i,content:o}}return e}),a=[],o=[],c=new Set,l=()=>{if(o.length>0){for(let e of o)c.has(e.id)||a.push({role:`toolResult`,toolCallId:e.id,toolName:e.name,content:[{type:`text`,text:`No result provided`}],isError:!0,timestamp:Date.now()});o=[],c=new Set}};for(let e=0;e<i.length;e++){let t=i[e];if(t.role===`assistant`){l();let e=t;if(e.stopReason===`error`||e.stopReason===`aborted`)continue;let n=e.content.filter(e=>e.type===`toolCall`);n.length>0&&(o=n,c=new Set),a.push(t)}else t.role===`toolResult`?(c.add(t.toolCallId),a.push(t)):(t.role===`user`&&l(),a.push(t))}return l(),a}export{e as i,r as n,t as r,c as t};
|
package/dist/index.html
CHANGED
|
@@ -11,13 +11,13 @@
|
|
|
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-D0CVLdX_.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">
|
|
18
18
|
<link rel="modulepreload" crossorigin href="/assets/icons-BHkxP7oT.js">
|
|
19
19
|
<link rel="modulepreload" crossorigin href="/assets/react-vendor-CmyL2roG.js">
|
|
20
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
20
|
+
<link rel="stylesheet" crossorigin href="/assets/index-D0W9hAl_.css">
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|
|
23
23
|
<div id="root"></div>
|
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.91.1 (2026-04-24)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [sdk-v0.91.0...sdk-v0.91.1](https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.91.0...sdk-v0.91.1)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* **memory:** use restrictive file mode for memory files ([#901](https://github.com/anthropics/anthropic-sdk-typescript/issues/901)) ([6db3b7e](https://github.com/anthropics/anthropic-sdk-typescript/commit/6db3b7e2218430971cbc137081b5a55ad593fca8))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Chores
|
|
13
|
+
|
|
14
|
+
* **formatter:** run prettier and eslint separately ([974d22f](https://github.com/anthropics/anthropic-sdk-typescript/commit/974d22fcf607b942bff3376c699bc3f6cb3b3ae5))
|
|
15
|
+
|
|
16
|
+
## 0.91.0 (2026-04-23)
|
|
17
|
+
|
|
18
|
+
Full Changelog: [sdk-v0.90.0...sdk-v0.91.0](https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.90.0...sdk-v0.91.0)
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* **api:** CMA Memory public beta ([ddf732f](https://github.com/anthropics/anthropic-sdk-typescript/commit/ddf732f5f35c123f963fa270669e35707a2e3f7f))
|
|
23
|
+
* **bedrock:** use auth header for mantle client ([#866](https://github.com/anthropics/anthropic-sdk-typescript/issues/866)) ([aec801a](https://github.com/anthropics/anthropic-sdk-typescript/commit/aec801afc7d37d9e8ca1471748ca599b442cbce4))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* **api:** fix errors in api spec ([ae10768](https://github.com/anthropics/anthropic-sdk-typescript/commit/ae1076848587c6f994b45e3030269a635d38bc0b))
|
|
29
|
+
* **api:** restore missing features ([1a5b47b](https://github.com/anthropics/anthropic-sdk-typescript/commit/1a5b47b6895ee2c47af8adea1f403b76dd3ca62f))
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### Chores
|
|
33
|
+
|
|
34
|
+
* **internal:** more robust bootstrap script ([7716e19](https://github.com/anthropics/anthropic-sdk-typescript/commit/7716e19f7fceeb63bb20b9e4df904a021ae705dc))
|
|
35
|
+
* **tests:** bump steady to v0.22.1 ([219a971](https://github.com/anthropics/anthropic-sdk-typescript/commit/219a9717439a458189ac83633b2d5cd9f1ad7d25))
|
|
36
|
+
|
|
3
37
|
## 0.90.0 (2026-04-16)
|
|
4
38
|
|
|
5
39
|
Full Changelog: [sdk-v0.89.0...sdk-v0.90.0](https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.89.0...sdk-v0.90.0)
|
|
@@ -263,6 +263,191 @@
|
|
|
263
263
|
}
|
|
264
264
|
]
|
|
265
265
|
},
|
|
266
|
+
{
|
|
267
|
+
"base": "beta.memoryStores.memories",
|
|
268
|
+
"name": "retrieve",
|
|
269
|
+
"params": [
|
|
270
|
+
{
|
|
271
|
+
"type": "param",
|
|
272
|
+
"key": "memory_id",
|
|
273
|
+
"location": "path"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"type": "params",
|
|
277
|
+
"maybeOverload": false
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"type": "options"
|
|
281
|
+
}
|
|
282
|
+
],
|
|
283
|
+
"oldParams": [
|
|
284
|
+
{
|
|
285
|
+
"type": "param",
|
|
286
|
+
"key": "memory_store_id",
|
|
287
|
+
"location": "path"
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"type": "param",
|
|
291
|
+
"key": "memory_id",
|
|
292
|
+
"location": "path"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"type": "params",
|
|
296
|
+
"maybeOverload": true
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"type": "options"
|
|
300
|
+
}
|
|
301
|
+
]
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"base": "beta.memoryStores.memories",
|
|
305
|
+
"name": "update",
|
|
306
|
+
"params": [
|
|
307
|
+
{
|
|
308
|
+
"type": "param",
|
|
309
|
+
"key": "memory_id",
|
|
310
|
+
"location": "path"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"type": "params",
|
|
314
|
+
"maybeOverload": false
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"type": "options"
|
|
318
|
+
}
|
|
319
|
+
],
|
|
320
|
+
"oldParams": [
|
|
321
|
+
{
|
|
322
|
+
"type": "param",
|
|
323
|
+
"key": "memory_store_id",
|
|
324
|
+
"location": "path"
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"type": "param",
|
|
328
|
+
"key": "memory_id",
|
|
329
|
+
"location": "path"
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"type": "params",
|
|
333
|
+
"maybeOverload": false
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"type": "options"
|
|
337
|
+
}
|
|
338
|
+
]
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"base": "beta.memoryStores.memories",
|
|
342
|
+
"name": "delete",
|
|
343
|
+
"params": [
|
|
344
|
+
{
|
|
345
|
+
"type": "param",
|
|
346
|
+
"key": "memory_id",
|
|
347
|
+
"location": "path"
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"type": "params",
|
|
351
|
+
"maybeOverload": false
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"type": "options"
|
|
355
|
+
}
|
|
356
|
+
],
|
|
357
|
+
"oldParams": [
|
|
358
|
+
{
|
|
359
|
+
"type": "param",
|
|
360
|
+
"key": "memory_store_id",
|
|
361
|
+
"location": "path"
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"type": "param",
|
|
365
|
+
"key": "memory_id",
|
|
366
|
+
"location": "path"
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"type": "params",
|
|
370
|
+
"maybeOverload": true
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"type": "options"
|
|
374
|
+
}
|
|
375
|
+
]
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
"base": "beta.memoryStores.memoryVersions",
|
|
379
|
+
"name": "retrieve",
|
|
380
|
+
"params": [
|
|
381
|
+
{
|
|
382
|
+
"type": "param",
|
|
383
|
+
"key": "memory_version_id",
|
|
384
|
+
"location": "path"
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"type": "params",
|
|
388
|
+
"maybeOverload": false
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"type": "options"
|
|
392
|
+
}
|
|
393
|
+
],
|
|
394
|
+
"oldParams": [
|
|
395
|
+
{
|
|
396
|
+
"type": "param",
|
|
397
|
+
"key": "memory_store_id",
|
|
398
|
+
"location": "path"
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"type": "param",
|
|
402
|
+
"key": "memory_version_id",
|
|
403
|
+
"location": "path"
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"type": "params",
|
|
407
|
+
"maybeOverload": true
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"type": "options"
|
|
411
|
+
}
|
|
412
|
+
]
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"base": "beta.memoryStores.memoryVersions",
|
|
416
|
+
"name": "redact",
|
|
417
|
+
"params": [
|
|
418
|
+
{
|
|
419
|
+
"type": "param",
|
|
420
|
+
"key": "memory_version_id",
|
|
421
|
+
"location": "path"
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"type": "params",
|
|
425
|
+
"maybeOverload": false
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"type": "options"
|
|
429
|
+
}
|
|
430
|
+
],
|
|
431
|
+
"oldParams": [
|
|
432
|
+
{
|
|
433
|
+
"type": "param",
|
|
434
|
+
"key": "memory_store_id",
|
|
435
|
+
"location": "path"
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
"type": "param",
|
|
439
|
+
"key": "memory_version_id",
|
|
440
|
+
"location": "path"
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
"type": "params",
|
|
444
|
+
"maybeOverload": true
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"type": "options"
|
|
448
|
+
}
|
|
449
|
+
]
|
|
450
|
+
},
|
|
266
451
|
{
|
|
267
452
|
"base": "beta.skills.versions",
|
|
268
453
|
"name": "retrieve",
|
|
@@ -14,6 +14,8 @@ const UserProfilesAPI = tslib_1.__importStar(require("./user-profiles.js"));
|
|
|
14
14
|
const user_profiles_1 = require("./user-profiles.js");
|
|
15
15
|
const AgentsAPI = tslib_1.__importStar(require("./agents/agents.js"));
|
|
16
16
|
const agents_1 = require("./agents/agents.js");
|
|
17
|
+
const MemoryStoresAPI = tslib_1.__importStar(require("./memory-stores/memory-stores.js"));
|
|
18
|
+
const memory_stores_1 = require("./memory-stores/memory-stores.js");
|
|
17
19
|
const MessagesAPI = tslib_1.__importStar(require("./messages/messages.js"));
|
|
18
20
|
const messages_1 = require("./messages/messages.js");
|
|
19
21
|
const SessionsAPI = tslib_1.__importStar(require("./sessions/sessions.js"));
|
|
@@ -31,6 +33,7 @@ class Beta extends resource_1.APIResource {
|
|
|
31
33
|
this.environments = new EnvironmentsAPI.Environments(this._client);
|
|
32
34
|
this.sessions = new SessionsAPI.Sessions(this._client);
|
|
33
35
|
this.vaults = new VaultsAPI.Vaults(this._client);
|
|
36
|
+
this.memoryStores = new MemoryStoresAPI.MemoryStores(this._client);
|
|
34
37
|
this.files = new FilesAPI.Files(this._client);
|
|
35
38
|
this.skills = new SkillsAPI.Skills(this._client);
|
|
36
39
|
this.userProfiles = new UserProfilesAPI.UserProfiles(this._client);
|
|
@@ -43,6 +46,7 @@ Beta.Agents = agents_1.Agents;
|
|
|
43
46
|
Beta.Environments = environments_1.Environments;
|
|
44
47
|
Beta.Sessions = sessions_1.Sessions;
|
|
45
48
|
Beta.Vaults = vaults_1.Vaults;
|
|
49
|
+
Beta.MemoryStores = memory_stores_1.MemoryStores;
|
|
46
50
|
Beta.Files = files_1.Files;
|
|
47
51
|
Beta.Skills = skills_1.Skills;
|
|
48
52
|
Beta.UserProfiles = user_profiles_1.UserProfiles;
|
|
@@ -10,6 +10,8 @@ import * as UserProfilesAPI from "./user-profiles.mjs";
|
|
|
10
10
|
import { UserProfiles, } from "./user-profiles.mjs";
|
|
11
11
|
import * as AgentsAPI from "./agents/agents.mjs";
|
|
12
12
|
import { Agents, } from "./agents/agents.mjs";
|
|
13
|
+
import * as MemoryStoresAPI from "./memory-stores/memory-stores.mjs";
|
|
14
|
+
import { MemoryStores, } from "./memory-stores/memory-stores.mjs";
|
|
13
15
|
import * as MessagesAPI from "./messages/messages.mjs";
|
|
14
16
|
import { Messages, } from "./messages/messages.mjs";
|
|
15
17
|
import * as SessionsAPI from "./sessions/sessions.mjs";
|
|
@@ -27,6 +29,7 @@ export class Beta extends APIResource {
|
|
|
27
29
|
this.environments = new EnvironmentsAPI.Environments(this._client);
|
|
28
30
|
this.sessions = new SessionsAPI.Sessions(this._client);
|
|
29
31
|
this.vaults = new VaultsAPI.Vaults(this._client);
|
|
32
|
+
this.memoryStores = new MemoryStoresAPI.MemoryStores(this._client);
|
|
30
33
|
this.files = new FilesAPI.Files(this._client);
|
|
31
34
|
this.skills = new SkillsAPI.Skills(this._client);
|
|
32
35
|
this.userProfiles = new UserProfilesAPI.UserProfiles(this._client);
|
|
@@ -38,6 +41,7 @@ Beta.Agents = Agents;
|
|
|
38
41
|
Beta.Environments = Environments;
|
|
39
42
|
Beta.Sessions = Sessions;
|
|
40
43
|
Beta.Vaults = Vaults;
|
|
44
|
+
Beta.MemoryStores = MemoryStores;
|
|
41
45
|
Beta.Files = Files;
|
|
42
46
|
Beta.Skills = Skills;
|
|
43
47
|
Beta.UserProfiles = UserProfiles;
|
|
@@ -22,7 +22,7 @@ class Files extends resource_1.APIResource {
|
|
|
22
22
|
*/
|
|
23
23
|
list(params = {}, options) {
|
|
24
24
|
const { betas, ...query } = params ?? {};
|
|
25
|
-
return this._client.getAPIList('/v1/files', (pagination_1.Page), {
|
|
25
|
+
return this._client.getAPIList('/v1/files?beta=true', (pagination_1.Page), {
|
|
26
26
|
query,
|
|
27
27
|
...options,
|
|
28
28
|
headers: (0, headers_1.buildHeaders)([
|
|
@@ -43,7 +43,7 @@ class Files extends resource_1.APIResource {
|
|
|
43
43
|
*/
|
|
44
44
|
delete(fileID, params = {}, options) {
|
|
45
45
|
const { betas } = params ?? {};
|
|
46
|
-
return this._client.delete((0, path_1.path) `/v1/files/${fileID}`, {
|
|
46
|
+
return this._client.delete((0, path_1.path) `/v1/files/${fileID}?beta=true`, {
|
|
47
47
|
...options,
|
|
48
48
|
headers: (0, headers_1.buildHeaders)([
|
|
49
49
|
{ 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },
|
|
@@ -66,7 +66,7 @@ class Files extends resource_1.APIResource {
|
|
|
66
66
|
*/
|
|
67
67
|
download(fileID, params = {}, options) {
|
|
68
68
|
const { betas } = params ?? {};
|
|
69
|
-
return this._client.get((0, path_1.path) `/v1/files/${fileID}/content`, {
|
|
69
|
+
return this._client.get((0, path_1.path) `/v1/files/${fileID}/content?beta=true`, {
|
|
70
70
|
...options,
|
|
71
71
|
headers: (0, headers_1.buildHeaders)([
|
|
72
72
|
{
|
|
@@ -89,7 +89,7 @@ class Files extends resource_1.APIResource {
|
|
|
89
89
|
*/
|
|
90
90
|
retrieveMetadata(fileID, params = {}, options) {
|
|
91
91
|
const { betas } = params ?? {};
|
|
92
|
-
return this._client.get((0, path_1.path) `/v1/files/${fileID}`, {
|
|
92
|
+
return this._client.get((0, path_1.path) `/v1/files/${fileID}?beta=true`, {
|
|
93
93
|
...options,
|
|
94
94
|
headers: (0, headers_1.buildHeaders)([
|
|
95
95
|
{ 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },
|
|
@@ -109,7 +109,7 @@ class Files extends resource_1.APIResource {
|
|
|
109
109
|
*/
|
|
110
110
|
upload(params, options) {
|
|
111
111
|
const { betas, ...body } = params;
|
|
112
|
-
return this._client.post('/v1/files', (0, uploads_1.multipartFormRequestOptions)({
|
|
112
|
+
return this._client.post('/v1/files?beta=true', (0, uploads_1.multipartFormRequestOptions)({
|
|
113
113
|
body,
|
|
114
114
|
...options,
|
|
115
115
|
headers: (0, headers_1.buildHeaders)([
|
|
@@ -19,7 +19,7 @@ export class Files extends APIResource {
|
|
|
19
19
|
*/
|
|
20
20
|
list(params = {}, options) {
|
|
21
21
|
const { betas, ...query } = params ?? {};
|
|
22
|
-
return this._client.getAPIList('/v1/files', (Page), {
|
|
22
|
+
return this._client.getAPIList('/v1/files?beta=true', (Page), {
|
|
23
23
|
query,
|
|
24
24
|
...options,
|
|
25
25
|
headers: buildHeaders([
|
|
@@ -40,7 +40,7 @@ export class Files extends APIResource {
|
|
|
40
40
|
*/
|
|
41
41
|
delete(fileID, params = {}, options) {
|
|
42
42
|
const { betas } = params ?? {};
|
|
43
|
-
return this._client.delete(path `/v1/files/${fileID}`, {
|
|
43
|
+
return this._client.delete(path `/v1/files/${fileID}?beta=true`, {
|
|
44
44
|
...options,
|
|
45
45
|
headers: buildHeaders([
|
|
46
46
|
{ 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },
|
|
@@ -63,7 +63,7 @@ export class Files extends APIResource {
|
|
|
63
63
|
*/
|
|
64
64
|
download(fileID, params = {}, options) {
|
|
65
65
|
const { betas } = params ?? {};
|
|
66
|
-
return this._client.get(path `/v1/files/${fileID}/content`, {
|
|
66
|
+
return this._client.get(path `/v1/files/${fileID}/content?beta=true`, {
|
|
67
67
|
...options,
|
|
68
68
|
headers: buildHeaders([
|
|
69
69
|
{
|
|
@@ -86,7 +86,7 @@ export class Files extends APIResource {
|
|
|
86
86
|
*/
|
|
87
87
|
retrieveMetadata(fileID, params = {}, options) {
|
|
88
88
|
const { betas } = params ?? {};
|
|
89
|
-
return this._client.get(path `/v1/files/${fileID}`, {
|
|
89
|
+
return this._client.get(path `/v1/files/${fileID}?beta=true`, {
|
|
90
90
|
...options,
|
|
91
91
|
headers: buildHeaders([
|
|
92
92
|
{ 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },
|
|
@@ -106,7 +106,7 @@ export class Files extends APIResource {
|
|
|
106
106
|
*/
|
|
107
107
|
upload(params, options) {
|
|
108
108
|
const { betas, ...body } = params;
|
|
109
|
-
return this._client.post('/v1/files', multipartFormRequestOptions({
|
|
109
|
+
return this._client.post('/v1/files?beta=true', multipartFormRequestOptions({
|
|
110
110
|
body,
|
|
111
111
|
...options,
|
|
112
112
|
headers: buildHeaders([
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.Vaults = exports.UserProfiles = exports.Skills = exports.Sessions = exports.Models = exports.Messages = exports.Files = exports.Environments = exports.Beta = exports.Agents = void 0;
|
|
4
|
+
exports.Vaults = exports.UserProfiles = exports.Skills = exports.Sessions = exports.Models = exports.Messages = exports.MemoryStores = exports.Files = exports.Environments = exports.Beta = exports.Agents = void 0;
|
|
5
5
|
var index_1 = require("./agents/index.js");
|
|
6
6
|
Object.defineProperty(exports, "Agents", { enumerable: true, get: function () { return index_1.Agents; } });
|
|
7
7
|
var beta_1 = require("./beta.js");
|
|
@@ -10,16 +10,18 @@ var environments_1 = require("./environments.js");
|
|
|
10
10
|
Object.defineProperty(exports, "Environments", { enumerable: true, get: function () { return environments_1.Environments; } });
|
|
11
11
|
var files_1 = require("./files.js");
|
|
12
12
|
Object.defineProperty(exports, "Files", { enumerable: true, get: function () { return files_1.Files; } });
|
|
13
|
-
var index_2 = require("./
|
|
14
|
-
Object.defineProperty(exports, "
|
|
13
|
+
var index_2 = require("./memory-stores/index.js");
|
|
14
|
+
Object.defineProperty(exports, "MemoryStores", { enumerable: true, get: function () { return index_2.MemoryStores; } });
|
|
15
|
+
var index_3 = require("./messages/index.js");
|
|
16
|
+
Object.defineProperty(exports, "Messages", { enumerable: true, get: function () { return index_3.Messages; } });
|
|
15
17
|
var models_1 = require("./models.js");
|
|
16
18
|
Object.defineProperty(exports, "Models", { enumerable: true, get: function () { return models_1.Models; } });
|
|
17
|
-
var
|
|
18
|
-
Object.defineProperty(exports, "Sessions", { enumerable: true, get: function () { return
|
|
19
|
-
var
|
|
20
|
-
Object.defineProperty(exports, "Skills", { enumerable: true, get: function () { return
|
|
19
|
+
var index_4 = require("./sessions/index.js");
|
|
20
|
+
Object.defineProperty(exports, "Sessions", { enumerable: true, get: function () { return index_4.Sessions; } });
|
|
21
|
+
var index_5 = require("./skills/index.js");
|
|
22
|
+
Object.defineProperty(exports, "Skills", { enumerable: true, get: function () { return index_5.Skills; } });
|
|
21
23
|
var user_profiles_1 = require("./user-profiles.js");
|
|
22
24
|
Object.defineProperty(exports, "UserProfiles", { enumerable: true, get: function () { return user_profiles_1.UserProfiles; } });
|
|
23
|
-
var
|
|
24
|
-
Object.defineProperty(exports, "Vaults", { enumerable: true, get: function () { return
|
|
25
|
+
var index_6 = require("./vaults/index.js");
|
|
26
|
+
Object.defineProperty(exports, "Vaults", { enumerable: true, get: function () { return index_6.Vaults; } });
|
|
25
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -3,6 +3,7 @@ export { Agents, } from "./agents/index.mjs";
|
|
|
3
3
|
export { Beta, } from "./beta.mjs";
|
|
4
4
|
export { Environments, } from "./environments.mjs";
|
|
5
5
|
export { Files, } from "./files.mjs";
|
|
6
|
+
export { MemoryStores, } from "./memory-stores/index.mjs";
|
|
6
7
|
export { Messages, } from "./messages/index.mjs";
|
|
7
8
|
export { Models, } from "./models.mjs";
|
|
8
9
|
export { Sessions, } from "./sessions/index.mjs";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.MemoryVersions = exports.MemoryStores = exports.Memories = void 0;
|
|
5
|
+
var memories_1 = require("./memories.js");
|
|
6
|
+
Object.defineProperty(exports, "Memories", { enumerable: true, get: function () { return memories_1.Memories; } });
|
|
7
|
+
var memory_stores_1 = require("./memory-stores.js");
|
|
8
|
+
Object.defineProperty(exports, "MemoryStores", { enumerable: true, get: function () { return memory_stores_1.MemoryStores; } });
|
|
9
|
+
var memory_versions_1 = require("./memory-versions.js");
|
|
10
|
+
Object.defineProperty(exports, "MemoryVersions", { enumerable: true, get: function () { return memory_versions_1.MemoryVersions; } });
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
export { Memories, } from "./memories.mjs";
|
|
3
|
+
export { MemoryStores, } from "./memory-stores.mjs";
|
|
4
|
+
export { MemoryVersions, } from "./memory-versions.mjs";
|
|
5
|
+
//# sourceMappingURL=index.mjs.map
|