sliccy 6.29.0 → 6.30.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.
Files changed (338) hide show
  1. package/dist/ui/assets/__vite-browser-external-5eBdwsFd.js +1 -0
  2. package/dist/ui/assets/__vite-browser-external-CjLuCwpB.js +1 -0
  3. package/dist/ui/assets/account-store-83ArXgcG.js +42 -0
  4. package/dist/ui/assets/{account-store-DSnxgLNJ.js → account-store-kT7dgbK1.js} +29 -30
  5. package/dist/ui/assets/{adobe-aVpBhLYj.js → adobe-DNQ-ZwRM.js} +1 -1
  6. package/dist/ui/assets/{adobe-B4F29JMY.js → adobe-zuiYZmoY.js} +2 -2
  7. package/dist/ui/assets/{agent-message-to-chat-ri8Fr4Sv.js → agent-message-to-chat-BiQK7aJN.js} +1 -1
  8. package/dist/ui/assets/{anthropic-messages-BqlIV27l.js → anthropic-messages-CwKCE8PD.js} +5 -5
  9. package/dist/ui/assets/{anthropic-messages-BbI5c8JA.js → anthropic-messages-DPd961JX.js} +5 -5
  10. package/dist/ui/assets/{apply-layout-CL9CFQ5a.js → apply-layout-C2kPr85z.js} +1 -1
  11. package/dist/ui/assets/{apps-BNY-jyyh.js → apps-9Wc94FyY.js} +1 -1
  12. package/dist/ui/assets/{azure-openai-CuHIvNwE.js → azure-openai-B_GFx6XQ.js} +1 -1
  13. package/dist/ui/assets/{azure-openai-TFQRhgO4.js → azure-openai-BgLRuXUh.js} +1 -1
  14. package/dist/ui/assets/{azure-openai-responses-DOqakjfa.js → azure-openai-responses-CtOKUN00.js} +1 -1
  15. package/dist/ui/assets/{azure-openai-responses-C1EEdmtw.js → azure-openai-responses-oRGXQA3K.js} +1 -1
  16. package/dist/ui/assets/backend-local-Btkv66jT.js +1 -0
  17. package/dist/ui/assets/{bedrock-camp-CVX95quY.js → bedrock-camp-BDCjQMZx.js} +1 -1
  18. package/dist/ui/assets/{bedrock-camp-CHi38ceE.js → bedrock-camp-CFmElpzZ.js} +1 -1
  19. package/dist/ui/assets/{bridge-launch-params-BUV5qlt9.js → bridge-launch-params-B8x2eq4a.js} +1 -1
  20. package/dist/ui/assets/browser-BCEjSsoK.js +507 -0
  21. package/dist/ui/assets/{bsh-watchdog-BTqRxbnH.js → bsh-watchdog-BWoQ4vxy.js} +1 -1
  22. package/dist/ui/assets/{cdp-Cq-O2ziO.js → cdp-CUhn-e9o.js} +2 -2
  23. package/dist/ui/assets/{cerebras-BElG8qkN.js → cerebras-ClJjxDeF.js} +1 -1
  24. package/dist/ui/assets/{cerebras-CD6QquBf.js → cerebras-Dfkzn36I.js} +1 -1
  25. package/dist/ui/assets/{chat-session-store-DQztDoVa.js → chat-session-store-pWb1-jNp.js} +1 -1
  26. package/dist/ui/assets/{client-CAAAFAry.js → client-6mRSLafV.js} +2 -2
  27. package/dist/ui/assets/{clipboard-Bd1Wp2vH.js → clipboard-CknViQHB.js} +1 -1
  28. package/dist/ui/assets/{clipboard-DuHpK59o.js → clipboard-eqmn97SP.js} +1 -1
  29. package/dist/ui/assets/cloud--vyq2RIF.js +1 -0
  30. package/dist/ui/assets/{compat-BhgG-Qr-.js → compat-Bn8HnC3L.js} +2 -2
  31. package/dist/ui/assets/completionchunk-CVTjxyMe.js +65 -0
  32. package/dist/ui/assets/completionchunk-CksvMkXE.js +65 -0
  33. package/dist/ui/assets/{composer-speech-RdAxri_8.js → composer-speech-Dra2KNlH.js} +1 -1
  34. package/dist/ui/assets/{connect-surface-DKvZ8P01.js → connect-surface-KToYOy7V.js} +1 -1
  35. package/dist/ui/assets/{context-compaction-gzCxn8vG.js → context-compaction-DDaM9TWa.js} +1 -1
  36. package/dist/ui/assets/{cost-command-_BMgmnMI.js → cost-command-C9faxPNJ.js} +89 -89
  37. package/dist/ui/assets/{db-ysOO0kLr.js → db-C7OEVMWU.js} +1 -1
  38. package/dist/ui/assets/{dictation-priming-DGpw1lUV.js → dictation-priming-CNllGgNq.js} +1 -1
  39. package/dist/ui/assets/{dip-ByAv1QK8.js → dip-rdFXauwM.js} +3 -3
  40. package/dist/ui/assets/{discovery-preference-iXjdZZE6.js → discovery-preference-yvSQLIqD.js} +1 -1
  41. package/dist/ui/assets/{dist-d2CXjMIs.js → dist-5RJPBUGc.js} +3 -3
  42. package/dist/ui/assets/dist-B6I69VMa.js +12 -0
  43. package/dist/ui/assets/{dist-DB-MlM2G.js → dist-BoNLlUTL.js} +1 -1
  44. package/dist/ui/assets/{dist-Cc2eS9kS.js → dist-CZvQ4trc.js} +1 -1
  45. package/dist/ui/assets/dist-CxSRk4im.js +12 -0
  46. package/dist/ui/assets/dist-DMHgMRaU.js +23 -0
  47. package/dist/ui/assets/dist-DZD_Ug0d.js +18 -0
  48. package/dist/ui/assets/dist-DdMcRgpc.js +1 -0
  49. package/dist/ui/assets/dist-DeB2d2N0.js +2 -0
  50. package/dist/ui/assets/dist-DwW10w3V.js +2 -0
  51. package/dist/ui/assets/{ensure-speech-assets-DNIhbHym.js → ensure-speech-assets-B1XhikvN.js} +1 -1
  52. package/dist/ui/assets/es-D8T2ybXa.js +53 -0
  53. package/dist/ui/assets/{esbuild-wasm-CUz5LFrh.js → esbuild-wasm-CpCoMVKF.js} +3 -3
  54. package/dist/ui/assets/{esp32-D9ZurRwV.js → esp32-CoFXh-8H.js} +1 -1
  55. package/dist/ui/assets/{esp32c2-F0yCL7ES.js → esp32c2-UqsEoF9x.js} +1 -1
  56. package/dist/ui/assets/{esp32c3-wVAODszM.js → esp32c3-mMBDP9Jj.js} +1 -1
  57. package/dist/ui/assets/{esp32c5-ChTI-uFN.js → esp32c5-Bab14vpV.js} +1 -1
  58. package/dist/ui/assets/{esp32c6-IwoGEmKl.js → esp32c6-CCFSaC3T.js} +1 -1
  59. package/dist/ui/assets/{esp32c61-BJScMw70.js → esp32c61-Cy6rcWHq.js} +1 -1
  60. package/dist/ui/assets/{esp32h2-YosZEx9u.js → esp32h2-Cru1Ipjy.js} +1 -1
  61. package/dist/ui/assets/{esp32p4-BSe822vW.js → esp32p4-BGRZ91N9.js} +1 -1
  62. package/dist/ui/assets/{esp32s2-Dhlhu16A.js → esp32s2-7_BqiXe-.js} +1 -1
  63. package/dist/ui/assets/{esp32s3-PqxbnxPZ.js → esp32s3-C4XCo2Gh.js} +1 -1
  64. package/dist/ui/assets/{esp8266-CkAPDkuz.js → esp8266-BN3fFVWu.js} +1 -1
  65. package/dist/ui/assets/esptool-operations-3FBbK-fD.js +13 -0
  66. package/dist/ui/assets/esptool-operations-CDJhOTdU.js +12 -0
  67. package/dist/ui/assets/export-provider-BEHTjSYw.js +1 -0
  68. package/dist/ui/assets/{export-spool-Crzaptz9.js → export-spool-D9AiwWeo.js} +1 -1
  69. package/dist/ui/assets/{extension-bridge-transport-CR4Zp6Gm.js → extension-bridge-transport-D3PItLFo.js} +1 -1
  70. package/dist/ui/assets/{follower-navigate-watcher-DiTsLLuL.js → follower-navigate-watcher-DZpXL_9_.js} +1 -1
  71. package/dist/ui/assets/{frozen-archive-format-CqpMlNNW.js → frozen-archive-format--7sONywg.js} +1 -1
  72. package/dist/ui/assets/fs-DFJ4DSye.js +2 -0
  73. package/dist/ui/assets/fs-DxtSbYUW.js +1 -0
  74. package/dist/ui/assets/{git-config-Lj0BT7Oc.js → git-config-DA8M5e8O.js} +1 -1
  75. package/dist/ui/assets/{github-BJpGp9-C.js → github-BBloGIFx.js} +1 -1
  76. package/dist/ui/assets/{github-DC0sZ4bk.js → github-C_GVZ6np.js} +2 -2
  77. package/dist/ui/assets/github-copilot-BNWLcrkC.js +2 -0
  78. package/dist/ui/assets/github-copilot-D32KFpVZ.js +1 -0
  79. package/dist/ui/assets/global-db-DJXlpNui.js +1 -0
  80. package/dist/ui/assets/{google-generative-ai-BjzUffX7.js → google-generative-ai-BL_SqY5W.js} +1 -1
  81. package/dist/ui/assets/{google-generative-ai-CUyKfom8.js → google-generative-ai-DDF2tpZq.js} +1 -1
  82. package/dist/ui/assets/google-shared-DPuPo5mO.js +11 -0
  83. package/dist/ui/assets/{google-shared-Bvf-cbUv.js → google-shared-biiFuSpC.js} +11 -11
  84. package/dist/ui/assets/{google-vertex-Dc8m8x5E.js → google-vertex-CobhNXpX.js} +1 -1
  85. package/dist/ui/assets/{google-vertex-Bf_2YfBL.js → google-vertex-VXUUgM7o.js} +1 -1
  86. package/dist/ui/assets/{handoff-link-Da4o0fy_.js → handoff-link-BM4ctkE8.js} +1 -1
  87. package/dist/ui/assets/{hear-DvsWQaq8.js → hear-D4UPc-6X.js} +1 -1
  88. package/dist/ui/assets/{hear-Sb2Ceuh0.js → hear-RuX7zwTc.js} +1 -1
  89. package/dist/ui/assets/{hid-device-registry-DboUgvzI.js → hid-device-registry-B2R-0rNt.js} +1 -1
  90. package/dist/ui/assets/{icons-CXqRAmcw.js → icons-DtQGhvkp.js} +1 -1
  91. package/dist/ui/assets/installer-gqTicFFT.js +3 -0
  92. package/dist/ui/assets/{intercepted-oauth-CaCw-rJ5.js → intercepted-oauth-BIKnTjZm.js} +1 -1
  93. package/dist/ui/assets/js-realm-worker-BxtK9KWr.js +48 -0
  94. package/dist/ui/assets/{json-parse-rb7sUwcH.js → json-parse-CgFfIg4Q.js} +1 -1
  95. package/dist/ui/assets/{json-parse-CpLf0aqK.js → json-parse-ClXMvBdK.js} +1 -1
  96. package/dist/ui/assets/{kernel-worker-Dt7EHlGw.js → kernel-worker-j7zGoPh1.js} +333 -333
  97. package/dist/ui/assets/{kokoro-D3TYeL2z.js → kokoro-Bs5vU5OU.js} +2 -2
  98. package/dist/ui/assets/{kokoro-CGDCwNNA.js → kokoro-CZ21zrzj.js} +2 -2
  99. package/dist/ui/assets/kokoro-engine-tWznaclV.js +2 -0
  100. package/dist/ui/assets/{layout-schema-UznNUt3s.js → layout-schema-m9_VAwOw.js} +1 -1
  101. package/dist/ui/assets/{legacy-api-aliases-MR6kosFL.js → legacy-api-aliases-BVP0Ho8x.js} +1 -1
  102. package/dist/ui/assets/{legacy-api-aliases-DrEKVikN.js → legacy-api-aliases-DAkrHYf9.js} +1 -1
  103. package/dist/ui/assets/lick-manager-GJgyahla.js +2 -0
  104. package/dist/ui/assets/{lick-manager-proxy-DCbHSHHW.js → lick-manager-proxy-Bhx3Yzp_.js} +1 -1
  105. package/dist/ui/assets/{lick-ws-bridge-B21s2Gwz.js → lick-ws-bridge-BBdRwJ-f.js} +1 -1
  106. package/dist/ui/assets/{lick-ws-bridge-CCkYp7oZ.js → lick-ws-bridge-D_e6wRPA.js} +1 -1
  107. package/dist/ui/assets/{local-llm-BMxjY1yj.js → local-llm-94vIZ8EZ.js} +1 -1
  108. package/dist/ui/assets/{local-llm-B5AVGYUF.js → local-llm-BjVTQ79x.js} +1 -1
  109. package/dist/ui/assets/magick-wasm-7Gy4Vlf5.js +43 -0
  110. package/dist/ui/assets/{main-BSRWdc5y.js → main-BnxdqsG0.js} +3 -3
  111. package/dist/ui/assets/{main-cherry-cNBZXAMR.js → main-cherry-B3C0ufyv.js} +1 -1
  112. package/dist/ui/assets/mistral-conversations-Cyp2kssI.js +7 -0
  113. package/dist/ui/assets/mistral-conversations-gFwkX5N9.js +8 -0
  114. package/dist/ui/assets/models-DgdVqaw5.js +1 -0
  115. package/dist/ui/assets/{modulepreload-polyfill-Dezn_h7o.js → modulepreload-polyfill-P2Xu9kJm.js} +1 -1
  116. package/dist/ui/assets/{mount-CtYCS7Kp.js → mount-C3IXcaX8.js} +1 -1
  117. package/dist/ui/assets/mount-DrM3EVg_.js +2 -0
  118. package/dist/ui/assets/{mount-bridge-client-CKo6gJ0u.js → mount-bridge-client-DkyfUm3y.js} +1 -1
  119. package/dist/ui/assets/{mount-picker-popup-Bs1o43Z5.js → mount-picker-popup-CSSC05JS.js} +1 -1
  120. package/dist/ui/assets/{mount-recovery-CVPqfGPu.js → mount-recovery-Clm4-rrM.js} +1 -1
  121. package/dist/ui/assets/{mount-table-store-CTrzlrNn.js → mount-table-store-DrF_Ifaz.js} +1 -1
  122. package/dist/ui/assets/{mount-table-store-CfQUN_2R.js → mount-table-store-dY2IfQ5S.js} +1 -1
  123. package/dist/ui/assets/{navigation-watcher-murqPsVd.js → navigation-watcher-CcKsLKw9.js} +1 -1
  124. package/dist/ui/assets/{new-session-BRFuxbD1.js → new-session-ijH03Ean.js} +2 -2
  125. package/dist/ui/assets/{oauth-bootstrap-DIOIJH9f.js → oauth-bootstrap-bjPfgAcZ.js} +2 -2
  126. package/dist/ui/assets/oauth-service-CZJntwco.js +1 -0
  127. package/dist/ui/assets/{oauth-service-D0NOHMOb.js → oauth-service-CeFviz7O.js} +1 -1
  128. package/dist/ui/assets/{onboarding-orchestrator-cZ36aqC6.js → onboarding-orchestrator-CfHysx6n.js} +1 -1
  129. package/dist/ui/assets/{openai-BxFF4GUL.js → openai-DQxsE__c.js} +2 -2
  130. package/dist/ui/assets/{openai-CmTnPr9N.js → openai-DehfWK3N.js} +2 -2
  131. package/dist/ui/assets/{openai-codex-D4ja7gqs.js → openai-codex-Cm4CJsUN.js} +1 -1
  132. package/dist/ui/assets/{openai-codex-CI5IjhwE.js → openai-codex-Cxt9UfIy.js} +1 -1
  133. package/dist/ui/assets/{openai-codex-responses-CLGX-aTS.js → openai-codex-responses-BJOy6BEd.js} +2 -2
  134. package/dist/ui/assets/{openai-codex-responses-BdgEOEuS.js → openai-codex-responses-BfT5s3yO.js} +1 -1
  135. package/dist/ui/assets/{openai-completions-BnbrI3UF.js → openai-completions-CmslRX3-.js} +2 -2
  136. package/dist/ui/assets/{openai-completions-DgBXkZQB.js → openai-completions-DDas47cy.js} +2 -2
  137. package/dist/ui/assets/{openai-responses-ltU_A4Wo.js → openai-responses-CHXkcom_.js} +1 -1
  138. package/dist/ui/assets/{openai-responses-BCmB_39F.js → openai-responses-DWlnQ-B0.js} +1 -1
  139. package/dist/ui/assets/{openai-responses-shared-BhTvPbKN.js → openai-responses-shared-DajOm-sC.js} +1 -1
  140. package/dist/ui/assets/{openai-responses-shared-ULQmXcCD.js → openai-responses-shared-uSSusU2w.js} +1 -1
  141. package/dist/ui/assets/{openrouter-pYhQBFuU.js → openrouter-D6y7V9p0.js} +1 -1
  142. package/dist/ui/assets/{openrouter-images-HP0r87fI.js → openrouter-images-7cFnqg4_.js} +1 -1
  143. package/dist/ui/assets/{openrouter-images-1178rM_U.js → openrouter-images-eEy7Fej8.js} +1 -1
  144. package/dist/ui/assets/{openrouter-oauth-BfOn7a34.js → openrouter-oauth-DY8uKhfy.js} +1 -1
  145. package/dist/ui/assets/{openrouter-oauth-Cfl_HRtC.js → openrouter-oauth-y_6J1_DN.js} +1 -1
  146. package/dist/ui/assets/{openrouter-5QNOix7C.js → openrouter-rQ2VoktS.js} +1 -1
  147. package/dist/ui/assets/{otel-BJT2f71U.js → otel-BVv11zKU.js} +1 -1
  148. package/dist/ui/assets/{otel-DHVJhmnv.js → otel-BZA5WuO2.js} +1 -1
  149. package/dist/ui/assets/{panel-rpc-DmJSNs0I.js → panel-rpc-B3MSVImO.js} +1 -1
  150. package/dist/ui/assets/{panel-rpc-CjFVE0nK.js → panel-rpc-BPwAqRch.js} +1 -1
  151. package/dist/ui/assets/{panel-rpc-handlers-CigsG2O9.js → panel-rpc-handlers-PM8PHRH-.js} +2 -2
  152. package/dist/ui/assets/{panelize-shell-irQskG_h.js → panelize-shell-CgDNoGLr.js} +2 -2
  153. package/dist/ui/assets/{path-utils-DU6QhF_k.js → path-utils-Rm3AltuN.js} +1 -1
  154. package/dist/ui/assets/{pdfjs-B1saeD0h.js → pdfjs-CRuE4vGw.js} +6 -6
  155. package/dist/ui/assets/{pi-messages-CrwvmK0e.js → pi-messages-BBQ5JcSR.js} +1 -1
  156. package/dist/ui/assets/{pi-messages-BcCsdrH5.js → pi-messages-t5nvJxiW.js} +1 -1
  157. package/dist/ui/assets/{port-bridge-client-DXYvHFiB.js → port-bridge-client-74e4m7Ur.js} +1 -1
  158. package/dist/ui/assets/{port-bridge-client-B64OCgRQ.js → port-bridge-client-Bg6_jjLD.js} +2 -2
  159. package/dist/ui/assets/process-manager-unCzdHp3.js +1 -0
  160. package/dist/ui/assets/{provider-CkMg-hGa.js → provider-B8Mkh-VX.js} +2 -2
  161. package/dist/ui/assets/provider-CA0u-FlI.js +1 -0
  162. package/dist/ui/assets/{provider-env-D37PhSJu.js → provider-env-CILujRmO.js} +1 -1
  163. package/dist/ui/assets/{provider-env-DwY8YuMk.js → provider-env-CTOcDKrQ.js} +1 -1
  164. package/dist/ui/assets/provider-settings-CY15hvGv.js +2 -0
  165. package/dist/ui/assets/{provider-settings-BgRoRncG.js → provider-settings-x1DCmyHF.js} +1 -1
  166. package/dist/ui/assets/{provider-store-access-BnjM-WlQ.js → provider-store-access-BWbARrZ_.js} +2 -2
  167. package/dist/ui/assets/provider-store-access-Bwt56dfX.js +1 -0
  168. package/dist/ui/assets/providers-B98ueIFT.js +2 -0
  169. package/dist/ui/assets/{providers-Cq_dXOsh.js → providers-C0_DGG8n.js} +1 -1
  170. package/dist/ui/assets/{proxied-fetch-GabK83LB.js → proxied-fetch-CSNzus3d.js} +1 -1
  171. package/dist/ui/assets/proxied-fetch-ULPrH97b.js +2 -0
  172. package/dist/ui/assets/py-realm-worker-2nn9AS1F.js +244 -0
  173. package/dist/ui/assets/pyodide-BlzOFu7J.js +3 -0
  174. package/dist/ui/assets/pyodide-X83yixXc.js +3 -0
  175. package/dist/ui/assets/{quick-llm-BizzQ33P.js → quick-llm-AzvUPDDm.js} +1 -1
  176. package/dist/ui/assets/readline-BOCWRKSR.js +26 -0
  177. package/dist/ui/assets/{redirect-uri-wvtO7KeZ.js → redirect-uri-BPox4xEV.js} +1 -1
  178. package/dist/ui/assets/{remote-cache-D59F5FOx.js → remote-cache-JAv9sQH_.js} +1 -1
  179. package/dist/ui/assets/{remote-cdp-transport-CCzSSZwF.js → remote-cdp-transport-CgOXLjZ8.js} +1 -1
  180. package/dist/ui/assets/{remote-terminal-view-SZ2_MbCZ.js → remote-terminal-view-DqYuVTcF.js} +2 -2
  181. package/dist/ui/assets/{remote-vfs-client-Z2qM01yP.js → remote-vfs-client-5faRBsEi.js} +1 -1
  182. package/dist/ui/assets/rolldown-runtime-Dd_uD5pT.js +1 -0
  183. package/dist/ui/assets/runtime-mode-BgSVO5sw.js +1 -0
  184. package/dist/ui/assets/{runtime-mode-jkSDrVfl.js → runtime-mode-OGvKsBi_.js} +1 -1
  185. package/dist/ui/assets/{safe-buffer-C0pSmFaz.js → safe-buffer-B2wnAhUx.js} +2 -2
  186. package/dist/ui/assets/{script-catalog-BYXhqRAc.js → script-catalog-e0GUPxAf.js} +1 -1
  187. package/dist/ui/assets/{secret-env-Cd-AGGPM.js → secret-env-IgYMwYRy.js} +1 -1
  188. package/dist/ui/assets/{secret-topology-CKyE_tTD.js → secret-topology-DCQNOMWj.js} +1 -1
  189. package/dist/ui/assets/{secrets-bridge-client-CUeSRcdV.js → secrets-bridge-client-BZMh3a0J.js} +1 -1
  190. package/dist/ui/assets/{serial-port-registry-DsPZvGpT.js → serial-port-registry-B3LG5UIy.js} +1 -1
  191. package/dist/ui/assets/{session-freezer-CJhLDR-c.js → session-freezer-z4DJm3zA.js} +3 -3
  192. package/dist/ui/assets/{setup-feature-flags-remote-D1fJErV0.js → setup-feature-flags-remote-qaXVkshz.js} +1 -1
  193. package/dist/ui/assets/{setup-sprinkle-exec-CEx4I2ll.js → setup-sprinkle-exec-BX_Qq-Su.js} +2 -2
  194. package/dist/ui/assets/setup-standalone-prelude-DGfC07wR.js +2 -0
  195. package/dist/ui/assets/setup-sudo-DfUZKZqy.js +2 -0
  196. package/dist/ui/assets/{sha256-DmK25X5D.js → sha256-CHfIPo1C.js} +1 -1
  197. package/dist/ui/assets/shared-D4Q0n73P.js +4 -0
  198. package/dist/ui/assets/shared-Y4VMjBcs.js +1 -0
  199. package/dist/ui/assets/{silent-renew-backoff-Chq7fPuc.js → silent-renew-backoff-BrAZcbzt.js} +1 -1
  200. package/dist/ui/assets/{silent-renew-backoff-HDNNYx7x.js → silent-renew-backoff-tbYCpSw6.js} +1 -1
  201. package/dist/ui/assets/{skills-9LWceM3i.js → skills-DMzV8gyG.js} +1 -1
  202. package/dist/ui/assets/slicc-editor-BftG41yg.js +12 -0
  203. package/dist/ui/assets/speak-DFbF2xgr.js +3 -0
  204. package/dist/ui/assets/speak-DnN2sfVI.js +1 -0
  205. package/dist/ui/assets/{sprinkle-bridge-DziYRsuS.js → sprinkle-bridge-RIIOK3yH.js} +1 -1
  206. package/dist/ui/assets/sprinkle-manager-7WNxOLFK.js +1 -0
  207. package/dist/ui/assets/sprinkle-op-handler-Bkvm_zYI.js +1 -0
  208. package/dist/ui/assets/{sprinkle-renderer-DZ_7mdV4.js → sprinkle-renderer-CMk2ghMi.js} +2 -2
  209. package/dist/ui/assets/sql-wasm-BJoHkdU1.js +2 -0
  210. package/dist/ui/assets/{src-BStYtmHq.js → src-CAWTvdAa.js} +1 -1
  211. package/dist/ui/assets/{src-BcePBv4G.js → src-CcFD5QfS.js} +1 -1
  212. package/dist/ui/assets/{src-C6xNlS_2.js → src-scK1LFrC.js} +88 -88
  213. package/dist/ui/assets/{store-vg7fWz1Q.js → store-CmbiPzTQ.js} +1 -1
  214. package/dist/ui/assets/{sudo-D2Na1qHN.js → sudo-i4DiWMNU.js} +3 -3
  215. package/dist/ui/assets/{sync-dialog-Ie_5SqoO.js → sync-dialog-BXI-Z0QC.js} +1 -1
  216. package/dist/ui/assets/{terminal-session-client-BZLoutc3.js → terminal-session-client-ADzaWGFd.js} +1 -1
  217. package/dist/ui/assets/{theme-BOdTMzQ7.js → theme-CXRqxpw6.js} +1 -1
  218. package/dist/ui/assets/{theme-engine-BMhxbTGC.js → theme-engine-By4GU_Wc.js} +1 -1
  219. package/dist/ui/assets/{timestamp-preference-DgrTvVNx.js → timestamp-preference-sKwBl5I8.js} +1 -1
  220. package/dist/ui/assets/{tool-result-images-DwRGZUe_.js → tool-result-images-D8kQ0hH0.js} +1 -1
  221. package/dist/ui/assets/tool-result-images-Dw3zBAjg.js +1 -0
  222. package/dist/ui/assets/transcript-limits-Ne0pE4Ui.js +1 -0
  223. package/dist/ui/assets/{transformers-env-jJU-CdDZ.js → transformers-env-CB72W87T.js} +1 -1
  224. package/dist/ui/assets/{transformers-env-3dg4iXrc.js → transformers-env-CflaNVb-.js} +1 -1
  225. package/dist/ui/assets/transformers.web-Cg_-cFJu.js +39 -0
  226. package/dist/ui/assets/transformers.web-DD4-hssb.js +45 -0
  227. package/dist/ui/assets/{tray-leader-Btq_ccHy.js → tray-leader-BIbpF_6U.js} +1 -1
  228. package/dist/ui/assets/{tray-leave-runtime-DyiGVnUI.js → tray-leave-runtime-Bk54j6on.js} +1 -1
  229. package/dist/ui/assets/{tray-runtime-config-BxjVzwAJ.js → tray-runtime-config-C82czC62.js} +1 -1
  230. package/dist/ui/assets/{tray-runtime-config-kGqQt9_W.js → tray-runtime-config-qqz7WGyF.js} +1 -1
  231. package/dist/ui/assets/tray-sync-protocol-BZ5yhJH9.js +1 -0
  232. package/dist/ui/assets/tray-sync-protocol-BoMM1sx5.js +1 -0
  233. package/dist/ui/assets/{upgrade-detection-NB58Ti1o.js → upgrade-detection-BWJcWnqA.js} +1 -1
  234. package/dist/ui/assets/{usb-device-registry-BOGfZXgp.js → usb-device-registry-CRsCisej.js} +1 -1
  235. package/dist/ui/assets/{usb-operations-BQbhk96u.js → usb-operations-Cgk-otz-.js} +1 -1
  236. package/dist/ui/assets/{voice-reply-vgvKOdr1.js → voice-reply-AKp1x2Pa.js} +1 -1
  237. package/dist/ui/assets/{wc-attach-Cqm1S-Dt.js → wc-attach-GJkf0zy_.js} +3 -3
  238. package/dist/ui/assets/{wc-extension-AsJb1Fvl.js → wc-extension-8-BmnJQe.js} +2 -2
  239. package/dist/ui/assets/{wc-float-label-hGSM71eZ.js → wc-float-label-tSpScI6q.js} +1 -1
  240. package/dist/ui/assets/wc-follower-BiiKhzHS.js +17 -0
  241. package/dist/ui/assets/{wc-follower-model-surface-DJRncbD2.js → wc-follower-model-surface-B3z6dlpJ.js} +1 -1
  242. package/dist/ui/assets/wc-live-CaE_NPFb.js +8 -0
  243. package/dist/ui/assets/{wc-nav-DqrCih7F.js → wc-nav-CF8SpfT6.js} +2 -2
  244. package/dist/ui/assets/{wc-onboarding-CsA3_2-I.js → wc-onboarding-SQURNptm.js} +2 -2
  245. package/dist/ui/assets/{wc-permissions-DQ4ENBhU.js → wc-permissions-8LUp20Jr.js} +3 -3
  246. package/dist/ui/assets/{wc-permissions-providers-DMTDytlu.js → wc-permissions-providers-DpoCXfAQ.js} +2 -2
  247. package/dist/ui/assets/{wc-permissions-registry-Blyunq37.js → wc-permissions-registry-DHel9S61.js} +1 -1
  248. package/dist/ui/assets/wc-permissions-registry-Dcdmzs0U.js +1 -0
  249. package/dist/ui/assets/{wc-placeholder-CyqpFwlr.js → wc-placeholder-C1J1HGBa.js} +3 -3
  250. package/dist/ui/assets/{wc-settings-DQlViRqJ.js → wc-settings-DLReg83a.js} +3 -3
  251. package/dist/ui/assets/{wc-shell-DYAavWIZ.js → wc-shell-Djy773Zo.js} +7 -7
  252. package/dist/ui/assets/{wc-sprinkles-3JtSDzFR.js → wc-sprinkles-CcifX3Sy.js} +2 -2
  253. package/dist/ui/assets/{wc-transcript-export-C4O9AKQ6.js → wc-transcript-export-Bx9ecGAa.js} +2 -2
  254. package/dist/ui/assets/wc-tray-DgeXvaCs.js +2 -0
  255. package/dist/ui/assets/wc-tray-scoops-CwSRVd7s.js +5 -0
  256. package/dist/ui/assets/{welcome-detection-CQY88hjL.js → welcome-detection-sLx_L_gP.js} +1 -1
  257. package/dist/ui/assets/{whisper-engine-COt17pKd.js → whisper-engine-bquhJqdU.js} +1 -1
  258. package/dist/ui/assets/{whisper-session-D-oegf5G.js → whisper-session-DoSxCWUe.js} +2 -2
  259. package/dist/ui/assets/{writable-vfs-client-Cb6FWsgc.js → writable-vfs-client-Dqrpx9iK.js} +1 -1
  260. package/dist/ui/assets/{ws-subscribers-Dzuxa2F7.js → ws-subscribers-ZoJOTa93.js} +1 -1
  261. package/dist/ui/assets/{xai-grok-CnlmvtxV.js → xai-grok-B3LQ35Ig.js} +1 -1
  262. package/dist/ui/assets/{xai-grok-CQ2y4q0K.js → xai-grok-CsonM4jH.js} +1 -1
  263. package/dist/ui/assets/xterm-BSL5rRqA.js +18 -0
  264. package/dist/ui/assets/xterm-Diiics17.js +30 -0
  265. package/dist/ui/index.html +25 -25
  266. package/dist/ui/packages/webapp/cloud/index.html +2 -2
  267. package/dist/ui/packages/webapp/index.html +25 -25
  268. package/package.json +4 -4
  269. package/dist/ui/assets/__vite-browser-external-Db26C5vr.js +0 -1
  270. package/dist/ui/assets/__vite-browser-external-SwrSgYTf.js +0 -1
  271. package/dist/ui/assets/account-store-3ZeQvsHg.js +0 -43
  272. package/dist/ui/assets/backend-local-smcj-_Ox.js +0 -1
  273. package/dist/ui/assets/browser-COVn7LPD.js +0 -569
  274. package/dist/ui/assets/cloud-DhBwfVPK.js +0 -1
  275. package/dist/ui/assets/completionchunk-CP7I4h3f.js +0 -65
  276. package/dist/ui/assets/completionchunk-JDMithrI.js +0 -65
  277. package/dist/ui/assets/dist-0FRaZO2z.js +0 -12
  278. package/dist/ui/assets/dist-BlzIXVXL.js +0 -2
  279. package/dist/ui/assets/dist-Bq5i9FMJ.js +0 -12
  280. package/dist/ui/assets/dist-CJ6ilPeJ.js +0 -18
  281. package/dist/ui/assets/dist-DIYpvNeF.js +0 -2
  282. package/dist/ui/assets/dist-DuLHpm2f.js +0 -1
  283. package/dist/ui/assets/dist-DvjiIrEx.js +0 -23
  284. package/dist/ui/assets/es-CP2z28j0.js +0 -53
  285. package/dist/ui/assets/esptool-operations-C0DUkD34.js +0 -13
  286. package/dist/ui/assets/esptool-operations-iCYPdIRA.js +0 -12
  287. package/dist/ui/assets/export-provider-CBnhvTR9.js +0 -1
  288. package/dist/ui/assets/fs-B_EoFRY0.js +0 -2
  289. package/dist/ui/assets/fs-DAUqRBvb.js +0 -1
  290. package/dist/ui/assets/github-copilot-CUWzfkgl.js +0 -2
  291. package/dist/ui/assets/github-copilot-Dz-Ywiz6.js +0 -1
  292. package/dist/ui/assets/global-db-DvmmimLY.js +0 -1
  293. package/dist/ui/assets/google-shared-Dh_qL7z7.js +0 -11
  294. package/dist/ui/assets/installer-DuGbDCC9.js +0 -3
  295. package/dist/ui/assets/js-realm-worker-dP0mvoSB.js +0 -48
  296. package/dist/ui/assets/kokoro-engine-DKoaJW2G.js +0 -2
  297. package/dist/ui/assets/lick-manager-Ce_d4NxJ.js +0 -2
  298. package/dist/ui/assets/magick-wasm-f6c6OoOu.js +0 -43
  299. package/dist/ui/assets/mistral-conversations-CkIx9cg4.js +0 -8
  300. package/dist/ui/assets/mistral-conversations-Ct4-30zw.js +0 -7
  301. package/dist/ui/assets/models-DmWu8BeM.js +0 -1
  302. package/dist/ui/assets/mount-DdEqx8Ye.js +0 -2
  303. package/dist/ui/assets/oauth-service-bKcyWLK0.js +0 -1
  304. package/dist/ui/assets/process-manager-B5dz0PkO.js +0 -1
  305. package/dist/ui/assets/provider-settings-CMPKOsv9.js +0 -2
  306. package/dist/ui/assets/provider-store-access-BIeLrSCN.js +0 -1
  307. package/dist/ui/assets/provider-w_-ysFRD.js +0 -1
  308. package/dist/ui/assets/providers-U-BMssjK.js +0 -2
  309. package/dist/ui/assets/proxied-fetch-A48etSCh.js +0 -2
  310. package/dist/ui/assets/py-realm-worker-XDviaRpn.js +0 -244
  311. package/dist/ui/assets/pyodide-CcJEvbeU.js +0 -3
  312. package/dist/ui/assets/pyodide-DvIxh2Rb.js +0 -3
  313. package/dist/ui/assets/readline-0OE_8qoR.js +0 -26
  314. package/dist/ui/assets/rolldown-runtime-aKtaBQYM.js +0 -1
  315. package/dist/ui/assets/runtime-mode-B91km6KC.js +0 -1
  316. package/dist/ui/assets/setup-standalone-prelude-bzPDtbad.js +0 -2
  317. package/dist/ui/assets/setup-sudo-RE__qVVO.js +0 -2
  318. package/dist/ui/assets/shared-BYVJAPbn.js +0 -1
  319. package/dist/ui/assets/shared-SS_FwfdN.js +0 -4
  320. package/dist/ui/assets/slicc-editor-BoIEeofq.js +0 -12
  321. package/dist/ui/assets/speak-CIzzz0pF.js +0 -3
  322. package/dist/ui/assets/speak-CrTN7B3e.js +0 -1
  323. package/dist/ui/assets/sprinkle-manager-DbCWJGba.js +0 -1
  324. package/dist/ui/assets/sprinkle-op-handler-Dta4p7Tc.js +0 -1
  325. package/dist/ui/assets/sql-wasm-JpZkOS2Q.js +0 -2
  326. package/dist/ui/assets/tool-result-images-DlFhKgpw.js +0 -1
  327. package/dist/ui/assets/transcript-limits-B8212Rg9.js +0 -1
  328. package/dist/ui/assets/transformers.web-CrioJkWG.js +0 -45
  329. package/dist/ui/assets/transformers.web-D6viRW2X.js +0 -39
  330. package/dist/ui/assets/tray-sync-protocol-DtsNjc_8.js +0 -1
  331. package/dist/ui/assets/tray-sync-protocol-bvejwfjH.js +0 -1
  332. package/dist/ui/assets/wc-follower-_xrDG9l_.js +0 -17
  333. package/dist/ui/assets/wc-live-xoWVIMuu.js +0 -8
  334. package/dist/ui/assets/wc-permissions-registry-C7PhTX3c.js +0 -1
  335. package/dist/ui/assets/wc-tray-4dIiwvc9.js +0 -2
  336. package/dist/ui/assets/wc-tray-scoops-Ci8IRu3W.js +0 -5
  337. package/dist/ui/assets/xterm-DX7Hb5S-.js +0 -47
  338. package/dist/ui/assets/xterm-U4TA8lIC.js +0 -35
