sliccy 5.73.3 → 5.74.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/node-server/_shared/index.d.ts +2 -0
- package/dist/node-server/_shared/index.d.ts.map +1 -1
- package/dist/node-server/_shared/index.js +2 -0
- package/dist/node-server/_shared/index.js.map +1 -1
- package/dist/node-server/_shared/secrets-pipeline.d.ts +22 -0
- package/dist/node-server/_shared/secrets-pipeline.d.ts.map +1 -1
- package/dist/node-server/_shared/secrets-pipeline.js +50 -0
- package/dist/node-server/_shared/secrets-pipeline.js.map +1 -1
- package/dist/node-server/_shared/transcript-export.d.ts +161 -0
- package/dist/node-server/_shared/transcript-export.d.ts.map +1 -0
- package/dist/node-server/_shared/transcript-export.js +804 -0
- package/dist/node-server/_shared/transcript-export.js.map +1 -0
- package/dist/node-server/_shared/transcript-redaction.d.ts +25 -0
- package/dist/node-server/_shared/transcript-redaction.d.ts.map +1 -0
- package/dist/node-server/_shared/transcript-redaction.js +107 -0
- package/dist/node-server/_shared/transcript-redaction.js.map +1 -0
- package/dist/node-server/_shared/tray-sync-protocol.d.ts +56 -1
- package/dist/node-server/_shared/tray-sync-protocol.d.ts.map +1 -1
- package/dist/node-server/_shared/tray-sync-protocol.js +1 -1
- package/dist/node-server/_shared/tray-sync-protocol.js.map +1 -1
- package/dist/node-server/routes/secrets.js +52 -22
- package/dist/ui/assets/account-store-CJqBAm1f.js +43 -0
- package/dist/ui/assets/account-store-CxSwSaS8.js +101 -0
- package/dist/ui/assets/{adobe-lCsH7Lwq.js → adobe-j3AP8U12.js} +2 -2
- package/dist/ui/assets/{adobe-ufabHIuG.js → adobe-lvezht3s.js} +1 -1
- package/dist/ui/assets/anthropic-messages-BFic5zKY.js +39 -0
- package/dist/ui/assets/anthropic-messages-C8dDJE2X.js +39 -0
- package/dist/ui/assets/{apps-Cz0oexXD.js → apps-D8IGKFP6.js} +1 -1
- package/dist/ui/assets/{azure-openai-DjIwn0QF.js → azure-openai-BD60xdeq.js} +1 -1
- package/dist/ui/assets/{azure-openai-CMEdXGgc.js → azure-openai-DyqeeHYG.js} +1 -1
- package/dist/ui/assets/azure-openai-responses-B_twhN44.js +1 -0
- package/dist/ui/assets/azure-openai-responses-CzG7X9qb.js +1 -0
- package/dist/ui/assets/bedrock-camp-BO4bvAKs.js +1 -0
- package/dist/ui/assets/{bedrock-camp-PMQ4Iu6f.js → bedrock-camp-CVignIdH.js} +1 -1
- package/dist/ui/assets/{bridge-launch-params-jegYRGJ6.js → bridge-launch-params-QY3l_LbM.js} +1 -1
- package/dist/ui/assets/{cdp-7evcrxxP.js → cdp-D9eDDEuA.js} +1 -1
- package/dist/ui/assets/{cerebras-VrdMK4Tc.js → cerebras-B0L70LLb.js} +1 -1
- package/dist/ui/assets/{cerebras-BvFtCskg.js → cerebras-Di6jTcHx.js} +1 -1
- package/dist/ui/assets/{client-BliYDaDA.js → client-BxYB_ioq.js} +1 -1
- package/dist/ui/assets/compat-aVSWLlYQ.js +2 -0
- package/dist/ui/assets/{composer-speech-BSy_wbJC.js → composer-speech-FeteaFpi.js} +1 -1
- package/dist/ui/assets/{connect-surface-ETqeSANr.js → connect-surface-CAwJVqDK.js} +1 -1
- package/dist/ui/assets/constrained-sampling-DafcjXU6.js +1 -0
- package/dist/ui/assets/{context-compaction-CW5AQ9bv.js → context-compaction-_UkD06XB.js} +1 -1
- package/dist/ui/assets/{discovery-preference-CUhsI-AU.js → discovery-preference-C0L_79z7.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-8cWrra0n.js → ensure-speech-assets-DGq5bX3t.js} +1 -1
- package/dist/ui/assets/export-provider-B6K_eHX_.js +1 -0
- package/dist/ui/assets/export-spool-DCxGPg43.js +1 -0
- package/dist/ui/assets/{follower-navigate-watcher-UN0jo7Ge.js → follower-navigate-watcher-DgusZOpY.js} +1 -1
- package/dist/ui/assets/{fs-CgX9Ebib.js → fs-BI3-y-dt.js} +2 -2
- package/dist/ui/assets/{fs-C5GhaBCZ.js → fs-DUi6CyVs.js} +1 -1
- package/dist/ui/assets/{github-DMFLbpJz.js → github-CsLyOpIY.js} +1 -1
- package/dist/ui/assets/{github-B85TuvhV.js → github-DdtaZi7X.js} +2 -2
- package/dist/ui/assets/{github-copilot-kOORCU_n.js → github-copilot-B3YCnypU.js} +1 -1
- package/dist/ui/assets/{github-copilot-CXnNPGCI.js → github-copilot-CLH7n3QY.js} +1 -1
- package/dist/ui/assets/google-generative-ai-4YtIu_sJ.js +1 -0
- package/dist/ui/assets/google-generative-ai-DzD1vsXe.js +1 -0
- package/dist/ui/assets/google-shared-BAKd3aSn.js +371 -0
- package/dist/ui/assets/google-shared-CCLlnqMF.js +11 -0
- package/dist/ui/assets/google-vertex-8lUayXF0.js +1 -0
- package/dist/ui/assets/google-vertex-oQOD3HKr.js +1 -0
- package/dist/ui/assets/{handoff-link-CfgH86mb.js → handoff-link-Dmaaww5x.js} +1 -1
- package/dist/ui/assets/{hear-B5lURJtR.js → hear-CRBq5mEX.js} +1 -1
- package/dist/ui/assets/{hear-DI5vlKdf.js → hear-v5qXSZw8.js} +1 -1
- package/dist/ui/assets/{kernel-worker-HuBcjkoV.js → kernel-worker-BL7ADt6y.js} +727 -599
- package/dist/ui/assets/{kokoro-engine-DX7VicqD.js → kokoro-engine-CogHLlSk.js} +1 -1
- package/dist/ui/assets/{legacy-api-aliases-CRTuRAqQ.js → legacy-api-aliases-IllWZ-uu.js} +1 -1
- package/dist/ui/assets/{legacy-api-aliases-CdGTJw-r.js → legacy-api-aliases-sqlB2uHc.js} +1 -1
- package/dist/ui/assets/{lick-manager-Ct3WOtut.js → lick-manager-wU1FKkH8.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-D5zKuunw.js → lick-ws-bridge-CFKIh9aE.js} +1 -1
- package/dist/ui/assets/lick-ws-bridge-yMljNHwr.js +1 -0
- package/dist/ui/assets/{local-llm-DuNuGkgI.js → local-llm-BdGGSRtU.js} +2 -2
- package/dist/ui/assets/{local-llm-qHC_HYck.js → local-llm-Cys4QAHg.js} +1 -1
- package/dist/ui/assets/main-BZzNeGKC.js +22 -0
- package/dist/ui/assets/main-cherry-D_hgi0by.js +1 -0
- package/dist/ui/assets/mistral-conversations-C57IiFrP.js +8 -0
- package/dist/ui/assets/mistral-conversations-CzEm7KNl.js +7 -0
- package/dist/ui/assets/{mount-Dh0O4orp.js → mount-Dk-I5R7K.js} +1 -1
- package/dist/ui/assets/{mount-CpyDRxP6.js → mount-GBkZgZPI.js} +2 -2
- package/dist/ui/assets/{mount-bridge-client-DHGevTQu.js → mount-bridge-client-BWPRzAQ5.js} +1 -1
- package/dist/ui/assets/{mount-recovery-D687TLZv.js → mount-recovery-DO04oIYN.js} +1 -1
- package/dist/ui/assets/{navigation-watcher-BoJS9hdc.js → navigation-watcher-DkN9hU8i.js} +1 -1
- package/dist/ui/assets/new-session-DDu0IRGc.js +2 -0
- package/dist/ui/assets/oauth-bootstrap-DfSYlub_.js +2 -0
- package/dist/ui/assets/{oauth-service-foejPYvF.js → oauth-service-BuEH8BXq.js} +1 -1
- package/dist/ui/assets/{oauth-service-lE9AyywH.js → oauth-service-Dk3L2UWh.js} +1 -1
- package/dist/ui/assets/{openai-codex-jK5ybbFx.js → openai-codex-DuyyDpZA.js} +1 -1
- package/dist/ui/assets/openai-codex-responses-DRR6raXn.js +7 -0
- package/dist/ui/assets/openai-codex-responses-DU5CHdDQ.js +7 -0
- package/dist/ui/assets/openai-codex-rpYkFAL8.js +1 -0
- package/dist/ui/assets/openai-completions-B9S6450Q.js +5 -0
- package/dist/ui/assets/openai-completions-DhKgaAgM.js +5 -0
- package/dist/ui/assets/openai-responses-C4_jiYtu.js +1 -0
- package/dist/ui/assets/openai-responses-DmKhLxzV.js +1 -0
- package/dist/ui/assets/openai-responses-shared-CiIL52L-.js +10 -0
- package/dist/ui/assets/openai-responses-shared-IJFiSqdz.js +10 -0
- package/dist/ui/assets/{openrouter-C_pGnoz1.js → openrouter-BcPlZu_G.js} +1 -1
- package/dist/ui/assets/{openrouter-DVFBhELg.js → openrouter-DHTAGWtd.js} +1 -1
- package/dist/ui/assets/openrouter-images-6_MxZkJZ.js +1 -0
- package/dist/ui/assets/openrouter-images-BixC5B6a.js +1 -0
- package/dist/ui/assets/{openrouter-models-DM9v24kQ.js → openrouter-models-Bu1Cy5AD.js} +1 -1
- package/dist/ui/assets/{openrouter-models-B8MWxzTa.js → openrouter-models-CfnkMx5-.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-CukjxICV.js → openrouter-oauth-CTIG_xj5.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-DdKdfU0P.js → openrouter-oauth-iVwMGpbk.js} +1 -1
- package/dist/ui/assets/openrouter.models-DS1_VkCm.js +1 -0
- package/dist/ui/assets/openrouter.models-HnnH-abS.js +1 -0
- package/dist/ui/assets/page-follower-tray-M061L6UY.js +5 -0
- package/dist/ui/assets/{panel-rpc-handlers-UyWgyt3z.js → panel-rpc-handlers-CkC-CpDZ.js} +2 -2
- package/dist/ui/assets/{port-bridge-client-CoFZLSYm.js → port-bridge-client-DdolH4cw.js} +1 -1
- package/dist/ui/assets/{port-bridge-client-BC810skI.js → port-bridge-client-f_6YKEkm.js} +1 -1
- package/dist/ui/assets/{provider-B4WqwJf8.js → provider-Db5o_XYj.js} +2 -2
- package/dist/ui/assets/{provider-C-y-cI9Y.js → provider-DiWogq8f.js} +1 -1
- package/dist/ui/assets/provider-retry-C8PJzY_l.js +1 -0
- package/dist/ui/assets/{provider-settings-C5o54NBg.js → provider-settings-CSt8YEx4.js} +1 -1
- package/dist/ui/assets/provider-settings-DnRChWz9.js +2 -0
- package/dist/ui/assets/provider-store-access-Bo--BwLf.js +1 -0
- package/dist/ui/assets/{provider-store-access-B-0tnW1p.js → provider-store-access-DQypuwRG.js} +2 -2
- package/dist/ui/assets/{providers-BVNM94x0.js → providers-Bchg39l1.js} +1 -1
- package/dist/ui/assets/providers-DpzUvgPJ.js +2 -0
- package/dist/ui/assets/{proxied-fetch-D5h5REZy.js → proxied-fetch-CfcFb0B0.js} +1 -1
- package/dist/ui/assets/{proxied-fetch-ldIfAeIb.js → proxied-fetch-D8ebvbVd.js} +1 -1
- package/dist/ui/assets/quick-llm-CuKruUki.js +1 -0
- package/dist/ui/assets/{remote-cdp-transport-DOoXIxy3.js → remote-cdp-transport-Dmg2NdTA.js} +1 -1
- package/dist/ui/assets/{runtime-mode-BVHOImD_.js → runtime-mode-B8Tqab3Z.js} +1 -1
- package/dist/ui/assets/runtime-mode-BweZnYql.js +1 -0
- package/dist/ui/assets/{secret-env-dQA8rL_1.js → secret-env-Cn-GSA1R.js} +1 -1
- package/dist/ui/assets/{secret-topology-CptRwAX3.js → secret-topology-Baeul5rD.js} +1 -1
- package/dist/ui/assets/{secrets-bridge-client-D6nwnBvr.js → secrets-bridge-client-CLRo0NLf.js} +1 -1
- package/dist/ui/assets/session-freezer-DGs88nTW.js +21 -0
- package/dist/ui/assets/session-store-DQztDoVa.js +1 -0
- package/dist/ui/assets/setup-standalone-prelude-DJUR-Jx-.js +2 -0
- package/dist/ui/assets/setup-sudo-Cc-d6eO1.js +2 -0
- package/dist/ui/assets/sha256-DmK25X5D.js +1 -0
- package/dist/ui/assets/{silent-renew-backoff-DyzFsWYC.js → silent-renew-backoff-Chq7fPuc.js} +1 -1
- package/dist/ui/assets/{silent-renew-backoff-Dzkpjjro.js → silent-renew-backoff-CqD4WRin.js} +1 -1
- package/dist/ui/assets/{skills-XOQZdId1.js → skills-gGjRrQeq.js} +1 -1
- package/dist/ui/assets/{speak-aEIq7SEP.js → speak-DZhfxcQp.js} +1 -1
- package/dist/ui/assets/{speak-B4wyr-p6.js → speak-wEvzUJ_4.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-354rS3Fe.js → sprinkle-manager-BYlc7AHg.js} +1 -1
- package/dist/ui/assets/src-BcePBv4G.js +1 -0
- package/dist/ui/assets/src-C9oNvq2b2.js +2 -0
- package/dist/ui/assets/src-DoFhVmQT.js +1 -0
- package/dist/ui/assets/{store-BifrdU3S.js → store-ByY8CO32.js} +1 -1
- package/dist/ui/assets/{sudo-CdCTvp3_.js → sudo-DsN_KTcg.js} +1 -1
- package/dist/ui/assets/{telemetry-C8rZr13D.js → telemetry-Dxrv_mDE.js} +1 -1
- package/dist/ui/assets/{transformers-env-DZtq7i0I.js → transformers-env-Cr03eE3X.js} +1 -1
- package/dist/ui/assets/{transformers-env-CeJN6XlP.js → transformers-env-DKadceXA.js} +1 -1
- package/dist/ui/assets/{tray-leader-DicSB8Dn.js → tray-leader-BDMuV-1a.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-BI5IM82V.js → tray-leave-runtime-DuZ41JQ-.js} +1 -1
- package/dist/ui/assets/{tray-runtime-config-DquE2Rx9.js → tray-runtime-config-9kTxza5l.js} +1 -1
- package/dist/ui/assets/{tray-runtime-config-8-BCHO27.js → tray-runtime-config-GgP0BHji.js} +1 -1
- package/dist/ui/assets/{tray-sync-protocol-CVdiCvfU.js → tray-sync-protocol-CxWJ329c.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-B3uBpES8.js → upgrade-detection-BjD6M6tx.js} +1 -1
- package/dist/ui/assets/{voice-reply-6cMxpz9H.js → voice-reply-CkYr1oSF.js} +1 -1
- package/dist/ui/assets/{wc-attach-DU0svqb7.js → wc-attach-CYMk5mBA.js} +1 -1
- package/dist/ui/assets/wc-extension-WOxllVQv.js +2 -0
- package/dist/ui/assets/{wc-float-label-2tniyRvt.js → wc-float-label-yV3hzRXJ.js} +1 -1
- package/dist/ui/assets/wc-follower-CqNUhals.js +17 -0
- package/dist/ui/assets/wc-live-DN4iNS1F.js +8 -0
- package/dist/ui/assets/wc-nav-DdL1jc0a.js +2 -0
- package/dist/ui/assets/{wc-onboarding-DMsV9vuN.js → wc-onboarding-Bzxu5Ii4.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-CNOsszW8.js → wc-placeholder-5zeCfEVA.js} +2 -2
- package/dist/ui/assets/{wc-settings-QlugO7SB.js → wc-settings-CrG7sAlG.js} +3 -3
- package/dist/ui/assets/{wc-shell-DZD-3K-u.js → wc-shell-DL44I68b.js} +3 -3
- package/dist/ui/assets/{wc-sprinkles-D38PuO87.js → wc-sprinkles-D52GEpi0.js} +2 -2
- package/dist/ui/assets/wc-transcript-export-5Pmfejur.js +2 -0
- package/dist/ui/assets/wc-tray-jp0YtxQG.js +2 -0
- package/dist/ui/assets/{whisper-engine-G1YfvaDM.js → whisper-engine-CHKYCaAu.js} +1 -1
- package/dist/ui/assets/{whisper-session-Ds5v74N9.js → whisper-session-W-6_Qa-h.js} +2 -2
- package/dist/ui/assets/{xai-grok-BujeRcN4.js → xai-grok-BuiKJ83J.js} +1 -1
- package/dist/ui/assets/xai-grok-BxZVhpe_.js +1 -0
- package/dist/ui/index.html +20 -18
- package/dist/ui/llm-proxy-sw.js +1 -1
- package/dist/ui/packages/webapp/index.html +20 -18
- package/package.json +1 -1
- package/dist/ui/assets/account-store-Dz-pna2J.js +0 -38
- package/dist/ui/assets/account-store-yyyfGfoQ.js +0 -94
- package/dist/ui/assets/amazon-bedrock-Cg62P8pR.json +0 -1
- package/dist/ui/assets/anthropic-4_qTN2Mu.json +0 -1
- package/dist/ui/assets/anthropic-messages-6XWFkWWy.js +0 -39
- package/dist/ui/assets/anthropic-messages-D42B1WVl.js +0 -39
- package/dist/ui/assets/azure-openai-responses-BvEv9lZE.js +0 -1
- package/dist/ui/assets/azure-openai-responses-DE9sINqp.json +0 -1
- package/dist/ui/assets/azure-openai-responses-DRSA640t.js +0 -1
- package/dist/ui/assets/bedrock-camp-D_7EbOFH.js +0 -1
- package/dist/ui/assets/cloudflare-ai-gateway-DDb7hKDm.json +0 -1
- package/dist/ui/assets/cloudflare-workers-ai-hYVOS3es.json +0 -1
- package/dist/ui/assets/compat-Spvv5tCW.js +0 -2
- package/dist/ui/assets/fireworks-B7kEGNCU.json +0 -1
- package/dist/ui/assets/github-copilot-K9C_HNHm.json +0 -1
- package/dist/ui/assets/google-F4XgvJ1y.json +0 -1
- package/dist/ui/assets/google-generative-ai-BqEHWDKc.js +0 -1
- package/dist/ui/assets/google-generative-ai-DOAY2Bef.js +0 -1
- package/dist/ui/assets/google-shared-2WQG4pNx.js +0 -11
- package/dist/ui/assets/google-shared-CGD-JGZx.js +0 -371
- package/dist/ui/assets/google-vertex-C-dQj0iH.js +0 -1
- package/dist/ui/assets/google-vertex-CiTExP0E.js +0 -1
- package/dist/ui/assets/huggingface-BjNadu0v.json +0 -1
- package/dist/ui/assets/lick-ws-bridge-BX-cBxCM.js +0 -1
- package/dist/ui/assets/main-BwSf9XOe.js +0 -22
- package/dist/ui/assets/main-cherry-9qp2ecC4.js +0 -1
- package/dist/ui/assets/mistral-CLEcIOtP.json +0 -1
- package/dist/ui/assets/mistral-conversations-BIHTMTfL.js +0 -7
- package/dist/ui/assets/mistral-conversations-CFKNSaPt.js +0 -8
- package/dist/ui/assets/moonshotai-8QShYhhE.json +0 -1
- package/dist/ui/assets/moonshotai-cn-7hHZff5z.json +0 -1
- package/dist/ui/assets/new-session-EfIhjpHZ.js +0 -2
- package/dist/ui/assets/nvidia-dA6GzUPm.json +0 -1
- package/dist/ui/assets/oauth-bootstrap-DFYztLmR.js +0 -2
- package/dist/ui/assets/openai-BehvdaXx.json +0 -1
- package/dist/ui/assets/openai-codex-XS4icMCX.js +0 -1
- package/dist/ui/assets/openai-codex-responses-B7cFMjWk.js +0 -7
- package/dist/ui/assets/openai-codex-responses-DqxoDEwc.js +0 -7
- package/dist/ui/assets/openai-completions-Z1aRkqWe.js +0 -5
- package/dist/ui/assets/openai-completions-o78dOizF.js +0 -5
- package/dist/ui/assets/openai-responses-SPfzkTJm.js +0 -1
- package/dist/ui/assets/openai-responses-shared-BHsJFKuB.js +0 -10
- package/dist/ui/assets/openai-responses-shared-Dg5Ojqlw.js +0 -10
- package/dist/ui/assets/openai-responses-xSdsW9lw.js +0 -1
- package/dist/ui/assets/opencode-4chvZrBR.json +0 -1
- package/dist/ui/assets/opencode-go-Chp1OOUx.json +0 -1
- package/dist/ui/assets/openrouter-ZLTwKIjA.json +0 -1
- package/dist/ui/assets/openrouter-images-BrQDTa3_.js +0 -1
- package/dist/ui/assets/openrouter-images-DtvjLeGK.js +0 -1
- package/dist/ui/assets/openrouter.models-Bi9GV7Zn.js +0 -1
- package/dist/ui/assets/openrouter.models-D41M1z_D.js +0 -1
- package/dist/ui/assets/page-follower-tray-Cm9cuA-m.js +0 -5
- package/dist/ui/assets/provider-settings-Bf4riFFt.js +0 -2
- package/dist/ui/assets/provider-store-access-DQ3Xz22u.js +0 -1
- package/dist/ui/assets/providers-BZHUuJkX.js +0 -2
- package/dist/ui/assets/quick-llm-CTddYx3-.js +0 -1
- package/dist/ui/assets/qwen-token-plan-BpxmzamU.json +0 -1
- package/dist/ui/assets/qwen-token-plan-cn-CPhDR0u_.json +0 -1
- package/dist/ui/assets/session-freezer-CVXiE5lj.js +0 -21
- package/dist/ui/assets/session-store-DAM8GRJ0.js +0 -1
- package/dist/ui/assets/setup-sudo-C8hl5UHa.js +0 -2
- package/dist/ui/assets/src-CS5gSDhT.js +0 -1
- package/dist/ui/assets/src-Dk1QVJRd.js +0 -1
- package/dist/ui/assets/together-CYZ-lBBF.json +0 -1
- package/dist/ui/assets/vercel-ai-gateway-ZtkcQH_C.json +0 -1
- package/dist/ui/assets/wc-extension-Dnbc6pqX.js +0 -2
- package/dist/ui/assets/wc-follower-DgOR4hQ4.js +0 -17
- package/dist/ui/assets/wc-live-DZ6Z4ggE.js +0 -8
- package/dist/ui/assets/wc-nav-CpXNlZRT.js +0 -2
- package/dist/ui/assets/wc-tray-MAH8ntv2.js +0 -2
- package/dist/ui/assets/xai-grok-CgCHECRn.js +0 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{t as e}from"./event-stream-qbAZIAKV.js";import{o as t,r as n,s as r,t as i}from"./transform-messages-Bp94o3FD.js";import{n as a}from"./json-parse-CpLf0aqK.js";import{t as o}from"./provider-env-DwY8YuMk.js";import{t as s}from"./headers-CbDaTl3c.js";import{t as c}from"./provider-retry-C8PJzY_l.js";import{t as l}from"./sanitize-unicode-DmIE6hZJ.js";import{a as u,i as d,n as f,r as p,t as m}from"./constrained-sampling-DafcjXU6.js";import{n as h,t as g}from"./github-copilot-headers-DRgtIyTm.js";import{n as _}from"./openai-CmTnPr9N.js";import{n as v,t as y}from"./error-body-C0EnfbdK.js";import{t as b}from"./openai-prompt-cache-DXo9f3w5.js";import{t as x}from"./hash-yQufAZII.js";function S(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 C(e,t,n){if(t)return t;if(S(n,`authorization`)||S(n,`cf-aig-authorization`))return`unused`;throw Error(`No API key for provider: ${e}`)}function w(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 T(e){let t=new Set;for(let n of e)if(n.role===`toolResult`)for(let e of n.addedToolNames??[])t.add(e);return t}function E(e,t){if(!e)return[];let n=new Map(e.map(e=>[e.name,e]));return Array.from(t).map(e=>n.get(e)).filter(e=>e!==void 0)}function D(e){return e.type===`text`}function O(e){return e.type===`thinking`}function k(e){return e.type===`toolCall`}function A(e){return e.type===`image`}function j(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.type===`reasoning.encrypted`&&typeof t.id==`string`&&t.id.length>0&&typeof t.data==`string`&&t.data.length>0}function M(e,t){return e||(o(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}const N=(t,n,r)=>{let i=new e;return(async()=>{let e={role:`assistant`,content:[],api:t.api,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let o=C(t.provider,r?.apiKey,r?.headers),l=Q(t),u=f(n.tools,l.supportsOpenAIGrammarTools),d=M(r?.cacheRetention,r?.env),p=d===`none`?void 0:r?.sessionId,h=F(t,n,o,r?.headers,p,l),g=I(t,n,r,l,d,u),_=await r?.onPayload?.(g,t);_!==void 0&&(g=_);let v={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},maxRetries:0},{data:y,response:b}=await c(()=>h.chat.completions.create(g,v).withResponse(),{maxRetries:r?.maxRetries,maxRetryDelayMs:r?.maxRetryDelayMs,signal:r?.signal});await r?.onResponse?.({status:b.status,headers:s(b.headers)},t),i.push({type:`start`,partial:e});let x=null,S=null,w=!1,T=new Map,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:``},N=(e,t,n)=>{let r=e.customInput;if(!r)return;let i=m(r.jsonBuffer,r.property,t,n);return e.arguments={[r.property]:t},i},P=t=>{let n=k(t);if(n!==-1){if(t.type===`text`)i.push({type:`text_end`,contentIndex:n,content:t.text,partial:e});else if(t.type===`thinking`)i.push({type:`thinking_end`,contentIndex:n,content:t.thinking,partial:e});else if(t.type===`toolCall`){if(t.customInput){let r=N(t,A(t),!0);r!==void 0&&i.push({type:`toolcall_delta`,contentIndex:n,delta:r,partial:e})}else t.arguments=a(t.partialArgs);delete t.partialArgs,delete t.customInput,delete t.streamIndex,i.push({type:`toolcall_end`,contentIndex:n,toolCall:t,partial:e})}}},L=()=>(x||(x={type:`text`,text:``},O.push(x),i.push({type:`text_start`,contentIndex:k(x),partial:e})),x),R=t=>(S||(S={type:`thinking`,thinking:``,thinkingSignature:t},O.push(S),i.push({type:`thinking_start`,contentIndex:k(S),partial:e})),S),z=e=>{if(!e.id)return;let t=D.get(e.id);t&&(e.thoughtSignature=t,D.delete(e.id))},B=t=>{let n=typeof t.index==`number`?t.index:void 0,r=t.function?.name??t.custom?.name??``,a=n===void 0?void 0:T.get(n);if(!a&&t.id&&(a=E.get(t.id)),!a){let o=t.custom?u.get(r)??`input`:void 0,s=o!==void 0;a={type:`toolCall`,id:t.id||``,name:r,arguments:s?{[o]:``}:{},partialArgs:s?void 0:``,customInput:s?{property:o,jsonBuffer:{input:``,started:!1,closed:!1}}:void 0,streamIndex:n},n!==void 0&&T.set(n,a),t.id&&E.set(t.id,a),O.push(a),i.push({type:`toolcall_start`,contentIndex:k(a),partial:e})}if(n!==void 0&&a.streamIndex===void 0&&(a.streamIndex=n,T.set(n,a)),t.id&&E.set(t.id,a),!a.name&&r&&(a.name=r),t.custom&&!a.customInput){let e=u.get(a.name)??`input`;a.arguments={[e]:``},a.customInput={property:e,jsonBuffer:{input:``,started:!1,closed:!1}},delete a.partialArgs}return z(a),a};for await(let n of y){if(!n||typeof n!=`object`)continue;e.responseId||=n.id,typeof n.model==`string`&&n.model.length>0&&n.model!==t.id&&(e.responseModel||=n.model),n.usage&&(e.usage=Y(n.usage,t));let r=Array.isArray(n.choices)?n.choices[0]:void 0;if(r){if(!n.usage&&r.usage&&(e.usage=Y(r.usage,t)),r.finish_reason){let t=X(r.finish_reason);e.stopReason=t.stopReason,t.errorMessage&&(e.errorMessage=t.errorMessage),w=!0}if(r.delta){if(r.delta.content!==null&&r.delta.content!==void 0&&r.delta.content.length>0){let t=L();t.text+=r.delta.content,i.push({type:`text_delta`,contentIndex:k(t),delta:r.delta.content,partial:e})}let n=[`reasoning_content`,`reasoning`,`reasoning_text`],o=r.delta,s=null;for(let e of n){let t=o[e];if(typeof t==`string`&&t.length>0){s=e;break}}if(s){let n=o[s];if(typeof n==`string`&&n.length>0){let r=R(t.provider===`opencode-go`&&s===`reasoning`?`reasoning_content`:s);r.thinking+=n,i.push({type:`thinking_delta`,contentIndex:k(r),delta:n,partial:e})}}if(r?.delta?.tool_calls)for(let t of r.delta.tool_calls){let n=B(t);!n.id&&t.id&&(n.id=t.id,E.set(t.id,n));let r=t.function?.name??t.custom?.name;!n.name&&r&&(n.name=r);let o=``;t.function?.arguments?(o=t.function.arguments,n.partialArgs=(n.partialArgs??``)+t.function.arguments,n.arguments=a(n.partialArgs)):t.custom?.input&&(o=N(n,A(n)+t.custom.input,!1)??``),i.push({type:`toolcall_delta`,contentIndex:k(n),delta:o,partial:e})}let c=r.delta.reasoning_details;if(Array.isArray(c)){for(let e of c)if(j(e)){let t=JSON.stringify(e),n=E.get(e.id);n?n.thoughtSignature=t:D.set(e.id,t)}}}}}for(let e of O)P(e);if(r?.signal?.aborted||e.stopReason===`aborted`)throw Error(`Request was aborted`);if(e.stopReason===`error`)throw Error(e.errorMessage||`Provider returned an error stop reason`);if(!w)throw Error(`Stream ended without finish_reason`);i.push({type:`done`,reason:e.stopReason,message:e}),i.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialArgs,delete t.customInput,delete t.streamIndex;e.stopReason=r?.signal?.aborted?`aborted`:`error`,e.errorMessage=y(v(t));let n=t?.error?.metadata?.raw;n&&!e.errorMessage.includes(String(n))&&(e.errorMessage+=`\n${n}`),i.push({type:`error`,reason:e.stopReason,error:e}),i.end()}})(),i},P=(e,t,i)=>{C(e.provider,i?.apiKey,i?.headers);let a=n(e,t,i,i?.apiKey),o=i?.reasoning?r(e,i.reasoning):void 0,s=o===`off`?void 0:o,c=i?.toolChoice;return N(e,t,{...a,reasoningEffort:s,toolChoice:c})};function F(e,t,n,r,i,a=Q(e)){let o={...e.headers};if(e.provider===`github-copilot`){let e=h(t.messages),n=g({messages:t.messages,hasImages:e});Object.assign(o,n)}return i&&a.sendSessionAffinityHeaders&&(a.sessionAffinityFormat===`openrouter`?o[`x-session-id`]=i:(a.sessionAffinityFormat===`openai`&&(o.session_id=i),o[`x-client-request-id`]=i,o[`x-session-affinity`]=i)),r&&Object.assign(o,r),new _({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:o})}function I(e,t,n,r=Q(e),i=M(n?.cacheRetention,n?.env),a=f(t.tools,r.supportsOpenAIGrammarTools)){let o=q(e,t,r,{grammarToolInputProperties:a}),s=z(r,i),c={model:e.id,messages:o,stream:!0,prompt_cache_key:e.baseUrl.includes(`api.openai.com`)&&i!==`none`||i===`long`&&r.supportsLongCacheRetention?b(n?.sessionId):void 0,prompt_cache_retention:i===`long`&&r.supportsLongCacheRetention?`24h`:void 0};r.supportsUsageInStreaming!==!1&&(c.stream_options={include_usage:!0}),r.supportsStore&&(c.store=!1),n?.maxTokens&&(r.maxTokensField===`max_tokens`?c.max_tokens=n.maxTokens:c.max_completion_tokens=n.maxTokens),n?.temperature!==void 0&&(c.temperature=n.temperature);let l=r.deferredToolsMode===`kimi`?T(t.messages):new Set,u=t.tools?.filter(e=>!l.has(e.name));if(u&&u.length>0?(c.tools=J(u,r),r.zaiToolStream&&(c.tool_stream=!0)):w(t.messages)&&(c.tools=[]),s&&B(o,c.tools,s),n?.toolChoice&&(c.tool_choice=n.toolChoice),r.thinkingFormat===`zai`&&e.reasoning){let t=c;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)c.enable_thinking=!!n?.reasoningEffort;else if(r.thinkingFormat===`qwen-chat-template`&&e.reasoning)c.chat_template_kwargs={enable_thinking:!!n?.reasoningEffort,preserve_thinking:!0};else if(r.thinkingFormat===`chat-template`&&e.reasoning){let t=L(e,n,r);t&&(c.chat_template_kwargs=t)}else if(r.thinkingFormat===`deepseek`&&e.reasoning)n?.reasoningEffort?c.thinking={type:`enabled`}:e.thinkingLevelMap?.off!==null&&(c.thinking={type:`disabled`}),n?.reasoningEffort&&r.supportsReasoningEffort&&(c.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort);else if(r.thinkingFormat===`openrouter`&&e.reasoning){let t=c;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`&&(c.reasoning={effort:t})}else if(r.thinkingFormat===`together`&&e.reasoning){let t=c;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=c;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)c.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;else if(!n?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort){let t=e.thinkingLevelMap?.off;typeof t==`string`&&(c.reasoning_effort=t)}if(e.compat?.openRouterRouting&&(c.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),c.providerOptions={gateway:e}}}return c}function L(e,t,n){let r={};for(let[i,a]of Object.entries(n.chatTemplateKwargs)){let n=R(e,t,a);n!==void 0&&(r[i]=n)}return Object.keys(r).length>0?r:void 0}function R(e,t,n){if(typeof n!=`object`||!n)return n;let r=t?.reasoningEffort;if(!r&&n.omitWhenOff)return;if(n.$var===`thinking.enabled`)return!!r;let i=r?e.thinkingLevelMap?.[r]:e.thinkingLevelMap?.off;return i===void 0?r:typeof i==`string`?i:void 0}function z(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 B(e,t,n){V(e,n),U(t,n),H(e,n)}function V(e,t){for(let n of e)if(n.role===`system`||n.role===`developer`){W(n,t);return}}function H(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`)&&G(r,t))return}}function U(e,t){if(!e||e.length===0)return;let n=e[e.length-1];n.cache_control=t}function W(e,t){return K(e,t)}function G(e,t){return e.role===`user`||e.role===`assistant`||e.role===`tool`?K(e,t):!1}function K(e,t){let n=e.content;if(typeof n==`string`)return n.length===0?!1:(e.content=[{type:`text`,text:n,cache_control:t}],!0);if(!Array.isArray(n))return!1;for(let e=n.length-1;e>=0;e--){let r=n[e];if(r?.type===`text`){let e=r;return e.cache_control=t,!0}}return!1}function q(e,t,n,r){let a=[],o=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=x(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},s=i(t.messages,e,e=>o(e));if(t.systemPrompt){let r=e.reasoning&&n.supportsDeveloperRole?`developer`:`system`;a.push({role:r,content:l(t.systemPrompt)})}let c=null;for(let i=0;i<s.length;i++){let o=s[i];if(n.requiresAssistantAfterToolResult&&c===`toolResult`&&o.role===`user`&&a.push({role:`assistant`,content:`I have processed the tool results.`}),o.role===`user`)if(typeof o.content==`string`)a.push({role:`user`,content:l(o.content)});else{let e=o.content.map(e=>e.type===`text`?{type:`text`,text:l(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});if(e.length===0)continue;a.push({role:`user`,content:e})}else if(o.role===`assistant`){let t={role:`assistant`,content:n.requiresAssistantAfterToolResult?``:null},i=o.content.filter(D).filter(e=>e.text.trim().length>0).map(e=>({type:`text`,text:l(e.text)})),s=i.map(e=>e.text).join(``),c=o.content.filter(O).filter(e=>e.thinking.trim().length>0);if(c.length>0)if(n.requiresThinkingAsText)t.content=[{type:`text`,text:c.map(e=>l(e.thinking)).join(`
|
|
2
|
+
|
|
3
|
+
`)},...i];else{s.length>0&&(t.content=s);let n=c[0].thinkingSignature;e.provider===`opencode-go`&&n===`reasoning`&&(n=`reasoning_content`),n&&n.length>0&&(t[n]=c.map(e=>e.thinking).join(`
|
|
4
|
+
`))}else s.length>0&&(t.content=s);let u=o.content.filter(k);if(u.length>0){t.tool_calls=u.map(e=>{let t=r?.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:l(p(e.name,e.arguments,t))}}});let e=u.filter(e=>e.thoughtSignature).map(e=>{try{return JSON.parse(e.thoughtSignature)}catch{return null}}).filter(Boolean);e.length>0&&(t.reasoning_details=e)}n.requiresReasoningContentOnAssistantMessages&&e.reasoning&&t.reasoning_content===void 0&&(t.reasoning_content=``);let d=t.content;if(!(d!=null&&d.length>0)&&!t.tool_calls)continue;a.push(t)}else if(o.role===`toolResult`){let r=[],o=new Set,u=i;for(;u<s.length&&s[u].role===`toolResult`;u++){let t=s[u],i=t.content.filter(D).map(e=>e.text).join(`
|
|
5
|
+
`),c=t.content.some(e=>e.type===`image`),d={role:`tool`,content:l(i.length>0?i:c?`(see attached image)`:`(no tool output)`),tool_call_id:t.toolCallId};if(n.requiresToolResultName&&t.toolName&&(d.name=t.toolName),a.push(d),n.deferredToolsMode===`kimi`)for(let e of t.addedToolNames??[])o.add(e);if(c&&e.input.includes(`image`))for(let e of t.content)A(e)&&r.push({type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}})}if(i=u-1,r.length>0?(n.requiresAssistantAfterToolResult&&a.push({role:`assistant`,content:`I have processed the tool results.`}),a.push({role:`user`,content:[{type:`text`,text:`Attached image(s) from tool result:`},...r]}),c=`user`):c=`toolResult`,o.size>0){let e=E(t.tools,o);if(e.length>0){let t={role:`system`,tools:J(e,n)};a.push(t)}}continue}c=o.role}return a}function J(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=u(e,t.supportsStrictMode!==!1);return{type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters,...t.supportsStrictMode!==!1&&{strict:r??!1}}}})}function Y(e,n){let r=e.prompt_tokens||0,i=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??0,a=e.prompt_tokens_details?.cache_write_tokens||0,o=Math.max(0,r-i-a),s=e.completion_tokens||0,c={input:o,output:s,cacheRead:i,cacheWrite:a,reasoning:e.completion_tokens_details?.reasoning_tokens||0,totalTokens:o+s+i+a,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return t(n,c),c}function X(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 Z(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=l||t===`cerebras`||n.includes(`cerebras.ai`)||t===`xai`||n.includes(`api.x.ai`)||i||n.includes(`chutes.ai`)||n.includes(`deepseek.com`)||r||a||t===`opencode`||n.includes(`opencode.ai`)||s||c||u,f=n.includes(`chutes.ai`)||a||c||i||l||u,p=t===`xai`||n.includes(`api.x.ai`),m=t===`deepseek`||n.includes(`deepseek.com`),h=o&&(e.id.startsWith(`anthropic/`)||e.id.startsWith(`openai/`)),g=t===`openrouter`&&e.id.startsWith(`anthropic/`)?`anthropic`:void 0;return{supportsStore:!d,supportsDeveloperRole:h||!d&&!o,supportsReasoningEffort:!p&&!r&&!a&&!i&&!c&&!l&&!u,supportsUsageInStreaming:!0,maxTokensField:f?`max_tokens`:`max_completion_tokens`,requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:m,thinkingFormat:m?`deepseek`:r?`zai`:i?`together`:u?`ant-ling`:o?`openrouter`:`openai`,openRouterRouting:{},vercelGatewayRouting:{},chatTemplateKwargs:{},zaiToolStream:!1,supportsStrictMode:!a&&!i&&!c&&!l,supportsOpenAIGrammarTools:!1,cacheControlFormat:g,sendSessionAffinityHeaders:!1,deferredToolsMode:void 0,sessionAffinityFormat:o?`openrouter`:`openai`,supportsLongCacheRetention:!(i||s||c||l||u)}}function Q(e){let t=Z(e);return e.compat?{supportsStore:e.compat.supportsStore??t.supportsStore,supportsDeveloperRole:e.compat.supportsDeveloperRole??t.supportsDeveloperRole,supportsReasoningEffort:e.compat.supportsReasoningEffort??t.supportsReasoningEffort,supportsUsageInStreaming:e.compat.supportsUsageInStreaming??t.supportsUsageInStreaming,maxTokensField:e.compat.maxTokensField??t.maxTokensField,requiresToolResultName:e.compat.requiresToolResultName??t.requiresToolResultName,requiresAssistantAfterToolResult:e.compat.requiresAssistantAfterToolResult??t.requiresAssistantAfterToolResult,requiresThinkingAsText:e.compat.requiresThinkingAsText??t.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:e.compat.requiresReasoningContentOnAssistantMessages??t.requiresReasoningContentOnAssistantMessages,thinkingFormat:e.compat.thinkingFormat??t.thinkingFormat,openRouterRouting:e.compat.openRouterRouting??{},vercelGatewayRouting:e.compat.vercelGatewayRouting??t.vercelGatewayRouting,chatTemplateKwargs:e.compat.chatTemplateKwargs??t.chatTemplateKwargs,zaiToolStream:e.compat.zaiToolStream??t.zaiToolStream,supportsStrictMode:e.compat.supportsStrictMode??t.supportsStrictMode,supportsOpenAIGrammarTools:e.compat.supportsOpenAIGrammarTools??t.supportsOpenAIGrammarTools,cacheControlFormat:e.compat.cacheControlFormat??t.cacheControlFormat,sendSessionAffinityHeaders:e.compat.sendSessionAffinityHeaders??t.sendSessionAffinityHeaders,deferredToolsMode:e.compat.deferredToolsMode??t.deferredToolsMode,sessionAffinityFormat:e.compat.sessionAffinityFormat??t.sessionAffinityFormat,supportsLongCacheRetention:e.compat.supportsLongCacheRetention??t.supportsLongCacheRetention}:t}export{q as convertMessages,N as stream,P as streamSimple};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./event-stream-qbAZIAKV.js";import{r as t,s as n}from"./transform-messages-Bp94o3FD.js";import{t as r}from"./provider-env-DwY8YuMk.js";import{t as i}from"./deferred-tools-DNuoafg8.js";import{t as a}from"./headers-CbDaTl3c.js";import{t as o}from"./provider-retry-C8PJzY_l.js";import{n as s}from"./constrained-sampling-DafcjXU6.js";import{n as c,t as l}from"./github-copilot-headers-DRgtIyTm.js";import{n as u}from"./openai-CmTnPr9N.js";import{n as d,t as f}from"./error-body-C0EnfbdK.js";import{t as p}from"./openai-prompt-cache-DXo9f3w5.js";import{n as m,r as h,t as g}from"./openai-responses-shared-CiIL52L-.js";const _=new Set([`openai`,`openai-codex`,`opencode`]);function v(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 y(e,t,n){if(t)return t;if(v(n,`authorization`)||v(n,`cf-aig-authorization`))return`unused`;throw Error(`No API key for provider: ${e}`)}function b(e){return e.provider===`openrouter`||e.baseUrl.includes(`openrouter.ai`)?`openrouter`:`openai`}function x(e,t){return e||(r(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}function S(e){return{supportsDeveloperRole:e.compat?.supportsDeveloperRole??!0,sessionAffinityFormat:e.compat?.sessionAffinityFormat??b(e),supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0,supportsStrictMode:e.compat?.supportsStrictMode??!1,supportsOpenAIGrammarTools:e.compat?.supportsOpenAIGrammarTools??!1,supportsToolSearch:e.compat?.supportsToolSearch??!1,supportsExplicitPromptCacheMode:e.compat?.supportsExplicitPromptCacheMode??!1}}function C(e,t){return t===`long`&&e.supportsLongCacheRetention?`24h`:void 0}function w(e){return f(d(e),`OpenAI API error`)}const T=(t,n,r)=>{let i=new e;return(async()=>{let e={role:`assistant`,content:[],api:t.api,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let c=y(t.provider,r?.apiKey,r?.headers),l=x(r?.cacheRetention,r?.env)===`none`?void 0:r?.sessionId,u=S(t),d=s(n.tools,u.supportsOpenAIGrammarTools),f=D(t,n,c,r?.headers,l),p=O(t,n,r,u,d),m=await r?.onPayload?.(p,t);m!==void 0&&(p=m);let g={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},maxRetries:0},{data:_,response:v}=await o(()=>f.responses.create(p,g).withResponse(),{maxRetries:r?.maxRetries,maxRetryDelayMs:r?.maxRetryDelayMs,signal:r?.signal});if(await r?.onResponse?.({status:v.status,headers:a(v.headers)},t),i.push({type:`start`,partial:e}),await h(_,e,i,t,{serviceTier:r?.serviceTier,grammarToolInputProperties:d,applyServiceTierPricing:(e,n)=>A(e,n,t)}),r?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(`An unknown error occurred`);i.push({type:`done`,reason:e.stopReason,message:e}),i.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialJson,delete t.customInput;e.stopReason=r?.signal?.aborted?`aborted`:`error`,e.errorMessage=w(t),i.push({type:`error`,reason:e.stopReason,error:e}),i.end()}})(),i},E=(e,r,i)=>{y(e.provider,i?.apiKey,i?.headers);let a=t(e,r,i,i?.apiKey),o=i?.reasoning?n(e,i.reasoning):void 0,s=o===`off`?void 0:o;return T(e,r,{...a,reasoningEffort:s})};function D(e,t,n,r,i){let a=S(e),o={...e.headers};if(e.provider===`github-copilot`){let e=c(t.messages),n=l({messages:t.messages,hasImages:e});Object.assign(o,n)}return i&&(a.sessionAffinityFormat===`openrouter`?o[`x-session-id`]=i:(a.sessionAffinityFormat===`openai`&&(o.session_id=i),o[`x-client-request-id`]=i)),r&&Object.assign(o,r),new u({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:o})}function O(e,t,n,r=S(e),a=s(t.tools,r.supportsOpenAIGrammarTools)){let o=i(t,r.supportsToolSearch),c=g(e,t,_,{grammarToolInputProperties:a,deferredTools:o.deferred,toolOptions:{supportsStrictMode:r.supportsStrictMode,supportsOpenAIGrammarTools:r.supportsOpenAIGrammarTools}}),l=x(n?.cacheRetention,n?.env),u=l===`none`&&r.supportsExplicitPromptCacheMode,d={model:e.id,input:c,stream:!0,prompt_cache_key:l===`none`?void 0:p(n?.sessionId),prompt_cache_retention:C(r,l),prompt_cache_options:u?{mode:`explicit`}:void 0,store:!1};return n?.maxTokens&&(d.max_output_tokens=Math.max(n.maxTokens,16)),n?.temperature!==void 0&&(d.temperature=n?.temperature),n?.serviceTier!==void 0&&(d.service_tier=n.serviceTier),o.immediate.length>0&&(d.tools=m(o.immediate,{supportsStrictMode:r.supportsStrictMode,supportsOpenAIGrammarTools:r.supportsOpenAIGrammarTools})),n?.toolChoice!==void 0&&(d.tool_choice=n.toolChoice),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(d.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},d.include=[`reasoning.encrypted_content`]):e.provider!==`github-copilot`&&e.thinkingLevelMap?.off!==null&&(d.reasoning={effort:e.thinkingLevelMap?.off??`none`}),e.provider===`xai`&&(d.include=[`reasoning.encrypted_content`])),d}function k(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function A(e,t,n){let r=k(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{T as stream,E as streamSimple};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./event-stream-qbAZIAKV.js";import{n as t}from"./models-Bnh9VDA1.js";import{t as n}from"./provider-env-D37PhSJu.js";import{r}from"./transform-messages-wECJwtH0.js";import{t as i}from"./deferred-tools-C1IEsG5C.js";import{t as a}from"./headers-CbDaTl3c.js";import{t as o}from"./provider-retry-C8PJzY_l.js";import{n as s}from"./constrained-sampling-DafcjXU6.js";import{n as c,t as l}from"./github-copilot-headers-DRgtIyTm.js";import{n as u}from"./openai-BxFF4GUL.js";import{n as d,t as f}from"./error-body-C0EnfbdK.js";import{t as p}from"./openai-prompt-cache-DXo9f3w5.js";import{n as m,r as h,t as g}from"./openai-responses-shared-IJFiSqdz.js";var _=new Set([`openai`,`openai-codex`,`opencode`]),v=16;function y(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 b(e,t,n){if(t)return t;if(y(n,`authorization`)||y(n,`cf-aig-authorization`))return`unused`;throw Error(`No API key for provider: ${e}`)}function x(e){return e.provider===`openrouter`||e.baseUrl.includes(`openrouter.ai`)?`openrouter`:`openai`}function S(e,t){return e||(n(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}function C(e){return{supportsDeveloperRole:e.compat?.supportsDeveloperRole??!0,sessionAffinityFormat:e.compat?.sessionAffinityFormat??x(e),supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0,supportsStrictMode:e.compat?.supportsStrictMode??!1,supportsOpenAIGrammarTools:e.compat?.supportsOpenAIGrammarTools??!1,supportsToolSearch:e.compat?.supportsToolSearch??!1,supportsExplicitPromptCacheMode:e.compat?.supportsExplicitPromptCacheMode??!1}}function w(e,t){return t===`long`&&e.supportsLongCacheRetention?`24h`:void 0}function T(e){return f(d(e),`OpenAI API error`)}var E=(t,n,r)=>{let i=new e;return(async()=>{let e={role:`assistant`,content:[],api:t.api,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let c=b(t.provider,r?.apiKey,r?.headers),l=S(r?.cacheRetention,r?.env)===`none`?void 0:r?.sessionId,u=C(t),d=s(n.tools,u.supportsOpenAIGrammarTools),f=O(t,n,c,r?.headers,l),p=k(t,n,r,u,d),m=await r?.onPayload?.(p,t);m!==void 0&&(p=m);let g={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},maxRetries:0},{data:_,response:v}=await o(()=>f.responses.create(p,g).withResponse(),{maxRetries:r?.maxRetries,maxRetryDelayMs:r?.maxRetryDelayMs,signal:r?.signal});if(await r?.onResponse?.({status:v.status,headers:a(v.headers)},t),i.push({type:`start`,partial:e}),await h(_,e,i,t,{serviceTier:r?.serviceTier,grammarToolInputProperties:d,applyServiceTierPricing:(e,n)=>j(e,n,t)}),r?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(`An unknown error occurred`);i.push({type:`done`,reason:e.stopReason,message:e}),i.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialJson,delete t.customInput;e.stopReason=r?.signal?.aborted?`aborted`:`error`,e.errorMessage=T(t),i.push({type:`error`,reason:e.stopReason,error:e}),i.end()}})(),i},D=(e,n,i)=>{b(e.provider,i?.apiKey,i?.headers);let a=r(e,n,i,i?.apiKey),o=i?.reasoning?t(e,i.reasoning):void 0,s=o===`off`?void 0:o;return E(e,n,{...a,reasoningEffort:s})};function O(e,t,n,r,i){let a=C(e),o={...e.headers};if(e.provider===`github-copilot`){let e=c(t.messages),n=l({messages:t.messages,hasImages:e});Object.assign(o,n)}return i&&(a.sessionAffinityFormat===`openrouter`?o[`x-session-id`]=i:(a.sessionAffinityFormat===`openai`&&(o.session_id=i),o[`x-client-request-id`]=i)),r&&Object.assign(o,r),new u({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:o})}function k(e,t,n,r=C(e),a=s(t.tools,r.supportsOpenAIGrammarTools)){let o=i(t,r.supportsToolSearch),c=g(e,t,_,{grammarToolInputProperties:a,deferredTools:o.deferred,toolOptions:{supportsStrictMode:r.supportsStrictMode,supportsOpenAIGrammarTools:r.supportsOpenAIGrammarTools}}),l=S(n?.cacheRetention,n?.env),u=l===`none`&&r.supportsExplicitPromptCacheMode,d={model:e.id,input:c,stream:!0,prompt_cache_key:l===`none`?void 0:p(n?.sessionId),prompt_cache_retention:w(r,l),prompt_cache_options:u?{mode:`explicit`}:void 0,store:!1};return n?.maxTokens&&(d.max_output_tokens=Math.max(n.maxTokens,v)),n?.temperature!==void 0&&(d.temperature=n?.temperature),n?.serviceTier!==void 0&&(d.service_tier=n.serviceTier),o.immediate.length>0&&(d.tools=m(o.immediate,{supportsStrictMode:r.supportsStrictMode,supportsOpenAIGrammarTools:r.supportsOpenAIGrammarTools})),n?.toolChoice!==void 0&&(d.tool_choice=n.toolChoice),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(d.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},d.include=[`reasoning.encrypted_content`]):e.provider!==`github-copilot`&&e.thinkingLevelMap?.off!==null&&(d.reasoning={effort:e.thinkingLevelMap?.off??`none`}),e.provider===`xai`&&(d.include=[`reasoning.encrypted_content`])),d}function A(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function j(e,t,n){let r=A(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{E as stream,D as streamSimple};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import{o as e,t}from"./transform-messages-Bp94o3FD.js";import{n}from"./json-parse-CpLf0aqK.js";import{t as r}from"./sanitize-unicode-DmIE6hZJ.js";import{a as i,i as a,r as o,t as s}from"./constrained-sampling-DafcjXU6.js";import{t as c}from"./hash-yQufAZII.js";function l(e,t){let n={v:1,id:e};return t&&(n.phase=t),JSON.stringify(n)}function u(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 d(e,t){let n=t.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
2
|
+
`),i=t.filter(e=>e.type===`image`),a=n.length>0;if(i.length===0||!e.input.includes(`image`))return r(a?n:i.length>0?`(see attached image)`:`(no tool output)`);let o=[];a&&o.push({type:`input_text`,text:r(n)});for(let e of i)o.push({type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});return o}function f(e,n,i,a){let s=[],l=new Set,f=e=>{let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return(t.length>64?t.slice(0,64):t).replace(/_+$/,``)},m=e=>{let t=`fc_${c(e)}`;return t.length>64?t.slice(0,64):t},h=t(n.messages,e,(t,n,r)=>{if(!i.has(e.provider)||!t.includes(`|`))return f(t);let[a,o]=t.split(`|`),s=f(a),c=r.provider!==e.provider||r.api!==e.api?m(o):f(o);return c.startsWith(`fc_`)||(c=f(`fc_${c}`)),`${s}|${c}`});if((a?.includeSystemPrompt??!0)&&n.systemPrompt){let t=e.compat,i=e.reasoning&&t?.supportsDeveloperRole!==!1?`developer`:`system`;s.push({role:i,content:r(n.systemPrompt)})}let g=0;for(let t of h){if(t.role===`user`)if(typeof t.content==`string`)s.push({role:`user`,content:[{type:`input_text`,text:r(t.content)}]});else{let e=t.content.map(e=>e.type===`text`?{type:`input_text`,text:r(e.text)}:{type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});if(e.length===0)continue;s.push({role:`user`,content:e})}else if(t.role===`assistant`){let n=[],i=t,l=i.model!==e.id&&i.provider===e.provider&&i.api===e.api,d=0;for(let e of t.content)if(e.type===`thinking`){if(e.thinkingSignature){let t=JSON.parse(e.thinkingSignature);n.push(t)}}else if(e.type===`text`){let t=e,i=u(t.textSignature),a=d===0?`msg_pi_${g}`:`msg_pi_${g}_${d}`;d++;let o=i?.id;o?o.length>64&&(o=`msg_${c(o)}`):o=a,n.push({type:`message`,role:`assistant`,content:[{type:`output_text`,text:r(t.text),annotations:[]}],status:`completed`,id:o,phase:i?.phase})}else if(e.type===`toolCall`){let t=e,[i,s]=t.id.split(`|`),c=a?.grammarToolInputProperties?.get(t.name),u=s;(l&&u?.startsWith(`fc_`)||c===void 0&&!u?.startsWith(`fc_`))&&(u=void 0),c===void 0?n.push({type:`function_call`,id:u,call_id:i,name:t.name,arguments:JSON.stringify(t.arguments)}):n.push({type:`custom_tool_call`,id:u,call_id:i,name:t.name,input:r(o(t.name,t.arguments,c))})}if(n.length===0)continue;s.push(...n)}else if(t.role===`toolResult`){let[n]=t.toolCallId.split(`|`),r=d(e,t.content);a?.grammarToolInputProperties?.has(t.toolName)?s.push({type:`custom_tool_call_output`,call_id:n,output:r}):s.push({type:`function_call_output`,call_id:n,output:r});let i=[];for(let e of t.addedToolNames??[]){let t=a?.deferredTools?.get(e);!t||l.has(e)||(l.add(e),i.push(t))}if(i.length>0){let e=i.map(e=>e.name),n=`pi_tool_load_${c(`${t.toolCallId}:${e.join(`,`)}`)}`;s.push({type:`tool_search_call`,call_id:n,execution:`client`,status:`completed`,arguments:{query:e.join(` `),limit:e.length}}),s.push({type:`tool_search_output`,call_id:n,execution:`client`,status:`completed`,tools:p(i,{...a?.toolOptions,deferLoading:!0})})}}g++}return s}function p(e,t){let n=t?.strict!==void 0&&t.strict,r=t?.supportsStrictMode??!0,o=t?.supportsOpenAIGrammarTools??!1;return e.map(e=>{let s=a(e,o);if(s)return{type:`custom`,name:e.name,description:e.description,format:{type:`grammar`,syntax:s.format,definition:s.definition},...t?.deferLoading?{defer_loading:!0}:{}};let c=i(e,r),l={type:`function`,name:e.name,description:e.description,parameters:e.parameters,...t?.deferLoading?{defer_loading:!0}:{}};return r&&(l.strict=c??n),l})}function m(e){let t=e.customInput?.property;if(t===void 0)return``;let n=e.arguments[t];return typeof n==`string`?n:``}function h(e,t,n){let r=e.customInput;if(!r)return;let i=s(r.jsonBuffer,r.property,t,n);return e.arguments={[r.property]:t},i}async function g(t,r,i,a,o){let s=!1,c=new Map,u=new Map,d=(e,t)=>{let n=c.get(e);return n?.type===t?n:void 0},f=(e,t)=>{t!==void 0&&i.push({type:`toolcall_delta`,contentIndex:e.contentIndex,delta:t,partial:r})},p=(e,t)=>{if(t.type===`reasoning`){let t={type:`thinking`,thinking:``};r.content.push(t);let n={type:`thinking`,block:t,contentIndex:r.content.length-1};return c.set(e,n),i.push({type:`thinking_start`,contentIndex:n.contentIndex,partial:r}),n}if(t.type===`message`){let t={type:`text`,text:``};r.content.push(t);let n={type:`text`,block:t,contentIndex:r.content.length-1};return c.set(e,n),i.push({type:`text_start`,contentIndex:n.contentIndex,partial:r}),n}if(t.type===`function_call`){let n={type:`toolCall`,id:`${t.call_id}|${t.id}`,name:t.name,arguments:{},partialJson:t.arguments||``};r.content.push(n);let a={type:`toolCall`,block:n,contentIndex:r.content.length-1};return c.set(e,a),i.push({type:`toolcall_start`,contentIndex:a.contentIndex,partial:r}),a}if(t.type===`custom_tool_call`){let n=o?.grammarToolInputProperties?.get(t.name)??`input`,a=t.input||``,s={type:`toolCall`,id:`${t.call_id}|${t.id}`,name:t.name,arguments:{[n]:a},customInput:{property:n,jsonBuffer:{input:``,started:!1,closed:!1}}};r.content.push(s);let l={type:`toolCall`,block:s,contentIndex:r.content.length-1};return c.set(e,l),i.push({type:`toolcall_start`,contentIndex:l.contentIndex,partial:r}),l}},g=(e,t)=>c.get(e)??p(e,t),v=e=>{for(let t of e){if(t.type!==`reasoning`||!t.encrypted_content)continue;let e=u.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}))}},y=t=>{if(s=!0,v(t.output??[]),t?.id&&(r.responseId=t.id),t?.usage){let e=t.usage.input_tokens_details,n=e?.cached_tokens||0,i=e?.cache_write_tokens||0;r.usage={input:Math.max(0,(t.usage.input_tokens||0)-n-i),output:t.usage.output_tokens||0,cacheRead:n,cacheWrite:i,reasoning:t.usage.output_tokens_details?.reasoning_tokens||0,totalTokens:t.usage.total_tokens||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}if(e(a,r.usage),o?.applyServiceTierPricing){let e=o.resolveServiceTier?o.resolveServiceTier(t?.service_tier,o.serviceTier):t?.service_tier??o.serviceTier;o.applyServiceTierPricing(r.usage,e)}r.stopReason=_(t?.status),r.content.some(e=>e.type===`toolCall`)&&r.stopReason===`stop`&&(r.stopReason=`toolUse`)};for await(let e of t)if(e.type===`response.created`)r.responseId=e.response.id;else if(e.type===`response.output_item.added`)p(e.output_index,e.item);else if(e.type===`response.reasoning_summary_text.delta`){let t=d(e.output_index,`thinking`);if(!t)continue;t.block.thinking+=e.delta,i.push({type:`thinking_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.reasoning_summary_part.done`){let t=d(e.output_index,`thinking`);if(!t)continue;t.block.thinking+=`
|
|
3
|
+
|
|
4
|
+
`,i.push({type:`thinking_delta`,contentIndex:t.contentIndex,delta:`
|
|
5
|
+
|
|
6
|
+
`,partial:r})}else if(e.type===`response.reasoning_text.delta`){let t=d(e.output_index,`thinking`);if(!t)continue;t.block.thinking+=e.delta,i.push({type:`thinking_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.output_text.delta`){let t=d(e.output_index,`text`);if(!t)continue;t.block.text+=e.delta,i.push({type:`text_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.refusal.delta`){let t=d(e.output_index,`text`);if(!t)continue;t.block.text+=e.delta,i.push({type:`text_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.function_call_arguments.delta`){let t=d(e.output_index,`toolCall`);if(!t||t.block.partialJson===void 0)continue;t.block.partialJson+=e.delta,t.block.arguments=n(t.block.partialJson),f(t,e.delta)}else if(e.type===`response.function_call_arguments.done`){let t=d(e.output_index,`toolCall`);if(!t||t.block.partialJson===void 0)continue;let r=t.block.partialJson;if(t.block.partialJson=e.arguments,t.block.arguments=n(t.block.partialJson),e.arguments.startsWith(r)){let n=e.arguments.slice(r.length);n.length>0&&f(t,n)}}else if(e.type===`response.custom_tool_call_input.delta`){let t=d(e.output_index,`toolCall`);if(!t||!t.block.customInput)continue;f(t,h(t.block,m(t.block)+e.delta,!1))}else if(e.type===`response.custom_tool_call_input.done`){let t=d(e.output_index,`toolCall`);if(!t||!t.block.customInput)continue;f(t,h(t.block,e.input,!0))}else if(e.type===`response.output_item.done`){let t=e.item,a=g(e.output_index,t);if(t.type===`reasoning`&&a?.type===`thinking`){let n=t.summary?.map(e=>e.text).join(`
|
|
7
|
+
|
|
8
|
+
`)||``,o=t.content?.map(e=>e.text).join(`
|
|
9
|
+
|
|
10
|
+
`)||``;a.block.thinking=n||o||a.block.thinking,a.block.thinkingSignature=JSON.stringify(t),u.set(t.id,a.block),i.push({type:`thinking_end`,contentIndex:a.contentIndex,content:a.block.thinking,partial:r}),c.delete(e.output_index)}else t.type===`message`&&a?.type===`text`?(a.block.text=t.content?.map(e=>e.type===`output_text`?e.text:e.refusal).join(``)||``,a.block.textSignature=l(t.id,t.phase??void 0),i.push({type:`text_end`,contentIndex:a.contentIndex,content:a.block.text,partial:r}),c.delete(e.output_index)):t.type===`function_call`&&a?.type===`toolCall`&&a.block.partialJson!==void 0?(a.block.arguments=n(t.arguments||a.block.partialJson||`{}`),delete a.block.partialJson,i.push({type:`toolcall_end`,contentIndex:a.contentIndex,toolCall:a.block,partial:r}),c.delete(e.output_index)):t.type===`custom_tool_call`&&a?.type===`toolCall`&&a.block.customInput&&(f(a,h(a.block,t.input??m(a.block),!0)),delete a.block.customInput,i.push({type:`toolcall_end`,contentIndex:a.contentIndex,toolCall:a.block,partial:r}),c.delete(e.output_index))}else if(e.type===`response.completed`||e.type===`response.incomplete`)y(e.response);else if(e.type===`error`)throw Error(`Error Code ${e.code}: ${e.message}`||`Unknown error`);else if(e.type===`response.failed`){s=!0;let t=e.response?.error,n=e.response?.incomplete_details,r=t?`${t.code||`unknown`}: ${t.message||`no message`}`:n?.reason?`incomplete: ${n.reason}`:`Unknown error (no error details in response)`;throw Error(r)}if(!s)throw Error(`OpenAI Responses stream ended before a terminal response event`)}function _(e){if(!e)return`stop`;switch(e){case`completed`:return`stop`;case`incomplete`:return`length`;case`failed`:case`cancelled`:return`error`;case`in_progress`:case`queued`:return`stop`;default:throw Error(`Unhandled stop reason: ${e}`)}}export{p as n,g as r,f as t};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import{t as e}from"./models-Bnh9VDA1.js";import{n as t}from"./json-parse-rb7sUwcH.js";import{t as n}from"./transform-messages-wECJwtH0.js";import{t as r}from"./sanitize-unicode-DmIE6hZJ.js";import{a as i,i as a,r as o,t as s}from"./constrained-sampling-DafcjXU6.js";import{t as c}from"./hash-yQufAZII.js";function l(e,t){let n={v:1,id:e};return t&&(n.phase=t),JSON.stringify(n)}function u(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 d(e,t){let n=t.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
2
|
+
`),i=t.filter(e=>e.type===`image`),a=n.length>0;if(i.length===0||!e.input.includes(`image`))return r(a?n:i.length>0?`(see attached image)`:`(no tool output)`);let o=[];a&&o.push({type:`input_text`,text:r(n)});for(let e of i)o.push({type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});return o}function f(e,t,i,a){let s=[],l=new Set,f=e=>{let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return(t.length>64?t.slice(0,64):t).replace(/_+$/,``)},m=e=>{let t=`fc_${c(e)}`;return t.length>64?t.slice(0,64):t},h=n(t.messages,e,(t,n,r)=>{if(!i.has(e.provider)||!t.includes(`|`))return f(t);let[a,o]=t.split(`|`),s=f(a),c=r.provider!==e.provider||r.api!==e.api?m(o):f(o);return c.startsWith(`fc_`)||(c=f(`fc_${c}`)),`${s}|${c}`});if((a?.includeSystemPrompt??!0)&&t.systemPrompt){let n=e.compat,i=e.reasoning&&n?.supportsDeveloperRole!==!1?`developer`:`system`;s.push({role:i,content:r(t.systemPrompt)})}let g=0;for(let t of h){if(t.role===`user`)if(typeof t.content==`string`)s.push({role:`user`,content:[{type:`input_text`,text:r(t.content)}]});else{let e=t.content.map(e=>e.type===`text`?{type:`input_text`,text:r(e.text)}:{type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});if(e.length===0)continue;s.push({role:`user`,content:e})}else if(t.role===`assistant`){let n=[],i=t,l=i.model!==e.id&&i.provider===e.provider&&i.api===e.api,d=0;for(let e of t.content)if(e.type===`thinking`){if(e.thinkingSignature){let t=JSON.parse(e.thinkingSignature);n.push(t)}}else if(e.type===`text`){let t=e,i=u(t.textSignature),a=d===0?`msg_pi_${g}`:`msg_pi_${g}_${d}`;d++;let o=i?.id;o?o.length>64&&(o=`msg_${c(o)}`):o=a,n.push({type:`message`,role:`assistant`,content:[{type:`output_text`,text:r(t.text),annotations:[]}],status:`completed`,id:o,phase:i?.phase})}else if(e.type===`toolCall`){let t=e,[i,s]=t.id.split(`|`),c=a?.grammarToolInputProperties?.get(t.name),u=s;(l&&u?.startsWith(`fc_`)||c===void 0&&!u?.startsWith(`fc_`))&&(u=void 0),c===void 0?n.push({type:`function_call`,id:u,call_id:i,name:t.name,arguments:JSON.stringify(t.arguments)}):n.push({type:`custom_tool_call`,id:u,call_id:i,name:t.name,input:r(o(t.name,t.arguments,c))})}if(n.length===0)continue;s.push(...n)}else if(t.role===`toolResult`){let[n]=t.toolCallId.split(`|`),r=d(e,t.content);a?.grammarToolInputProperties?.has(t.toolName)?s.push({type:`custom_tool_call_output`,call_id:n,output:r}):s.push({type:`function_call_output`,call_id:n,output:r});let i=[];for(let e of t.addedToolNames??[]){let t=a?.deferredTools?.get(e);!t||l.has(e)||(l.add(e),i.push(t))}if(i.length>0){let e=i.map(e=>e.name),n=`pi_tool_load_${c(`${t.toolCallId}:${e.join(`,`)}`)}`;s.push({type:`tool_search_call`,call_id:n,execution:`client`,status:`completed`,arguments:{query:e.join(` `),limit:e.length}}),s.push({type:`tool_search_output`,call_id:n,execution:`client`,status:`completed`,tools:p(i,{...a?.toolOptions,deferLoading:!0})})}}g++}return s}function p(e,t){let n=t?.strict!==void 0&&t.strict,r=t?.supportsStrictMode??!0,o=t?.supportsOpenAIGrammarTools??!1;return e.map(e=>{let s=a(e,o);if(s)return{type:`custom`,name:e.name,description:e.description,format:{type:`grammar`,syntax:s.format,definition:s.definition},...t?.deferLoading?{defer_loading:!0}:{}};let c=i(e,r),l={type:`function`,name:e.name,description:e.description,parameters:e.parameters,...t?.deferLoading?{defer_loading:!0}:{}};return r&&(l.strict=c??n),l})}function m(e){let t=e.customInput?.property;if(t===void 0)return``;let n=e.arguments[t];return typeof n==`string`?n:``}function h(e,t,n){let r=e.customInput;if(!r)return;let i=s(r.jsonBuffer,r.property,t,n);return e.arguments={[r.property]:t},i}async function g(n,r,i,a,o){let s=!1,c=new Map,u=new Map,d=(e,t)=>{let n=c.get(e);return n?.type===t?n:void 0},f=(e,t)=>{t!==void 0&&i.push({type:`toolcall_delta`,contentIndex:e.contentIndex,delta:t,partial:r})},p=(e,t)=>{if(t.type===`reasoning`){let t={type:`thinking`,thinking:``};r.content.push(t);let n={type:`thinking`,block:t,contentIndex:r.content.length-1};return c.set(e,n),i.push({type:`thinking_start`,contentIndex:n.contentIndex,partial:r}),n}if(t.type===`message`){let t={type:`text`,text:``};r.content.push(t);let n={type:`text`,block:t,contentIndex:r.content.length-1};return c.set(e,n),i.push({type:`text_start`,contentIndex:n.contentIndex,partial:r}),n}if(t.type===`function_call`){let n={type:`toolCall`,id:`${t.call_id}|${t.id}`,name:t.name,arguments:{},partialJson:t.arguments||``};r.content.push(n);let a={type:`toolCall`,block:n,contentIndex:r.content.length-1};return c.set(e,a),i.push({type:`toolcall_start`,contentIndex:a.contentIndex,partial:r}),a}if(t.type===`custom_tool_call`){let n=o?.grammarToolInputProperties?.get(t.name)??`input`,a=t.input||``,s={type:`toolCall`,id:`${t.call_id}|${t.id}`,name:t.name,arguments:{[n]:a},customInput:{property:n,jsonBuffer:{input:``,started:!1,closed:!1}}};r.content.push(s);let l={type:`toolCall`,block:s,contentIndex:r.content.length-1};return c.set(e,l),i.push({type:`toolcall_start`,contentIndex:l.contentIndex,partial:r}),l}},g=(e,t)=>c.get(e)??p(e,t),v=e=>{for(let t of e){if(t.type!==`reasoning`||!t.encrypted_content)continue;let e=u.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}))}},y=t=>{if(s=!0,v(t.output??[]),t?.id&&(r.responseId=t.id),t?.usage){let e=t.usage.input_tokens_details,n=e?.cached_tokens||0,i=e?.cache_write_tokens||0;r.usage={input:Math.max(0,(t.usage.input_tokens||0)-n-i),output:t.usage.output_tokens||0,cacheRead:n,cacheWrite:i,reasoning:t.usage.output_tokens_details?.reasoning_tokens||0,totalTokens:t.usage.total_tokens||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}if(e(a,r.usage),o?.applyServiceTierPricing){let e=o.resolveServiceTier?o.resolveServiceTier(t?.service_tier,o.serviceTier):t?.service_tier??o.serviceTier;o.applyServiceTierPricing(r.usage,e)}r.stopReason=_(t?.status),r.content.some(e=>e.type===`toolCall`)&&r.stopReason===`stop`&&(r.stopReason=`toolUse`)};for await(let e of n)if(e.type===`response.created`)r.responseId=e.response.id;else if(e.type===`response.output_item.added`)p(e.output_index,e.item);else if(e.type===`response.reasoning_summary_text.delta`){let t=d(e.output_index,`thinking`);if(!t)continue;t.block.thinking+=e.delta,i.push({type:`thinking_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.reasoning_summary_part.done`){let t=d(e.output_index,`thinking`);if(!t)continue;t.block.thinking+=`
|
|
3
|
+
|
|
4
|
+
`,i.push({type:`thinking_delta`,contentIndex:t.contentIndex,delta:`
|
|
5
|
+
|
|
6
|
+
`,partial:r})}else if(e.type===`response.reasoning_text.delta`){let t=d(e.output_index,`thinking`);if(!t)continue;t.block.thinking+=e.delta,i.push({type:`thinking_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.output_text.delta`){let t=d(e.output_index,`text`);if(!t)continue;t.block.text+=e.delta,i.push({type:`text_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.refusal.delta`){let t=d(e.output_index,`text`);if(!t)continue;t.block.text+=e.delta,i.push({type:`text_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.function_call_arguments.delta`){let n=d(e.output_index,`toolCall`);if(!n||n.block.partialJson===void 0)continue;n.block.partialJson+=e.delta,n.block.arguments=t(n.block.partialJson),f(n,e.delta)}else if(e.type===`response.function_call_arguments.done`){let n=d(e.output_index,`toolCall`);if(!n||n.block.partialJson===void 0)continue;let r=n.block.partialJson;if(n.block.partialJson=e.arguments,n.block.arguments=t(n.block.partialJson),e.arguments.startsWith(r)){let t=e.arguments.slice(r.length);t.length>0&&f(n,t)}}else if(e.type===`response.custom_tool_call_input.delta`){let t=d(e.output_index,`toolCall`);if(!t||!t.block.customInput)continue;f(t,h(t.block,m(t.block)+e.delta,!1))}else if(e.type===`response.custom_tool_call_input.done`){let t=d(e.output_index,`toolCall`);if(!t||!t.block.customInput)continue;f(t,h(t.block,e.input,!0))}else if(e.type===`response.output_item.done`){let n=e.item,a=g(e.output_index,n);if(n.type===`reasoning`&&a?.type===`thinking`){let t=n.summary?.map(e=>e.text).join(`
|
|
7
|
+
|
|
8
|
+
`)||``,o=n.content?.map(e=>e.text).join(`
|
|
9
|
+
|
|
10
|
+
`)||``;a.block.thinking=t||o||a.block.thinking,a.block.thinkingSignature=JSON.stringify(n),u.set(n.id,a.block),i.push({type:`thinking_end`,contentIndex:a.contentIndex,content:a.block.thinking,partial:r}),c.delete(e.output_index)}else n.type===`message`&&a?.type===`text`?(a.block.text=n.content?.map(e=>e.type===`output_text`?e.text:e.refusal).join(``)||``,a.block.textSignature=l(n.id,n.phase??void 0),i.push({type:`text_end`,contentIndex:a.contentIndex,content:a.block.text,partial:r}),c.delete(e.output_index)):n.type===`function_call`&&a?.type===`toolCall`&&a.block.partialJson!==void 0?(a.block.arguments=t(n.arguments||a.block.partialJson||`{}`),delete a.block.partialJson,i.push({type:`toolcall_end`,contentIndex:a.contentIndex,toolCall:a.block,partial:r}),c.delete(e.output_index)):n.type===`custom_tool_call`&&a?.type===`toolCall`&&a.block.customInput&&(f(a,h(a.block,n.input??m(a.block),!0)),delete a.block.customInput,i.push({type:`toolcall_end`,contentIndex:a.contentIndex,toolCall:a.block,partial:r}),c.delete(e.output_index))}else if(e.type===`response.completed`||e.type===`response.incomplete`)y(e.response);else if(e.type===`error`)throw Error(`Error Code ${e.code}: ${e.message}`||`Unknown error`);else if(e.type===`response.failed`){s=!0;let t=e.response?.error,n=e.response?.incomplete_details,r=t?`${t.code||`unknown`}: ${t.message||`no message`}`:n?.reason?`incomplete: ${n.reason}`:`Unknown error (no error details in response)`;throw Error(r)}if(!s)throw Error(`OpenAI Responses stream ended before a terminal response event`)}function _(e){if(!e)return`stop`;switch(e){case`completed`:return`stop`;case`incomplete`:return`length`;case`failed`:case`cancelled`:return`error`;case`in_progress`:case`queued`:return`stop`;default:throw Error(`Unhandled stop reason: ${e}`)}}export{p as n,g as r,f as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{R as e,h as t}from"./account-store-
|
|
1
|
+
import{R as e,h as t}from"./account-store-CxSwSaS8.js";import{p as n}from"./bedrock-camp-BO4bvAKs.js";import{r,s as i}from"./legacy-api-aliases-sqlB2uHc.js";import"./provider-settings-CSt8YEx4.js";import{fetchModels as a,getCatalog as o}from"./openrouter-models-Bu1Cy5AD.js";import{loginIntercepted as s}from"./openrouter-oauth-iVwMGpbk.js";const c=`openrouter`,l=`${c}-openai`,u={"HTTP-Referer":`https://sliccy.ai`,"X-Title":`SLICC`};function d(e){return{...e,baseUrl:`https://openrouter.ai/api/v1`,api:`openai-completions`}}function f(e){return{...e??{},...u}}const p=(e,n,i={})=>r(d(e),n,{...i,apiKey:t(c)??i.apiKey,headers:f(i.headers)}),m=(e,n,r={})=>i(d(e),n,{...r,apiKey:t(c)??r.apiKey,headers:f(r.headers)}),h={id:c,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:o,refreshModels:async()=>{await a()},onOAuthLoginIntercepted:async(e,t,n)=>{await s(e,()=>void 0,n),await a().catch(()=>void 0),t()},onOAuthLogout:async()=>{await e({providerId:c,accessToken:``})}};function g(){n({api:l,stream:p,streamSimple:m})}export{h as config,g as register};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{R as e,h as t}from"./account-store-CJqBAm1f.js";import{a as n}from"./compat-aVSWLlYQ.js";import{r,s as i}from"./legacy-api-aliases-IllWZ-uu.js";import"./provider-settings-DnRChWz9.js";import{fetchModels as a,getCatalog as o}from"./openrouter-models-CfnkMx5-.js";import{loginIntercepted as s}from"./openrouter-oauth-CTIG_xj5.js";var c=`openrouter`,l=`https://openrouter.ai/api/v1`,u=`openai-completions`,d=`${c}-openai`,f={"HTTP-Referer":`https://sliccy.ai`,"X-Title":`SLICC`};function p(e){return{...e,baseUrl:l,api:u}}function m(e){return{...e??{},...f}}var h=(e,n,i={})=>r(p(e),n,{...i,apiKey:t(c)??i.apiKey,headers:m(i.headers)}),g=(e,n,r={})=>i(p(e),n,{...r,apiKey:t(c)??r.apiKey,headers:m(r.headers)}),_={id:c,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:o,refreshModels:async()=>{await a()},onOAuthLoginIntercepted:async(e,t,n)=>{await s(e,()=>void 0,n),await a().catch(()=>void 0),t()},onOAuthLogout:async()=>{await e({providerId:c,accessToken:``})}};function v(){n({api:d,stream:h,streamSimple:g})}export{_ as config,v as register};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./headers-CbDaTl3c.js";import{t as n}from"./provider-retry-C8PJzY_l.js";import{t as r}from"./sanitize-unicode-DmIE6hZJ.js";import{n as i}from"./openai-CmTnPr9N.js";import{n as a,t as o}from"./error-body-C0EnfbdK.js";const 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),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){return new i({apiKey:n,baseURL:t.baseUrl,dangerouslyAllowBrowser:!0,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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./headers-CbDaTl3c.js";import{t as n}from"./provider-retry-C8PJzY_l.js";import{t as r}from"./sanitize-unicode-DmIE6hZJ.js";import{n as i}from"./openai-BxFF4GUL.js";import{n as a,t as o}from"./error-body-C0EnfbdK.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),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){return new i({apiKey:n,baseURL:t.baseUrl,dangerouslyAllowBrowser:!0,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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./openrouter.models-
|
|
1
|
+
import{t as e}from"./openrouter.models-HnnH-abS.js";const t=`slicc.openrouter.models`,n=[`*`];let r=null;function i(){if(typeof localStorage>`u`)return[];try{let e=localStorage.getItem(t);if(!e)return[];let n=JSON.parse(e);return Array.isArray(n)?n:[]}catch{return[]}}function a(e){if(!(typeof localStorage>`u`))try{localStorage.setItem(t,JSON.stringify(e))}catch{}}async function o(){let e=await fetch(`https://openrouter.ai/api/v1/models`,{headers:{Accept:`application/json`},signal:AbortSignal.timeout(1e4)});if(!e.ok)throw Error(`Failed to fetch OpenRouter models: ${e.status} ${e.statusText}`.trim());let t=await e.json();if(!Array.isArray(t.data))throw Error(`Failed to fetch OpenRouter models: response did not contain a data array`);let n=t.data;return r=n,a(n),n}function s(e){let t=e.replace(/[.+?^${}()|[\]\\]/g,`\\$&`).replace(/\*/g,`.*`);return RegExp(`^${t}$`)}function c(e,t=n){let r=(t.length>0?t:n).map(s);return e.filter(e=>r.some(t=>t.test(e.id)))}function l(){if(typeof localStorage>`u`)return[...n];try{let e=localStorage.getItem(`slicc.openrouter.modelFilter`);if(!e)return[...n];let t=JSON.parse(e);if(!Array.isArray(t))return[...n];let r=t.filter(e=>typeof e==`string`&&e.length>0);return r.length>0?r:[...n]}catch{return[...n]}}function u(e){let t=e.architecture?.input_modalities??e.input??[`text`];return{id:e.id,name:e.name,api:`openai`,context_window:e.context_length??e.contextWindow??128e3,max_tokens:e.top_provider?.max_completion_tokens??e.maxTokens??16384,reasoning:e.supported_parameters?.includes(`include_reasoning`)??e.reasoning??!1,input:t.includes(`image`)?[`text`,`image`]:[`text`]}}function d(){let t=i();return c(r??(t.length>0?t:Object.values(e)),l()).map(u)}export{o as fetchModels,c as filterModels,d as getCatalog,i as loadCache,l as loadFilterPatterns,a as saveCache,u as toModelMetadata};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./openrouter.models-
|
|
1
|
+
import{t as e}from"./openrouter.models-DS1_VkCm.js";var t=`https://openrouter.ai/api/v1/models`,n=`slicc.openrouter.models`,r=`slicc.openrouter.modelFilter`,i=1e4,a=[`*`],o=null;function s(){if(typeof localStorage>`u`)return[];try{let e=localStorage.getItem(n);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function c(e){if(!(typeof localStorage>`u`))try{localStorage.setItem(n,JSON.stringify(e))}catch{}}async function l(){let e=await fetch(t,{headers:{Accept:`application/json`},signal:AbortSignal.timeout(i)});if(!e.ok)throw Error(`Failed to fetch OpenRouter models: ${e.status} ${e.statusText}`.trim());let n=await e.json();if(!Array.isArray(n.data))throw Error(`Failed to fetch OpenRouter models: response did not contain a data array`);let r=n.data;return o=r,c(r),r}function u(e){let t=e.replace(/[.+?^${}()|[\]\\]/g,`\\$&`).replace(/\*/g,`.*`);return RegExp(`^${t}$`)}function d(e,t=a){let n=(t.length>0?t:a).map(u);return e.filter(e=>n.some(t=>t.test(e.id)))}function f(){if(typeof localStorage>`u`)return[...a];try{let e=localStorage.getItem(r);if(!e)return[...a];let t=JSON.parse(e);if(!Array.isArray(t))return[...a];let n=t.filter(e=>typeof e==`string`&&e.length>0);return n.length>0?n:[...a]}catch{return[...a]}}function p(e){let t=e.architecture?.input_modalities??e.input??[`text`];return{id:e.id,name:e.name,api:`openai`,context_window:e.context_length??e.contextWindow??128e3,max_tokens:e.top_provider?.max_completion_tokens??e.maxTokens??16384,reasoning:e.supported_parameters?.includes(`include_reasoning`)??e.reasoning??!1,input:t.includes(`image`)?[`text`,`image`]:[`text`]}}function m(){let t=s();return d(o??(t.length>0?t:Object.values(e)),f()).map(p)}export{l as fetchModels,d as filterModels,m as getCatalog,s as loadCache,f as loadFilterPatterns,c as saveCache,p as toModelMetadata};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{R as e}from"./account-store-
|
|
1
|
+
import{R as e}from"./account-store-CJqBAm1f.js";import"./provider-settings-DnRChWz9.js";var t=`https://openrouter.ai/auth`,n=`https://openrouter.ai/api/v1/auth/keys`,r=`https://openrouter.ai/api/v1`,i=`http://127.0.0.1:3000/callback`,a=`http://127.0.0.1:3000/*`;function o(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function s(){let e=new Uint8Array(32);return crypto.getRandomValues(e),o(e)}async function c(e){let t=await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(e));return o(new Uint8Array(t))}function l(e,n){let r=new URL(t);return r.searchParams.set(`callback_url`,e),r.searchParams.set(`code_challenge`,n),r.searchParams.set(`code_challenge_method`,`S256`),r.toString()}function u(e){if(!e)throw Error(`OpenRouter OAuth login was cancelled or timed out`);let t;try{t=new URL(e)}catch{throw Error(`OpenRouter OAuth returned an invalid callback URL`)}let n=t.searchParams.get(`code`);if(!n)throw Error(`OpenRouter OAuth redirect did not include an authorization code`);return n}async function d(e,t,r=fetch){let i=await r(n,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({code:e,code_verifier:t,code_challenge_method:`S256`}),signal:AbortSignal.timeout(3e4)});if(!i.ok){let e=await i.text();throw Error(`OpenRouter key exchange failed (${i.status}): ${e||`(empty response body)`}`)}let a;try{a=await i.json()}catch{throw Error(`OpenRouter key exchange returned invalid JSON`)}let o=a&&typeof a==`object`&&typeof a.key==`string`?a.key.trim():``;if(!o)throw Error(`OpenRouter key exchange returned an empty or invalid API key`);return o}async function f(t,n,o){let f=s();await e({providerId:`openrouter`,accessToken:await d(u(await t({authorizeUrl:l(i,await c(f)),redirectUriPattern:a,onCapture:`close`})),f),tokenExpiresAt:2**53-1,baseUrl:r}),n()}export{i as OPENROUTER_CALLBACK_URL,a as OPENROUTER_REDIRECT_URI_PATTERN,l as buildAuthorizeUrl,c as deriveCodeChallenge,d as exchangeCodeForKey,s as generateCodeVerifier,f as loginIntercepted,u as parseCallbackCode};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{R as e}from"./account-store-
|
|
1
|
+
import{R as e}from"./account-store-CxSwSaS8.js";import"./provider-settings-CSt8YEx4.js";const t=`http://127.0.0.1:3000/callback`,n=`http://127.0.0.1:3000/*`;function r(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function i(){let e=new Uint8Array(32);return crypto.getRandomValues(e),r(e)}async function a(e){let t=await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(e));return r(new Uint8Array(t))}function o(e,t){let n=new URL(`https://openrouter.ai/auth`);return n.searchParams.set(`callback_url`,e),n.searchParams.set(`code_challenge`,t),n.searchParams.set(`code_challenge_method`,`S256`),n.toString()}function s(e){if(!e)throw Error(`OpenRouter OAuth login was cancelled or timed out`);let t;try{t=new URL(e)}catch{throw Error(`OpenRouter OAuth returned an invalid callback URL`)}let n=t.searchParams.get(`code`);if(!n)throw Error(`OpenRouter OAuth redirect did not include an authorization code`);return n}async function c(e,t,n=fetch){let r=await n(`https://openrouter.ai/api/v1/auth/keys`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({code:e,code_verifier:t,code_challenge_method:`S256`}),signal:AbortSignal.timeout(3e4)});if(!r.ok){let e=await r.text();throw Error(`OpenRouter key exchange failed (${r.status}): ${e||`(empty response body)`}`)}let i;try{i=await r.json()}catch{throw Error(`OpenRouter key exchange returned invalid JSON`)}let a=i&&typeof i==`object`&&typeof i.key==`string`?i.key.trim():``;if(!a)throw Error(`OpenRouter key exchange returned an empty or invalid API key`);return a}async function l(r,l,u){let d=i(),f=await a(d);await e({providerId:`openrouter`,accessToken:await c(s(await r({authorizeUrl:o(t,f),redirectUriPattern:n,onCapture:`close`})),d),tokenExpiresAt:2**53-1,baseUrl:`https://openrouter.ai/api/v1`}),l()}export{t as OPENROUTER_CALLBACK_URL,n as OPENROUTER_REDIRECT_URI_PATTERN,o as buildAuthorizeUrl,a as deriveCodeChallenge,c as exchangeCodeForKey,i as generateCodeVerifier,l as loginIntercepted,s as parseCallbackCode};
|