sliccy 6.241.2 → 6.242.1
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/ui/.vite/manifest.json +435 -406
- package/dist/ui/assets/account-store-C7cmsYvk.js +2 -0
- package/dist/ui/assets/account-store-LMcdoHV5.js +1 -0
- package/dist/ui/assets/adobe-CsN2HePU.js +1 -0
- package/dist/ui/assets/adobe-DvupBVBe.js +2 -0
- package/dist/ui/assets/{agent-panels-BPTNztEF.js → agent-panels-nqX59rBC.js} +1 -1
- package/dist/ui/assets/{agent-tools-WbCq5rUh.js → agent-tools-DOAwvp2r.js} +1 -1
- package/dist/ui/assets/{almost-bash-shell-headless-BhATwxlI.js → almost-bash-shell-headless-D4axvqF7.js} +16 -16
- package/dist/ui/assets/anthropic-messages-B2uIMNYL.js +19 -0
- package/dist/ui/assets/anthropic-messages-C787NPvk.js +18 -0
- package/dist/ui/assets/{apply-layout-do6BKGG_.js → apply-layout-BLMLhkIq.js} +1 -1
- package/dist/ui/assets/{approver-agent-CivzfuZ7.js → approver-agent-B9MJsDkQ.js} +1 -1
- package/dist/ui/assets/{azure-openai-Crma6jg9.js → azure-openai-CJ435PeY.js} +1 -1
- package/dist/ui/assets/{azure-openai-DbyCJhyF.js → azure-openai-DzHm6zoK.js} +1 -1
- package/dist/ui/assets/azure-openai-config--zABV6W_.js +1 -0
- package/dist/ui/assets/azure-openai-config-CvD1Dsr0.js +1 -0
- package/dist/ui/assets/azure-openai-responses-DcjVJRMr.js +1 -0
- package/dist/ui/assets/azure-openai-responses-Zz2PEXb6.js +1 -0
- package/dist/ui/assets/bedrock-camp-CLQpuikj.js +1 -0
- package/dist/ui/assets/bedrock-camp-Sm0RNsDN.js +1 -0
- package/dist/ui/assets/bedrock-camp-extra-models-BVTKXD9j.js +1 -0
- package/dist/ui/assets/bedrock-camp-extra-models-Df3uDddz.js +1 -0
- package/dist/ui/assets/{browser-BhTdBqdp.js → browser-Chc3wUwj.js} +35 -30
- package/dist/ui/assets/{browser-CGX7MbCQ.js → browser-L7W6uZ79.js} +1 -1
- package/dist/ui/assets/{cdp-Chj4rX9S.js → cdp-DAKkYx5Q.js} +1 -1
- package/dist/ui/assets/{cerebras-CMjh5Atq.js → cerebras-B6RM4KMv.js} +1 -1
- package/dist/ui/assets/{cerebras-D3JMO0_v.js → cerebras-D8aIpgqL.js} +1 -1
- package/dist/ui/assets/classifier-shared-BJysQIY7.js +1 -0
- package/dist/ui/assets/classifier-shared-DgL5N50m.js +1 -0
- package/dist/ui/assets/claude-model-version-3MWQoaco.js +1 -0
- package/dist/ui/assets/{claude-model-version-ceOteQ2f.js → claude-model-version-BlyDyuTC.js} +1 -1
- package/dist/ui/assets/cloudflare-workers-ai-system-one-3WA5LP90.js +1 -0
- package/dist/ui/assets/cloudflare-workers-ai-system-one-BQQga1NM.js +1 -0
- package/dist/ui/assets/{codemode-tool-FcP24sWd.js → codemode-tool-BFVivVHy.js} +1 -1
- package/dist/ui/assets/compat-0YnuwvMn.js +2 -0
- package/dist/ui/assets/compat-Ba4wPWa_.js +1 -0
- package/dist/ui/assets/{composer-speech-B4dRABTT.js → composer-speech-tCXeaBeW.js} +1 -1
- package/dist/ui/assets/{connect-surface-DE7YTMvl.js → connect-surface-BNPAOM6T.js} +1 -1
- package/dist/ui/assets/{connection-manager-D0LxHiWb.js → connection-manager-BDqqVban.js} +1 -1
- package/dist/ui/assets/{context-compaction-BCsq-2e6.js → context-compaction-Dee1PlIX.js} +1 -1
- package/dist/ui/assets/core-C--iyWKC.js +1 -0
- package/dist/ui/assets/core-DzRw0pz2.js +27 -0
- package/dist/ui/assets/{cost-command-TMcbUPyN.js → cost-command-VPxRuwNr.js} +1 -1
- package/dist/ui/assets/{descriptor-CuhPBdq8.js → descriptor-1ECGTjSt.js} +1 -1
- package/dist/ui/assets/{descriptor-CKLcFFX3.js → descriptor-xRf4P0gd.js} +1 -1
- package/dist/ui/assets/diagnostics-B-5VkVir.js +1 -0
- package/dist/ui/assets/{directed-approval-Bh7n7n1J.js → directed-approval-C-H1pezV.js} +1 -1
- package/dist/ui/assets/dist-DRjYxtT0.js +9 -0
- package/dist/ui/assets/dist-Ue_WrVH6.js +4 -0
- package/dist/ui/assets/{emscripten-vfs-hook-C48AABzj.js → emscripten-vfs-hook-C_sPQF1q.js} +1 -1
- package/dist/ui/assets/env-api-keys-BMbk-OAv.js +1 -0
- package/dist/ui/assets/env-api-keys-DkgZK-ct.js +1 -0
- package/dist/ui/assets/error-BTdmRKoB.js +1 -0
- package/dist/ui/assets/{frozen-archive-writer-WvWeevzo.js → frozen-archive-writer-B9jFFV1G.js} +1 -1
- package/dist/ui/assets/{frozen-archive-writer-Dp5Kp2AM.js → frozen-archive-writer-C-H_SeAN.js} +1 -1
- package/dist/ui/assets/{frozen-session-delete-Bd5sAXCT.js → frozen-session-delete-TEdGsWWq.js} +1 -1
- package/dist/ui/assets/{frozen-session-identity-DtVvVfo-.js → frozen-session-identity-98l4HHOx.js} +1 -1
- package/dist/ui/assets/{frozen-session-identity-DBNKX1Kt.js → frozen-session-identity-BuympVx1.js} +1 -1
- package/dist/ui/assets/{gelatiere-unit-CRAdgKi2.js → gelatiere-unit-POxyevbg.js} +1 -1
- package/dist/ui/assets/{github-Ce6zEmb7.js → github-DLccWQy2.js} +1 -1
- package/dist/ui/assets/{github-Cki_0Nyx.js → github-DbPIkVg9.js} +1 -1
- package/dist/ui/assets/github-copilot-BWirQvll.js +2 -0
- package/dist/ui/assets/{github-copilot-DnxO45YA.js → github-copilot-CCxXuXGc.js} +1 -1
- package/dist/ui/assets/google-generative-ai-C1S3RP6G.js +1 -0
- package/dist/ui/assets/{google-generative-ai-CHKS5an4.js → google-generative-ai-D_dvyaRG.js} +1 -1
- package/dist/ui/assets/{google-shared-Q-3oSdLJ.js → google-shared-CjU_LieG.js} +1 -1
- package/dist/ui/assets/{google-shared-C6X3xab7.js → google-shared-DWTs99zb.js} +1 -1
- package/dist/ui/assets/{google-vertex-DBm4s85u.js → google-vertex-Ckh_e-Px.js} +1 -1
- package/dist/ui/assets/google-vertex-DmOYmn7m.js +1 -0
- package/dist/ui/assets/{guest-tool-gate-83ZVVYjM.js → guest-tool-gate-D5-Z-l4h.js} +1 -1
- package/dist/ui/assets/{hear-DrMASLik.js → hear-D0GDb5OM.js} +1 -1
- package/dist/ui/assets/{host-command-CvUauhDf.js → host-command-B9z8gGwK.js} +1 -1
- package/dist/ui/assets/{idle-compaction-DGln8tkz.js → idle-compaction-WANlPP4R.js} +1 -1
- package/dist/ui/assets/{interrupted-work-recovery-CWSaMQsO.js → interrupted-work-recovery-Bc8UHznp.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-BImPsiO1.js → js-realm-worker-B5EaNFPR.js} +2 -2
- package/dist/ui/assets/{jsh-executor-DeyquLjX.js → jsh-executor-Cvtifnzy.js} +2 -2
- package/dist/ui/assets/kernel-worker-BnKZsD8D.js +1262 -0
- package/dist/ui/assets/{key-B2Bki3fU.js → key-CMmCg0hr.js} +1 -1
- package/dist/ui/assets/{legacy-api-aliases--xyLjPgC.js → legacy-api-aliases-C3_OAyZB.js} +1 -1
- package/dist/ui/assets/{legacy-api-aliases-BjgG1CsY.js → legacy-api-aliases-D-3Ssy_B.js} +1 -1
- package/dist/ui/assets/{libesm-CTQYxJIv.js → libesm-CSMdpGMF.js} +4 -4
- package/dist/ui/assets/{lick-ws-bridge-yY6biRYG.js → lick-ws-bridge-9wS4yJ0w.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-Dz2GMrQF.js → lick-ws-bridge-jZ4K-oo9.js} +1 -1
- package/dist/ui/assets/{live-session-curation-P07mPEUJ.js → live-session-curation-DmFglcFD.js} +1 -1
- package/dist/ui/assets/{live-session-curation-DNRKwuqG.js → live-session-curation-yQ-Vm41y.js} +1 -1
- package/dist/ui/assets/{live-session-snapshot-BIzlbYCZ.js → live-session-snapshot-DGG3f5uE.js} +1 -1
- package/dist/ui/assets/{local-llm-DCFLzc5h.js → local-llm-CCShpj71.js} +1 -1
- package/dist/ui/assets/{local-llm-CmCBqZZ-.js → local-llm-FAQb55rp.js} +1 -1
- package/dist/ui/assets/main-DMcZBsBh.js +22 -0
- package/dist/ui/assets/{main-cherry-BDVwWFQN.js → main-cherry-DpTyQuBL.js} +1 -1
- package/dist/ui/assets/{mcp-command-C1alEKaT.js → mcp-command-DH5p3gPZ.js} +11 -11
- package/dist/ui/assets/{memory-curation-seam-BY8tSgeq.js → memory-curation-seam-FFS-yP-L.js} +1 -1
- package/dist/ui/assets/{memory-health-CU02gRyR.js → memory-health-A-AOIR0m.js} +1 -1
- package/dist/ui/assets/{memory-write-execute-CVgMXvW1.js → memory-write-execute-CBK1MREm.js} +1 -1
- package/dist/ui/assets/{merge-folded-cost-into-frozen-hx2AKJws.js → merge-folded-cost-into-frozen-j807FRp1.js} +1 -1
- package/dist/ui/assets/{mistral-conversations-oqRyTLwY.js → mistral-conversations-BvlrZkA-.js} +3 -3
- package/dist/ui/assets/{mistral-conversations-SlnX__FI.js → mistral-conversations-gYKoKyXX.js} +4 -4
- package/dist/ui/assets/models-D9KYIFyv.js +8 -0
- package/dist/ui/assets/models-DMUS_WIm.js +8 -0
- package/dist/ui/assets/new-session-BAU8qoRg.js +2 -0
- package/dist/ui/assets/{node.browser-DfltYbWr.js → node.browser-C8yuEzbc.js} +1 -1
- package/dist/ui/assets/node.browser-GIQn8hjM.js +1 -0
- package/dist/ui/assets/node.browser-HQ5SKBOf.js +1 -0
- package/dist/ui/assets/{node.browser-DFNMSkXf.js → node.browser-PnMdIUDP.js} +1 -1
- package/dist/ui/assets/oauth-bootstrap-DQTz034Z.js +2 -0
- package/dist/ui/assets/{onboarding-orchestrator-CSc2ijQX.js → onboarding-orchestrator-BApWfGDZ.js} +1 -1
- package/dist/ui/assets/{openai-codex-Blubslp_.js → openai-codex-Dz9Hz7cm.js} +1 -1
- package/dist/ui/assets/{openai-codex-Cxuu2ttC.js → openai-codex-ZrvYHVwu.js} +1 -1
- package/dist/ui/assets/{openai-codex-responses-BFVkRFGY.js → openai-codex-responses-DL3QfjAj.js} +2 -2
- package/dist/ui/assets/{openai-codex-responses-N8ybD_eh.js → openai-codex-responses-D_RW7WEX.js} +2 -2
- package/dist/ui/assets/openai-completions-B8gZJNrA.js +5 -0
- package/dist/ui/assets/openai-completions-Eh0-DkGU.js +5 -0
- package/dist/ui/assets/openai-decisions-DZc3eKSh.js +2 -0
- package/dist/ui/assets/openai-decisions-umTQkmTO.js +2 -0
- package/dist/ui/assets/openai-responses-C7rBSmmd.js +1 -0
- package/dist/ui/assets/openai-responses-ChllZFHw.js +1 -0
- package/dist/ui/assets/{openai-responses-shared-CbNa5Pf-.js → openai-responses-shared-BkcHIDFS.js} +2 -2
- package/dist/ui/assets/{openai-responses-shared-yguGWfYx.js → openai-responses-shared-BvBjbnyp.js} +2 -2
- package/dist/ui/assets/{openrouter-BO37g5kD.js → openrouter-BUQDu47M.js} +1 -1
- package/dist/ui/assets/{openrouter-free-Nwvsh4Wu.js → openrouter-free-C49a6JRY.js} +1 -1
- package/dist/ui/assets/{openrouter-free-DMHXMOwF.js → openrouter-free-D1RSYnrS.js} +1 -1
- package/dist/ui/assets/{openrouter-images-DInxQ8hj.js → openrouter-images-BLhPKhhs.js} +1 -1
- package/dist/ui/assets/{openrouter-images-B2LpvEOZ.js → openrouter-images-BxgQP1ZC.js} +1 -1
- package/dist/ui/assets/{openrouter-models-DawLtPaY.js → openrouter-models-BmhhmiWg.js} +1 -1
- package/dist/ui/assets/{openrouter-models-RwlwKz0P.js → openrouter-models-W7XmIrEt.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-B7dwn7-K.js → openrouter-oauth-ByrbaA4D.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-CBN-q3uQ.js → openrouter-oauth-D8IvxZ7K.js} +1 -1
- package/dist/ui/assets/{openrouter-DfDarzCs.js → openrouter-xeZ1sMms.js} +1 -1
- package/dist/ui/assets/openrouter.models-BSx3ITDA.js +1 -0
- package/dist/ui/assets/openrouter.models-C88RzzVZ.js +1 -0
- package/dist/ui/assets/panel-rpc-handlers-CAHaGcUL.js +2 -0
- package/dist/ui/assets/{panelize-shell-7Y7g8j87.js → panelize-shell-9zV9Orft.js} +1 -1
- package/dist/ui/assets/pi-edit-execution-DKUTmAry.js +12 -0
- package/dist/ui/assets/{pi-messages-BMxZw_ob.js → pi-messages-CiydoVXP.js} +1 -1
- package/dist/ui/assets/{pi-messages-F6N-eNkX.js → pi-messages-DElkezfJ.js} +1 -1
- package/dist/ui/assets/pi-transcript-context-CE8ItnBz.js +1 -0
- package/dist/ui/assets/{pi-transcript-context-miZCMig3.js → pi-transcript-context-DZyPy5yf.js} +1 -1
- package/dist/ui/assets/{provider-DQruadfh.js → provider-D-ykGwqg.js} +1 -1
- package/dist/ui/assets/{provider-C6ydoCMq.js → provider-bqWyptLT.js} +1 -1
- package/dist/ui/assets/{provider-retry-CSlu6hjs.js → provider-retry-RVfYd5Vz.js} +1 -1
- package/dist/ui/assets/{provider-settings-B3qqcxSD.js → provider-settings-DB_WwQDb.js} +1 -1
- package/dist/ui/assets/provider-store-access-C_IUeBVd.js +1 -0
- package/dist/ui/assets/provider-store-access-CytEP8xG.js +1 -0
- package/dist/ui/assets/providers-C4C51wfX.js +2 -0
- package/dist/ui/assets/{providers-B9czndZN.js → providers-qejBSaH2.js} +1 -1
- package/dist/ui/assets/{quick-llm-BPycuWR-.js → quick-llm-Bg8bsYeX.js} +1 -1
- package/dist/ui/assets/{realm-inprocess-DWdzUOQ_.js → realm-inprocess-DIFlE2ih.js} +2 -2
- package/dist/ui/assets/{realm-unhandled-rejections-Bl_ZXwoN.js → realm-unhandled-rejections-DuDX1XsO.js} +1 -1
- package/dist/ui/assets/{realm-unhandled-rejections-C53qKLqK.js → realm-unhandled-rejections-cnpITgwQ.js} +1 -1
- package/dist/ui/assets/record-Ban9cWMI.js +1 -0
- package/dist/ui/assets/record-DtD74Jn0.js +1 -0
- package/dist/ui/assets/{recovery-screen-Cazf2xIP.js → recovery-screen-CmpvrsH2.js} +1 -1
- package/dist/ui/assets/{remote-terminal-view-Bi6kHDPF.js → remote-terminal-view-mG1cslxd.js} +3 -3
- package/dist/ui/assets/renamed-providers-BUZBzl5L.js +1 -0
- package/dist/ui/assets/renamed-providers-DDe6My59.js +1 -0
- package/dist/ui/assets/{restore-44hNH7jV.js → restore-C13TcO9D.js} +1 -1
- package/dist/ui/assets/{run-CRTEPV5c.js → run-DaNuW9og.js} +1 -1
- package/dist/ui/assets/{run-DnxVNWPE.js → run-DcyrwtHx.js} +1 -1
- package/dist/ui/assets/{run-4_xJysDp.js → run-DfX5ruur.js} +2 -2
- package/dist/ui/assets/{run-C4ksmo-v.js → run-G6dw8QHv.js} +1 -1
- package/dist/ui/assets/{run-BA6c0GPu.js → run-LbXVMEE2.js} +2 -2
- package/dist/ui/assets/{run-eMa-imbo.js → run-dvwY_0Mg.js} +1 -1
- package/dist/ui/assets/{run-BJGzDxyk.js → run-xC8FUB2Z.js} +2 -2
- package/dist/ui/assets/{serve-command-CL7ZUUME.js → serve-command-CHfAIOHY.js} +2 -2
- package/dist/ui/assets/{serve-runtime-FnrqSQ9N.js → serve-runtime-D4K9eaOV.js} +1 -1
- package/dist/ui/assets/{session-command-memory-U9MPhSTK.js → session-command-memory-D1nqCEjG.js} +2 -2
- package/dist/ui/assets/{session-jsonl-Dex98vVP.js → session-jsonl-Dw6-vKR4.js} +1 -1
- package/dist/ui/assets/{session-jsonl-B6PTjNY7.js → session-jsonl-FXRetOAW.js} +1 -1
- package/dist/ui/assets/{session-search-index-D4Hgp55S.js → session-search-index-sViZcrH8.js} +1 -1
- package/dist/ui/assets/{setup-feature-flags-remote-DOYQs_ab.js → setup-feature-flags-remote-C2rFofJk.js} +1 -1
- package/dist/ui/assets/setup-model-catalog-CoX5PPIu.js +1 -0
- package/dist/ui/assets/{silent-renew-backoff-BMu6yC44.js → silent-renew-backoff-DjqNK0gl.js} +1 -1
- package/dist/ui/assets/slicc-version-BYcI5lyB.js +1 -0
- package/dist/ui/assets/{soundscape-BhzoNmry.js → soundscape-ZCwJCejO.js} +1 -1
- package/dist/ui/assets/{speak-DTAAyjvt.js → speak-C4XDVFOd.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-Cvz_wvjt.js → sprinkle-manager-DCp9ktyI.js} +1 -1
- package/dist/ui/assets/{sprinkle-renderer-Bf2N_Op8.js → sprinkle-renderer-DUdlmZzY.js} +1 -1
- package/dist/ui/assets/{ssh-CVu8tZ_S.js → ssh-Bqz2CHhO.js} +1 -1
- package/dist/ui/assets/{sudo-psOqIGnL.js → sudo-7dQUlj9u.js} +1 -1
- package/dist/ui/assets/{supervisor-Ms2TJ94r.js → supervisor-Cm4Br5Bp.js} +1 -1
- package/dist/ui/assets/{sync-dialog-DHBHhHXb.js → sync-dialog-C7UzXurv.js} +1 -1
- package/dist/ui/assets/system-one-shared-D_uXoohg.js +1 -0
- package/dist/ui/assets/system-one-shared-Do49zet2.js +1 -0
- package/dist/ui/assets/{temperature-support-0nztUM0u.js → temperature-support-9MoXJgur.js} +1 -1
- package/dist/ui/assets/{temperature-support-DhoZT6gU.js → temperature-support-DhJ_0y8D.js} +1 -1
- package/dist/ui/assets/transform-messages-DF4OdhKs.js +1 -0
- package/dist/ui/assets/transform-messages-DuvHh3qm.js +1 -0
- package/dist/ui/assets/{transformers-env-N_IINZ2N.js → transformers-env-eK1GAmlY.js} +1 -1
- package/dist/ui/assets/{tray-leader-U7aWeTYx.js → tray-leader-ByxTjm7v.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-D8WKpUof.js → tray-leave-runtime-CGfgD_l_.js} +1 -1
- package/dist/ui/assets/{tray-sidecar-DaYo1_7T.js → tray-sidecar-C2mWKDLO.js} +1 -1
- package/dist/ui/assets/{turn-journal-CVQtwHPx.js → turn-journal-BJ3lAG7q.js} +1 -1
- package/dist/ui/assets/typesafe-system-one-B1zebM2I.js +1 -0
- package/dist/ui/assets/typesafe-system-one-B3Qz9-cZ.js +1 -0
- package/dist/ui/assets/{upgrade-detection-CnW9IWmw.js → upgrade-detection-mxvsQ7d1.js} +1 -1
- package/dist/ui/assets/{voice-reply-D70F9Jig.js → voice-reply-CNqXcytR.js} +1 -1
- package/dist/ui/assets/wc-attach-CTH3djxT.js +13 -0
- package/dist/ui/assets/{wc-browser-BbP-L6hO.js → wc-browser-DxwwYgO4.js} +1 -1
- package/dist/ui/assets/{wc-computers-DkSSp9VX.js → wc-computers-D9JoAyGk.js} +1 -1
- package/dist/ui/assets/{wc-detached--2VtFBm4.js → wc-detached-DFBPDSb7.js} +1 -1
- package/dist/ui/assets/wc-extension-o3opm5o5.js +2 -0
- package/dist/ui/assets/wc-follower-B6owaMW7.js +17 -0
- package/dist/ui/assets/{wc-follower-oauth-jPrcuiBT.js → wc-follower-oauth-iPAb4lP-.js} +1 -1
- package/dist/ui/assets/{wc-gelatiere-CH09qCLS.js → wc-gelatiere-CXXvIq8m.js} +1 -1
- package/dist/ui/assets/wc-live-yMGE6i1e.js +248 -0
- package/dist/ui/assets/wc-nav-CoUdFOJj.js +2 -0
- package/dist/ui/assets/{wc-onboarding-DfnMJHdB.js → wc-onboarding-BgzGE8gS.js} +2 -2
- package/dist/ui/assets/{wc-permissions-rM3M_LQl.js → wc-permissions-CyQgHfKN.js} +2 -2
- package/dist/ui/assets/wc-placeholder-Bc6dyn-A.js +4 -0
- package/dist/ui/assets/{wc-secret-request-CNE59PrN.js → wc-secret-request-CZ0k7hXL.js} +1 -1
- package/dist/ui/assets/{wc-settings-CO0WKQ0U.js → wc-settings-D6dRO6tZ.js} +3 -3
- package/dist/ui/assets/{wc-shell-ChGRHIpW.js → wc-shell-CCmBaVQE.js} +4 -4
- package/dist/ui/assets/{wc-shortcut-config-ClUA-2rq.js → wc-shortcut-config-DAYOOx8x.js} +1 -1
- package/dist/ui/assets/wc-sprinkles-BIMkIdn_.js +2 -0
- package/dist/ui/assets/wc-transcript-export-BF9PGt-B.js +2 -0
- package/dist/ui/assets/{wc-tray-BMj5XxoM.js → wc-tray-BSwujbla.js} +4 -4
- package/dist/ui/assets/{wc-unit-context-CZro7UrY.js → wc-unit-context-D5liISq3.js} +1 -1
- package/dist/ui/assets/welcome-detection-D3bHDmja.js +1 -0
- package/dist/ui/assets/whisper-session-Cvvuie0p.js +2 -0
- package/dist/ui/assets/xai-grok-BAa-CqFq.js +1 -0
- package/dist/ui/assets/xai-grok-WwMxwnuu.js +1 -0
- package/dist/ui/index.html +14 -13
- package/dist/ui/packages/webapp/index.html +14 -13
- package/package.json +1 -1
- package/dist/ui/assets/account-store-BxNOy49N.js +0 -1
- package/dist/ui/assets/account-store-DZiXvdji.js +0 -2
- package/dist/ui/assets/adobe-CwvNDAl7.js +0 -1
- package/dist/ui/assets/adobe-DMuNVyzl.js +0 -2
- package/dist/ui/assets/anthropic-messages-COqhstcs.js +0 -40
- package/dist/ui/assets/anthropic-messages-CjSN1VV8.js +0 -41
- package/dist/ui/assets/azure-openai-responses-BG1E_58j.js +0 -1
- package/dist/ui/assets/azure-openai-responses-DT2eVjgI.js +0 -1
- package/dist/ui/assets/bedrock-camp-CBP41h6t.js +0 -1
- package/dist/ui/assets/bedrock-camp-CWYBPsp_.js +0 -1
- package/dist/ui/assets/bedrock-camp-extra-models-BYrxX19D.js +0 -1
- package/dist/ui/assets/bedrock-camp-extra-models-DIuCBjcJ.js +0 -1
- package/dist/ui/assets/build-Dnkjpm_v.js +0 -3
- package/dist/ui/assets/claude-model-version-DZmbk9E2.js +0 -1
- package/dist/ui/assets/cloudflare-workers-ai-system-one-CfgjeR2q.js +0 -1
- package/dist/ui/assets/cloudflare-workers-ai-system-one-DBa2hfSp.js +0 -1
- package/dist/ui/assets/compat-BAGLwgqY.js +0 -2
- package/dist/ui/assets/compat-nGhSz-U1.js +0 -1
- package/dist/ui/assets/context-CrZ58_Xy.js +0 -1
- package/dist/ui/assets/core-BFRZk2b-.js +0 -62
- package/dist/ui/assets/core-EGZ5TU35.js +0 -36
- package/dist/ui/assets/diagnostics-Cag7MsZI.js +0 -1
- package/dist/ui/assets/dist-Cu98pw2t.js +0 -9
- package/dist/ui/assets/dist-xQGtC96q.js +0 -4
- package/dist/ui/assets/edit-dC5128uh.js +0 -16
- package/dist/ui/assets/env-api-keys-BXRkymgV.js +0 -1
- package/dist/ui/assets/env-api-keys-CPPAm2nU.js +0 -1
- package/dist/ui/assets/error-CJ3RHG07.js +0 -1
- package/dist/ui/assets/github-copilot-BFAy1omp.js +0 -2
- package/dist/ui/assets/google-generative-ai-BiB1UYSx.js +0 -1
- package/dist/ui/assets/google-vertex-B2qHfYD5.js +0 -1
- package/dist/ui/assets/kernel-worker-DIOokGRo.js +0 -1260
- package/dist/ui/assets/libesm-BypnjKEL.js +0 -13
- package/dist/ui/assets/main-CfN2cUqZ.js +0 -22
- package/dist/ui/assets/models-CET5SEuw.js +0 -8
- package/dist/ui/assets/models-Xc0Gclrk.js +0 -8
- package/dist/ui/assets/new-session-DCVkAjxC.js +0 -2
- package/dist/ui/assets/node.browser-3Nibdso-.js +0 -1
- package/dist/ui/assets/node.browser-DFtqp6Hr.js +0 -1
- package/dist/ui/assets/oauth-bootstrap-BXF8NQag.js +0 -2
- package/dist/ui/assets/openai-completions-Dx5kqcwu.js +0 -5
- package/dist/ui/assets/openai-completions-nAjVDcoU.js +0 -5
- package/dist/ui/assets/openai-responses-BzrpHAlB.js +0 -1
- package/dist/ui/assets/openai-responses-CnpU2GL3.js +0 -1
- package/dist/ui/assets/openrouter.models-BWF0jSAQ.js +0 -1
- package/dist/ui/assets/openrouter.models-DHpsqCCC.js +0 -1
- package/dist/ui/assets/panel-rpc-handlers-DFPKlmOB.js +0 -2
- package/dist/ui/assets/pi-edit-execution-C6VSS68P.js +0 -2
- package/dist/ui/assets/pi-transcript-context-4pjVPiVC.js +0 -1
- package/dist/ui/assets/provider-store-access-8Kjohitf.js +0 -1
- package/dist/ui/assets/provider-store-access-B-CkHLl5.js +0 -1
- package/dist/ui/assets/providers-BlihNA7u.js +0 -2
- package/dist/ui/assets/record-CBv8rWFt.js +0 -1
- package/dist/ui/assets/record-COQlaFL1.js +0 -1
- package/dist/ui/assets/setup-model-catalog-BJ6Hqkh-.js +0 -1
- package/dist/ui/assets/slicc-version-tZkTwmfz.js +0 -1
- package/dist/ui/assets/system-one-shared-B0og9uUi.js +0 -1
- package/dist/ui/assets/system-one-shared-iVEDyuts.js +0 -1
- package/dist/ui/assets/transform-messages-BeurHGV0.js +0 -1
- package/dist/ui/assets/transform-messages-k2mfzJwY.js +0 -1
- package/dist/ui/assets/typesafe-system-one-D_iVKLH6.js +0 -1
- package/dist/ui/assets/typesafe-system-one-Ds8-mdzH.js +0 -1
- package/dist/ui/assets/wc-attach-i7R9wRQy.js +0 -13
- package/dist/ui/assets/wc-extension-C9gpI6oX.js +0 -2
- package/dist/ui/assets/wc-follower-CQSWKN20.js +0 -17
- package/dist/ui/assets/wc-live-BFgffnb7.js +0 -248
- package/dist/ui/assets/wc-nav-ljnm58LU.js +0 -2
- package/dist/ui/assets/wc-placeholder-BodLGoP_.js +0 -4
- package/dist/ui/assets/wc-sprinkles-RpKjg3A5.js +0 -2
- package/dist/ui/assets/wc-transcript-export-CstNRG9n.js +0 -2
- package/dist/ui/assets/welcome-detection-o5jTF0Xc.js +0 -1
- package/dist/ui/assets/whisper-session-BoS3c9u2.js +0 -2
- package/dist/ui/assets/xai-grok-DB7G774g.js +0 -1
- package/dist/ui/assets/xai-grok-tiXY9TSK.js +0 -1
package/dist/ui/assets/{openai-codex-responses-BFVkRFGY.js → openai-codex-responses-DL3QfjAj.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e,n as t,r as n,t as r}from"./diagnostics-Cag7MsZI.js";import{f as i,g as a,l as o,m as s,n as c,p as l,u}from"./models-Xc0Gclrk.js";import{t as d}from"./provider-env-CTOcDKrQ.js";import{t as f}from"./headers-FK4rgixo.js";import{n as p,s as m}from"./constrained-sampling-DOxF6Eck.js";import{r as h}from"./transform-messages-k2mfzJwY.js";import{n as g,t as _}from"./error-body-pkrba6pf.js";import{t as v}from"./openai-prompt-cache-DXo9f3w5.js";import{n as y,r as b,t as x}from"./openai-responses-shared-CbNa5Pf-.js";var S=new Set;function C(e){return S.add(e),()=>{S.delete(e)}}var w=0xffffffffffff,T=(1n<<41n)-1n,E=-1,D;function ee(e){let t=e??Date.now();if(!Number.isInteger(t)||t<0||t>w)throw RangeError(`UUIDv7 timestamp must be an integer between 0 and ${w}`);let n=e===void 0?Math.max(t,E):e;e===void 0&&(E=n);let r=new Uint8Array(16);if(globalThis.crypto.getRandomValues(r),D===void 0)D=BigInt(r[1])<<32n|BigInt(r[2])<<24n|BigInt(r[3])<<16n|BigInt(r[4])<<8n|BigInt(r[5]);else{if(D===T)throw RangeError(`UUIDv7 generator sequence exhausted`);D++}let i=BigInt(n);for(let e=5;e>=0;e--)r[e]=Number(i>>BigInt((5-e)*8))&255;r[6]=112|Number(D>>37n&15n),r[7]=Number(D>>29n&255n),r[8]=128|Number(D>>23n&63n),r[9]=Number(D>>15n&255n),r[10]=Number(D>>7n&255n),r[11]=Number((D&127n)<<1n)|r[11]&1;let a=Array.from(r,e=>e.toString(16).padStart(2,`0`));return`${a.slice(0,4).join(``)}-${a.slice(4,6).join(``)}-${a.slice(6,8).join(``)}-${a.slice(8,10).join(``)}-${a.slice(10).join(``)}`}function te(e){let t=e.filter(e=>e!==void 0);if(t.length===0)return{cleanup:()=>{}};if(t.length===1)return{signal:t[0],cleanup:()=>{}};let n=new AbortController,r=[],i=e=>{n.signal.aborted||n.abort(e.reason)};for(let e of t){if(e.aborted){i(e);break}let t=()=>i(e);e.addEventListener(`abort`,t,{once:!0}),r.push({signal:e,listener:t})}return{signal:n.signal,cleanup:()=>{for(let{signal:e,listener:t}of r)e.removeEventListener(`abort`,t)}}}var O={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function k(e,t){let n=e.toLowerCase(),r=e.toUpperCase();return t?.[n]||t?.[r]||d(n)||d(r)||``}function A(e){if(e instanceof URL)return e;try{return new URL(e)}catch{return}}function j(e){return e.startsWith(`[`)&&e.endsWith(`]`)?e.slice(1,-1):e}function ne(e){let t=e.trim().toLowerCase();if(!t)return;if(t.startsWith(`[`)){let e=t.indexOf(`]`);if(e!==-1){let n=t.slice(1,e),r=t.slice(e+1);if(r.startsWith(`:`)){let e=Number.parseInt(r.slice(1),10);return{host:n,port:Number.isNaN(e)?0:e}}return{host:n,port:0}}}if(t.includes(`:`)&&t.split(`:`).length>2)return{host:t,port:0};let n=t.lastIndexOf(`:`);if(n!==-1&&n===t.indexOf(`:`)){let e=t.slice(0,n),r=Number.parseInt(t.slice(n+1),10);if(!Number.isNaN(r))return{host:e,port:r}}return{host:t,port:0}}function re(e,t,n){let r=k(`no_proxy`,n).toLowerCase();if(!r)return!0;if(r===`*`)return!1;let i=j(e.toLowerCase());return r.split(/[,\s]/).every(e=>{let n=ne(e);if(!n||n.port&&n.port!==t)return!0;let r=j(n.host);return r.startsWith(`*.`)?r=r.slice(2):(r.startsWith(`.`)||r.startsWith(`*`))&&(r=r.slice(1)),!r||!(i===r||i.endsWith(`.${r}`))})}function ie(e,t){let n=A(e);if(!n?.protocol||!n.host)return``;let r=n.protocol.split(`:`,1)[0];if(!re(j(n.hostname||n.host.replace(/:\d*$/,``)),Number.parseInt(n.port,10)||O[r]||0,t))return``;let i=k(`${r}_proxy`,t)||k(`all_proxy`,t);return i&&!i.includes(`://`)&&(i=`${r}://${i}`),i}var ae=`Unsupported proxy protocol. SOCKS and PAC proxy URLs are not supported; use an HTTP or HTTPS proxy URL.`;function oe(e,t){let n=ie(e,t);if(!n)return;let r;try{r=new URL(n)}catch(e){throw Error(`Invalid proxy URL ${JSON.stringify(n)}: ${e instanceof Error?e.message:String(e)}`)}if(r.protocol!==`http:`&&r.protocol!==`https:`)throw Error(`${ae} Got ${r.protocol}`);return r}var se=`https://chatgpt.com/backend-api`,ce=`https://api.openai.com/auth`,le=0,M=1e3,ue=6e4,de=15e3,fe=3,N=new Set([`openai`,`openai-codex`,`opencode`]),pe=1009,me=`websocket_connection_limit_reached`,he=`previous_response_not_found`,ge=new Set([`completed`,`incomplete`,`failed`,`cancelled`,`queued`,`in_progress`]);function P(e){if(e.stopReason===`pending`)throw Error(`Codex stream ended without a stop reason`);if(e.stopReason===`error`||e.stopReason===`aborted`)throw Error(e.errorMessage||`An unknown error occurred`)}function _e(e){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(e)}function ve(e,t){return e===429&&_e(t)?!1:e===429||e===500||e===502||e===503||e===504||/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(t)}function ye(e){let t=e.get(`retry-after-ms`);if(t!==null){let e=Number(t);if(Number.isFinite(e))return Math.max(0,e)}let n=e.get(`retry-after`);if(!n)return;let r=Number(n);if(Number.isFinite(r))return Math.max(0,r*1e3);let i=Date.parse(n);if(!Number.isNaN(i))return Math.max(0,i-Date.now())}var be=class extends Error{};function xe(e,t){let n=t?.maxRetryDelayMs??ue;if(n>0&&e>n)throw new be(`Server requested ${Math.ceil(e/1e3)}s retry delay (max: ${Math.ceil(n/1e3)}s)`);return e}function Se(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`))})})}function Ce(e){if(e!==void 0){if(!Number.isFinite(e)||e<0)throw Error(`Invalid timeoutMs: ${String(e)}`);return Math.floor(e)}}function we(){return typeof process>`u`||!(process.versions?.node||process.versions?.bun)?null:process.getBuiltinModule?.(`node:zlib`)??null}function Te(e){let t=we();if(!t||typeof t.zstdCompressSync!=`function`)return null;try{let n=t.zstdCompressSync(e,{params:{[t.constants.ZSTD_c_compressionLevel]:fe}});return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}catch{return null}}var F=(n,i,a)=>{let s=new e,c=l(i,n.compat?.supportsMidConvoSystemMessages);return(async()=>{let e={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:`pending`,timestamp:Date.now()};try{let i=a?.apiKey;if(!i)throw Error(`No API key for provider: ${n.provider}`);let l=st(i),u=p(o(c.messages),n.compat?.supportsOpenAIGrammarTools??!1),d=a?.cacheRetention===`none`?void 0:a?.sessionId,m=v(d),h=De(n,c,a,m,u),g=await a?.onPayload?.(h,n);g!==void 0&&(h=g);let _=m||ee(),y=lt(n.headers,a?.headers,l,i,m),b=ut(n.headers,a?.headers,l,i,_),x=JSON.stringify(h),S=Ce(a?.timeoutMs),C=Ce(a?.websocketConnectTimeoutMs),w=a?.transport||`auto`,T=!1,E=w!==`sse`&&J(d);if(E&&Y(d),w!==`sse`&&!E){let i=!1,o=!1,c=!1;for(;;){i=!1;try{if(await at(ke(n.baseUrl),h,b,e,s,n,()=>{i=!0,T||(T=!0,s.push({type:`start`,partial:e}))},S,C,d,l,u,a),a?.signal?.aborted)throw Error(`Request was aborted`);P(e),s.push({type:`done`,reason:e.stopReason,message:e}),s.end();return}catch(n){let s=a?.signal?.aborted,l=!i&&Me(n),u=Ne(n);if(!s&&u&&!c){c=!0;continue}if(!s&&l&&!o){o=!0;continue}if(s||je(n)&&!l||(r(e,t(`provider_transport_failure`,n,{configuredTransport:w,...i?{}:{fallbackTransport:`sse`},eventsEmitted:i,phase:i?`after_message_stream_start`:`before_message_stream_start`,requestBytes:new TextEncoder().encode(x).byteLength})),He(d,n),i))throw n;Y(d);break}}}let D=Te(x);D&&y.set(`content-encoding`,`zstd`);let O=D??x,k,A,j=a?.maxRetries??le;for(let e=0;e<=j;e++){if(a?.signal?.aborted)throw Error(`Request was aborted`);try{let t=S!==void 0&&S>0?AbortSignal.timeout(S):void 0,r=te([a?.signal,t]);try{k=await(a?.fetch??globalThis.fetch)(R(n.baseUrl),{method:`POST`,headers:y,body:O,signal:r.signal})}catch(e){throw t?.aborted&&!a?.signal?.aborted?Error(`Codex SSE response headers timed out after ${S}ms`):e}finally{r.cleanup()}if(await a?.onResponse?.({status:k.status,headers:f(k.headers)},n),k.ok)break;let i=await k.text();if(e<j&&ve(k.status,i)){let t=ye(k.headers);await Se(t===void 0?M*2**e:xe(t,a),a?.signal);continue}let o=await ot(new Response(i,{status:k.status,statusText:k.statusText}));throw Error(o.friendlyMessage||o.message)}catch(t){if(t instanceof Error&&(t.name===`AbortError`||t.message===`Request was aborted`))throw Error(`Request was aborted`);if(A=t instanceof Error?t:Error(String(t)),e<j&&!(A instanceof be)&&!A.message.includes(`usage limit`)){await Se(M*2**e,a?.signal);continue}throw A}}if(!k?.ok)throw A??Error(`Failed after retries`);if(!k.body)throw Error(`No response body`);if(T||(T=!0,s.push({type:`start`,partial:e})),await Ae(k,e,s,n,u,a),a?.signal?.aborted)throw Error(`Request was aborted`);P(e),s.push({type:`done`,reason:e.stopReason,message:e}),s.end()}catch(t){for(let t of e.content)delete t.partialJson,delete t.customInput;e.stopReason=a?.signal?.aborted?`aborted`:`error`,e.errorMessage=_(g(t)),s.push({type:`error`,reason:e.stopReason,error:e}),s.end()}})(),s},Ee=(e,t,n)=>{let r=n?.apiKey;if(!r)throw Error(`No API key for provider: ${e.provider}`);let i={...h(e,t,n,r),toolChoice:n?.toolChoice},a=n?.reasoning?c(e,n.reasoning):void 0,o=a===`off`?void 0:a;return F(e,t,{...i,reasoningEffort:o})};function De(e,t,n,r,i=p(o(t.messages),e.compat?.supportsOpenAIGrammarTools??!1)){let c=e.compat?.supportsStrictMode??!0,l=e.compat?.supportsOpenAIGrammarTools??!1,d=e.compat?.supportsAdditionalTools??!1,f=e.compat?.supportsToolSearch??!1,m=s(t.messages,d||f),h=x(e,t,N,{includeSystemPrompt:!1,grammarToolInputProperties:i,supportsMidConvoSystemMessages:e.compat?.supportsMidConvoSystemMessages??!1,supportsAdditionalTools:d,supportsToolSearch:f,toolOptions:{strict:null,supportsStrictMode:c,supportsOpenAIGrammarTools:l}}),g=u(t.messages),_=g?a(g):``,v={model:e.id,store:!1,stream:!0,instructions:_||`You are a helpful assistant.`,input:h,text:{verbosity:n?.textVerbosity||`low`},include:[`reasoning.encrypted_content`],prompt_cache_key:r,tool_choice:n?.toolChoice??`auto`,parallel_tool_calls:!0};if(n?.temperature!==void 0&&(v.temperature=n.temperature),n?.serviceTier!==void 0&&(v.service_tier=n.serviceTier),m.requestTools.length>0&&(v.tools=y(m.requestTools,{strict:null,supportsStrictMode:c,supportsOpenAIGrammarTools:l})),n?.reasoningEffort!==void 0){let t=n.reasoningEffort===`none`?e.thinkingLevelMap?.off===void 0?`none`:e.thinkingLevelMap.off:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;t!==null&&(v.reasoning={effort:t,summary:n.reasoningSummary??`auto`})}else e.reasoning&&e.thinkingLevelMap?.off!==null&&(v.reasoning={effort:e.thinkingLevelMap?.off??`none`});return v}function Oe(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function I(e,t,n){let r=Oe(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 L(e,t){return e==="default"&&(t===`flex`||t===`priority`)?t:e??t}function R(e){let t=(e&&e.trim().length>0?e:se).replace(/\/+$/,``);return t.endsWith(`/codex/responses`)?t:t.endsWith(`/codex`)?`${t}/responses`:`${t}/codex/responses`}function ke(e){let t=new URL(R(e));return t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}async function Ae(e,t,n,r,i,a){await b(H(Ie(e,a?.signal),t,r,a?.onProviderStreamEvent),t,n,r,{serviceTier:a?.serviceTier,grammarToolInputProperties:i,resolveServiceTier:L,applyServiceTierPricing:(e,t)=>I(e,t,r)})}var z=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}},B=class extends Error{payload;constructor(e,t){super(e),this.name=`CodexProtocolError`,this.payload=t?.payload,this.cause=t?.cause}},V=class extends Error{constructor(e){super(n(e)),this.name=`ProviderStreamEventCallbackError`,this.cause=e}};function je(e){return e instanceof z||e instanceof B||e instanceof V}function Me(e){return e instanceof z&&e.code===me}function Ne(e){return e instanceof z&&e.code===he}function Pe(e){let t=e.error&&typeof e.error==`object`?e.error:void 0;return{code:typeof e.code==`string`?e.code:typeof t?.code==`string`?t.code:void 0,message:typeof e.message==`string`?e.message:typeof t?.message==`string`?t.message:void 0}}async function*H(e,t,n,r){for await(let i of e){try{await r?.(i,n)}catch(e){throw new V(e)}let e=typeof i.type==`string`?i.type:void 0;if(e){if(e===`error`){let{code:e,message:t}=Pe(i);throw new z(`Codex error: ${t||e||JSON.stringify(i)}`,{code:e,payload:i})}if(e===`response.failed`){let e=i.response,t=e?.error?.code,n=e?.error?.message;throw new z(n||`Codex response failed`,{code:t,payload:i})}if(e===`response.done`||e===`response.completed`||e===`response.incomplete`){let e=i.response;typeof e?.end_turn==`boolean`&&(t.endTurn=e.end_turn);let n=e&&{...e,status:Fe(e.status)};yield{...i,type:`response.completed`,response:n};return}yield i}}}function Fe(e){if(typeof e==`string`)return ge.has(e)?e:void 0}async function*Ie(e,t){if(!e.body)return;let r=e.body.getReader(),i=new TextDecoder,a=``,o=()=>{r.cancel().catch(()=>{})};t?.addEventListener(`abort`,o,{once:!0});try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);let{done:e,value:o}=await r.read();if(t?.aborted)throw Error(`Request was aborted`);a+=e?i.decode():i.decode(o,{stream:!0}),e&&a.trim()&&(a+=`
|
|
1
|
+
import{i as e,n as t,r as n,t as r}from"./diagnostics-B-5VkVir.js";import{d as i,f as a,h as o,l as s,n as c,p as l,u}from"./models-D9KYIFyv.js";import{t as d}from"./provider-env-CTOcDKrQ.js";import{t as f}from"./headers-FK4rgixo.js";import{n as p,s as m}from"./constrained-sampling-DOxF6Eck.js";import{r as h}from"./transform-messages-DF4OdhKs.js";import{n as g,t as _}from"./error-body-pkrba6pf.js";import{t as v}from"./openai-prompt-cache-DXo9f3w5.js";import{n as y,r as b,t as x}from"./openai-responses-shared-BkcHIDFS.js";var S=new Set;function C(e){return S.add(e),()=>{S.delete(e)}}var w=0xffffffffffff,T=(1n<<41n)-1n,E=-1,D;function ee(e){let t=e??Date.now();if(!Number.isInteger(t)||t<0||t>w)throw RangeError(`UUIDv7 timestamp must be an integer between 0 and ${w}`);let n=e===void 0?Math.max(t,E):e;e===void 0&&(E=n);let r=new Uint8Array(16);if(globalThis.crypto.getRandomValues(r),D===void 0)D=BigInt(r[1])<<32n|BigInt(r[2])<<24n|BigInt(r[3])<<16n|BigInt(r[4])<<8n|BigInt(r[5]);else{if(D===T)throw RangeError(`UUIDv7 generator sequence exhausted`);D++}let i=BigInt(n);for(let e=5;e>=0;e--)r[e]=Number(i>>BigInt((5-e)*8))&255;r[6]=112|Number(D>>37n&15n),r[7]=Number(D>>29n&255n),r[8]=128|Number(D>>23n&63n),r[9]=Number(D>>15n&255n),r[10]=Number(D>>7n&255n),r[11]=Number((D&127n)<<1n)|r[11]&1;let a=Array.from(r,e=>e.toString(16).padStart(2,`0`));return`${a.slice(0,4).join(``)}-${a.slice(4,6).join(``)}-${a.slice(6,8).join(``)}-${a.slice(8,10).join(``)}-${a.slice(10).join(``)}`}function te(e){let t=e.filter(e=>e!==void 0);if(t.length===0)return{cleanup:()=>{}};if(t.length===1)return{signal:t[0],cleanup:()=>{}};let n=new AbortController,r=[],i=e=>{n.signal.aborted||n.abort(e.reason)};for(let e of t){if(e.aborted){i(e);break}let t=()=>i(e);e.addEventListener(`abort`,t,{once:!0}),r.push({signal:e,listener:t})}return{signal:n.signal,cleanup:()=>{for(let{signal:e,listener:t}of r)e.removeEventListener(`abort`,t)}}}var O={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function k(e,t){let n=e.toLowerCase(),r=e.toUpperCase();return t?.[n]||t?.[r]||d(n)||d(r)||``}function A(e){if(e instanceof URL)return e;try{return new URL(e)}catch{return}}function j(e){return e.startsWith(`[`)&&e.endsWith(`]`)?e.slice(1,-1):e}function ne(e){let t=e.trim().toLowerCase();if(!t)return;if(t.startsWith(`[`)){let e=t.indexOf(`]`);if(e!==-1){let n=t.slice(1,e),r=t.slice(e+1);if(r.startsWith(`:`)){let e=Number.parseInt(r.slice(1),10);return{host:n,port:Number.isNaN(e)?0:e}}return{host:n,port:0}}}if(t.includes(`:`)&&t.split(`:`).length>2)return{host:t,port:0};let n=t.lastIndexOf(`:`);if(n!==-1&&n===t.indexOf(`:`)){let e=t.slice(0,n),r=Number.parseInt(t.slice(n+1),10);if(!Number.isNaN(r))return{host:e,port:r}}return{host:t,port:0}}function re(e,t,n){let r=k(`no_proxy`,n).toLowerCase();if(!r)return!0;if(r===`*`)return!1;let i=j(e.toLowerCase());return r.split(/[,\s]/).every(e=>{let n=ne(e);if(!n||n.port&&n.port!==t)return!0;let r=j(n.host);return r.startsWith(`*.`)?r=r.slice(2):(r.startsWith(`.`)||r.startsWith(`*`))&&(r=r.slice(1)),!r||!(i===r||i.endsWith(`.${r}`))})}function ie(e,t){let n=A(e);if(!n?.protocol||!n.host)return``;let r=n.protocol.split(`:`,1)[0];if(!re(j(n.hostname||n.host.replace(/:\d*$/,``)),Number.parseInt(n.port,10)||O[r]||0,t))return``;let i=k(`${r}_proxy`,t)||k(`all_proxy`,t);return i&&!i.includes(`://`)&&(i=`${r}://${i}`),i}var ae=`Unsupported proxy protocol. SOCKS and PAC proxy URLs are not supported; use an HTTP or HTTPS proxy URL.`;function oe(e,t){let n=ie(e,t);if(!n)return;let r;try{r=new URL(n)}catch(e){throw Error(`Invalid proxy URL ${JSON.stringify(n)}: ${e instanceof Error?e.message:String(e)}`)}if(r.protocol!==`http:`&&r.protocol!==`https:`)throw Error(`${ae} Got ${r.protocol}`);return r}var se=`https://chatgpt.com/backend-api`,ce=`https://api.openai.com/auth`,le=0,M=1e3,ue=6e4,de=15e3,fe=3,N=new Set([`openai`,`openai-codex`,`opencode`]),pe=1009,me=`websocket_connection_limit_reached`,he=`previous_response_not_found`,ge=new Set([`completed`,`incomplete`,`failed`,`cancelled`,`queued`,`in_progress`]);function P(e){if(e.stopReason===`pending`)throw Error(`Codex stream ended without a stop reason`);if(e.stopReason===`error`||e.stopReason===`aborted`)throw Error(e.errorMessage||`An unknown error occurred`)}function _e(e){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(e)}function ve(e,t){return e===429&&_e(t)?!1:e===429||e===500||e===502||e===503||e===504||/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(t)}function ye(e){let t=e.get(`retry-after-ms`);if(t!==null){let e=Number(t);if(Number.isFinite(e))return Math.max(0,e)}let n=e.get(`retry-after`);if(!n)return;let r=Number(n);if(Number.isFinite(r))return Math.max(0,r*1e3);let i=Date.parse(n);if(!Number.isNaN(i))return Math.max(0,i-Date.now())}var be=class extends Error{};function xe(e,t){let n=t?.maxRetryDelayMs??ue;if(n>0&&e>n)throw new be(`Server requested ${Math.ceil(e/1e3)}s retry delay (max: ${Math.ceil(n/1e3)}s)`);return e}function Se(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`))})})}function Ce(e){if(e!==void 0){if(!Number.isFinite(e)||e<0)throw Error(`Invalid timeoutMs: ${String(e)}`);return Math.floor(e)}}function we(){return typeof process>`u`||!(process.versions?.node||process.versions?.bun)?null:process.getBuiltinModule?.(`node:zlib`)??null}function Te(e){let t=we();if(!t||typeof t.zstdCompressSync!=`function`)return null;try{let n=t.zstdCompressSync(e,{params:{[t.constants.ZSTD_c_compressionLevel]:fe}});return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}catch{return null}}var F=(n,i,o)=>{let c=new e,l=a(i,n.compat?.supportsMidConvoSystemMessages);return(async()=>{let e={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:`pending`,timestamp:Date.now()};try{let i=o?.apiKey;if(!i)throw Error(`No API key for provider: ${n.provider}`);let a=st(i),u=p(s(l.messages),n.compat?.supportsOpenAIGrammarTools??!1),d=o?.cacheRetention===`none`?void 0:o?.sessionId,m=v(d),h=De(n,l,o,m,u),g=await o?.onPayload?.(h,n);g!==void 0&&(h=g);let _=m||ee(),y=lt(n.headers,o?.headers,a,i,m),b=ut(n.headers,o?.headers,a,i,_),x=JSON.stringify(h),S=Ce(o?.timeoutMs),C=Ce(o?.websocketConnectTimeoutMs),w=o?.transport||`auto`,T=!1,E=w!==`sse`&&J(d);if(E&&Y(d),w!==`sse`&&!E){let i=!1,s=!1,l=!1;for(;;){i=!1;try{if(await at(ke(n.baseUrl),h,b,e,c,n,()=>{i=!0,T||(T=!0,c.push({type:`start`,partial:e}))},S,C,d,a,u,o),o?.signal?.aborted)throw Error(`Request was aborted`);P(e),c.push({type:`done`,reason:e.stopReason,message:e}),c.end();return}catch(n){let a=o?.signal?.aborted,c=!i&&Me(n),u=Ne(n);if(!a&&u&&!l){l=!0;continue}if(!a&&c&&!s){s=!0;continue}if(a||je(n)&&!c||(r(e,t(`provider_transport_failure`,n,{configuredTransport:w,...i?{}:{fallbackTransport:`sse`},eventsEmitted:i,phase:i?`after_message_stream_start`:`before_message_stream_start`,requestBytes:new TextEncoder().encode(x).byteLength})),He(d,n),i))throw n;Y(d);break}}}let D=Te(x);D&&y.set(`content-encoding`,`zstd`);let O=D??x,k,A,j=o?.maxRetries??le;for(let e=0;e<=j;e++){if(o?.signal?.aborted)throw Error(`Request was aborted`);try{let t=S!==void 0&&S>0?AbortSignal.timeout(S):void 0,r=te([o?.signal,t]);try{k=await(o?.fetch??globalThis.fetch)(R(n.baseUrl),{method:`POST`,headers:y,body:O,signal:r.signal})}catch(e){throw t?.aborted&&!o?.signal?.aborted?Error(`Codex SSE response headers timed out after ${S}ms`):e}finally{r.cleanup()}if(await o?.onResponse?.({status:k.status,headers:f(k.headers)},n),k.ok)break;let i=await k.text();if(e<j&&ve(k.status,i)){let t=ye(k.headers);await Se(t===void 0?M*2**e:xe(t,o),o?.signal);continue}let a=await ot(new Response(i,{status:k.status,statusText:k.statusText}));throw Error(a.friendlyMessage||a.message)}catch(t){if(t instanceof Error&&(t.name===`AbortError`||t.message===`Request was aborted`))throw Error(`Request was aborted`);if(A=t instanceof Error?t:Error(String(t)),e<j&&!(A instanceof be)&&!A.message.includes(`usage limit`)){await Se(M*2**e,o?.signal);continue}throw A}}if(!k?.ok)throw A??Error(`Failed after retries`);if(!k.body)throw Error(`No response body`);if(T||(T=!0,c.push({type:`start`,partial:e})),await Ae(k,e,c,n,u,o),o?.signal?.aborted)throw Error(`Request was aborted`);P(e),c.push({type:`done`,reason:e.stopReason,message:e}),c.end()}catch(t){for(let t of e.content)delete t.partialJson,delete t.customInput;e.stopReason=o?.signal?.aborted?`aborted`:`error`,e.errorMessage=_(g(t)),c.push({type:`error`,reason:e.stopReason,error:e}),c.end()}})(),c},Ee=(e,t,n)=>{let r=n?.apiKey;if(!r)throw Error(`No API key for provider: ${e.provider}`);let i={...h(e,t,n,r),toolChoice:n?.toolChoice},a=n?.reasoning?c(e,n.reasoning):void 0,o=a===`off`?void 0:a;return F(e,t,{...i,reasoningEffort:o})};function De(e,t,n,r,i=p(s(t.messages),e.compat?.supportsOpenAIGrammarTools??!1)){let a=e.compat?.supportsStrictMode??!0,c=e.compat?.supportsOpenAIGrammarTools??!1,d=e.compat?.supportsAdditionalTools??!1,f=e.compat?.supportsToolSearch??!1,m=l(t.messages,d||f),h=x(e,t,N,{includeSystemPrompt:!1,grammarToolInputProperties:i,supportsMidConvoSystemMessages:e.compat?.supportsMidConvoSystemMessages??!1,supportsAdditionalTools:d,supportsToolSearch:f,toolOptions:{strict:null,supportsStrictMode:a,supportsOpenAIGrammarTools:c}}),g=u(t.messages),_=g?o(g):``,v={model:e.id,store:!1,stream:!0,instructions:_||`You are a helpful assistant.`,input:h,text:{verbosity:n?.textVerbosity||`low`},include:[`reasoning.encrypted_content`],prompt_cache_key:r,tool_choice:n?.toolChoice??`auto`,parallel_tool_calls:!0};if(n?.temperature!==void 0&&(v.temperature=n.temperature),n?.serviceTier!==void 0&&(v.service_tier=n.serviceTier),m.requestTools.length>0&&(v.tools=y(m.requestTools,{strict:null,supportsStrictMode:a,supportsOpenAIGrammarTools:c})),n?.reasoningEffort!==void 0){let t=n.reasoningEffort===`none`?e.thinkingLevelMap?.off===void 0?`none`:e.thinkingLevelMap.off:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;t!==null&&(v.reasoning={effort:t,summary:n.reasoningSummary??`auto`})}else e.reasoning&&e.thinkingLevelMap?.off!==null&&(v.reasoning={effort:e.thinkingLevelMap?.off??`none`});return v}function Oe(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function I(e,t,n){let r=Oe(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 L(e,t){return e==="default"&&(t===`flex`||t===`priority`)?t:e??t}function R(e){let t=(e&&e.trim().length>0?e:se).replace(/\/+$/,``);return t.endsWith(`/codex/responses`)?t:t.endsWith(`/codex`)?`${t}/responses`:`${t}/codex/responses`}function ke(e){let t=new URL(R(e));return t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}async function Ae(e,t,n,r,i,a){await b(H(Ie(e,a?.signal),t,r,a?.onProviderStreamEvent),t,n,r,{serviceTier:a?.serviceTier,grammarToolInputProperties:i,resolveServiceTier:L,applyServiceTierPricing:(e,t)=>I(e,t,r)})}var z=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}},B=class extends Error{payload;constructor(e,t){super(e),this.name=`CodexProtocolError`,this.payload=t?.payload,this.cause=t?.cause}},V=class extends Error{constructor(e){super(n(e)),this.name=`ProviderStreamEventCallbackError`,this.cause=e}};function je(e){return e instanceof z||e instanceof B||e instanceof V}function Me(e){return e instanceof z&&e.code===me}function Ne(e){return e instanceof z&&e.code===he}function Pe(e){let t=e.error&&typeof e.error==`object`?e.error:void 0;return{code:typeof e.code==`string`?e.code:typeof t?.code==`string`?t.code:void 0,message:typeof e.message==`string`?e.message:typeof t?.message==`string`?t.message:void 0}}async function*H(e,t,n,r){for await(let i of e){try{await r?.(i,n)}catch(e){throw new V(e)}let e=typeof i.type==`string`?i.type:void 0;if(e){if(e===`error`){let{code:e,message:t}=Pe(i);throw new z(`Codex error: ${t||e||JSON.stringify(i)}`,{code:e,payload:i})}if(e===`response.failed`){let e=i.response,t=e?.error?.code,n=e?.error?.message;throw new z(n||`Codex response failed`,{code:t,payload:i})}if(e===`response.done`||e===`response.completed`||e===`response.incomplete`){let e=i.response;typeof e?.end_turn==`boolean`&&(t.endTurn=e.end_turn);let n=e&&{...e,status:Fe(e.status)};yield{...i,type:`response.completed`,response:n};return}yield i}}}function Fe(e){if(typeof e==`string`)return ge.has(e)?e:void 0}async function*Ie(e,t){if(!e.body)return;let r=e.body.getReader(),i=new TextDecoder,a=``,o=()=>{r.cancel().catch(()=>{})};t?.addEventListener(`abort`,o,{once:!0});try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);let{done:e,value:o}=await r.read();if(t?.aborted)throw Error(`Request was aborted`);a+=e?i.decode():i.decode(o,{stream:!0}),e&&a.trim()&&(a+=`
|
|
2
2
|
|
|
3
3
|
`);let s=a.indexOf(`
|
|
4
4
|
|
|
@@ -6,4 +6,4 @@ import{i as e,n as t,r as n,t as r}from"./diagnostics-Cag7MsZI.js";import{f as i
|
|
|
6
6
|
`).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trim());if(t.length>0){let e=t.join(`
|
|
7
7
|
`).trim();if(e&&e!==`[DONE]`)try{yield JSON.parse(e)}catch(t){throw new B(`Invalid Codex SSE JSON: ${n(t)}`,{cause:t,payload:e})}}s=a.indexOf(`
|
|
8
8
|
|
|
9
|
-
`)}if(e)break}}finally{t?.removeEventListener(`abort`,o);try{await r.cancel()}catch{}try{r.releaseLock()}catch{}}}var Le=`responses_websockets=2026-02-06`,Re=3e5,ze=33e5,U=new Map,W=new Map,G=new Set;function K(e){let t=W.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},W.set(e,t)),t}function Be(e){let t=W.get(e);return t?{...t}:void 0}function Ve(e){if(e){W.delete(e),G.delete(e);return}W.clear(),G.clear()}function q(e){let t=e=>{e.idleTimer&&clearTimeout(e.idleTimer),Q(e.socket,1e3,`debug_close`)};if(e){for(let n of U.get(e)?.values()??[])t(n);U.delete(e);return}for(let e of U.values())for(let n of e.values())t(n);U.clear()}C(q);function J(e){return e?G.has(e):!1}function Y(e){if(!e)return;let t=K(e);t.sseFallbacks++,t.websocketFallbackActive=J(e)}function He(e,t){if(!e)return;G.add(e);let r=K(e);r.websocketFailures++,r.lastWebSocketError=n(t),r.websocketFallbackActive=!0}var X=null;async function Ue(e){if(!e&&X)return X;if(typeof process<`u`&&process.versions?.bun){let t=class extends WebSocket{constructor(t,n){let r={};r=Array.isArray(n)||typeof n==`string`?{protocols:n}:{...n};let i=oe(t.toString().replace(/^wss:/,`https:`).replace(/^ws:/,`http:`),e);super(t,{...r,...i?{proxy:i.toString()}:{}})}};return e||(X=t),t}let t=globalThis.WebSocket;return typeof t==`function`?t:null}var We=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 Ge(e){let t=e.readyState;return typeof t==`number`?t:void 0}function Z(e){let t=Ge(e);return t===void 0||t===1}function Ke(e){return Date.now()-e.createdAt>=ze}function Q(e,t=1e3,n=`done`){try{e.close(t,n)}catch{}}function qe(e,t,n){n.idleTimer&&clearTimeout(n.idleTimer),n.idleTimer=setTimeout(()=>{if(n.busy)return;Q(n.socket,1e3,`idle_timeout`);let r=U.get(e);r?.get(t)===n&&r.delete(t),r?.size===0&&U.delete(e)},Re)}async function $(e,t,n,r=de,i){let a=await Ue(i);if(!a)throw Error(`WebSocket transport is not available in this runtime`);let o=f(t);return delete o[`OpenAI-Beta`],new Promise((t,i)=>{let s=!1,c,l;try{l=new a(e,{headers:o})}catch(e){i(e instanceof Error?e:Error(String(e)));return}let u=()=>{c&&=(clearTimeout(c),void 0),l.removeEventListener(`open`,f),l.removeEventListener(`error`,p),l.removeEventListener(`close`,m),n?.removeEventListener(`abort`,h)},d=(e,t)=>{s||(s=!0,u(),t&&Q(l,1e3,t),i(e))},f=()=>{s||(s=!0,u(),t(l))},p=e=>{d(Ye(e))},m=e=>{d(Xe(e))},h=()=>{d(Error(`Request was aborted`),`aborted`)};l.addEventListener(`open`,f),l.addEventListener(`error`,p),l.addEventListener(`close`,m),n?.addEventListener(`abort`,h),r>0&&(c=setTimeout(()=>{d(Error(`WebSocket connect timeout after ${r}ms`),`connect_timeout`)},r)),n?.aborted&&h()})}async function Je(e,t,n,r,i,a,o){if(!n){let n=await $(e,t,i,a,o);return{socket:n,reused:!1,release:()=>Q(n)}}let s=U.get(n),c=s?.get(r);if(c){if(c.idleTimer&&=(clearTimeout(c.idleTimer),void 0),!c.busy&&Ke(c))Q(c.socket,1e3,`connection_age_limit`),s?.delete(r),s?.size===0&&U.delete(n);else if(!c.busy&&Z(c.socket))return c.busy=!0,{socket:c.socket,entry:c,reused:!0,release:({keep:e}={})=>{if(!e||!Z(c.socket)){Q(c.socket);let e=U.get(n);e?.get(r)===c&&e.delete(r),e?.size===0&&U.delete(n);return}c.busy=!1,qe(n,r,c)}};if(c.busy){let n=await $(e,t,i,a,o);return{socket:n,reused:!1,release:()=>{Q(n)}}}Z(c.socket)||(Q(c.socket),s?.delete(r),s?.size===0&&U.delete(n))}let l=await $(e,t,i,a,o),u={socket:l,busy:!0,createdAt:Date.now()};return s=U.get(n),s||(s=new Map,U.set(n,s)),s.set(r,u),{socket:l,entry:u,reused:!1,release:({keep:e}={})=>{if(!e||!Z(u.socket)){Q(u.socket),u.idleTimer&&clearTimeout(u.idleTimer);let e=U.get(n);e?.get(r)===u&&e.delete(r),e?.size===0&&U.delete(n);return}u.busy=!1,qe(n,r,u)}}}function Ye(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 Xe(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===pe&&(a=` message too big`),new We(`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 Ze(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*Qe(e,t,r){let i=[],a=null,o=!1,s=null,c=!1,l=()=>{if(!a)return;let e=a;a=null,e()},u=e=>{(async()=>{let t=null;try{if(!e||typeof e!=`object`||!(`data`in e)||(t=await Ze(e.data),!t))return;let n=JSON.parse(t),r=typeof n.type==`string`?n.type:``;(r===`response.completed`||r===`response.done`||r===`response.incomplete`)&&(c=!0,o=!0),i.push(n),l()}catch(e){s=new B(`Invalid Codex WebSocket JSON: ${n(e)}`,{cause:e,payload:t}),o=!0,l()}})()},d=e=>{s=Ye(e),o=!0,l()},f=e=>{if(c){o=!0,l();return}s||=Xe(e),o=!0,l()},p=()=>{s=Error(`Request was aborted`),o=!0,l()};e.addEventListener(`message`,u),e.addEventListener(`error`,d),e.addEventListener(`close`,f),t?.addEventListener(`abort`,p);try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);if(i.length>0){yield i.shift();continue}if(o)break;let n;await new Promise((t,i)=>{a=t,r!==void 0&&r>0&&(n=setTimeout(()=>{let t=Error(`WebSocket idle timeout after ${r}ms`);s=t,o=!0,a=null,Q(e,1e3,`idle_timeout`),i(t)},r))}).finally(()=>{n&&clearTimeout(n)})}if(s)throw s;if(!c)throw Error(`WebSocket stream closed before response.completed`)}finally{e.removeEventListener(`message`,u),e.removeEventListener(`error`,d),e.removeEventListener(`close`,f),t?.removeEventListener(`abort`,p)}}function $e(e){let{input:t,previous_response_id:n,...r}=e;return r}function et(e,t){return JSON.stringify(e??[])===JSON.stringify(t??[])}function tt(e,t){return JSON.stringify($e(e))===JSON.stringify($e(t))}function nt(e,t){if(!tt(e,t.lastRequestBody))return;let n=e.input??[],r=[...t.lastRequestBody.input??[],...t.lastResponseItems];if(!(n.length<r.length)&&et(n.slice(0,r.length),r))return n.slice(r.length)}function rt(e,t){let n=e.continuation;if(!n)return t;let r=nt(t,n);return!r||!n.lastResponseId?(e.continuation=void 0,t):{...t,previous_response_id:n.lastResponseId,input:r}}async function*it(e,t){let n=!1;for await(let r of e)n||(n=!0,t()),yield r}async function at(e,t,n,r,a,o,s,c,l,u,d,f,p){let{socket:m,entry:h,reused:g,release:_}=await Je(e,n,u,d,p?.signal,l,p?.env),v=!0,y=p?.transport===`websocket-cached`||p?.transport===`auto`,S=t,C=y&&h?rt(h,S):S,w=u?K(u):void 0;w&&(w.requests++,g?w.connectionsReused++:w.connectionsCreated++,y&&w.cachedContextRequests++,C.store===!0&&w.storeTrueRequests++,w.lastInputItems=C.input?.length??0,C.previous_response_id?(w.deltaRequests++,w.lastDeltaInputItems=C.input?.length??0,w.lastPreviousResponseId=C.previous_response_id):(w.fullContextRequests++,w.lastDeltaInputItems=void 0,w.lastPreviousResponseId=void 0));try{if(m.send(JSON.stringify({type:`response.create`,...C})),await b(it(H(Qe(m,p?.signal,c),r,o,p?.onProviderStreamEvent),s),r,a,o,{serviceTier:p?.serviceTier,grammarToolInputProperties:f,resolveServiceTier:L,applyServiceTierPricing:(e,t)=>I(e,t,o)}),p?.signal?.aborted)v=!1;else if(y&&h&&r.responseId){let e=x(o,i({messages:[r]}),N,{includeSystemPrompt:!1,grammarToolInputProperties:f}).filter(e=>e.type!==`function_call_output`&&e.type!==`custom_tool_call_output`);h.continuation={lastRequestBody:S,lastResponseId:r.responseId,lastResponseItems:e}}}catch(e){throw h&&(h.continuation=void 0),v=!1,e}finally{_({keep:v})}}async function ot(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 st(e){try{let t=e.split(`.`);if(t.length!==3)throw Error(`Invalid token`);let n=JSON.parse(atob(t[1]))?.[ce]?.chatgpt_account_id;if(!n)throw Error(`No account ID in token`);return n}catch{throw Error(`Failed to extract accountId from token`)}}function ct(e,t,n,r){let i=new Headers(e);for(let[e,n]of Object.entries(t||{}))n===null?i.delete(e):i.set(e,n);return i.set(`Authorization`,`Bearer ${r}`),i.set(`chatgpt-account-id`,n),i
|
|
9
|
+
`)}if(e)break}}finally{t?.removeEventListener(`abort`,o);try{await r.cancel()}catch{}try{r.releaseLock()}catch{}}}var Le=`responses_websockets=2026-02-06`,Re=3e5,ze=33e5,U=new Map,W=new Map,G=new Set;function K(e){let t=W.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},W.set(e,t)),t}function Be(e){let t=W.get(e);return t?{...t}:void 0}function Ve(e){if(e){W.delete(e),G.delete(e);return}W.clear(),G.clear()}function q(e){let t=e=>{e.idleTimer&&clearTimeout(e.idleTimer),Q(e.socket,1e3,`debug_close`)};if(e){for(let n of U.get(e)?.values()??[])t(n);U.delete(e);return}for(let e of U.values())for(let n of e.values())t(n);U.clear()}C(q);function J(e){return e?G.has(e):!1}function Y(e){if(!e)return;let t=K(e);t.sseFallbacks++,t.websocketFallbackActive=J(e)}function He(e,t){if(!e)return;G.add(e);let r=K(e);r.websocketFailures++,r.lastWebSocketError=n(t),r.websocketFallbackActive=!0}var X=null;async function Ue(e){if(!e&&X)return X;if(typeof process<`u`&&process.versions?.bun){let t=class extends WebSocket{constructor(t,n){let r={};r=Array.isArray(n)||typeof n==`string`?{protocols:n}:{...n};let i=oe(t.toString().replace(/^wss:/,`https:`).replace(/^ws:/,`http:`),e);super(t,{...r,...i?{proxy:i.toString()}:{}})}};return e||(X=t),t}let t=globalThis.WebSocket;return typeof t==`function`?t:null}var We=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 Ge(e){let t=e.readyState;return typeof t==`number`?t:void 0}function Z(e){let t=Ge(e);return t===void 0||t===1}function Ke(e){return Date.now()-e.createdAt>=ze}function Q(e,t=1e3,n=`done`){try{e.close(t,n)}catch{}}function qe(e,t,n){n.idleTimer&&clearTimeout(n.idleTimer),n.idleTimer=setTimeout(()=>{if(n.busy)return;Q(n.socket,1e3,`idle_timeout`);let r=U.get(e);r?.get(t)===n&&r.delete(t),r?.size===0&&U.delete(e)},Re)}async function $(e,t,n,r=de,i){let a=await Ue(i);if(!a)throw Error(`WebSocket transport is not available in this runtime`);let o=f(t);return delete o[`OpenAI-Beta`],new Promise((t,i)=>{let s=!1,c,l;try{l=new a(e,{headers:o})}catch(e){i(e instanceof Error?e:Error(String(e)));return}let u=()=>{c&&=(clearTimeout(c),void 0),l.removeEventListener(`open`,f),l.removeEventListener(`error`,p),l.removeEventListener(`close`,m),n?.removeEventListener(`abort`,h)},d=(e,t)=>{s||(s=!0,u(),t&&Q(l,1e3,t),i(e))},f=()=>{s||(s=!0,u(),t(l))},p=e=>{d(Ye(e))},m=e=>{d(Xe(e))},h=()=>{d(Error(`Request was aborted`),`aborted`)};l.addEventListener(`open`,f),l.addEventListener(`error`,p),l.addEventListener(`close`,m),n?.addEventListener(`abort`,h),r>0&&(c=setTimeout(()=>{d(Error(`WebSocket connect timeout after ${r}ms`),`connect_timeout`)},r)),n?.aborted&&h()})}async function Je(e,t,n,r,i,a,o){if(!n){let n=await $(e,t,i,a,o);return{socket:n,reused:!1,release:()=>Q(n)}}let s=U.get(n),c=s?.get(r);if(c){if(c.idleTimer&&=(clearTimeout(c.idleTimer),void 0),!c.busy&&Ke(c))Q(c.socket,1e3,`connection_age_limit`),s?.delete(r),s?.size===0&&U.delete(n);else if(!c.busy&&Z(c.socket))return c.busy=!0,{socket:c.socket,entry:c,reused:!0,release:({keep:e}={})=>{if(!e||!Z(c.socket)){Q(c.socket);let e=U.get(n);e?.get(r)===c&&e.delete(r),e?.size===0&&U.delete(n);return}c.busy=!1,qe(n,r,c)}};if(c.busy){let n=await $(e,t,i,a,o);return{socket:n,reused:!1,release:()=>{Q(n)}}}Z(c.socket)||(Q(c.socket),s?.delete(r),s?.size===0&&U.delete(n))}let l=await $(e,t,i,a,o),u={socket:l,busy:!0,createdAt:Date.now()};return s=U.get(n),s||(s=new Map,U.set(n,s)),s.set(r,u),{socket:l,entry:u,reused:!1,release:({keep:e}={})=>{if(!e||!Z(u.socket)){Q(u.socket),u.idleTimer&&clearTimeout(u.idleTimer);let e=U.get(n);e?.get(r)===u&&e.delete(r),e?.size===0&&U.delete(n);return}u.busy=!1,qe(n,r,u)}}}function Ye(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 Xe(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===pe&&(a=` message too big`),new We(`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 Ze(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*Qe(e,t,r){let i=[],a=null,o=!1,s=null,c=!1,l=()=>{if(!a)return;let e=a;a=null,e()},u=e=>{(async()=>{let t=null;try{if(!e||typeof e!=`object`||!(`data`in e)||(t=await Ze(e.data),!t))return;let n=JSON.parse(t),r=typeof n.type==`string`?n.type:``;(r===`response.completed`||r===`response.done`||r===`response.incomplete`)&&(c=!0,o=!0),i.push(n),l()}catch(e){s=new B(`Invalid Codex WebSocket JSON: ${n(e)}`,{cause:e,payload:t}),o=!0,l()}})()},d=e=>{s=Ye(e),o=!0,l()},f=e=>{if(c){o=!0,l();return}s||=Xe(e),o=!0,l()},p=()=>{s=Error(`Request was aborted`),o=!0,l()};e.addEventListener(`message`,u),e.addEventListener(`error`,d),e.addEventListener(`close`,f),t?.addEventListener(`abort`,p);try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);if(i.length>0){yield i.shift();continue}if(o)break;let n;await new Promise((t,i)=>{a=t,r!==void 0&&r>0&&(n=setTimeout(()=>{let t=Error(`WebSocket idle timeout after ${r}ms`);s=t,o=!0,a=null,Q(e,1e3,`idle_timeout`),i(t)},r))}).finally(()=>{n&&clearTimeout(n)})}if(s)throw s;if(!c)throw Error(`WebSocket stream closed before response.completed`)}finally{e.removeEventListener(`message`,u),e.removeEventListener(`error`,d),e.removeEventListener(`close`,f),t?.removeEventListener(`abort`,p)}}function $e(e){let{input:t,previous_response_id:n,...r}=e;return r}function et(e,t){return JSON.stringify(e??[])===JSON.stringify(t??[])}function tt(e,t){return JSON.stringify($e(e))===JSON.stringify($e(t))}function nt(e,t){if(!tt(e,t.lastRequestBody))return;let n=e.input??[],r=[...t.lastRequestBody.input??[],...t.lastResponseItems];if(!(n.length<r.length)&&et(n.slice(0,r.length),r))return n.slice(r.length)}function rt(e,t){let n=e.continuation;if(!n)return t;let r=nt(t,n);return!r||!n.lastResponseId?(e.continuation=void 0,t):{...t,previous_response_id:n.lastResponseId,input:r}}async function*it(e,t){let n=!1;for await(let r of e)n||(n=!0,t()),yield r}async function at(e,t,n,r,a,o,s,c,l,u,d,f,p){let{socket:m,entry:h,reused:g,release:_}=await Je(e,n,u,d,p?.signal,l,p?.env),v=!0,y=p?.transport===`websocket-cached`||p?.transport===`auto`,S=t,C=y&&h?rt(h,S):S,w=u?K(u):void 0;w&&(w.requests++,g?w.connectionsReused++:w.connectionsCreated++,y&&w.cachedContextRequests++,C.store===!0&&w.storeTrueRequests++,w.lastInputItems=C.input?.length??0,C.previous_response_id?(w.deltaRequests++,w.lastDeltaInputItems=C.input?.length??0,w.lastPreviousResponseId=C.previous_response_id):(w.fullContextRequests++,w.lastDeltaInputItems=void 0,w.lastPreviousResponseId=void 0));try{if(m.send(JSON.stringify({type:`response.create`,...C})),await b(it(H(Qe(m,p?.signal,c),r,o,p?.onProviderStreamEvent),s),r,a,o,{serviceTier:p?.serviceTier,grammarToolInputProperties:f,resolveServiceTier:L,applyServiceTierPricing:(e,t)=>I(e,t,o)}),p?.signal?.aborted)v=!1;else if(y&&h&&r.responseId){let e=x(o,i({messages:[r]}),N,{includeSystemPrompt:!1,grammarToolInputProperties:f}).filter(e=>e.type!==`function_call_output`&&e.type!==`custom_tool_call_output`);h.continuation={lastRequestBody:S,lastResponseId:r.responseId,lastResponseItems:e}}}catch(e){throw h&&(h.continuation=void 0),v=!1,e}finally{_({keep:v})}}async function ot(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 st(e){try{let t=e.split(`.`);if(t.length!==3)throw Error(`Invalid token`);let n=JSON.parse(atob(t[1]))?.[ce]?.chatgpt_account_id;if(!n)throw Error(`No account ID in token`);return n}catch{throw Error(`Failed to extract accountId from token`)}}function ct(e,t,n,r){let i=new Headers({originator:`pi`,"User-Agent":m()});for(let[t,n]of Object.entries(e||{}))i.set(t,n);for(let[e,n]of Object.entries(t||{}))n===null?i.delete(e):i.set(e,n);return i.set(`Authorization`,`Bearer ${r}`),i.set(`chatgpt-account-id`,n),i}function lt(e,t,n,r,i){let a=ct(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 ut(e,t,n,r,i){let a=ct(e,t,n,r);return a.delete(`accept`),a.delete(`content-type`),a.delete(`OpenAI-Beta`),a.delete(`openai-beta`),a.set(`OpenAI-Beta`,Le),a.set(`x-client-request-id`,i),a.set(`session-id`,i),a}export{q as closeOpenAICodexWebSocketSessions,Be as getOpenAICodexWebSocketDebugStats,Ve as resetOpenAICodexWebSocketDebugStats,F as stream,Ee as streamSimple};
|
package/dist/ui/assets/{openai-codex-responses-N8ybD_eh.js → openai-codex-responses-D_RW7WEX.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e,n as t,r as n,t as r}from"./diagnostics-Cag7MsZI.js";import{_ as i,b as a,d as o,f as s,g as c,h as l,n as u}from"./models-CET5SEuw.js";import{t as d}from"./provider-env-CILujRmO.js";import{t as f}from"./headers-FK4rgixo.js";import{n as p,s as m}from"./constrained-sampling-auYJ_zjz.js";import{r as h}from"./transform-messages-BeurHGV0.js";import{n as g,t as _}from"./error-body-pkrba6pf.js";import{t as v}from"./openai-prompt-cache-DXo9f3w5.js";import{n as y,r as b,t as x}from"./openai-responses-shared-yguGWfYx.js";const S=new Set;function C(e){return S.add(e),()=>{S.delete(e)}}const w=0xffffffffffff,T=(1n<<41n)-1n;let E=-1,D;function ee(e){let t=e??Date.now();if(!Number.isInteger(t)||t<0||t>w)throw RangeError(`UUIDv7 timestamp must be an integer between 0 and ${w}`);let n=e===void 0?Math.max(t,E):e;e===void 0&&(E=n);let r=new Uint8Array(16);if(globalThis.crypto.getRandomValues(r),D===void 0)D=BigInt(r[1])<<32n|BigInt(r[2])<<24n|BigInt(r[3])<<16n|BigInt(r[4])<<8n|BigInt(r[5]);else{if(D===T)throw RangeError(`UUIDv7 generator sequence exhausted`);D++}let i=BigInt(n);for(let e=5;e>=0;e--)r[e]=Number(i>>BigInt((5-e)*8))&255;r[6]=112|Number(D>>37n&15n),r[7]=Number(D>>29n&255n),r[8]=128|Number(D>>23n&63n),r[9]=Number(D>>15n&255n),r[10]=Number(D>>7n&255n),r[11]=Number((D&127n)<<1n)|r[11]&1;let a=Array.from(r,e=>e.toString(16).padStart(2,`0`));return`${a.slice(0,4).join(``)}-${a.slice(4,6).join(``)}-${a.slice(6,8).join(``)}-${a.slice(8,10).join(``)}-${a.slice(10).join(``)}`}function te(e){let t=e.filter(e=>e!==void 0);if(t.length===0)return{cleanup:()=>{}};if(t.length===1)return{signal:t[0],cleanup:()=>{}};let n=new AbortController,r=[],i=e=>{n.signal.aborted||n.abort(e.reason)};for(let e of t){if(e.aborted){i(e);break}let t=()=>i(e);e.addEventListener(`abort`,t,{once:!0}),r.push({signal:e,listener:t})}return{signal:n.signal,cleanup:()=>{for(let{signal:e,listener:t}of r)e.removeEventListener(`abort`,t)}}}const O={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function k(e,t){let n=e.toLowerCase(),r=e.toUpperCase();return t?.[n]||t?.[r]||d(n)||d(r)||``}function A(e){if(e instanceof URL)return e;try{return new URL(e)}catch{return}}function j(e){return e.startsWith(`[`)&&e.endsWith(`]`)?e.slice(1,-1):e}function ne(e){let t=e.trim().toLowerCase();if(!t)return;if(t.startsWith(`[`)){let e=t.indexOf(`]`);if(e!==-1){let n=t.slice(1,e),r=t.slice(e+1);if(r.startsWith(`:`)){let e=Number.parseInt(r.slice(1),10);return{host:n,port:Number.isNaN(e)?0:e}}return{host:n,port:0}}}if(t.includes(`:`)&&t.split(`:`).length>2)return{host:t,port:0};let n=t.lastIndexOf(`:`);if(n!==-1&&n===t.indexOf(`:`)){let e=t.slice(0,n),r=Number.parseInt(t.slice(n+1),10);if(!Number.isNaN(r))return{host:e,port:r}}return{host:t,port:0}}function re(e,t,n){let r=k(`no_proxy`,n).toLowerCase();if(!r)return!0;if(r===`*`)return!1;let i=j(e.toLowerCase());return r.split(/[,\s]/).every(e=>{let n=ne(e);if(!n||n.port&&n.port!==t)return!0;let r=j(n.host);return r.startsWith(`*.`)?r=r.slice(2):(r.startsWith(`.`)||r.startsWith(`*`))&&(r=r.slice(1)),!r||!(i===r||i.endsWith(`.${r}`))})}function ie(e,t){let n=A(e);if(!n?.protocol||!n.host)return``;let r=n.protocol.split(`:`,1)[0];if(!re(j(n.hostname||n.host.replace(/:\d*$/,``)),Number.parseInt(n.port,10)||O[r]||0,t))return``;let i=k(`${r}_proxy`,t)||k(`all_proxy`,t);return i&&!i.includes(`://`)&&(i=`${r}://${i}`),i}function ae(e,t){let n=ie(e,t);if(!n)return;let r;try{r=new URL(n)}catch(e){throw Error(`Invalid proxy URL ${JSON.stringify(n)}: ${e instanceof Error?e.message:String(e)}`)}if(r.protocol!==`http:`&&r.protocol!==`https:`)throw Error(`Unsupported proxy protocol. SOCKS and PAC proxy URLs are not supported; use an HTTP or HTTPS proxy URL. Got ${r.protocol}`);return r}const M=1e3,N=new Set([`openai`,`openai-codex`,`opencode`]),oe=new Set([`completed`,`incomplete`,`failed`,`cancelled`,`queued`,`in_progress`]);function P(e){if(e.stopReason===`pending`)throw Error(`Codex stream ended without a stop reason`);if(e.stopReason===`error`||e.stopReason===`aborted`)throw Error(e.errorMessage||`An unknown error occurred`)}function se(e){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(e)}function ce(e,t){return e===429&&se(t)?!1:e===429||e===500||e===502||e===503||e===504||/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(t)}function le(e){let t=e.get(`retry-after-ms`);if(t!==null){let e=Number(t);if(Number.isFinite(e))return Math.max(0,e)}let n=e.get(`retry-after`);if(!n)return;let r=Number(n);if(Number.isFinite(r))return Math.max(0,r*1e3);let i=Date.parse(n);if(!Number.isNaN(i))return Math.max(0,i-Date.now())}var ue=class extends Error{};function de(e,t){let n=t?.maxRetryDelayMs??6e4;if(n>0&&e>n)throw new ue(`Server requested ${Math.ceil(e/1e3)}s retry delay (max: ${Math.ceil(n/1e3)}s)`);return e}function fe(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`))})})}function pe(e){if(e!==void 0){if(!Number.isFinite(e)||e<0)throw Error(`Invalid timeoutMs: ${String(e)}`);return Math.floor(e)}}function me(){return typeof process>`u`||!(process.versions?.node||process.versions?.bun)?null:process.getBuiltinModule?.(`node:zlib`)??null}function he(e){let t=me();if(!t||typeof t.zstdCompressSync!=`function`)return null;try{let n=t.zstdCompressSync(e,{params:{[t.constants.ZSTD_c_compressionLevel]:3}});return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}catch{return null}}const F=(n,i,a)=>{let s=new e,l=c(i,n.compat?.supportsMidConvoSystemMessages);return(async()=>{let e={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:`pending`,timestamp:Date.now()};try{let i=a?.apiKey;if(!i)throw Error(`No API key for provider: ${n.provider}`);let c=Je(i),u=p(o(l.messages),n.compat?.supportsOpenAIGrammarTools??!1),d=a?.cacheRetention===`none`?void 0:a?.sessionId,m=v(d),h=_e(n,l,a,m,u),g=await a?.onPayload?.(h,n);g!==void 0&&(h=g);let _=m||ee(),y=Xe(n.headers,a?.headers,c,i,m),b=Ze(n.headers,a?.headers,c,i,_),x=JSON.stringify(h),S=pe(a?.timeoutMs),C=pe(a?.websocketConnectTimeoutMs),w=a?.transport||`auto`,T=!1,E=w!==`sse`&&J(d);if(E&&Y(d),w!==`sse`&&!E){let i=!1,o=!1,l=!1;for(;;){i=!1;try{if(await Ke(ye(n.baseUrl),h,b,e,s,n,()=>{i=!0,T||(T=!0,s.push({type:`start`,partial:e}))},S,C,d,c,u,a),a?.signal?.aborted)throw Error(`Request was aborted`);P(e),s.push({type:`done`,reason:e.stopReason,message:e}),s.end();return}catch(n){let s=a?.signal?.aborted,c=!i&&Se(n),u=Ce(n);if(!s&&u&&!l){l=!0;continue}if(!s&&c&&!o){o=!0;continue}if(s||xe(n)&&!c||(r(e,t(`provider_transport_failure`,n,{configuredTransport:w,...i?{}:{fallbackTransport:`sse`},eventsEmitted:i,phase:i?`after_message_stream_start`:`before_message_stream_start`,requestBytes:new TextEncoder().encode(x).byteLength})),ke(d,n),i))throw n;Y(d);break}}}let D=he(x);D&&y.set(`content-encoding`,`zstd`);let O=D??x,k,A,j=a?.maxRetries??0;for(let e=0;e<=j;e++){if(a?.signal?.aborted)throw Error(`Request was aborted`);try{let t=S!==void 0&&S>0?AbortSignal.timeout(S):void 0,r=te([a?.signal,t]);try{k=await(a?.fetch??globalThis.fetch)(R(n.baseUrl),{method:`POST`,headers:y,body:O,signal:r.signal})}catch(e){throw t?.aborted&&!a?.signal?.aborted?Error(`Codex SSE response headers timed out after ${S}ms`):e}finally{r.cleanup()}if(await a?.onResponse?.({status:k.status,headers:f(k.headers)},n),k.ok)break;let i=await k.text();if(e<j&&ce(k.status,i)){let t=le(k.headers);await fe(t===void 0?M*2**e:de(t,a),a?.signal);continue}let o=await qe(new Response(i,{status:k.status,statusText:k.statusText}));throw Error(o.friendlyMessage||o.message)}catch(t){if(t instanceof Error&&(t.name===`AbortError`||t.message===`Request was aborted`))throw Error(`Request was aborted`);if(A=t instanceof Error?t:Error(String(t)),e<j&&!(A instanceof ue)&&!A.message.includes(`usage limit`)){await fe(M*2**e,a?.signal);continue}throw A}}if(!k?.ok)throw A??Error(`Failed after retries`);if(!k.body)throw Error(`No response body`);if(T||(T=!0,s.push({type:`start`,partial:e})),await be(k,e,s,n,u,a),a?.signal?.aborted)throw Error(`Request was aborted`);P(e),s.push({type:`done`,reason:e.stopReason,message:e}),s.end()}catch(t){for(let t of e.content)delete t.partialJson,delete t.customInput;e.stopReason=a?.signal?.aborted?`aborted`:`error`,e.errorMessage=_(g(t)),s.push({type:`error`,reason:e.stopReason,error:e}),s.end()}})(),s},ge=(e,t,n)=>{let r=n?.apiKey;if(!r)throw Error(`No API key for provider: ${e.provider}`);let i={...h(e,t,n,r),toolChoice:n?.toolChoice},a=n?.reasoning?u(e,n.reasoning):void 0,o=a===`off`?void 0:a;return F(e,t,{...i,reasoningEffort:o})};function _e(e,t,n,r,c=p(o(t.messages),e.compat?.supportsOpenAIGrammarTools??!1)){let l=e.compat?.supportsStrictMode??!0,u=e.compat?.supportsOpenAIGrammarTools??!1,d=e.compat?.supportsAdditionalTools??!1,f=e.compat?.supportsToolSearch??!1,m=i(t.messages,d||f),h=x(e,t,N,{includeSystemPrompt:!1,grammarToolInputProperties:c,supportsMidConvoSystemMessages:e.compat?.supportsMidConvoSystemMessages??!1,supportsAdditionalTools:d,supportsToolSearch:f,toolOptions:{strict:null,supportsStrictMode:l,supportsOpenAIGrammarTools:u}}),g=s(t.messages),_=g?a(g):``,v={model:e.id,store:!1,stream:!0,instructions:_||`You are a helpful assistant.`,input:h,text:{verbosity:n?.textVerbosity||`low`},include:[`reasoning.encrypted_content`],prompt_cache_key:r,tool_choice:n?.toolChoice??`auto`,parallel_tool_calls:!0};if(n?.temperature!==void 0&&(v.temperature=n.temperature),n?.serviceTier!==void 0&&(v.service_tier=n.serviceTier),m.requestTools.length>0&&(v.tools=y(m.requestTools,{strict:null,supportsStrictMode:l,supportsOpenAIGrammarTools:u})),n?.reasoningEffort!==void 0){let t=n.reasoningEffort===`none`?e.thinkingLevelMap?.off===void 0?`none`:e.thinkingLevelMap.off:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;t!==null&&(v.reasoning={effort:t,summary:n.reasoningSummary??`auto`})}else e.reasoning&&e.thinkingLevelMap?.off!==null&&(v.reasoning={effort:e.thinkingLevelMap?.off??`none`});return v}function ve(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function I(e,t,n){let r=ve(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 L(e,t){return e==="default"&&(t===`flex`||t===`priority`)?t:e??t}function R(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 ye(e){let t=new URL(R(e));return t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}async function be(e,t,n,r,i,a){await b(H(Ee(e,a?.signal),t,r,a?.onProviderStreamEvent),t,n,r,{serviceTier:a?.serviceTier,grammarToolInputProperties:i,resolveServiceTier:L,applyServiceTierPricing:(e,t)=>I(e,t,r)})}var z=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}},B=class extends Error{payload;constructor(e,t){super(e),this.name=`CodexProtocolError`,this.payload=t?.payload,this.cause=t?.cause}},V=class extends Error{constructor(e){super(n(e)),this.name=`ProviderStreamEventCallbackError`,this.cause=e}};function xe(e){return e instanceof z||e instanceof B||e instanceof V}function Se(e){return e instanceof z&&e.code===`websocket_connection_limit_reached`}function Ce(e){return e instanceof z&&e.code===`previous_response_not_found`}function we(e){let t=e.error&&typeof e.error==`object`?e.error:void 0;return{code:typeof e.code==`string`?e.code:typeof t?.code==`string`?t.code:void 0,message:typeof e.message==`string`?e.message:typeof t?.message==`string`?t.message:void 0}}async function*H(e,t,n,r){for await(let i of e){try{await r?.(i,n)}catch(e){throw new V(e)}let e=typeof i.type==`string`?i.type:void 0;if(e){if(e===`error`){let{code:e,message:t}=we(i);throw new z(`Codex error: ${t||e||JSON.stringify(i)}`,{code:e,payload:i})}if(e===`response.failed`){let e=i.response,t=e?.error?.code,n=e?.error?.message;throw new z(n||`Codex response failed`,{code:t,payload:i})}if(e===`response.done`||e===`response.completed`||e===`response.incomplete`){let e=i.response;typeof e?.end_turn==`boolean`&&(t.endTurn=e.end_turn);let n=e&&{...e,status:Te(e.status)};yield{...i,type:`response.completed`,response:n};return}yield i}}}function Te(e){if(typeof e==`string`)return oe.has(e)?e:void 0}async function*Ee(e,t){if(!e.body)return;let r=e.body.getReader(),i=new TextDecoder,a=``,o=()=>{r.cancel().catch(()=>{})};t?.addEventListener(`abort`,o,{once:!0});try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);let{done:e,value:o}=await r.read();if(t?.aborted)throw Error(`Request was aborted`);a+=e?i.decode():i.decode(o,{stream:!0}),e&&a.trim()&&(a+=`
|
|
1
|
+
import{i as e,n as t,r as n,t as r}from"./diagnostics-B-5VkVir.js";import{d as i,f as a,g as o,h as s,m as c,n as l,y as u}from"./models-DMUS_WIm.js";import{t as d}from"./provider-env-CILujRmO.js";import{t as f}from"./headers-FK4rgixo.js";import{n as p,s as m}from"./constrained-sampling-auYJ_zjz.js";import{r as h}from"./transform-messages-DuvHh3qm.js";import{n as g,t as _}from"./error-body-pkrba6pf.js";import{t as v}from"./openai-prompt-cache-DXo9f3w5.js";import{n as y,r as b,t as x}from"./openai-responses-shared-BvBjbnyp.js";const S=new Set;function C(e){return S.add(e),()=>{S.delete(e)}}const w=0xffffffffffff,T=(1n<<41n)-1n;let E=-1,D;function ee(e){let t=e??Date.now();if(!Number.isInteger(t)||t<0||t>w)throw RangeError(`UUIDv7 timestamp must be an integer between 0 and ${w}`);let n=e===void 0?Math.max(t,E):e;e===void 0&&(E=n);let r=new Uint8Array(16);if(globalThis.crypto.getRandomValues(r),D===void 0)D=BigInt(r[1])<<32n|BigInt(r[2])<<24n|BigInt(r[3])<<16n|BigInt(r[4])<<8n|BigInt(r[5]);else{if(D===T)throw RangeError(`UUIDv7 generator sequence exhausted`);D++}let i=BigInt(n);for(let e=5;e>=0;e--)r[e]=Number(i>>BigInt((5-e)*8))&255;r[6]=112|Number(D>>37n&15n),r[7]=Number(D>>29n&255n),r[8]=128|Number(D>>23n&63n),r[9]=Number(D>>15n&255n),r[10]=Number(D>>7n&255n),r[11]=Number((D&127n)<<1n)|r[11]&1;let a=Array.from(r,e=>e.toString(16).padStart(2,`0`));return`${a.slice(0,4).join(``)}-${a.slice(4,6).join(``)}-${a.slice(6,8).join(``)}-${a.slice(8,10).join(``)}-${a.slice(10).join(``)}`}function te(e){let t=e.filter(e=>e!==void 0);if(t.length===0)return{cleanup:()=>{}};if(t.length===1)return{signal:t[0],cleanup:()=>{}};let n=new AbortController,r=[],i=e=>{n.signal.aborted||n.abort(e.reason)};for(let e of t){if(e.aborted){i(e);break}let t=()=>i(e);e.addEventListener(`abort`,t,{once:!0}),r.push({signal:e,listener:t})}return{signal:n.signal,cleanup:()=>{for(let{signal:e,listener:t}of r)e.removeEventListener(`abort`,t)}}}const O={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function k(e,t){let n=e.toLowerCase(),r=e.toUpperCase();return t?.[n]||t?.[r]||d(n)||d(r)||``}function A(e){if(e instanceof URL)return e;try{return new URL(e)}catch{return}}function j(e){return e.startsWith(`[`)&&e.endsWith(`]`)?e.slice(1,-1):e}function ne(e){let t=e.trim().toLowerCase();if(!t)return;if(t.startsWith(`[`)){let e=t.indexOf(`]`);if(e!==-1){let n=t.slice(1,e),r=t.slice(e+1);if(r.startsWith(`:`)){let e=Number.parseInt(r.slice(1),10);return{host:n,port:Number.isNaN(e)?0:e}}return{host:n,port:0}}}if(t.includes(`:`)&&t.split(`:`).length>2)return{host:t,port:0};let n=t.lastIndexOf(`:`);if(n!==-1&&n===t.indexOf(`:`)){let e=t.slice(0,n),r=Number.parseInt(t.slice(n+1),10);if(!Number.isNaN(r))return{host:e,port:r}}return{host:t,port:0}}function re(e,t,n){let r=k(`no_proxy`,n).toLowerCase();if(!r)return!0;if(r===`*`)return!1;let i=j(e.toLowerCase());return r.split(/[,\s]/).every(e=>{let n=ne(e);if(!n||n.port&&n.port!==t)return!0;let r=j(n.host);return r.startsWith(`*.`)?r=r.slice(2):(r.startsWith(`.`)||r.startsWith(`*`))&&(r=r.slice(1)),!r||!(i===r||i.endsWith(`.${r}`))})}function ie(e,t){let n=A(e);if(!n?.protocol||!n.host)return``;let r=n.protocol.split(`:`,1)[0];if(!re(j(n.hostname||n.host.replace(/:\d*$/,``)),Number.parseInt(n.port,10)||O[r]||0,t))return``;let i=k(`${r}_proxy`,t)||k(`all_proxy`,t);return i&&!i.includes(`://`)&&(i=`${r}://${i}`),i}function ae(e,t){let n=ie(e,t);if(!n)return;let r;try{r=new URL(n)}catch(e){throw Error(`Invalid proxy URL ${JSON.stringify(n)}: ${e instanceof Error?e.message:String(e)}`)}if(r.protocol!==`http:`&&r.protocol!==`https:`)throw Error(`Unsupported proxy protocol. SOCKS and PAC proxy URLs are not supported; use an HTTP or HTTPS proxy URL. Got ${r.protocol}`);return r}const M=1e3,N=new Set([`openai`,`openai-codex`,`opencode`]),oe=new Set([`completed`,`incomplete`,`failed`,`cancelled`,`queued`,`in_progress`]);function P(e){if(e.stopReason===`pending`)throw Error(`Codex stream ended without a stop reason`);if(e.stopReason===`error`||e.stopReason===`aborted`)throw Error(e.errorMessage||`An unknown error occurred`)}function se(e){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(e)}function ce(e,t){return e===429&&se(t)?!1:e===429||e===500||e===502||e===503||e===504||/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(t)}function le(e){let t=e.get(`retry-after-ms`);if(t!==null){let e=Number(t);if(Number.isFinite(e))return Math.max(0,e)}let n=e.get(`retry-after`);if(!n)return;let r=Number(n);if(Number.isFinite(r))return Math.max(0,r*1e3);let i=Date.parse(n);if(!Number.isNaN(i))return Math.max(0,i-Date.now())}var ue=class extends Error{};function de(e,t){let n=t?.maxRetryDelayMs??6e4;if(n>0&&e>n)throw new ue(`Server requested ${Math.ceil(e/1e3)}s retry delay (max: ${Math.ceil(n/1e3)}s)`);return e}function fe(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`))})})}function pe(e){if(e!==void 0){if(!Number.isFinite(e)||e<0)throw Error(`Invalid timeoutMs: ${String(e)}`);return Math.floor(e)}}function me(){return typeof process>`u`||!(process.versions?.node||process.versions?.bun)?null:process.getBuiltinModule?.(`node:zlib`)??null}function he(e){let t=me();if(!t||typeof t.zstdCompressSync!=`function`)return null;try{let n=t.zstdCompressSync(e,{params:{[t.constants.ZSTD_c_compressionLevel]:3}});return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}catch{return null}}const F=(n,a,o)=>{let c=new e,l=s(a,n.compat?.supportsMidConvoSystemMessages);return(async()=>{let e={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:`pending`,timestamp:Date.now()};try{let a=o?.apiKey;if(!a)throw Error(`No API key for provider: ${n.provider}`);let s=Je(a),u=p(i(l.messages),n.compat?.supportsOpenAIGrammarTools??!1),d=o?.cacheRetention===`none`?void 0:o?.sessionId,m=v(d),h=_e(n,l,o,m,u),g=await o?.onPayload?.(h,n);g!==void 0&&(h=g);let _=m||ee(),y=Xe(n.headers,o?.headers,s,a,m),b=Ze(n.headers,o?.headers,s,a,_),x=JSON.stringify(h),S=pe(o?.timeoutMs),C=pe(o?.websocketConnectTimeoutMs),w=o?.transport||`auto`,T=!1,E=w!==`sse`&&J(d);if(E&&Y(d),w!==`sse`&&!E){let i=!1,a=!1,l=!1;for(;;){i=!1;try{if(await Ke(ye(n.baseUrl),h,b,e,c,n,()=>{i=!0,T||(T=!0,c.push({type:`start`,partial:e}))},S,C,d,s,u,o),o?.signal?.aborted)throw Error(`Request was aborted`);P(e),c.push({type:`done`,reason:e.stopReason,message:e}),c.end();return}catch(n){let s=o?.signal?.aborted,c=!i&&Se(n),u=Ce(n);if(!s&&u&&!l){l=!0;continue}if(!s&&c&&!a){a=!0;continue}if(s||xe(n)&&!c||(r(e,t(`provider_transport_failure`,n,{configuredTransport:w,...i?{}:{fallbackTransport:`sse`},eventsEmitted:i,phase:i?`after_message_stream_start`:`before_message_stream_start`,requestBytes:new TextEncoder().encode(x).byteLength})),ke(d,n),i))throw n;Y(d);break}}}let D=he(x);D&&y.set(`content-encoding`,`zstd`);let O=D??x,k,A,j=o?.maxRetries??0;for(let e=0;e<=j;e++){if(o?.signal?.aborted)throw Error(`Request was aborted`);try{let t=S!==void 0&&S>0?AbortSignal.timeout(S):void 0,r=te([o?.signal,t]);try{k=await(o?.fetch??globalThis.fetch)(R(n.baseUrl),{method:`POST`,headers:y,body:O,signal:r.signal})}catch(e){throw t?.aborted&&!o?.signal?.aborted?Error(`Codex SSE response headers timed out after ${S}ms`):e}finally{r.cleanup()}if(await o?.onResponse?.({status:k.status,headers:f(k.headers)},n),k.ok)break;let i=await k.text();if(e<j&&ce(k.status,i)){let t=le(k.headers);await fe(t===void 0?M*2**e:de(t,o),o?.signal);continue}let a=await qe(new Response(i,{status:k.status,statusText:k.statusText}));throw Error(a.friendlyMessage||a.message)}catch(t){if(t instanceof Error&&(t.name===`AbortError`||t.message===`Request was aborted`))throw Error(`Request was aborted`);if(A=t instanceof Error?t:Error(String(t)),e<j&&!(A instanceof ue)&&!A.message.includes(`usage limit`)){await fe(M*2**e,o?.signal);continue}throw A}}if(!k?.ok)throw A??Error(`Failed after retries`);if(!k.body)throw Error(`No response body`);if(T||(T=!0,c.push({type:`start`,partial:e})),await be(k,e,c,n,u,o),o?.signal?.aborted)throw Error(`Request was aborted`);P(e),c.push({type:`done`,reason:e.stopReason,message:e}),c.end()}catch(t){for(let t of e.content)delete t.partialJson,delete t.customInput;e.stopReason=o?.signal?.aborted?`aborted`:`error`,e.errorMessage=_(g(t)),c.push({type:`error`,reason:e.stopReason,error:e}),c.end()}})(),c},ge=(e,t,n)=>{let r=n?.apiKey;if(!r)throw Error(`No API key for provider: ${e.provider}`);let i={...h(e,t,n,r),toolChoice:n?.toolChoice},a=n?.reasoning?l(e,n.reasoning):void 0,o=a===`off`?void 0:a;return F(e,t,{...i,reasoningEffort:o})};function _e(e,t,n,r,s=p(i(t.messages),e.compat?.supportsOpenAIGrammarTools??!1)){let c=e.compat?.supportsStrictMode??!0,l=e.compat?.supportsOpenAIGrammarTools??!1,d=e.compat?.supportsAdditionalTools??!1,f=e.compat?.supportsToolSearch??!1,m=o(t.messages,d||f),h=x(e,t,N,{includeSystemPrompt:!1,grammarToolInputProperties:s,supportsMidConvoSystemMessages:e.compat?.supportsMidConvoSystemMessages??!1,supportsAdditionalTools:d,supportsToolSearch:f,toolOptions:{strict:null,supportsStrictMode:c,supportsOpenAIGrammarTools:l}}),g=a(t.messages),_=g?u(g):``,v={model:e.id,store:!1,stream:!0,instructions:_||`You are a helpful assistant.`,input:h,text:{verbosity:n?.textVerbosity||`low`},include:[`reasoning.encrypted_content`],prompt_cache_key:r,tool_choice:n?.toolChoice??`auto`,parallel_tool_calls:!0};if(n?.temperature!==void 0&&(v.temperature=n.temperature),n?.serviceTier!==void 0&&(v.service_tier=n.serviceTier),m.requestTools.length>0&&(v.tools=y(m.requestTools,{strict:null,supportsStrictMode:c,supportsOpenAIGrammarTools:l})),n?.reasoningEffort!==void 0){let t=n.reasoningEffort===`none`?e.thinkingLevelMap?.off===void 0?`none`:e.thinkingLevelMap.off:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;t!==null&&(v.reasoning={effort:t,summary:n.reasoningSummary??`auto`})}else e.reasoning&&e.thinkingLevelMap?.off!==null&&(v.reasoning={effort:e.thinkingLevelMap?.off??`none`});return v}function ve(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function I(e,t,n){let r=ve(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 L(e,t){return e==="default"&&(t===`flex`||t===`priority`)?t:e??t}function R(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 ye(e){let t=new URL(R(e));return t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}async function be(e,t,n,r,i,a){await b(H(Ee(e,a?.signal),t,r,a?.onProviderStreamEvent),t,n,r,{serviceTier:a?.serviceTier,grammarToolInputProperties:i,resolveServiceTier:L,applyServiceTierPricing:(e,t)=>I(e,t,r)})}var z=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}},B=class extends Error{payload;constructor(e,t){super(e),this.name=`CodexProtocolError`,this.payload=t?.payload,this.cause=t?.cause}},V=class extends Error{constructor(e){super(n(e)),this.name=`ProviderStreamEventCallbackError`,this.cause=e}};function xe(e){return e instanceof z||e instanceof B||e instanceof V}function Se(e){return e instanceof z&&e.code===`websocket_connection_limit_reached`}function Ce(e){return e instanceof z&&e.code===`previous_response_not_found`}function we(e){let t=e.error&&typeof e.error==`object`?e.error:void 0;return{code:typeof e.code==`string`?e.code:typeof t?.code==`string`?t.code:void 0,message:typeof e.message==`string`?e.message:typeof t?.message==`string`?t.message:void 0}}async function*H(e,t,n,r){for await(let i of e){try{await r?.(i,n)}catch(e){throw new V(e)}let e=typeof i.type==`string`?i.type:void 0;if(e){if(e===`error`){let{code:e,message:t}=we(i);throw new z(`Codex error: ${t||e||JSON.stringify(i)}`,{code:e,payload:i})}if(e===`response.failed`){let e=i.response,t=e?.error?.code,n=e?.error?.message;throw new z(n||`Codex response failed`,{code:t,payload:i})}if(e===`response.done`||e===`response.completed`||e===`response.incomplete`){let e=i.response;typeof e?.end_turn==`boolean`&&(t.endTurn=e.end_turn);let n=e&&{...e,status:Te(e.status)};yield{...i,type:`response.completed`,response:n};return}yield i}}}function Te(e){if(typeof e==`string`)return oe.has(e)?e:void 0}async function*Ee(e,t){if(!e.body)return;let r=e.body.getReader(),i=new TextDecoder,a=``,o=()=>{r.cancel().catch(()=>{})};t?.addEventListener(`abort`,o,{once:!0});try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);let{done:e,value:o}=await r.read();if(t?.aborted)throw Error(`Request was aborted`);a+=e?i.decode():i.decode(o,{stream:!0}),e&&a.trim()&&(a+=`
|
|
2
2
|
|
|
3
3
|
`);let s=a.indexOf(`
|
|
4
4
|
|
|
@@ -6,4 +6,4 @@ import{i as e,n as t,r as n,t as r}from"./diagnostics-Cag7MsZI.js";import{_ as i
|
|
|
6
6
|
`).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trim());if(t.length>0){let e=t.join(`
|
|
7
7
|
`).trim();if(e&&e!==`[DONE]`)try{yield JSON.parse(e)}catch(t){throw new B(`Invalid Codex SSE JSON: ${n(t)}`,{cause:t,payload:e})}}s=a.indexOf(`
|
|
8
8
|
|
|
9
|
-
`)}if(e)break}}finally{t?.removeEventListener(`abort`,o);try{await r.cancel()}catch{}try{r.releaseLock()}catch{}}}const U=new Map,W=new Map,G=new Set;function K(e){let t=W.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},W.set(e,t)),t}function De(e){let t=W.get(e);return t?{...t}:void 0}function Oe(e){if(e){W.delete(e),G.delete(e);return}W.clear(),G.clear()}function q(e){let t=e=>{e.idleTimer&&clearTimeout(e.idleTimer),Q(e.socket,1e3,`debug_close`)};if(e){for(let n of U.get(e)?.values()??[])t(n);U.delete(e);return}for(let e of U.values())for(let n of e.values())t(n);U.clear()}C(q);function J(e){return e?G.has(e):!1}function Y(e){if(!e)return;let t=K(e);t.sseFallbacks++,t.websocketFallbackActive=J(e)}function ke(e,t){if(!e)return;G.add(e);let r=K(e);r.websocketFailures++,r.lastWebSocketError=n(t),r.websocketFallbackActive=!0}let X=null;async function Ae(e){if(!e&&X)return X;if(typeof process<`u`&&process.versions?.bun){let t=class extends WebSocket{constructor(t,n){let r={};r=Array.isArray(n)||typeof n==`string`?{protocols:n}:{...n};let i=ae(t.toString().replace(/^wss:/,`https:`).replace(/^ws:/,`http:`),e);super(t,{...r,...i?{proxy:i.toString()}:{}})}};return e||(X=t),t}let t=globalThis.WebSocket;return typeof t==`function`?t:null}var je=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 Me(e){let t=e.readyState;return typeof t==`number`?t:void 0}function Z(e){let t=Me(e);return t===void 0||t===1}function Ne(e){return Date.now()-e.createdAt>=33e5}function Q(e,t=1e3,n=`done`){try{e.close(t,n)}catch{}}function Pe(e,t,n){n.idleTimer&&clearTimeout(n.idleTimer),n.idleTimer=setTimeout(()=>{if(n.busy)return;Q(n.socket,1e3,`idle_timeout`);let r=U.get(e);r?.get(t)===n&&r.delete(t),r?.size===0&&U.delete(e)},3e5)}async function $(e,t,n,r=15e3,i){let a=await Ae(i);if(!a)throw Error(`WebSocket transport is not available in this runtime`);let o=f(t);return delete o[`OpenAI-Beta`],new Promise((t,i)=>{let s=!1,c,l;try{l=new a(e,{headers:o})}catch(e){i(e instanceof Error?e:Error(String(e)));return}let u=()=>{c&&=(clearTimeout(c),void 0),l.removeEventListener(`open`,f),l.removeEventListener(`error`,p),l.removeEventListener(`close`,m),n?.removeEventListener(`abort`,h)},d=(e,t)=>{s||(s=!0,u(),t&&Q(l,1e3,t),i(e))},f=()=>{s||(s=!0,u(),t(l))},p=e=>{d(Ie(e))},m=e=>{d(Le(e))},h=()=>{d(Error(`Request was aborted`),`aborted`)};l.addEventListener(`open`,f),l.addEventListener(`error`,p),l.addEventListener(`close`,m),n?.addEventListener(`abort`,h),r>0&&(c=setTimeout(()=>{d(Error(`WebSocket connect timeout after ${r}ms`),`connect_timeout`)},r)),n?.aborted&&h()})}async function Fe(e,t,n,r,i,a,o){if(!n){let n=await $(e,t,i,a,o);return{socket:n,reused:!1,release:()=>Q(n)}}let s=U.get(n),c=s?.get(r);if(c){if(c.idleTimer&&=(clearTimeout(c.idleTimer),void 0),!c.busy&&Ne(c))Q(c.socket,1e3,`connection_age_limit`),s?.delete(r),s?.size===0&&U.delete(n);else if(!c.busy&&Z(c.socket))return c.busy=!0,{socket:c.socket,entry:c,reused:!0,release:({keep:e}={})=>{if(!e||!Z(c.socket)){Q(c.socket);let e=U.get(n);e?.get(r)===c&&e.delete(r),e?.size===0&&U.delete(n);return}c.busy=!1,Pe(n,r,c)}};if(c.busy){let n=await $(e,t,i,a,o);return{socket:n,reused:!1,release:()=>{Q(n)}}}Z(c.socket)||(Q(c.socket),s?.delete(r),s?.size===0&&U.delete(n))}let l=await $(e,t,i,a,o),u={socket:l,busy:!0,createdAt:Date.now()};return s=U.get(n),s||(s=new Map,U.set(n,s)),s.set(r,u),{socket:l,entry:u,reused:!1,release:({keep:e}={})=>{if(!e||!Z(u.socket)){Q(u.socket),u.idleTimer&&clearTimeout(u.idleTimer);let e=U.get(n);e?.get(r)===u&&e.delete(r),e?.size===0&&U.delete(n);return}u.busy=!1,Pe(n,r,u)}}}function Ie(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 Le(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 je(`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 Re(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*ze(e,t,r){let i=[],a=null,o=!1,s=null,c=!1,l=()=>{if(!a)return;let e=a;a=null,e()},u=e=>{(async()=>{let t=null;try{if(!e||typeof e!=`object`||!(`data`in e)||(t=await Re(e.data),!t))return;let n=JSON.parse(t),r=typeof n.type==`string`?n.type:``;(r===`response.completed`||r===`response.done`||r===`response.incomplete`)&&(c=!0,o=!0),i.push(n),l()}catch(e){s=new B(`Invalid Codex WebSocket JSON: ${n(e)}`,{cause:e,payload:t}),o=!0,l()}})()},d=e=>{s=Ie(e),o=!0,l()},f=e=>{if(c){o=!0,l();return}s||=Le(e),o=!0,l()},p=()=>{s=Error(`Request was aborted`),o=!0,l()};e.addEventListener(`message`,u),e.addEventListener(`error`,d),e.addEventListener(`close`,f),t?.addEventListener(`abort`,p);try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);if(i.length>0){yield i.shift();continue}if(o)break;let n;await new Promise((t,i)=>{a=t,r!==void 0&&r>0&&(n=setTimeout(()=>{let t=Error(`WebSocket idle timeout after ${r}ms`);s=t,o=!0,a=null,Q(e,1e3,`idle_timeout`),i(t)},r))}).finally(()=>{n&&clearTimeout(n)})}if(s)throw s;if(!c)throw Error(`WebSocket stream closed before response.completed`)}finally{e.removeEventListener(`message`,u),e.removeEventListener(`error`,d),e.removeEventListener(`close`,f),t?.removeEventListener(`abort`,p)}}function Be(e){let{input:t,previous_response_id:n,...r}=e;return r}function Ve(e,t){return JSON.stringify(e??[])===JSON.stringify(t??[])}function He(e,t){return JSON.stringify(Be(e))===JSON.stringify(Be(t))}function Ue(e,t){if(!He(e,t.lastRequestBody))return;let n=e.input??[],r=[...t.lastRequestBody.input??[],...t.lastResponseItems];if(!(n.length<r.length)&&Ve(n.slice(0,r.length),r))return n.slice(r.length)}function We(e,t){let n=e.continuation;if(!n)return t;let r=Ue(t,n);return!r||!n.lastResponseId?(e.continuation=void 0,t):{...t,previous_response_id:n.lastResponseId,input:r}}async function*Ge(e,t){let n=!1;for await(let r of e)n||(n=!0,t()),yield r}async function Ke(e,t,n,r,i,a,o,s,
|
|
9
|
+
`)}if(e)break}}finally{t?.removeEventListener(`abort`,o);try{await r.cancel()}catch{}try{r.releaseLock()}catch{}}}const U=new Map,W=new Map,G=new Set;function K(e){let t=W.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},W.set(e,t)),t}function De(e){let t=W.get(e);return t?{...t}:void 0}function Oe(e){if(e){W.delete(e),G.delete(e);return}W.clear(),G.clear()}function q(e){let t=e=>{e.idleTimer&&clearTimeout(e.idleTimer),Q(e.socket,1e3,`debug_close`)};if(e){for(let n of U.get(e)?.values()??[])t(n);U.delete(e);return}for(let e of U.values())for(let n of e.values())t(n);U.clear()}C(q);function J(e){return e?G.has(e):!1}function Y(e){if(!e)return;let t=K(e);t.sseFallbacks++,t.websocketFallbackActive=J(e)}function ke(e,t){if(!e)return;G.add(e);let r=K(e);r.websocketFailures++,r.lastWebSocketError=n(t),r.websocketFallbackActive=!0}let X=null;async function Ae(e){if(!e&&X)return X;if(typeof process<`u`&&process.versions?.bun){let t=class extends WebSocket{constructor(t,n){let r={};r=Array.isArray(n)||typeof n==`string`?{protocols:n}:{...n};let i=ae(t.toString().replace(/^wss:/,`https:`).replace(/^ws:/,`http:`),e);super(t,{...r,...i?{proxy:i.toString()}:{}})}};return e||(X=t),t}let t=globalThis.WebSocket;return typeof t==`function`?t:null}var je=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 Me(e){let t=e.readyState;return typeof t==`number`?t:void 0}function Z(e){let t=Me(e);return t===void 0||t===1}function Ne(e){return Date.now()-e.createdAt>=33e5}function Q(e,t=1e3,n=`done`){try{e.close(t,n)}catch{}}function Pe(e,t,n){n.idleTimer&&clearTimeout(n.idleTimer),n.idleTimer=setTimeout(()=>{if(n.busy)return;Q(n.socket,1e3,`idle_timeout`);let r=U.get(e);r?.get(t)===n&&r.delete(t),r?.size===0&&U.delete(e)},3e5)}async function $(e,t,n,r=15e3,i){let a=await Ae(i);if(!a)throw Error(`WebSocket transport is not available in this runtime`);let o=f(t);return delete o[`OpenAI-Beta`],new Promise((t,i)=>{let s=!1,c,l;try{l=new a(e,{headers:o})}catch(e){i(e instanceof Error?e:Error(String(e)));return}let u=()=>{c&&=(clearTimeout(c),void 0),l.removeEventListener(`open`,f),l.removeEventListener(`error`,p),l.removeEventListener(`close`,m),n?.removeEventListener(`abort`,h)},d=(e,t)=>{s||(s=!0,u(),t&&Q(l,1e3,t),i(e))},f=()=>{s||(s=!0,u(),t(l))},p=e=>{d(Ie(e))},m=e=>{d(Le(e))},h=()=>{d(Error(`Request was aborted`),`aborted`)};l.addEventListener(`open`,f),l.addEventListener(`error`,p),l.addEventListener(`close`,m),n?.addEventListener(`abort`,h),r>0&&(c=setTimeout(()=>{d(Error(`WebSocket connect timeout after ${r}ms`),`connect_timeout`)},r)),n?.aborted&&h()})}async function Fe(e,t,n,r,i,a,o){if(!n){let n=await $(e,t,i,a,o);return{socket:n,reused:!1,release:()=>Q(n)}}let s=U.get(n),c=s?.get(r);if(c){if(c.idleTimer&&=(clearTimeout(c.idleTimer),void 0),!c.busy&&Ne(c))Q(c.socket,1e3,`connection_age_limit`),s?.delete(r),s?.size===0&&U.delete(n);else if(!c.busy&&Z(c.socket))return c.busy=!0,{socket:c.socket,entry:c,reused:!0,release:({keep:e}={})=>{if(!e||!Z(c.socket)){Q(c.socket);let e=U.get(n);e?.get(r)===c&&e.delete(r),e?.size===0&&U.delete(n);return}c.busy=!1,Pe(n,r,c)}};if(c.busy){let n=await $(e,t,i,a,o);return{socket:n,reused:!1,release:()=>{Q(n)}}}Z(c.socket)||(Q(c.socket),s?.delete(r),s?.size===0&&U.delete(n))}let l=await $(e,t,i,a,o),u={socket:l,busy:!0,createdAt:Date.now()};return s=U.get(n),s||(s=new Map,U.set(n,s)),s.set(r,u),{socket:l,entry:u,reused:!1,release:({keep:e}={})=>{if(!e||!Z(u.socket)){Q(u.socket),u.idleTimer&&clearTimeout(u.idleTimer);let e=U.get(n);e?.get(r)===u&&e.delete(r),e?.size===0&&U.delete(n);return}u.busy=!1,Pe(n,r,u)}}}function Ie(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 Le(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 je(`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 Re(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*ze(e,t,r){let i=[],a=null,o=!1,s=null,c=!1,l=()=>{if(!a)return;let e=a;a=null,e()},u=e=>{(async()=>{let t=null;try{if(!e||typeof e!=`object`||!(`data`in e)||(t=await Re(e.data),!t))return;let n=JSON.parse(t),r=typeof n.type==`string`?n.type:``;(r===`response.completed`||r===`response.done`||r===`response.incomplete`)&&(c=!0,o=!0),i.push(n),l()}catch(e){s=new B(`Invalid Codex WebSocket JSON: ${n(e)}`,{cause:e,payload:t}),o=!0,l()}})()},d=e=>{s=Ie(e),o=!0,l()},f=e=>{if(c){o=!0,l();return}s||=Le(e),o=!0,l()},p=()=>{s=Error(`Request was aborted`),o=!0,l()};e.addEventListener(`message`,u),e.addEventListener(`error`,d),e.addEventListener(`close`,f),t?.addEventListener(`abort`,p);try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);if(i.length>0){yield i.shift();continue}if(o)break;let n;await new Promise((t,i)=>{a=t,r!==void 0&&r>0&&(n=setTimeout(()=>{let t=Error(`WebSocket idle timeout after ${r}ms`);s=t,o=!0,a=null,Q(e,1e3,`idle_timeout`),i(t)},r))}).finally(()=>{n&&clearTimeout(n)})}if(s)throw s;if(!c)throw Error(`WebSocket stream closed before response.completed`)}finally{e.removeEventListener(`message`,u),e.removeEventListener(`error`,d),e.removeEventListener(`close`,f),t?.removeEventListener(`abort`,p)}}function Be(e){let{input:t,previous_response_id:n,...r}=e;return r}function Ve(e,t){return JSON.stringify(e??[])===JSON.stringify(t??[])}function He(e,t){return JSON.stringify(Be(e))===JSON.stringify(Be(t))}function Ue(e,t){if(!He(e,t.lastRequestBody))return;let n=e.input??[],r=[...t.lastRequestBody.input??[],...t.lastResponseItems];if(!(n.length<r.length)&&Ve(n.slice(0,r.length),r))return n.slice(r.length)}function We(e,t){let n=e.continuation;if(!n)return t;let r=Ue(t,n);return!r||!n.lastResponseId?(e.continuation=void 0,t):{...t,previous_response_id:n.lastResponseId,input:r}}async function*Ge(e,t){let n=!1;for await(let r of e)n||(n=!0,t()),yield r}async function Ke(e,t,n,r,i,a,o,s,l,u,d,f,p){let{socket:m,entry:h,reused:g,release:_}=await Fe(e,n,u,d,p?.signal,l,p?.env),v=!0,y=p?.transport===`websocket-cached`||p?.transport===`auto`,S=t,C=y&&h?We(h,S):S,w=u?K(u):void 0;w&&(w.requests++,g?w.connectionsReused++:w.connectionsCreated++,y&&w.cachedContextRequests++,C.store===!0&&w.storeTrueRequests++,w.lastInputItems=C.input?.length??0,C.previous_response_id?(w.deltaRequests++,w.lastDeltaInputItems=C.input?.length??0,w.lastPreviousResponseId=C.previous_response_id):(w.fullContextRequests++,w.lastDeltaInputItems=void 0,w.lastPreviousResponseId=void 0));try{if(m.send(JSON.stringify({type:`response.create`,...C})),await b(Ge(H(ze(m,p?.signal,s),r,a,p?.onProviderStreamEvent),o),r,i,a,{serviceTier:p?.serviceTier,grammarToolInputProperties:f,resolveServiceTier:L,applyServiceTierPricing:(e,t)=>I(e,t,a)}),p?.signal?.aborted)v=!1;else if(y&&h&&r.responseId){let e=x(a,c({messages:[r]}),N,{includeSystemPrompt:!1,grammarToolInputProperties:f}).filter(e=>e.type!==`function_call_output`&&e.type!==`custom_tool_call_output`);h.continuation={lastRequestBody:S,lastResponseId:r.responseId,lastResponseItems:e}}}catch(e){throw h&&(h.continuation=void 0),v=!1,e}finally{_({keep:v})}}async function qe(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 Je(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 Ye(e,t,n,r){let i=new Headers({originator:`pi`,"User-Agent":m()});for(let[t,n]of Object.entries(e||{}))i.set(t,n);for(let[e,n]of Object.entries(t||{}))n===null?i.delete(e):i.set(e,n);return i.set(`Authorization`,`Bearer ${r}`),i.set(`chatgpt-account-id`,n),i}function Xe(e,t,n,r,i){let a=Ye(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 Ze(e,t,n,r,i){let a=Ye(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{q as closeOpenAICodexWebSocketSessions,De as getOpenAICodexWebSocketDebugStats,Oe as resetOpenAICodexWebSocketDebugStats,F as stream,ge as streamSimple};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{i as e}from"./diagnostics-B-5VkVir.js";import{f as t,g as n,h as r,l as i,n as a,p as o,t as s}from"./models-D9KYIFyv.js";import{n as c}from"./json-parse-CgFfIg4Q.js";import{t as l}from"./provider-env-CTOcDKrQ.js";import{t as u}from"./headers-FK4rgixo.js";import{a as d,i as f,n as p,o as m,r as h,s as g,t as _}from"./constrained-sampling-DOxF6Eck.js";import{t as ee}from"./provider-retry-RVfYd5Vz.js";import{t as v}from"./sanitize-unicode-DmIE6hZJ.js";import{n as y,t as b}from"./github-copilot-headers-DRgtIyTm.js";import{c as x,o as S,r as C,s as w,t as T}from"./transform-messages-DF4OdhKs.js";import{n as E}from"./openai-CmkcIaBM.js";import{n as D,t as O}from"./error-body-pkrba6pf.js";import{t as k}from"./openai-prompt-cache-DXo9f3w5.js";import{t as A}from"./hash-yQufAZII.js";function j(e,t){if(!e)return!1;let n=t.toLowerCase();for(let[t,r]of Object.entries(e))if(t.toLowerCase()===n&&r!==null&&r.trim().length>0)return!0;return!1}function M(e,t,n){if(t)return t;if(j(n,`authorization`)||j(n,`cf-aig-authorization`))return`unused`;throw Error(`No API key for provider: ${e}`)}function N(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 P(e){return e.type===`text`}function F(e){return e.type===`thinking`}function I(e){return e.type===`toolCall`}function te(e){return e.type===`image`}function L(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function R(e){return(e.id===void 0||e.id===null||typeof e.id==`string`)&&(e.format===void 0||typeof e.format==`string`)&&(e.index===void 0||typeof e.index==`number`)}function z(e){if(!L(e)||!R(e))return!1;switch(e.type){case`reasoning.summary`:return typeof e.summary==`string`;case`reasoning.encrypted`:return typeof e.data==`string`;case`reasoning.text`:return typeof e.text==`string`&&(e.signature===void 0||e.signature===null||typeof e.signature==`string`);default:return!1}}function ne(e){if(e)try{let t=JSON.parse(e);return Array.isArray(t)&&t.length>0&&t.every(z)?t:void 0}catch{return}}function re(e){if(e)try{let t=JSON.parse(e);return z(t)&&t.type===`reasoning.encrypted`&&typeof t.id==`string`&&t.id.length>0&&t.data.length>0?t:void 0}catch{return}}function B(e,t){e.id??=t.id,e.format||=t.format,e.index??=t.index}function ie(e,t){let n=e[e.length-1];if(t.type===`reasoning.text`&&n?.type===`reasoning.text`){n.text+=t.text,n.signature||=t.signature,B(n,t);return}if(t.type===`reasoning.summary`&&n?.type===`reasoning.summary`){n.summary+=t.summary,B(n,t);return}e.push({...t})}var ae=[`reasoning`,`reasoning_content`,`reasoning_text`];function oe(e){return ae.includes(e)}function V(e,t){return e||(l(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}var H=(n,r,a)=>{let o=new e,s=t(r,$(n).supportsMidConvoSystemMessages);return(async()=>{let e={role:`assistant`,content:[],api:n.api,provider:n.provider,model:n.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`pending`,timestamp:Date.now()},t,r=e=>{t!==void 0&&(e.thinkingSignature=JSON.stringify(t))};try{let l=M(n.provider,a?.apiKey,a?.headers),d=$(n),f=p(i(s.messages),d.supportsOpenAIGrammarTools),m=V(a?.cacheRetention,a?.env),h=m===`none`?void 0:a?.sessionId,g=W(n,s,l,a?.headers,a?.fetch,h,d),v=G(n,s,a,d,m,f),y=await a?.onPayload?.(v,n);y!==void 0&&(v=y);let b={...a?.signal?{signal:a.signal}:{},...a?.timeoutMs===void 0?{}:{timeout:a.timeoutMs},maxRetries:0},{data:x,response:S}=await ee(()=>g.chat.completions.create(v,b).withResponse(),{maxRetries:a?.maxRetries,maxRetryDelayMs:a?.maxRetryDelayMs,signal:a?.signal});await a?.onResponse?.({status:S.status,headers:u(S.headers)},n),o.push({type:`start`,partial:e});let C=null,w=null,T=!1,E=new Map,D=new Map,O=e.content,k=e=>O.indexOf(e),A=e=>{let t=e.customInput?.property;if(t===void 0)return``;let n=e.arguments[t];return typeof n==`string`?n:``},j=(e,t,n)=>{let r=e.customInput;if(!r)return;let i=_(r.jsonBuffer,r.property,t,n);return e.arguments={[r.property]:t},i},N=t=>{let n=k(t);if(n!==-1){if(t.type===`text`)o.push({type:`text_end`,contentIndex:n,content:t.text,partial:e});else if(t.type===`thinking`)r(t),o.push({type:`thinking_end`,contentIndex:n,content:t.thinking,partial:e});else if(t.type===`toolCall`){if(t.customInput){let r=j(t,A(t),!0);r!==void 0&&o.push({type:`toolcall_delta`,contentIndex:n,delta:r,partial:e})}else t.arguments=c(t.partialArgs);delete t.partialArgs,delete t.customInput,delete t.streamIndex,o.push({type:`toolcall_end`,contentIndex:n,toolCall:t,partial:e})}}},P=()=>(C||(C={type:`text`,text:``},O.push(C),o.push({type:`text_start`,contentIndex:k(C),partial:e})),C),F=t=>(w||(w={type:`thinking`,thinking:``,thinkingSignature:t},O.push(w),o.push({type:`thinking_start`,contentIndex:k(w),partial:e})),w),I=t=>{let n=typeof t.index==`number`?t.index:void 0,r=t.function?.name??t.custom?.name??``,i=n===void 0?void 0:E.get(n);if(!i&&t.id&&(i=D.get(t.id)),!i){let a=t.custom&&!t.function?f.get(r)??`input`:void 0,s=a!==void 0;i={type:`toolCall`,id:t.id||``,name:r,arguments:s?{[a]:``}:{},partialArgs:s?void 0:``,customInput:s?{property:a,jsonBuffer:{input:``,started:!1,closed:!1}}:void 0,streamIndex:n},n!==void 0&&E.set(n,i),t.id&&D.set(t.id,i),O.push(i),o.push({type:`toolcall_start`,contentIndex:k(i),partial:e})}if(n!==void 0&&i.streamIndex===void 0&&(i.streamIndex=n,E.set(n,i)),t.id&&D.set(t.id,i),!i.name&&r&&(i.name=r),t.custom&&!t.function&&!i.customInput){let e=f.get(i.name)??`input`;i.arguments={[e]:``},i.customInput={property:e,jsonBuffer:{input:``,started:!1,closed:!1}},delete i.partialArgs}return i};for await(let r of x){if(await a?.onProviderStreamEvent?.(r,n),!r||typeof r!=`object`)continue;e.responseId||=r.id,typeof r.model==`string`&&r.model.length>0&&r.model!==n.id&&(e.responseModel||=r.model),r.usage&&(e.usage=Q(r.usage,n));let i=Array.isArray(r.choices)?r.choices[0]:void 0;if(i){if(!r.usage&&i.usage&&(e.usage=Q(i.usage,n)),i.finish_reason){e.rawStopReason=i.finish_reason;let t=he(i.finish_reason);e.stopReason=t.stopReason,t.errorMessage&&(e.errorMessage=t.errorMessage),T=!0}if(i.delta){if(i.delta.content!==null&&i.delta.content!==void 0&&i.delta.content.length>0){let t=P();t.text+=i.delta.content,o.push({type:`text_delta`,contentIndex:k(t),delta:i.delta.content,partial:e})}let r=[`reasoning_content`,`reasoning`,`reasoning_text`],a=i.delta,s=null;for(let e of r){let t=a[e];if(typeof t==`string`&&t.length>0){s=e;break}}if(s){let t=a[s];if(typeof t==`string`&&t.length>0){let r=F(n.provider===`opencode-go`&&s===`reasoning`?`reasoning_content`:s);r.thinking+=t,o.push({type:`thinking_delta`,contentIndex:k(r),delta:t,partial:e})}}if(i?.delta?.tool_calls)for(let t of i.delta.tool_calls){let n=I(t);!n.id&&t.id&&(n.id=t.id,D.set(t.id,n));let r=t.function?.name??t.custom?.name;!n.name&&r&&(n.name=r);let i=``;t.function?.arguments?(i=t.function.arguments,n.partialArgs=(n.partialArgs??``)+t.function.arguments,n.arguments=c(n.partialArgs)):t.custom?.input&&(i=j(n,A(n)+t.custom.input,!1)??``),o.push({type:`toolcall_delta`,contentIndex:k(n),delta:i,partial:e})}let l=i.delta.reasoning_details;if(Array.isArray(l))for(let e of l)z(e)&&(F(``),t??=[],ie(t,e))}}}for(let e of O)N(e);if(a?.signal?.aborted||e.stopReason===`aborted`)throw Error(`Request was aborted`);if(!T&&!d.supportsFinishReason&&(e.stopReason=e.content.some(e=>e.type===`toolCall`)?`toolUse`:`stop`),e.stopReason===`error`)throw Error(e.errorMessage||`Provider returned an error stop reason`);if(d.supportsFinishReason&&!T||e.stopReason===`pending`)throw Error(`Stream ended without finish_reason`);o.push({type:`done`,reason:e.stopReason,message:e}),o.end()}catch(t){for(let t of e.content)t.type===`thinking`&&r(t),delete t.index,delete t.partialArgs,delete t.customInput,delete t.streamIndex;e.stopReason=a?.signal?.aborted?`aborted`:`error`,e.errorMessage=O(D(t));let n=t?.error?.metadata?.raw;n&&!e.errorMessage.includes(String(n))&&(e.errorMessage+=`\n${n}`),o.push({type:`error`,reason:e.stopReason,error:e}),o.end()}})(),o},U=(e,t,n)=>{M(e.provider,n?.apiKey,n?.headers);let r={...C(e,t,n,n?.apiKey),toolChoice:n?.toolChoice},i=n?.reasoning?a(e,n.reasoning):void 0,o=i===`off`?void 0:i;return H(e,t,{...r,reasoningEffort:o,thinkingBudgets:n?.thinkingBudgets})};function W(e,t,n,r,i,a,o=$(e)){let s={"User-Agent":g(),...e.headers};if(e.provider===`github-copilot`){let e=y(t.messages),n=b({messages:t.messages,hasImages:e});Object.assign(s,n)}return a&&o.sendSessionAffinityHeaders&&(o.sessionAffinityFormat===`openrouter`?s[`x-session-id`]=a:(o.sessionAffinityFormat===`openai`&&(s.session_id=a),s[`x-client-request-id`]=a,s[`x-session-affinity`]=a)),r&&Object.assign(s,r),new E({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:i,defaultHeaders:s})}function G(e,t,n,r=$(e),a=V(n?.cacheRetention,n?.env),s=p(i(t.messages),r.supportsOpenAIGrammarTools)){let c=o(t.messages,r.supportsMidConvoSystemMessages===!0&&r.supportsMidConvoToolAdditions===!0),l=X(e,t,r,{grammarToolInputProperties:s}),u=le(r,a),d={model:e.id,messages:l,stream:!0,prompt_cache_key:e.baseUrl.includes(`api.openai.com`)&&a!==`none`||a===`long`&&r.supportsLongCacheRetention?k(n?.sessionId):void 0,prompt_cache_retention:a===`long`&&r.supportsLongCacheRetention?`24h`:void 0};r.supportsUsageInStreaming!==!1&&(d.stream_options={include_usage:!0}),r.supportsStore&&(d.store=!1),n?.maxTokens&&(r.maxTokensField===`max_tokens`?d.max_tokens=n.maxTokens:d.max_completion_tokens=n.maxTokens),n?.temperature!==void 0&&(d.temperature=n.temperature),c.requestTools.length>0?(d.tools=Z(c.requestTools,r),r.zaiToolStream&&(d.tool_stream=!0)):N(t.messages)&&(d.tools=[]),u&&ue(l,d.tools,u),n?.toolChoice&&(d.tool_choice=n.toolChoice),r.vllmPriority!==void 0&&(d.priority=r.vllmPriority);let f=K(r),m=se(e,n,d);if(r.thinkingFormat===`zai`&&e.reasoning){let t=d;if(t.thinking=n?.reasoningEffort?{type:`enabled`,clear_thinking:!1}:{type:`disabled`},n?.reasoningEffort&&r.supportsReasoningEffort){let r=e.thinkingLevelMap?.[n.reasoningEffort],i=r===void 0?n.reasoningEffort:r;typeof i==`string`&&(t.reasoning_effort=i)}}else if(r.thinkingFormat===`qwen`&&e.reasoning){if(d.enable_thinking=!!n?.reasoningEffort,n?.reasoningEffort&&r.supportsReasoningEffort){let t=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;typeof t==`string`&&(d.reasoning_effort=t)}}else if(r.thinkingFormat===`qwen-chat-template`&&e.reasoning)d.chat_template_kwargs={enable_thinking:!!n?.reasoningEffort,preserve_thinking:!0};else if(r.thinkingFormat===`chat-template`&&e.reasoning){let t=q(e,n,r.chatTemplateKwargs,m);t&&(d.chat_template_kwargs=t)}else if(r.thinkingFormat===`baseten`&&e.reasoning){let t=d,i=q(e,n,r.chatTemplateArgs,m);if(i&&(t.chat_template_args=i),r.supportsReasoningEffort){let r=n?.reasoningEffort,i=r?e.thinkingLevelMap?.[r]:e.thinkingLevelMap?.off,a=i===void 0?r:i;typeof a==`string`&&(t.reasoning_effort=a)}}else if(r.thinkingFormat===`deepseek`&&e.reasoning)n?.reasoningEffort?d.thinking={type:`enabled`}:e.thinkingLevelMap?.off!==null&&(d.thinking={type:`disabled`}),n?.reasoningEffort&&r.supportsReasoningEffort&&(d.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort);else if(r.thinkingFormat===`openrouter`&&e.reasoning){let t=d;n?.reasoningEffort?t.reasoning={effort:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort}:e.thinkingLevelMap?.off!==null&&(t.reasoning={effort:e.thinkingLevelMap?.off??`none`})}else if(r.thinkingFormat===`ant-ling`&&e.reasoning&&n?.reasoningEffort){let t=e.thinkingLevelMap?.[n.reasoningEffort];typeof t==`string`&&(d.reasoning={effort:t})}else if(r.thinkingFormat===`together`&&e.reasoning){let t=d;t.reasoning={enabled:!!n?.reasoningEffort},n?.reasoningEffort&&r.supportsReasoningEffort&&(t.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort)}else if(r.thinkingFormat===`string-thinking`&&e.reasoning){let t=d;n?.reasoningEffort?t.thinking=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:e.thinkingLevelMap?.off!==null&&(t.thinking=e.thinkingLevelMap?.off??`none`)}else if(n?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort)d.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;else if(!n?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort){let t=e.thinkingLevelMap?.off;typeof t==`string`&&(d.reasoning_effort=t)}if(f&&m!==void 0&&Object.assign(d,{[f]:m}),e.compat?.openRouterRouting&&(d.provider=e.compat.openRouterRouting),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),d.providerOptions={gateway:e}}}let h=w(e,n?.reasoningEffort??`off`,n?.samplingParams);return h&&Object.assign(d,h),d}function K(e){if(e.thinkingTokenBudgetField)return e.thinkingTokenBudgetField;if(e.supportsThinkingTokenBudget)return`thinking_token_budget`}function se(e,t,n){if(!t?.reasoningEffort||!e.reasoning)return;let r=n.max_tokens??n.max_completion_tokens??e.maxTokens,i=S(x(t.reasoningEffort,t.thinkingBudgets),r);return i>0?i:void 0}function q(e,t,n,r){let i={};for(let[a,o]of Object.entries(n)){let n=ce(e,t,o,r);n!==void 0&&(i[a]=n)}return Object.keys(i).length>0?i:void 0}function ce(e,t,n,r){if(typeof n!=`object`||!n)return n;let i=t?.reasoningEffort;if(!i&&n.omitWhenOff)return;if(n.$var===`thinking.enabled`)return!!i;if(n.$var===`thinking.budget`)return r;let a=i?e.thinkingLevelMap?.[i]:e.thinkingLevelMap?.off;return a===void 0?i:typeof a==`string`?a:void 0}function le(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 ue(e,t,n){de(e,n),pe(t,n),fe(e,n)}function de(e,t){for(let n of e)if(n.role===`system`||n.role===`developer`){J(n,t);return}}function fe(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if((r.role===`user`||r.role===`assistant`||r.role===`tool`)&&me(r,t))return}}function pe(e,t){if(!e||e.length===0)return;let n=e[e.length-1];n.cache_control=t}function J(e,t){return Y(e,t)}function me(e,t){return e.role===`user`||e.role===`assistant`||e.role===`tool`?Y(e,t):!1}function Y(e,t){let n=e.content;if(typeof n==`string`)return n.length!==0&&(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 X(e,i,a,s){let c=t(i,a.supportsMidConvoSystemMessages),l=[],u=t=>{if(t.includes(`|`)){let e=t.indexOf(`|`),n=t.slice(0,e).replace(/[^a-zA-Z0-9_-]/g,`_`),r=t.slice(e+1).replace(/[^a-zA-Z0-9_-]/g,`_`),i=r.length>0?`${n}_${r}`:n;if(i.length<=40)return i;let a=A(t).slice(0,8);return`${n.slice(0,Math.max(1,40-a.length-1))}_${a}`}return e.provider===`openai`&&t.length>40?t.slice(0,40):t},d=T(c.messages,e,e=>u(e)),f=o(c.messages,a.supportsMidConvoSystemMessages===!0&&a.supportsMidConvoToolAdditions===!0),p=e.reasoning&&a.supportsDeveloperRole?`developer`:`system`,m=null;for(let t=0;t<d.length;t++){let i=d[t];if(a.requiresAssistantAfterToolResult&&m===`toolResult`&&i.role===`user`&&l.push({role:`assistant`,content:`I have processed the tool results.`}),i.role===`system`){let e=t>0&&f.anchorsAdditions?i.toolsAdded??[]:[];if(e.length>0){let t={role:`system`,tools:Z(e,a)};l.push(t)}let o=t===0?r(i):n(i);o.length>0&&l.push({role:p,content:v(o)})}else if(i.role===`user`){if(typeof i.content==`string`)l.push({role:`user`,content:v(i.content)});else{let e=i.content.filter(e=>e.type!==`text`||e.text.length>0).map(e=>e.type===`text`?{type:`text`,text:v(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});if(e.length===0)continue;l.push({role:`user`,content:e})}}else if(i.role===`assistant`){let t={role:`assistant`,content:a.requiresAssistantAfterToolResult?``:null},n=i.content.filter(P).filter(e=>e.text.trim().length>0).map(e=>({type:`text`,text:v(e.text)})),r=n.map(e=>e.text).join(``),o=i.content.filter(F),c=i.content.filter(I),u=o.map(e=>ne(e.thinkingSignature)).find(e=>e!==void 0),d=c.map(e=>re(e.thoughtSignature)).filter(e=>e!==void 0),f=u??(d.length>0?d:void 0),p=o.filter(e=>e.thinking.trim().length>0);if(p.length>0){if(a.requiresThinkingAsText)t.content=[{type:`text`,text:p.map(e=>v(e.thinking)).join(`
|
|
2
|
+
|
|
3
|
+
`)},...n];else if(r.length>0&&(t.content=r),!f){let n=p[0].thinkingSignature;e.provider===`opencode-go`&&n===`reasoning`&&(n=`reasoning_content`),n&&oe(n)&&(t[n]=p.map(e=>e.thinking).join(`
|
|
4
|
+
`))}}else r.length>0&&(t.content=r);c.length>0&&(t.tool_calls=c.map(e=>{let t=s?.grammarToolInputProperties?.get(e.name);return t===void 0?{id:e.id,type:`function`,function:{name:e.name,arguments:JSON.stringify(e.arguments)}}:{id:e.id,type:`custom`,custom:{name:e.name,input:v(h(e.name,e.arguments,t))}}})),f&&(t.reasoning_details=f),a.requiresReasoningContentOnAssistantMessages&&e.reasoning&&t.reasoning_content===void 0&&(t.reasoning_content=``);let m=t.content;if(!(m!=null&&m.length>0)&&!t.tool_calls)continue;l.push(t)}else if(i.role===`toolResult`){let n=[],r=t;for(;r<d.length&&d[r].role===`toolResult`;r++){let t=d[r],i=t.content.filter(P).map(e=>e.text).join(`
|
|
5
|
+
`),o=t.content.some(e=>e.type===`image`),s=i.length>0?i:o?`(see attached image)`:`(no tool output)`,c={role:`tool`,content:v(s),tool_call_id:t.toolCallId};if(a.requiresToolResultName&&t.toolName&&(c.name=t.toolName),l.push(c),o&&e.input.includes(`image`))for(let e of t.content)te(e)&&n.push({type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}})}t=r-1,n.length>0?(a.requiresAssistantAfterToolResult&&l.push({role:`assistant`,content:`I have processed the tool results.`}),l.push({role:`user`,content:[{type:`text`,text:`Attached image(s) from tool result:`},...n]}),m=`user`):m=`toolResult`;continue}m=i.role}return l}function Z(e,t){return e.map(e=>{let n=d(e,t.supportsOpenAIGrammarTools);if(n)return{type:`custom`,custom:{name:e.name,description:e.description,format:{type:`grammar`,grammar:{syntax:n.format,definition:n.definition}}}};let r=m(e,t.supportsStrictMode!==!1);return{type:`function`,function:{name:e.name,description:e.description,parameters:f(e,r),...t.supportsStrictMode!==!1&&{strict:r??!1}}}})}function Q(e,t){let n=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??e.cached_tokens??0,i=e.prompt_tokens_details?.cache_write_tokens||0,a=Math.max(0,n-r-i),o=e.completion_tokens||0,c={input:a,output:o,cacheRead:r,cacheWrite:i,reasoning:e.completion_tokens_details?.reasoning_tokens||0,totalTokens:a+o+r+i,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return s(t,c),c}function he(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 ge(e){let t=e.provider,n=e.baseUrl,r=t===`zai`||t===`zai-coding-cn`||n.includes(`api.z.ai`)||n.includes(`open.bigmodel.cn`),i=t===`together`||n.includes(`api.together.ai`)||n.includes(`api.together.xyz`),a=t===`moonshotai`||t===`moonshotai-cn`||n.includes(`api.moonshot.`),o=t===`openrouter`||n.includes(`openrouter.ai`),s=t===`cloudflare-workers-ai`||n.includes(`api.cloudflare.com`),c=t===`cloudflare-ai-gateway`||n.includes(`gateway.ai.cloudflare.com`),l=t===`nvidia`||n.includes(`integrate.api.nvidia.com`),u=t===`ant-ling`||n.includes(`api.ant-ling.com`),d=t===`cerebras`||n.includes(`cerebras.ai`),f=t===`deepseek`||n.toLowerCase().includes(`deepseek.com`),p=l||d||t===`xai`||n.includes(`api.x.ai`)||i||n.includes(`chutes.ai`)||f||r||a||t===`opencode`||n.includes(`opencode.ai`)||s||c||u,m=n.includes(`chutes.ai`)||f||a||c||i||l||u||r,h=t===`xai`||n.includes(`api.x.ai`),g=o&&(e.id.startsWith(`anthropic/`)||e.id.startsWith(`openai/`)),_=t===`openrouter`&&e.id.startsWith(`anthropic/`)?`anthropic`:void 0;return{supportsStore:!p,supportsDeveloperRole:g||!p&&!o,supportsReasoningEffort:!h&&!r&&!a&&!i&&!c&&!l&&!u,supportsUsageInStreaming:!0,supportsFinishReason:!0,maxTokensField:m?`max_tokens`:`max_completion_tokens`,requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:f,thinkingFormat:f?`deepseek`:r?`zai`:i?`together`:u?`ant-ling`:o?`openrouter`:`openai`,openRouterRouting:{},vercelGatewayRouting:{},chatTemplateKwargs:{},chatTemplateArgs:{},zaiToolStream:!1,supportsThinkingTokenBudget:!1,thinkingTokenBudgetField:void 0,supportsStrictMode:!1,supportsOpenAIGrammarTools:!1,supportsMidConvoSystemMessages:!1,supportsMidConvoToolAdditions:!1,cacheControlFormat:_,sendSessionAffinityHeaders:o,sessionAffinityFormat:o?`openrouter`:`openai`,supportsLongCacheRetention:!(i||s||c||l||u)}}function $(e){let t=ge(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,supportsFinishReason:e.compat.supportsFinishReason??t.supportsFinishReason,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,chatTemplateKwargs:e.compat.chatTemplateKwargs??t.chatTemplateKwargs,chatTemplateArgs:e.compat.chatTemplateArgs??t.chatTemplateArgs,zaiToolStream:e.compat.zaiToolStream??t.zaiToolStream,supportsThinkingTokenBudget:e.compat.supportsThinkingTokenBudget??t.supportsThinkingTokenBudget,thinkingTokenBudgetField:e.compat.thinkingTokenBudgetField??t.thinkingTokenBudgetField,supportsStrictMode:e.compat.supportsStrictMode??t.supportsStrictMode,supportsOpenAIGrammarTools:e.compat.supportsOpenAIGrammarTools??t.supportsOpenAIGrammarTools,supportsMidConvoSystemMessages:e.compat.supportsMidConvoSystemMessages??t.supportsMidConvoSystemMessages,supportsMidConvoToolAdditions:e.compat.supportsMidConvoToolAdditions??t.supportsMidConvoToolAdditions,cacheControlFormat:e.compat.cacheControlFormat??t.cacheControlFormat,sendSessionAffinityHeaders:e.compat.sendSessionAffinityHeaders??t.sendSessionAffinityHeaders,sessionAffinityFormat:e.compat.sessionAffinityFormat??t.sessionAffinityFormat,supportsLongCacheRetention:e.compat.supportsLongCacheRetention??t.supportsLongCacheRetention,vllmPriority:e.compat.vllmPriority}:t}export{X as convertMessages,H as stream,U as streamSimple};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{i as e}from"./diagnostics-B-5VkVir.js";import{b as t,d as n,g as r,h as i,n as a,t as o,y as s}from"./models-DMUS_WIm.js";import{n as c}from"./json-parse-ClXMvBdK.js";import{t as l}from"./provider-env-CILujRmO.js";import{t as u}from"./headers-FK4rgixo.js";import{a as d,i as f,n as p,o as m,r as h,s as g,t as _}from"./constrained-sampling-auYJ_zjz.js";import{t as ee}from"./provider-retry-RVfYd5Vz.js";import{t as v}from"./sanitize-unicode-DmIE6hZJ.js";import{n as y,t as b}from"./github-copilot-headers-DRgtIyTm.js";import{c as x,o as S,r as C,s as w,t as T}from"./transform-messages-DuvHh3qm.js";import{n as E}from"./openai-zaDKJgTh.js";import{n as D,t as O}from"./error-body-pkrba6pf.js";import{t as k}from"./openai-prompt-cache-DXo9f3w5.js";import{t as A}from"./hash-yQufAZII.js";function j(e,t){if(!e)return!1;let n=t.toLowerCase();for(let[t,r]of Object.entries(e))if(t.toLowerCase()===n&&r!==null&&r.trim().length>0)return!0;return!1}function M(e,t,n){if(t)return t;if(j(n,`authorization`)||j(n,`cf-aig-authorization`))return`unused`;throw Error(`No API key for provider: ${e}`)}function N(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 P(e){return e.type===`text`}function F(e){return e.type===`thinking`}function I(e){return e.type===`toolCall`}function te(e){return e.type===`image`}function L(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function R(e){return(e.id===void 0||e.id===null||typeof e.id==`string`)&&(e.format===void 0||typeof e.format==`string`)&&(e.index===void 0||typeof e.index==`number`)}function z(e){if(!L(e)||!R(e))return!1;switch(e.type){case`reasoning.summary`:return typeof e.summary==`string`;case`reasoning.encrypted`:return typeof e.data==`string`;case`reasoning.text`:return typeof e.text==`string`&&(e.signature===void 0||e.signature===null||typeof e.signature==`string`);default:return!1}}function ne(e){if(e)try{let t=JSON.parse(e);return Array.isArray(t)&&t.length>0&&t.every(z)?t:void 0}catch{return}}function re(e){if(e)try{let t=JSON.parse(e);return z(t)&&t.type===`reasoning.encrypted`&&typeof t.id==`string`&&t.id.length>0&&t.data.length>0?t:void 0}catch{return}}function B(e,t){e.id??=t.id,e.format||=t.format,e.index??=t.index}function ie(e,t){let n=e[e.length-1];if(t.type===`reasoning.text`&&n?.type===`reasoning.text`){n.text+=t.text,n.signature||=t.signature,B(n,t);return}if(t.type===`reasoning.summary`&&n?.type===`reasoning.summary`){n.summary+=t.summary,B(n,t);return}e.push({...t})}const ae=[`reasoning`,`reasoning_content`,`reasoning_text`];function oe(e){return ae.includes(e)}function V(e,t){return e||(l(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}const H=(t,r,a)=>{let o=new e,s=i(r,$(t).supportsMidConvoSystemMessages);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:`pending`,timestamp:Date.now()},r,i=e=>{r!==void 0&&(e.thinkingSignature=JSON.stringify(r))};try{let l=M(t.provider,a?.apiKey,a?.headers),d=$(t),f=p(n(s.messages),d.supportsOpenAIGrammarTools),m=V(a?.cacheRetention,a?.env),h=m===`none`?void 0:a?.sessionId,g=W(t,s,l,a?.headers,a?.fetch,h,d),v=G(t,s,a,d,m,f),y=await a?.onPayload?.(v,t);y!==void 0&&(v=y);let b={...a?.signal?{signal:a.signal}:{},...a?.timeoutMs===void 0?{}:{timeout:a.timeoutMs},maxRetries:0},{data:x,response:S}=await ee(()=>g.chat.completions.create(v,b).withResponse(),{maxRetries:a?.maxRetries,maxRetryDelayMs:a?.maxRetryDelayMs,signal:a?.signal});await a?.onResponse?.({status:S.status,headers:u(S.headers)},t),o.push({type:`start`,partial:e});let C=null,w=null,T=!1,E=new Map,D=new Map,O=e.content,k=e=>O.indexOf(e),A=e=>{let t=e.customInput?.property;if(t===void 0)return``;let n=e.arguments[t];return typeof n==`string`?n:``},j=(e,t,n)=>{let r=e.customInput;if(!r)return;let i=_(r.jsonBuffer,r.property,t,n);return e.arguments={[r.property]:t},i},N=t=>{let n=k(t);if(n!==-1){if(t.type===`text`)o.push({type:`text_end`,contentIndex:n,content:t.text,partial:e});else if(t.type===`thinking`)i(t),o.push({type:`thinking_end`,contentIndex:n,content:t.thinking,partial:e});else if(t.type===`toolCall`){if(t.customInput){let r=j(t,A(t),!0);r!==void 0&&o.push({type:`toolcall_delta`,contentIndex:n,delta:r,partial:e})}else t.arguments=c(t.partialArgs);delete t.partialArgs,delete t.customInput,delete t.streamIndex,o.push({type:`toolcall_end`,contentIndex:n,toolCall:t,partial:e})}}},P=()=>(C||(C={type:`text`,text:``},O.push(C),o.push({type:`text_start`,contentIndex:k(C),partial:e})),C),F=t=>(w||(w={type:`thinking`,thinking:``,thinkingSignature:t},O.push(w),o.push({type:`thinking_start`,contentIndex:k(w),partial:e})),w),I=t=>{let n=typeof t.index==`number`?t.index:void 0,r=t.function?.name??t.custom?.name??``,i=n===void 0?void 0:E.get(n);if(!i&&t.id&&(i=D.get(t.id)),!i){let a=t.custom&&!t.function?f.get(r)??`input`:void 0,s=a!==void 0;i={type:`toolCall`,id:t.id||``,name:r,arguments:s?{[a]:``}:{},partialArgs:s?void 0:``,customInput:s?{property:a,jsonBuffer:{input:``,started:!1,closed:!1}}:void 0,streamIndex:n},n!==void 0&&E.set(n,i),t.id&&D.set(t.id,i),O.push(i),o.push({type:`toolcall_start`,contentIndex:k(i),partial:e})}if(n!==void 0&&i.streamIndex===void 0&&(i.streamIndex=n,E.set(n,i)),t.id&&D.set(t.id,i),!i.name&&r&&(i.name=r),t.custom&&!t.function&&!i.customInput){let e=f.get(i.name)??`input`;i.arguments={[e]:``},i.customInput={property:e,jsonBuffer:{input:``,started:!1,closed:!1}},delete i.partialArgs}return i};for await(let n of x){if(await a?.onProviderStreamEvent?.(n,t),!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=Q(n.usage,t));let i=Array.isArray(n.choices)?n.choices[0]:void 0;if(i){if(!n.usage&&i.usage&&(e.usage=Q(i.usage,t)),i.finish_reason){e.rawStopReason=i.finish_reason;let t=he(i.finish_reason);e.stopReason=t.stopReason,t.errorMessage&&(e.errorMessage=t.errorMessage),T=!0}if(i.delta){if(i.delta.content!==null&&i.delta.content!==void 0&&i.delta.content.length>0){let t=P();t.text+=i.delta.content,o.push({type:`text_delta`,contentIndex:k(t),delta:i.delta.content,partial:e})}let n=[`reasoning_content`,`reasoning`,`reasoning_text`],a=i.delta,s=null;for(let e of n){let t=a[e];if(typeof t==`string`&&t.length>0){s=e;break}}if(s){let n=a[s];if(typeof n==`string`&&n.length>0){let r=F(t.provider===`opencode-go`&&s===`reasoning`?`reasoning_content`:s);r.thinking+=n,o.push({type:`thinking_delta`,contentIndex:k(r),delta:n,partial:e})}}if(i?.delta?.tool_calls)for(let t of i.delta.tool_calls){let n=I(t);!n.id&&t.id&&(n.id=t.id,D.set(t.id,n));let r=t.function?.name??t.custom?.name;!n.name&&r&&(n.name=r);let i=``;t.function?.arguments?(i=t.function.arguments,n.partialArgs=(n.partialArgs??``)+t.function.arguments,n.arguments=c(n.partialArgs)):t.custom?.input&&(i=j(n,A(n)+t.custom.input,!1)??``),o.push({type:`toolcall_delta`,contentIndex:k(n),delta:i,partial:e})}let l=i.delta.reasoning_details;if(Array.isArray(l))for(let e of l)z(e)&&(F(``),r??=[],ie(r,e))}}}for(let e of O)N(e);if(a?.signal?.aborted||e.stopReason===`aborted`)throw Error(`Request was aborted`);if(!T&&!d.supportsFinishReason&&(e.stopReason=e.content.some(e=>e.type===`toolCall`)?`toolUse`:`stop`),e.stopReason===`error`)throw Error(e.errorMessage||`Provider returned an error stop reason`);if(d.supportsFinishReason&&!T||e.stopReason===`pending`)throw Error(`Stream ended without finish_reason`);o.push({type:`done`,reason:e.stopReason,message:e}),o.end()}catch(t){for(let t of e.content)t.type===`thinking`&&i(t),delete t.index,delete t.partialArgs,delete t.customInput,delete t.streamIndex;e.stopReason=a?.signal?.aborted?`aborted`:`error`,e.errorMessage=O(D(t));let n=t?.error?.metadata?.raw;n&&!e.errorMessage.includes(String(n))&&(e.errorMessage+=`\n${n}`),o.push({type:`error`,reason:e.stopReason,error:e}),o.end()}})(),o},U=(e,t,n)=>{M(e.provider,n?.apiKey,n?.headers);let r={...C(e,t,n,n?.apiKey),toolChoice:n?.toolChoice},i=n?.reasoning?a(e,n.reasoning):void 0,o=i===`off`?void 0:i;return H(e,t,{...r,reasoningEffort:o,thinkingBudgets:n?.thinkingBudgets})};function W(e,t,n,r,i,a,o=$(e)){let s={"User-Agent":g(),...e.headers};if(e.provider===`github-copilot`){let e=y(t.messages),n=b({messages:t.messages,hasImages:e});Object.assign(s,n)}return a&&o.sendSessionAffinityHeaders&&(o.sessionAffinityFormat===`openrouter`?s[`x-session-id`]=a:(o.sessionAffinityFormat===`openai`&&(s.session_id=a),s[`x-client-request-id`]=a,s[`x-session-affinity`]=a)),r&&Object.assign(s,r),new E({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:i,defaultHeaders:s})}function G(e,t,i,a=$(e),o=V(i?.cacheRetention,i?.env),s=p(n(t.messages),a.supportsOpenAIGrammarTools)){let c=r(t.messages,a.supportsMidConvoSystemMessages===!0&&a.supportsMidConvoToolAdditions===!0),l=X(e,t,a,{grammarToolInputProperties:s}),u=le(a,o),d={model:e.id,messages:l,stream:!0,prompt_cache_key:e.baseUrl.includes(`api.openai.com`)&&o!==`none`||o===`long`&&a.supportsLongCacheRetention?k(i?.sessionId):void 0,prompt_cache_retention:o===`long`&&a.supportsLongCacheRetention?`24h`:void 0};a.supportsUsageInStreaming!==!1&&(d.stream_options={include_usage:!0}),a.supportsStore&&(d.store=!1),i?.maxTokens&&(a.maxTokensField===`max_tokens`?d.max_tokens=i.maxTokens:d.max_completion_tokens=i.maxTokens),i?.temperature!==void 0&&(d.temperature=i.temperature),c.requestTools.length>0?(d.tools=Z(c.requestTools,a),a.zaiToolStream&&(d.tool_stream=!0)):N(t.messages)&&(d.tools=[]),u&&ue(l,d.tools,u),i?.toolChoice&&(d.tool_choice=i.toolChoice),a.vllmPriority!==void 0&&(d.priority=a.vllmPriority);let f=K(a),m=se(e,i,d);if(a.thinkingFormat===`zai`&&e.reasoning){let t=d;if(t.thinking=i?.reasoningEffort?{type:`enabled`,clear_thinking:!1}:{type:`disabled`},i?.reasoningEffort&&a.supportsReasoningEffort){let n=e.thinkingLevelMap?.[i.reasoningEffort],r=n===void 0?i.reasoningEffort:n;typeof r==`string`&&(t.reasoning_effort=r)}}else if(a.thinkingFormat===`qwen`&&e.reasoning){if(d.enable_thinking=!!i?.reasoningEffort,i?.reasoningEffort&&a.supportsReasoningEffort){let t=e.thinkingLevelMap?.[i.reasoningEffort]??i.reasoningEffort;typeof t==`string`&&(d.reasoning_effort=t)}}else if(a.thinkingFormat===`qwen-chat-template`&&e.reasoning)d.chat_template_kwargs={enable_thinking:!!i?.reasoningEffort,preserve_thinking:!0};else if(a.thinkingFormat===`chat-template`&&e.reasoning){let t=q(e,i,a.chatTemplateKwargs,m);t&&(d.chat_template_kwargs=t)}else if(a.thinkingFormat===`baseten`&&e.reasoning){let t=d,n=q(e,i,a.chatTemplateArgs,m);if(n&&(t.chat_template_args=n),a.supportsReasoningEffort){let n=i?.reasoningEffort,r=n?e.thinkingLevelMap?.[n]:e.thinkingLevelMap?.off,a=r===void 0?n:r;typeof a==`string`&&(t.reasoning_effort=a)}}else if(a.thinkingFormat===`deepseek`&&e.reasoning)i?.reasoningEffort?d.thinking={type:`enabled`}:e.thinkingLevelMap?.off!==null&&(d.thinking={type:`disabled`}),i?.reasoningEffort&&a.supportsReasoningEffort&&(d.reasoning_effort=e.thinkingLevelMap?.[i.reasoningEffort]??i.reasoningEffort);else if(a.thinkingFormat===`openrouter`&&e.reasoning){let t=d;i?.reasoningEffort?t.reasoning={effort:e.thinkingLevelMap?.[i.reasoningEffort]??i.reasoningEffort}:e.thinkingLevelMap?.off!==null&&(t.reasoning={effort:e.thinkingLevelMap?.off??`none`})}else if(a.thinkingFormat===`ant-ling`&&e.reasoning&&i?.reasoningEffort){let t=e.thinkingLevelMap?.[i.reasoningEffort];typeof t==`string`&&(d.reasoning={effort:t})}else if(a.thinkingFormat===`together`&&e.reasoning){let t=d;t.reasoning={enabled:!!i?.reasoningEffort},i?.reasoningEffort&&a.supportsReasoningEffort&&(t.reasoning_effort=e.thinkingLevelMap?.[i.reasoningEffort]??i.reasoningEffort)}else if(a.thinkingFormat===`string-thinking`&&e.reasoning){let t=d;i?.reasoningEffort?t.thinking=e.thinkingLevelMap?.[i.reasoningEffort]??i.reasoningEffort:e.thinkingLevelMap?.off!==null&&(t.thinking=e.thinkingLevelMap?.off??`none`)}else if(i?.reasoningEffort&&e.reasoning&&a.supportsReasoningEffort)d.reasoning_effort=e.thinkingLevelMap?.[i.reasoningEffort]??i.reasoningEffort;else if(!i?.reasoningEffort&&e.reasoning&&a.supportsReasoningEffort){let t=e.thinkingLevelMap?.off;typeof t==`string`&&(d.reasoning_effort=t)}if(f&&m!==void 0&&Object.assign(d,{[f]:m}),e.compat?.openRouterRouting&&(d.provider=e.compat.openRouterRouting),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),d.providerOptions={gateway:e}}}let h=w(e,i?.reasoningEffort??`off`,i?.samplingParams);return h&&Object.assign(d,h),d}function K(e){if(e.thinkingTokenBudgetField)return e.thinkingTokenBudgetField;if(e.supportsThinkingTokenBudget)return`thinking_token_budget`}function se(e,t,n){if(!t?.reasoningEffort||!e.reasoning)return;let r=n.max_tokens??n.max_completion_tokens??e.maxTokens,i=S(x(t.reasoningEffort,t.thinkingBudgets),r);return i>0?i:void 0}function q(e,t,n,r){let i={};for(let[a,o]of Object.entries(n)){let n=ce(e,t,o,r);n!==void 0&&(i[a]=n)}return Object.keys(i).length>0?i:void 0}function ce(e,t,n,r){if(typeof n!=`object`||!n)return n;let i=t?.reasoningEffort;if(!i&&n.omitWhenOff)return;if(n.$var===`thinking.enabled`)return!!i;if(n.$var===`thinking.budget`)return r;let a=i?e.thinkingLevelMap?.[i]:e.thinkingLevelMap?.off;return a===void 0?i:typeof a==`string`?a:void 0}function le(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 ue(e,t,n){de(e,n),pe(t,n),fe(e,n)}function de(e,t){for(let n of e)if(n.role===`system`||n.role===`developer`){J(n,t);return}}function fe(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if((r.role===`user`||r.role===`assistant`||r.role===`tool`)&&me(r,t))return}}function pe(e,t){if(!e||e.length===0)return;let n=e[e.length-1];n.cache_control=t}function J(e,t){return Y(e,t)}function me(e,t){return e.role===`user`||e.role===`assistant`||e.role===`tool`?Y(e,t):!1}function Y(e,t){let n=e.content;if(typeof n==`string`)return n.length!==0&&(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 X(e,n,a,o){let c=i(n,a.supportsMidConvoSystemMessages),l=[],u=t=>{if(t.includes(`|`)){let e=t.indexOf(`|`),n=t.slice(0,e).replace(/[^a-zA-Z0-9_-]/g,`_`),r=t.slice(e+1).replace(/[^a-zA-Z0-9_-]/g,`_`),i=r.length>0?`${n}_${r}`:n;if(i.length<=40)return i;let a=A(t).slice(0,8);return`${n.slice(0,Math.max(1,40-a.length-1))}_${a}`}return e.provider===`openai`&&t.length>40?t.slice(0,40):t},d=T(c.messages,e,e=>u(e)),f=r(c.messages,a.supportsMidConvoSystemMessages===!0&&a.supportsMidConvoToolAdditions===!0),p=e.reasoning&&a.supportsDeveloperRole?`developer`:`system`,m=null;for(let n=0;n<d.length;n++){let r=d[n];if(a.requiresAssistantAfterToolResult&&m===`toolResult`&&r.role===`user`&&l.push({role:`assistant`,content:`I have processed the tool results.`}),r.role===`system`){let e=n>0&&f.anchorsAdditions?r.toolsAdded??[]:[];if(e.length>0){let t={role:`system`,tools:Z(e,a)};l.push(t)}let i=n===0?s(r):t(r);i.length>0&&l.push({role:p,content:v(i)})}else if(r.role===`user`){if(typeof r.content==`string`)l.push({role:`user`,content:v(r.content)});else{let e=r.content.filter(e=>e.type!==`text`||e.text.length>0).map(e=>e.type===`text`?{type:`text`,text:v(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});if(e.length===0)continue;l.push({role:`user`,content:e})}}else if(r.role===`assistant`){let t={role:`assistant`,content:a.requiresAssistantAfterToolResult?``:null},n=r.content.filter(P).filter(e=>e.text.trim().length>0).map(e=>({type:`text`,text:v(e.text)})),i=n.map(e=>e.text).join(``),s=r.content.filter(F),c=r.content.filter(I),u=s.map(e=>ne(e.thinkingSignature)).find(e=>e!==void 0),d=c.map(e=>re(e.thoughtSignature)).filter(e=>e!==void 0),f=u??(d.length>0?d:void 0),p=s.filter(e=>e.thinking.trim().length>0);if(p.length>0){if(a.requiresThinkingAsText)t.content=[{type:`text`,text:p.map(e=>v(e.thinking)).join(`
|
|
2
|
+
|
|
3
|
+
`)},...n];else if(i.length>0&&(t.content=i),!f){let n=p[0].thinkingSignature;e.provider===`opencode-go`&&n===`reasoning`&&(n=`reasoning_content`),n&&oe(n)&&(t[n]=p.map(e=>e.thinking).join(`
|
|
4
|
+
`))}}else i.length>0&&(t.content=i);c.length>0&&(t.tool_calls=c.map(e=>{let t=o?.grammarToolInputProperties?.get(e.name);return t===void 0?{id:e.id,type:`function`,function:{name:e.name,arguments:JSON.stringify(e.arguments)}}:{id:e.id,type:`custom`,custom:{name:e.name,input:v(h(e.name,e.arguments,t))}}})),f&&(t.reasoning_details=f),a.requiresReasoningContentOnAssistantMessages&&e.reasoning&&t.reasoning_content===void 0&&(t.reasoning_content=``);let m=t.content;if(!(m!=null&&m.length>0)&&!t.tool_calls)continue;l.push(t)}else if(r.role===`toolResult`){let t=[],r=n;for(;r<d.length&&d[r].role===`toolResult`;r++){let n=d[r],i=n.content.filter(P).map(e=>e.text).join(`
|
|
5
|
+
`),o=n.content.some(e=>e.type===`image`),s=i.length>0?i:o?`(see attached image)`:`(no tool output)`,c={role:`tool`,content:v(s),tool_call_id:n.toolCallId};if(a.requiresToolResultName&&n.toolName&&(c.name=n.toolName),l.push(c),o&&e.input.includes(`image`))for(let e of n.content)te(e)&&t.push({type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}})}n=r-1,t.length>0?(a.requiresAssistantAfterToolResult&&l.push({role:`assistant`,content:`I have processed the tool results.`}),l.push({role:`user`,content:[{type:`text`,text:`Attached image(s) from tool result:`},...t]}),m=`user`):m=`toolResult`;continue}m=r.role}return l}function Z(e,t){return e.map(e=>{let n=d(e,t.supportsOpenAIGrammarTools);if(n)return{type:`custom`,custom:{name:e.name,description:e.description,format:{type:`grammar`,grammar:{syntax:n.format,definition:n.definition}}}};let r=m(e,t.supportsStrictMode!==!1);return{type:`function`,function:{name:e.name,description:e.description,parameters:f(e,r),...t.supportsStrictMode!==!1&&{strict:r??!1}}}})}function Q(e,t){let n=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??e.cached_tokens??0,i=e.prompt_tokens_details?.cache_write_tokens||0,a=Math.max(0,n-r-i),s=e.completion_tokens||0,c={input:a,output:s,cacheRead:r,cacheWrite:i,reasoning:e.completion_tokens_details?.reasoning_tokens||0,totalTokens:a+s+r+i,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return o(t,c),c}function he(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 ge(e){let t=e.provider,n=e.baseUrl,r=t===`zai`||t===`zai-coding-cn`||n.includes(`api.z.ai`)||n.includes(`open.bigmodel.cn`),i=t===`together`||n.includes(`api.together.ai`)||n.includes(`api.together.xyz`),a=t===`moonshotai`||t===`moonshotai-cn`||n.includes(`api.moonshot.`),o=t===`openrouter`||n.includes(`openrouter.ai`),s=t===`cloudflare-workers-ai`||n.includes(`api.cloudflare.com`),c=t===`cloudflare-ai-gateway`||n.includes(`gateway.ai.cloudflare.com`),l=t===`nvidia`||n.includes(`integrate.api.nvidia.com`),u=t===`ant-ling`||n.includes(`api.ant-ling.com`),d=t===`cerebras`||n.includes(`cerebras.ai`),f=t===`deepseek`||n.toLowerCase().includes(`deepseek.com`),p=l||d||t===`xai`||n.includes(`api.x.ai`)||i||n.includes(`chutes.ai`)||f||r||a||t===`opencode`||n.includes(`opencode.ai`)||s||c||u,m=n.includes(`chutes.ai`)||f||a||c||i||l||u||r,h=t===`xai`||n.includes(`api.x.ai`),g=o&&(e.id.startsWith(`anthropic/`)||e.id.startsWith(`openai/`)),_=t===`openrouter`&&e.id.startsWith(`anthropic/`)?`anthropic`:void 0;return{supportsStore:!p,supportsDeveloperRole:g||!p&&!o,supportsReasoningEffort:!h&&!r&&!a&&!i&&!c&&!l&&!u,supportsUsageInStreaming:!0,supportsFinishReason:!0,maxTokensField:m?`max_tokens`:`max_completion_tokens`,requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:f,thinkingFormat:f?`deepseek`:r?`zai`:i?`together`:u?`ant-ling`:o?`openrouter`:`openai`,openRouterRouting:{},vercelGatewayRouting:{},chatTemplateKwargs:{},chatTemplateArgs:{},zaiToolStream:!1,supportsThinkingTokenBudget:!1,thinkingTokenBudgetField:void 0,supportsStrictMode:!1,supportsOpenAIGrammarTools:!1,supportsMidConvoSystemMessages:!1,supportsMidConvoToolAdditions:!1,cacheControlFormat:_,sendSessionAffinityHeaders:o,sessionAffinityFormat:o?`openrouter`:`openai`,supportsLongCacheRetention:!(i||s||c||l||u)}}function $(e){let t=ge(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,supportsFinishReason:e.compat.supportsFinishReason??t.supportsFinishReason,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,chatTemplateKwargs:e.compat.chatTemplateKwargs??t.chatTemplateKwargs,chatTemplateArgs:e.compat.chatTemplateArgs??t.chatTemplateArgs,zaiToolStream:e.compat.zaiToolStream??t.zaiToolStream,supportsThinkingTokenBudget:e.compat.supportsThinkingTokenBudget??t.supportsThinkingTokenBudget,thinkingTokenBudgetField:e.compat.thinkingTokenBudgetField??t.thinkingTokenBudgetField,supportsStrictMode:e.compat.supportsStrictMode??t.supportsStrictMode,supportsOpenAIGrammarTools:e.compat.supportsOpenAIGrammarTools??t.supportsOpenAIGrammarTools,supportsMidConvoSystemMessages:e.compat.supportsMidConvoSystemMessages??t.supportsMidConvoSystemMessages,supportsMidConvoToolAdditions:e.compat.supportsMidConvoToolAdditions??t.supportsMidConvoToolAdditions,cacheControlFormat:e.compat.cacheControlFormat??t.cacheControlFormat,sendSessionAffinityHeaders:e.compat.sendSessionAffinityHeaders??t.sendSessionAffinityHeaders,sessionAffinityFormat:e.compat.sessionAffinityFormat??t.sessionAffinityFormat,supportsLongCacheRetention:e.compat.supportsLongCacheRetention??t.supportsLongCacheRetention,vllmPriority:e.compat.vllmPriority}:t}export{X as convertMessages,H as stream,U as streamSimple};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e,t}from"./error-body-pkrba6pf.js";import{i as n,n as r,r as i,t as a}from"./classifier-shared-BJysQIY7.js";const o=`OpenAI Decisions`;function s(e){let t=[e.criteria.true?`True means: ${e.criteria.true}`:``,e.criteria.false?`False means: ${e.criteria.false}`:``].filter(Boolean);return t.length>0?`${e.instructions}\n\n${t.join(`
|
|
2
|
+
`)}`:e.instructions}function c(e,t){return t.type===`choice`?{type:`choice`,name:e,instructions:t.instructions,choices:Object.entries(t.criteria).map(([e,t])=>t?{value:e,description:t}:{value:e})}:t.type===`score`?{type:`score`,name:e,instructions:t.instructions,levels:t.criteria.map(e=>({label:e}))}:{type:`predicate`,name:e,instructions:s(t)}}function l(e){let t=JSON.stringify(e.state),n=e.images??[];if(n.length===0)return t;if(n.length>128)throw Error(`${o} accepts at most 128 images, got ${n.length}`);return[{role:`user`,content:[{type:`input_text`,text:t},...n.map(e=>({type:`input_image`,image_url:`data:${e.mimeType};base64,${e.data}`}))]}]}function u(e,t){if(!Array.isArray(e))throw Error(`${o} returned invalid probabilities for ${t}`);return Object.fromEntries(e.map(e=>{if(!a(e)||typeof e.value!=`string`)throw Error(`${o} returned invalid probabilities for ${t}`);return[e.value,n(o,e.probability,`probability for ${t}.${e.value}`)]}))}function d(e,t,r){if(r.type===`refusal`)throw Error(`${o} refused to answer ${e}`);if(t.type===`choice`){if(r.type!==`choice`||typeof r.choice!=`string`)throw Error(`${o} did not return a choice answer for ${e}`);return{type:`choice`,choice:r.choice,probabilities:u(r.probabilities,e),confidence:n(o,r.confidence,`confidence for ${e}`)}}if(t.type===`score`){if(r.type!==`score`)throw Error(`${o} did not return a score answer for ${e}`);return{type:`score`,score:n(o,r.score,`score for ${e}`),confidence:n(o,r.confidence,`confidence for ${e}`)}}if(r.type!==`predicate`)throw Error(`${o} did not return a predicate answer for ${e}`);return{type:`bool`,probability:n(o,r.probability,`probability for ${e}`)}}function f(e,t){if(!Array.isArray(e))throw Error(`${o} returned an unexpected response`);let n=new Map;for(let t of e)a(t)&&typeof t.name==`string`&&n.set(t.name,t);return Object.fromEntries(Object.entries(t.questions).map(([e,t])=>{let r=n.get(e);if(!r)throw Error(`${o} did not return an answer for ${e}`);return[e,d(e,t,r)]}))}const p=[504];function m(n){return n.status===504?`${o} error (504): the request timed out at the gateway. Very large inputs (above roughly 600K tokens) currently exceed its time limit.`:t(e(n),`${o} error`)}const h=async(e,t,n)=>{let s={api:e.api,provider:e.provider,model:e.id,answers:{},stopReason:`stop`,timestamp:Date.now()};try{if(e.api!==`openai-decisions`)throw Error(`Unsupported classifier API: ${e.api}`);let u=await i(o,new URL(`decisions`,`${e.baseUrl.replace(/\/+$/u,``)}/`),e,{model:e.id,input:l(t),questions:Object.entries(t.questions).map(([e,t])=>c(e,t))},n,p);if(!a(u))throw Error(`${o} returned an unexpected response`);let d=r(u.usage,e);return d&&(s.usage=d),s.answers=f(u.answers,t),s}catch(e){return s.answers={},s.stopReason=n?.signal?.aborted?`aborted`:`error`,s.errorMessage=m(e),s}};export{h as classify};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e,t}from"./error-body-pkrba6pf.js";import{i as n,n as r,r as i,t as a}from"./classifier-shared-DgL5N50m.js";var o=`OpenAI Decisions`,s=128;function c(e){let t=[e.criteria.true?`True means: ${e.criteria.true}`:``,e.criteria.false?`False means: ${e.criteria.false}`:``].filter(Boolean);return t.length>0?`${e.instructions}\n\n${t.join(`
|
|
2
|
+
`)}`:e.instructions}function l(e,t){return t.type===`choice`?{type:`choice`,name:e,instructions:t.instructions,choices:Object.entries(t.criteria).map(([e,t])=>t?{value:e,description:t}:{value:e})}:t.type===`score`?{type:`score`,name:e,instructions:t.instructions,levels:t.criteria.map(e=>({label:e}))}:{type:`predicate`,name:e,instructions:c(t)}}function u(e){let t=JSON.stringify(e.state),n=e.images??[];if(n.length===0)return t;if(n.length>s)throw Error(`${o} accepts at most ${s} images, got ${n.length}`);return[{role:`user`,content:[{type:`input_text`,text:t},...n.map(e=>({type:`input_image`,image_url:`data:${e.mimeType};base64,${e.data}`}))]}]}function d(e,t){if(!Array.isArray(e))throw Error(`${o} returned invalid probabilities for ${t}`);return Object.fromEntries(e.map(e=>{if(!a(e)||typeof e.value!=`string`)throw Error(`${o} returned invalid probabilities for ${t}`);return[e.value,n(o,e.probability,`probability for ${t}.${e.value}`)]}))}function f(e,t,r){if(r.type===`refusal`)throw Error(`${o} refused to answer ${e}`);if(t.type===`choice`){if(r.type!==`choice`||typeof r.choice!=`string`)throw Error(`${o} did not return a choice answer for ${e}`);return{type:`choice`,choice:r.choice,probabilities:d(r.probabilities,e),confidence:n(o,r.confidence,`confidence for ${e}`)}}if(t.type===`score`){if(r.type!==`score`)throw Error(`${o} did not return a score answer for ${e}`);return{type:`score`,score:n(o,r.score,`score for ${e}`),confidence:n(o,r.confidence,`confidence for ${e}`)}}if(r.type!==`predicate`)throw Error(`${o} did not return a predicate answer for ${e}`);return{type:`bool`,probability:n(o,r.probability,`probability for ${e}`)}}function p(e,t){if(!Array.isArray(e))throw Error(`${o} returned an unexpected response`);let n=new Map;for(let t of e)a(t)&&typeof t.name==`string`&&n.set(t.name,t);return Object.fromEntries(Object.entries(t.questions).map(([e,t])=>{let r=n.get(e);if(!r)throw Error(`${o} did not return an answer for ${e}`);return[e,f(e,t,r)]}))}var m=[504];function h(n){return n.status===504?`${o} error (504): the request timed out at the gateway. Very large inputs (above roughly 600K tokens) currently exceed its time limit.`:t(e(n),`${o} error`)}var g=async(e,t,n)=>{let s={api:e.api,provider:e.provider,model:e.id,answers:{},stopReason:`stop`,timestamp:Date.now()};try{if(e.api!==`openai-decisions`)throw Error(`Unsupported classifier API: ${e.api}`);let c=await i(o,new URL(`decisions`,`${e.baseUrl.replace(/\/+$/u,``)}/`),e,{model:e.id,input:u(t),questions:Object.entries(t.questions).map(([e,t])=>l(e,t))},n,m);if(!a(c))throw Error(`${o} returned an unexpected response`);let d=r(c.usage,e);return d&&(s.usage=d),s.answers=p(c.answers,t),s}catch(e){return s.answers={},s.stopReason=n?.signal?.aborted?`aborted`:`error`,s.errorMessage=h(e),s}};export{g as classify};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./diagnostics-B-5VkVir.js";import{f as t,l as n,n as r,p as i}from"./models-D9KYIFyv.js";import{t as a}from"./provider-env-CTOcDKrQ.js";import{t as o}from"./headers-FK4rgixo.js";import{n as s,s as c}from"./constrained-sampling-DOxF6Eck.js";import{t as l}from"./provider-retry-RVfYd5Vz.js";import{n as u,t as d}from"./github-copilot-headers-DRgtIyTm.js";import{r as f,s as p}from"./transform-messages-DF4OdhKs.js";import{n as m}from"./openai-CmkcIaBM.js";import{n as h,t as g}from"./error-body-pkrba6pf.js";import{t as _}from"./openai-prompt-cache-DXo9f3w5.js";import{n as v,r as y,t as b}from"./openai-responses-shared-BkcHIDFS.js";var x=new Set([`openai`,`openai-codex`,`opencode`]),S=16,C=`https://chatgpt.com/settings/usage`;function w(e,t){return e.provider===`openai`&&e.baseUrl===`https://api.openai.com/v1`&&t!==void 0&&!t.startsWith(`sk-`)}function T(e,t){if(!e)return!1;let n=t.toLowerCase();for(let[t,r]of Object.entries(e))if(t.toLowerCase()===n&&r!==null&&r.trim().length>0)return!0;return!1}function E(e,t,n){if(t)return t;if(T(n,`authorization`)||T(n,`cf-aig-authorization`))return`unused`;throw Error(`No API key for provider: ${e}`)}function D(e){return e.provider===`openrouter`||e.baseUrl.includes(`openrouter.ai`)?`openrouter`:`openai`}function O(e,t){return e||(a(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}function k(e){return{supportsDeveloperRole:e.compat?.supportsDeveloperRole??!0,supportsMidConvoSystemMessages:e.compat?.supportsMidConvoSystemMessages??!1,sessionAffinityFormat:e.compat?.sessionAffinityFormat??D(e),supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0,supportsStrictMode:e.compat?.supportsStrictMode??!1,supportsOpenAIGrammarTools:e.compat?.supportsOpenAIGrammarTools??!1,supportsAdditionalTools:e.compat?.supportsAdditionalTools??!1,supportsToolSearch:e.compat?.supportsToolSearch??!1,supportsExplicitPromptCacheMode:e.compat?.supportsExplicitPromptCacheMode??!1,supportsMaxOutputTokens:e.compat?.supportsMaxOutputTokens??!0}}function A(e,t){return t===`long`&&e.supportsLongCacheRetention&&!e.supportsExplicitPromptCacheMode?`24h`:void 0}function j(e,t){if(e.supportsExplicitPromptCacheMode){if(t===`none`)return{mode:`explicit`};if(t===`long`&&e.supportsLongCacheRetention)return{ttl:`30m`}}}var M=(r,i,a)=>{let c=new e,u=t(i,k(r).supportsMidConvoSystemMessages);return(async()=>{let e={role:`assistant`,content:[],api:r.api,provider:r.provider,model:r.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`pending`,timestamp:Date.now()};try{let t=E(r.provider,a?.apiKey,a?.headers),i=O(a?.cacheRetention,a?.env)===`none`?void 0:a?.sessionId,d=k(r),f=s(n(u.messages),d.supportsOpenAIGrammarTools),p=P(r,u,t,a?.headers,a?.fetch,i),m=F(r,u,a,d,f),h=await a?.onPayload?.(m,r);h!==void 0&&(m=h);let g={...a?.signal?{signal:a.signal}:{},...a?.timeoutMs===void 0?{}:{timeout:a.timeoutMs},maxRetries:0},{data:_,response:v}=await l(()=>p.responses.create(m,g).withResponse(),{maxRetries:a?.maxRetries,maxRetryDelayMs:a?.maxRetryDelayMs,signal:a?.signal});if(await a?.onResponse?.({status:v.status,headers:o(v.headers)},r),c.push({type:`start`,partial:e}),await y(_,e,c,r,{onProviderStreamEvent:a?.onProviderStreamEvent,serviceTier:a?.serviceTier,grammarToolInputProperties:f,applyServiceTierPricing:(e,t)=>L(e,t,r)}),a?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`pending`)throw Error(`OpenAI Responses stream ended without a stop reason`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(e.errorMessage||`An unknown error occurred`);c.push({type:`done`,reason:e.stopReason,message:e}),c.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialJson,delete t.customInput;e.stopReason=a?.signal?.aborted?`aborted`:`error`;let n=g(h(t),`${r.provider===`openai`?`OpenAI`:r.provider} API error`);e.errorMessage=n.includes(`subscription_sharing_usage_limit_exceeded`)?`${n}\nCheck your ChatGPT usage: ${C}`:n,c.push({type:`error`,reason:e.stopReason,error:e}),c.end()}})(),c},N=(e,t,n)=>{E(e.provider,n?.apiKey,n?.headers);let i={...f(e,t,n,n?.apiKey),toolChoice:n?.toolChoice},a=n?.reasoning?r(e,n.reasoning):void 0,o=a===`off`?void 0:a;return M(e,t,{...i,reasoningEffort:o})};function P(e,t,n,r,i,a){let o=k(e),s={"User-Agent":c(),...e.headers};if(e.provider===`github-copilot`){let e=u(t.messages),n=d({messages:t.messages,hasImages:e});Object.assign(s,n)}return a&&(o.sessionAffinityFormat===`openrouter`?s[`x-session-id`]=a:(o.sessionAffinityFormat===`openai`&&(s.session_id=a),s[`x-client-request-id`]=a)),r&&Object.assign(s,r),new m({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:i,defaultHeaders:s})}function F(e,t,r,a=k(e),o=s(n(t.messages),a.supportsOpenAIGrammarTools)){let c=i(t.messages,a.supportsAdditionalTools||a.supportsToolSearch),l=b(e,t,x,{grammarToolInputProperties:o,supportsMidConvoSystemMessages:a.supportsMidConvoSystemMessages,supportsAdditionalTools:a.supportsAdditionalTools,supportsToolSearch:a.supportsToolSearch,toolOptions:{supportsStrictMode:a.supportsStrictMode,supportsOpenAIGrammarTools:a.supportsOpenAIGrammarTools}}),u=O(r?.cacheRetention,r?.env),d=w(e,r?.apiKey),f={model:e.id,input:l,stream:!0,prompt_cache_key:u===`none`?void 0:_(r?.sessionId),prompt_cache_retention:d?void 0:A(a,u),prompt_cache_options:d?void 0:j(a,u),store:!1};r?.maxTokens&&a.supportsMaxOutputTokens&&!d&&(f.max_output_tokens=Math.max(r.maxTokens,S)),r?.temperature!==void 0&&!d&&(f.temperature=r?.temperature),r?.serviceTier!==void 0&&(f.service_tier=r.serviceTier),c.requestTools.length>0&&(f.tools=v(c.requestTools,{supportsStrictMode:a.supportsStrictMode,supportsOpenAIGrammarTools:a.supportsOpenAIGrammarTools})),r?.toolChoice!==void 0&&(f.tool_choice=r.toolChoice);let m=r?.reasoningEffort??(r?.reasoningSummary?`medium`:void 0);e.reasoning&&(m?(f.reasoning={effort:r?.reasoningEffort?e.thinkingLevelMap?.[r.reasoningEffort]??r.reasoningEffort:m,summary:r?.reasoningSummary||`auto`},f.include=[`reasoning.encrypted_content`]):e.provider!==`github-copilot`&&e.thinkingLevelMap?.off!==null&&(f.reasoning={effort:e.thinkingLevelMap?.off??`none`}),e.provider===`xai`&&(f.include=[`reasoning.encrypted_content`]));let h=p(e,m??`off`,r?.samplingParams);return h&&Object.assign(f,h),f}function I(e,t){switch(t){case`flex`:return .5;case`priority`:case`fast`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function L(e,t,n){let r=I(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{M as stream,N as streamSimple};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./diagnostics-B-5VkVir.js";import{d as t,g as n,h as r,n as i}from"./models-DMUS_WIm.js";import{t as a}from"./provider-env-CILujRmO.js";import{t as o}from"./headers-FK4rgixo.js";import{n as s,s as c}from"./constrained-sampling-auYJ_zjz.js";import{t as l}from"./provider-retry-RVfYd5Vz.js";import{n as u,t as d}from"./github-copilot-headers-DRgtIyTm.js";import{r as f,s as p}from"./transform-messages-DuvHh3qm.js";import{n as m}from"./openai-zaDKJgTh.js";import{n as h,t as g}from"./error-body-pkrba6pf.js";import{t as _}from"./openai-prompt-cache-DXo9f3w5.js";import{n as v,r as y,t as b}from"./openai-responses-shared-BvBjbnyp.js";const x=new Set([`openai`,`openai-codex`,`opencode`]);function S(e,t){return e.provider===`openai`&&e.baseUrl===`https://api.openai.com/v1`&&t!==void 0&&!t.startsWith(`sk-`)}function C(e,t){if(!e)return!1;let n=t.toLowerCase();for(let[t,r]of Object.entries(e))if(t.toLowerCase()===n&&r!==null&&r.trim().length>0)return!0;return!1}function w(e,t,n){if(t)return t;if(C(n,`authorization`)||C(n,`cf-aig-authorization`))return`unused`;throw Error(`No API key for provider: ${e}`)}function T(e){return e.provider===`openrouter`||e.baseUrl.includes(`openrouter.ai`)?`openrouter`:`openai`}function E(e,t){return e||(a(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}function D(e){return{supportsDeveloperRole:e.compat?.supportsDeveloperRole??!0,supportsMidConvoSystemMessages:e.compat?.supportsMidConvoSystemMessages??!1,sessionAffinityFormat:e.compat?.sessionAffinityFormat??T(e),supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0,supportsStrictMode:e.compat?.supportsStrictMode??!1,supportsOpenAIGrammarTools:e.compat?.supportsOpenAIGrammarTools??!1,supportsAdditionalTools:e.compat?.supportsAdditionalTools??!1,supportsToolSearch:e.compat?.supportsToolSearch??!1,supportsExplicitPromptCacheMode:e.compat?.supportsExplicitPromptCacheMode??!1,supportsMaxOutputTokens:e.compat?.supportsMaxOutputTokens??!0}}function O(e,t){return t===`long`&&e.supportsLongCacheRetention&&!e.supportsExplicitPromptCacheMode?`24h`:void 0}function k(e,t){if(e.supportsExplicitPromptCacheMode){if(t===`none`)return{mode:`explicit`};if(t===`long`&&e.supportsLongCacheRetention)return{ttl:`30m`}}}const A=(n,i,a)=>{let c=new e,u=r(i,D(n).supportsMidConvoSystemMessages);return(async()=>{let e={role:`assistant`,content:[],api:n.api,provider:n.provider,model:n.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`pending`,timestamp:Date.now()};try{let r=w(n.provider,a?.apiKey,a?.headers),i=E(a?.cacheRetention,a?.env)===`none`?void 0:a?.sessionId,d=D(n),f=s(t(u.messages),d.supportsOpenAIGrammarTools),p=M(n,u,r,a?.headers,a?.fetch,i),m=N(n,u,a,d,f),h=await a?.onPayload?.(m,n);h!==void 0&&(m=h);let g={...a?.signal?{signal:a.signal}:{},...a?.timeoutMs===void 0?{}:{timeout:a.timeoutMs},maxRetries:0},{data:_,response:v}=await l(()=>p.responses.create(m,g).withResponse(),{maxRetries:a?.maxRetries,maxRetryDelayMs:a?.maxRetryDelayMs,signal:a?.signal});if(await a?.onResponse?.({status:v.status,headers:o(v.headers)},n),c.push({type:`start`,partial:e}),await y(_,e,c,n,{onProviderStreamEvent:a?.onProviderStreamEvent,serviceTier:a?.serviceTier,grammarToolInputProperties:f,applyServiceTierPricing:(e,t)=>F(e,t,n)}),a?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`pending`)throw Error(`OpenAI Responses stream ended without a stop reason`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(e.errorMessage||`An unknown error occurred`);c.push({type:`done`,reason:e.stopReason,message:e}),c.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialJson,delete t.customInput;e.stopReason=a?.signal?.aborted?`aborted`:`error`;let r=g(h(t),`${n.provider===`openai`?`OpenAI`:n.provider} API error`);e.errorMessage=r.includes(`subscription_sharing_usage_limit_exceeded`)?`${r}\nCheck your ChatGPT usage: https://chatgpt.com/settings/usage`:r,c.push({type:`error`,reason:e.stopReason,error:e}),c.end()}})(),c},j=(e,t,n)=>{w(e.provider,n?.apiKey,n?.headers);let r={...f(e,t,n,n?.apiKey),toolChoice:n?.toolChoice},a=n?.reasoning?i(e,n.reasoning):void 0,o=a===`off`?void 0:a;return A(e,t,{...r,reasoningEffort:o})};function M(e,t,n,r,i,a){let o=D(e),s={"User-Agent":c(),...e.headers};if(e.provider===`github-copilot`){let e=u(t.messages),n=d({messages:t.messages,hasImages:e});Object.assign(s,n)}return a&&(o.sessionAffinityFormat===`openrouter`?s[`x-session-id`]=a:(o.sessionAffinityFormat===`openai`&&(s.session_id=a),s[`x-client-request-id`]=a)),r&&Object.assign(s,r),new m({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:i,defaultHeaders:s})}function N(e,r,i,a=D(e),o=s(t(r.messages),a.supportsOpenAIGrammarTools)){let c=n(r.messages,a.supportsAdditionalTools||a.supportsToolSearch),l=b(e,r,x,{grammarToolInputProperties:o,supportsMidConvoSystemMessages:a.supportsMidConvoSystemMessages,supportsAdditionalTools:a.supportsAdditionalTools,supportsToolSearch:a.supportsToolSearch,toolOptions:{supportsStrictMode:a.supportsStrictMode,supportsOpenAIGrammarTools:a.supportsOpenAIGrammarTools}}),u=E(i?.cacheRetention,i?.env),d=S(e,i?.apiKey),f={model:e.id,input:l,stream:!0,prompt_cache_key:u===`none`?void 0:_(i?.sessionId),prompt_cache_retention:d?void 0:O(a,u),prompt_cache_options:d?void 0:k(a,u),store:!1};i?.maxTokens&&a.supportsMaxOutputTokens&&!d&&(f.max_output_tokens=Math.max(i.maxTokens,16)),i?.temperature!==void 0&&!d&&(f.temperature=i?.temperature),i?.serviceTier!==void 0&&(f.service_tier=i.serviceTier),c.requestTools.length>0&&(f.tools=v(c.requestTools,{supportsStrictMode:a.supportsStrictMode,supportsOpenAIGrammarTools:a.supportsOpenAIGrammarTools})),i?.toolChoice!==void 0&&(f.tool_choice=i.toolChoice);let m=i?.reasoningEffort??(i?.reasoningSummary?`medium`:void 0);e.reasoning&&(m?(f.reasoning={effort:i?.reasoningEffort?e.thinkingLevelMap?.[i.reasoningEffort]??i.reasoningEffort:m,summary:i?.reasoningSummary||`auto`},f.include=[`reasoning.encrypted_content`]):e.provider!==`github-copilot`&&e.thinkingLevelMap?.off!==null&&(f.reasoning={effort:e.thinkingLevelMap?.off??`none`}),e.provider===`xai`&&(f.include=[`reasoning.encrypted_content`]));let h=p(e,m??`off`,i?.samplingParams);return h&&Object.assign(f,h),f}function P(e,t){switch(t){case`flex`:return .5;case`priority`:case`fast`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function F(e,t,n){let r=P(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{A as stream,j as streamSimple};
|
package/dist/ui/assets/{openai-responses-shared-CbNa5Pf-.js → openai-responses-shared-BkcHIDFS.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`),r=t.filter(e=>e.type===`image`),i=n.length>0;if(r.length===0||!e.input.includes(`image`))return d(i?n:r.length>0?`(see attached image)`:`(no tool output)`);let a=[];i&&a.push({type:`input_text`,text:d(n)});for(let e of r)a.push({type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});return a}function _(i,a,o,s){let c=
|
|
1
|
+
import{f as e,g as t,h as n,p as r,t as i}from"./models-D9KYIFyv.js";import{n as a}from"./json-parse-CgFfIg4Q.js";import{a as o,i as s,o as c,r as l,t as u}from"./constrained-sampling-DOxF6Eck.js";import{t as d}from"./sanitize-unicode-DmIE6hZJ.js";import{t as f}from"./transform-messages-DF4OdhKs.js";import{t as p}from"./hash-yQufAZII.js";function m(e,t){let n={v:1,id:e};return t&&(n.phase=t),JSON.stringify(n)}function h(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 g(e,t){let n=t.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
2
|
+
`),r=t.filter(e=>e.type===`image`),i=n.length>0;if(r.length===0||!e.input.includes(`image`))return d(i?n:r.length>0?`(see attached image)`:`(no tool output)`);let a=[];i&&a.push({type:`input_text`,text:d(n)});for(let e of r)a.push({type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});return a}function _(i,a,o,s){let c=e(a,s?.supportsMidConvoSystemMessages),u=[],m=e=>{let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return(t.length>64?t.slice(0,64):t).replace(/_+$/,``)},_=e=>{let t=`fc_${p(e)}`;return t.length>64?t.slice(0,64):t},y=f(c.messages,i,(e,t,n)=>{if(!o.has(i.provider)||!e.includes(`|`))return m(e);let[r,a]=e.split(`|`),s=m(r),c=n.provider!==i.provider||n.api!==i.api?_(a):m(a);return c.startsWith(`fc_`)||(c=m(`fc_${c}`)),`${s}|${c}`}),b=r(c.messages,(s?.supportsAdditionalTools??!1)||(s?.supportsToolSearch??!1)),x=(e,t)=>{let n=b.anchorsAdditions?e.toolsAdded??[]:[];if(n.length===0)return;if(s?.supportsAdditionalTools){u.push({type:`additional_tools`,role:`developer`,tools:v(n,s.toolOptions)});return}if(!s?.supportsToolSearch)return;let r=n.map(e=>e.name),i=`pi_tool_load_${p(`${t}:${r.join(`,`)}`)}`;u.push({type:`tool_search_call`,call_id:i,execution:`client`,status:`completed`,arguments:{query:r.join(` `),limit:r.length}}),u.push({type:`tool_search_output`,call_id:i,execution:`client`,status:`completed`,tools:v(n,{...s.toolOptions,toolSearchResult:!0})})},S=s?.includeSystemPrompt??!0,C=i.compat,w=i.reasoning&&C?.supportsDeveloperRole!==!1?`developer`:`system`,T=0,E=0;for(let e of y){let r=E++===0&&e.role===`system`;if(e.role===`system`){if(r||x(e,`system:${T}`),!r||S){let i=r?n(e):t(e);i.length>0&&u.push({role:w,content:d(i)})}}else if(e.role===`user`){if(typeof e.content==`string`)u.push({role:`user`,content:[{type:`input_text`,text:d(e.content)}]});else{let t=e.content.map(e=>e.type===`text`?{type:`input_text`,text:d(e.text)}:{type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});if(t.length===0)continue;u.push({role:`user`,content:t})}}else if(e.role===`assistant`){let t=[],n=e,r=n.provider===i.provider&&n.api===i.api,a=r&&n.model===i.id,o=r&&n.model!==i.id,c=0;for(let n of e.content)if(n.type===`thinking`){if(n.thinkingSignature){let e=JSON.parse(n.thinkingSignature);t.push(e)}}else if(n.type===`text`){let e=n,r=h(e.textSignature),i=c===0?`msg_pi_${T}`:`msg_pi_${T}_${c}`;c++;let a=r?.id;a?a.length>64&&(a=`msg_${p(a)}`):a=i,t.push({type:`message`,role:`assistant`,content:[{type:`output_text`,text:d(e.text),annotations:[]}],status:`completed`,id:a,phase:r?.phase})}else if(n.type===`toolCall`){let e=n,[r,i]=e.id.split(`|`),c=s?.grammarToolInputProperties?.get(e.name),u=i,f=c===void 0?`fc_`:`ctc_`;(o||!u?.startsWith(f))&&(u=void 0),c===void 0?t.push({type:`function_call`,id:u,call_id:r,name:e.name,arguments:JSON.stringify(e.arguments),...a&&e.namespace!==void 0?{namespace:e.namespace}:{}}):t.push({type:`custom_tool_call`,id:u,call_id:r,name:e.name,input:d(l(e.name,e.arguments,c)),...a&&e.namespace!==void 0?{namespace:e.namespace}:{}})}if(t.length===0)continue;u.push(...t)}else if(e.role===`toolResult`){let[t]=e.toolCallId.split(`|`),n=g(i,e.content);s?.grammarToolInputProperties?.has(e.toolName)?u.push({type:`custom_tool_call_output`,call_id:t,output:n}):u.push({type:`function_call_output`,call_id:t,output:n})}r||T++}return u}function v(e,t){let n=t?.strict!==void 0&&t.strict,r=t?.supportsStrictMode??!0,i=t?.supportsOpenAIGrammarTools??!1;return e.map(e=>{let a=o(e,i);if(a)return{type:`custom`,name:e.name,description:e.description,format:{type:`grammar`,syntax:a.format,definition:a.definition},...t?.toolSearchResult?{defer_loading:!0}:{}};let l=c(e,r)??n,u={type:`function`,name:e.name,description:e.description,parameters:s(e,l===!0),...t?.toolSearchResult?{defer_loading:!0}:{}};return r&&(u.strict=l),u})}function y(e){let t=e.customInput?.property;if(t===void 0)return``;let n=e.arguments[t];return typeof n==`string`?n:``}function b(e,t,n){let r=e.customInput;if(!r)return;let i=u(r.jsonBuffer,r.property,t,n);return e.arguments={[r.property]:t},i}async function x(e,t,n,r,o){let s=!1,c=new Map,l=new Map,u=e=>{e.type===`message`&&e.phase===`final_answer`&&(t.stopReason=`stop`)},d=(e,t)=>{let n=c.get(e);return n?.type===t?n:void 0},f=(e,r)=>{r!==void 0&&n.push({type:`toolcall_delta`,contentIndex:e.contentIndex,delta:r,partial:t})},p=(e,r)=>{if(r.type===`reasoning`){let r={type:`thinking`,thinking:``};t.content.push(r);let i={type:`thinking`,block:r,contentIndex:t.content.length-1};return c.set(e,i),n.push({type:`thinking_start`,contentIndex:i.contentIndex,partial:t}),i}if(r.type===`message`){u(r);let i={type:`text`,text:``};t.content.push(i);let a={type:`text`,block:i,contentIndex:t.content.length-1};return c.set(e,a),n.push({type:`text_start`,contentIndex:a.contentIndex,partial:t}),a}if(r.type===`function_call`){let i={type:`toolCall`,id:`${r.call_id}|${r.id}`,name:r.name,arguments:{},...r.namespace===void 0?{}:{namespace:r.namespace},partialJson:r.arguments||``};t.content.push(i);let a={type:`toolCall`,block:i,contentIndex:t.content.length-1};return c.set(e,a),n.push({type:`toolcall_start`,contentIndex:a.contentIndex,partial:t}),a}if(r.type===`custom_tool_call`){let i=o?.grammarToolInputProperties?.get(r.name)??`input`,a=r.input||``,s={type:`toolCall`,id:`${r.call_id}|${r.id}`,name:r.name,arguments:{[i]:a},...r.namespace===void 0?{}:{namespace:r.namespace},customInput:{property:i,jsonBuffer:{input:``,started:!1,closed:!1}}};t.content.push(s);let l={type:`toolCall`,block:s,contentIndex:t.content.length-1};return c.set(e,l),n.push({type:`toolcall_start`,contentIndex:l.contentIndex,partial:t}),l}},h=(e,t)=>c.get(e)??p(e,t),g=e=>{for(let t of e){if(t.type!==`reasoning`||!t.encrypted_content)continue;let e=l.get(t.id);if(!e?.thinkingSignature)continue;let n=JSON.parse(e.thinkingSignature);n.encrypted_content||(e.thinkingSignature=JSON.stringify({...n,encrypted_content:t.encrypted_content}))}},_=e=>{if(s=!0,g(e.output??[]),e?.id&&(t.responseId=e.id),e?.usage){let n=e.usage.input_tokens_details,r=n?.cached_tokens||0,i=n?.cache_write_tokens||0;t.usage={input:Math.max(0,(e.usage.input_tokens||0)-r-i),output:e.usage.output_tokens||0,cacheRead:r,cacheWrite:i,reasoning:e.usage.output_tokens_details?.reasoning_tokens||0,totalTokens:e.usage.total_tokens||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}if(i(r,t.usage),o?.applyServiceTierPricing){let n=o.resolveServiceTier?o.resolveServiceTier(e?.service_tier,o.serviceTier):e?.service_tier??o.serviceTier;o.applyServiceTierPricing(t.usage,n)}let n=e?.status,a=e?.incomplete_details,c=typeof a?.reason==`string`?a.reason:void 0;t.rawStopReason=c?`${n}.${c}`:n;let l=S(n,c);t.stopReason=l.stopReason,l.errorMessage===void 0?delete t.errorMessage:t.errorMessage=l.errorMessage,t.content.some(e=>e.type===`toolCall`)&&t.stopReason===`stop`&&(t.stopReason=`toolUse`)};for await(let i of e)if(await o?.onProviderStreamEvent?.(i,r),i.type===`response.created`)t.responseId=i.response.id;else if(i.type===`response.output_item.added`)p(i.output_index,i.item);else if(i.type===`response.reasoning_summary_text.delta`){let e=d(i.output_index,`thinking`);if(!e)continue;e.block.thinking+=i.delta,n.push({type:`thinking_delta`,contentIndex:e.contentIndex,delta:i.delta,partial:t})}else if(i.type===`response.reasoning_summary_part.done`){let e=d(i.output_index,`thinking`);if(!e)continue;e.block.thinking+=`
|
|
3
3
|
|
|
4
4
|
`,n.push({type:`thinking_delta`,contentIndex:e.contentIndex,delta:`
|
|
5
5
|
|
package/dist/ui/assets/{openai-responses-shared-yguGWfYx.js → openai-responses-shared-BvBjbnyp.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`),r=t.filter(e=>e.type===`image`),i=n.length>0;if(r.length===0||!e.input.includes(`image`))return d(i?n:r.length>0?`(see attached image)`:`(no tool output)`);let a=[];i&&a.push({type:`input_text`,text:d(n)});for(let e of r)a.push({type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});return a}function _(r,a,o,s){let c=n(a,s?.supportsMidConvoSystemMessages),u=[],m=e=>{let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return(t.length>64?t.slice(0,64):t).replace(/_+$/,``)},_=e=>{let t=`fc_${p(e)}`;return t.length>64?t.slice(0,64):t},y=f(c.messages,r,(e,t,n)=>{if(!o.has(r.provider)||!e.includes(`|`))return m(e);let[i,a]=e.split(`|`),s=m(i),c=n.provider!==r.provider||n.api!==r.api?_(a):m(a);return c.startsWith(`fc_`)||(c=m(`fc_${c}`)),`${s}|${c}`}),b=
|
|
1
|
+
import{b as e,g as t,h as n,t as r,y as i}from"./models-DMUS_WIm.js";import{n as a}from"./json-parse-ClXMvBdK.js";import{a as o,i as s,o as c,r as l,t as u}from"./constrained-sampling-auYJ_zjz.js";import{t as d}from"./sanitize-unicode-DmIE6hZJ.js";import{t as f}from"./transform-messages-DuvHh3qm.js";import{t as p}from"./hash-yQufAZII.js";function m(e,t){let n={v:1,id:e};return t&&(n.phase=t),JSON.stringify(n)}function h(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 g(e,t){let n=t.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
2
|
+
`),r=t.filter(e=>e.type===`image`),i=n.length>0;if(r.length===0||!e.input.includes(`image`))return d(i?n:r.length>0?`(see attached image)`:`(no tool output)`);let a=[];i&&a.push({type:`input_text`,text:d(n)});for(let e of r)a.push({type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});return a}function _(r,a,o,s){let c=n(a,s?.supportsMidConvoSystemMessages),u=[],m=e=>{let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return(t.length>64?t.slice(0,64):t).replace(/_+$/,``)},_=e=>{let t=`fc_${p(e)}`;return t.length>64?t.slice(0,64):t},y=f(c.messages,r,(e,t,n)=>{if(!o.has(r.provider)||!e.includes(`|`))return m(e);let[i,a]=e.split(`|`),s=m(i),c=n.provider!==r.provider||n.api!==r.api?_(a):m(a);return c.startsWith(`fc_`)||(c=m(`fc_${c}`)),`${s}|${c}`}),b=t(c.messages,(s?.supportsAdditionalTools??!1)||(s?.supportsToolSearch??!1)),x=(e,t)=>{let n=b.anchorsAdditions?e.toolsAdded??[]:[];if(n.length===0)return;if(s?.supportsAdditionalTools){u.push({type:`additional_tools`,role:`developer`,tools:v(n,s.toolOptions)});return}if(!s?.supportsToolSearch)return;let r=n.map(e=>e.name),i=`pi_tool_load_${p(`${t}:${r.join(`,`)}`)}`;u.push({type:`tool_search_call`,call_id:i,execution:`client`,status:`completed`,arguments:{query:r.join(` `),limit:r.length}}),u.push({type:`tool_search_output`,call_id:i,execution:`client`,status:`completed`,tools:v(n,{...s.toolOptions,toolSearchResult:!0})})},S=s?.includeSystemPrompt??!0,C=r.compat,w=r.reasoning&&C?.supportsDeveloperRole!==!1?`developer`:`system`,T=0,E=0;for(let t of y){let n=E++===0&&t.role===`system`;if(t.role===`system`){if(n||x(t,`system:${T}`),!n||S){let r=n?i(t):e(t);r.length>0&&u.push({role:w,content:d(r)})}}else if(t.role===`user`){if(typeof t.content==`string`)u.push({role:`user`,content:[{type:`input_text`,text:d(t.content)}]});else{let e=t.content.map(e=>e.type===`text`?{type:`input_text`,text:d(e.text)}:{type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});if(e.length===0)continue;u.push({role:`user`,content:e})}}else if(t.role===`assistant`){let e=[],n=t,i=n.provider===r.provider&&n.api===r.api,a=i&&n.model===r.id,o=i&&n.model!==r.id,c=0;for(let n of t.content)if(n.type===`thinking`){if(n.thinkingSignature){let t=JSON.parse(n.thinkingSignature);e.push(t)}}else if(n.type===`text`){let t=n,r=h(t.textSignature),i=c===0?`msg_pi_${T}`:`msg_pi_${T}_${c}`;c++;let a=r?.id;a?a.length>64&&(a=`msg_${p(a)}`):a=i,e.push({type:`message`,role:`assistant`,content:[{type:`output_text`,text:d(t.text),annotations:[]}],status:`completed`,id:a,phase:r?.phase})}else if(n.type===`toolCall`){let t=n,[r,i]=t.id.split(`|`),c=s?.grammarToolInputProperties?.get(t.name),u=i,f=c===void 0?`fc_`:`ctc_`;(o||!u?.startsWith(f))&&(u=void 0),c===void 0?e.push({type:`function_call`,id:u,call_id:r,name:t.name,arguments:JSON.stringify(t.arguments),...a&&t.namespace!==void 0?{namespace:t.namespace}:{}}):e.push({type:`custom_tool_call`,id:u,call_id:r,name:t.name,input:d(l(t.name,t.arguments,c)),...a&&t.namespace!==void 0?{namespace:t.namespace}:{}})}if(e.length===0)continue;u.push(...e)}else if(t.role===`toolResult`){let[e]=t.toolCallId.split(`|`),n=g(r,t.content);s?.grammarToolInputProperties?.has(t.toolName)?u.push({type:`custom_tool_call_output`,call_id:e,output:n}):u.push({type:`function_call_output`,call_id:e,output:n})}n||T++}return u}function v(e,t){let n=t?.strict!==void 0&&t.strict,r=t?.supportsStrictMode??!0,i=t?.supportsOpenAIGrammarTools??!1;return e.map(e=>{let a=o(e,i);if(a)return{type:`custom`,name:e.name,description:e.description,format:{type:`grammar`,syntax:a.format,definition:a.definition},...t?.toolSearchResult?{defer_loading:!0}:{}};let l=c(e,r)??n,u={type:`function`,name:e.name,description:e.description,parameters:s(e,l===!0),...t?.toolSearchResult?{defer_loading:!0}:{}};return r&&(u.strict=l),u})}function y(e){let t=e.customInput?.property;if(t===void 0)return``;let n=e.arguments[t];return typeof n==`string`?n:``}function b(e,t,n){let r=e.customInput;if(!r)return;let i=u(r.jsonBuffer,r.property,t,n);return e.arguments={[r.property]:t},i}async function x(e,t,n,i,o){let s=!1,c=new Map,l=new Map,u=e=>{e.type===`message`&&e.phase===`final_answer`&&(t.stopReason=`stop`)},d=(e,t)=>{let n=c.get(e);return n?.type===t?n:void 0},f=(e,r)=>{r!==void 0&&n.push({type:`toolcall_delta`,contentIndex:e.contentIndex,delta:r,partial:t})},p=(e,r)=>{if(r.type===`reasoning`){let r={type:`thinking`,thinking:``};t.content.push(r);let i={type:`thinking`,block:r,contentIndex:t.content.length-1};return c.set(e,i),n.push({type:`thinking_start`,contentIndex:i.contentIndex,partial:t}),i}if(r.type===`message`){u(r);let i={type:`text`,text:``};t.content.push(i);let a={type:`text`,block:i,contentIndex:t.content.length-1};return c.set(e,a),n.push({type:`text_start`,contentIndex:a.contentIndex,partial:t}),a}if(r.type===`function_call`){let i={type:`toolCall`,id:`${r.call_id}|${r.id}`,name:r.name,arguments:{},...r.namespace===void 0?{}:{namespace:r.namespace},partialJson:r.arguments||``};t.content.push(i);let a={type:`toolCall`,block:i,contentIndex:t.content.length-1};return c.set(e,a),n.push({type:`toolcall_start`,contentIndex:a.contentIndex,partial:t}),a}if(r.type===`custom_tool_call`){let i=o?.grammarToolInputProperties?.get(r.name)??`input`,a=r.input||``,s={type:`toolCall`,id:`${r.call_id}|${r.id}`,name:r.name,arguments:{[i]:a},...r.namespace===void 0?{}:{namespace:r.namespace},customInput:{property:i,jsonBuffer:{input:``,started:!1,closed:!1}}};t.content.push(s);let l={type:`toolCall`,block:s,contentIndex:t.content.length-1};return c.set(e,l),n.push({type:`toolcall_start`,contentIndex:l.contentIndex,partial:t}),l}},h=(e,t)=>c.get(e)??p(e,t),g=e=>{for(let t of e){if(t.type!==`reasoning`||!t.encrypted_content)continue;let e=l.get(t.id);if(!e?.thinkingSignature)continue;let n=JSON.parse(e.thinkingSignature);n.encrypted_content||(e.thinkingSignature=JSON.stringify({...n,encrypted_content:t.encrypted_content}))}},_=e=>{if(s=!0,g(e.output??[]),e?.id&&(t.responseId=e.id),e?.usage){let n=e.usage.input_tokens_details,r=n?.cached_tokens||0,i=n?.cache_write_tokens||0;t.usage={input:Math.max(0,(e.usage.input_tokens||0)-r-i),output:e.usage.output_tokens||0,cacheRead:r,cacheWrite:i,reasoning:e.usage.output_tokens_details?.reasoning_tokens||0,totalTokens:e.usage.total_tokens||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}if(r(i,t.usage),o?.applyServiceTierPricing){let n=o.resolveServiceTier?o.resolveServiceTier(e?.service_tier,o.serviceTier):e?.service_tier??o.serviceTier;o.applyServiceTierPricing(t.usage,n)}let n=e?.status,a=e?.incomplete_details,c=typeof a?.reason==`string`?a.reason:void 0;t.rawStopReason=c?`${n}.${c}`:n;let l=S(n,c);t.stopReason=l.stopReason,l.errorMessage===void 0?delete t.errorMessage:t.errorMessage=l.errorMessage,t.content.some(e=>e.type===`toolCall`)&&t.stopReason===`stop`&&(t.stopReason=`toolUse`)};for await(let r of e)if(await o?.onProviderStreamEvent?.(r,i),r.type===`response.created`)t.responseId=r.response.id;else if(r.type===`response.output_item.added`)p(r.output_index,r.item);else if(r.type===`response.reasoning_summary_text.delta`){let e=d(r.output_index,`thinking`);if(!e)continue;e.block.thinking+=r.delta,n.push({type:`thinking_delta`,contentIndex:e.contentIndex,delta:r.delta,partial:t})}else if(r.type===`response.reasoning_summary_part.done`){let e=d(r.output_index,`thinking`);if(!e)continue;e.block.thinking+=`
|
|
3
3
|
|
|
4
4
|
`,n.push({type:`thinking_delta`,contentIndex:e.contentIndex,delta:`
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./compat-
|
|
1
|
+
import{a as e}from"./compat-0YnuwvMn.js";import{r as t,s as n}from"./legacy-api-aliases-D-3Ssy_B.js";import{G as r,h as i}from"./account-store-C7cmsYvk.js";import"./main-DMcZBsBh.js";import{n as a}from"./pi-transcript-context-DZyPy5yf.js";import{fetchModels as o,getCatalog as s}from"./openrouter-models-BmhhmiWg.js";import{loginIntercepted as c}from"./openrouter-oauth-ByrbaA4D.js";var l=`openrouter`,u=`https://openrouter.ai/api/v1`,d=`openai-completions`,f=`${l}-openai`,p={"HTTP-Referer":`https://sliccy.ai`,"X-Title":`SLICC`};function m(e){return{...e,baseUrl:u,api:d}}function h(e){return{...e??{},...p}}var g=(e,n,r={})=>t(m(e),a(n),{...r,apiKey:i(l)??r.apiKey,headers:h(r.headers)}),_=(e,t,r={})=>n(m(e),a(t),{...r,apiKey:i(l)??r.apiKey,headers:h(r.headers)}),v={id:l,name:`OpenRouter`,description:`Access OpenRouter models with one-click PKCE login. No pasted API key is required.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:`anthropic/claude-sonnet-4.6`,oauthTokenDomains:[`openrouter.ai`,`*.openrouter.ai`],getModelIds:s,refreshModels:async()=>{await o()},onOAuthLoginIntercepted:async(e,t,n)=>{await c(e,()=>void 0,n),await o().catch(()=>void 0),t()},onOAuthLogout:async()=>{await r({providerId:l,accessToken:``})}};function y(){e({api:f,stream:g,streamSimple:_})}export{v as config,y as register};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,a as t}from"./account-store-
|
|
1
|
+
import{_ as e,a as t}from"./account-store-LMcdoHV5.js";import{a as n}from"./diagnostics-B-5VkVir.js";import{a as r}from"./compat-Ba4wPWa_.js";import{r as i,s as a}from"./legacy-api-aliases-C3_OAyZB.js";import{n as o}from"./pi-transcript-context-CE8ItnBz.js";import"./provider-settings-DB_WwQDb.js";import{FREE_ROUTER_FALLBACK as s,fetchModels as c,getFreeCatalog as l,isModelInFreeCatalog as u}from"./openrouter-models-W7XmIrEt.js";import{loginIntercepted as d}from"./openrouter-oauth-D8IvxZ7K.js";const f=`openrouter-free`,p=`${f}-openai`,m={"HTTP-Referer":`https://sliccy.ai`,"X-Title":`SLICC`};function h(e){return{...e,baseUrl:`https://openrouter.ai/api/v1`,api:`openai-completions`}}function g(e){return{...e??{},...m}}function _(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:p,provider:f,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:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}function v(e){let t=n(),r=Error(`OpenRouter (Free) refused "${e.id}" — it is not in the current free catalog. Choose another free model or refresh the catalog.`);return queueMicrotask(()=>{t.push(_(e,r)),t.end()}),t}const y=(e,n,r={})=>u(e.id)?i(h(e),o(n),{...r,apiKey:t(f)??r.apiKey,headers:g(r.headers)}):v(e),b=(e,n,r={})=>u(e.id)?a(h(e),o(n),{...r,apiKey:t(f)??r.apiKey,headers:g(r.headers)}):v(e),x={id:f,name:`OpenRouter (Free)`,description:`Currently free OpenRouter models that support vision and tools. Catalog refreshes from OpenRouter; paid models are excluded.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:s.id,oauthTokenDomains:[`openrouter.ai`,`*.openrouter.ai`],getModelIds:l,refreshModels:async()=>{await c()},onOAuthLoginIntercepted:async(e,t,n)=>{await d(e,()=>void 0,{...n,providerId:f}),await c().catch(()=>void 0),t()},onOAuthLogout:async()=>{await e({providerId:f,accessToken:``})}};function S(){r({api:p,stream:y,streamSimple:b})}export{x as config,S as register};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./diagnostics-
|
|
1
|
+
import{a as e}from"./diagnostics-B-5VkVir.js";import{a as t}from"./compat-0YnuwvMn.js";import{r as n,s as r}from"./legacy-api-aliases-D-3Ssy_B.js";import{G as i,h as a}from"./account-store-C7cmsYvk.js";import"./main-DMcZBsBh.js";import{n as o}from"./pi-transcript-context-DZyPy5yf.js";import{FREE_ROUTER_FALLBACK as s,fetchModels as c,getFreeCatalog as l,isModelInFreeCatalog as u}from"./openrouter-models-BmhhmiWg.js";import{loginIntercepted as d}from"./openrouter-oauth-ByrbaA4D.js";var f=`openrouter-free`,p=`https://openrouter.ai/api/v1`,m=`openai-completions`,h=`${f}-openai`,g={"HTTP-Referer":`https://sliccy.ai`,"X-Title":`SLICC`};function _(e){return{...e,baseUrl:p,api:m}}function v(e){return{...e??{},...g}}function y(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:h,provider:f,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:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}function b(t){let n=e(),r=Error(`OpenRouter (Free) refused "${t.id}" — it is not in the current free catalog. Choose another free model or refresh the catalog.`);return queueMicrotask(()=>{n.push(y(t,r)),n.end()}),n}var x=(e,t,r={})=>u(e.id)?n(_(e),o(t),{...r,apiKey:a(f)??r.apiKey,headers:v(r.headers)}):b(e),S=(e,t,n={})=>u(e.id)?r(_(e),o(t),{...n,apiKey:a(f)??n.apiKey,headers:v(n.headers)}):b(e),C={id:f,name:`OpenRouter (Free)`,description:`Currently free OpenRouter models that support vision and tools. Catalog refreshes from OpenRouter; paid models are excluded.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:s.id,oauthTokenDomains:[`openrouter.ai`,`*.openrouter.ai`],getModelIds:l,refreshModels:async()=>{await c()},onOAuthLoginIntercepted:async(e,t,n)=>{await d(e,()=>void 0,{...n,providerId:f}),await c().catch(()=>void 0),t()},onOAuthLogout:async()=>{await i({providerId:f,accessToken:``})}};function w(){t({api:h,stream:x,streamSimple:S})}export{C as config,w as register};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./headers-FK4rgixo.js";import{t as n}from"./provider-retry-
|
|
1
|
+
import{n as e,t}from"./headers-FK4rgixo.js";import{t as n}from"./provider-retry-RVfYd5Vz.js";import{t as r}from"./sanitize-unicode-DmIE6hZJ.js";import{n as i}from"./openai-CmkcIaBM.js";import{n as a,t as o}from"./error-body-pkrba6pf.js";var s=async(e,r,i)=>{let s={api:e.api,provider:e.provider,model:e.id,output:[],stopReason:`stop`,timestamp:Date.now()};try{let a=i?.apiKey;if(!a)throw Error(`No API key for provider: ${e.provider}`);let o=c(e,a,i?.headers,i?.fetch),d=l(e,r),f=await i?.onPayload?.(d,e);f!==void 0&&(d=f);let p={...i?.signal?{signal:i.signal}:{},...i?.timeoutMs===void 0?{}:{timeout:i.timeoutMs},maxRetries:0},{data:m,response:h}=await n(()=>o.chat.completions.create(d,p).withResponse(),{maxRetries:i?.maxRetries,maxRetryDelayMs:i?.maxRetryDelayMs,signal:i?.signal});await i?.onResponse?.({status:h.status,headers:t(h.headers)},e);let g=m;s.responseId=g.id,g.usage&&(s.usage=u(g.usage,e));let _=g.choices[0];if(_){let e=_.message.content;typeof e==`string`&&e.length>0&&s.output.push({type:`text`,text:e});for(let e of _.message.images??[]){let t=typeof e.image_url==`string`?e.image_url:e.image_url?.url;if(!t?.startsWith(`data:`))continue;let n=t.match(/^data:([^;]+);base64,(.+)$/);n&&s.output.push({type:`image`,mimeType:n[1],data:n[2]})}}return s}catch(e){return s.stopReason=i?.signal?.aborted?`aborted`:`error`,s.errorMessage=o(a(e)),s}};function c(t,n,r,a){return new i({apiKey:n,baseURL:t.baseUrl,dangerouslyAllowBrowser:!0,fetch:a,defaultHeaders:e({...t.headers,...r})})}function l(e,t){let n=t.input.map(e=>e.type===`text`?{type:`text`,text:r(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});return{model:e.id,messages:[{role:`user`,content:n}],stream:!1,modalities:e.output.includes(`text`)?[`image`,`text`]:[`image`]}}function u(e,t){let n=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens||0,i=e.prompt_tokens_details?.cache_write_tokens||0,a=i>0?Math.max(0,r-i):r,o=Math.max(0,n-a-i),s=e.completion_tokens||0,c={input:o,output:s,cacheRead:a,cacheWrite:i,totalTokens:o+s+a+i,cost:{input:t.cost.input/1e6*o,output:t.cost.output/1e6*s,cacheRead:t.cost.cacheRead/1e6*a,cacheWrite:t.cost.cacheWrite/1e6*i,total:0}};return c.cost.total=c.cost.input+c.cost.output+c.cost.cacheRead+c.cost.cacheWrite,c}export{s as generateImages};
|