@@ -1,4 +1,4 @@
1
- import{i as e,n as t,r as n,t as r}from"./diagnostics-DN_idNHx.js";import{r as i,s as a}from"./transform-messages-D27pVLZ-.js";import{t as o}from"./provider-env-DwY8YuMk.js";import{t as s}from"./deferred-tools-DNuoafg8.js";import{t as c}from"./headers-CbDaTl3c.js";import{n as l}from"./constrained-sampling-DafcjXU6.js";import{n as u,t as d}from"./error-body-CqsCxuQ4.js";import{t as f}from"./openai-prompt-cache-DXo9f3w5.js";import{n as p,r as m,t as h}from"./openai-responses-shared-ULQmXcCD.js";const g=new Set;function _(e){return g.add(e),()=>{g.delete(e)}}let v=-1/0,y=0;function b(e){if(globalThis.crypto?.getRandomValues){globalThis.crypto.getRandomValues(e);return}for(let t=0;t<e.length;t++)e[t]=Math.floor(Math.random()*256)}function x(){let e=new Uint8Array(16);b(e);let t=Date.now();t>v?(y=e[6]*16777216+e[7]*65536+e[8]*256+e[9],v=t):(y=y+1>>>0,y===0&&v++);let n=new Uint8Array(16);n[0]=v/1099511627776&255,n[1]=v/4294967296&255,n[2]=v/16777216&255,n[3]=v/65536&255,n[4]=v/256&255,n[5]=v&255,n[6]=112|y>>>28&15,n[7]=y>>>20&255,n[8]=128|y>>>14&63,n[9]=y>>>6&255,n[10]=(y&63)<<2|e[10]&3,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15];let r=Array.from(n,e=>e.toString(16).padStart(2,`0`));return`${r.slice(0,4).join(``)}-${r.slice(4,6).join(``)}-${r.slice(6,8).join(``)}-${r.slice(8,10).join(``)}-${r.slice(10,16).join(``)}`}function S(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 C={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function w(e,t){let n=e.toLowerCase(),r=e.toUpperCase();return t?.[n]||t?.[r]||o(n)||o(r)||``}function T(e){if(e instanceof URL)return e;try{return new URL(e)}catch{return}}function E(e,t,n){let r=w(`no_proxy`,n).toLowerCase();return!r||r!==`*`&&r.split(/[,\s]/).every(n=>{if(!n)return!0;let r=n.match(/^(.+):(\d+)$/),i=r?r[1]:n,a=r?Number.parseInt(r[2],10):0;return a&&a!==t?!0:/^[.*]/.test(i)?(i.startsWith(`*`)&&(i=i.slice(1)),!e.endsWith(i)):e!==i})}function D(e,t){let n=T(e);if(!n?.protocol||!n.host)return``;let r=n.protocol.split(`:`,1)[0];if(!E(n.host.replace(/:\d*$/,``),Number.parseInt(n.port,10)||C[r]||0,t))return``;let i=w(`${r}_proxy`,t)||w(`all_proxy`,t);return i&&!i.includes(`://`)&&(i=`${r}://${i}`),i}function O(e,t){let n=D(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}function ee(){return typeof process>`u`||!(process.versions?.node||process.versions?.bun)?null:process.getBuiltinModule?.(`node:os`)??null}const k=ee(),te=1e3,A=new Set([`openai`,`openai-codex`,`opencode`]),j=new Set([`completed`,`incomplete`,`failed`,`cancelled`,`queued`,`in_progress`]);function M(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 ne(e){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(e)}function re(e,t){return e===429&&ne(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 ie(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 N=class extends Error{};function ae(e,t){let n=t?.maxRetryDelayMs??6e4;if(n>0&&e>n)throw new N(`Server requested ${Math.ceil(e/1e3)}s retry delay (max: ${Math.ceil(n/1e3)}s)`);return e}function P(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 F(e){if(e!==void 0){if(!Number.isFinite(e)||e<0)throw Error(`Invalid timeoutMs: ${String(e)}`);return Math.floor(e)}}function oe(){return typeof process>`u`||!(process.versions?.node||process.versions?.bun)?null:process.getBuiltinModule?.(`node:zlib`)??null}function se(e){let t=oe();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 I=(n,i,a)=>{let o=new e;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 s=a?.apiKey;if(!s)throw Error(`No API key for provider: ${n.provider}`);let u=Be(s),d=l(i.tools,n.compat?.supportsOpenAIGrammarTools??!1),p=a?.cacheRetention===`none`?void 0:a?.sessionId,m=f(p),h=le(n,i,a,m,d),g=await a?.onPayload?.(h,n);g!==void 0&&(h=g);let _=m||x(),v=He(n.headers,a?.headers,u,s,m),y=Ue(n.headers,a?.headers,u,s,_),b=JSON.stringify(h),C=F(a?.timeoutMs),w=F(a?.websocketConnectTimeoutMs),T=a?.transport||`auto`,E=!1,D=T!==`sse`&&J(p);if(D&&Y(p),T!==`sse`&&!D){let i=!1,s=!1,c=!1;for(;;){i=!1;try{if(await Re(de(n.baseUrl),h,y,e,o,n,()=>{i=!0,E||(E=!0,o.push({type:`start`,partial:e}))},C,w,p,d,a),a?.signal?.aborted)throw Error(`Request was aborted`);M(e),o.push({type:`done`,reason:e.stopReason,message:e}),o.end();return}catch(n){let o=a?.signal?.aborted,l=!i&&me(n),u=he(n);if(!o&&u&&!c){c=!0;continue}if(!o&&l&&!s){s=!0;continue}if(o||pe(n)&&!l||(r(e,t(`provider_transport_failure`,n,{configuredTransport:T,fallbackTransport:i?void 0:`sse`,eventsEmitted:i,phase:i?`after_message_stream_start`:`before_message_stream_start`,requestBytes:new TextEncoder().encode(b).byteLength})),xe(p,n),i))throw n;Y(p);break}}}let O=se(b);O&&v.set(`content-encoding`,`zstd`);let ee=O??b,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=C!==void 0&&C>0?AbortSignal.timeout(C):void 0,r=S([a?.signal,t]);try{k=await(a?.fetch??globalThis.fetch)(z(n.baseUrl),{method:`POST`,headers:v,body:ee,signal:r.signal})}catch(e){throw t?.aborted&&!a?.signal?.aborted?Error(`Codex SSE response headers timed out after ${C}ms`):e}finally{r.cleanup()}if(await a?.onResponse?.({status:k.status,headers:c(k.headers)},n),k.ok)break;let i=await k.text();if(e<j&&re(k.status,i)){let t=ie(k.headers);await P(t===void 0?te*2**e:ae(t,a),a?.signal);continue}let o=await ze(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 N)&&!A.message.includes(`usage limit`)){await P(te*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(E||(E=!0,o.push({type:`start`,partial:e})),await fe(k,e,o,n,d,a),a?.signal?.aborted)throw Error(`Request was aborted`);M(e),o.push({type:`done`,reason:e.stopReason,message:e}),o.end()}catch(t){for(let t of e.content)delete t.partialJson,delete t.customInput;e.stopReason=a?.signal?.aborted?`aborted`:`error`,e.errorMessage=d(u(t)),o.push({type:`error`,reason:e.stopReason,error:e}),o.end()}})(),o},ce=(e,t,n)=>{let r=n?.apiKey;if(!r)throw Error(`No API key for provider: ${e.provider}`);let o=i(e,t,n,r),s=n?.reasoning?a(e,n.reasoning):void 0,c=s===`off`?void 0:s;return I(e,t,{...o,reasoningEffort:c})};function le(e,t,n,r,i=l(t.tools,e.compat?.supportsOpenAIGrammarTools??!1)){let a=e.compat?.supportsStrictMode??!0,o=e.compat?.supportsOpenAIGrammarTools??!1,c=s(t,e.compat?.supportsToolSearch??!1),u=h(e,t,A,{includeSystemPrompt:!1,grammarToolInputProperties:i,deferredTools:c.deferred,toolOptions:{strict:null,supportsStrictMode:a,supportsOpenAIGrammarTools:o}}),d={model:e.id,store:!1,stream:!0,instructions:t.systemPrompt||`You are a helpful assistant.`,input:u,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&&(d.temperature=n.temperature),n?.serviceTier!==void 0&&(d.service_tier=n.serviceTier),c.immediate.length>0&&(d.tools=p(c.immediate,{strict:null,supportsStrictMode:a,supportsOpenAIGrammarTools:o})),n?.reasoningEffort!==void 0){let t=n.reasoningEffort===`none`?e.thinkingLevelMap?.off??`none`:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;t!==null&&(d.reasoning={effort:t,summary:n.reasoningSummary??`auto`})}return d}function ue(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function L(e,t,n){let r=ue(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 R(e,t){return e==="default"&&(t===`flex`||t===`priority`)?t:e??t}function z(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 de(e){let t=new URL(z(e));return t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}async function fe(e,t,n,r,i,a){await m(H(ve(e,a?.signal)),t,n,r,{serviceTier:a?.serviceTier,grammarToolInputProperties:i,resolveServiceTier:R,applyServiceTierPricing:(e,t)=>L(e,t,r)})}var B=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}},V=class extends Error{payload;constructor(e,t){super(e),this.name=`CodexProtocolError`,this.payload=t?.payload,this.cause=t?.cause}};function pe(e){return e instanceof B||e instanceof V}function me(e){return e instanceof B&&e.code===`websocket_connection_limit_reached`}function he(e){return e instanceof B&&e.code===`previous_response_not_found`}function ge(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){for await(let t of e){let e=typeof t.type==`string`?t.type:void 0;if(e){if(e===`error`){let{code:e,message:n}=ge(t);throw new B(`Codex error: ${n||e||JSON.stringify(t)}`,{code:e,payload:t})}if(e===`response.failed`){let e=t.response,n=e?.error?.code,r=e?.error?.message;throw new B(r||`Codex response failed`,{code:n,payload:t})}if(e===`response.done`||e===`response.completed`||e===`response.incomplete`){let e=t.response,n=e&&{...e,status:_e(e.status)};yield{...t,type:`response.completed`,response:n};return}yield t}}}function _e(e){if(typeof e==`string`)return j.has(e)?e:void 0}async function*ve(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`);if(e)break;a+=i.decode(o,{stream:!0});let s=a.indexOf(`
1
+ import{i as e,n as t,r as n,t as r}from"./diagnostics-DN_idNHx.js";import{r as i,s as a}from"./transform-messages-D27pVLZ-.js";import{t as o}from"./provider-env-CILujRmO.js";import{t as s}from"./deferred-tools-DNuoafg8.js";import{t as c}from"./headers-CbDaTl3c.js";import{n as l}from"./constrained-sampling-DafcjXU6.js";import{n as u,t as d}from"./error-body-CqsCxuQ4.js";import{t as f}from"./openai-prompt-cache-DXo9f3w5.js";import{n as p,r as m,t as h}from"./openai-responses-shared-uSSusU2w.js";const g=new Set;function _(e){return g.add(e),()=>{g.delete(e)}}let v=-1/0,y=0;function b(e){if(globalThis.crypto?.getRandomValues){globalThis.crypto.getRandomValues(e);return}for(let t=0;t<e.length;t++)e[t]=Math.floor(Math.random()*256)}function x(){let e=new Uint8Array(16);b(e);let t=Date.now();t>v?(y=e[6]*16777216+e[7]*65536+e[8]*256+e[9],v=t):(y=y+1>>>0,y===0&&v++);let n=new Uint8Array(16);n[0]=v/1099511627776&255,n[1]=v/4294967296&255,n[2]=v/16777216&255,n[3]=v/65536&255,n[4]=v/256&255,n[5]=v&255,n[6]=112|y>>>28&15,n[7]=y>>>20&255,n[8]=128|y>>>14&63,n[9]=y>>>6&255,n[10]=(y&63)<<2|e[10]&3,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15];let r=Array.from(n,e=>e.toString(16).padStart(2,`0`));return`${r.slice(0,4).join(``)}-${r.slice(4,6).join(``)}-${r.slice(6,8).join(``)}-${r.slice(8,10).join(``)}-${r.slice(10,16).join(``)}`}function S(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 C={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function w(e,t){let n=e.toLowerCase(),r=e.toUpperCase();return t?.[n]||t?.[r]||o(n)||o(r)||``}function T(e){if(e instanceof URL)return e;try{return new URL(e)}catch{return}}function E(e,t,n){let r=w(`no_proxy`,n).toLowerCase();return!r||r!==`*`&&r.split(/[,\s]/).every(n=>{if(!n)return!0;let r=n.match(/^(.+):(\d+)$/),i=r?r[1]:n,a=r?Number.parseInt(r[2],10):0;return a&&a!==t?!0:/^[.*]/.test(i)?(i.startsWith(`*`)&&(i=i.slice(1)),!e.endsWith(i)):e!==i})}function D(e,t){let n=T(e);if(!n?.protocol||!n.host)return``;let r=n.protocol.split(`:`,1)[0];if(!E(n.host.replace(/:\d*$/,``),Number.parseInt(n.port,10)||C[r]||0,t))return``;let i=w(`${r}_proxy`,t)||w(`all_proxy`,t);return i&&!i.includes(`://`)&&(i=`${r}://${i}`),i}function O(e,t){let n=D(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}function ee(){return typeof process>`u`||!(process.versions?.node||process.versions?.bun)?null:process.getBuiltinModule?.(`node:os`)??null}const k=ee(),te=1e3,A=new Set([`openai`,`openai-codex`,`opencode`]),j=new Set([`completed`,`incomplete`,`failed`,`cancelled`,`queued`,`in_progress`]);function M(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 ne(e){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(e)}function re(e,t){return e===429&&ne(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 ie(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 N=class extends Error{};function ae(e,t){let n=t?.maxRetryDelayMs??6e4;if(n>0&&e>n)throw new N(`Server requested ${Math.ceil(e/1e3)}s retry delay (max: ${Math.ceil(n/1e3)}s)`);return e}function P(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 F(e){if(e!==void 0){if(!Number.isFinite(e)||e<0)throw Error(`Invalid timeoutMs: ${String(e)}`);return Math.floor(e)}}function oe(){return typeof process>`u`||!(process.versions?.node||process.versions?.bun)?null:process.getBuiltinModule?.(`node:zlib`)??null}function se(e){let t=oe();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 I=(n,i,a)=>{let o=new e;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 s=a?.apiKey;if(!s)throw Error(`No API key for provider: ${n.provider}`);let u=Be(s),d=l(i.tools,n.compat?.supportsOpenAIGrammarTools??!1),p=a?.cacheRetention===`none`?void 0:a?.sessionId,m=f(p),h=le(n,i,a,m,d),g=await a?.onPayload?.(h,n);g!==void 0&&(h=g);let _=m||x(),v=He(n.headers,a?.headers,u,s,m),y=Ue(n.headers,a?.headers,u,s,_),b=JSON.stringify(h),C=F(a?.timeoutMs),w=F(a?.websocketConnectTimeoutMs),T=a?.transport||`auto`,E=!1,D=T!==`sse`&&J(p);if(D&&Y(p),T!==`sse`&&!D){let i=!1,s=!1,c=!1;for(;;){i=!1;try{if(await Re(de(n.baseUrl),h,y,e,o,n,()=>{i=!0,E||(E=!0,o.push({type:`start`,partial:e}))},C,w,p,d,a),a?.signal?.aborted)throw Error(`Request was aborted`);M(e),o.push({type:`done`,reason:e.stopReason,message:e}),o.end();return}catch(n){let o=a?.signal?.aborted,l=!i&&me(n),u=he(n);if(!o&&u&&!c){c=!0;continue}if(!o&&l&&!s){s=!0;continue}if(o||pe(n)&&!l||(r(e,t(`provider_transport_failure`,n,{configuredTransport:T,fallbackTransport:i?void 0:`sse`,eventsEmitted:i,phase:i?`after_message_stream_start`:`before_message_stream_start`,requestBytes:new TextEncoder().encode(b).byteLength})),xe(p,n),i))throw n;Y(p);break}}}let O=se(b);O&&v.set(`content-encoding`,`zstd`);let ee=O??b,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=C!==void 0&&C>0?AbortSignal.timeout(C):void 0,r=S([a?.signal,t]);try{k=await(a?.fetch??globalThis.fetch)(z(n.baseUrl),{method:`POST`,headers:v,body:ee,signal:r.signal})}catch(e){throw t?.aborted&&!a?.signal?.aborted?Error(`Codex SSE response headers timed out after ${C}ms`):e}finally{r.cleanup()}if(await a?.onResponse?.({status:k.status,headers:c(k.headers)},n),k.ok)break;let i=await k.text();if(e<j&&re(k.status,i)){let t=ie(k.headers);await P(t===void 0?te*2**e:ae(t,a),a?.signal);continue}let o=await ze(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 N)&&!A.message.includes(`usage limit`)){await P(te*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(E||(E=!0,o.push({type:`start`,partial:e})),await fe(k,e,o,n,d,a),a?.signal?.aborted)throw Error(`Request was aborted`);M(e),o.push({type:`done`,reason:e.stopReason,message:e}),o.end()}catch(t){for(let t of e.content)delete t.partialJson,delete t.customInput;e.stopReason=a?.signal?.aborted?`aborted`:`error`,e.errorMessage=d(u(t)),o.push({type:`error`,reason:e.stopReason,error:e}),o.end()}})(),o},ce=(e,t,n)=>{let r=n?.apiKey;if(!r)throw Error(`No API key for provider: ${e.provider}`);let o=i(e,t,n,r),s=n?.reasoning?a(e,n.reasoning):void 0,c=s===`off`?void 0:s;return I(e,t,{...o,reasoningEffort:c})};function le(e,t,n,r,i=l(t.tools,e.compat?.supportsOpenAIGrammarTools??!1)){let a=e.compat?.supportsStrictMode??!0,o=e.compat?.supportsOpenAIGrammarTools??!1,c=s(t,e.compat?.supportsToolSearch??!1),u=h(e,t,A,{includeSystemPrompt:!1,grammarToolInputProperties:i,deferredTools:c.deferred,toolOptions:{strict:null,supportsStrictMode:a,supportsOpenAIGrammarTools:o}}),d={model:e.id,store:!1,stream:!0,instructions:t.systemPrompt||`You are a helpful assistant.`,input:u,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&&(d.temperature=n.temperature),n?.serviceTier!==void 0&&(d.service_tier=n.serviceTier),c.immediate.length>0&&(d.tools=p(c.immediate,{strict:null,supportsStrictMode:a,supportsOpenAIGrammarTools:o})),n?.reasoningEffort!==void 0){let t=n.reasoningEffort===`none`?e.thinkingLevelMap?.off??`none`:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;t!==null&&(d.reasoning={effort:t,summary:n.reasoningSummary??`auto`})}return d}function ue(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function L(e,t,n){let r=ue(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 R(e,t){return e==="default"&&(t===`flex`||t===`priority`)?t:e??t}function z(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 de(e){let t=new URL(z(e));return t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}async function fe(e,t,n,r,i,a){await m(H(ve(e,a?.signal)),t,n,r,{serviceTier:a?.serviceTier,grammarToolInputProperties:i,resolveServiceTier:R,applyServiceTierPricing:(e,t)=>L(e,t,r)})}var B=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}},V=class extends Error{payload;constructor(e,t){super(e),this.name=`CodexProtocolError`,this.payload=t?.payload,this.cause=t?.cause}};function pe(e){return e instanceof B||e instanceof V}function me(e){return e instanceof B&&e.code===`websocket_connection_limit_reached`}function he(e){return e instanceof B&&e.code===`previous_response_not_found`}function ge(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){for await(let t of e){let e=typeof t.type==`string`?t.type:void 0;if(e){if(e===`error`){let{code:e,message:n}=ge(t);throw new B(`Codex error: ${n||e||JSON.stringify(t)}`,{code:e,payload:t})}if(e===`response.failed`){let e=t.response,n=e?.error?.code,r=e?.error?.message;throw new B(r||`Codex response failed`,{code:n,payload:t})}if(e===`response.done`||e===`response.completed`||e===`response.incomplete`){let e=t.response,n=e&&{...e,status:_e(e.status)};yield{...t,type:`response.completed`,response:n};return}yield t}}}function _e(e){if(typeof e==`string`)return j.has(e)?e:void 0}async function*ve(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`);if(e)break;a+=i.decode(o,{stream:!0});let s=a.indexOf(`
2
2
 
3
3
  `);for(;s!==-1;){let e=a.slice(0,s);a=a.slice(s+2);let t=e.split(`
4
4
  `).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trim());if(t.length>0){let e=t.join(`
@@ -1,5 +1,5 @@
1
- import{i as e}from"./diagnostics-DN_idNHx.js";import{n as t,t as n}from"./models-DmWu8BeM.js";import{n as r}from"./json-parse-rb7sUwcH.js";import{t as i}from"./provider-env-D37PhSJu.js";import{r as a,t as o}from"./transform-messages-DgR3h-Ck.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-BxFF4GUL.js";import{n as v,t as y}from"./error-body-CqsCxuQ4.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||(i(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}var N=(t,n,i)=>{let a=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:`pending`,timestamp:Date.now()};try{let o=C(t.provider,i?.apiKey,i?.headers),l=Q(t),u=f(n.tools,l.supportsOpenAIGrammarTools),d=M(i?.cacheRetention,i?.env),p=d===`none`?void 0:i?.sessionId,h=F(t,n,o,i?.headers,i?.fetch,p,l),g=I(t,n,i,l,d,u),_=await i?.onPayload?.(g,t);_!==void 0&&(g=_);let v={...i?.signal?{signal:i.signal}:{},...i?.timeoutMs===void 0?{}:{timeout:i.timeoutMs},maxRetries:0},{data:y,response:b}=await c(()=>h.chat.completions.create(g,v).withResponse(),{maxRetries:i?.maxRetries,maxRetryDelayMs:i?.maxRetryDelayMs,signal:i?.signal});await i?.onResponse?.({status:b.status,headers:s(b.headers)},t),a.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`)a.push({type:`text_end`,contentIndex:n,content:t.text,partial:e});else if(t.type===`thinking`)a.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&&a.push({type:`toolcall_delta`,contentIndex:n,delta:r,partial:e})}else t.arguments=r(t.partialArgs);delete t.partialArgs,delete t.customInput,delete t.streamIndex,a.push({type:`toolcall_end`,contentIndex:n,toolCall:t,partial:e})}}},L=()=>(x||(x={type:`text`,text:``},O.push(x),a.push({type:`text_start`,contentIndex:k(x),partial:e})),x),R=t=>(S||(S={type:`thinking`,thinking:``,thinkingSignature:t},O.push(S),a.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??``,i=n===void 0?void 0:T.get(n);if(!i&&t.id&&(i=E.get(t.id)),!i){let o=t.custom&&!t.function?u.get(r)??`input`:void 0,s=o!==void 0;i={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,i),t.id&&E.set(t.id,i),O.push(i),a.push({type:`toolcall_start`,contentIndex:k(i),partial:e})}if(n!==void 0&&i.streamIndex===void 0&&(i.streamIndex=n,T.set(n,i)),t.id&&E.set(t.id,i),!i.name&&r&&(i.name=r),t.custom&&!t.function&&!i.customInput){let e=u.get(i.name)??`input`;i.arguments={[e]:``},i.customInput={property:e,jsonBuffer:{input:``,started:!1,closed:!1}},delete i.partialArgs}return z(i),i};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 i=Array.isArray(n.choices)?n.choices[0]:void 0;if(i){if(!n.usage&&i.usage&&(e.usage=Y(i.usage,t)),i.finish_reason){e.rawStopReason=i.finish_reason;let t=X(i.finish_reason);e.stopReason=t.stopReason,t.errorMessage&&(e.errorMessage=t.errorMessage),w=!0}if(i.delta){if(i.delta.content!==null&&i.delta.content!==void 0&&i.delta.content.length>0){let t=L();t.text+=i.delta.content,a.push({type:`text_delta`,contentIndex:k(t),delta:i.delta.content,partial:e})}let n=[`reasoning_content`,`reasoning`,`reasoning_text`],o=i.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,a.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=B(t);!n.id&&t.id&&(n.id=t.id,E.set(t.id,n));let i=t.function?.name??t.custom?.name;!n.name&&i&&(n.name=i);let o=``;t.function?.arguments?(o=t.function.arguments,n.partialArgs=(n.partialArgs??``)+t.function.arguments,n.arguments=r(n.partialArgs)):t.custom?.input&&(o=N(n,A(n)+t.custom.input,!1)??``),a.push({type:`toolcall_delta`,contentIndex:k(n),delta:o,partial:e})}let c=i.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(i?.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||e.stopReason===`pending`)throw Error(`Stream ended without finish_reason`);a.push({type:`done`,reason:e.stopReason,message:e}),a.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialArgs,delete t.customInput,delete t.streamIndex;e.stopReason=i?.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}`),a.push({type:`error`,reason:e.stopReason,error:e}),a.end()}})(),a},P=(e,n,r)=>{C(e.provider,r?.apiKey,r?.headers);let i=a(e,n,r,r?.apiKey),o=r?.reasoning?t(e,r.reasoning):void 0,s=o===`off`?void 0:o,c=r?.toolChoice;return N(e,n,{...i,reasoningEffort:s,toolChoice:c})};function F(e,t,n,r,i,a,o=Q(e)){let s={...e.headers};if(e.provider===`github-copilot`){let e=h(t.messages),n=g({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 _({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:i,defaultHeaders:s})}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){if(c.enable_thinking=!!n?.reasoningEffort,n?.reasoningEffort&&r.supportsReasoningEffort){let t=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;typeof t==`string`&&(c.reasoning_effort=t)}}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 i=[],a=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=o(t.messages,e,e=>a(e));if(t.systemPrompt){let r=e.reasoning&&n.supportsDeveloperRole?`developer`:`system`;i.push({role:r,content:l(t.systemPrompt)})}let c=null;for(let a=0;a<s.length;a++){let o=s[a];if(n.requiresAssistantAfterToolResult&&c===`toolResult`&&o.role===`user`&&i.push({role:`assistant`,content:`I have processed the tool results.`}),o.role===`user`)if(typeof o.content==`string`)i.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;i.push({role:`user`,content:e})}else if(o.role===`assistant`){let t={role:`assistant`,content:n.requiresAssistantAfterToolResult?``:null},a=o.content.filter(D).filter(e=>e.text.trim().length>0).map(e=>({type:`text`,text:l(e.text)})),s=a.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(`
1
+ import{i as e}from"./diagnostics-DN_idNHx.js";import{n as t,t as n}from"./models-DgdVqaw5.js";import{n as r}from"./json-parse-CgFfIg4Q.js";import{t as i}from"./provider-env-CTOcDKrQ.js";import{r as a,t as o}from"./transform-messages-DgR3h-Ck.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-DQxsE__c.js";import{n as v,t as y}from"./error-body-CqsCxuQ4.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||(i(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}var N=(t,n,i)=>{let a=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:`pending`,timestamp:Date.now()};try{let o=C(t.provider,i?.apiKey,i?.headers),l=Q(t),u=f(n.tools,l.supportsOpenAIGrammarTools),d=M(i?.cacheRetention,i?.env),p=d===`none`?void 0:i?.sessionId,h=F(t,n,o,i?.headers,i?.fetch,p,l),g=I(t,n,i,l,d,u),_=await i?.onPayload?.(g,t);_!==void 0&&(g=_);let v={...i?.signal?{signal:i.signal}:{},...i?.timeoutMs===void 0?{}:{timeout:i.timeoutMs},maxRetries:0},{data:y,response:b}=await c(()=>h.chat.completions.create(g,v).withResponse(),{maxRetries:i?.maxRetries,maxRetryDelayMs:i?.maxRetryDelayMs,signal:i?.signal});await i?.onResponse?.({status:b.status,headers:s(b.headers)},t),a.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`)a.push({type:`text_end`,contentIndex:n,content:t.text,partial:e});else if(t.type===`thinking`)a.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&&a.push({type:`toolcall_delta`,contentIndex:n,delta:r,partial:e})}else t.arguments=r(t.partialArgs);delete t.partialArgs,delete t.customInput,delete t.streamIndex,a.push({type:`toolcall_end`,contentIndex:n,toolCall:t,partial:e})}}},L=()=>(x||(x={type:`text`,text:``},O.push(x),a.push({type:`text_start`,contentIndex:k(x),partial:e})),x),R=t=>(S||(S={type:`thinking`,thinking:``,thinkingSignature:t},O.push(S),a.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??``,i=n===void 0?void 0:T.get(n);if(!i&&t.id&&(i=E.get(t.id)),!i){let o=t.custom&&!t.function?u.get(r)??`input`:void 0,s=o!==void 0;i={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,i),t.id&&E.set(t.id,i),O.push(i),a.push({type:`toolcall_start`,contentIndex:k(i),partial:e})}if(n!==void 0&&i.streamIndex===void 0&&(i.streamIndex=n,T.set(n,i)),t.id&&E.set(t.id,i),!i.name&&r&&(i.name=r),t.custom&&!t.function&&!i.customInput){let e=u.get(i.name)??`input`;i.arguments={[e]:``},i.customInput={property:e,jsonBuffer:{input:``,started:!1,closed:!1}},delete i.partialArgs}return z(i),i};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 i=Array.isArray(n.choices)?n.choices[0]:void 0;if(i){if(!n.usage&&i.usage&&(e.usage=Y(i.usage,t)),i.finish_reason){e.rawStopReason=i.finish_reason;let t=X(i.finish_reason);e.stopReason=t.stopReason,t.errorMessage&&(e.errorMessage=t.errorMessage),w=!0}if(i.delta){if(i.delta.content!==null&&i.delta.content!==void 0&&i.delta.content.length>0){let t=L();t.text+=i.delta.content,a.push({type:`text_delta`,contentIndex:k(t),delta:i.delta.content,partial:e})}let n=[`reasoning_content`,`reasoning`,`reasoning_text`],o=i.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,a.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=B(t);!n.id&&t.id&&(n.id=t.id,E.set(t.id,n));let i=t.function?.name??t.custom?.name;!n.name&&i&&(n.name=i);let o=``;t.function?.arguments?(o=t.function.arguments,n.partialArgs=(n.partialArgs??``)+t.function.arguments,n.arguments=r(n.partialArgs)):t.custom?.input&&(o=N(n,A(n)+t.custom.input,!1)??``),a.push({type:`toolcall_delta`,contentIndex:k(n),delta:o,partial:e})}let c=i.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(i?.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||e.stopReason===`pending`)throw Error(`Stream ended without finish_reason`);a.push({type:`done`,reason:e.stopReason,message:e}),a.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialArgs,delete t.customInput,delete t.streamIndex;e.stopReason=i?.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}`),a.push({type:`error`,reason:e.stopReason,error:e}),a.end()}})(),a},P=(e,n,r)=>{C(e.provider,r?.apiKey,r?.headers);let i=a(e,n,r,r?.apiKey),o=r?.reasoning?t(e,r.reasoning):void 0,s=o===`off`?void 0:o,c=r?.toolChoice;return N(e,n,{...i,reasoningEffort:s,toolChoice:c})};function F(e,t,n,r,i,a,o=Q(e)){let s={...e.headers};if(e.provider===`github-copilot`){let e=h(t.messages),n=g({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 _({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:i,defaultHeaders:s})}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){if(c.enable_thinking=!!n?.reasoningEffort,n?.reasoningEffort&&r.supportsReasoningEffort){let t=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;typeof t==`string`&&(c.reasoning_effort=t)}}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&&(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 i=[],a=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=o(t.messages,e,e=>a(e));if(t.systemPrompt){let r=e.reasoning&&n.supportsDeveloperRole?`developer`:`system`;i.push({role:r,content:l(t.systemPrompt)})}let c=null;for(let a=0;a<s.length;a++){let o=s[a];if(n.requiresAssistantAfterToolResult&&c===`toolResult`&&o.role===`user`&&i.push({role:`assistant`,content:`I have processed the tool results.`}),o.role===`user`)if(typeof o.content==`string`)i.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;i.push({role:`user`,content:e})}else if(o.role===`assistant`){let t={role:`assistant`,content:n.requiresAssistantAfterToolResult?``:null},a=o.content.filter(D).filter(e=>e.text.trim().length>0).map(e=>({type:`text`,text:l(e.text)})),s=a.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
2
 
3
3
  `)},...a];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
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;i.push(t)}else if(o.role===`toolResult`){let r=[],o=new Set,u=a;for(;u<s.length&&s[u].role===`toolResult`;u++){let t=s[u],a=t.content.filter(D).map(e=>e.text).join(`
5
- `),c=t.content.some(e=>e.type===`image`),d={role:`tool`,content:l(a.length>0?a:c?`(see attached image)`:`(no tool output)`),tool_call_id:t.toolCallId};if(n.requiresToolResultName&&t.toolName&&(d.name=t.toolName),i.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(a=u-1,r.length>0?(n.requiresAssistantAfterToolResult&&i.push({role:`assistant`,content:`I have processed the tool results.`}),i.push({role:`user`,content:[{type:`text`,text:`Attached image(s) from tool result:`},...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)};i.push(t)}}continue}c=o.role}return i}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,t){let r=e.prompt_tokens||0,i=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??0,a=e.prompt_tokens_details?.cache_write_tokens||0,o=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 n(t,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||r,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};
5
+ `),c=t.content.some(e=>e.type===`image`),d=a.length>0?a:c?`(see attached image)`:`(no tool output)`,f={role:`tool`,content:l(d),tool_call_id:t.toolCallId};if(n.requiresToolResultName&&t.toolName&&(f.name=t.toolName),i.push(f),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(a=u-1,r.length>0?(n.requiresAssistantAfterToolResult&&i.push({role:`assistant`,content:`I have processed the tool results.`}),i.push({role:`user`,content:[{type:`text`,text:`Attached image(s) from tool result:`},...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)};i.push(t)}}continue}c=o.role}return i}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,t){let r=e.prompt_tokens||0,i=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??0,a=e.prompt_tokens_details?.cache_write_tokens||0,o=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 n(t,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||r,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};
@@ -1,5 +1,5 @@
1
- import{i as e}from"./diagnostics-DN_idNHx.js";import{o as t,r as n,s as r,t as i}from"./transform-messages-D27pVLZ-.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-CqsCxuQ4.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:`pending`,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,r?.fetch,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&&!t.function?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&&!t.function&&!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){e.rawStopReason=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||e.stopReason===`pending`)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,o=Q(e)){let s={...e.headers};if(e.provider===`github-copilot`){let e=h(t.messages),n=g({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 _({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:i,defaultHeaders:s})}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){if(c.enable_thinking=!!n?.reasoningEffort,n?.reasoningEffort&&r.supportsReasoningEffort){let t=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;typeof t==`string`&&(c.reasoning_effort=t)}}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(`
1
+ import{i as e}from"./diagnostics-DN_idNHx.js";import{o as t,r as n,s as r,t as i}from"./transform-messages-D27pVLZ-.js";import{n as a}from"./json-parse-ClXMvBdK.js";import{t as o}from"./provider-env-CILujRmO.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-DehfWK3N.js";import{n as v,t as y}from"./error-body-CqsCxuQ4.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:`pending`,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,r?.fetch,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&&!t.function?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&&!t.function&&!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){e.rawStopReason=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||e.stopReason===`pending`)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,o=Q(e)){let s={...e.headers};if(e.provider===`github-copilot`){let e=h(t.messages),n=g({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 _({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:i,defaultHeaders:s})}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){if(c.enable_thinking=!!n?.reasoningEffort,n?.reasoningEffort&&r.supportsReasoningEffort){let t=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;typeof t==`string`&&(c.reasoning_effort=t)}}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&&(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
2
 
3
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
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||r,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};
5
+ `),c=t.content.some(e=>e.type===`image`),d=i.length>0?i:c?`(see attached image)`:`(no tool output)`,f={role:`tool`,content:l(d),tool_call_id:t.toolCallId};if(n.requiresToolResultName&&t.toolName&&(f.name=t.toolName),a.push(f),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||r,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};
@@ -1 +1 @@
1
- import{i as e}from"./diagnostics-DN_idNHx.js";import{n as t}from"./models-DmWu8BeM.js";import{t as n}from"./provider-env-D37PhSJu.js";import{r}from"./transform-messages-DgR3h-Ck.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-CqsCxuQ4.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-BhTvPbKN.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:`pending`,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,r?.fetch,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===`pending`)throw Error(`OpenAI Responses stream ended without a stop reason`);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,a){let o=C(e),s={...e.headers};if(e.provider===`github-copilot`){let e=c(t.messages),n=l({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 u({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:i,defaultHeaders:s})}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};
1
+ import{i as e}from"./diagnostics-DN_idNHx.js";import{n as t}from"./models-DgdVqaw5.js";import{t as n}from"./provider-env-CTOcDKrQ.js";import{r}from"./transform-messages-DgR3h-Ck.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-DQxsE__c.js";import{n as d,t as f}from"./error-body-CqsCxuQ4.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-DajOm-sC.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:`pending`,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,r?.fetch,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===`pending`)throw Error(`OpenAI Responses stream ended without a stop reason`);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,a){let o=C(e),s={...e.headers};if(e.provider===`github-copilot`){let e=c(t.messages),n=l({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 u({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:i,defaultHeaders:s})}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};
@@ -1 +1 @@
1
- import{i as e}from"./diagnostics-DN_idNHx.js";import{r as t,s as n}from"./transform-messages-D27pVLZ-.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-CqsCxuQ4.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-ULQmXcCD.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:`pending`,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,r?.fetch,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===`pending`)throw Error(`OpenAI Responses stream ended without a stop reason`);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,a){let o=S(e),s={...e.headers};if(e.provider===`github-copilot`){let e=c(t.messages),n=l({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 u({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:i,defaultHeaders:s})}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};
1
+ import{i as e}from"./diagnostics-DN_idNHx.js";import{r as t,s as n}from"./transform-messages-D27pVLZ-.js";import{t as r}from"./provider-env-CILujRmO.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-DehfWK3N.js";import{n as d,t as f}from"./error-body-CqsCxuQ4.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-uSSusU2w.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:`pending`,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,r?.fetch,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===`pending`)throw Error(`OpenAI Responses stream ended without a stop reason`);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,a){let o=S(e),s={...e.headers};if(e.provider===`github-copilot`){let e=c(t.messages),n=l({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 u({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:i,defaultHeaders:s})}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};
@@ -1,4 +1,4 @@
1
- import{t as e}from"./models-DmWu8BeM.js";import{n as t}from"./json-parse-rb7sUwcH.js";import{t as n}from"./transform-messages-DgR3h-Ck.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(`
1
+ import{t as e}from"./models-DgdVqaw5.js";import{n as t}from"./json-parse-CgFfIg4Q.js";import{t as n}from"./transform-messages-DgR3h-Ck.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
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=>{e.type===`message`&&e.phase===`final_answer`&&(r.stopReason=`stop`)},f=(e,t)=>{let n=c.get(e);return n?.type===t?n:void 0},p=(e,t)=>{t!==void 0&&i.push({type:`toolcall_delta`,contentIndex:e.contentIndex,delta:t,partial:r})},g=(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`){d(t);let n={type:`text`,text:``};r.content.push(n);let a={type:`text`,block:n,contentIndex:r.content.length-1};return c.set(e,a),i.push({type:`text_start`,contentIndex:a.contentIndex,partial:r}),a}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}},v=(e,t)=>c.get(e)??g(e,t),y=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}))}},b=t=>{if(s=!0,y(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)}let n=t?.status;r.rawStopReason=n,r.stopReason=_(n),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`)g(e.output_index,e.item);else if(e.type===`response.reasoning_summary_text.delta`){let t=f(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=f(e.output_index,`thinking`);if(!t)continue;t.block.thinking+=`
3
3
 
4
4
  `,i.push({type:`thinking_delta`,contentIndex:t.contentIndex,delta:`
@@ -1,4 +1,4 @@
1
- import{o as e,t}from"./transform-messages-D27pVLZ-.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(`
1
+ import{o as e,t}from"./transform-messages-D27pVLZ-.js";import{n}from"./json-parse-ClXMvBdK.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
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=>{e.type===`message`&&e.phase===`final_answer`&&(r.stopReason=`stop`)},f=(e,t)=>{let n=c.get(e);return n?.type===t?n:void 0},p=(e,t)=>{t!==void 0&&i.push({type:`toolcall_delta`,contentIndex:e.contentIndex,delta:t,partial:r})},g=(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`){d(t);let n={type:`text`,text:``};r.content.push(n);let a={type:`text`,block:n,contentIndex:r.content.length-1};return c.set(e,a),i.push({type:`text_start`,contentIndex:a.contentIndex,partial:r}),a}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}},v=(e,t)=>c.get(e)??g(e,t),y=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}))}},b=t=>{if(s=!0,y(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)}let n=t?.status;r.rawStopReason=n,r.stopReason=_(n),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`)g(e.output_index,e.item);else if(e.type===`response.reasoning_summary_text.delta`){let t=f(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=f(e.output_index,`thinking`);if(!t)continue;t.block.thinking+=`
3
3
 
4
4
  `,i.push({type:`thinking_delta`,contentIndex:t.contentIndex,delta:`
@@ -1 +1 @@
1
- import{h as e,z as t}from"./account-store-DSnxgLNJ.js";import{p as n}from"./bedrock-camp-CHi38ceE.js";import{r,s as i}from"./legacy-api-aliases-MR6kosFL.js";import"./provider-settings-BgRoRncG.js";import{fetchModels as a,getCatalog as o}from"./openrouter-models-DmontTTG.js";import{loginIntercepted as s}from"./openrouter-oauth-BfOn7a34.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=(t,n,i={})=>r(d(t),n,{...i,apiKey:e(c)??i.apiKey,headers:f(i.headers)}),m=(t,n,r={})=>i(d(t),n,{...r,apiKey:e(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 t({providerId:c,accessToken:``})}};function g(){n({api:l,stream:p,streamSimple:m})}export{h as config,g as register};
1
+ import{h as e,z as t}from"./account-store-kT7dgbK1.js";import{p as n}from"./bedrock-camp-CFmElpzZ.js";import{r,s as i}from"./legacy-api-aliases-BVP0Ho8x.js";import"./provider-settings-x1DCmyHF.js";import{fetchModels as a,getCatalog as o}from"./openrouter-models-DmontTTG.js";import{loginIntercepted as s}from"./openrouter-oauth-DY8uKhfy.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=(t,n,i={})=>r(d(t),n,{...i,apiKey:e(c)??i.apiKey,headers:f(i.headers)}),m=(t,n,r={})=>i(d(t),n,{...r,apiKey:e(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 t({providerId:c,accessToken:``})}};function g(){n({api:l,stream:p,streamSimple:m})}export{h as config,g as register};
@@ -1 +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-CqsCxuQ4.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,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};
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-DehfWK3N.js";import{n as a,t as o}from"./error-body-CqsCxuQ4.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,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};
@@ -1 +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-CqsCxuQ4.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};
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-DQxsE__c.js";import{n as a,t as o}from"./error-body-CqsCxuQ4.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};
@@ -1 +1 @@
1
- import{z as e}from"./account-store-DSnxgLNJ.js";import"./provider-settings-BgRoRncG.js";import{n as t,t as n}from"./pkce-hGf_TEnP.js";const r=`http://127.0.0.1:3000/callback`,i=`http://127.0.0.1:3000/*`;function a(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 o(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 s(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 c(c,l,u){let d=t(),f=await n(d);await e({providerId:`openrouter`,accessToken:await s(o(await c({authorizeUrl:a(r,f),redirectUriPattern:i,onCapture:`close`})),d),tokenExpiresAt:2**53-1,baseUrl:`https://openrouter.ai/api/v1`}),l()}export{r as OPENROUTER_CALLBACK_URL,i as OPENROUTER_REDIRECT_URI_PATTERN,a as buildAuthorizeUrl,n as deriveCodeChallenge,s as exchangeCodeForKey,t as generateCodeVerifier,c as loginIntercepted,o as parseCallbackCode};
1
+ import{z as e}from"./account-store-kT7dgbK1.js";import"./provider-settings-x1DCmyHF.js";import{n as t,t as n}from"./pkce-hGf_TEnP.js";const r=`http://127.0.0.1:3000/callback`,i=`http://127.0.0.1:3000/*`;function a(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 o(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 s(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 c(c,l,u){let d=t(),f=await n(d),p=await s(o(await c({authorizeUrl:a(r,f),redirectUriPattern:i,onCapture:`close`})),d);await e({providerId:`openrouter`,accessToken:p,tokenExpiresAt:2**53-1,baseUrl:`https://openrouter.ai/api/v1`}),l()}export{r as OPENROUTER_CALLBACK_URL,i as OPENROUTER_REDIRECT_URI_PATTERN,a as buildAuthorizeUrl,n as deriveCodeChallenge,s as exchangeCodeForKey,t as generateCodeVerifier,c as loginIntercepted,o as parseCallbackCode};
@@ -1 +1 @@
1
- import{z as e}from"./account-store-3ZeQvsHg.js";import"./provider-settings-CMPKOsv9.js";import{n as t,t as n}from"./pkce-hGf_TEnP.js";var r=`https://openrouter.ai/auth`,i=`https://openrouter.ai/api/v1/auth/keys`,a=`https://openrouter.ai/api/v1`,o=`http://127.0.0.1:3000/callback`,s=`http://127.0.0.1:3000/*`;function c(e,t){let n=new URL(r);return n.searchParams.set(`callback_url`,e),n.searchParams.set(`code_challenge`,t),n.searchParams.set(`code_challenge_method`,`S256`),n.toString()}function l(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 u(e,t,n=fetch){let r=await n(i,{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 a;try{a=await r.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 d(r,i,d){let f=t();await e({providerId:`openrouter`,accessToken:await u(l(await r({authorizeUrl:c(o,await n(f)),redirectUriPattern:s,onCapture:`close`})),f),tokenExpiresAt:2**53-1,baseUrl:a}),i()}export{o as OPENROUTER_CALLBACK_URL,s as OPENROUTER_REDIRECT_URI_PATTERN,c as buildAuthorizeUrl,n as deriveCodeChallenge,u as exchangeCodeForKey,t as generateCodeVerifier,d as loginIntercepted,l as parseCallbackCode};
1
+ import{z as e}from"./account-store-83ArXgcG.js";import"./provider-settings-CY15hvGv.js";import{n as t,t as n}from"./pkce-hGf_TEnP.js";var r=`https://openrouter.ai/auth`,i=`https://openrouter.ai/api/v1/auth/keys`,a=`https://openrouter.ai/api/v1`,o=`http://127.0.0.1:3000/callback`,s=`http://127.0.0.1:3000/*`;function c(e,t){let n=new URL(r);return n.searchParams.set(`callback_url`,e),n.searchParams.set(`code_challenge`,t),n.searchParams.set(`code_challenge_method`,`S256`),n.toString()}function l(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 u(e,t,n=fetch){let r=await n(i,{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 a;try{a=await r.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 d(r,i,d){let f=t(),p=await u(l(await r({authorizeUrl:c(o,await n(f)),redirectUriPattern:s,onCapture:`close`})),f);await e({providerId:`openrouter`,accessToken:p,tokenExpiresAt:2**53-1,baseUrl:a}),i()}export{o as OPENROUTER_CALLBACK_URL,s as OPENROUTER_REDIRECT_URI_PATTERN,c as buildAuthorizeUrl,n as deriveCodeChallenge,u as exchangeCodeForKey,t as generateCodeVerifier,d as loginIntercepted,l as parseCallbackCode};
@@ -1 +1 @@
1
- import{h as e,z as t}from"./account-store-3ZeQvsHg.js";import{a as n}from"./compat-BhgG-Qr-.js";import{r,s as i}from"./legacy-api-aliases-DrEKVikN.js";import"./provider-settings-CMPKOsv9.js";import{fetchModels as a,getCatalog as o}from"./openrouter-models-gCCUSdgw.js";import{loginIntercepted as s}from"./openrouter-oauth-Cfl_HRtC.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=(t,n,i={})=>r(p(t),n,{...i,apiKey:e(c)??i.apiKey,headers:m(i.headers)}),g=(t,n,r={})=>i(p(t),n,{...r,apiKey:e(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 t({providerId:c,accessToken:``})}};function v(){n({api:d,stream:h,streamSimple:g})}export{_ as config,v as register};
1
+ import{h as e,z as t}from"./account-store-83ArXgcG.js";import{a as n}from"./compat-Bn8HnC3L.js";import{r,s as i}from"./legacy-api-aliases-DAkrHYf9.js";import"./provider-settings-CY15hvGv.js";import{fetchModels as a,getCatalog as o}from"./openrouter-models-gCCUSdgw.js";import{loginIntercepted as s}from"./openrouter-oauth-y_6J1_DN.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=(t,n,i={})=>r(p(t),n,{...i,apiKey:e(c)??i.apiKey,headers:m(i.headers)}),g=(t,n,r={})=>i(p(t),n,{...r,apiKey:e(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 t({providerId:c,accessToken:``})}};function v(){n({api:d,stream:h,streamSimple:g})}export{_ as config,v as register};