sliccy 3.5.4 → 3.5.5

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.
Files changed (109) hide show
  1. package/dist/ui/assets/adobe-DCsfRQn2.js +2 -0
  2. package/dist/ui/assets/adobe-DSSPywlx.js +1 -0
  3. package/dist/ui/assets/{agent-bridge-D2k69QZ-.js → agent-bridge-DaJ_nmW3.js} +1 -1
  4. package/dist/ui/assets/{agent-message-to-chat-H07zq-Kv.js → agent-message-to-chat-CsyFcZ2w.js} +1 -1
  5. package/dist/ui/assets/anthropic-04L_IqQ4.js +39 -0
  6. package/dist/ui/assets/{anthropic-BK3Od7MT.js → anthropic-DdObQ2i-.js} +3 -3
  7. package/dist/ui/assets/{apps-mZJxOz_q.js → apps-BBc8G_er.js} +1 -1
  8. package/dist/ui/assets/{azure-openai-CN9QA_pv.js → azure-openai-DzGirHIb.js} +1 -1
  9. package/dist/ui/assets/{azure-openai-Dch5aR9j.js → azure-openai-maMzaMwe.js} +1 -1
  10. package/dist/ui/assets/azure-openai-responses-Cd0P_ssa.js +1 -0
  11. package/dist/ui/assets/azure-openai-responses-CjukGNgz.js +1 -0
  12. package/dist/ui/assets/{bsh-watchdog-i5GXbvla.js → bsh-watchdog-C8BJAFc3.js} +1 -1
  13. package/dist/ui/assets/{cdp-Cv6W51Ld.js → cdp-DMk0S7sC.js} +3 -3
  14. package/dist/ui/assets/cost-command-BtJx6Gwp.js +1 -0
  15. package/dist/ui/assets/{dist-EkY3RL7q.js → dist-tLLu0PBg.js} +1 -1
  16. package/dist/ui/assets/{es-Crcyr8Z7.js → es-Bjf1BIVF.js} +1 -1
  17. package/dist/ui/assets/{follower-sprinkle-bridge-BayCf20v.js → follower-sprinkle-bridge-BFLnAii4.js} +1 -1
  18. package/dist/ui/assets/{github-DpDjTcq9.js → github-CcyS4zY-.js} +2 -2
  19. package/dist/ui/assets/{github-DKcpc18I.js → github-q1jHC2aO.js} +1 -1
  20. package/dist/ui/assets/{google-B97zVBac.js → google-Cgd9E3cB.js} +1 -1
  21. package/dist/ui/assets/{google-IZXg3PJn.js → google-okAFtSPB.js} +1 -1
  22. package/dist/ui/assets/{google-shared-DwzANLbz.js → google-shared-Dz7dBXHI.js} +1 -1
  23. package/dist/ui/assets/{google-shared-BaIigNCs.js → google-shared-O-0R1H53.js} +1 -1
  24. package/dist/ui/assets/{google-vertex-ICKJGS1M.js → google-vertex-BSk7Kd0k.js} +1 -1
  25. package/dist/ui/assets/{google-vertex-DDwmtWoJ.js → google-vertex-BkZigHmB.js} +1 -1
  26. package/dist/ui/assets/index-BdDYVKjf.js +1611 -0
  27. package/dist/ui/assets/{intercepted-oauth-CEgKdcyY.js → intercepted-oauth-BbYCzrsi.js} +1 -1
  28. package/dist/ui/assets/{kernel-worker-dg2bRx7X.js → kernel-worker-7oVJDvYj.js} +1016 -980
  29. package/dist/ui/assets/{lick-ws-bridge-DgWfdUlv.js → lick-ws-bridge-Cre3RRwL.js} +1 -1
  30. package/dist/ui/assets/{local-llm-DuUGv7wX.js → local-llm-DAe8mBkI.js} +1 -1
  31. package/dist/ui/assets/{magick-wasm-Bu7zx3Ux.js → magick-wasm-C1izt9i7.js} +1 -1
  32. package/dist/ui/assets/{mistral-czd8-m0c.js → mistral-BgP2Mhzf.js} +1 -1
  33. package/dist/ui/assets/{mistral-BS_Gm2MH.js → mistral-DVuMIs98.js} +1 -1
  34. package/dist/ui/assets/{nuke-command-BSkSFZ4H.js → nuke-command-BbxGOoiP.js} +1 -1
  35. package/dist/ui/assets/{oauth-CJxNn7hC.js → oauth-D12YL9GU.js} +1 -1
  36. package/dist/ui/assets/{oauth-bootstrap-BeZQrd7y.js → oauth-bootstrap-BtJmY6M6.js} +2 -2
  37. package/dist/ui/assets/{oauth-service-BAnfipgD.js → oauth-service-Copu_4SG.js} +1 -1
  38. package/dist/ui/assets/{oauth-service-BX55wTV9.js → oauth-service-DJF7cZo7.js} +1 -1
  39. package/dist/ui/assets/{offscreen-client-DSEhUCxj.js → offscreen-client-Cz7pdJA-.js} +1 -1
  40. package/dist/ui/assets/{onboarding-orchestrator-DjNti83y.js → onboarding-orchestrator-BKXIEudN.js} +1 -1
  41. package/dist/ui/assets/openai-codex-responses-B7pudFjp.js +7 -0
  42. package/dist/ui/assets/openai-codex-responses-BAPqEmsF.js +7 -0
  43. package/dist/ui/assets/openai-completions-iJ14N4Sw.js +5 -0
  44. package/dist/ui/assets/openai-responses-C4kJ_gQ1.js +1 -0
  45. package/dist/ui/assets/openai-responses-CtIsFZKY.js +1 -0
  46. package/dist/ui/assets/{openai-responses-shared-07lPyxEg.js → openai-responses-shared-CqmlDcXz.js} +1 -1
  47. package/dist/ui/assets/{openai-responses-shared-DDootAUL.js → openai-responses-shared-DxBvmwvL.js} +1 -1
  48. package/dist/ui/assets/openrouter-CPoeAmgd.js +1 -0
  49. package/dist/ui/assets/openrouter-CdadiGtx.js +1 -0
  50. package/dist/ui/assets/{panel-rpc-handlers-B4jZTNHO.js → panel-rpc-handlers-DbHRM59x.js} +1 -1
  51. package/dist/ui/assets/{provider-BhabAJGA.js → provider-DXK8JUs0.js} +1 -1
  52. package/dist/ui/assets/{provider-rBD-3FHW.js → provider-DcrxGcMH.js} +2 -2
  53. package/dist/ui/assets/provider-store-access-BjvfvyfX.js +1 -0
  54. package/dist/ui/assets/provider-store-access-auxlQIvP.js +1 -0
  55. package/dist/ui/assets/{proxied-fetch-C6dm2Ugc.js → proxied-fetch-Zr3psZ6-.js} +1 -1
  56. package/dist/ui/assets/{pyodide-BC4PaR54.js → pyodide-DlSYVqmj.js} +2 -2
  57. package/dist/ui/assets/{remote-terminal-view-CXbFLcuS.js → remote-terminal-view-PnTEWD7p.js} +1 -1
  58. package/dist/ui/assets/{secret-env-s_8cP7Wf.js → secret-env-YSczATtn.js} +1 -1
  59. package/dist/ui/assets/{slicc-editor-pZcWEwTm.js → slicc-editor-BwZ-JdjT.js} +1 -1
  60. package/dist/ui/assets/{spawn-qtlw6x6p.js → spawn-CfeAB8A4.js} +1 -1
  61. package/dist/ui/assets/{sql-wasm-DeVtn0z8.js → sql-wasm-BVmSEJv3.js} +1 -1
  62. package/dist/ui/assets/{store-DLeVoNF3.js → store-D-IKH6-w.js} +1 -1
  63. package/dist/ui/assets/{tray-leave-runtime-DqA9PbxV.js → tray-leave-runtime-D9Wr8bCF.js} +1 -1
  64. package/dist/ui/assets/{upgrade-detection-CKrzeeRx.js → upgrade-detection-CpKdzfSv.js} +1 -1
  65. package/dist/ui/assets/{xai-grok-CN1nP4TF.js → xai-grok-CGPoHWCQ.js} +1 -1
  66. package/dist/ui/assets/{xai-grok-CNyu04Tg.js → xai-grok-DwtbUE6F.js} +1 -1
  67. package/dist/ui/assets/{xai-grok-sanitize-BeI8rdV5.js → xai-grok-sanitize-DtMFuPGU.js} +1 -1
  68. package/dist/ui/assets/{xai-grok-sanitize-h_8XMTD9.js → xai-grok-sanitize-L5nUbDcW.js} +1 -1
  69. package/dist/ui/index.html +1 -1
  70. package/dist/ui/packages/webapp/index.html +1 -1
  71. package/package.json +3 -3
  72. package/dist/ui/assets/adobe-DpCIcyEb.js +0 -2
  73. package/dist/ui/assets/adobe-NMBK1vG2.js +0 -1
  74. package/dist/ui/assets/anthropic-ZtfIcLyL.js +0 -39
  75. package/dist/ui/assets/azure-openai-responses-Bhr0mNdj.js +0 -1
  76. package/dist/ui/assets/azure-openai-responses-D400BxTc.js +0 -1
  77. package/dist/ui/assets/cost-command-BGqK_hbH.js +0 -1
  78. package/dist/ui/assets/index-CCGqFzR9.js +0 -1575
  79. package/dist/ui/assets/openai-codex-responses-DJKJH9AX.js +0 -7
  80. package/dist/ui/assets/openai-codex-responses-jB5RkWeq.js +0 -7
  81. package/dist/ui/assets/openai-completions-BWWM3S2J.js +0 -5
  82. package/dist/ui/assets/openai-responses-C_3YpAmj.js +0 -1
  83. package/dist/ui/assets/openai-responses-tJegTQYT.js +0 -1
  84. package/dist/ui/assets/provider-store-access-H9Lu5HRL.js +0 -1
  85. package/dist/ui/assets/provider-store-access-biaB--zG.js +0 -1
  86. /package/dist/ui/assets/{active-transport-CfU1UxY6.js → active-transport-Clj9slj7.js} +0 -0
  87. /package/dist/ui/assets/{active-transport-Dm6CWYVE.js → active-transport-Cu6hvJXz.js} +0 -0
  88. /package/dist/ui/assets/{addon-fit-BDUxDgg1.js → addon-fit-CBG3Hsec.js} +0 -0
  89. /package/dist/ui/assets/{addon-fit-Dkm5m5XK.js → addon-fit-D2MIn2bh.js} +0 -0
  90. /package/dist/ui/assets/{azure-ai-foundry-1pnZpxAJ.js → azure-ai-foundry-CGkSI_4f.js} +0 -0
  91. /package/dist/ui/assets/{azure-ai-foundry-BHLfY_0t.js → azure-ai-foundry-DVqxYCDH.js} +0 -0
  92. /package/dist/ui/assets/{chat-fixture-DOzffHLr.js → chat-fixture-C0wxG6yH.js} +0 -0
  93. /package/dist/ui/assets/{dist-BYoCEWmq.js → dist-4mA3RMrN.js} +0 -0
  94. /package/dist/ui/assets/{dist-BrjVVq8c.js → dist-9RlRmGag.js} +0 -0
  95. /package/dist/ui/assets/{git-config-CGMfR0WK.js → git-config-47_ySgKl.js} +0 -0
  96. /package/dist/ui/assets/{global-db-B97_fwjD.js → global-db-CMspJ2t8.js} +0 -0
  97. /package/dist/ui/assets/{lick-manager-proxy-BnnMFbgv.js → lick-manager-proxy-1L0EGIWD.js} +0 -0
  98. /package/dist/ui/assets/{page-storage-sync-CqMAh8jG.js → page-storage-sync-3GLxly8J.js} +0 -0
  99. /package/dist/ui/assets/{pdfjs-DDDkZHZ4.js → pdfjs-CW51NNE6.js} +0 -0
  100. /package/dist/ui/assets/{rum-DCU8sePD.js → rum-CY2gBT8x.js} +0 -0
  101. /package/dist/ui/assets/{sprinkle-bridge-channel-DojIojh7.js → sprinkle-bridge-channel-Bw5UaanD.js} +0 -0
  102. /package/dist/ui/assets/{sprinkle-bridge-channel-DJC5SGWr.js → sprinkle-bridge-channel-DAHSl7rf.js} +0 -0
  103. /package/dist/ui/assets/{sprinkle-proxy-rF3NSOGq.js → sprinkle-proxy-D6wqmewK.js} +0 -0
  104. /package/dist/ui/assets/{xai-grok-errors-WbFsMZum.js → xai-grok-errors-C6VnD_MH.js} +0 -0
  105. /package/dist/ui/assets/{xai-grok-errors-Bzn3oNvW.js → xai-grok-errors-DQQRqci0.js} +0 -0
  106. /package/dist/ui/assets/{xai-grok-models-cvcIXmNM.js → xai-grok-models-BndZgIFZ.js} +0 -0
  107. /package/dist/ui/assets/{xai-grok-models-DMYWtapT.js → xai-grok-models-D7n8nh39.js} +0 -0
  108. /package/dist/ui/assets/{xterm-DhusGoAm.js → xterm-4j9yS4Tj.js} +0 -0
  109. /package/dist/ui/assets/{xterm-D8ldLLKi.js → xterm-DLCsxsB1.js} +0 -0
