sliccy 2.22.2 → 2.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node-server/index.js +136 -18
- package/dist/node-server/release-package.d.ts +0 -1
- package/dist/node-server/release-package.js +1 -8
- package/dist/ui/assets/{anthropic-CePl-niV.js → anthropic-5EX06qre.js} +4 -4
- package/dist/ui/assets/azure-openai-responses-B7etwOzk.js +1 -0
- package/dist/ui/assets/{dist-DEU7LMsW.js → dist-BETSJsV5.js} +1 -1
- package/dist/ui/assets/{dist-DY89ppnG.js → dist-BVxswsnA.js} +2 -2
- package/dist/ui/assets/{dist-Bsu1jCSL.js → dist-C_pwrhfY.js} +1 -1
- package/dist/ui/assets/{dist-UfV1NDbo.js → dist-Ck3Vla0r.js} +1 -1
- package/dist/ui/assets/{dist-DfXP7YfQ.js → dist-DB19jrs9.js} +1 -1
- package/dist/ui/assets/{es-Ctukg7Pf.js → es-CUZJ3cwV.js} +1 -1
- package/dist/ui/assets/{fs-C0vsW7YS.js → fs-BOiXGVkS.js} +2 -2
- package/dist/ui/assets/google-eMKt6D5q.js +1 -0
- package/dist/ui/assets/google-shared-tCK79d6s.js +11 -0
- package/dist/ui/assets/google-vertex-DVupsUV0.js +1 -0
- package/dist/ui/assets/{index-n7dM8Ny6.js → index-hy37TrIH.js} +1021 -941
- package/dist/ui/assets/{magick-wasm-CNSmo9gu.js → magick-wasm-DpuDwl7G.js} +1 -1
- package/dist/ui/assets/{mistral-DPFFr-1D.js → mistral-B1K_Jm8q.js} +4 -4
- package/dist/ui/assets/{onboarding-orchestrator-DX-WA9oh.js → onboarding-orchestrator-C2Vl3mDg.js} +1 -1
- package/dist/ui/assets/openai-codex-responses-Bax3P3Se.js +7 -0
- package/dist/ui/assets/openai-completions-MdSXoOj2.js +5 -0
- package/dist/ui/assets/openai-responses-Cx3_UA9r.js +1 -0
- package/dist/ui/assets/provider-settings-DdDjJ0n3.js +95 -0
- package/dist/ui/assets/simple-options-CDIijiMb.js +1 -0
- package/dist/ui/assets/{skills-Cp2_zExC.js → skills-D15e98qd.js} +1 -1
- package/dist/ui/assets/{slicc-editor-Bv8eZLtW.js → slicc-editor-C9a_yd9R.js} +2 -2
- package/dist/ui/index.html +16 -13
- package/dist/ui/llm-proxy-sw.js +1 -0
- package/dist/ui/packages/webapp/index.html +16 -13
- package/package.json +4 -3
- package/dist/node-server/sync-release-version.d.ts +0 -4
- package/dist/node-server/sync-release-version.js +0 -44
- package/dist/ui/assets/azure-openai-responses-B0ars-Hm.js +0 -1
- package/dist/ui/assets/google-CgTHsA2_.js +0 -1
- package/dist/ui/assets/google-shared-nj0IYXjb.js +0 -11
- package/dist/ui/assets/google-vertex-cqyT1zM2.js +0 -1
- package/dist/ui/assets/openai-codex-responses-DjTLNv18.js +0 -7
- package/dist/ui/assets/openai-completions-BnCyVXK7.js +0 -5
- package/dist/ui/assets/openai-responses-9MflKa27.js +0 -1
- package/dist/ui/assets/openai-responses-shared-D8Vix6-m.js +0 -10
- package/dist/ui/assets/provider-settings-DY_N8CBx.js +0 -95
- package/dist/ui/assets/sanitize-unicode-BD2XKRoV.js +0 -1
- package/dist/ui/assets/simple-options-CRMUB9za.js +0 -1
- /package/dist/ui/assets/{addon-fit-_YHcqy0h.js → addon-fit-CniRnSyE.js} +0 -0
- /package/dist/ui/assets/{browser-Cl7Q1LkV.js → browser-CFDl2kC3.js} +0 -0
- /package/dist/ui/assets/{bsh-watchdog-5FY6DxLX.js → bsh-watchdog-DWN1spIr.js} +0 -0
- /package/dist/ui/assets/{chat-fixture-Dp2mIM1B.js → chat-fixture-BGLmPevX.js} +0 -0
- /package/dist/ui/assets/{db-CDfQGWkv.js → db-QbwB670D.js} +0 -0
- /package/dist/ui/assets/{dist-BByiYVMV.js → dist-CkF25Z3T.js} +0 -0
- /package/dist/ui/assets/{dist-D6ztLqPA.js → dist-uJp2dR6X.js} +0 -0
- /package/dist/ui/assets/{fetch-body-DJGM6_Jl.js → fetch-body-DPMYsjzA.js} +0 -0
- /package/dist/ui/assets/{github-copilot-headers-B6Fvsk-Y.js → github-copilot-headers-DGaOrqaW.js} +0 -0
- /package/dist/ui/assets/{global-db-D767Oa4m.js → global-db-Cui6Md0w.js} +0 -0
- /package/dist/ui/assets/{hash-Dit8ENAX.js → hash-BN8UQrrC.js} +0 -0
- /package/dist/ui/assets/{headers-DkHU-pcw.js → headers-qDMOQQGF.js} +0 -0
- /package/dist/ui/assets/{lick-manager-proxy-DYlDsj9K.js → lick-manager-proxy-Dw3D3AzG.js} +0 -0
- /package/dist/ui/assets/{oauth-service-CKR4S63v.js → oauth-service-DUXASG7L.js} +0 -0
- /package/dist/ui/assets/{offscreen-client-BM0UHxmA.js → offscreen-client-DRN1fwvT.js} +0 -0
- /package/dist/ui/assets/{openai-CQsomflW.js → openai-D4NSaQIs.js} +0 -0
- /package/dist/ui/assets/{path-utils-CNNVZ3-O.js → path-utils-DAY6ORUp.js} +0 -0
- /package/dist/ui/assets/{pdfjs-BGlny-4w.js → pdfjs-C0bwNEC1.js} +0 -0
- /package/dist/ui/assets/{pyodide-B0OcGzKl.js → pyodide-DCMrvZhT.js} +0 -0
- /package/dist/ui/assets/{rum-C22a_afY.js → rum-sVedwbc1.js} +0 -0
- /package/dist/ui/assets/{secret-masking-D8cHWx2y.js → secret-masking-ZNVanUmG.js} +0 -0
- /package/dist/ui/assets/{sql-wasm-BaMgQAJZ.js → sql-wasm-GAMLdFdJ.js} +0 -0
- /package/dist/ui/assets/{src-Bd0ucr8W.js → src-DSYf97Eh.js} +0 -0
- /package/dist/ui/assets/{xterm-GX0WTpdZ.js → xterm-BaLOnk9X.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,r as n,s as r}from"./simple-options-CRMUB9za.js";import{t as i}from"./sanitize-unicode-BD2XKRoV.js";import{a,c as o,i as s,l as c,n as l,o as u,r as d,s as f,t as p}from"./google-shared-nj0IYXjb.js";var m=`v1`,h=`gcp-vertex-credentials`,g={THINKING_LEVEL_UNSPECIFIED:c.THINKING_LEVEL_UNSPECIFIED,MINIMAL:c.MINIMAL,LOW:c.LOW,MEDIUM:c.MEDIUM,HIGH:c.HIGH},_=0,v=(t,n,i)=>{let a=new e;return(async()=>{let e={role:`assistant`,content:[],api:`google-vertex`,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 o=T(i),c=o?x(t,o,i?.headers):b(t,D(i),O(i),i?.headers),l=k(t,n,i),f=await i?.onPayload?.(l,t);f!==void 0&&(l=f);let p=await c.models.generateContentStream(l);a.push({type:`start`,partial:e});let m=null,h=e.content,g=()=>h.length-1;for await(let n of p){e.responseId||=n.responseId;let i=n.candidates?.[0];if(i?.content?.parts)for(let t of i.content.parts){if(t.text!==void 0){let n=d(t);(!m||n&&m.type!==`thinking`||!n&&m.type!==`text`)&&(m&&(m.type===`text`?a.push({type:`text_end`,contentIndex:h.length-1,content:m.text,partial:e}):a.push({type:`thinking_end`,contentIndex:g(),content:m.thinking,partial:e})),n?(m={type:`thinking`,thinking:``,thinkingSignature:void 0},e.content.push(m),a.push({type:`thinking_start`,contentIndex:g(),partial:e})):(m={type:`text`,text:``},e.content.push(m),a.push({type:`text_start`,contentIndex:g(),partial:e}))),m.type===`thinking`?(m.thinking+=t.text,m.thinkingSignature=u(m.thinkingSignature,t.thoughtSignature),a.push({type:`thinking_delta`,contentIndex:g(),delta:t.text,partial:e})):(m.text+=t.text,m.textSignature=u(m.textSignature,t.thoughtSignature),a.push({type:`text_delta`,contentIndex:g(),delta:t.text,partial:e}))}if(t.functionCall){m&&=(m.type===`text`?a.push({type:`text_end`,contentIndex:g(),content:m.text,partial:e}):a.push({type:`thinking_end`,contentIndex:g(),content:m.thinking,partial:e}),null);let n=t.functionCall.id,r={type:`toolCall`,id:!n||e.content.some(e=>e.type===`toolCall`&&e.id===n)?`${t.functionCall.name}_${Date.now()}_${++_}`:n,name:t.functionCall.name||``,arguments:t.functionCall.args??{},...t.thoughtSignature&&{thoughtSignature:t.thoughtSignature}};e.content.push(r),a.push({type:`toolcall_start`,contentIndex:g(),partial:e}),a.push({type:`toolcall_delta`,contentIndex:g(),delta:JSON.stringify(r.arguments),partial:e}),a.push({type:`toolcall_end`,contentIndex:g(),toolCall:r,partial:e})}}i?.finishReason&&(e.stopReason=s(i.finishReason),e.content.some(e=>e.type===`toolCall`)&&(e.stopReason=`toolUse`)),n.usageMetadata&&(e.usage={input:(n.usageMetadata.promptTokenCount||0)-(n.usageMetadata.cachedContentTokenCount||0),output:(n.usageMetadata.candidatesTokenCount||0)+(n.usageMetadata.thoughtsTokenCount||0),cacheRead:n.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,totalTokens:n.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},r(t,e.usage))}if(m&&(m.type===`text`?a.push({type:`text_end`,contentIndex:g(),content:m.text,partial:e}):a.push({type:`thinking_end`,contentIndex:g(),content:m.thinking,partial:e})),i?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(`An unknown error occurred`);a.push({type:`done`,reason:e.stopReason,message:e}),a.end()}catch(t){for(let t of e.content)`index`in t&&delete t.index;e.stopReason=i?.signal?.aborted?`aborted`:`error`,e.errorMessage=t instanceof Error?t.message:JSON.stringify(t),a.push({type:`error`,reason:e.stopReason,error:e}),a.end()}})(),a},y=(e,r,i)=>{let a=t(e,i,void 0);if(!i?.reasoning)return v(e,r,{...a,thinking:{enabled:!1}});let o=n(i.reasoning),s=e;return A(s)||j(s)?v(e,r,{...a,thinking:{enabled:!0,level:N(o,s)}}):v(e,r,{...a,thinking:{enabled:!0,budgetTokens:P(s,o,i.thinkingBudgets)}})};function b(e,t,n,r){return new f({vertexai:!0,project:t,location:n,apiVersion:m,httpOptions:S(e,r)})}function x(e,t,n){return new f({vertexai:!0,apiKey:t,apiVersion:m,httpOptions:S(e,n)})}function S(e,t){let n={},r=C(e.baseUrl);return r&&(n.baseUrl=r,n.baseUrlResourceScope=o.COLLECTION,w(r)&&(n.apiVersion=``)),(e.headers||t)&&(n.headers={...e.headers,...t}),Object.keys(n).length>0?n:void 0}function C(e){let t=e.trim();if(!(!t||t.includes(`{location}`)))return t}function w(e){try{return new URL(e).pathname.split(`/`).some(e=>/^v\d+(?:beta\d*)?$/.test(e))}catch{return/(?:^|\/)v\d+(?:beta\d*)?(?:\/|$)/.test(e)}}function T(e){let t=e?.apiKey?.trim()||{}.GOOGLE_CLOUD_API_KEY?.trim();if(!(!t||t===h||E(t)))return t}function E(e){return/^<[^>]+>$/.test(e)}function D(e){let t=e?.project||{}.GOOGLE_CLOUD_PROJECT||{}.GCLOUD_PROJECT;if(!t)throw Error(`Vertex AI requires a project ID. Set GOOGLE_CLOUD_PROJECT/GCLOUD_PROJECT or pass project in options.`);return t}function O(e){let t=e?.location||{}.GOOGLE_CLOUD_LOCATION;if(!t)throw Error(`Vertex AI requires a location. Set GOOGLE_CLOUD_LOCATION or pass location in options.`);return t}function k(e,t,n={}){let r=p(e,t),o={};n.temperature!==void 0&&(o.temperature=n.temperature),n.maxTokens!==void 0&&(o.maxOutputTokens=n.maxTokens);let s={...Object.keys(o).length>0&&o,...t.systemPrompt&&{systemInstruction:i(t.systemPrompt)},...t.tools&&t.tools.length>0&&{tools:l(t.tools)}};if(t.tools&&t.tools.length>0&&n.toolChoice?s.toolConfig={functionCallingConfig:{mode:a(n.toolChoice)}}:s.toolConfig=void 0,n.thinking?.enabled&&e.reasoning){let e={includeThoughts:!0};n.thinking.level===void 0?n.thinking.budgetTokens!==void 0&&(e.thinkingBudget=n.thinking.budgetTokens):e.thinkingLevel=g[n.thinking.level],s.thinkingConfig=e}else e.reasoning&&n.thinking&&!n.thinking.enabled&&(s.thinkingConfig=M(e));if(n.signal){if(n.signal.aborted)throw Error(`Request aborted`);s.abortSignal=n.signal}return{model:e.id,contents:r,config:s}}function A(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function j(e){return/gemini-3(?:\.\d+)?-flash/.test(e.id.toLowerCase())}function M(e){let t=e;return A(t)?{thinkingLevel:c.LOW}:j(t)?{thinkingLevel:c.MINIMAL}:{thinkingBudget:0}}function N(e,t){if(A(t))switch(e){case`minimal`:case`low`:return`LOW`;case`medium`:case`high`:return`HIGH`}switch(e){case`minimal`:return`MINIMAL`;case`low`:return`LOW`;case`medium`:return`MEDIUM`;case`high`:return`HIGH`}}function P(e,t,n){return n?.[t]===void 0?e.id.includes(`2.5-pro`)?{minimal:128,low:2048,medium:8192,high:32768}[t]:e.id.includes(`2.5-flash`)?{minimal:128,low:2048,medium:8192,high:24576}[t]:-1:n[t]}export{v as streamGoogleVertex,y as streamSimpleGoogleVertex};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./preload-helper-ca-nBW7U.js";import{a as t,d as n,n as r,r as i}from"./simple-options-CRMUB9za.js";import{d as a}from"./index-n7dM8Ny6.js";import{t as o}from"./headers-DkHU-pcw.js";import{n as s,r as c,t as l}from"./openai-responses-shared-D8Vix6-m.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,r)=>{let i=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=r?.apiKey||a(e.provider)||``;if(!s)throw Error(`No API key for provider: ${e.provider}`);let c=J(s),l=x(e,n,r),u=await r?.onPayload?.(l,e);u!==void 0&&(l=u);let d=r?.sessionId||Y(),f=Z(e.headers,r?.headers,c,s,r?.sessionId),h=Q(e.headers,r?.headers,c,s,d),g=JSON.stringify(l),y=r?.transport||`sse`;if(y!==`sse`){let n=!1;try{if(await K(D(e.baseUrl),l,h,t,i,e,()=>{n=!0},r),r?.signal?.aborted)throw Error(`Request was aborted`);i.push({type:`done`,reason:t.stopReason,message:t}),i.end();return}catch(e){if(y===`websocket`||n)throw e}}let b,S;for(let t=0;t<=p;t++){if(r?.signal?.aborted)throw Error(`Request was aborted`);try{if(b=await fetch(E(e.baseUrl),{method:`POST`,headers:f,body:g,signal:r?.signal}),await r?.onResponse?.({status:b.status,headers:o(b.headers)},e),b.ok)break;let n=await b.text();if(t<p&&_(b.status,n)){await v(m*2**t,r?.signal);continue}let i=await q(new Response(n,{status:b.status,statusText:b.statusText}));throw Error(i.friendlyMessage||i.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,r?.signal);continue}throw S}}if(!b?.ok)throw S??Error(`Failed after retries`);if(!b.body)throw Error(`No response body`);if(i.push({type:`start`,partial:t}),await O(b,t,i,e,r),r?.signal?.aborted)throw Error(`Request was aborted`);i.push({type:`done`,reason:t.stopReason,message:t}),i.end()}catch(e){for(let e of t.content)delete e.partialJson;t.stopReason=r?.signal?.aborted?`aborted`:`error`,t.errorMessage=e instanceof Error?e.message:String(e),i.push({type:`error`,reason:t.stopReason,error:t}),i.end()}})(),i},b=(e,t,o)=>{let s=o?.apiKey||a(e.provider);if(!s)throw Error(`No API key for provider: ${e.provider}`);let c=r(e,o,s),l=n(e)?o?.reasoning:i(o?.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
|
-
|
|
3
|
-
`);for(;a!==-1;){let e=r.slice(0,a);r=r.slice(a+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{}}a=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;function F(){let e=globalThis.WebSocket;return typeof e==`function`?e:null}function I(e){let t=e.readyState;return typeof t==`number`?t:void 0}function L(e){let t=I(e);return t===void 0||t===1}function R(e,t=1e3,n=`done`){try{e.close(t,n)}catch{}}function z(e,t){t.idleTimer&&clearTimeout(t.idleTimer),t.idleTimer=setTimeout(()=>{t.busy||(R(t.socket,1e3,`idle_timeout`),P.delete(e))},N)}async function B(e,t,n){let r=F();if(!r)throw Error(`WebSocket transport is not available in this runtime`);let i=o(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=H(e);o||(o=!0,f(),a(t))},u=e=>{let t=U(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 V(e,t,n,r){if(!n){let n=await B(e,t,r);return{socket:n,release:({keep:e}={})=>{if(e===!1){R(n);return}R(n)}}}let i=P.get(n);if(i){if(i.idleTimer&&=(clearTimeout(i.idleTimer),void 0),!i.busy&&L(i.socket))return i.busy=!0,{socket:i.socket,release:({keep:e}={})=>{if(!e||!L(i.socket)){R(i.socket),P.delete(n);return}i.busy=!1,z(n,i)}};if(i.busy){let n=await B(e,t,r);return{socket:n,release:()=>{R(n)}}}L(i.socket)||(R(i.socket),P.delete(n))}let a=await B(e,t,r),o={socket:a,busy:!0};return P.set(n,o),{socket:a,release:({keep:e}={})=>{if(!e||!L(o.socket)){R(o.socket),o.idleTimer&&clearTimeout(o.idleTimer),P.get(n)===o&&P.delete(n);return}o.busy=!1,z(n,o)}}}function H(e){if(e&&typeof e==`object`&&`message`in e){let t=e.message;if(typeof t==`string`&&t.length>0)return Error(t)}return Error(`WebSocket error`)}function U(e){if(e&&typeof e==`object`){let t=`code`in e?e.code:void 0,n=`reason`in e?e.reason:void 0,r=typeof t==`number`?` ${t}`:``,i=typeof n==`string`&&n.length>0?` ${n}`:``;return Error(`WebSocket closed${r}${i}`.trim())}return Error(`WebSocket closed`)}async function W(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*G(e,t){let n=[],r=null,i=!1,a=null,o=!1,s=()=>{if(!r)return;let e=r;r=null,e()},c=e=>{(async()=>{if(!e||typeof e!=`object`||!(`data`in e))return;let t=await W(e.data);if(t)try{let e=JSON.parse(t),r=typeof e.type==`string`?e.type:``;(r===`response.completed`||r===`response.done`||r===`response.incomplete`)&&(o=!0,i=!0),n.push(e),s()}catch{}})()},l=e=>{a=H(e),i=!0,s()},u=e=>{if(o){i=!0,s();return}a||=U(e),i=!0,s()},d=()=>{a=Error(`Request was aborted`),i=!0,s()};e.addEventListener(`message`,c),e.addEventListener(`error`,l),e.addEventListener(`close`,u),t?.addEventListener(`abort`,d);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(a)throw a;if(!o)throw Error(`WebSocket stream closed before response.completed`)}finally{e.removeEventListener(`message`,c),e.removeEventListener(`error`,l),e.removeEventListener(`close`,u),t?.removeEventListener(`abort`,d)}}async function K(e,t,n,r,i,a,o,s){let{socket:l,release:u}=await V(e,n,s?.sessionId,s?.signal),d=!0;try{l.send(JSON.stringify({type:`response.create`,...t})),o(),i.push({type:`start`,partial:r}),await c(k(G(l,s?.signal)),r,i,a,{serviceTier:s?.serviceTier,resolveServiceTier:T,applyServiceTierPricing:(e,t)=>w(e,t,a)}),s?.signal?.aborted&&(d=!1)}catch(e){throw d=!1,e}finally{u({keep:d})}}async function q(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 J(e){try{let t=e.split(`.`);if(t.length!==3)throw Error(`Invalid token`);let n=JSON.parse(atob(t[1]))?.[f]?.chatgpt_account_id;if(!n)throw Error(`No account ID in token`);return n}catch{throw Error(`Failed to extract accountId from token`)}}function Y(){return typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`codex_${Date.now()}_${Math.random().toString(36).slice(2,10)}`}function X(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=u?`pi (${u.platform()} ${u.release()}; ${u.arch()})`:`pi (browser)`;return i.set(`User-Agent`,a),i}function Z(e,t,n,r,i){let a=X(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 Q(e,t,n,r,i){let a=X(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{y as streamOpenAICodexResponses,b as streamSimpleOpenAICodexResponses};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{a as e,d as t,i as n,n as r,r as i,s as a}from"./simple-options-CRMUB9za.js";import{n as o}from"./openai-CQsomflW.js";import{d as s,u as c}from"./index-n7dM8Ny6.js";import{t as l}from"./headers-DkHU-pcw.js";import{t as u}from"./sanitize-unicode-BD2XKRoV.js";import{i as d,n as f,r as p,t as m}from"./github-copilot-headers-B6Fvsk-Y.js";function h(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 g(e){return e.type===`text`}function _(e){return e.type===`thinking`}function v(e){return e.type===`toolCall`}function y(e){return e.type===`image`}function b(e){return e||(typeof process<`u`&&{}.PI_CACHE_RETENTION===`long`?`long`:`short`)}var x=(t,n,r)=>{let i=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 a=r?.apiKey||s(t.provider)||``,o=z(t),u=b(r?.cacheRetention),d=u===`none`?void 0:r?.sessionId,f=C(t,n,a,r?.headers,d,o),p=w(t,n,r,o,u),m=await r?.onPayload?.(p,t);m!==void 0&&(p=m);let h={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},...r?.maxRetries===void 0?{}:{maxRetries:r.maxRetries}},{data:g,response:_}=await f.chat.completions.create(p,h).withResponse();await r?.onResponse?.({status:_.status,headers:l(_.headers)},t),i.push({type:`start`,partial:e});let v=null,y=e.content,x=e=>e?y.indexOf(e):-1,S=()=>x(v),T=t=>{if(t){let n=x(t);if(n===-1)return;t.type===`text`?i.push({type:`text_end`,contentIndex:n,content:t.text,partial:e}):t.type===`thinking`?i.push({type:`thinking_end`,contentIndex:n,content:t.thinking,partial:e}):t.type===`toolCall`&&(t.arguments=c(t.partialArgs),delete t.partialArgs,delete t.streamIndex,i.push({type:`toolcall_end`,contentIndex:n,toolCall:t,partial:e}))}};for await(let n of g){if(!n||typeof n!=`object`)continue;e.responseId||=n.id,typeof n.model==`string`&&n.model.length>0&&n.model!==t.id&&(e.responseModel||=n.model),n.usage&&(e.usage=I(n.usage,t));let r=Array.isArray(n.choices)?n.choices[0]:void 0;if(r){if(!n.usage&&r.usage&&(e.usage=I(r.usage,t)),r.finish_reason){let t=L(r.finish_reason);e.stopReason=t.stopReason,t.errorMessage&&(e.errorMessage=t.errorMessage)}if(r.delta){r.delta.content!==null&&r.delta.content!==void 0&&r.delta.content.length>0&&((!v||v.type!==`text`)&&(T(v),v={type:`text`,text:``},e.content.push(v),i.push({type:`text_start`,contentIndex:S(),partial:e})),v.type===`text`&&(v.text+=r.delta.content,i.push({type:`text_delta`,contentIndex:S(),delta:r.delta.content,partial:e})));let t=[`reasoning_content`,`reasoning`,`reasoning_text`],n=null;for(let e of t)if(r.delta[e]!==null&&r.delta[e]!==void 0&&r.delta[e].length>0&&!n){n=e;break}if(n&&((!v||v.type!==`thinking`)&&(T(v),v={type:`thinking`,thinking:``,thinkingSignature:n},e.content.push(v),i.push({type:`thinking_start`,contentIndex:S(),partial:e})),v.type===`thinking`)){let t=r.delta[n];v.thinking+=t,i.push({type:`thinking_delta`,contentIndex:S(),delta:t,partial:e})}if(r?.delta?.tool_calls)for(let t of r.delta.tool_calls){let n=typeof t.index==`number`?t.index:void 0;v?.type===`toolCall`&&(n!==void 0&&v.streamIndex===n||n===void 0&&t.id&&v.id===t.id)||(T(v),v={type:`toolCall`,id:t.id||``,name:t.function?.name||``,arguments:{},partialArgs:``,streamIndex:n},e.content.push(v),i.push({type:`toolcall_start`,contentIndex:x(v),partial:e}));let r=v?.type===`toolCall`?v:null;if(r){!r.id&&t.id&&(r.id=t.id),!r.name&&t.function?.name&&(r.name=t.function.name),r.streamIndex===void 0&&n!==void 0&&(r.streamIndex=n);let a=``;t.function?.arguments&&(a=t.function.arguments,r.partialArgs+=t.function.arguments,r.arguments=c(r.partialArgs)),i.push({type:`toolcall_delta`,contentIndex:x(r),delta:a,partial:e})}}let a=r.delta.reasoning_details;if(a&&Array.isArray(a)){for(let t of a)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))}}}}}if(T(v),r?.signal?.aborted||e.stopReason===`aborted`)throw Error(`Request was aborted`);if(e.stopReason===`error`)throw Error(e.errorMessage||`Provider returned an error stop reason`);i.push({type:`done`,reason:e.stopReason,message:e}),i.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialArgs,delete t.streamIndex;e.stopReason=r?.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}`),i.push({type:`error`,reason:e.stopReason,error:e}),i.end()}})(),i},S=(e,n,a)=>{let o=a?.apiKey||s(e.provider);if(!o)throw Error(`No API key for provider: ${e.provider}`);let c=r(e,a,o),l=t(e)?a?.reasoning:i(a?.reasoning),u=a?.toolChoice;return x(e,n,{...c,reasoningEffort:l,toolChoice:u})};function C(e,t,n,r,i,a=z(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 s={...e.headers};if(e.provider===`github-copilot`){let e=f(t.messages),n=m({messages:t.messages,hasImages:e});Object.assign(s,n)}i&&a.sendSessionAffinityHeaders&&(s.session_id=i,s[`x-client-request-id`]=i,s[`x-session-affinity`]=i),r&&Object.assign(s,r);let c=e.provider===`cloudflare-ai-gateway`?{...s,Authorization:s.Authorization??null,"cf-aig-authorization":`Bearer ${n}`}:s;return new o({apiKey:n,baseURL:p(e.provider)?d(e):e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:c})}function w(e,t,n,r=z(e),i=b(n?.cacheRetention)){let a=P(e,t,r),o=E(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=F(t.tools,r),r.zaiToolStream&&(s.tool_stream=!0)):h(t.messages)&&(s.tools=[]),o&&D(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=T(n.reasoningEffort,r.reasoningEffortMap));else if(r.thinkingFormat===`openrouter`&&e.reasoning){let e=s;n?.reasoningEffort?e.reasoning={effort:T(n.reasoningEffort,r.reasoningEffortMap)}:e.reasoning={effort:`none`}}else n?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort&&(s.reasoning_effort=T(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 T(e,t){return t[e]??e}function E(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 D(e,t,n){O(e,n),A(t,n),k(e,n)}function O(e,t){for(let n of e)if(n.role===`system`||n.role===`developer`){j(n,t);return}}function k(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if((r.role===`user`||r.role===`assistant`)&&M(r,t))return}}function A(e,t){if(!e||e.length===0)return;let n=e[e.length-1];n.cache_control=t}function j(e,t){return N(e,t)}function M(e,t){return e.role===`user`||e.role===`assistant`?N(e,t):!1}function N(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 P(e,t,r){let i=[],a=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},o=n(t.messages,e,e=>a(e));if(t.systemPrompt){let n=e.reasoning&&r.supportsDeveloperRole?`developer`:`system`;i.push({role:n,content:u(t.systemPrompt)})}let s=null;for(let t=0;t<o.length;t++){let n=o[t];if(r.requiresAssistantAfterToolResult&&s===`toolResult`&&n.role===`user`&&i.push({role:`assistant`,content:`I have processed the tool results.`}),n.role===`user`)if(typeof n.content==`string`)i.push({role:`user`,content:u(n.content)});else{let e=n.content.map(e=>e.type===`text`?{type:`text`,text:u(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});if(e.length===0)continue;i.push({role:`user`,content:e})}else if(n.role===`assistant`){let t={role:`assistant`,content:r.requiresAssistantAfterToolResult?``:null},a=n.content.filter(g).filter(e=>e.text.trim().length>0).map(e=>({type:`text`,text:u(e.text)})),o=a.map(e=>e.text).join(``),s=n.content.filter(_).filter(e=>e.thinking.trim().length>0);if(s.length>0)if(r.requiresThinkingAsText)t.content=[{type:`text`,text:s.map(e=>u(e.thinking)).join(`
|
|
2
|
-
|
|
3
|
-
`)},...a];else{o.length>0&&(t.content=o);let e=s[0].thinkingSignature;e&&e.length>0&&(t[e]=s.map(e=>e.thinking).join(`
|
|
4
|
-
`))}else o.length>0&&(t.content=o);let c=n.content.filter(v);if(c.length>0){t.tool_calls=c.map(e=>({id:e.id,type:`function`,function:{name:e.name,arguments:JSON.stringify(e.arguments)}}));let e=c.filter(e=>e.thoughtSignature).map(e=>{try{return JSON.parse(e.thoughtSignature)}catch{return null}}).filter(Boolean);e.length>0&&(t.reasoning_details=e)}r.requiresReasoningContentOnAssistantMessages&&e.reasoning&&t.reasoning_content===void 0&&(t.reasoning_content=``);let l=t.content;if(!(l!=null&&l.length>0)&&!t.tool_calls)continue;i.push(t)}else if(n.role===`toolResult`){let n=[],a=t;for(;a<o.length&&o[a].role===`toolResult`;a++){let t=o[a],s=t.content.filter(g).map(e=>e.text).join(`
|
|
5
|
-
`),c=t.content.some(e=>e.type===`image`),l={role:`tool`,content:u(s.length>0?s:`(see attached image)`),tool_call_id:t.toolCallId};if(r.requiresToolResultName&&t.toolName&&(l.name=t.toolName),i.push(l),c&&e.input.includes(`image`))for(let e of t.content)y(e)&&n.push({type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}})}t=a-1,n.length>0?(r.requiresAssistantAfterToolResult&&i.push({role:`assistant`,content:`I have processed the tool results.`}),i.push({role:`user`,content:[{type:`text`,text:`Attached image(s) from tool result:`},...n]}),s=`user`):s=`toolResult`;continue}s=n.role}return i}function F(e,t){return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters,...t.supportsStrictMode!==!1&&{strict:!1}}}))}function I(e,t){let n=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??0,i=e.prompt_tokens_details?.cache_write_tokens||0,o=i>0?Math.max(0,r-i):r,s=Math.max(0,n-o-i),c=e.completion_tokens||0,l={input:s,output:c,cacheRead:o,cacheWrite:i,totalTokens:s+c+o+i,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return a(t,l),l}function L(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 R(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===`groq`||n.includes(`groq.com`),d=t===`deepseek`||n.includes(`deepseek.com`),f=t===`openrouter`&&e.id.startsWith(`anthropic/`)?`anthropic`:void 0,p=d?{minimal:`high`,low:`high`,medium:`high`,high:`high`,xhigh:`max`}:u&&e.id===`qwen/qwen3-32b`?{minimal:`default`,low:`default`,medium:`default`,high:`default`,xhigh:`default`}:{};return{supportsStore:!s,supportsDeveloperRole:!s,supportsReasoningEffort:!l&&!r&&!i&&!o,reasoningEffortMap:p,supportsUsageInStreaming:!0,maxTokensField:c?`max_tokens`:`max_completion_tokens`,requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:d,thinkingFormat:d?`deepseek`:r?`zai`:t===`openrouter`||n.includes(`openrouter.ai`)?`openrouter`:`openai`,openRouterRouting:{},vercelGatewayRouting:{},zaiToolStream:!1,supportsStrictMode:!i&&!o,cacheControlFormat:f,sendSessionAffinityHeaders:!1,supportsLongCacheRetention:!(a||o)}}function z(e){let t=R(e);return e.compat?{supportsStore:e.compat.supportsStore??t.supportsStore,supportsDeveloperRole:e.compat.supportsDeveloperRole??t.supportsDeveloperRole,supportsReasoningEffort:e.compat.supportsReasoningEffort??t.supportsReasoningEffort,reasoningEffortMap:e.compat.reasoningEffortMap??t.reasoningEffortMap,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{P as convertMessages,x as streamOpenAICompletions,S as streamSimpleOpenAICompletions};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,d as t,n,r}from"./simple-options-CRMUB9za.js";import{n as i}from"./openai-CQsomflW.js";import{d as a}from"./index-n7dM8Ny6.js";import{t as o}from"./headers-DkHU-pcw.js";import{i as s,n as c,r as l,t as u}from"./github-copilot-headers-B6Fvsk-Y.js";import{n as d,r as f,t as p}from"./openai-responses-shared-D8Vix6-m.js";var m=new Set([`openai`,`openai-codex`,`opencode`]);function h(e){return e||(typeof process<`u`&&{}.PI_CACHE_RETENTION===`long`?`long`:`short`)}function g(e){return{sendSessionIdHeader:e.compat?.sendSessionIdHeader??!0,supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0}}function _(e,t){return t===`long`&&e.supportsLongCacheRetention?`24h`:void 0}var v=(t,n,r)=>{let i=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=r?.apiKey||a(t.provider)||``,c=h(r?.cacheRetention)===`none`?void 0:r?.sessionId,l=b(t,n,s,r?.headers,c),u=x(t,n,r),d=await r?.onPayload?.(u,t);d!==void 0&&(u=d);let p={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},...r?.maxRetries===void 0?{}:{maxRetries:r.maxRetries}},{data:m,response:g}=await l.responses.create(u,p).withResponse();if(await r?.onResponse?.({status:g.status,headers:o(g.headers)},t),i.push({type:`start`,partial:e}),await f(m,e,i,t,{serviceTier:r?.serviceTier,applyServiceTierPricing:(e,n)=>C(e,n,t)}),r?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(`An unknown error occurred`);i.push({type:`done`,reason:e.stopReason,message:e}),i.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialJson;e.stopReason=r?.signal?.aborted?`aborted`:`error`,e.errorMessage=t instanceof Error?t.message:JSON.stringify(t),i.push({type:`error`,reason:e.stopReason,error:e}),i.end()}})(),i},y=(e,i,o)=>{let s=o?.apiKey||a(e.provider);if(!s)throw Error(`No API key for provider: ${e.provider}`);let c=n(e,o,s),l=t(e)?o?.reasoning:r(o?.reasoning);return v(e,i,{...c,reasoningEffort:l})};function b(e,t,n,r,a){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=g(e),d={...e.headers};if(e.provider===`github-copilot`){let e=c(t.messages),n=u({messages:t.messages,hasImages:e});Object.assign(d,n)}a&&(o.sendSessionIdHeader&&(d.session_id=a),d[`x-client-request-id`]=a),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 i({apiKey:n,baseURL:l(e.provider)?s(e):e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:f})}function x(e,t,n){let r=p(e,t,m),i=h(n?.cacheRetention),a=g(e),o={model:e.id,input:r,stream:!0,prompt_cache_key:i===`none`?void 0:n?.sessionId,prompt_cache_retention:_(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=d(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 S(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function C(e,t,n){let r=S(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{v as streamOpenAIResponses,y as streamSimpleOpenAIResponses};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{i as e,s as t}from"./simple-options-CRMUB9za.js";import{u as n}from"./index-n7dM8Ny6.js";import{t as r}from"./sanitize-unicode-BD2XKRoV.js";import{t as i}from"./hash-Dit8ENAX.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(t,n,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=e(n.messages,t,(e,n,r)=>{if(!a.has(t.provider)||!e.includes(`|`))return l(e);let[i,o]=e.split(`|`),s=l(i),c=r.provider!==t.provider||r.api!==t.api?u(o):l(o);return c.startsWith(`fc_`)||(c=l(`fc_${c}`)),`${s}|${c}`});if((s?.includeSystemPrompt??!0)&&n.systemPrompt){let e=t.reasoning?`developer`:`system`;c.push({role:e,content:r(n.systemPrompt)})}let f=0;for(let e of d){if(e.role===`user`)if(typeof e.content==`string`)c.push({role:`user`,content:[{type:`input_text`,text:r(e.content)}]});else{let t=e.content.map(e=>e.type===`text`?{type:`input_text`,text:r(e.text)}:{type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});if(t.length===0)continue;c.push({role:`user`,content:t})}else if(e.role===`assistant`){let n=[],a=e,s=a.model!==t.id&&a.provider===t.provider&&a.api===t.api;for(let t of e.content)if(t.type===`thinking`){if(t.thinkingSignature){let e=JSON.parse(t.thinkingSignature);n.push(e)}}else if(t.type===`text`){let e=t,a=o(e.textSignature),s=a?.id;s?s.length>64&&(s=`msg_${i(s)}`):s=`msg_${f}`,n.push({type:`message`,role:`assistant`,content:[{type:`output_text`,text:r(e.text),annotations:[]}],status:`completed`,id:s,phase:a?.phase})}else if(t.type===`toolCall`){let e=t,[r,i]=e.id.split(`|`),a=i;s&&a?.startsWith(`fc_`)&&(a=void 0),n.push({type:`function_call`,id:a,call_id:r,name:e.name,arguments:JSON.stringify(e.arguments)})}if(n.length===0)continue;c.push(...n)}else if(e.role===`toolResult`){let n=e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
2
|
-
`),i=e.content.some(e=>e.type===`image`),a=n.length>0,[o]=e.toolCallId.split(`|`),s;if(i&&t.input.includes(`image`)){let t=[];a&&t.push({type:`input_text`,text:r(n)});for(let n of e.content)n.type===`image`&&t.push({type:`input_image`,detail:`auto`,image_url:`data:${n.mimeType};base64,${n.data}`});s=t}else s=r(a?n:`(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(e,r,i,o,s){let c=null,l=null,d=r.content,f=()=>d.length-1;for await(let d of e)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
|
-
|
|
4
|
-
`,e.text+=`
|
|
5
|
-
|
|
6
|
-
`,i.push({type:`thinking_delta`,contentIndex:f(),delta:`
|
|
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=n(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=n(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`)l.thinking=e.summary?.map(e=>e.text).join(`
|
|
9
|
-
|
|
10
|
-
`)||``,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 t=l?.type===`toolCall`&&l.partialJson?n(l.partialJson):n(e.arguments||`{}`),a;l?.type===`toolCall`?(l.arguments=t,delete l.partialJson,a=l):a={type:`toolCall`,id:`${e.call_id}|${e.id}`,name:e.name,arguments:t},l=null,i.push({type:`toolcall_end`,contentIndex:f(),toolCall:a,partial:r})}}else if(d.type===`response.completed`){let e=d.response;if(e?.id&&(r.responseId=e.id),e?.usage){let t=e.usage.input_tokens_details?.cached_tokens||0;r.usage={input:(e.usage.input_tokens||0)-t,output:e.usage.output_tokens||0,cacheRead:t,cacheWrite:0,totalTokens:e.usage.total_tokens||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}if(t(o,r.usage),s?.applyServiceTierPricing){let t=s.resolveServiceTier?s.resolveServiceTier(e?.service_tier,s.serviceTier):e?.service_tier??s.serviceTier;s.applyServiceTierPricing(r.usage,t)}r.stopReason=u(e?.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};
|