@@ -1,7 +0,0 @@
1
- import{A as e,G as t,H as n,M as r,Y as i,j as a,k as o,y as s,z as c}from"./index-CCGqFzR9.js";import{t as l}from"./headers-AeYLn7L4.js";import{n as u,r as d,t as f}from"./openai-responses-shared-DDootAUL.js";var p=null;typeof process<`u`&&(process.versions?.node||process.versions?.bun)&&(e=>i(()=>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=(n,r,i)=>{let a=new c;return(async()=>{let s={role:`assistant`,content:[],api:`openai-codex-responses`,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=i?.apiKey||t(n.provider)||``;if(!c)throw Error(`No API key for provider: ${n.provider}`);let u=_e(c),d=te(n,r,i),f=await i?.onPayload?.(d,n);f!==void 0&&(d=f);let p=i?.sessionId||ve(),m=ye(n.headers,i?.headers,u,c,i?.sessionId),h=be(n.headers,i?.headers,u,c,p),v=JSON.stringify(d),y=i?.transport||`auto`,b=y!==`sse`&&z(i?.sessionId);if(b&&B(i?.sessionId),y!==`sse`&&!b){let t=!1;try{if(await Q(ne(n.baseUrl),d,h,s,a,n,()=>{t=!0},i),i?.signal?.aborted)throw Error(`Request was aborted`);a.push({type:`done`,reason:s.stopReason,message:s}),a.end();return}catch(n){if(i?.signal?.aborted||A(n)||(o(s,e(`provider_transport_failure`,n,{configuredTransport:y,fallbackTransport:t?void 0:`sse`,eventsEmitted:t,phase:t?`after_message_stream_start`:`before_message_stream_start`,requestBytes:new TextEncoder().encode(v).byteLength})),V(i?.sessionId,n),t))throw n;B(i?.sessionId)}}let S,C;for(let e=0;e<=g;e++){if(i?.signal?.aborted)throw Error(`Request was aborted`);try{if(S=await fetch(D(n.baseUrl),{method:`POST`,headers:m,body:v,signal:i?.signal}),await i?.onResponse?.({status:S.status,headers:l(S.headers)},n),S.ok)break;let t=await S.text();if(e<g&&ee(S.status,t)){await x(_*2**e,i?.signal);continue}let r=await ge(new Response(t,{status:S.status,statusText:S.statusText}));throw Error(r.friendlyMessage||r.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,i?.signal);continue}throw C}}if(!S?.ok)throw C??Error(`Failed after retries`);if(!S.body)throw Error(`No response body`);if(a.push({type:`start`,partial:s}),await re(S,s,a,n,i),i?.signal?.aborted)throw Error(`Request was aborted`);a.push({type:`done`,reason:s.stopReason,message:s}),a.end()}catch(e){for(let e of s.content)delete e.partialJson;s.stopReason=i?.signal?.aborted?`aborted`:`error`,s.errorMessage=e instanceof Error?e.message:String(e),a.push({type:`error`,reason:s.stopReason,error:s}),a.end()}})(),a},C=(e,r,i)=>{let a=i?.apiKey||t(e.provider);if(!a)throw Error(`No API key for provider: ${e.provider}`);let o=s(e,i,a),c=i?.reasoning?n(e,i.reasoning):void 0,l=c===`off`?void 0:c;return S(e,r,{...o,reasoningEffort:l})};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()}r(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=l(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};
@@ -1,7 +0,0 @@
1
- import{A as e,B as t,D as n,L as r,O as i,U as a,b as o,k as s,s as c}from"./kernel-worker-dg2bRx7X.js";import{n as l,r as u,t as d}from"./openai-responses-shared-07lPyxEg.js";let f=null;typeof process<`u`&&(process.versions?.node||process.versions?.bun)&&(e=>import(e))(`node:os`).then(e=>{f=e});const p=1e3,m=new Set([`openai`,`openai-codex`,`opencode`]),h=new Set([`completed`,`incomplete`,`failed`,`cancelled`,`queued`,`in_progress`]);function g(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 _(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`))})})}const v=(e,t,o)=>{let s=new r;return(async()=>{let r={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 l=o?.apiKey||a(e.provider)||``;if(!l)throw Error(`No API key for provider: ${e.provider}`);let u=ue(l),d=b(e,t,o),f=await o?.onPayload?.(d,e);f!==void 0&&(d=f);let m=o?.sessionId||de(),h=fe(e.headers,o?.headers,u,l,o?.sessionId),v=pe(e.headers,o?.headers,u,l,m),y=JSON.stringify(d),x=o?.transport||`auto`,S=x!==`sse`&&B(o?.sessionId);if(S&&V(o?.sessionId),x!==`sse`&&!S){let t=!1;try{if(await ce(T(e.baseUrl),d,v,r,s,e,()=>{t=!0},o),o?.signal?.aborted)throw Error(`Request was aborted`);s.push({type:`done`,reason:r.stopReason,message:r}),s.end();return}catch(e){if(o?.signal?.aborted||k(e)||(n(r,i(`provider_transport_failure`,e,{configuredTransport:x,fallbackTransport:t?void 0:`sse`,eventsEmitted:t,phase:t?`after_message_stream_start`:`before_message_stream_start`,requestBytes:new TextEncoder().encode(y).byteLength})),ee(o?.sessionId,e),t))throw e;V(o?.sessionId)}}let C,D;for(let t=0;t<=3;t++){if(o?.signal?.aborted)throw Error(`Request was aborted`);try{if(C=await fetch(w(e.baseUrl),{method:`POST`,headers:h,body:y,signal:o?.signal}),await o?.onResponse?.({status:C.status,headers:c(C.headers)},e),C.ok)break;let n=await C.text();if(t<3&&g(C.status,n)){await _(p*2**t,o?.signal);continue}let r=await le(new Response(n,{status:C.status,statusText:C.statusText}));throw Error(r.friendlyMessage||r.message)}catch(e){if(e instanceof Error&&(e.name===`AbortError`||e.message===`Request was aborted`))throw Error(`Request was aborted`);if(D=e instanceof Error?e:Error(String(e)),t<3&&!D.message.includes(`usage limit`)){await _(p*2**t,o?.signal);continue}throw D}}if(!C?.ok)throw D??Error(`Failed after retries`);if(!C.body)throw Error(`No response body`);if(s.push({type:`start`,partial:r}),await E(C,r,s,e,o),o?.signal?.aborted)throw Error(`Request was aborted`);s.push({type:`done`,reason:r.stopReason,message:r}),s.end()}catch(e){for(let e of r.content)delete e.partialJson;r.stopReason=o?.signal?.aborted?`aborted`:`error`,r.errorMessage=e instanceof Error?e.message:String(e),s.push({type:`error`,reason:r.stopReason,error:r}),s.end()}})(),s},y=(e,n,r)=>{let i=r?.apiKey||a(e.provider);if(!i)throw Error(`No API key for provider: ${e.provider}`);let s=o(e,r,i),c=r?.reasoning?t(e,r.reasoning):void 0,l=c===`off`?void 0:c;return v(e,n,{...s,reasoningEffort:l})};function b(e,t,n){let r=d(e,t,m,{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=l(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 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)}function C(e,t){return e===`default`&&(t===`flex`||t===`priority`)?t:e??t}function w(e){let t=(e&&e.trim().length>0?e:`https://chatgpt.com/backend-api`).replace(/\/+$/,``);return t.endsWith(`/codex/responses`)?t:t.endsWith(`/codex`)?`${t}/responses`:`${t}/codex/responses`}function T(e){let t=new URL(w(e));return t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}async function E(e,t,n,r,i){await u(A(M(e)),t,n,r,{serviceTier:i?.serviceTier,resolveServiceTier:C,applyServiceTierPricing:(e,t)=>S(e,t,r)})}var D=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}},O=class extends Error{payload;constructor(e,t){super(e),this.name=`CodexProtocolError`,this.payload=t?.payload,this.cause=t?.cause}};function k(e){return e instanceof D||e instanceof O}async function*A(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 D(`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 D(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:j(e.status)};yield{...t,type:`response.completed`,response:n};return}yield t}}}function j(e){if(typeof e==`string`)return h.has(e)?e:void 0}async function*M(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(t){throw new O(`Invalid Codex SSE JSON: ${s(t)}`,{cause:t,payload:e})}}a=r.indexOf(`
6
-
7
- `)}}}finally{try{await t.cancel()}catch{}try{t.releaseLock()}catch{}}}const N=new Map,P=new Map,F=new Set;function I(e){let t=P.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},P.set(e,t)),t}function L(e){let t=P.get(e);return t?{...t}:void 0}function R(e){if(e){P.delete(e),F.delete(e);return}P.clear(),F.clear()}function z(e){let t=e=>{e.idleTimer&&clearTimeout(e.idleTimer),G(e.socket,1e3,`debug_close`)};if(e){let n=N.get(e);n&&t(n),N.delete(e);return}for(let e of N.values())t(e);N.clear()}e(z);function B(e){return e?F.has(e):!1}function V(e){if(!e)return;let t=I(e);t.sseFallbacks++,t.websocketFallbackActive=B(e)}function ee(e,t){if(!e)return;F.add(e);let n=I(e);n.websocketFailures++,n.lastWebSocketError=s(t),n.websocketFallbackActive=!0}function te(){let e=globalThis.WebSocket;return typeof e==`function`?e:null}var H=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 U(e){let t=e.readyState;return typeof t==`number`?t:void 0}function W(e){let t=U(e);return t===void 0||t===1}function G(e,t=1e3,n=`done`){try{e.close(t,n)}catch{}}function K(e,t){t.idleTimer&&clearTimeout(t.idleTimer),t.idleTimer=setTimeout(()=>{t.busy||(G(t.socket,1e3,`idle_timeout`),N.delete(e))},3e5)}async function q(e,t,n){let r=te();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 J(e,t,n,r){if(!n){let n=await q(e,t,r);return{socket:n,reused:!1,release:({keep:e}={})=>{if(e===!1){G(n);return}G(n)}}}let i=N.get(n);if(i){if(i.idleTimer&&=(clearTimeout(i.idleTimer),void 0),!i.busy&&W(i.socket))return i.busy=!0,{socket:i.socket,entry:i,reused:!0,release:({keep:e}={})=>{if(!e||!W(i.socket)){G(i.socket),N.delete(n);return}i.busy=!1,K(n,i)}};if(i.busy){let n=await q(e,t,r);return{socket:n,reused:!1,release:()=>{G(n)}}}W(i.socket)||(G(i.socket),N.delete(n))}let a=await q(e,t,r),o={socket:a,busy:!0};return N.set(n,o),{socket:a,entry:o,reused:!1,release:({keep:e}={})=>{if(!e||!W(o.socket)){G(o.socket),o.idleTimer&&clearTimeout(o.idleTimer),N.get(n)===o&&N.delete(n);return}o.busy=!1,K(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===1009&&(a=` message too big`),new H(`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 Z(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*ne(e,t){let n=[],r=null,i=!1,a=null,o=!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 Z(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`)&&(o=!0,i=!0),n.push(r),c()}catch(e){a=new O(`Invalid Codex WebSocket JSON: ${s(e)}`,{cause:e,payload:t}),i=!0,c()}})()},u=e=>{a=Y(e),i=!0,c()},d=e=>{if(o){i=!0,c();return}a||=X(e),i=!0,c()},f=()=>{a=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(a)throw a;if(!o)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 Q(e){let{input:t,previous_response_id:n,...r}=e;return r}function re(e,t){return JSON.stringify(e??[])===JSON.stringify(t??[])}function ie(e,t){return JSON.stringify(Q(e))===JSON.stringify(Q(t))}function ae(e,t){if(!ie(e,t.lastRequestBody))return;let n=e.input??[],r=[...t.lastRequestBody.input??[],...t.lastResponseItems];if(!(n.length<r.length)&&re(n.slice(0,r.length),r))return n.slice(r.length)}function oe(e,t){let n=e.continuation;if(!n)return t;let r=ae(t,n);return!r||!n.lastResponseId?(e.continuation=void 0,t):{...t,previous_response_id:n.lastResponseId,input:r}}async function*se(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 ce(e,t,n,r,i,a,o,s){let{socket:c,entry:l,reused:f,release:p}=await J(e,n,s?.sessionId,s?.signal),h=!0,g=s?.transport===`websocket-cached`||s?.transport===`auto`,_=t,v=g&&l?oe(l,_):_,y=s?.sessionId?I(s.sessionId):void 0;y&&(y.requests++,f?y.connectionsReused++:y.connectionsCreated++,g&&y.cachedContextRequests++,v.store===!0&&y.storeTrueRequests++,y.lastInputItems=v.input?.length??0,v.previous_response_id?(y.deltaRequests++,y.lastDeltaInputItems=v.input?.length??0,y.lastPreviousResponseId=v.previous_response_id):(y.fullContextRequests++,y.lastDeltaInputItems=void 0,y.lastPreviousResponseId=void 0));try{if(c.send(JSON.stringify({type:`response.create`,...v})),await u(se(A(ne(c,s?.signal)),r,i,o),r,i,a,{serviceTier:s?.serviceTier,resolveServiceTier:C,applyServiceTierPricing:(e,t)=>S(e,t,a)}),s?.signal?.aborted)h=!1;else if(g&&l&&r.responseId){let e=d(a,{messages:[r]},m,{includeSystemPrompt:!1}).filter(e=>e.type!==`function_call_output`);l.continuation={lastRequestBody:_,lastResponseId:r.responseId,lastResponseItems:e}}}catch(e){throw l&&(l.continuation=void 0),h=!1,e}finally{p({keep:h})}}async function le(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 ue(e){try{let t=e.split(`.`);if(t.length!==3)throw Error(`Invalid token`);let n=JSON.parse(atob(t[1]))?.[`https://api.openai.com/auth`]?.chatgpt_account_id;if(!n)throw Error(`No account ID in token`);return n}catch{throw Error(`Failed to extract accountId from token`)}}function de(){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=f?`pi (${f.platform()} ${f.release()}; ${f.arch()})`:`pi (browser)`;return i.set(`User-Agent`,a),i}function fe(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 pe(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`,`responses_websockets=2026-02-06`),a.set(`x-client-request-id`,i),a.set(`session_id`,i),a}export{z as closeOpenAICodexWebSocketSessions,L as getOpenAICodexWebSocketDebugStats,R as resetOpenAICodexWebSocketDebugStats,v as streamOpenAICodexResponses,y as streamSimpleOpenAICodexResponses};
@@ -1,5 +0,0 @@
1
- import{G as e,H as t,O as n,V as r,b as i,y as a,z as o}from"./index-CCGqFzR9.js";import{t as s}from"./headers-AeYLn7L4.js";import{t as c}from"./sanitize-unicode-h0KEBmEw.js";import{i as l,n as u,r as d,t as f}from"./github-copilot-headers-CTUP_cqn.js";import{n as p}from"./openai-Bf1npfRy.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=(t,r,i)=>{let a=new o;return(async()=>{let o={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 c=i?.apiKey||e(t.provider)||``,l=L(t),u=y(i?.cacheRetention),d=u===`none`?void 0:i?.sessionId,f=S(t,r,c,i?.headers,d,l),p=C(t,r,i,l,u),m=await i?.onPayload?.(p,t);m!==void 0&&(p=m);let h={...i?.signal?{signal:i.signal}:{},...i?.timeoutMs===void 0?{}:{timeout:i.timeoutMs},...i?.maxRetries===void 0?{}:{maxRetries:i.maxRetries}},{data:g,response:_}=await f.chat.completions.create(p,h).withResponse();await i?.onResponse?.({status:_.status,headers:s(_.headers)},t),a.push({type:`start`,partial:o});let v=null,b=null,x=new Map,w=new Map,T=o.content,E=e=>T.indexOf(e),D=e=>{let t=E(e);t!==-1&&(e.type===`text`?a.push({type:`text_end`,contentIndex:t,content:e.text,partial:o}):e.type===`thinking`?a.push({type:`thinking_end`,contentIndex:t,content:e.thinking,partial:o}):e.type===`toolCall`&&(e.arguments=n(e.partialArgs),delete e.partialArgs,delete e.streamIndex,a.push({type:`toolcall_end`,contentIndex:t,toolCall:e,partial:o})))},O=()=>(v||(v={type:`text`,text:``},T.push(v),a.push({type:`text_start`,contentIndex:E(v),partial:o})),v),k=e=>(b||(b={type:`thinking`,thinking:``,thinkingSignature:e},T.push(b),a.push({type:`thinking_start`,contentIndex:E(b),partial:o})),b),A=e=>{let t=typeof e.index==`number`?e.index:void 0,n=t===void 0?void 0:x.get(t);return!n&&e.id&&(n=w.get(e.id)),n||(n={type:`toolCall`,id:e.id||``,name:e.function?.name||``,arguments:{},partialArgs:``,streamIndex:t},t!==void 0&&x.set(t,n),e.id&&w.set(e.id,n),T.push(n),a.push({type:`toolcall_start`,contentIndex:E(n),partial:o})),t!==void 0&&n.streamIndex===void 0&&(n.streamIndex=t,x.set(t,n)),e.id&&w.set(e.id,n),n};for await(let e of g){if(!e||typeof e!=`object`)continue;o.responseId||=e.id,typeof e.model==`string`&&e.model.length>0&&e.model!==t.id&&(o.responseModel||=e.model),e.usage&&(o.usage=P(e.usage,t));let r=Array.isArray(e.choices)?e.choices[0]:void 0;if(r){if(!e.usage&&r.usage&&(o.usage=P(r.usage,t)),r.finish_reason){let e=F(r.finish_reason);o.stopReason=e.stopReason,e.errorMessage&&(o.errorMessage=e.errorMessage)}if(r.delta){if(r.delta.content!==null&&r.delta.content!==void 0&&r.delta.content.length>0){let e=O();e.text+=r.delta.content,a.push({type:`text_delta`,contentIndex:E(e),delta:r.delta.content,partial:o})}let e=[`reasoning_content`,`reasoning`,`reasoning_text`],t=r.delta,i=null;for(let n of e){let e=t[n];if(typeof e==`string`&&e.length>0){i=n;break}}if(i){let e=t[i];if(typeof e==`string`&&e.length>0){let t=k(i);t.thinking+=e,a.push({type:`thinking_delta`,contentIndex:E(t),delta:e,partial:o})}}if(r?.delta?.tool_calls)for(let e of r.delta.tool_calls){let t=A(e);!t.id&&e.id&&(t.id=e.id,w.set(e.id,t)),!t.name&&e.function?.name&&(t.name=e.function.name);let r=``;e.function?.arguments&&(r=e.function.arguments,t.partialArgs=(t.partialArgs??``)+e.function.arguments,t.arguments=n(t.partialArgs)),a.push({type:`toolcall_delta`,contentIndex:E(t),delta:r,partial:o})}let s=r.delta.reasoning_details;if(s&&Array.isArray(s)){for(let e of s)if(e.type===`reasoning.encrypted`&&e.id&&e.data){let t=o.content.find(t=>t.type===`toolCall`&&t.id===e.id);t&&(t.thoughtSignature=JSON.stringify(e))}}}}}for(let e of T)D(e);if(i?.signal?.aborted||o.stopReason===`aborted`)throw Error(`Request was aborted`);if(o.stopReason===`error`)throw Error(o.errorMessage||`Provider returned an error stop reason`);a.push({type:`done`,reason:o.stopReason,message:o}),a.end()}catch(e){for(let e of o.content)delete e.index,delete e.partialArgs,delete e.streamIndex;o.stopReason=i?.signal?.aborted?`aborted`:`error`,o.errorMessage=e instanceof Error?e.message:JSON.stringify(e);let t=e?.error?.metadata?.raw;t&&(o.errorMessage+=`\n${t}`),a.push({type:`error`,reason:o.stopReason,error:o}),a.end()}})(),a},x=(n,r,i)=>{let o=i?.apiKey||e(n.provider);if(!o)throw Error(`No API key for provider: ${n.provider}`);let s=a(n,i,o),c=i?.reasoning?t(n,i.reasoning):void 0,l=c===`off`?void 0:c,u=i?.toolChoice;return b(n,r,{...s,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=[],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=i(t.messages,e,e=>a(e));if(t.systemPrompt){let i=e.reasoning&&n.supportsDeveloperRole?`developer`:`system`;r.push({role:i,content:c(t.systemPrompt)})}let s=null;for(let t=0;t<o.length;t++){let i=o[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:c(i.content)});else{let e=i.content.map(e=>e.type===`text`?{type:`text`,text:c(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:c(e.text)})),o=a.map(e=>e.text).join(``),s=i.content.filter(g).filter(e=>e.thinking.trim().length>0);if(s.length>0)if(n.requiresThinkingAsText)t.content=[{type:`text`,text:s.map(e=>c(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 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=[],a=t;for(;a<o.length&&o[a].role===`toolResult`;a++){let t=o[a],s=t.content.filter(h).map(e=>e.text).join(`
5
- `),l=t.content.some(e=>e.type===`image`),u={role:`tool`,content:c(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=a-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 n=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,n-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 r(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};
@@ -1 +0,0 @@
1
- import{G as e,H as t,y as n,z as r}from"./index-CCGqFzR9.js";import{t as i}from"./headers-AeYLn7L4.js";import{i as a,n as o,r as s,t as c}from"./github-copilot-headers-CTUP_cqn.js";import{n as l}from"./openai-Bf1npfRy.js";import{n as u,r as d,t as f}from"./openai-responses-shared-DDootAUL.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 _=(t,n,a)=>{let o=new r;return(async()=>{let r={role:`assistant`,content:[],api:t.api,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let s=a?.apiKey||e(t.provider)||``,c=m(a?.cacheRetention)===`none`?void 0:a?.sessionId,l=y(t,n,s,a?.headers,c),u=b(t,n,a),f=await a?.onPayload?.(u,t);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:i(g.headers)},t),o.push({type:`start`,partial:r}),await d(h,r,o,t,{serviceTier:a?.serviceTier,applyServiceTierPricing:(e,n)=>S(e,n,t)}),a?.signal?.aborted)throw Error(`Request was aborted`);if(r.stopReason===`aborted`||r.stopReason===`error`)throw Error(`An unknown error occurred`);o.push({type:`done`,reason:r.stopReason,message:r}),o.end()}catch(e){for(let e of r.content)delete e.index,delete e.partialJson;r.stopReason=a?.signal?.aborted?`aborted`:`error`,r.errorMessage=e instanceof Error?e.message:JSON.stringify(e),o.push({type:`error`,reason:r.stopReason,error:r}),o.end()}})(),o},v=(r,i,a)=>{let o=a?.apiKey||e(r.provider);if(!o)throw Error(`No API key for provider: ${r.provider}`);let s=n(r,a,o),c=a?.reasoning?t(r,a.reasoning):void 0,l=c===`off`?void 0:c;return _(r,i,{...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};
@@ -1 +0,0 @@
1
- import{B as e,L as t,U as n,a as r,b as i,i as a,l as o,n as s,r as c,s as l}from"./kernel-worker-dg2bRx7X.js";import{n as u,r as d,t as f}from"./openai-responses-shared-07lPyxEg.js";const 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}const _=(e,r,i)=>{let a=new t;return(async()=>{let t={role:`assistant`,content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let o=i?.apiKey||n(e.provider)||``,s=m(i?.cacheRetention)===`none`?void 0:i?.sessionId,c=y(e,r,o,i?.headers,s),u=b(e,r,i),f=await i?.onPayload?.(u,e);f!==void 0&&(u=f);let p={...i?.signal?{signal:i.signal}:{},...i?.timeoutMs===void 0?{}:{timeout:i.timeoutMs},...i?.maxRetries===void 0?{}:{maxRetries:i.maxRetries}},{data:h,response:g}=await c.responses.create(u,p).withResponse();if(await i?.onResponse?.({status:g.status,headers:l(g.headers)},e),a.push({type:`start`,partial:t}),await d(h,t,a,e,{serviceTier:i?.serviceTier,applyServiceTierPricing:(t,n)=>S(t,n,e)}),i?.signal?.aborted)throw Error(`Request was aborted`);if(t.stopReason===`aborted`||t.stopReason===`error`)throw Error(`An unknown error occurred`);a.push({type:`done`,reason:t.stopReason,message:t}),a.end()}catch(e){for(let e of t.content)delete e.index,delete e.partialJson;t.stopReason=i?.signal?.aborted?`aborted`:`error`,t.errorMessage=e instanceof Error?e.message:JSON.stringify(e),a.push({type:`error`,reason:t.stopReason,error:t}),a.end()}})(),a},v=(t,r,a)=>{let o=a?.apiKey||n(t.provider);if(!o)throw Error(`No API key for provider: ${t.provider}`);let s=i(t,a,o),c=a?.reasoning?e(t,a.reasoning):void 0,l=c===`off`?void 0:c;return _(t,r,{...s,reasoningEffort:l})};function y(e,t,n,i,l){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=c(t.messages),n=s({messages:t.messages,hasImages:e});Object.assign(d,n)}l&&(u.sendSessionIdHeader&&(d.session_id=l),d[`x-client-request-id`]=l),i&&Object.assign(d,i);let f=e.provider===`cloudflare-ai-gateway`?{...d,Authorization:d.Authorization??null,"cf-aig-authorization":`Bearer ${n}`}:d;return new o({apiKey:n,baseURL:a(e.provider)?r(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};
@@ -1 +0,0 @@
1
- import{t as e}from"./provider-rBD-3FHW.js";export{e as readMcpAuthEntries};
@@ -1 +0,0 @@
1
- import{t as e}from"./store-DLeVoNF3.js";import"./provider-BhabAJGA.js";export{e as readMcpAuthEntries};