67router 1.0.1 → 1.0.3

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 (1132) hide show
  1. package/README.md +73 -1
  2. package/app/.next-cli-build/BUILD_ID +1 -1
  3. package/app/.next-cli-build/app-path-routes-manifest.json +5 -3
  4. package/app/.next-cli-build/build-manifest.json +2 -2
  5. package/app/.next-cli-build/prerender-manifest.json +17 -17
  6. package/app/.next-cli-build/required-server-files.json +2 -1
  7. package/app/.next-cli-build/routes-manifest.json +12 -0
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +12 -8
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +4 -4
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  77. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  78. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  79. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  80. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  81. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  84. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  85. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  86. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  88. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  89. package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
  90. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
  91. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
  92. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  93. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  94. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +2 -2
  110. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -29
  116. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  122. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  124. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  128. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  142. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -2
  144. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
  150. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js +25 -0
  152. package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js.nft.json +1 -0
  153. package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route_client-reference-manifest.js +1 -0
  154. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -26
  155. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  157. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +2 -2
  161. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  163. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  165. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/combos/presets/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  195. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
  257. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
  263. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  265. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  273. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  275. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js +1 -1
  277. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  283. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  289. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  293. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  295. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  297. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  299. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  301. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  303. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js +68 -0
  305. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js.nft.json +1 -0
  306. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route_client-reference-manifest.js +1 -0
  307. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  312. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  314. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
  316. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  318. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  320. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
  322. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  324. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  326. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  342. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  346. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  372. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  376. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  382. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  383. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  384. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/usage/stream/route.js +1 -1
  386. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  388. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  389. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  392. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  394. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  395. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  396. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  398. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  400. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  401. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  402. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  403. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  404. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  405. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
  406. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
  407. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  408. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  409. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  410. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  411. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  412. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  413. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  414. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  415. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  416. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  417. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  418. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  419. package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
  420. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  421. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  422. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  423. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  424. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  425. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  426. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  427. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  428. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  429. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  430. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  431. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  432. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  433. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  434. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  435. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  436. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  437. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  438. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  439. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  440. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  441. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  442. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  443. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  444. package/app/.next-cli-build/server/app/callback.html +1 -1
  445. package/app/.next-cli-build/server/app/callback.rsc +5 -5
  446. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  447. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  448. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +4 -4
  449. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  450. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  451. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +4 -4
  452. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  453. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  454. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  455. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  456. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +5 -5
  457. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  458. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  459. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  460. package/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
  461. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +4 -4
  462. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  463. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  464. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  465. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  466. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +6 -6
  467. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  468. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  469. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  470. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  471. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +4 -4
  472. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  473. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  474. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  475. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  476. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +5 -5
  477. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  478. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  479. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  480. package/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  481. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +4 -4
  482. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  483. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  484. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  485. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  486. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +4 -4
  487. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  488. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  489. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  490. package/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  491. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +4 -4
  492. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  493. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  494. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  495. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  496. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +5 -5
  497. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  498. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  499. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  500. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
  501. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +4 -4
  502. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
  503. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  504. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  505. package/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
  506. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +5 -5
  507. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  508. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  509. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  510. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  511. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  512. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  513. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  514. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  515. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  516. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +4 -4
  517. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  518. package/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
  519. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +4 -4
  520. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
  521. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  522. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  523. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
  524. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +5 -5
  525. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
  526. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  527. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  528. package/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  529. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +4 -4
  530. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  531. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  532. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  533. package/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  534. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +4 -4
  535. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  536. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  537. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  538. package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  539. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +6 -6
  540. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  541. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  542. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  543. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  544. package/app/.next-cli-build/server/app/favicon.ico.body +0 -0
  545. package/app/.next-cli-build/server/app/index.html +1 -1
  546. package/app/.next-cli-build/server/app/index.rsc +5 -5
  547. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  548. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
  549. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  550. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  551. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  552. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  553. package/app/.next-cli-build/server/app/landing.html +1 -1
  554. package/app/.next-cli-build/server/app/landing.rsc +6 -6
  555. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  556. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  557. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +5 -5
  558. package/app/.next-cli-build/server/app/login/page.js +1 -1
  559. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  560. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  561. package/app/.next-cli-build/server/app/login.html +1 -1
  562. package/app/.next-cli-build/server/app/login.rsc +5 -5
  563. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  564. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  565. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  566. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  567. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  568. package/app/.next-cli-build/server/app/page.js +1 -1
  569. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  570. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  571. package/app/.next-cli-build/server/app-paths-manifest.json +5 -3
  572. package/app/.next-cli-build/server/chunks/1757.js +25 -0
  573. package/app/.next-cli-build/server/chunks/238.js +1 -0
  574. package/app/.next-cli-build/server/chunks/24.js +1 -1
  575. package/app/.next-cli-build/server/chunks/3047.js +1 -0
  576. package/app/.next-cli-build/server/chunks/3593.js +2 -2
  577. package/app/.next-cli-build/server/chunks/3943.js +1 -1
  578. package/app/.next-cli-build/server/chunks/3966.js +1 -1
  579. package/app/.next-cli-build/server/chunks/4049.js +1 -1
  580. package/app/.next-cli-build/server/chunks/4055.js +2 -2
  581. package/app/.next-cli-build/server/chunks/412.js +1 -1
  582. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  583. package/app/.next-cli-build/server/chunks/4252.js +1 -0
  584. package/app/.next-cli-build/server/chunks/436.js +1 -1
  585. package/app/.next-cli-build/server/chunks/4663.js +1 -1
  586. package/app/.next-cli-build/server/chunks/4739.js +2 -2
  587. package/app/.next-cli-build/server/chunks/4780.js +2 -2
  588. package/app/.next-cli-build/server/chunks/4872.js +1 -0
  589. package/app/.next-cli-build/server/chunks/507.js +2 -2
  590. package/app/.next-cli-build/server/chunks/5217.js +2 -2
  591. package/app/.next-cli-build/server/chunks/5258.js +2 -2
  592. package/app/.next-cli-build/server/chunks/5299.js +20 -19
  593. package/app/.next-cli-build/server/chunks/5330.js +7 -7
  594. package/app/.next-cli-build/server/chunks/5500.js +1 -1
  595. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  596. package/app/.next-cli-build/server/chunks/5946.js +2 -2
  597. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  598. package/app/.next-cli-build/server/chunks/615.js +1 -1
  599. package/app/.next-cli-build/server/chunks/6249.js +2 -2
  600. package/app/.next-cli-build/server/chunks/{4037.js → 6540.js} +1 -1
  601. package/app/.next-cli-build/server/chunks/6763.js +1 -1
  602. package/app/.next-cli-build/server/chunks/6922.js +1 -1
  603. package/app/.next-cli-build/server/chunks/698.js +2 -2
  604. package/app/.next-cli-build/server/chunks/7037.js +1 -1
  605. package/app/.next-cli-build/server/chunks/7211.js +1 -1
  606. package/app/.next-cli-build/server/chunks/7247.js +1 -1
  607. package/app/.next-cli-build/server/chunks/7285.js +1 -0
  608. package/app/.next-cli-build/server/chunks/7552.js +1 -0
  609. package/app/.next-cli-build/server/chunks/7716.js +1 -1
  610. package/app/.next-cli-build/server/chunks/7965.js +2 -2
  611. package/app/.next-cli-build/server/chunks/8251.js +1 -0
  612. package/app/.next-cli-build/server/chunks/827.js +1 -1
  613. package/app/.next-cli-build/server/chunks/8402.js +1 -1
  614. package/app/.next-cli-build/server/chunks/8416.js +1 -1
  615. package/app/.next-cli-build/server/chunks/8499.js +3 -3
  616. package/app/.next-cli-build/server/chunks/8520.js +2 -2
  617. package/app/.next-cli-build/server/chunks/8635.js +1 -1
  618. package/app/.next-cli-build/server/chunks/869.js +1 -1
  619. package/app/.next-cli-build/server/chunks/8895.js +5 -5
  620. package/app/.next-cli-build/server/chunks/8920.js +1 -1
  621. package/app/.next-cli-build/server/chunks/9100.js +21 -0
  622. package/app/.next-cli-build/server/chunks/915.js +2 -2
  623. package/app/.next-cli-build/server/chunks/936.js +1 -0
  624. package/app/.next-cli-build/server/chunks/9378.js +1 -0
  625. package/app/.next-cli-build/server/chunks/9604.js +1 -0
  626. package/app/.next-cli-build/server/chunks/9696.js +7 -0
  627. package/app/.next-cli-build/server/instrumentation.js +1 -1
  628. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  629. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  630. package/app/.next-cli-build/server/middleware.js +4 -4
  631. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  632. package/app/.next-cli-build/server/pages/404.html +1 -1
  633. package/app/.next-cli-build/server/pages/500.html +1 -1
  634. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  635. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  636. package/app/.next-cli-build/static/chunks/1321-10507ce87a2d1e74.js +1 -0
  637. package/app/.next-cli-build/static/chunks/{2694-a1e5a15b567b3016.js → 2694-fa4a038c7addaf24.js} +2 -2
  638. package/app/.next-cli-build/static/chunks/5497-3353154ebc0a5eb1.js +7 -0
  639. package/app/.next-cli-build/static/chunks/761-14e8dc284c182522.js +125 -0
  640. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-5c93b8979ef66e54.js → page-99efb86d0bd7063d.js} +15 -11
  641. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-3ec2eae580cfd6e9.js +27 -0
  642. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-d61c6b11bb916a3c.js +4 -0
  643. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-c2e6b6ae60d66ee6.js +1 -0
  644. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-4b073ba7273cde14.js +1 -0
  645. package/app/.next-cli-build/static/chunks/app/_global-error/page-7ee9602010473e2d.js +1 -0
  646. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-7ee9602010473e2d.js +1 -0
  647. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-7ee9602010473e2d.js +1 -0
  648. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-7ee9602010473e2d.js +1 -0
  649. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-7ee9602010473e2d.js +1 -0
  650. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-7ee9602010473e2d.js +1 -0
  651. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-7ee9602010473e2d.js +1 -0
  652. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-7ee9602010473e2d.js +1 -0
  653. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-7ee9602010473e2d.js +1 -0
  654. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-7ee9602010473e2d.js +1 -0
  655. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-7ee9602010473e2d.js +1 -0
  656. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-7ee9602010473e2d.js +1 -0
  657. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-7ee9602010473e2d.js +1 -0
  658. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-7ee9602010473e2d.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-7ee9602010473e2d.js +1 -0
  660. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-7ee9602010473e2d.js +1 -0
  661. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-7ee9602010473e2d.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-7ee9602010473e2d.js +1 -0
  663. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-7ee9602010473e2d.js +1 -0
  664. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-7ee9602010473e2d.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-7ee9602010473e2d.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-7ee9602010473e2d.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-7ee9602010473e2d.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-7ee9602010473e2d.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-7ee9602010473e2d.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-7ee9602010473e2d.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-7ee9602010473e2d.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-7ee9602010473e2d.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-7ee9602010473e2d.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-7ee9602010473e2d.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-profiles/route-7ee9602010473e2d.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-7ee9602010473e2d.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-7ee9602010473e2d.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-7ee9602010473e2d.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-7ee9602010473e2d.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-7ee9602010473e2d.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-7ee9602010473e2d.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-7ee9602010473e2d.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-7ee9602010473e2d.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-7ee9602010473e2d.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-7ee9602010473e2d.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/combos/route-7ee9602010473e2d.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-7ee9602010473e2d.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-7ee9602010473e2d.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-7ee9602010473e2d.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-7ee9602010473e2d.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-7ee9602010473e2d.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-7ee9602010473e2d.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/health/route-7ee9602010473e2d.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/init/route-7ee9602010473e2d.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-7ee9602010473e2d.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/keys/route-7ee9602010473e2d.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/locale/route-7ee9602010473e2d.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-7ee9602010473e2d.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-7ee9602010473e2d.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-7ee9602010473e2d.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-7ee9602010473e2d.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-7ee9602010473e2d.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-7ee9602010473e2d.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-7ee9602010473e2d.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-7ee9602010473e2d.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-7ee9602010473e2d.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-7ee9602010473e2d.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-7ee9602010473e2d.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-7ee9602010473e2d.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/models/route-7ee9602010473e2d.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/models/test/route-7ee9602010473e2d.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-7ee9602010473e2d.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-7ee9602010473e2d.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-7ee9602010473e2d.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-7ee9602010473e2d.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-7ee9602010473e2d.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-7ee9602010473e2d.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-7ee9602010473e2d.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-7ee9602010473e2d.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-7ee9602010473e2d.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-7ee9602010473e2d.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-7ee9602010473e2d.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-7ee9602010473e2d.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-7ee9602010473e2d.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-7ee9602010473e2d.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-7ee9602010473e2d.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-7ee9602010473e2d.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/start/route-7ee9602010473e2d.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/status/route-7ee9602010473e2d.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-7ee9602010473e2d.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-7ee9602010473e2d.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/pricing/route-7ee9602010473e2d.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-7ee9602010473e2d.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-7ee9602010473e2d.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-7ee9602010473e2d.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-7ee9602010473e2d.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/overrides/route-7ee9602010473e2d.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-7ee9602010473e2d.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-7ee9602010473e2d.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-7ee9602010473e2d.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-7ee9602010473e2d.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-7ee9602010473e2d.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/providers/route-7ee9602010473e2d.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-7ee9602010473e2d.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-7ee9602010473e2d.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-7ee9602010473e2d.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-7ee9602010473e2d.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-7ee9602010473e2d.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-7ee9602010473e2d.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-7ee9602010473e2d.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/netlify-deploy/route-7ee9602010473e2d.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-7ee9602010473e2d.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-7ee9602010473e2d.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-7ee9602010473e2d.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-7ee9602010473e2d.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-7ee9602010473e2d.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-7ee9602010473e2d.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-7ee9602010473e2d.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-7ee9602010473e2d.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-7ee9602010473e2d.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-7ee9602010473e2d.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-7ee9602010473e2d.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-7ee9602010473e2d.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-7ee9602010473e2d.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/settings/route-7ee9602010473e2d.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-7ee9602010473e2d.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/tags/route-7ee9602010473e2d.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-7ee9602010473e2d.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-7ee9602010473e2d.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-7ee9602010473e2d.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-7ee9602010473e2d.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-7ee9602010473e2d.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-7ee9602010473e2d.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-7ee9602010473e2d.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-7ee9602010473e2d.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-7ee9602010473e2d.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-7ee9602010473e2d.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-7ee9602010473e2d.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-7ee9602010473e2d.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-7ee9602010473e2d.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-7ee9602010473e2d.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-7ee9602010473e2d.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-7ee9602010473e2d.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-7ee9602010473e2d.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-7ee9602010473e2d.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-7ee9602010473e2d.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-7ee9602010473e2d.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-7ee9602010473e2d.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-7ee9602010473e2d.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-7ee9602010473e2d.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-7ee9602010473e2d.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-7ee9602010473e2d.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-7ee9602010473e2d.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-7ee9602010473e2d.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-7ee9602010473e2d.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-7ee9602010473e2d.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-7ee9602010473e2d.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-7ee9602010473e2d.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-7ee9602010473e2d.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-7ee9602010473e2d.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-7ee9602010473e2d.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-7ee9602010473e2d.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-7ee9602010473e2d.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-7ee9602010473e2d.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-7ee9602010473e2d.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/v1/route-7ee9602010473e2d.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-7ee9602010473e2d.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-7ee9602010473e2d.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-7ee9602010473e2d.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-7ee9602010473e2d.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-7ee9602010473e2d.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-7ee9602010473e2d.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-7ee9602010473e2d.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-7ee9602010473e2d.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-7ee9602010473e2d.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/version/route-7ee9602010473e2d.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-7ee9602010473e2d.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/version/update/route-7ee9602010473e2d.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/landing/page-d95764e0f3861cfe.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-7ee9602010473e2d.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/page-7ee9602010473e2d.js +1 -0
  822. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-7ee9602010473e2d.js +1 -0
  823. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-7ee9602010473e2d.js +1 -0
  824. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-7ee9602010473e2d.js +1 -0
  825. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-7ee9602010473e2d.js +1 -0
  826. package/app/.next-cli-build/static/css/1b93179163bad564.css +1 -0
  827. package/app/.next-cli-build/static/eXoiEKu5yWZkk7npUXFrc/_buildManifest.js +1 -0
  828. package/app/cli/.build-home/AppData/Roaming/67router/db/backups/schema-1-to-2-1.0.1-20261009-073855/data.sqlite +0 -0
  829. package/app/cli/.build-home/AppData/Roaming/67router/db/data.sqlite-shm +0 -0
  830. package/app/cli/.build-home/AppData/Roaming/67router/db/data.sqlite-wal +0 -0
  831. package/app/node_modules/@aws/lambda-invoke-store/dist-cjs/invoke-store.js +131 -0
  832. package/app/node_modules/@aws/lambda-invoke-store/package.json +55 -0
  833. package/app/node_modules/@aws-sdk/core/client.js +5 -0
  834. package/app/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +984 -0
  835. package/app/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +349 -0
  836. package/app/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +2949 -0
  837. package/app/node_modules/@aws-sdk/core/httpAuthSchemes.js +5 -0
  838. package/app/node_modules/@aws-sdk/core/package.json +146 -0
  839. package/app/node_modules/@aws-sdk/core/protocols.js +5 -0
  840. package/app/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-cjs/index.js +202 -0
  841. package/app/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-cjs/loadCognitoIdentity-v413cIIq.js +4 -0
  842. package/app/node_modules/@aws-sdk/credential-provider-cognito-identity/package.json +59 -0
  843. package/app/node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js +39 -0
  844. package/app/node_modules/@aws-sdk/credential-provider-env/package.json +63 -0
  845. package/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js +179 -0
  846. package/app/node_modules/@aws-sdk/credential-provider-http/package.json +75 -0
  847. package/app/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +229 -0
  848. package/app/node_modules/@aws-sdk/credential-provider-ini/package.json +73 -0
  849. package/app/node_modules/@aws-sdk/credential-provider-login/dist-cjs/index.js +290 -0
  850. package/app/node_modules/@aws-sdk/credential-provider-login/package.json +66 -0
  851. package/app/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +166 -0
  852. package/app/node_modules/@aws-sdk/credential-provider-node/package.json +71 -0
  853. package/app/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js +76 -0
  854. package/app/node_modules/@aws-sdk/credential-provider-process/package.json +63 -0
  855. package/app/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js +192 -0
  856. package/app/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/loadSso-BGYXHf8s.js +3 -0
  857. package/app/node_modules/@aws-sdk/credential-provider-sso/package.json +67 -0
  858. package/app/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js +58 -0
  859. package/app/node_modules/@aws-sdk/credential-provider-web-identity/package.json +71 -0
  860. package/app/node_modules/@aws-sdk/credential-providers/dist-cjs/index.js +284 -0
  861. package/app/node_modules/@aws-sdk/credential-providers/dist-cjs/loadSts-C4jOcYxJ.js +3 -0
  862. package/app/node_modules/@aws-sdk/credential-providers/package.json +85 -0
  863. package/app/node_modules/@aws-sdk/nested-clients/cognito-identity.js +5 -0
  864. package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +616 -0
  865. package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +590 -0
  866. package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +468 -0
  867. package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +674 -0
  868. package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +881 -0
  869. package/app/node_modules/@aws-sdk/nested-clients/package.json +121 -0
  870. package/app/node_modules/@aws-sdk/nested-clients/signin.js +5 -0
  871. package/app/node_modules/@aws-sdk/nested-clients/sso-oidc.js +5 -0
  872. package/app/node_modules/@aws-sdk/nested-clients/sso.js +5 -0
  873. package/app/node_modules/@aws-sdk/nested-clients/sts.js +5 -0
  874. package/app/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js +155 -0
  875. package/app/node_modules/@aws-sdk/signature-v4-multi-region/package.json +60 -0
  876. package/app/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +158 -0
  877. package/app/node_modules/@aws-sdk/token-providers/package.json +69 -0
  878. package/app/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js +372 -0
  879. package/app/node_modules/@aws-sdk/xml-builder/package.json +63 -0
  880. package/app/node_modules/@smithy/core/cbor.js +5 -0
  881. package/app/node_modules/@smithy/core/checksum.js +5 -0
  882. package/app/node_modules/@smithy/core/client.js +5 -0
  883. package/app/node_modules/@smithy/core/config.js +5 -0
  884. package/app/node_modules/@smithy/core/dist-cjs/index.js +344 -0
  885. package/app/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +2550 -0
  886. package/app/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.js +577 -0
  887. package/app/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +1200 -0
  888. package/app/node_modules/@smithy/core/dist-cjs/submodules/config/index.js +779 -0
  889. package/app/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +879 -0
  890. package/app/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +924 -0
  891. package/app/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +1099 -0
  892. package/app/node_modules/@smithy/core/dist-cjs/submodules/retry/index.js +848 -0
  893. package/app/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +709 -0
  894. package/app/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +1765 -0
  895. package/app/node_modules/@smithy/core/dist-cjs/submodules/transport/index.js +189 -0
  896. package/app/node_modules/@smithy/core/endpoints.js +5 -0
  897. package/app/node_modules/@smithy/core/event-streams.js +5 -0
  898. package/app/node_modules/@smithy/core/package.json +258 -0
  899. package/app/node_modules/@smithy/core/protocols.js +5 -0
  900. package/app/node_modules/@smithy/core/retry.js +5 -0
  901. package/app/node_modules/@smithy/core/schema.js +5 -0
  902. package/app/node_modules/@smithy/core/serde.js +5 -0
  903. package/app/node_modules/@smithy/core/transport.js +5 -0
  904. package/app/node_modules/@smithy/credential-provider-imds/dist-cjs/index.js +370 -0
  905. package/app/node_modules/@smithy/credential-provider-imds/package.json +57 -0
  906. package/app/node_modules/@smithy/node-http-handler/dist-cjs/index.js +859 -0
  907. package/app/node_modules/@smithy/node-http-handler/package.json +56 -0
  908. package/app/node_modules/@smithy/signature-v4/dist-cjs/index.js +585 -0
  909. package/app/node_modules/@smithy/signature-v4/package.json +53 -0
  910. package/app/node_modules/@smithy/types/dist-cjs/index.js +96 -0
  911. package/app/node_modules/@smithy/types/package.json +50 -0
  912. package/app/node_modules/bowser/es5.js +1 -0
  913. package/app/node_modules/bowser/package.json +93 -0
  914. package/app/package.json +4 -1
  915. package/app/public/providers/bedrock-xai.png +0 -0
  916. package/app/public/providers/bedrock.png +0 -0
  917. package/app/server.js +1 -1
  918. package/app/src/mitm/server.js +24 -24
  919. package/cli.js +9 -6
  920. package/package.json +1 -1
  921. package/src/cli/api/client.js +17 -4
  922. package/src/cli/commands/connect.js +156 -16
  923. package/src/cli/commands/connectTools.js +282 -21
  924. package/src/cli/commands/show.js +101 -0
  925. package/src/cli/menus/cliTools.js +116 -17
  926. package/src/cli/menus/combos.js +9 -2
  927. package/src/cli/menus/providers.js +8 -0
  928. package/src/cli/tray/autostart.js +2 -2
  929. package/src/cli/tray/icon.ico +0 -0
  930. package/src/cli/tray/icon.png +0 -0
  931. package/src/cli/tray/tray.js +7 -7
  932. package/src/cli/tray/tray.ps1 +1 -1
  933. package/src/cli/utils/comboModelId.js +10 -0
  934. package/app/.next-cli-build/server/chunks/1731.js +0 -1
  935. package/app/.next-cli-build/server/chunks/4572.js +0 -1
  936. package/app/.next-cli-build/server/chunks/458.js +0 -1
  937. package/app/.next-cli-build/server/chunks/4850.js +0 -1
  938. package/app/.next-cli-build/server/chunks/4884.js +0 -21
  939. package/app/.next-cli-build/server/chunks/5524.js +0 -1
  940. package/app/.next-cli-build/server/chunks/5670.js +0 -1
  941. package/app/.next-cli-build/server/chunks/700.js +0 -1
  942. package/app/.next-cli-build/server/chunks/7220.js +0 -1
  943. package/app/.next-cli-build/server/chunks/9128.js +0 -1
  944. package/app/.next-cli-build/static/chunks/1321-c545acd5fe356d7b.js +0 -1
  945. package/app/.next-cli-build/static/chunks/5497-1564aeaafa84c485.js +0 -7
  946. package/app/.next-cli-build/static/chunks/761-620fbf946f547a62.js +0 -124
  947. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-319aa3378d3ab380.js +0 -27
  948. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-2476e19d152dd091.js +0 -4
  949. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-9f91a799bf128657.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-49a84b0cda78a0cb.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/_global-error/page-11746d5d6532f1f0.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-11746d5d6532f1f0.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-11746d5d6532f1f0.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-11746d5d6532f1f0.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-11746d5d6532f1f0.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-11746d5d6532f1f0.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-11746d5d6532f1f0.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-11746d5d6532f1f0.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-11746d5d6532f1f0.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-11746d5d6532f1f0.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-11746d5d6532f1f0.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-11746d5d6532f1f0.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-11746d5d6532f1f0.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-11746d5d6532f1f0.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-11746d5d6532f1f0.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-11746d5d6532f1f0.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-11746d5d6532f1f0.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-11746d5d6532f1f0.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-11746d5d6532f1f0.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-11746d5d6532f1f0.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-11746d5d6532f1f0.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-11746d5d6532f1f0.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-11746d5d6532f1f0.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-11746d5d6532f1f0.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-11746d5d6532f1f0.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-11746d5d6532f1f0.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-11746d5d6532f1f0.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-11746d5d6532f1f0.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-11746d5d6532f1f0.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-11746d5d6532f1f0.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-11746d5d6532f1f0.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-11746d5d6532f1f0.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-11746d5d6532f1f0.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-11746d5d6532f1f0.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-11746d5d6532f1f0.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-11746d5d6532f1f0.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-11746d5d6532f1f0.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-11746d5d6532f1f0.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-11746d5d6532f1f0.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-11746d5d6532f1f0.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/combos/route-11746d5d6532f1f0.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-11746d5d6532f1f0.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-11746d5d6532f1f0.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-11746d5d6532f1f0.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-11746d5d6532f1f0.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-11746d5d6532f1f0.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-11746d5d6532f1f0.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/health/route-11746d5d6532f1f0.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/init/route-11746d5d6532f1f0.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-11746d5d6532f1f0.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/keys/route-11746d5d6532f1f0.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/locale/route-11746d5d6532f1f0.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-11746d5d6532f1f0.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-11746d5d6532f1f0.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-11746d5d6532f1f0.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-11746d5d6532f1f0.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-11746d5d6532f1f0.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-11746d5d6532f1f0.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-11746d5d6532f1f0.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-11746d5d6532f1f0.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-11746d5d6532f1f0.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-11746d5d6532f1f0.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-11746d5d6532f1f0.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-11746d5d6532f1f0.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/models/route-11746d5d6532f1f0.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/models/test/route-11746d5d6532f1f0.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-11746d5d6532f1f0.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-11746d5d6532f1f0.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-11746d5d6532f1f0.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-11746d5d6532f1f0.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-11746d5d6532f1f0.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-11746d5d6532f1f0.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-11746d5d6532f1f0.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-11746d5d6532f1f0.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-11746d5d6532f1f0.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-11746d5d6532f1f0.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-11746d5d6532f1f0.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-11746d5d6532f1f0.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-11746d5d6532f1f0.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-11746d5d6532f1f0.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-11746d5d6532f1f0.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-11746d5d6532f1f0.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/start/route-11746d5d6532f1f0.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/status/route-11746d5d6532f1f0.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-11746d5d6532f1f0.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-11746d5d6532f1f0.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/api/pricing/route-11746d5d6532f1f0.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-11746d5d6532f1f0.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-11746d5d6532f1f0.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-11746d5d6532f1f0.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-11746d5d6532f1f0.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/overrides/route-11746d5d6532f1f0.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-11746d5d6532f1f0.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-11746d5d6532f1f0.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-11746d5d6532f1f0.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-11746d5d6532f1f0.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-11746d5d6532f1f0.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/app/api/providers/route-11746d5d6532f1f0.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-11746d5d6532f1f0.js +0 -1
  1050. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-11746d5d6532f1f0.js +0 -1
  1051. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-11746d5d6532f1f0.js +0 -1
  1052. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-11746d5d6532f1f0.js +0 -1
  1053. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-11746d5d6532f1f0.js +0 -1
  1054. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-11746d5d6532f1f0.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-11746d5d6532f1f0.js +0 -1
  1056. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-11746d5d6532f1f0.js +0 -1
  1057. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-11746d5d6532f1f0.js +0 -1
  1058. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-11746d5d6532f1f0.js +0 -1
  1059. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-11746d5d6532f1f0.js +0 -1
  1060. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-11746d5d6532f1f0.js +0 -1
  1061. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-11746d5d6532f1f0.js +0 -1
  1062. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-11746d5d6532f1f0.js +0 -1
  1063. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-11746d5d6532f1f0.js +0 -1
  1064. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-11746d5d6532f1f0.js +0 -1
  1065. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-11746d5d6532f1f0.js +0 -1
  1066. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-11746d5d6532f1f0.js +0 -1
  1067. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-11746d5d6532f1f0.js +0 -1
  1068. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-11746d5d6532f1f0.js +0 -1
  1069. package/app/.next-cli-build/static/chunks/app/api/settings/route-11746d5d6532f1f0.js +0 -1
  1070. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-11746d5d6532f1f0.js +0 -1
  1071. package/app/.next-cli-build/static/chunks/app/api/tags/route-11746d5d6532f1f0.js +0 -1
  1072. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-11746d5d6532f1f0.js +0 -1
  1073. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-11746d5d6532f1f0.js +0 -1
  1074. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-11746d5d6532f1f0.js +0 -1
  1075. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-11746d5d6532f1f0.js +0 -1
  1076. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-11746d5d6532f1f0.js +0 -1
  1077. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-11746d5d6532f1f0.js +0 -1
  1078. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-11746d5d6532f1f0.js +0 -1
  1079. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-11746d5d6532f1f0.js +0 -1
  1080. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-11746d5d6532f1f0.js +0 -1
  1081. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-11746d5d6532f1f0.js +0 -1
  1082. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-11746d5d6532f1f0.js +0 -1
  1083. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-11746d5d6532f1f0.js +0 -1
  1084. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-11746d5d6532f1f0.js +0 -1
  1085. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-11746d5d6532f1f0.js +0 -1
  1086. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-11746d5d6532f1f0.js +0 -1
  1087. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-11746d5d6532f1f0.js +0 -1
  1088. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-11746d5d6532f1f0.js +0 -1
  1089. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-11746d5d6532f1f0.js +0 -1
  1090. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-11746d5d6532f1f0.js +0 -1
  1091. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-11746d5d6532f1f0.js +0 -1
  1092. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-11746d5d6532f1f0.js +0 -1
  1093. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-11746d5d6532f1f0.js +0 -1
  1094. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-11746d5d6532f1f0.js +0 -1
  1095. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-11746d5d6532f1f0.js +0 -1
  1096. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-11746d5d6532f1f0.js +0 -1
  1097. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-11746d5d6532f1f0.js +0 -1
  1098. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-11746d5d6532f1f0.js +0 -1
  1099. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-11746d5d6532f1f0.js +0 -1
  1100. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-11746d5d6532f1f0.js +0 -1
  1101. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-11746d5d6532f1f0.js +0 -1
  1102. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-11746d5d6532f1f0.js +0 -1
  1103. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-11746d5d6532f1f0.js +0 -1
  1104. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-11746d5d6532f1f0.js +0 -1
  1105. package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-11746d5d6532f1f0.js +0 -1
  1106. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-11746d5d6532f1f0.js +0 -1
  1107. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-11746d5d6532f1f0.js +0 -1
  1108. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-11746d5d6532f1f0.js +0 -1
  1109. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-11746d5d6532f1f0.js +0 -1
  1110. package/app/.next-cli-build/static/chunks/app/api/v1/route-11746d5d6532f1f0.js +0 -1
  1111. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-11746d5d6532f1f0.js +0 -1
  1112. package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-11746d5d6532f1f0.js +0 -1
  1113. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-11746d5d6532f1f0.js +0 -1
  1114. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-11746d5d6532f1f0.js +0 -1
  1115. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-11746d5d6532f1f0.js +0 -1
  1116. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-11746d5d6532f1f0.js +0 -1
  1117. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-11746d5d6532f1f0.js +0 -1
  1118. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-11746d5d6532f1f0.js +0 -1
  1119. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-11746d5d6532f1f0.js +0 -1
  1120. package/app/.next-cli-build/static/chunks/app/api/version/route-11746d5d6532f1f0.js +0 -1
  1121. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-11746d5d6532f1f0.js +0 -1
  1122. package/app/.next-cli-build/static/chunks/app/api/version/update/route-11746d5d6532f1f0.js +0 -1
  1123. package/app/.next-cli-build/static/chunks/app/landing/page-26c6c887a10d753f.js +0 -1
  1124. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-11746d5d6532f1f0.js +0 -1
  1125. package/app/.next-cli-build/static/chunks/app/page-11746d5d6532f1f0.js +0 -1
  1126. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-11746d5d6532f1f0.js +0 -1
  1127. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-11746d5d6532f1f0.js +0 -1
  1128. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-11746d5d6532f1f0.js +0 -1
  1129. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-11746d5d6532f1f0.js +0 -1
  1130. package/app/.next-cli-build/static/css/820ca25fc8556f66.css +0 -1
  1131. package/app/.next-cli-build/static/ghb3xq22SZISfX5LQ5iP2/_buildManifest.js +0 -1
  1132. /package/app/.next-cli-build/static/{ghb3xq22SZISfX5LQ5iP2 → eXoiEKu5yWZkk7npUXFrc}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=8520,exports.ids=[8520],exports.modules={63775:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=1,e=`
1
+ "use strict";exports.id=8520,exports.ids=[8520],exports.modules={63775:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=2,e=`
2
2
  PRAGMA journal_mode = WAL;
3
3
  PRAGMA synchronous = NORMAL;
4
4
  PRAGMA temp_store = MEMORY;
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},88520:(a,b,c)=>{c.d(b,{createNodeSqliteAdapter:()=>e});var d=c(63775);async function e(a){let b=process.emit;process.emit=function(a,c,...d){return!("warning"===a&&c?.name==="ExperimentalWarning"&&/SQLite/i.test(c.message||""))&&b.call(process,a,c,...d)};let e=new(await Promise.resolve().then(c.t.bind(c,79868,23))).DatabaseSync(a);e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"node:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction(a){let b=`sp_${Math.random().toString(36).slice(2)}`;e.exec(`SAVEPOINT ${b}`);try{let c=a();return e.exec(`RELEASE ${b}`),c}catch(a){try{e.exec(`ROLLBACK TO ${b}`),e.exec(`RELEASE ${b}`)}catch{}throw a}},checkpoint(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(h),i()},raw:e}}}};
9
+ `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL",accessRestricted:"INTEGER DEFAULT 0",accessAllow:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},88520:(a,b,c)=>{c.d(b,{createNodeSqliteAdapter:()=>e});var d=c(63775);async function e(a){let b=process.emit;process.emit=function(a,c,...d){return!("warning"===a&&c?.name==="ExperimentalWarning"&&/SQLite/i.test(c.message||""))&&b.call(process,a,c,...d)};let e=new(await Promise.resolve().then(c.t.bind(c,79868,23))).DatabaseSync(a);e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"node:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction(a){let b=`sp_${Math.random().toString(36).slice(2)}`;e.exec(`SAVEPOINT ${b}`);try{let c=a();return e.exec(`RELEASE ${b}`),c}catch(a){try{e.exec(`ROLLBACK TO ${b}`),e.exec(`RELEASE ${b}`)}catch{}throw a}},checkpoint(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(h),i()},raw:e}}}};
@@ -1,3 +1,3 @@
1
- "use strict";exports.id=8635,exports.ids=[8635],exports.modules={3894:(a,b,c)=>{c.d(b,{F_:()=>g,Nc:()=>h,Qh:()=>t,Su:()=>q,ag:()=>o,kI:()=>p,rl:()=>u,sy:()=>s});var d=c(79646),e=c(33873),f=c.n(e);let g=["code","ml"],h={code:["tree-sitter","tree-sitter-language-pack"],ml:["torch","huggingface-hub"]},i="win32"===process.platform,j=i?"where":"which",k=i?[`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python313\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python312\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python311\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python310\\Scripts`,`${process.env.APPDATA||""}\\Python\\Python313\\Scripts`]:["/usr/local/bin","/opt/homebrew/bin","/Library/Frameworks/Python.framework/Versions/3.13/bin","/Library/Frameworks/Python.framework/Versions/3.12/bin","/Library/Frameworks/Python.framework/Versions/3.11/bin","/Library/Frameworks/Python.framework/Versions/3.10/bin",`${process.env.HOME||""}/.local/bin`,"/usr/bin","/bin"],l=[...k,process.env.PATH||""].filter(Boolean).join(f().delimiter),m=["python3.13","python3.12","python3.11","python3.10","python3","python"],n=new Set(["localhost","127.0.0.1","::1","[::1]","0.0.0.0"]),o=process.env.HEADROOM_URL||"http://localhost:8787";function p(){try{let a=(0,d.execSync)(`${j} headroom`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:l}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}function q(){let a=null;for(let b of function(){let a=[],b=p();if(b){let c=f().dirname(b);for(let b of i?["python.exe","python3.exe"]:["python3","python3.13","python"])a.push(f().join(c,b))}for(let b of k)if(b)for(let c of m)a.push(f().join(b,i?`${c}.exe`:c));return a.push(...m),a}())try{let c=(0,d.execSync)(`${b} --version`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:l}}).toString().trim().match(/(\d+)\.(\d+)/);if(!c)continue;let[e,f]=[parseInt(c[1],10),parseInt(c[2],10)];if(!(e>3||3===e&&f>=10))continue;a||(a=b);try{return(0,d.execFileSync)(b,["-m","pip","show","headroom-ai"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:l}}),b}catch{}}catch{}return a}async function r(a){if(!a)return!1;let b=String(a).replace(/\/$/,"");try{return(await fetch(`${b}/health`,{signal:AbortSignal.timeout(1500)})).ok}catch{return!1}}function s(a){try{let b=new URL(a);return n.has(b.hostname)}catch{return!1}}async function t(a){let b=p(),c=q(),d=!!b,e=await r(a),f=s(a),g=d?u(c):{installed:!1,version:null,extras:{code:!1,ml:!1}};return{installed:d,path:b,running:e,python:c,localUrl:f,canStart:d&&f,version:g.version,extras:g.extras}}function u(a){let b=a||q();if(!b)return{installed:!1,version:null,extras:{code:!1,ml:!1}};try{let a=(0,d.execFileSync)(b,["-m","pip","list","--format=json","--disable-pip-version-check"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:l}}).toString(),c=JSON.parse(a),e=new Set(c.map(a=>String(a.name||"").toLowerCase()));if(!e.has("headroom-ai"))return{installed:!1,version:null,extras:{code:!1,ml:!1}};let f=c.find(a=>a.name?.toLowerCase()==="headroom-ai")?.version||null,i={};for(let a of g)i[a]=h[a].some(a=>e.has(a));return{installed:!0,version:f,extras:i}}catch{return{installed:!1,version:null,extras:{code:!1,ml:!1}}}}},17603:(a,b,c)=>{c.d(b,{R8:()=>l,ar:()=>n,vB:()=>j});var d=c(24);let e=["vision","pdf","audioInput","videoInput"],f=new Set(e),g="oc/mimo-v2.6-flash-free",h=a=>"oc/mimo-v2.5-free"===a?g:a;function i(a,b){var c;let d=Array.isArray(c=b?.capacityAdapter?.[a])?{enabled:!0,roundRobin:!1,models:c.map(a=>h(a?.model||a)).filter(Boolean)}:c&&"object"==typeof c?{enabled:!1!==c.enabled,roundRobin:!!c.roundRobin,models:Array.isArray(c.models)?c.models.map(h).filter(Boolean):[]}:{enabled:!1,roundRobin:!1,models:[]};return d.enabled&&0===d.models.length?{...d,models:[g]}:d}function j(a,b){for(let c of[...a||[]].filter(a=>f.has(a))){let{enabled:a,models:d}=i(c,b);if(a&&0!==d.length)return function(a,b){let{enabled:c,roundRobin:d}=i(a,b);return c&&d?"round-robin":"fallback"}(c,b)}return"fallback"}function k(a,b){let c=a.indexOf("/"),e=c>0?a.slice(0,c):"",f=c>0?a.slice(c+1):a,g=(0,d.getCapabilitiesForModel)(e,f);return b.every(a=>!0===g[a])}function l(a,b,c){let d=[...b||[]].filter(a=>f.has(a));if(0===d.length||!Array.isArray(a)||0===a.length||a.some(a=>k(a,d)))return a;let g=(function(a){let b=new Set,c=[];for(let d of e){let{enabled:e,models:f}=i(d,a);if(e)for(let a of f)b.has(a)||(b.add(a),c.push(a))}return c})(c).filter(b=>!a.includes(b)&&k(b,d));return 0===g.length?a:[...g,...a]}function m(a){return"string"==typeof a?a.length:Array.isArray(a)?a.reduce((a,b)=>a+("string"==typeof b?.text?b.text.length:50),0):0}function n(a,b){let c=new Set(b);return 0===c.size?a:(b,e,...f)=>{if(c.has(e)){let a=e.indexOf("/"),c=a>0?e.slice(0,a):"",f=a>0?e.slice(a+1):e,{contextWindow:g}=(0,d.getCapabilitiesForModel)(c,f);b=function(a,b){let c=Array.isArray(a.messages)?"messages":Array.isArray(a.input)?"input":Array.isArray(a.contents)?"contents":null;if(!c)return a;let d=a[c];if(!d||0===d.length)return a;let e=a=>"system"===a||"developer"===a,f=d.filter(a=>e(a?.role)),g=d.filter(a=>!e(a?.role));if(0===g.length)return a;let h=a=>"assistant"===a||"model"===a,i=g.length-1;for(;i>=0&&!h(g[i]?.role);)i--;let j=g.slice(i+1),k=g.slice(0,i+1);if(0===k.length)return a;let l=a=>a.content??a.parts,n=.8*(b||2e5)*4,o=k.slice(0,6),p=f.concat(o,j).reduce((a,b)=>a+m(l(b)),0);for(;p>n&&o.length>0;)p-=m(l(o.pop()));return o.length===k.length?a:{...a,[c]:[...f,...o,...j]}}(b,g)}return a(b,e,...f)}}},38775:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>i});var d=c(89718),e=c(40669),f=c(458);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},h=new Set(Object.keys(g));for(let a of f.default)for(let b of(h.add(a.id),a.alias&&h.add(a.alias),a.aliases||[]))h.add(b);async function i(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){if(!h.has(c.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model}}return{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},46634:(a,b,c)=>{c.d(b,{Mo:()=>h,RG:()=>l,V:()=>i,Y8:()=>k,xl:()=>m});var d=c(1932),e=c(87155);let f=null,g=null;function h(){return f?{loaded:!0,version:f.version,loadedAt:f.loadedAt}:{loaded:!1}}async function i(){return f||g||(g=j().finally(()=>{g=null}))}async function j(){let a=(0,e.S1)();if(!a.installed){let a=Error("PXPIPE is not installed");throw a.code="NOT_INSTALLED",a}let b=`${(0,d.pathToFileURL)((0,e.CG)()).href}?v=${encodeURIComponent(a.version||"0")}`,c=await import(b);if("function"!=typeof c.transformAnthropicMessages)throw Error("installed pxpipe package does not export transformAnthropicMessages");return f={module:c,version:a.version,loadedAt:Date.now()}}function k(){let a=!!f;return f=null,a}async function l({autoLoad:a=!0}={}){try{if(!f&&!a)return null;let{module:b}=await i();return b.transformAnthropicMessages}catch{return null}}async function m(){let a=Date.now(),{module:b}=await i(),c=new TextEncoder().encode(JSON.stringify({model:"claude-fable-5",max_tokens:16,messages:[{role:"user",content:"ping"}]})),d=await b.transformAnthropicMessages({body:c,model:"claude-fable-5"});if(!d||"boolean"!=typeof d.applied||!(d.body instanceof Uint8Array))throw Error("transform returned an unexpected shape");return{ok:!0,reason:d.reason,durationMs:Date.now()-a}}},46945:(a,b,c)=>{c.d(b,{V:()=>e});let d=/\[1m\]$/i;function e(a){if("string"!=typeof a)return{model:a,contextMarker:null};let b=a.trim(),c=b.match(d);return c?{model:b.slice(0,-c[0].length),contextMarker:c[0].slice(1,-1).toLowerCase()}:{model:a,contextMarker:null}}},57247:(a,b,c)=>{c.d(b,{KC:()=>u,OA:()=>q,PROVIDER_MODELS:()=>f.vq,SM:()=>k,Xg:()=>t,cY:()=>v,ez:()=>p,fZ:()=>l,kt:()=>r,ux:()=>o});var d=c(35024),e=c(458),f=c(26070),g=c(99511),h=c(59096),i=c(14170);let j=a=>!a||["oc","opencode","ocg","opencode-go","ocz","opencode-zen"].includes(a);function k(a){return f.vq[a]||[]}function l(a){let b=f.vq[a];return b?.[0]?.id||null}let m=new Set(["kr","kiro"]);function n(a,b,c){if(!a)return;let d="string"==typeof b?b.replace(/\([^()]+\)\s*$/,"").trim():b,e=a.find(a=>a.id===b||a.id===d);if(e)return e;if(!m.has(c))return;let f=(0,g.Kq)(d);if(f!==d)return a.find(a=>a.id===f)}function o(a,b){if(j(a)&&(0,h.nh)(b))return i.h.OPENAI_RESPONSES;let c=f.vq[a];if(!c)return null;let d=n(c,b,a);return d?(0,g.gr)(d):j(a)&&(0,h.i8)(b)?.targetFormat||null}function p(a,b){let c=f.vq[a];if(!c)return null;let d=n(c,b,a);return d?(0,g.ec)(d):j(a)?(0,h.i8)(b)?.supportedFormats||[i.h.OPENAI]:null}function q(a,b){let c=f.vq[a];if(!c)return null;let d=n(c,b,a);return d?.kind||d?.type||null}function r(a,b){let c="string"==typeof b?b.match(/\([^()]+\)\s*$/):null,d=c?c[0]:"",e=d?b.slice(0,c.index).trim():b,g=n(f.vq[a],e,a),i=g?.upstreamModelId||g?.id;if(i){let a=i.match(/\([^()]+\)\s*$/),b=a?.[0]||"";return(b?i.slice(0,a.index).trim():i)+(d||b)}return"cx"===a&&"string"==typeof e&&e.endsWith(h.d5)?e.slice(0,-h.d5.length)+d:e+d}let s=Object.fromEntries(e.default.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),t=Object.fromEntries(Object.keys(d.xq).map(a=>[a,s[a]||a]));function u(a){let b=t[a]||a;return f.vq[b]||[]}function v(a,b){return(0,g.g5)(n(f.vq[a],b,a))}},74388:(a,b,c)=>{c.d(b,{Az:()=>l,SP:()=>o,T0:()=>k});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(87155);let i=g().join(h.XF,"events.jsonl"),j=g().join(h.XF,"events.jsonl.1");function k(a){try{e().existsSync(h.XF)||e().mkdirSync(h.XF,{recursive:!0});try{e().statSync(i).size>5242880&&e().renameSync(i,j)}catch{}e().appendFile(i,JSON.stringify({ts:Date.now(),...a})+"\n",()=>{})}catch{}}function l({sinceMs:a=null,limit:b=null}={}){let c=[];for(let b of[j,i])try{if(!e().existsSync(b))continue;for(let d of e().readFileSync(b,"utf8").split("\n"))if(d)try{let b=JSON.parse(d);if(a&&b.ts<a)continue;c.push(b)}catch{}}catch{}return c.sort((a,b)=>a.ts-b.ts),b?c.slice(-b):c}function m(){return{requests:0,compressed:0,bypassed:0,errors:0,tokensBeforeEst:0,tokensAfterEst:0,tokensSavedEst:0,savedPct:0,imagesGenerated:0,compressionTimeMs:0,avgCompressionMs:0}}function n(a,b){a.requests++,b.applied?(a.compressed++,a.tokensBeforeEst+=b.tokensBeforeEst||0,a.tokensAfterEst+=b.tokensAfterEst||0,a.tokensSavedEst+=b.tokensSavedEst||0,a.imagesGenerated+=b.imageCount||0,a.compressionTimeMs+=b.durationMs||0):"transform_error"===b.reason||"timeout"===b.reason?a.errors++:a.bypassed++}function o({timelineDays:a=30,recentLimit:b=100}={}){let c=l(),d=Date.now(),e=new Date(new Date(d).setHours(0,0,0,0)).getTime(),f={all:m(),today:m(),yesterday:m(),last7d:m(),last30d:m()},g=new Map;for(let b=a-1;b>=0;b--){let a=new Date(e-864e5*b);g.set(a.toISOString().slice(0,10),{date:a.toISOString().slice(0,10),tokensSavedEst:0,compressed:0,requests:0})}for(let a of c){n(f.all,a),a.ts>=e?n(f.today,a):a.ts>=e-864e5&&n(f.yesterday,a),a.ts>=d-6048e5&&n(f.last7d,a),a.ts>=d-2592e6&&n(f.last30d,a);let b=new Date(a.ts).toISOString().slice(0,10),c=g.get(b);c&&(c.requests++,a.applied&&(c.compressed++,c.tokensSavedEst+=a.tokensSavedEst||0))}for(let a of Object.values(f))a.savedPct=a.tokensBeforeEst>0?+(a.tokensSavedEst/a.tokensBeforeEst*100).toFixed(2):0,a.avgCompressionMs=a.compressed>0?Math.round(a.compressionTimeMs/a.compressed):0;return{windows:f,timeline:[...g.values()],recent:c.slice(-b).reverse()}}},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>z});var e=c(48895),f=c(80238),g=c(45974),h=c(89718),i=c(38775),j=c(92500),k=c(3894),l=c(46634),m=c(74388),n=c(43659),o=c(48136),p=c(18910),q=c(17603),r=c(27349),s=c(41004),t=c(14170),u=c(7803),v=c(67828),w=c(38160),x=c(46945),y=a([e,j]);async function z(a,b=null){let c;try{c=await a.json()}catch{return u.warn("CHAT","Invalid JSON body"),(0,n.yj)(s.gx.BAD_REQUEST,"Invalid JSON body")}b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())});let{model:d,contextMarker:e}=(0,x.V)(c.model);e&&(c.model=d);let g=a.headers.get("Authorization"),j=(0,f.Tr)(a);if(g&&j){let a=u.maskKey(j);u.debug("AUTH",`API Key: ${a}`)}else u.debug("AUTH","No API key provided (local mode)");let k=await (0,h.mt)();if(k.requireApiKey){if(!j)return u.warn("AUTH","Missing API key (requireApiKey=true)"),(0,n.yj)(s.gx.UNAUTHORIZED,"Missing API key");if(!await (0,f.kI)(j))return u.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,n.yj)(s.gx.UNAUTHORIZED,"Invalid API key")}if(!d)return u.warn("CHAT","Missing model"),(0,n.yj)(s.gx.BAD_REQUEST,"Missing model");let l=a?.headers?.get("user-agent")||"",m=(0,r.c)(c,d,l,!!k.ccFilterNaming);if(m)return m.response||m;let o=(0,p.t8)(c),t=await (0,i.d_)(d);if(t){let e=k.comboStrategies||{},f=e[d]?.fallbackStrategy||k.comboStrategy||"fallback",g=(0,q.R8)(t,o,k),h=g.filter(a=>!t.includes(a));if("fusion"===f)return u.info("CHAT",`Combo "${d}" with ${t.length} models (strategy: fusion)`),(0,p.vt)({body:c,models:t,handleSingleModel:(c,d,e)=>{let f=b;if(e&&b){let{tools:a,tool_choice:c,...d}=b.body||{};f={...b,body:d}}return A(c,d,f,a,j)},log:u,comboName:d,judgeModel:e[d]?.judgeModel,tuning:e[d]?.fusionTuning});let i=k.comboStickyRoundRobinLimit;return u.info("CHAT",`Combo "${d}" with ${g.length} models (strategy: ${f}, sticky: ${i})`),(0,p.Pr)({body:c,models:g,handleSingleModel:(0,q.ar)((c,d)=>A(c,d,b,a,j),h),log:u,comboName:d,comboStrategy:f,comboStickyLimit:i})}let v=(0,q.R8)([d],o,k);if(v.length>1){let e=v.filter(a=>a!==d);return u.info("CHAT",`Capacity adapter for [${[...o].join(",")}] on "${d}" → trying ${v.join(", ")}`),(0,p.Pr)({body:c,models:v,handleSingleModel:(0,q.ar)((c,d)=>A(c,d,b,a,j),e),log:u,comboName:d,comboStrategy:(0,q.vB)(o,k)})}return A(c,d,b,a,j,e?`${d.slice(d.indexOf("/")+1)}[${e}]`:null)}async function A(a,b,c=null,d=null,e=null,r=null){let x=await (0,i.mA)(b);if(!x.provider){let f=await (0,i.d_)(b);if(f){let g=await (0,h.mt)(),i=g.comboStrategies||{},j=i[b]?.fallbackStrategy||g.comboStrategy||"fallback",k=(0,p.t8)(a),l=(0,q.R8)(f,k,g),m=l.filter(a=>!f.includes(a));if("fusion"===j)return u.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: fusion)`),(0,p.vt)({body:a,models:f,handleSingleModel:(a,b,f)=>{let g=c;if(f&&c){let{tools:a,tool_choice:b,...d}=c.body||{};g={...c,body:d}}return A(a,b,g,d,e)},log:u,comboName:b,judgeModel:i[b]?.judgeModel,tuning:i[b]?.fusionTuning});let n=g.comboStickyRoundRobinLimit;return u.info("CHAT",`Combo "${b}" with ${l.length} models (strategy: ${j}, sticky: ${n})`),(0,p.Pr)({body:a,models:l,handleSingleModel:(0,q.ar)((a,b)=>A(a,b,c,d,e),m),log:u,comboName:b,comboStrategy:j,comboStickyLimit:n})}return u.warn("CHAT","Invalid model format",{model:b}),(0,n.yj)(s.gx.BAD_REQUEST,"Invalid model format")}let{provider:y,model:z}=x,B=d?.headers?.get("user-agent")||"",C=new Set,D=null,E=null,F=null;for(;;){let b=await (0,f.c1)(y,C,z,{requestedModel:r||z});if(!b||b.allRateLimited){if(b?.allRateLimited){let a=D||b.lastError||"Unavailable",c=s.gx.SERVICE_UNAVAILABLE;return u.warn("CHAT",`[${y}/${z}] ${a} (${b.retryAfterHuman})`),(0,n.wO)(c,`[${y}/${z}] ${a}`,b.retryAfter,b.retryAfterHuman,F)}if(0===C.size)return u.warn("AUTH",`No active credentials for provider: ${y}`),(0,n.yj)(s.gx.NOT_FOUND,`No active credentials for provider: ${y}`);return u.warn("CHAT","No more accounts available",{provider:y}),(0,n.yj)(E||s.gx.SERVICE_UNAVAILABLE,D||"All accounts unavailable",F)}let i=await (0,v.checkAndRefreshToken)(y,b);if(("antigravity"===y||"gemini-cli"===y)&&!i.projectId){let a=await (0,w.eG)(b.connectionId,i.accessToken,y);a&&(i.projectId=a,(0,v.vN)(b.connectionId,{projectId:a}).catch(()=>{}))}let p=await (0,h.mt)(),q=(p.providerThinking||{})[y]||null,x=await (0,j.wk)({body:{...a,model:`${y}/${z}`},modelInfo:{provider:y,model:z},credentials:i,log:u,clientRawRequest:c,connectionId:b.connectionId,userAgent:B,apiKey:e,ccFilterNaming:!!p.ccFilterNaming,rtkEnabled:!!p.rtkEnabled,headroomEnabled:!!p.headroomEnabled,headroomUrl:p.headroomUrl||k.ag,headroomCompressUserMessages:!!p.headroomCompressUserMessages,headroomTimeoutMs:p.headroomTimeoutMs,cavemanEnabled:!!p.cavemanEnabled,cavemanLevel:p.cavemanLevel||"full",ponytailEnabled:!!p.ponytailEnabled,ponytailLevel:p.ponytailLevel||"full",pxpipeEnabled:!!p.pxpipeEnabled,pxpipeMinChars:p.pxpipeMinChars,pxpipeTimeoutMs:p.pxpipeTimeoutMs,pxpipeTransform:p.pxpipeEnabled?await (0,l.RG)():null,onPxpipeEvent:m.T0,providerThinking:q,providerOverrides:(p.providerOverrides||{})[y]||null,sourceFormatOverride:d?.url?(0,t.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,v.vN)(b.connectionId,{...a,existingProviderSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(b.connectionId,b,z),(0,g.vO)(b.connectionId,z)}});if(x.success)return x.response;let A=null,G=x.resetsAtMs;if("antigravity"===y&&(409===x.status||429===x.status)&&(A=await (0,g.XJ)(b.connectionId,x.status,z,i.accessToken,b.providerSpecificData))&&(G=A),"antigravity"===y&&A||(await (0,f.vk)(b.connectionId,x.status,x.error,y,z,G)).shouldFallback){u.warn("FALLBACK",`⇄ ACC:${b.connectionName} UNAVAILABLE (${x.status}) → NEXT ACCOUNT`),C.add(b.connectionId),D=x.error,E=x.status,F=(0,o.d)(x.response?.headers);continue}return x.response}}[e,j]=y.then?(await y)():y,d()}catch(a){d(a)}})},87155:(a,b,c)=>{c.d(b,{CG:()=>q,ED:()=>u,S1:()=>s,XF:()=>j,_g:()=>t,no:()=>r,sW:()=>w});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(79646),i=c(49120);let j=g().join(i.n,"pxpipe"),k="pxpipe-proxy",l=g().join(j,"install.log"),m="win32"===process.platform,n=[...m?[`${process.env.ProgramFiles||""}\\nodejs`,`${process.env.APPDATA||""}\\npm`]:["/usr/local/bin","/opt/homebrew/bin",`${process.env.HOME||""}/.local/bin`,"/usr/bin","/bin"],process.env.PATH||""].filter(Boolean).join(g().delimiter),o=null;function p(){return g().join(j,"node_modules",k)}function q(){return g().join(p(),"dist","core","library.js")}function r(){try{let a=(0,h.execSync)(`${m?"where":"which"} npm`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:n}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}function s(){try{let a=g().join(p(),"package.json");if(!e().existsSync(a)||!e().existsSync(q()))return{installed:!1,version:null,path:null};let b=JSON.parse(e().readFileSync(a,"utf8"));return{installed:!0,version:b.version||null,path:p()}}catch{return{installed:!1,version:null,path:null}}}function t(){return null!==o}function u(){return o||(o=v().finally(()=>{o=null}))}async function v(){let a=r();if(!a){let a=Error("npm not found on PATH — Node.js/npm is required to install PXPIPE");throw a.code="NPM_NOT_FOUND",a}e().existsSync(j)||e().mkdirSync(j,{recursive:!0});let b=g().join(j,"package.json");e().existsSync(b)||e().writeFileSync(b,JSON.stringify({name:"9router-pxpipe-host",private:!0},null,2));let c=e().openSync(l,"a");e().writeSync(c,`
1
+ "use strict";exports.id=8635,exports.ids=[7247,8635],exports.modules={3894:(a,b,c)=>{c.d(b,{F_:()=>g,Nc:()=>h,Qh:()=>t,Su:()=>q,ag:()=>o,kI:()=>p,rl:()=>u,sy:()=>s});var d=c(79646),e=c(33873),f=c.n(e);let g=["code","ml"],h={code:["tree-sitter","tree-sitter-language-pack"],ml:["torch","huggingface-hub"]},i="win32"===process.platform,j=i?"where":"which",k=i?[`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python313\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python312\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python311\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python310\\Scripts`,`${process.env.APPDATA||""}\\Python\\Python313\\Scripts`]:["/usr/local/bin","/opt/homebrew/bin","/Library/Frameworks/Python.framework/Versions/3.13/bin","/Library/Frameworks/Python.framework/Versions/3.12/bin","/Library/Frameworks/Python.framework/Versions/3.11/bin","/Library/Frameworks/Python.framework/Versions/3.10/bin",`${process.env.HOME||""}/.local/bin`,"/usr/bin","/bin"],l=[...k,process.env.PATH||""].filter(Boolean).join(f().delimiter),m=["python3.13","python3.12","python3.11","python3.10","python3","python"],n=new Set(["localhost","127.0.0.1","::1","[::1]","0.0.0.0"]),o=process.env.HEADROOM_URL||"http://localhost:8787";function p(){try{let a=(0,d.execSync)(`${j} headroom`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:l}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}function q(){let a=null;for(let b of function(){let a=[],b=p();if(b){let c=f().dirname(b);for(let b of i?["python.exe","python3.exe"]:["python3","python3.13","python"])a.push(f().join(c,b))}for(let b of k)if(b)for(let c of m)a.push(f().join(b,i?`${c}.exe`:c));return a.push(...m),a}())try{let c=(0,d.execSync)(`${b} --version`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:l}}).toString().trim().match(/(\d+)\.(\d+)/);if(!c)continue;let[e,f]=[parseInt(c[1],10),parseInt(c[2],10)];if(!(e>3||3===e&&f>=10))continue;a||(a=b);try{return(0,d.execFileSync)(b,["-m","pip","show","headroom-ai"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:l}}),b}catch{}}catch{}return a}async function r(a){if(!a)return!1;let b=String(a).replace(/\/$/,"");try{return(await fetch(`${b}/health`,{signal:AbortSignal.timeout(1500)})).ok}catch{return!1}}function s(a){try{let b=new URL(a);return n.has(b.hostname)}catch{return!1}}async function t(a){let b=p(),c=q(),d=!!b,e=await r(a),f=s(a),g=d?u(c):{installed:!1,version:null,extras:{code:!1,ml:!1}};return{installed:d,path:b,running:e,python:c,localUrl:f,canStart:d&&f,version:g.version,extras:g.extras}}function u(a){let b=a||q();if(!b)return{installed:!1,version:null,extras:{code:!1,ml:!1}};try{let a=(0,d.execFileSync)(b,["-m","pip","list","--format=json","--disable-pip-version-check"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:l}}).toString(),c=JSON.parse(a),e=new Set(c.map(a=>String(a.name||"").toLowerCase()));if(!e.has("headroom-ai"))return{installed:!1,version:null,extras:{code:!1,ml:!1}};let f=c.find(a=>a.name?.toLowerCase()==="headroom-ai")?.version||null,i={};for(let a of g)i[a]=h[a].some(a=>e.has(a));return{installed:!0,version:f,extras:i}}catch{return{installed:!1,version:null,extras:{code:!1,ml:!1}}}}},17603:(a,b,c)=>{c.d(b,{R8:()=>l,ar:()=>n,vB:()=>j});var d=c(24);let e=["vision","pdf","audioInput","videoInput"],f=new Set(e),g="oc/mimo-v2.6-flash-free",h=a=>"oc/mimo-v2.5-free"===a?g:a;function i(a,b){var c;let d=Array.isArray(c=b?.capacityAdapter?.[a])?{enabled:!0,roundRobin:!1,models:c.map(a=>h(a?.model||a)).filter(Boolean)}:c&&"object"==typeof c?{enabled:!1!==c.enabled,roundRobin:!!c.roundRobin,models:Array.isArray(c.models)?c.models.map(h).filter(Boolean):[]}:{enabled:!1,roundRobin:!1,models:[]};return d.enabled&&0===d.models.length?{...d,models:[g]}:d}function j(a,b){for(let c of[...a||[]].filter(a=>f.has(a))){let{enabled:a,models:d}=i(c,b);if(a&&0!==d.length)return function(a,b){let{enabled:c,roundRobin:d}=i(a,b);return c&&d?"round-robin":"fallback"}(c,b)}return"fallback"}function k(a,b){let c=a.indexOf("/"),e=c>0?a.slice(0,c):"",f=c>0?a.slice(c+1):a,g=(0,d.getCapabilitiesForModel)(e,f);return b.every(a=>!0===g[a])}function l(a,b,c){let d=[...b||[]].filter(a=>f.has(a));if(0===d.length||!Array.isArray(a)||0===a.length||a.some(a=>k(a,d)))return a;let g=(function(a){let b=new Set,c=[];for(let d of e){let{enabled:e,models:f}=i(d,a);if(e)for(let a of f)b.has(a)||(b.add(a),c.push(a))}return c})(c).filter(b=>!a.includes(b)&&k(b,d));return 0===g.length?a:[...g,...a]}function m(a){return"string"==typeof a?a.length:Array.isArray(a)?a.reduce((a,b)=>a+("string"==typeof b?.text?b.text.length:50),0):0}function n(a,b){let c=new Set(b);return 0===c.size?a:(b,e,...f)=>{if(c.has(e)){let a=e.indexOf("/"),c=a>0?e.slice(0,a):"",f=a>0?e.slice(a+1):e,{contextWindow:g}=(0,d.getCapabilitiesForModel)(c,f);b=function(a,b){let c=Array.isArray(a.messages)?"messages":Array.isArray(a.input)?"input":Array.isArray(a.contents)?"contents":null;if(!c)return a;let d=a[c];if(!d||0===d.length)return a;let e=a=>"system"===a||"developer"===a,f=d.filter(a=>e(a?.role)),g=d.filter(a=>!e(a?.role));if(0===g.length)return a;let h=a=>"assistant"===a||"model"===a,i=g.length-1;for(;i>=0&&!h(g[i]?.role);)i--;let j=g.slice(i+1),k=g.slice(0,i+1);if(0===k.length)return a;let l=a=>a.content??a.parts,n=.8*(b||2e5)*4,o=k.slice(0,6),p=f.concat(o,j).reduce((a,b)=>a+m(l(b)),0);for(;p>n&&o.length>0;)p-=m(l(o.pop()));return o.length===k.length?a:{...a,[c]:[...f,...o,...j]}}(b,g)}return a(b,e,...f)}}},46634:(a,b,c)=>{c.d(b,{Mo:()=>h,RG:()=>l,V:()=>i,Y8:()=>k,xl:()=>m});var d=c(1932),e=c(87155);let f=null,g=null;function h(){return f?{loaded:!0,version:f.version,loadedAt:f.loadedAt}:{loaded:!1}}async function i(){return f||g||(g=j().finally(()=>{g=null}))}async function j(){let a=(0,e.S1)();if(!a.installed){let a=Error("PXPIPE is not installed");throw a.code="NOT_INSTALLED",a}let b=`${(0,d.pathToFileURL)((0,e.CG)()).href}?v=${encodeURIComponent(a.version||"0")}`,c=await import(b);if("function"!=typeof c.transformAnthropicMessages)throw Error("installed pxpipe package does not export transformAnthropicMessages");return f={module:c,version:a.version,loadedAt:Date.now()}}function k(){let a=!!f;return f=null,a}async function l({autoLoad:a=!0}={}){try{if(!f&&!a)return null;let{module:b}=await i();return b.transformAnthropicMessages}catch{return null}}async function m(){let a=Date.now(),{module:b}=await i(),c=new TextEncoder().encode(JSON.stringify({model:"claude-fable-5",max_tokens:16,messages:[{role:"user",content:"ping"}]})),d=await b.transformAnthropicMessages({body:c,model:"claude-fable-5"});if(!d||"boolean"!=typeof d.applied||!(d.body instanceof Uint8Array))throw Error("transform returned an unexpected shape");return{ok:!0,reason:d.reason,durationMs:Date.now()-a}}},46945:(a,b,c)=>{c.d(b,{V:()=>e});let d=/\[1m\]$/i;function e(a){if("string"!=typeof a)return{model:a,contextMarker:null};let b=a.trim(),c=b.match(d);return c?{model:b.slice(0,-c[0].length),contextMarker:c[0].slice(1,-1).toLowerCase()}:{model:a,contextMarker:null}}},57247:(a,b,c)=>{c.d(b,{KC:()=>s,OA:()=>p,PROVIDER_MODELS:()=>e.vq,SM:()=>j,Xg:()=>r,cY:()=>t,ez:()=>o,fZ:()=>k,kt:()=>q,ux:()=>n});var d=c(79378),e=c(26070),f=c(99511),g=c(59096),h=c(14170);let i=a=>!a||["oc","opencode","ocg","opencode-go","ocz","opencode-zen"].includes(a);function j(a){return e.vq[a]||[]}function k(a){let b=e.vq[a];return b?.[0]?.id||null}let l=new Set(["kr","kiro"]);function m(a,b,c){if(!a)return;let d="string"==typeof b?b.replace(/\([^()]+\)\s*$/,"").trim():b,e=a.find(a=>a.id===b||a.id===d);if(e)return e;if(!l.has(c))return;let g=(0,f.Kq)(d);if(g!==d)return a.find(a=>a.id===g)}function n(a,b){if(i(a)&&(0,g.nh)(b))return h.h.OPENAI_RESPONSES;let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?(0,f.gr)(d):i(a)&&(0,g.i8)(b)?.targetFormat||null}function o(a,b){let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?(0,f.ec)(d):i(a)?(0,g.i8)(b)?.supportedFormats||[h.h.OPENAI]:null}function p(a,b){let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?.kind||d?.type||null}function q(a,b){let c="string"==typeof b?b.match(/\([^()]+\)\s*$/):null,d=c?c[0]:"",f=d?b.slice(0,c.index).trim():b,h=m(e.vq[a],f,a),i=h?.upstreamModelId||h?.id;if(i){let a=i.match(/\([^()]+\)\s*$/),b=a?.[0]||"";return(b?i.slice(0,a.index).trim():i)+(d||b)}return"cx"===a&&"string"==typeof f&&f.endsWith(g.d5)?f.slice(0,-g.d5.length)+d:f+d}Object.fromEntries(d.default.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias]));let r=Object.fromEntries(d.default.map(a=>[a.id,a.alias||a.id]));function s(a){let b=r[a]||a;return e.vq[b]||[]}function t(a,b){return(0,f.g5)(m(e.vq[a],b,a))}},74388:(a,b,c)=>{c.d(b,{Az:()=>l,SP:()=>o,T0:()=>k});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(87155);let i=g().join(h.XF,"events.jsonl"),j=g().join(h.XF,"events.jsonl.1");function k(a){try{e().existsSync(h.XF)||e().mkdirSync(h.XF,{recursive:!0});try{e().statSync(i).size>5242880&&e().renameSync(i,j)}catch{}e().appendFile(i,JSON.stringify({ts:Date.now(),...a})+"\n",()=>{})}catch{}}function l({sinceMs:a=null,limit:b=null}={}){let c=[];for(let b of[j,i])try{if(!e().existsSync(b))continue;for(let d of e().readFileSync(b,"utf8").split("\n"))if(d)try{let b=JSON.parse(d);if(a&&b.ts<a)continue;c.push(b)}catch{}}catch{}return c.sort((a,b)=>a.ts-b.ts),b?c.slice(-b):c}function m(){return{requests:0,compressed:0,bypassed:0,errors:0,tokensBeforeEst:0,tokensAfterEst:0,tokensSavedEst:0,savedPct:0,imagesGenerated:0,compressionTimeMs:0,avgCompressionMs:0}}function n(a,b){a.requests++,b.applied?(a.compressed++,a.tokensBeforeEst+=b.tokensBeforeEst||0,a.tokensAfterEst+=b.tokensAfterEst||0,a.tokensSavedEst+=b.tokensSavedEst||0,a.imagesGenerated+=b.imageCount||0,a.compressionTimeMs+=b.durationMs||0):"transform_error"===b.reason||"timeout"===b.reason?a.errors++:a.bypassed++}function o({timelineDays:a=30,recentLimit:b=100}={}){let c=l(),d=Date.now(),e=new Date(new Date(d).setHours(0,0,0,0)).getTime(),f={all:m(),today:m(),yesterday:m(),last7d:m(),last30d:m()},g=new Map;for(let b=a-1;b>=0;b--){let a=new Date(e-864e5*b);g.set(a.toISOString().slice(0,10),{date:a.toISOString().slice(0,10),tokensSavedEst:0,compressed:0,requests:0})}for(let a of c){n(f.all,a),a.ts>=e?n(f.today,a):a.ts>=e-864e5&&n(f.yesterday,a),a.ts>=d-6048e5&&n(f.last7d,a),a.ts>=d-2592e6&&n(f.last30d,a);let b=new Date(a.ts).toISOString().slice(0,10),c=g.get(b);c&&(c.requests++,a.applied&&(c.compressed++,c.tokensSavedEst+=a.tokensSavedEst||0))}for(let a of Object.values(f))a.savedPct=a.tokensBeforeEst>0?+(a.tokensSavedEst/a.tokensBeforeEst*100).toFixed(2):0,a.avgCompressionMs=a.compressed>0?Math.round(a.compressionTimeMs/a.compressed):0;return{windows:f,timeline:[...g.values()],recent:c.slice(-b).reverse()}}},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>A});var e=c(48895),f=c(80238),g=c(45974),h=c(89718),i=c(38775),j=c(92500),k=c(3894),l=c(46634),m=c(74388),n=c(43659),o=c(48136),p=c(18910),q=c(17603),r=c(27349),s=c(41004),t=c(14170),u=c(7803),v=c(67828),w=c(38160),x=c(46945),y=c(27811),z=a([e,j]);async function A(a,b=null){let c;try{c=await a.json()}catch{return u.warn("CHAT","Invalid JSON body"),(0,n.yj)(s.gx.BAD_REQUEST,"Invalid JSON body")}b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())});let{model:d,contextMarker:e}=(0,x.V)(c.model);e&&(c.model=d);let g=a.headers.get("Authorization"),j=(0,f.Tr)(a);if(g&&j){let a=u.maskKey(j);u.debug("AUTH",`API Key: ${a}`)}else u.debug("AUTH","No API key provided (local mode)");let k=await (0,h.mt)();if(k.requireApiKey){if(!j)return u.warn("AUTH","Missing API key (requireApiKey=true)"),(0,n.yj)(s.gx.UNAUTHORIZED,"Missing API key");if(!await (0,f.kI)(j))return u.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,n.yj)(s.gx.UNAUTHORIZED,"Invalid API key")}if(!d)return u.warn("CHAT","Missing model"),(0,n.yj)(s.gx.BAD_REQUEST,"Missing model");let l=await (0,y.TM)(a),m=await (0,y.cI)(l,d);if(m)return m;let o=a?.headers?.get("user-agent")||"",t=(0,r.c)(c,d,o,!!k.ccFilterNaming);if(t)return t.response||t;let v=(0,p.t8)(c),w=await (0,i.d_)(d);if(w){let e=k.comboStrategies||{},f=e[d]?.fallbackStrategy||k.comboStrategy||"fallback",g=await (0,y.Ge)(l,(0,q.R8)(w,v,k),w),h=g.filter(a=>!w.includes(a));if("fusion"===f)return u.info("CHAT",`Combo "${d}" with ${w.length} models (strategy: fusion)`),(0,p.vt)({body:c,models:w,handleSingleModel:(c,d,e)=>{let f=b;if(e&&b){let{tools:a,tool_choice:c,...d}=b.body||{};f={...b,body:d}}return B(c,d,f,a,j)},log:u,comboName:d,judgeModel:e[d]?.judgeModel,tuning:e[d]?.fusionTuning});let i=k.comboStickyRoundRobinLimit;return u.info("CHAT",`Combo "${d}" with ${g.length} models (strategy: ${f}, sticky: ${i})`),(0,p.Pr)({body:c,models:g,handleSingleModel:(0,q.ar)((c,d)=>B(c,d,b,a,j),h),log:u,comboName:d,comboStrategy:f,comboStickyLimit:i})}let z=await (0,y.Ge)(l,(0,q.R8)([d],v,k),[d]);if(z.length>1){let e=z.filter(a=>a!==d);return u.info("CHAT",`Capacity adapter for [${[...v].join(",")}] on "${d}" → trying ${z.join(", ")}`),(0,p.Pr)({body:c,models:z,handleSingleModel:(0,q.ar)((c,d)=>B(c,d,b,a,j),e),log:u,comboName:d,comboStrategy:(0,q.vB)(v,k)})}return B(c,d,b,a,j,e?`${d.slice(d.indexOf("/")+1)}[${e}]`:null)}async function B(a,b,c=null,d=null,e=null,r=null){let x=await (0,i.mA)(b);if(!x.provider){let f=await (0,i.d_)(b);if(f){let g=await (0,h.mt)(),i=g.comboStrategies||{},j=i[b]?.fallbackStrategy||g.comboStrategy||"fallback",k=(0,p.t8)(a),l=await (0,y.TM)(d),m=await (0,y.Ge)(l,(0,q.R8)(f,k,g),f),n=m.filter(a=>!f.includes(a));if("fusion"===j)return u.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: fusion)`),(0,p.vt)({body:a,models:f,handleSingleModel:(a,b,f)=>{let g=c;if(f&&c){let{tools:a,tool_choice:b,...d}=c.body||{};g={...c,body:d}}return B(a,b,g,d,e)},log:u,comboName:b,judgeModel:i[b]?.judgeModel,tuning:i[b]?.fusionTuning});let o=g.comboStickyRoundRobinLimit;return u.info("CHAT",`Combo "${b}" with ${m.length} models (strategy: ${j}, sticky: ${o})`),(0,p.Pr)({body:a,models:m,handleSingleModel:(0,q.ar)((a,b)=>B(a,b,c,d,e),n),log:u,comboName:b,comboStrategy:j,comboStickyLimit:o})}return u.warn("CHAT","Invalid model format",{model:b}),(0,n.yj)(s.gx.BAD_REQUEST,"Invalid model format")}let{provider:z,model:A}=x,C=d?.headers?.get("user-agent")||"",D=new Set,E=null,F=null,G=null;for(;;){let b=await (0,f.c1)(z,D,A,{requestedModel:r||A});if(!b||b.allRateLimited){if(b?.allRateLimited){let a=E||b.lastError||"Unavailable",c=s.gx.SERVICE_UNAVAILABLE;return u.warn("CHAT",`[${z}/${A}] ${a} (${b.retryAfterHuman})`),(0,n.wO)(c,`[${z}/${A}] ${a}`,b.retryAfter,b.retryAfterHuman,G)}if(0===D.size)return u.warn("AUTH",`No active credentials for provider: ${z}`),(0,n.yj)(s.gx.NOT_FOUND,`No active credentials for provider: ${z}`);return u.warn("CHAT","No more accounts available",{provider:z}),(0,n.yj)(F||s.gx.SERVICE_UNAVAILABLE,E||"All accounts unavailable",G)}let i=await (0,v.checkAndRefreshToken)(z,b);if(("antigravity"===z||"gemini-cli"===z)&&!i.projectId){let a=await (0,w.eG)(b.connectionId,i.accessToken,z);a&&(i.projectId=a,(0,v.vN)(b.connectionId,{projectId:a}).catch(()=>{}))}let p=await (0,h.mt)(),q=(p.providerThinking||{})[z]||null,x=await (0,j.wk)({body:{...a,model:`${z}/${A}`},modelInfo:{provider:z,model:A},credentials:i,log:u,clientRawRequest:c,connectionId:b.connectionId,userAgent:C,apiKey:e,ccFilterNaming:!!p.ccFilterNaming,rtkEnabled:!!p.rtkEnabled,headroomEnabled:!!p.headroomEnabled,headroomUrl:p.headroomUrl||k.ag,headroomCompressUserMessages:!!p.headroomCompressUserMessages,headroomTimeoutMs:p.headroomTimeoutMs,cavemanEnabled:!!p.cavemanEnabled,cavemanLevel:p.cavemanLevel||"full",ponytailEnabled:!!p.ponytailEnabled,ponytailLevel:p.ponytailLevel||"full",antislopCodeEnabled:!!p.antislopCodeEnabled,pxpipeEnabled:!!p.pxpipeEnabled,pxpipeMinChars:p.pxpipeMinChars,pxpipeTimeoutMs:p.pxpipeTimeoutMs,pxpipeTransform:p.pxpipeEnabled?await (0,l.RG)():null,onPxpipeEvent:m.T0,providerThinking:q,providerOverrides:(p.providerOverrides||{})[z]||null,sourceFormatOverride:d?.url?(0,t.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,v.vN)(b.connectionId,{...a,existingProviderSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(b.connectionId,b,A),(0,g.vO)(b.connectionId,A)}});if(x.success)return x.response;let y=null,B=x.resetsAtMs;if("antigravity"===z&&(409===x.status||429===x.status)&&(y=await (0,g.XJ)(b.connectionId,x.status,A,i.accessToken,b.providerSpecificData))&&(B=y),"antigravity"===z&&y||(await (0,f.vk)(b.connectionId,x.status,x.error,z,A,B)).shouldFallback){u.warn("FALLBACK",`⇄ ACC:${b.connectionName} UNAVAILABLE (${x.status}) → NEXT ACCOUNT`),D.add(b.connectionId),E=x.error,F=x.status,G=(0,o.d)(x.response?.headers);continue}return x.response}}[e,j]=z.then?(await z)():z,d()}catch(a){d(a)}})},87155:(a,b,c)=>{c.d(b,{CG:()=>q,ED:()=>u,S1:()=>s,XF:()=>j,_g:()=>t,no:()=>r,sW:()=>w});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(79646),i=c(49120);let j=g().join(i.n,"pxpipe"),k="pxpipe-proxy",l=g().join(j,"install.log"),m="win32"===process.platform,n=[...m?[`${process.env.ProgramFiles||""}\\nodejs`,`${process.env.APPDATA||""}\\npm`]:["/usr/local/bin","/opt/homebrew/bin",`${process.env.HOME||""}/.local/bin`,"/usr/bin","/bin"],process.env.PATH||""].filter(Boolean).join(g().delimiter),o=null;function p(){return g().join(j,"node_modules",k)}function q(){return g().join(p(),"dist","core","library.js")}function r(){try{let a=(0,h.execSync)(`${m?"where":"which"} npm`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:n}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}function s(){try{let a=g().join(p(),"package.json");if(!e().existsSync(a)||!e().existsSync(q()))return{installed:!1,version:null,path:null};let b=JSON.parse(e().readFileSync(a,"utf8"));return{installed:!0,version:b.version||null,path:p()}}catch{return{installed:!1,version:null,path:null}}}function t(){return null!==o}function u(){return o||(o=v().finally(()=>{o=null}))}async function v(){let a=r();if(!a){let a=Error("npm not found on PATH — Node.js/npm is required to install PXPIPE");throw a.code="NPM_NOT_FOUND",a}e().existsSync(j)||e().mkdirSync(j,{recursive:!0});let b=g().join(j,"package.json");e().existsSync(b)||e().writeFileSync(b,JSON.stringify({name:"9router-pxpipe-host",private:!0},null,2));let c=e().openSync(l,"a");e().writeSync(c,`
2
2
  [${new Date().toISOString()}] npm install ${k}@latest
3
3
  `),await new Promise((b,d)=>{let e=(0,h.spawn)(a,["install",`${k}@latest`,"--no-audit","--no-fund","--omit=dev"],{cwd:j,stdio:["ignore",c,c],windowsHide:!0,env:{...process.env,PATH:n}}),f=setTimeout(()=>{e.kill("SIGKILL"),d(Error("npm install timed out after 5 minutes — see install.log"))},3e5);e.once("error",a=>{clearTimeout(f),d(a)}),e.once("exit",a=>{clearTimeout(f),0===a?b():d(Error(`npm install exited with code ${a} — see install.log`))})}).finally(()=>e().closeSync(c));let d=s();if(!d.installed)throw Error("install finished but package is missing — see install.log");return d}function w(a=200){try{if(!e().existsSync(l))return"";return e().readFileSync(l,"utf8").split(/\r?\n/).filter(Boolean).slice(-a).join("\n")}catch{return""}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=869,exports.ids=[615,869,7247],exports.modules={30869:(a,b,c)=>{c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"67router",installCmd:"npm i -g 67router",installCmdLatest:"npm i -g 67router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.5",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},35024:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(26070);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}},39006:a=>{a.exports={rE:"1.0.1"}},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,rs:()=>u});var d=c(458);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.default.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.default.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=d.default.filter(a=>a.features?.usage).map(a=>a.id),y=d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)},57247:(a,b,c)=>{c.d(b,{KC:()=>u,OA:()=>q,PROVIDER_MODELS:()=>f.vq,SM:()=>k,Xg:()=>t,cY:()=>v,ez:()=>p,fZ:()=>l,kt:()=>r,ux:()=>o});var d=c(35024),e=c(458),f=c(26070),g=c(99511),h=c(59096),i=c(14170);let j=a=>!a||["oc","opencode","ocg","opencode-go","ocz","opencode-zen"].includes(a);function k(a){return f.vq[a]||[]}function l(a){let b=f.vq[a];return b?.[0]?.id||null}let m=new Set(["kr","kiro"]);function n(a,b,c){if(!a)return;let d="string"==typeof b?b.replace(/\([^()]+\)\s*$/,"").trim():b,e=a.find(a=>a.id===b||a.id===d);if(e)return e;if(!m.has(c))return;let f=(0,g.Kq)(d);if(f!==d)return a.find(a=>a.id===f)}function o(a,b){if(j(a)&&(0,h.nh)(b))return i.h.OPENAI_RESPONSES;let c=f.vq[a];if(!c)return null;let d=n(c,b,a);return d?(0,g.gr)(d):j(a)&&(0,h.i8)(b)?.targetFormat||null}function p(a,b){let c=f.vq[a];if(!c)return null;let d=n(c,b,a);return d?(0,g.ec)(d):j(a)?(0,h.i8)(b)?.supportedFormats||[i.h.OPENAI]:null}function q(a,b){let c=f.vq[a];if(!c)return null;let d=n(c,b,a);return d?.kind||d?.type||null}function r(a,b){let c="string"==typeof b?b.match(/\([^()]+\)\s*$/):null,d=c?c[0]:"",e=d?b.slice(0,c.index).trim():b,g=n(f.vq[a],e,a),i=g?.upstreamModelId||g?.id;if(i){let a=i.match(/\([^()]+\)\s*$/),b=a?.[0]||"";return(b?i.slice(0,a.index).trim():i)+(d||b)}return"cx"===a&&"string"==typeof e&&e.endsWith(h.d5)?e.slice(0,-h.d5.length)+d:e+d}let s=Object.fromEntries(e.default.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),t=Object.fromEntries(Object.keys(d.xq).map(a=>[a,s[a]||a]));function u(a){let b=t[a]||a;return f.vq[b]||[]}function v(a,b){return(0,g.g5)(n(f.vq[a],b,a))}},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,bs:()=>g,eh:()=>e,vq:()=>d.PROVIDER_MODELS,zc:()=>i});var d=c(57247);new Set(Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a));let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b,g={vision:{icon:"visibility",label:"Vision",desc:"Supports image input",color:"text-blue-500"},reasoning:{icon:"neurology",label:"Reasoning",desc:"Supports reasoning / thinking",color:"text-amber-500"}},h={"gemini-live":{label:"Gemini Live (realtime WebSocket)",desc:"Streams audio over bidiGenerateContent and returns incremental transcription segments"}};function i(a){return"string"==typeof a&&Object.prototype.hasOwnProperty.call(h,a.trim())}Object.freeze(Object.keys(h))}};
1
+ "use strict";exports.id=869,exports.ids=[615,869,7247],exports.modules={30869:(a,b,c)=>{c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"67router",installCmd:"npm i -g 67router",installCmdLatest:"npm i -g 67router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.5",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},39006:a=>{a.exports={rE:"1.0.3"}},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,rs:()=>u});var d=c(79378);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.default.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.default.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{},...a.apiKeyOptionalWith?{apiKeyOptionalWith:a.apiKeyOptionalWith}:{},...a.credentialForm?{credentialForm:a.credentialForm}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=d.default.filter(a=>a.features?.usage).map(a=>a.id),y=d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)},57247:(a,b,c)=>{c.d(b,{KC:()=>s,OA:()=>p,PROVIDER_MODELS:()=>e.vq,SM:()=>j,Xg:()=>r,cY:()=>t,ez:()=>o,fZ:()=>k,kt:()=>q,ux:()=>n});var d=c(79378),e=c(26070),f=c(99511),g=c(59096),h=c(14170);let i=a=>!a||["oc","opencode","ocg","opencode-go","ocz","opencode-zen"].includes(a);function j(a){return e.vq[a]||[]}function k(a){let b=e.vq[a];return b?.[0]?.id||null}let l=new Set(["kr","kiro"]);function m(a,b,c){if(!a)return;let d="string"==typeof b?b.replace(/\([^()]+\)\s*$/,"").trim():b,e=a.find(a=>a.id===b||a.id===d);if(e)return e;if(!l.has(c))return;let g=(0,f.Kq)(d);if(g!==d)return a.find(a=>a.id===g)}function n(a,b){if(i(a)&&(0,g.nh)(b))return h.h.OPENAI_RESPONSES;let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?(0,f.gr)(d):i(a)&&(0,g.i8)(b)?.targetFormat||null}function o(a,b){let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?(0,f.ec)(d):i(a)?(0,g.i8)(b)?.supportedFormats||[h.h.OPENAI]:null}function p(a,b){let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?.kind||d?.type||null}function q(a,b){let c="string"==typeof b?b.match(/\([^()]+\)\s*$/):null,d=c?c[0]:"",f=d?b.slice(0,c.index).trim():b,h=m(e.vq[a],f,a),i=h?.upstreamModelId||h?.id;if(i){let a=i.match(/\([^()]+\)\s*$/),b=a?.[0]||"";return(b?i.slice(0,a.index).trim():i)+(d||b)}return"cx"===a&&"string"==typeof f&&f.endsWith(g.d5)?f.slice(0,-g.d5.length)+d:f+d}Object.fromEntries(d.default.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias]));let r=Object.fromEntries(d.default.map(a=>[a.id,a.alias||a.id]));function s(a){let b=r[a]||a;return e.vq[b]||[]}function t(a,b){return(0,f.g5)(m(e.vq[a],b,a))}},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,bs:()=>g,eh:()=>e,vq:()=>d.PROVIDER_MODELS,zc:()=>i});var d=c(57247);new Set(Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a));let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b,g={vision:{icon:"visibility",label:"Vision",desc:"Supports image input",color:"text-blue-500"},reasoning:{icon:"neurology",label:"Reasoning",desc:"Supports reasoning / thinking",color:"text-amber-500"}},h={"gemini-live":{label:"Gemini Live (realtime WebSocket)",desc:"Streams audio over bidiGenerateContent and returns incremental transcription segments"}};function i(a){return"string"==typeof a&&Object.prototype.hasOwnProperty.call(h,a.trim())}Object.freeze(Object.keys(h))}};
@@ -9,7 +9,7 @@ ${b}`:b;try{a.instructions=d}catch(a){}}catch(a){}}(a,c);if(Array.isArray(a.mess
9
9
 
10
10
  ${b}`:b}},27349:(a,b,c)=>{c.d(b,{c:()=>i});var d=c(57647),e=c(88499),f=c(14170),g=c(41004),h=c(71857);function i(a,b,c="",e=!1){if(!c.includes("claude-cli")||!a.messages?.length)return null;let f=a.messages,h=a=>"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"",j=!1,m=!1,n=f[f.length-1];if(n?.role==="assistant"&&n.content?.[0]?.text==="{"&&(j=!0),j||"Warmup"===h(f[0]?.content)&&(j=!0),j||1!==f.length||f[0]?.role!=="user"||"count"===h(f[0]?.content)&&(j=!0),!j&&g.C8?.length){let a=f.filter(a=>"user"===a.role).map(a=>h(a.content)).join(" ");g.C8.some(b=>a.includes(b))&&(j=!0)}if(!j&&e){let b=f.find(a=>"system"===a.role),c=h(b?.content),d=Array.isArray(a.system)?a.system.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"string"==typeof a.system?a.system:"";(c||d).includes("isNewTopic")&&(j=!0,m=!0)}if(!j)return null;let o=(0,d.Tz)(a),p=!1!==a.stream;if(m){let a=f.find(a=>"user"===a.role),c=JSON.stringify({isNewTopic:!0,title:h(a?.content).trim().split(/\s+/).slice(0,3).join(" ")});return p?l(o,b,c):k(o,b,c)}return p?l(o,b):k(o,b)}function j(a,b="CLI Command Execution: Clear Terminal"){return{id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a,choices:[{index:0,message:{role:"assistant",content:b},finish_reason:"stop"}],usage:{prompt_tokens:1,completion_tokens:1,total_tokens:2}}}function k(a,b,c){let d=j(b,c);if(a===f.h.OPENAI)return{success:!0,response:new Response(JSON.stringify(d),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})};let g=(0,e.Ws)(a);g.model=b;let h=m(d),i=[];for(let b of h){let c=(0,e.Y8)(f.h.OPENAI,a,b,g);c?.length>0&&i.push(...c)}let k=(0,e.Y8)(f.h.OPENAI,a,null,g);return k?.length>0&&i.push(...k),{success:!0,response:new Response(JSON.stringify(function(a,b){if(!a||0===a.length)return j("unknown");let c=a[a.length-1];if(b===f.h.CLAUDE&&a.find(a=>"message_stop"===a.type)){a.find(a=>"content_block_delta"===a.type);let b=a.find(a=>"message_delta"===a.type),d=a.find(a=>"message_start"===a.type);if(d?.message){c=d.message;let a=d.message.usage,e=b?.usage;(a||e)&&(c.usage={...a||{},...e||{},...a?.cache_read_input_tokens!==void 0?{cache_read_input_tokens:a.cache_read_input_tokens}:{},...a?.cache_creation_input_tokens!==void 0?{cache_creation_input_tokens:a.cache_creation_input_tokens}:{},...a?.input_tokens!==void 0?{input_tokens:a.input_tokens}:{}})}}return c}(i,a)),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}function l(a,b,c){let d=j(b,c),g=(0,e.Ws)(a);g.model=b;let i=m(d),k=[];for(let b of i){let c=(0,e.Y8)(f.h.OPENAI,a,b,g);if(c?.length>0)for(let b of c)k.push((0,h.v8)(b,a))}let l=(0,e.Y8)(f.h.OPENAI,a,null,g);if(l?.length>0)for(let b of l)k.push((0,h.v8)(b,a));return k.push("data: [DONE]\n\n"),{success:!0,response:new Response(k.join(""),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}})}}function m(a){let{id:b,created:c,model:d,choices:e}=a;return[{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{role:"assistant",content:e[0].message.content},finish_reason:null}]},{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{},finish_reason:"stop"}],usage:a.usage}]}},30320:(a,b,c)=>{c.d(b,{Hr:()=>j,nu:()=>h,u9:()=>k,yx:()=>g});var d=c(14170),e=c(9024);let f=new Set(["response.completed","response.done","response.failed","error"]);function g(a,b){return a||(b&&"string"==typeof b.type?b.type:null)}function h(a,b){let c=g(a,b);if(f.has(c))return!0;let d=b?.response?.status;return"completed"===d||"failed"===d}let i=new TextEncoder;function j(){return i.encode(`${k()}data: [DONE]
11
11
 
12
- `)}function k(){return(0,e.v8)({event:"response.failed",data:{type:"response.failed",response:{id:`resp_${Date.now()}`,status:"failed",error:{type:"stream_error",code:"stream_disconnected",message:"stream closed before response.completed"}}}},d.h.OPENAI_RESPONSES)}},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw});var d=c(9248)},48136:(a,b,c)=>{c.d(b,{d:()=>e});let d=new Set(["retry-after","x-should-retry"]);function e(a){let b={};return"function"!=typeof a?.forEach||a.forEach((a,c)=>{let e=c.toLowerCase();(d.has(e)||e.startsWith("anthropic-ratelimit-"))&&(b[e]=a)}),b}},48895:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>f.SB}),c(39609),c(35024),c(75924),c(41004),c(57247),c(14170),c(88499),c(57647),c(40669),c(12557),c(8521),c(93943);var e=c(92500);c(59657);var f=c(55330);c(43659),c(71857);var g=a([e,f]);[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},54098:(a,b,c)=>{c.d(b,{x:()=>e});var d=c(26070);function e(a,b){if(!b||!d.xq[b]?.quirks?.clineEnvelope)return a;let{success:c,data:e}=a||{};return!0!==c||!e||"object"!=typeof e||Array.isArray(e)?a:e}},59657:(a,b,c)=>{c.d(b,{Jb:()=>g,jd:()=>f});var d=c(41004),e=c(92306);function f({onDisconnect:a,onError:b,log:c,provider:d,model:g,reqTag:h=""}={}){let i=new AbortController,j=Date.now(),k=!1,l=null,m=(a,b,e=!1)=>{let f=Date.now()-j,i=e?c?.errorLine:c?.line;i?i(h,a,`${b} \xb7 ${d}/${g} \xb7 ${f}ms`):console.log(`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] ${a} ${d}/${g} \xb7 ${b} \xb7 ${f}ms`)};return{signal:i.signal,startTime:j,isConnected:()=>!k,handleDisconnect:(b="client_closed")=>{k||(k=!0,(0,e.s)("CTRL",`${d}/${g} | disconnect=${b} | dur=${Date.now()-j}ms`),l=setTimeout(()=>{i.abort()},500),a?.({reason:b,duration:Date.now()-j}))},handleComplete:()=>{!k&&(k=!0,l&&(clearTimeout(l),l=null))},handleError:a=>{if(!k){if(k=!0,l&&(clearTimeout(l),l=null),"AbortError"===a.name)return void m("⚡","ABORTED");m("✗",`ERROR: ${a.message}${a.stack?`
12
+ `)}function k(){return(0,e.v8)({event:"response.failed",data:{type:"response.failed",response:{id:`resp_${Date.now()}`,status:"failed",error:{type:"stream_error",code:"stream_disconnected",message:"stream closed before response.completed"}}}},d.h.OPENAI_RESPONSES)}},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw});var d=c(83192)},48136:(a,b,c)=>{c.d(b,{d:()=>e});let d=new Set(["retry-after","x-should-retry"]);function e(a){let b={};return"function"!=typeof a?.forEach||a.forEach((a,c)=>{let e=c.toLowerCase();(d.has(e)||e.startsWith("anthropic-ratelimit-"))&&(b[e]=a)}),b}},48895:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>f.SB}),c(39609),c(35024),c(75924),c(41004),c(57247),c(14170),c(88499),c(57647),c(40669),c(12557),c(8521),c(93943);var e=c(92500);c(59657);var f=c(55330);c(43659),c(71857);var g=a([e,f]);[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},54098:(a,b,c)=>{c.d(b,{x:()=>e});var d=c(26070);function e(a,b){if(!b||!d.xq[b]?.quirks?.clineEnvelope)return a;let{success:c,data:e}=a||{};return!0!==c||!e||"object"!=typeof e||Array.isArray(e)?a:e}},59657:(a,b,c)=>{c.d(b,{Jb:()=>g,jd:()=>f});var d=c(41004),e=c(92306);function f({onDisconnect:a,onError:b,log:c,provider:d,model:g,reqTag:h=""}={}){let i=new AbortController,j=Date.now(),k=!1,l=null,m=(a,b,e=!1)=>{let f=Date.now()-j,i=e?c?.errorLine:c?.line;i?i(h,a,`${b} \xb7 ${d}/${g} \xb7 ${f}ms`):console.log(`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] ${a} ${d}/${g} \xb7 ${b} \xb7 ${f}ms`)};return{signal:i.signal,startTime:j,isConnected:()=>!k,handleDisconnect:(b="client_closed")=>{k||(k=!0,(0,e.s)("CTRL",`${d}/${g} | disconnect=${b} | dur=${Date.now()-j}ms`),l=setTimeout(()=>{i.abort()},500),a?.({reason:b,duration:Date.now()-j}))},handleComplete:()=>{!k&&(k=!0,l&&(clearTimeout(l),l=null))},handleError:a=>{if(!k){if(k=!0,l&&(clearTimeout(l),l=null),"AbortError"===a.name)return void m("⚡","ABORTED");m("✗",`ERROR: ${a.message}${a.stack?`
13
13
  ${a.stack}`:""}`,!0),b?.(a)}},abort:()=>i.abort()}}function g(a,b,c,f=null,h=d.xM){let i=null,j=0,k=0,l=Date.now(),m="upstream connection lost",n=Date.now(),o="STREAM",p=()=>{i&&(clearTimeout(i),i=null)},q=()=>{p(),i=setTimeout(()=>{i=null,m="stream stall timeout",(0,e.s)(o,`STALL TIMEOUT ${h}ms | chunks=${j} | bytes=${k} | sinceLast=${Date.now()-l}ms`),c.handleError?.(Error("stream stall timeout")),c.abort?.()},h)},r={signal:c.signal,startTime:c.startTime,isConnected:()=>c.isConnected(),handleComplete:()=>{(0,e.s)(o,`complete | chunks=${j} | bytes=${k} | dur=${Date.now()-n}ms`),p(),c.handleComplete()},handleError:a=>{(0,e.s)(o,`error: ${a?.message} | chunks=${j} | bytes=${k} | dur=${Date.now()-n}ms`),p(),c.handleError(a)},handleDisconnect:a=>{(0,e.s)(o,`disconnect: ${a} | chunks=${j} | bytes=${k} | dur=${Date.now()-n}ms`),p(),c.handleDisconnect(a)},abort:()=>{p(),c.abort()}};q(),(0,e.s)(o,`pipe start | stallTimeout=${h}ms`);let s=new TransformStream({transform(a,b){j++;let c=a?.byteLength||a?.length||0;k+=c;let d=Date.now(),f=d-l;l=d,e.T&&(j<=5||j%20==0||f>5e3)&&(0,e.s)(o,`chunk #${j} | size=${c}B | gap=${f}ms | total=${k}B`),q(),b.enqueue(a)},flush(){(0,e.s)(o,`upstream EOF | chunks=${j} | bytes=${k} | dur=${Date.now()-n}ms`),p()}});return function(a,b,c=null){let d=a.readable.getReader(),e=a.writable.getWriter(),f=!1,g=a=>{if(!f&&c){f=!0;try{let b=c();b&&a.enqueue(b)}catch{}}};return new ReadableStream({async pull(a){if(!b.isConnected()){g(a),a.close();return}try{let{done:c,value:e}=await d.read();if(c){b.handleComplete(),a.close();return}a.enqueue(e)}catch(l){let f=b.isConnected(),h=l?.message||"";h.includes("already closed")||h.includes("Invalid state")||b.handleError(l),d.cancel().catch(()=>{}),e.abort().catch(()=>{});let i=l?.message||"",j=l?.code||l?.cause?.code||"",k="AbortError"===l.name||i.includes("aborted")||i.includes("socket hang up")||i.includes("ECONNRESET")||i.includes("ETIMEDOUT")||i.includes("EPIPE")||"ECONNRESET"===j||"ETIMEDOUT"===j||"EPIPE"===j||"UND_ERR_SOCKET"===j;try{!f||k||c?(g(a),a.close()):a.error(l)}catch(a){}}},cancel(a){b.handleDisconnect(a||"cancelled"),d.cancel(),e.abort()}})}({readable:a.body.pipeThrough(s).pipeThrough(b),writable:{getWriter:()=>({abort:()=>Promise.resolve()})}},r,f?()=>f(m):null)}},60125:(a,b,c)=>{c.d(b,{p:()=>n});var d=c(24643);let e="Code blocks, file paths, commands, errors, URLs: keep exact. Security warnings, irreversible action confirmations, multi-step ordered sequences: write normal. Resume terse style after.",f='Not: "Sure! I\'d be happy to help you with that. The issue you\'re experiencing is likely caused by..." Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:"',g="Auto-Clarity: drop caveman for security warnings, irreversible actions, multi-step sequences where fragment ambiguity risks misread, or when user repeats a question. Resume after the clear part.",h="ACTIVE EVERY RESPONSE. No revert after many turns. No filler drift. Still active if unsure.",i="No invented abbreviations. Standard well-known tech acronyms (DB, API, HTTP, URL, JSON, ID, OS, CPU) OK. Names of code symbols, function names, API names, error strings: keep verbatim.",j="Preserve the user's dominant language. User wrote Vietnamese, reply Vietnamese. User wrote English, reply English. Wenyan/classical-Chinese levels override this language-preservation rule. Code identifiers, error strings, file paths, commands: keep in their original form regardless of language.",k='No self-reference. Do not name or announce the style (no "caveman mode", no "me caveman think", no "compressed mode active"). Just respond.',l='No decorative emoji. No narrating tool calls ("I will now search", "I used X to find Y"). No status phrases ("Sure!", "Of course!", "I\'d be happy to"). No causal arrow shorthand ("A -> B -> fails"). State the thing, the action, the reason. Then next step.',m={lite:["Respond tersely. Keep grammar and full sentences but drop filler, hedging and pleasantries (just/really/basically/sure/of course/I'd be happy to). Pattern: state the thing, the action, the reason. Then next step.",f,e,g,h,i,j,k,l].join(" "),full:["Respond like terse caveman. All technical substance stay exact, only fluff die. Drop: articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries, hedging. Fragments OK. Short synonyms (big not extensive, fix not implement a solution for). Pattern: [thing] [action] [reason]. [next step].",f,e,g,h,i,j,k,l].join(" "),ultra:["Respond ultra-terse. Maximum compression. Telegraphic. Strip conjunctions. One word when one word enough. Pattern: [thing] [action] [reason]. [next step].",f,e,g,h,i,j,k,l].join(" "),"wenyan-lite":["Respond semi-classical. Drop filler/hedging but keep grammar structure, classical register. Use classical Chinese sentence patterns where natural. Keep English for technical terms.",f,e,g,h,i,j,k,l].join(" "),wenyan:["Respond classical Chinese (文言文). Maximum classical terseness. 80-90% character reduction. Classical sentence patterns, verbs precede objects, subjects often omitted, classical particles (之/乃/為/其). Keep English for code, commands, function names, API names, error strings.",f,e,g,h,i,j,k,l].join(" "),"wenyan-ultra":["Respond extreme classical compression (文言文 ultra). Maximum compression, ultra terse. Same classical rules as wenyan-full but even more compressed. One classical particle per clause.",f,e,g,h,i,j,k,l].join(" ")};function n(a,b,c){(0,d.J)(a,b,m[c])}},60475:(a,b,c)=>{c.d(b,{U:()=>l});var d=c(24643);let e="You are a lazy senior developer. Lazy means efficient, not careless. The best code is the code never written.",f="Before writing code, stop at the first rung that holds: 1) Does this need to exist at all? (YAGNI) 2) Stdlib does it? Use it. 3) Native platform feature covers it? Use it (CSS over JS, DB constraint over app code). 4) Already-installed dependency solves it? Use it; never add a new one for what a few lines can do. 5) Can it be one line? One line. 6) Only then: the minimum code that works.",g='No unrequested abstractions (no interface with one implementation, no factory for one product, no config for a value that never changes). No boilerplate or scaffolding "for later". Deletion over addition. Boring over clever. Fewest files possible; shortest working diff wins. Two stdlib options the same size: take the edge-case-correct one. Mark deliberate simplifications with a `ponytail:` comment naming the ceiling and upgrade path.',h="Code first. Then at most three short lines: what was skipped, when to add it. No essays or design notes. Pattern: `[code] → skipped: [X], add when [Y].`",i="Never simplify away: input validation at trust boundaries, error handling that prevents data loss, security, accessibility, anything explicitly requested. Non-trivial logic leaves ONE runnable check behind (an assert-based self-check or one small test file; no frameworks). Trivial one-liners need no test.",j="ACTIVE EVERY RESPONSE. No drift back to over-building. Still active if unsure.",k={lite:[e,"Lite: build what's asked, but name the lazier alternative in one line. User picks.",f,g,h,i,j].join(" "),full:[e,"Full: the ladder enforced. Stdlib and native first. Shortest diff, shortest explanation.",f,g,h,i,j].join(" "),ultra:[e,"Ultra: YAGNI extremist. Deletion before addition. Ship the one-liner and challenge the rest of the requirement in the same response.",f,g,h,i,j].join(" ")};function l(a,b,c){(0,d.J)(a,b,k[c])}},70190:(a,b,c)=>{c.d(b,{Nv:()=>m,O2:()=>n,SI:()=>l,cB:()=>o});var d=c(60983),e=c(19979),f=c(65377);function g(a){try{return new TextEncoder().encode(JSON.stringify(a)||"").length}catch{return 0}}function h(a){let b=function(a){if(Array.isArray(a?.messages))return a.messages;if(Array.isArray(a?.input))return a.input;let b=j(a);return b?b.messages:null}(a),c=b?.filter(a=>a?.role==="tool"||a?.role==="function"||a?.tool_calls?.length||a?.content?.some?.(a=>a?.type==="tool_use"||a?.type==="tool_result"))||[];return{bodyBytes:g(a),messageBytes:b?g(b):0,toolSchemaBytes:g(a?.tools||[]),toolHistoryBytes:g(c)}}function i(a,b){a&&!a.reason&&(a.reason=b)}function j(a){let b=a?.conversationState;if(!b||"object"!=typeof b)return null;let c=[],d=[],e=(a,b,e,f={})=>{"string"==typeof b&&(c.push({role:a,content:b,...f}),d.push(e))},f=a=>{let b=a?.userInputMessage;if(b){e("system",b.systemInstruction,{object:b,key:"systemInstruction"}),e("user",b.content,{object:b,key:"content"});let a=b.userInputMessageContext?.toolResults;if(Array.isArray(a))for(let b of a){let a=b?.content;if(Array.isArray(a))for(let c of a)e("tool",c?.text,{object:c,key:"text"},b?.toolUseId?{tool_call_id:b.toolUseId}:{})}return}let c=a?.assistantResponseMessage;if(c){let a=(a=>{if(!Array.isArray(a)||0===a.length)return;let b=a.map(a=>({id:a?.toolUseId,type:"function",function:{name:a?.name||"",arguments:JSON.stringify(a?.input||{})}})).filter(a=>a.id||a.function.name);return b.length>0?b:void 0})(c.toolUses);e("assistant",c.content,{object:c,key:"content"},a?{tool_calls:a}:{})}};if(Array.isArray(b.history))for(let a of b.history)f(a);return b.currentMessage&&f(b.currentMessage),c.length>0?{messages:c,targets:d}:null}async function k(a,b,c,d,e,f){let g,h=function(a){try{let b=new URL(a);return b.pathname=`${b.pathname.replace(/\/$/,"")}/v1/compress`,b.hash="",b.toString()}catch{let[b,c=""]=String(a).replace(/#.*$/,"").split("?",2),d=`${b.replace(/\/$/,"")}/v1/compress`;return c?`${d}?${c}`:d}}(a);f.endpoint=function(a){try{let b=new URL(a);return b.username="",b.password="",b.search="",b.hash="",b.toString()}catch{return String(a).replace(/\/\/[^/@\s]+@/,"//").replace(/[?#].*$/,"")}}(h);let j={messages:b,model:c};e&&(j.config={compress_user_messages:!0});try{g=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(j),signal:AbortSignal.timeout(d)})}catch(d){var k;let a,b,c;return i(f,`request failed: ${(k=d,a=k?.cause,b=a?.code||k?.code,c=String(a?.message||k?.message||String(k)).replace(/\/\/[^/@\s]+@/g,"//").replace(/(https?:\/\/[^\s?#]+)[?#][^\s)]*/g,"$1"),b?`${b}: ${c}`:c)}`),null}if(!g.ok)return i(f,`proxy returned HTTP ${g.status}`),null;let l=await g.json();return Array.isArray(l?.messages)?l:(i(f,"proxy response missing messages[]"),null)}async function l(a,{enabled:b,url:c,model:g,format:m,compressUserMessages:n,timeoutMs:o=3e3,diagnostics:p=null}={}){var q;if(o="number"==typeof(q=o)&&Number.isFinite(q)&&q>0?q:3e3,!b)return i(p,"disabled"),null;if(!c)return i(p,"missing proxy URL"),null;if(!a)return i(p,"missing request body"),null;try{if(p&&(p.before=h(a)),"claude"===m){let b=(0,d.t)(g,a,!1);if(!Array.isArray(b?.messages))return i(p,"Claude request did not translate to messages[]"),null;let f=await k(c,b.messages,g,o,n,p||{});if(!f)return null;let j=(0,e.p)(g,{...b,messages:f.messages},!1);return Array.isArray(j?.messages)&&(a.messages=j.messages),j?.system!==void 0&&(a.system=j.system),p&&(p.after=h(a)),f}if("openai-responses"===m){if(Array.isArray(a?.input)&&a.input.some(a=>!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.type&&"message"!==a.type))return i(p,"skipped: openai-responses tool/reasoning input is not safe to compress"),null;let b=(0,f.Z)(g,a,!1);if(!Array.isArray(b?.messages))return i(p,"openai-responses request did not translate to messages[]"),null;let d=await k(c,b.messages,g,o,n,p||{});if(!d)return null;let e=(0,f.h)(g,{...b,input:void 0,messages:d.messages},!1);return Array.isArray(e?.input)&&(a.input=e.input),p&&(p.after=h(a)),d}if("kiro"===m){let b=j(a);if(!b)return i(p,"Kiro request did not project to messages[]"),null;let d=await k(c,b.messages,g,o,n,p||{});if(!d||!function(a,b,c){if(!Array.isArray(b)||b.length!==a.messages.length)return i(c,"proxy response did not match Kiro message count"),!1;let d=[];for(let e=0;e<a.messages.length;e++){let f=a.messages[e],g=b[e];if(!g||g.role!==f.role)return i(c,"proxy response did not preserve Kiro message order"),!1;let h=function(a){let b=a?.content;if("string"==typeof b)return b;if(!Array.isArray(b))return null;let c=[];for(let a of b)"string"==typeof a?c.push(a):"string"==typeof a?.text&&c.push(a.text);return c.length>0?c.join("\n"):null}(g);if(null===h)return i(c,"proxy response missing Kiro text content"),!1;d.push({target:a.targets[e],text:h})}for(let a of d)a.target.object[a.target.key]=a.text;return!0}(b,d.messages,p))return null;return p&&(p.after=h(a)),d}let b=Array.isArray(a.messages)?"messages":Array.isArray(a.input)?"input":null;if(!b)return i(p,`unsupported ${m||"unknown"} request shape`),null;let l=await k(c,a[b],g,o,n,p||{});if(!l)return null;return a[b]=l.messages,p&&(p.after=h(a)),l}catch(a){return i(p,`unexpected error: ${a?.message||String(a)}`),null}}function m(a){if(!a)return null;let b=a.tokens_before||0,c=a.tokens_after||0,d=a.tokens_saved||0,e=b>0?(d/b*100).toFixed(1):"0";return`reported token delta=${d} before=${b}${c?` after=${c}`:""} (${e}%)`.trim()}function n(a){let b=a?.before,c=a?.after;if(!b||!c)return"";let d=b.bodyBytes>0?((b.bodyBytes-c.bodyBytes)/b.bodyBytes*100).toFixed(1):"0.0";return`body=${b.bodyBytes}B→${c.bodyBytes}B messages=${b.messageBytes}B→${c.messageBytes}B tools=${b.toolSchemaBytes||0}B→${c.toolSchemaBytes||0}B toolHistory=${b.toolHistoryBytes||0}B→${c.toolHistoryBytes||0}B effective=${d}%`}function o(a,b,c=.05){if(!a?.tokens_saved||a.tokens_saved<=0)return!1;let d=b?.before?.bodyBytes||0,e=b?.after?.bodyBytes||0;return!(d<=0)&&!(e<=0)&&e>=d*(1-c)}},71336:(a,b,c)=>{c.d(b,{q7:()=>m});let d="u">typeof process&&process.versions?.node&&!0,e="u">typeof process&&process.env?.ENABLE_REQUEST_LOGS==="true",f=null,g=null,h=null;async function i(){if(d&&e&&!f)try{f=await Promise.resolve().then(c.t.bind(c,29021,23)),h=(g=await Promise.resolve().then(c.t.bind(c,33873,23))).join("u">typeof process&&process.cwd?process.cwd():".","logs")}catch{}}async function j(a,b,c){if(await i(),!f||!h)return null;try{f.existsSync(h)||f.mkdirSync(h,{recursive:!0});let d=function(a=new Date){let b=a=>String(a).padStart(2,"0"),c=a.getFullYear(),d=b(a.getMonth()+1),e=b(a.getDate()),f=b(a.getHours()),g=b(a.getMinutes()),h=b(a.getSeconds()),i=String(a.getMilliseconds()).padStart(3,"0");return`${c}${d}${e}_${f}${g}${h}_${i}`}(),e=(c||"unknown").replace(/[/:]/g,"-"),i=`${a}_${b}_${e}_${d}`,j=g.join(h,i);return f.mkdirSync(j,{recursive:!0}),j}catch(a){return console.log("[LOG] Failed to create log session:",a.message),null}}function k(a,b,c){if(f&&a)try{let d=g.join(a,b);f.writeFileSync(d,JSON.stringify(c,null,2))}catch(a){console.log(`[LOG] Failed to write ${b}:`,a.message)}}function l(a){return a?{...a}:{}}async function m(a,b,c){if(!e)return{sessionPath:null,logClientRawRequest(){},logRawRequest(){},logOpenAIRequest(){},logTargetRequest(){},logProviderResponse(){},appendProviderChunk(){},appendOpenAIChunk(){},logConvertedResponse(){},appendConvertedChunk(){},logError(){}};let d=await j(a,b,c);return{get sessionPath(){return d},logClientRawRequest(a,b,c={}){k(d,"1_req_client.json",{timestamp:new Date().toISOString(),endpoint:a,headers:l(c),body:b})},logRawRequest(a,b={}){k(d,"2_req_source.json",{timestamp:new Date().toISOString(),headers:l(b),body:a})},logOpenAIRequest(a){k(d,"3_req_openai.json",{timestamp:new Date().toISOString(),body:a})},logTargetRequest(a,b,c){k(d,"4_req_target.json",{timestamp:new Date().toISOString(),url:a,headers:l(b),body:c})},logProviderResponse(a,b,c,e){k(d,"5_res_provider.json",{timestamp:new Date().toISOString(),status:a,statusText:b,headers:c?"function"==typeof c.entries?Object.fromEntries(c.entries()):c:{},body:e})},appendProviderChunk(a){if(f&&d)try{let b=g.join(d,"5_res_provider.txt");f.appendFileSync(b,a)}catch(a){}},appendOpenAIChunk(a){if(f&&d)try{let b=g.join(d,"6_res_openai.txt");f.appendFileSync(b,a)}catch(a){}},logConvertedResponse(a){k(d,"7_res_client.json",{timestamp:new Date().toISOString(),body:a})},appendConvertedChunk(a){if(f&&d)try{let b=g.join(d,"7_res_client.txt");f.appendFileSync(b,a)}catch(a){}},logError(a,b=null){k(d,"6_error.json",{timestamp:new Date().toISOString(),error:a?.message||String(a),stack:a?.stack,requestBody:b})}}}},71857:(a,b,c)=>{c.d(b,{i5:()=>o,l2:()=>p,lm:()=>g.lm,v8:()=>h.v8});var d=c(88499),e=c(14170),f=c(47370),g=c(73483),h=c(9024),i=c(30320),j=c(92306);c(78959);let k=new TextEncoder,l="translate",m="passthrough";function n(a={}){let{mode:b=l,targetFormat:c,sourceFormat:o,provider:p=null,reqLogger:q=null,toolNameMap:r=null,customToolNames:s=null,model:t=null,connectionId:u=null,body:v=null,onStreamComplete:w=null,apiKey:x=null,credentials:y=null}=a,z="",A=null,B=new TextDecoder("utf-8",{fatal:!1}),C=b===l?{...(0,d.Ws)(o),provider:p,toolNameMap:r,customToolNames:new Set(s||[]),model:t,sessionId:y?._clientSessionId||null,targetFormat:c}:null,D=0,E="",F="",G=null,H=0,I=0,J={},K=null,L=!1,M=!1,N=!1,O=!1,P=null,Q=()=>{if(P&&(clearTimeout(P),P=null),O)return;O=!0;let a=b===m,d=a?A:C?.usage;!(0,g.Gh)(d)&&D>0&&(d=(0,g.OF)(v,D,a?e.h.OPENAI:o),a?A=d:C.usage=d),(0,g.Gh)(d)?(0,g.IF)(a?p:C?.provider||c,d,t,u,x):(0,f.E5)({model:t,provider:p,connectionId:u,tokens:null,status:"200 OK"}).catch(()=>{}),w&&w({content:E,thinking:F},d,G)},R=a=>{for(let b of(0,d.Y8)(c,o,null,C)||[]){if(null==b)continue;let c=(0,h.v8)(b,o);q?.appendConvertedChunk?.(c),a.enqueue(k.encode(c)),I++}Q()};return new TransformStream({transform(a,f){G||(G=Date.now());let n=B.decode(a,{stream:!0});z+=n,q?.appendProviderChunk?.(n);let p=z.split("\n");for(let a of(z=p.pop()||"",p)){let n=a.trim();if(j.T&&n&&(H++,n.startsWith("event:"))){let a=n.slice(6).trim();J[a]=(J[a]||0)+1}if(b===l&&c===e.h.OPENAI_RESPONSES&&n.startsWith("event:")&&(K=n.slice(6).trim()),b===m){let b,c=!1,d=!1;if(n.startsWith("data:")&&"[DONE]"!==n.slice(5).trim())try{let a=JSON.parse(n.slice(5).trim()),f=(0,h.A4)(a),j=!1;if(void 0!==a.choices&&(a.object||(a.object="chat.completion.chunk",j=!0),a.created||(a.created=Math.floor(Date.now()/1e3),j=!0)),void 0!==a.prompt_filter_results&&(delete a.prompt_filter_results,j=!0),a?.choices)for(let b of a.choices)void 0!==b.content_filter_results&&(delete b.content_filter_results,j=!0);if(a?.choices)for(let b of a.choices)b.delta?.tool_calls&&Array.isArray(b.delta.tool_calls)&&0===b.delta.tool_calls.length&&(delete b.delta.tool_calls,j=!0);if(!(0,h.c2)(a,e.h.OPENAI))continue;let k=a.choices?.[0]?.delta,l=k?.content,m=k?.reasoning_content;l&&"string"==typeof l&&(D+=l.length,E+=l),m&&"string"==typeof m&&(D+=m.length,F+=m);let o=(0,g.f5)(a);o&&(A=(0,g._L)(A,o)),d=(0,i.nu)(K,a);let p=a.choices?.[0]?.finish_reason;if(p&&!(0,g.Gh)(a.usage)){let d=(0,g.OF)(v,D,e.h.OPENAI);a.usage=(0,g.WL)(d,e.h.OPENAI),b=`data: ${JSON.stringify(a)}
14
14
  `,A=d,c=!0}else if(p&&A){let d=(0,g.O9)(A);a.usage=(0,g.WL)(d,e.h.OPENAI),b=`data: ${JSON.stringify(a)}
15
15
  `,c=!0}else(f||j)&&(b=`data: ${JSON.stringify(a)}
@@ -57,8 +57,8 @@ ${e.length} files in ${g.length} dirs:
57
57
  `,b.slice(0,10)))h+=` ${c}
58
58
  `;b.length>10&&(h+=` +${b.length-10}
59
59
  `),h+="\n"}return g.length>20&&(h+=`+${g.length-20} more dirs
60
- `),h.replace(/\n+$/,"")}s.filterName="search-list";let t=/^Result of search in '[^']*' \(total (\d+) files?\):/,u=/^diff --git /m,v=/^@@ /m,w=/^On branch |^nothing to commit|^Changes (not |to be )|^Untracked files:/m,x=/^[*|/\\ ]*commit [0-9a-f]{7,40}$/m,y=/^[ MADRCU?!][ MADRCU?!] \S/m,z=/^(npm (warn|error|ERR!)|yarn (warn|error)|\s*Compiling\s+\S+|\s*Downloading\s+\S+|added \d+ package|\[ERROR\]|BUILD (SUCCESS|FAILED)|\s*Finished\s+|Successfully (installed|built)|ERROR:)/im,A=/[├└]──|│ /,B=/^[-dlbcps][rwx-]{9}/m,C=/^total \d+$/m;function D(a){let b=a.indexOf(":");if(-1===b)return!1;let c=a.indexOf(":",b+1);if(-1===c)return!1;let d=a.slice(b+1,c);return/^\d+$/.test(d)}function E(a){let b=a.trim();return 0!==b.length&&(!!/^[A-Za-z]:[\\/]/.test(b)||!b.includes(":")&&(b.startsWith(".")||b.startsWith("/")||b.includes("/")))}function F(a,b){if(!b||!a)return null;if(a.conversationState){var c=a;let b={bytesBefore:0,bytesAfter:0,hits:[]};try{let a=c.conversationState,d=[...Array.isArray(a?.history)?a.history:[]];for(let c of(a?.currentMessage&&d.push(a.currentMessage),d)){let a=c?.userInputMessage?.userInputMessageContext?.toolResults;if(Array.isArray(a)){for(let c of a)if("error"!==c.status&&Array.isArray(c.content))for(let a of c.content)a&&"string"==typeof a.text&&(a.text=G(a.text,b,"kiro-tool-result"))}}}catch(a){return console.warn("[RTK] compressKiroFormat error:",a.message),null}return b}let d=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!d)return null;let e={bytesBefore:0,bytesAfter:0,hits:[]};try{for(let a=0;a<d.length;a++){let b=d[a];if(b){if("function_call_output"===b.type){if("string"==typeof b.output)b.output=G(b.output,e,"openai-responses-string");else if(Array.isArray(b.output))for(let a=0;a<b.output.length;a++){let c=b.output[a];c&&"input_text"===c.type&&"string"==typeof c.text&&(c.text=G(c.text,e,"openai-responses-array"))}continue}if("tool"===b.role&&"string"==typeof b.content){b.content=G(b.content,e,"openai-tool");continue}if(Array.isArray(b.content)){if("tool"===b.role){for(let a=0;a<b.content.length;a++){let c=b.content[a];c&&"text"===c.type&&"string"==typeof c.text&&(c.text=G(c.text,e,"openai-tool-array"))}continue}for(let a=0;a<b.content.length;a++){let c=b.content[a];if(c&&"tool_result"===c.type&&!0!==c.is_error){if("string"==typeof c.content)c.content=G(c.content,e,"claude-string");else if(Array.isArray(c.content))for(let a=0;a<c.content.length;a++){let b=c.content[a];b&&"text"===b.type&&"string"==typeof b.text&&(b.text=G(b.text,e,"claude-array"))}}}}}}}catch(a){return console.warn("[RTK] compressMessages error:",a.message),null}return e}function G(a,b,c){let d=a.length;if(b.bytesBefore+=d,d<500||d>0xa00000)return b.bytesAfter+=d,a;let h=function(a){var b,c;let d,h,m=a.length>1024?a.slice(0,1024):a;if(x.test(m))return g;if(u.test(m)||v.test(m))return e;if(w.test(m))return f;if(z.test(m))return i;if(!((d=m.split("\n").filter(a=>a.trim())).length<3)&&d.filter(a=>y.test(a)).length/d.length>=.6)return f;let F=m.split("\n"),G=F.filter(a=>a.trim().length>0);return G.slice(0,5).some(D)?j:G.length>=3&&G.every(E)?k:A.test(m)?o:C.test(m)||(b=m,h=new RegExp((c=B).source,c.flags.includes("g")?c.flags:c.flags+"g"),(b.match(h)||[]).length>=3)?n:t.test(m)?s:F.length>=250&&function(a){let b=0,c=0;for(let d of a.slice(0,100))0!==d.length&&(c++,r.test(d)&&b++);return!(c<5)&&b/c>=.7}(F)?q:G.length>=5?l:a.split("\n").length>=250?p:null}(a);if(!h)return b.bytesAfter+=d,a;let m=function(a,b){if("function"!=typeof a)return b;try{let c=a(b);if("string"!=typeof c)return b;return c}catch(d){let c=a.filterName||a.name||"anonymous";return console.warn(`[rtk] warning: filter '${c}' panicked — passing through raw output: ${d?.message||d}`),b}}(h,a);return!m||0===m.length||m.length>=d?(b.bytesAfter+=d,a):(b.bytesAfter+=m.length,b.hits.push({shape:c,filter:h.filterName||h.name,saved:d-m.length}),m)}function H(a){if(!a||!a.hits||0===a.hits.length)return null;let b=a.bytesBefore-a.bytesAfter,c=a.bytesBefore>0?(b/a.bytesBefore*100).toFixed(1):"0",d=Array.from(new Set(a.hits.map(a=>a.filter))).join(",");return`[RTK] saved ${b}B / ${a.bytesBefore}B (${c}%) via [${d}] hits=${a.hits.length}`}},76083:(a,b,c)=>{c.d(b,{C:()=>h});var d=c(14170),e=c(29463);let f=new Set([d.h.GEMINI,d.h.GEMINI_CLI,d.h.VERTEX,d.h.ANTIGRAVITY,d.h.OLLAMA,d.h.KIRO,d.h.COMMANDCODE]);function g(a){return"string"==typeof a&&(a.startsWith("http://")||a.startsWith("https://"))}async function h(a,b,c,i={}){if(!a||!f.has(c))return 0;let j=function(a,b){let c=[],e=a=>{for(let b of a||[])if(Array.isArray(b.content)){for(let a of b.content)if(a?.type==="image_url"){let b="string"==typeof a.image_url?a.image_url:a.image_url?.url;g(b)&&c.push({get:()=>b,set:b=>{"string"==typeof a.image_url?a.image_url=b:a.image_url.url=b}})}}},f=a=>{for(let b of a||[])for(let a of b.parts||[]){let b=a?.fileData?.fileUri;g(b)&&c.push({get:()=>b,part:a})}};switch(b){case d.h.OPENAI:case d.h.OLLAMA:case d.h.KIRO:case d.h.CURSOR:case d.h.COMMANDCODE:e(a.messages);break;case d.h.CLAUDE:for(let b of a.messages||[])if(Array.isArray(b.content))for(let a of b.content)a?.type==="image"&&a.source?.type==="url"&&g(a.source.url)&&c.push({get:()=>a.source.url,claudeBlock:a});break;case d.h.GEMINI:case d.h.GEMINI_CLI:case d.h.VERTEX:f(a.contents);break;case d.h.ANTIGRAVITY:f(a?.request?.contents);break;default:e(a.messages)}return c}(a,b);if(!j.length)return 0;let k=0;for(let a of j){let b=a.get();if((0,e.W$)(b))continue;let c=await (0,e.ni)(b,i);c&&(a.set?a.set(c.url):a.part?(delete a.part.fileData,a.part.inlineData={mimeType:c.mimeType,data:c.url.split(",")[1]}):a.claudeBlock&&(a.claudeBlock.source={type:"base64",media_type:c.mimeType,data:c.url.split(",")[1]}),k++)}return k}},81626:(a,b,c)=>{function d(a,b){let c;if(!a.trim())return;let d=a.match(/^event:\s*(.+)$/m),e=a.match(/^data:\s*(.+)$/m);if(!d||!e)return;let f=d[1].trim(),g=e[1].trim();if("[DONE]"!==g){try{c=JSON.parse(g)}catch{return}"response.created"===f?(b.responseId=c.response?.id||b.responseId,b.created=c.response?.created_at||b.created):"response.output_item.done"===f?b.items.set(c.output_index??0,c.item):"response.completed"===f||"response.done"===f?(b.status="completed",c.response?.usage&&(b.usage.input_tokens=c.response.usage.input_tokens||0,b.usage.output_tokens=c.response.usage.output_tokens||0,b.usage.total_tokens=c.response.usage.total_tokens||0)):"response.failed"===f&&(b.status="failed")}}c.d(b,{I:()=>r,F:()=>q});let e={input_tokens:0,output_tokens:0,total_tokens:0};async function f(a){if(!a||"function"!=typeof a.getReader)return{id:`resp_${Date.now()}`,object:"response",created_at:Math.floor(Date.now()/1e3),status:"failed",output:[],usage:{...e}};let b=a.getReader(),c=new TextDecoder,f="",g={responseId:"",created:Math.floor(Date.now()/1e3),status:"in_progress",usage:{...e},items:new Map};try{for(;;){let{done:a,value:e}=await b.read();if(a)break;let h=(f+=c.decode(e,{stream:!0})).split("\n\n");for(let a of(f=h.pop()||"",h))d(a,g)}f.trim()&&d(f,g)}finally{b.releaseLock()}let h=[],i=g.items.size>0?Math.max(...g.items.keys()):-1;for(let a=0;a<=i;a++)h.push(g.items.get(a)||{type:"message",content:[],role:"assistant"});return{id:g.responseId||`resp_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,object:"response",created_at:g.created,status:g.status||"completed",output:h,usage:g.usage}}var g=c(60210),h=c(43659),i=c(41004),j=c(14170),k=c(35024),l=c(86171),m=c(43698),n=c(47370);let o=a=>k.xq[a]?.format===j.h.OPENAI_RESPONSES;function p(a){if(!a?.content||!Array.isArray(a.content))return"";let b=a.content.find(a=>"output_text"===a.type);if("string"==typeof b?.text)return b.text;let c=a.content.find(a=>"string"==typeof a.text);return"string"==typeof c?.text?c.text:""}function q(a,b){let c=[],d=null;for(let b of String(a||"").split("\n")){let a=b.trim();if(!a.startsWith("data:"))continue;let e=a.slice(5).trim();if(e&&"[DONE]"!==e)try{let a=JSON.parse(e);a?.error?d=a.error:c.push(a)}catch{}}if(d)return{error:d};if(0===c.length)return null;let e=c[0],f=[],g=[],h=new Map,i="stop",j=null;for(let a of c){let b=a?.choices?.[0],c=b?.delta||{};if("string"==typeof c.content&&c.content.length>0&&f.push(c.content),"string"==typeof c.reasoning_content&&c.reasoning_content.length>0&&g.push(c.reasoning_content),b?.finish_reason&&(i=b.finish_reason),a?.usage&&"object"==typeof a.usage&&(j=a.usage),Array.isArray(c.tool_calls))for(let a of c.tool_calls){let b=a.index??0;h.has(b)||h.set(b,{id:a.id||"",type:"function",function:{name:"",arguments:""}});let c=h.get(b);a.id&&(c.id=a.id),a.function?.name&&(c.function.name+=a.function.name),a.function?.arguments&&(c.function.arguments+=a.function.arguments)}}let k={role:"assistant",content:f.join("")||(h.size>0?null:"")};g.length>0&&(k.reasoning_content=g.join("")),h.size>0&&(k.tool_calls=[...h.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a));let l={id:e.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:e.created||Math.floor(Date.now()/1e3),model:e.model||b||"unknown",choices:[{index:0,message:k,finish_reason:i}]};return j&&(l.usage=j),l}async function r({providerResponse:a,sourceFormat:b,targetFormat:c,provider:d,model:e,body:k,stream:s,translatedBody:t,finalBody:u,requestStartTime:v,connectionId:w,apiKey:x,clientRawRequest:y,onRequestSuccess:z,customToolNames:A,toolNameMap:B,trackDone:C,appendLog:D,reqTag:E,log:F}){let G=a.headers.get("content-type")||"";if(!(G.includes("text/event-stream")||""===G&&o(d)))return null;C();let H={provider:d,model:e,connectionId:w,request:(0,l.Fo)(k,s),providerRequest:u||t||null};if(o(d)||c===j.h.OPENAI_RESPONSES)try{let c,h=await f(a.body);z&&await z();let i=h.usage||{};D({tokens:i,status:"200 OK"}),(0,l.qr)({provider:d,model:e,tokens:i,connectionId:w,apiKey:x,endpoint:y?.endpoint,silent:!0}),F?.line&&F.line(E,"\uD83D\uDCCA",(0,l.U$)({usage:i,latency:{total:Date.now()-v}}));let k=(i.input_tokens||0)+(i.cache_read_input_tokens||i.cached_tokens||0)+(i.cache_creation_input_tokens||0),{msgItem:m,textContent:o}=function(a){if(!Array.isArray(a))return{msgItem:null,textContent:null};let b=a.filter(a=>a?.type==="message");if(0===b.length)return{msgItem:null,textContent:null};for(let a=b.length-1;a>=0;a--){let c=p(b[a]);if(c.length>0)return{msgItem:b[a],textContent:c}}let c=b[b.length-1];return{msgItem:c,textContent:p(c)}}(h.output),q=Date.now()-v;if((0,n.ox)((0,l.$R)({...H,latency:{ttft:q,total:q},tokens:{prompt_tokens:k,completion_tokens:i.output_tokens||0},response:{content:o,thinking:null,finish_reason:h.status||"unknown"},status:"success"},{endpoint:y?.endpoint||null})).catch(()=>{}),b===j.h.OPENAI_RESPONSES)return{success:!0,response:new Response(JSON.stringify((0,g.HR)(h,B)),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})};let r=i.cache_read_input_tokens||i.cached_tokens||0,s=i.cache_creation_input_tokens||0,t=(i.input_tokens||0)+r+s,u=i.output_tokens||0,A=r>0||s>0?{prompt_tokens_details:{...r>0?{cached_tokens:r}:{},...s>0?{cache_creation_tokens:s}:{}}}:{},C=(h.output||[]).filter(a=>"function_call"===a.type).map((a,b)=>({id:a.call_id||`call_${a.name}_${Date.now()}_${b}`,type:"function",function:{name:a.name,arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments||{})}})),G=C.length>0;if(b===j.h.ANTIGRAVITY||b===j.h.GEMINI||b===j.h.GEMINI_CLI)c={response:{candidates:[{content:{role:"model",parts:[{text:o||""}]},finishReason:"STOP",index:0}],usageMetadata:{promptTokenCount:t,candidatesTokenCount:u,totalTokenCount:t+u},modelVersion:e,responseId:h.id||`resp_${Date.now()}`}};else{let a={role:"assistant",content:o||(G?null:"")};G&&(a.tool_calls=C);let b="completed"===h.status||"done"===h.status,d=G?"tool_calls":b?"stop":h.status||"stop";c={id:h.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:h.created_at||Math.floor(Date.now()/1e3),model:h.model||e,choices:[{index:0,message:a,finish_reason:d}],usage:{prompt_tokens:t,completion_tokens:u,total_tokens:t+u,...A}}}return{success:!0,response:new Response(JSON.stringify((0,g.HR)(c,B)),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Responses API SSE→JSON failed:",a),(0,h.A1)(i.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}try{let c=await a.text(),f=q(c,e);if(!f)return(0,h.A1)(i.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");if(f.error){let a=Number(f.error.status),b=Number.isInteger(a)&&a>=400&&a<=599?a:i.gx.BAD_GATEWAY;return(0,h.A1)(b,f.error.message||"Upstream SSE stream failed")}z&&await z();let k=f.usage||{};D({tokens:k,status:"200 OK"}),(0,l.qr)({provider:d,model:e,tokens:k,connectionId:w,apiKey:x,endpoint:y?.endpoint,silent:!0}),F?.line&&F.line(E,"\uD83D\uDCCA",(0,l.U$)({usage:k,latency:{total:Date.now()-v}}));let o=Date.now()-v;if((0,n.ox)((0,l.$R)({...H,latency:{ttft:o,total:o},tokens:k,response:{content:f.choices?.[0]?.message?.content||null,thinking:f.choices?.[0]?.message?.reasoning_content||null,finish_reason:f.choices?.[0]?.finish_reason||"unknown"},status:"success"},{endpoint:y?.endpoint||null})).catch(()=>{}),k&&Object.keys(k).length>0&&(f.usage=k),f?.choices)for(let a of f.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;let p=b===j.h.OPENAI_RESPONSES?function(a,b=null){let c=a?.choices?.[0];if(!c)return a;let d=c.message||{},e=[],f=d.reasoning_content||d.reasoning;"string"==typeof f&&f.length>0&&e.push({type:m.Du.REASONING,summary:[{type:m.Du.SUMMARY_TEXT,text:f}]});let g="string"==typeof d.content?d.content:"";for(let a of(g.length>0&&e.push({type:m.Du.MESSAGE,role:m.z7.ASSISTANT,content:[{type:m.Du.OUTPUT_TEXT,text:g,annotations:[]}]}),d.tool_calls||[])){let c=a.function||{},d=b?.has(c.name);e.push({type:d?m.Du.CUSTOM_TOOL_CALL:m.Du.FUNCTION_CALL,id:`${d?"ctc":"fc"}_${a.id||""}`,call_id:a.id||"",name:c.name||"",...d?{input:function(a){let b="string"==typeof a?a:JSON.stringify(a||{});try{let a=JSON.parse(b);if(a&&"object"==typeof a&&"string"==typeof a.input)return a.input}catch{}return b}(c.arguments)}:{arguments:"string"==typeof c.arguments?c.arguments:JSON.stringify(c.arguments||{})}})}let h=a.usage||{};return{id:`resp_${a.id||""}`.replace(/^resp_chatcmpl-/,"resp_"),object:"response",created_at:a.created||Math.floor(Date.now()/1e3),model:a.model||"unknown",status:"completed",background:!1,error:null,output:e,usage:{input_tokens:h.prompt_tokens||h.input_tokens||0,output_tokens:h.completion_tokens||h.output_tokens||0,total_tokens:h.total_tokens||(h.prompt_tokens||0)+(h.completion_tokens||0)}}}(f,A):f;return{success:!0,response:new Response(JSON.stringify((0,g.HR)(p,B)),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Chat Completions SSE→JSON failed:",a),(0,h.A1)(i.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}}},86171:(a,b,c)=>{c.d(b,{$R:()=>j,Fo:()=>h,MK:()=>i,U$:()=>k,qr:()=>l});var d=c(47370),e=c(71857),f=c(73483);let g=["temperature","top_p","top_k","max_tokens","max_completion_tokens","thinking","reasoning","enable_thinking","presence_penalty","frequency_penalty","seed","stop","tools","tool_choice","response_format","prediction","store","metadata","n","logprobs","top_logprobs","logit_bias","user","parallel_tool_calls"];function h(a,b){let c={messages:a.messages||[],model:a.model,stream:b};for(let b of g)void 0!==a[b]&&(c[b]=a[b]);return c}function i(a){if(!a||"object"!=typeof a)return null;if(a.usage?.input_tokens!==void 0)return{prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,cached_tokens:a.usage.cached_tokens??a.usage.input_tokens_details?.cached_tokens,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens};if(a.usage?.prompt_tokens!==void 0)return{prompt_tokens:a.usage.prompt_tokens||0,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.cached_tokens??a.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens};let b=a.usageMetadata||a.response?.usageMetadata;return b?{prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,cached_tokens:b.cachedContentTokenCount||0,reasoning_tokens:b.thoughtsTokenCount||0}:null}function j(a,b={}){return{provider:a.provider||"unknown",model:a.model||"unknown",connectionId:a.connectionId||void 0,timestamp:new Date().toISOString(),latency:a.latency||{ttft:0,total:0},tokens:a.tokens||{prompt_tokens:0,completion_tokens:0},request:a.request,providerRequest:a.providerRequest||null,providerResponse:a.providerResponse||null,response:a.response||{},pxpipe:a.pxpipe||void 0,status:a.status||"success",...b}}function k({usage:a,latency:b}){let c=a||{},d=c.prompt_tokens??c.input_tokens??0,e=c.completion_tokens??c.output_tokens??0,f=c.cache_read_input_tokens??c.cached_tokens??c.prompt_tokens_details?.cached_tokens??0,g=c.cache_creation_input_tokens??0,h=`IN ${d}`;if(f||g){let a=[];f&&a.push(`↻${f}`),g&&a.push(`+${g}`),h+=` (CACHE ${a.join(" ")})`}let i=b?.ttft?` \xb7 TTFT ${b.ttft}ms`:"";return`DONE ${b?.total??0}ms${i} \xb7 ${h} \xb7 OUT ${e}`}function l({provider:a,model:b,tokens:c,connectionId:g,apiKey:h,endpoint:i,label:j="USAGE",silent:k=!1}){if(!c||"object"!=typeof c)return;let m=c.input_tokens??c.prompt_tokens??0,n=c.output_tokens??c.completion_tokens??0;if(0===m&&0===n)return;if(!k){let b=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),c=g?` | account=${g.slice(0,8)}...`:"";console.log(`${e.lm.green}[${b}] 📊 [${j}] ${a.toUpperCase()} | in=${m} | out=${n}${c}${e.lm.reset}`)}let o=(0,f._6)(c)||{prompt_tokens:c.prompt_tokens??c.input_tokens??0,completion_tokens:c.completion_tokens??c.output_tokens??0};(0,d.sZ)({provider:a||"unknown",model:b||"unknown",tokens:o,timestamp:new Date().toISOString(),connectionId:g||void 0,apiKey:h||void 0,endpoint:i||null}).catch(()=>{})}},92500:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{wk:()=>N});var e=c(57647),f=c(88499),g=c(52136),h=c(14170),i=c(95189),j=c(59657),k=c(8521),l=c(71336),m=c(57247),n=c(35024),o=c(43659),p=c(48136),q=c(41004),r=c(27349),s=c(47370),t=c(55330),u=c(90737),v=c(86171),w=c(81626),x=c(5016),y=c(20623),z=c(324),A=c(14724),B=c(60210),C=c(60125),D=c(60475),E=c(72758),F=c(70190),G=c(14823),H=c(24),I=c(5263),J=c(76083),K=c(17242),L=c(80662),M=a([t]);async function N({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:M,onRequestSuccess:O,onDisconnect:P,clientRawRequest:Q,connectionId:R,userAgent:S,apiKey:T,ccFilterNaming:U,rtkEnabled:V,headroomEnabled:W,headroomUrl:X,headroomCompressUserMessages:Y,headroomTimeoutMs:Z,cavemanEnabled:$,cavemanLevel:_,ponytailEnabled:aa,ponytailLevel:ab,pxpipeEnabled:ac,pxpipeMinChars:ad,pxpipeTimeoutMs:ae,pxpipeTransform:af,onPxpipeEvent:ag,sourceFormatOverride:ah,providerThinking:ai,providerOverrides:aj}){let ak,al,am,an,ao,ap,aq,{provider:ar,model:as}=b,at=Date.now(),au=(()=>{try{return(0,L.oV)({headers:Q?.headers,body:a,connectionId:R,scope:ar})}catch{return R||""}})(),av=d?.tagForSession?d.tagForSession(au):d?.nextTag?d.nextTag():"",aw=ah||(0,e.Tz)(a),ax=(0,r.c)(a,as,S,U);if(ax)return ax;let ay=m.Xg[ar]||ar,az=(0,m.ux)(ay,as),aA=(0,m.ez)(ay,as),aB=(0,e.oF)(ar,aw),aC=!aA||aA.includes(aw)?aB:null,aD=aC?.format||az||(0,e.jJ)(ar,c);aC&&c&&(c.runtimeTransport=aC);let aE=(0,m.cY)(ay,as),aF=(0,m.kt)(ay,as);if(ai?.mode&&"auto"!==ai.mode){let b=ai.mode;"on"!==b||a.thinking?"off"!==b||a.thinking?a.reasoning_effort||(a={...a,reasoning_effort:b}):a={...a,thinking:{type:"disabled"}}:(console.log("Injecting provider-level thinking config override: on"),a={...a,thinking:{type:"enabled",budget_tokens:1e4}})}let aG=Q?.headers?.[q.SA]?.toLowerCase()!=="off",aH="cursor"===ar?(0,E.B)(a,aG&&V):null,aI=(0,E.f)(aH);aI&&console.log(aI);let aJ=!0===a.stream||aw===h.h.ANTIGRAVITY||aw===h.h.GEMINI||aw===h.h.GEMINI_CLI,aK=n.xq[ar]?.forceStream===!0,aL=!!aK||!1!==a.stream;("imageGen"===(0,m.OA)(ay,as)||/image|imagen|image-generation/i.test(as))&&("antigravity"===ar||"gemini-cli"===ar)&&(aL=!1),"deepseek-tui"===(0,z.J)(Q?.headers||{},a)&&!0!==a.stream&&(aL=!1);let aM=Q?.headers?.accept||"",aN=aM.includes("application/json"),aO=aM.includes("text/event-stream");!aN||aO||!0===a.stream||aK||(aL=!1);let aP=await (0,l.q7)(aw,aD,as);Q&&aP.logClientRawRequest(Q.endpoint,Q.body,Q.headers),aP.logRawRequest(a),d?.debug?.("FORMAT",`${aw} → ${aD} | stream=${aL}`);let aQ=(0,z.J)(Q?.headers||{},a),aR=(0,z.Q)(aQ,ar);if(c&&(c.rawHeaders=Q?.headers||{}),!aR){let b=(0,H.getCapabilitiesForModel)(ar,as);(0,I.X)(a,aw,b)&&d?.debug?.("MODALITY",`stripped unsupported media for ${ar}/${as}`);try{let b=await (0,J.C)(a,aw,aD,{signal:void 0});b>0&&d?.debug?.("MODALITY",`prefetched ${b} remote image(s) for ${aD}`)}catch(a){d?.warn?.("MODALITY",`image prefetch failed: ${a.message}`)}}if(aR){if(d?.debug?.("PASSTHROUGH",`${aQ} → ${ar} | native lossless`),ak={...a,model:(0,g.kD)(aF)},"codex"===ar){let a={};if((0,g.z)(aw,aF,a,ar),a.reasoning_effort){let b=ak.reasoning;ak.reasoning={...b&&"object"==typeof b&&!Array.isArray(b)?b:{},effort:a.reasoning_effort},delete ak.reasoning_effort}}"claude"===aQ&&(0,i.ui)(ak,ak.model)}else{if(!(ak=(0,f.GH)(aw,aD,aF,a,aL,c,ar,aP,aE,R,aQ)))return(0,s.uw)(as,ar,R,!1,!0),(0,o.A1)(q.gx.BAD_REQUEST,`Failed to translate request for ${aw} → ${aD}`);al=ak._toolNameMap,delete ak._toolNameMap,am=ak._customToolNames,delete ak._customToolNames,ak.model=(0,g.kD)(aF),function(a){if(a&&Array.isArray(a.messages))for(let b of a.messages)b&&"object"==typeof b&&(delete b.encrypted_content,delete b.reasoning_encrypted_content)}(ak)}if(Array.isArray(ak.tools)){let{tools:a,stripped:b}=(0,A.F)(ak.tools,{clientTool:aQ,model:as});b.length>0&&(ak.tools=a,d?.debug?.("TOOLDEDUP",`stripped ${b.length}: ${b.slice(0,3).join(", ")}${b.length>3?"...":""}`))}let aS=aR?aw:aD;if(d?.line){let b=Q?.body?.model||`${ar}/${as}`,e=ak.messages?.length||ak.input?.length||ak.contents?.length||a.messages?.length||a.input?.length||0,f=ak.tools?.length||a.tools?.length||0,h=aR?`FMT: ${aw} (passthrough)`:`FMT: ${aw}→${aD}`,i="grok-cli"!==ar||(0,u.Au)(as)?d.fmtThink?.((0,g.sS)(ak)):null,j=c?.connectionName||c?.connectionId?.slice(0,8)||"-",k=[`POST ${b} → ${ar}/${as}`,h,aL?"STREAM":"JSON",`${e} MSG`];f&&k.push(`${f} TOOL`),i&&k.push(`THINK:${i}`),k.push(`ACC:${j}`),d.line(av,"▶",k.join(" \xb7 "))}"tts"===(0,m.OA)(ay,as)&&ak.messages&&(ak.messages=ak.messages.filter(a=>"tool"!==a.role),delete ak.tools),(0,K.dV)(ar,aS,ak.tools,n.xq)&&(ak.tools=(0,K.C5)(ak.tools));let aT=aH||(0,E.B)(ak,aG&&V),aU={},aV=await (0,F.SI)(ak,{enabled:aG&&W,url:X,model:aF,format:aS,compressUserMessages:Y,timeoutMs:Z,diagnostics:aU}),aW=(0,F.Nv)(aV),aX=(0,F.O2)(aU);aW?(d?.info?.("HEADROOM",`${aW}${aX?` | ${aX}`:""}`),(0,F.cB)(aV,aU)&&d?.warn?.("HEADROOM",`reported token delta, but outbound JSON shrank <5%; provider may bill near-original payload | ${(0,F.O2)(aU)}`)):aG&&W&&d?.warn?.("HEADROOM",`skipped: ${aU.reason||"compression unavailable"}${aU.endpoint?` (${aU.endpoint})`:""}`);let aY=[];aT?.hits?.length&&aY.push(`RTK:${aT.hits.length}`),aG&&$&&_&&((0,C.p)(ak,aS,_),aY.push(`CAVEMAN:${_}`)),aG&&aa&&ab&&((0,D.U)(ak,aS,ab),aY.push(`PONYTAIL:${ab}`));let aZ=null;if(ac){let a=await (0,G.H)(ak,{enabled:!0,format:aS,model:aF,minChars:ad,timeoutMs:ae,transform:af});aZ=a.summary,a.body&&(ak=a.body),aZ?.applied&&aY.push(`PXPIPE:${aZ.imageCount}img`);try{ag?.({provider:ar,model:as,...aZ})}catch{}}aY.length&&d?.line&&d.line(av,"⚙",aY.join(" \xb7 ")),aR&&"claude"===aQ&&(0,i._W)(ak);let a$=(0,t.SB)(ar);(0,s.uw)(as,ar,R,!0),(0,s.E5)({model:as,provider:ar,connectionId:R,status:"PENDING"}).catch(()=>{});let a_=ak.messages?.length||ak.input?.length||ak.contents?.length||ak.request?.contents?.length||0;d?.debug?.("REQUEST",`${ar.toUpperCase()} | ${as} | ${a_} msgs`);let a0=(0,j.jd)({onDisconnect:a=>{(0,s.uw)(as,ar,R,!1),P&&P(a)},onError:()=>(0,s.uw)(as,ar,R,!1),log:d,provider:ar,model:as,reqTag:av}),a1={connectionProxyEnabled:c?.providerSpecificData?.connectionProxyEnabled===!0,connectionProxyUrl:c?.providerSpecificData?.connectionProxyUrl||"",connectionNoProxy:c?.providerSpecificData?.connectionNoProxy||"",vercelRelayUrl:c?.providerSpecificData?.vercelRelayUrl||""};if(a1.vercelRelayUrl){let a=c?.connectionName||c?.connectionId||"unknown",b=c?.providerSpecificData?.connectionProxyPoolId||"none";d?.info?.("PROXY",`${ar.toUpperCase()} | ${as} | conn=${a} | pool=${b} | vercel-relay=${a1.vercelRelayUrl}`)}else if(a1.connectionProxyEnabled&&a1.connectionProxyUrl){let a=a1.connectionProxyUrl;try{let b=new URL(a1.connectionProxyUrl),c=b.hostname||"",d=b.port?`:${b.port}`:"",e=b.protocol||"http:";a=`${e}//${c}${d}`}catch{}let b=c?.providerSpecificData?.connectionProxyPoolId||"none",e=c?.connectionName||c?.connectionId||"unknown";d?.info?.("PROXY",`${ar.toUpperCase()} | ${as} | conn=${e} | pool=${b} | url=${a}`)}if(a1.connectionProxyEnabled&&a1.connectionNoProxy){let a=c?.connectionName||c?.connectionId||"unknown";d?.debug?.("PROXY",`${ar.toUpperCase()} | ${as} | conn=${a} | no_proxy=${a1.connectionNoProxy}`)}let a2=aD;try{let a=await a$.execute({model:as,body:ak,stream:aL,credentials:c,providerSessionId:au,clientTool:aQ,signal:a0.signal,log:d,proxyOptions:a1,providerOverrides:aj});an=a.response,ao=a.url,ap=a.headers,aq=a.transformedBody,a2=a.responseFormat||aD;let b=(0,B.g4)(ak);b?.size&&(al=new Map([...al||[],...b])),aP.logTargetRequest(ao,ap,aq)}catch(c){if((0,s.uw)(as,ar,R,!1,!0),(0,s.E5)({model:as,provider:ar,connectionId:R,status:`FAILED ${"AbortError"===c.name?499:q.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,s.ox)((0,v.$R)({provider:ar,model:as,connectionId:R,latency:{ttft:0,total:Date.now()-at},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,v.Fo)(a,aL),providerRequest:ak||null,response:{error:c.message||String(c),status:"AbortError"===c.name?499:502,thinking:null},pxpipe:aZ,status:"error"})).catch(()=>{}),"AbortError"===c.name)return a0.handleError(c),(0,o.A1)(499,"Request aborted");let b=(0,o.lR)(c,ar,as,q.gx.BAD_GATEWAY);return d?.errorLine&&d.errorLine(av,"✗",`ERROR 502 \xb7 ${ar}/${as} \xb7 ${Date.now()-at}ms
60
+ `),h.replace(/\n+$/,"")}s.filterName="search-list";let t=/^Result of search in '[^']*' \(total (\d+) files?\):/,u=/^diff --git /m,v=/^@@ /m,w=/^On branch |^nothing to commit|^Changes (not |to be )|^Untracked files:/m,x=/^[*|/\\ ]*commit [0-9a-f]{7,40}$/m,y=/^[ MADRCU?!][ MADRCU?!] \S/m,z=/^(npm (warn|error|ERR!)|yarn (warn|error)|\s*Compiling\s+\S+|\s*Downloading\s+\S+|added \d+ package|\[ERROR\]|BUILD (SUCCESS|FAILED)|\s*Finished\s+|Successfully (installed|built)|ERROR:)/im,A=/[├└]──|│ /,B=/^[-dlbcps][rwx-]{9}/m,C=/^total \d+$/m;function D(a){let b=a.indexOf(":");if(-1===b)return!1;let c=a.indexOf(":",b+1);if(-1===c)return!1;let d=a.slice(b+1,c);return/^\d+$/.test(d)}function E(a){let b=a.trim();return 0!==b.length&&(!!/^[A-Za-z]:[\\/]/.test(b)||!b.includes(":")&&(b.startsWith(".")||b.startsWith("/")||b.includes("/")))}function F(a,b){if(!b||!a)return null;if(a.conversationState){var c=a;let b={bytesBefore:0,bytesAfter:0,hits:[]};try{let a=c.conversationState,d=[...Array.isArray(a?.history)?a.history:[]];for(let c of(a?.currentMessage&&d.push(a.currentMessage),d)){let a=c?.userInputMessage?.userInputMessageContext?.toolResults;if(Array.isArray(a)){for(let c of a)if("error"!==c.status&&Array.isArray(c.content))for(let a of c.content)a&&"string"==typeof a.text&&(a.text=G(a.text,b,"kiro-tool-result"))}}}catch(a){return console.warn("[RTK] compressKiroFormat error:",a.message),null}return b}let d=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!d)return null;let e={bytesBefore:0,bytesAfter:0,hits:[]};try{for(let a=0;a<d.length;a++){let b=d[a];if(b){if("function_call_output"===b.type){if("string"==typeof b.output)b.output=G(b.output,e,"openai-responses-string");else if(Array.isArray(b.output))for(let a=0;a<b.output.length;a++){let c=b.output[a];c&&"input_text"===c.type&&"string"==typeof c.text&&(c.text=G(c.text,e,"openai-responses-array"))}continue}if("tool"===b.role&&"string"==typeof b.content){b.content=G(b.content,e,"openai-tool");continue}if(Array.isArray(b.content)){if("tool"===b.role){for(let a=0;a<b.content.length;a++){let c=b.content[a];c&&"text"===c.type&&"string"==typeof c.text&&(c.text=G(c.text,e,"openai-tool-array"))}continue}for(let a=0;a<b.content.length;a++){let c=b.content[a];if(c&&"tool_result"===c.type&&!0!==c.is_error){if("string"==typeof c.content)c.content=G(c.content,e,"claude-string");else if(Array.isArray(c.content))for(let a=0;a<c.content.length;a++){let b=c.content[a];b&&"text"===b.type&&"string"==typeof b.text&&(b.text=G(b.text,e,"claude-array"))}}}}}}}catch(a){return console.warn("[RTK] compressMessages error:",a.message),null}return e}function G(a,b,c){let d=a.length;if(b.bytesBefore+=d,d<500||d>0xa00000)return b.bytesAfter+=d,a;let h=function(a){var b,c;let d,h,m=a.length>1024?a.slice(0,1024):a;if(x.test(m))return g;if(u.test(m)||v.test(m))return e;if(w.test(m))return f;if(z.test(m))return i;if(!((d=m.split("\n").filter(a=>a.trim())).length<3)&&d.filter(a=>y.test(a)).length/d.length>=.6)return f;let F=m.split("\n"),G=F.filter(a=>a.trim().length>0);return G.slice(0,5).some(D)?j:G.length>=3&&G.every(E)?k:A.test(m)?o:C.test(m)||(b=m,h=new RegExp((c=B).source,c.flags.includes("g")?c.flags:c.flags+"g"),(b.match(h)||[]).length>=3)?n:t.test(m)?s:F.length>=250&&function(a){let b=0,c=0;for(let d of a.slice(0,100))0!==d.length&&(c++,r.test(d)&&b++);return!(c<5)&&b/c>=.7}(F)?q:G.length>=5?l:a.split("\n").length>=250?p:null}(a);if(!h)return b.bytesAfter+=d,a;let m=function(a,b){if("function"!=typeof a)return b;try{let c=a(b);if("string"!=typeof c)return b;return c}catch(d){let c=a.filterName||a.name||"anonymous";return console.warn(`[rtk] warning: filter '${c}' panicked — passing through raw output: ${d?.message||d}`),b}}(h,a);return!m||0===m.length||m.length>=d?(b.bytesAfter+=d,a):(b.bytesAfter+=m.length,b.hits.push({shape:c,filter:h.filterName||h.name,saved:d-m.length}),m)}function H(a){if(!a||!a.hits||0===a.hits.length)return null;let b=a.bytesBefore-a.bytesAfter,c=a.bytesBefore>0?(b/a.bytesBefore*100).toFixed(1):"0",d=Array.from(new Set(a.hits.map(a=>a.filter))).join(",");return`[RTK] saved ${b}B / ${a.bytesBefore}B (${c}%) via [${d}] hits=${a.hits.length}`}},76083:(a,b,c)=>{c.d(b,{C:()=>h});var d=c(14170),e=c(29463);let f=new Set([d.h.GEMINI,d.h.GEMINI_CLI,d.h.VERTEX,d.h.ANTIGRAVITY,d.h.OLLAMA,d.h.KIRO,d.h.COMMANDCODE]);function g(a){return"string"==typeof a&&(a.startsWith("http://")||a.startsWith("https://"))}async function h(a,b,c,i={}){if(!a||!f.has(c))return 0;let j=function(a,b){let c=[],e=a=>{for(let b of a||[])if(Array.isArray(b.content)){for(let a of b.content)if(a?.type==="image_url"){let b="string"==typeof a.image_url?a.image_url:a.image_url?.url;g(b)&&c.push({get:()=>b,set:b=>{"string"==typeof a.image_url?a.image_url=b:a.image_url.url=b}})}}},f=a=>{for(let b of a||[])for(let a of b.parts||[]){let b=a?.fileData?.fileUri;g(b)&&c.push({get:()=>b,part:a})}};switch(b){case d.h.OPENAI:case d.h.OLLAMA:case d.h.KIRO:case d.h.CURSOR:case d.h.COMMANDCODE:e(a.messages);break;case d.h.CLAUDE:for(let b of a.messages||[])if(Array.isArray(b.content))for(let a of b.content)a?.type==="image"&&a.source?.type==="url"&&g(a.source.url)&&c.push({get:()=>a.source.url,claudeBlock:a});break;case d.h.GEMINI:case d.h.GEMINI_CLI:case d.h.VERTEX:f(a.contents);break;case d.h.ANTIGRAVITY:f(a?.request?.contents);break;default:e(a.messages)}return c}(a,b);if(!j.length)return 0;let k=0;for(let a of j){let b=a.get();if((0,e.W$)(b))continue;let c=await (0,e.ni)(b,i);c&&(a.set?a.set(c.url):a.part?(delete a.part.fileData,a.part.inlineData={mimeType:c.mimeType,data:c.url.split(",")[1]}):a.claudeBlock&&(a.claudeBlock.source={type:"base64",media_type:c.mimeType,data:c.url.split(",")[1]}),k++)}return k}},80121:(a,b,c)=>{c.d(b,{X:()=>e});var d=c(24643);function e(a,b){(0,d.J)(a,b,"Code comment hygiene: write and keep only comments that carry real information (business logic, architectural decisions, security considerations, workarounds, edge cases). Strictly eliminate AI-slop comments: NO decorative separators (===, ---), NO restating the obvious (e.g. // initialize count), NO step-by-step workflow narration (// Step 1, // Finally), NO empty labels (// Main logic, // Helper), NO signature echoes, NO decorative emoji, and NO closing brace end-markers. Comments must be concise (1-2 lines), sentence-case, explaining WHY not WHAT. Scope guardrail: only comment hygiene is affected; never alter, truncate, or simplify executable code, logic, identifiers, or imports.")}},81626:(a,b,c)=>{function d(a,b){let c;if(!a.trim())return;let d=a.match(/^event:\s*(.+)$/m),e=a.match(/^data:\s*(.+)$/m);if(!d||!e)return;let f=d[1].trim(),g=e[1].trim();if("[DONE]"!==g){try{c=JSON.parse(g)}catch{return}"response.created"===f?(b.responseId=c.response?.id||b.responseId,b.created=c.response?.created_at||b.created):"response.output_item.done"===f?b.items.set(c.output_index??0,c.item):"response.completed"===f||"response.done"===f?(b.status="completed",c.response?.usage&&(b.usage.input_tokens=c.response.usage.input_tokens||0,b.usage.output_tokens=c.response.usage.output_tokens||0,b.usage.total_tokens=c.response.usage.total_tokens||0)):"response.failed"===f&&(b.status="failed")}}c.d(b,{I:()=>r,F:()=>q});let e={input_tokens:0,output_tokens:0,total_tokens:0};async function f(a){if(!a||"function"!=typeof a.getReader)return{id:`resp_${Date.now()}`,object:"response",created_at:Math.floor(Date.now()/1e3),status:"failed",output:[],usage:{...e}};let b=a.getReader(),c=new TextDecoder,f="",g={responseId:"",created:Math.floor(Date.now()/1e3),status:"in_progress",usage:{...e},items:new Map};try{for(;;){let{done:a,value:e}=await b.read();if(a)break;let h=(f+=c.decode(e,{stream:!0})).split("\n\n");for(let a of(f=h.pop()||"",h))d(a,g)}f.trim()&&d(f,g)}finally{b.releaseLock()}let h=[],i=g.items.size>0?Math.max(...g.items.keys()):-1;for(let a=0;a<=i;a++)h.push(g.items.get(a)||{type:"message",content:[],role:"assistant"});return{id:g.responseId||`resp_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,object:"response",created_at:g.created,status:g.status||"completed",output:h,usage:g.usage}}var g=c(60210),h=c(43659),i=c(41004),j=c(14170),k=c(35024),l=c(86171),m=c(43698),n=c(47370);let o=a=>k.xq[a]?.format===j.h.OPENAI_RESPONSES;function p(a){if(!a?.content||!Array.isArray(a.content))return"";let b=a.content.find(a=>"output_text"===a.type);if("string"==typeof b?.text)return b.text;let c=a.content.find(a=>"string"==typeof a.text);return"string"==typeof c?.text?c.text:""}function q(a,b){let c=[],d=null;for(let b of String(a||"").split("\n")){let a=b.trim();if(!a.startsWith("data:"))continue;let e=a.slice(5).trim();if(e&&"[DONE]"!==e)try{let a=JSON.parse(e);a?.error?d=a.error:c.push(a)}catch{}}if(d)return{error:d};if(0===c.length)return null;let e=c[0],f=[],g=[],h=new Map,i="stop",j=null;for(let a of c){let b=a?.choices?.[0],c=b?.delta||{};if("string"==typeof c.content&&c.content.length>0&&f.push(c.content),"string"==typeof c.reasoning_content&&c.reasoning_content.length>0&&g.push(c.reasoning_content),b?.finish_reason&&(i=b.finish_reason),a?.usage&&"object"==typeof a.usage&&(j=a.usage),Array.isArray(c.tool_calls))for(let a of c.tool_calls){let b=a.index??0;h.has(b)||h.set(b,{id:a.id||"",type:"function",function:{name:"",arguments:""}});let c=h.get(b);a.id&&(c.id=a.id),a.function?.name&&(c.function.name+=a.function.name),a.function?.arguments&&(c.function.arguments+=a.function.arguments)}}let k={role:"assistant",content:f.join("")||(h.size>0?null:"")};g.length>0&&(k.reasoning_content=g.join("")),h.size>0&&(k.tool_calls=[...h.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a));let l={id:e.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:e.created||Math.floor(Date.now()/1e3),model:e.model||b||"unknown",choices:[{index:0,message:k,finish_reason:i}]};return j&&(l.usage=j),l}async function r({providerResponse:a,sourceFormat:b,targetFormat:c,provider:d,model:e,body:k,stream:s,translatedBody:t,finalBody:u,requestStartTime:v,connectionId:w,apiKey:x,clientRawRequest:y,onRequestSuccess:z,customToolNames:A,toolNameMap:B,trackDone:C,appendLog:D,reqTag:E,log:F}){let G=a.headers.get("content-type")||"";if(!(G.includes("text/event-stream")||""===G&&o(d)))return null;C();let H={provider:d,model:e,connectionId:w,request:(0,l.Fo)(k,s),providerRequest:u||t||null};if(o(d)||c===j.h.OPENAI_RESPONSES)try{let c,h=await f(a.body);z&&await z();let i=h.usage||{};D({tokens:i,status:"200 OK"}),(0,l.qr)({provider:d,model:e,tokens:i,connectionId:w,apiKey:x,endpoint:y?.endpoint,silent:!0}),F?.line&&F.line(E,"\uD83D\uDCCA",(0,l.U$)({usage:i,latency:{total:Date.now()-v}}));let k=(i.input_tokens||0)+(i.cache_read_input_tokens||i.cached_tokens||0)+(i.cache_creation_input_tokens||0),{msgItem:m,textContent:o}=function(a){if(!Array.isArray(a))return{msgItem:null,textContent:null};let b=a.filter(a=>a?.type==="message");if(0===b.length)return{msgItem:null,textContent:null};for(let a=b.length-1;a>=0;a--){let c=p(b[a]);if(c.length>0)return{msgItem:b[a],textContent:c}}let c=b[b.length-1];return{msgItem:c,textContent:p(c)}}(h.output),q=Date.now()-v;if((0,n.ox)((0,l.$R)({...H,latency:{ttft:q,total:q},tokens:{prompt_tokens:k,completion_tokens:i.output_tokens||0},response:{content:o,thinking:null,finish_reason:h.status||"unknown"},status:"success"},{endpoint:y?.endpoint||null})).catch(()=>{}),b===j.h.OPENAI_RESPONSES)return{success:!0,response:new Response(JSON.stringify((0,g.HR)(h,B)),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})};let r=i.cache_read_input_tokens||i.cached_tokens||0,s=i.cache_creation_input_tokens||0,t=(i.input_tokens||0)+r+s,u=i.output_tokens||0,A=r>0||s>0?{prompt_tokens_details:{...r>0?{cached_tokens:r}:{},...s>0?{cache_creation_tokens:s}:{}}}:{},C=(h.output||[]).filter(a=>"function_call"===a.type).map((a,b)=>({id:a.call_id||`call_${a.name}_${Date.now()}_${b}`,type:"function",function:{name:a.name,arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments||{})}})),G=C.length>0;if(b===j.h.ANTIGRAVITY||b===j.h.GEMINI||b===j.h.GEMINI_CLI)c={response:{candidates:[{content:{role:"model",parts:[{text:o||""}]},finishReason:"STOP",index:0}],usageMetadata:{promptTokenCount:t,candidatesTokenCount:u,totalTokenCount:t+u},modelVersion:e,responseId:h.id||`resp_${Date.now()}`}};else{let a={role:"assistant",content:o||(G?null:"")};G&&(a.tool_calls=C);let b="completed"===h.status||"done"===h.status,d=G?"tool_calls":b?"stop":h.status||"stop";c={id:h.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:h.created_at||Math.floor(Date.now()/1e3),model:h.model||e,choices:[{index:0,message:a,finish_reason:d}],usage:{prompt_tokens:t,completion_tokens:u,total_tokens:t+u,...A}}}return{success:!0,response:new Response(JSON.stringify((0,g.HR)(c,B)),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Responses API SSE→JSON failed:",a),(0,h.A1)(i.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}try{let c=await a.text(),f=q(c,e);if(!f)return(0,h.A1)(i.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");if(f.error){let a=Number(f.error.status),b=Number.isInteger(a)&&a>=400&&a<=599?a:i.gx.BAD_GATEWAY;return(0,h.A1)(b,f.error.message||"Upstream SSE stream failed")}z&&await z();let k=f.usage||{};D({tokens:k,status:"200 OK"}),(0,l.qr)({provider:d,model:e,tokens:k,connectionId:w,apiKey:x,endpoint:y?.endpoint,silent:!0}),F?.line&&F.line(E,"\uD83D\uDCCA",(0,l.U$)({usage:k,latency:{total:Date.now()-v}}));let o=Date.now()-v;if((0,n.ox)((0,l.$R)({...H,latency:{ttft:o,total:o},tokens:k,response:{content:f.choices?.[0]?.message?.content||null,thinking:f.choices?.[0]?.message?.reasoning_content||null,finish_reason:f.choices?.[0]?.finish_reason||"unknown"},status:"success"},{endpoint:y?.endpoint||null})).catch(()=>{}),k&&Object.keys(k).length>0&&(f.usage=k),f?.choices)for(let a of f.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;let p=b===j.h.OPENAI_RESPONSES?function(a,b=null){let c=a?.choices?.[0];if(!c)return a;let d=c.message||{},e=[],f=d.reasoning_content||d.reasoning;"string"==typeof f&&f.length>0&&e.push({type:m.Du.REASONING,summary:[{type:m.Du.SUMMARY_TEXT,text:f}]});let g="string"==typeof d.content?d.content:"";for(let a of(g.length>0&&e.push({type:m.Du.MESSAGE,role:m.z7.ASSISTANT,content:[{type:m.Du.OUTPUT_TEXT,text:g,annotations:[]}]}),d.tool_calls||[])){let c=a.function||{},d=b?.has(c.name);e.push({type:d?m.Du.CUSTOM_TOOL_CALL:m.Du.FUNCTION_CALL,id:`${d?"ctc":"fc"}_${a.id||""}`,call_id:a.id||"",name:c.name||"",...d?{input:function(a){let b="string"==typeof a?a:JSON.stringify(a||{});try{let a=JSON.parse(b);if(a&&"object"==typeof a&&"string"==typeof a.input)return a.input}catch{}return b}(c.arguments)}:{arguments:"string"==typeof c.arguments?c.arguments:JSON.stringify(c.arguments||{})}})}let h=a.usage||{};return{id:`resp_${a.id||""}`.replace(/^resp_chatcmpl-/,"resp_"),object:"response",created_at:a.created||Math.floor(Date.now()/1e3),model:a.model||"unknown",status:"completed",background:!1,error:null,output:e,usage:{input_tokens:h.prompt_tokens||h.input_tokens||0,output_tokens:h.completion_tokens||h.output_tokens||0,total_tokens:h.total_tokens||(h.prompt_tokens||0)+(h.completion_tokens||0)}}}(f,A):f;return{success:!0,response:new Response(JSON.stringify((0,g.HR)(p,B)),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Chat Completions SSE→JSON failed:",a),(0,h.A1)(i.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}}},86171:(a,b,c)=>{c.d(b,{$R:()=>j,Fo:()=>h,MK:()=>i,U$:()=>k,qr:()=>l});var d=c(47370),e=c(71857),f=c(73483);let g=["temperature","top_p","top_k","max_tokens","max_completion_tokens","thinking","reasoning","enable_thinking","presence_penalty","frequency_penalty","seed","stop","tools","tool_choice","response_format","prediction","store","metadata","n","logprobs","top_logprobs","logit_bias","user","parallel_tool_calls"];function h(a,b){let c={messages:a.messages||[],model:a.model,stream:b};for(let b of g)void 0!==a[b]&&(c[b]=a[b]);return c}function i(a){if(!a||"object"!=typeof a)return null;if(a.usage?.input_tokens!==void 0)return{prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,cached_tokens:a.usage.cached_tokens??a.usage.input_tokens_details?.cached_tokens,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens};if(a.usage?.prompt_tokens!==void 0)return{prompt_tokens:a.usage.prompt_tokens||0,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.cached_tokens??a.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens};let b=a.usageMetadata||a.response?.usageMetadata;if(b)return{prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,cached_tokens:b.cachedContentTokenCount||0,reasoning_tokens:b.thoughtsTokenCount||0};if(!0===a.done&&(void 0!==a.prompt_eval_count||void 0!==a.eval_count)){let b=a.prompt_eval_count||0,c=a.eval_count||0;return{prompt_tokens:b,completion_tokens:c,total_tokens:b+c,cached_tokens:a.prompt_eval_cached_count||0}}return null}function j(a,b={}){return{provider:a.provider||"unknown",model:a.model||"unknown",connectionId:a.connectionId||void 0,timestamp:new Date().toISOString(),latency:a.latency||{ttft:0,total:0},tokens:a.tokens||{prompt_tokens:0,completion_tokens:0},request:a.request,providerRequest:a.providerRequest||null,providerResponse:a.providerResponse||null,response:a.response||{},pxpipe:a.pxpipe||void 0,status:a.status||"success",...b}}function k({usage:a,latency:b}){let c=a||{},d=c.prompt_tokens??c.input_tokens??0,e=c.completion_tokens??c.output_tokens??0,f=c.cache_read_input_tokens??c.cached_tokens??c.prompt_tokens_details?.cached_tokens??0,g=c.cache_creation_input_tokens??0,h=`IN ${d}`;if(f||g){let a=[];f&&a.push(`↻${f}`),g&&a.push(`+${g}`),h+=` (CACHE ${a.join(" ")})`}let i=b?.ttft?` \xb7 TTFT ${b.ttft}ms`:"";return`DONE ${b?.total??0}ms${i} \xb7 ${h} \xb7 OUT ${e}`}function l({provider:a,model:b,tokens:c,connectionId:g,apiKey:h,endpoint:i,label:j="USAGE",silent:k=!1}){if(!c||"object"!=typeof c)return;let m=c.input_tokens??c.prompt_tokens??0,n=c.output_tokens??c.completion_tokens??0;if(0===m&&0===n)return;if(!k){let b=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),c=g?` | account=${g.slice(0,8)}...`:"";console.log(`${e.lm.green}[${b}] 📊 [${j}] ${a.toUpperCase()} | in=${m} | out=${n}${c}${e.lm.reset}`)}let o=(0,f._6)(c)||{prompt_tokens:c.prompt_tokens??c.input_tokens??0,completion_tokens:c.completion_tokens??c.output_tokens??0};(0,d.sZ)({provider:a||"unknown",model:b||"unknown",tokens:o,timestamp:new Date().toISOString(),connectionId:g||void 0,apiKey:h||void 0,endpoint:i||null}).catch(()=>{})}},92500:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{wk:()=>O});var e=c(57647),f=c(88499),g=c(52136),h=c(14170),i=c(95189),j=c(59657),k=c(8521),l=c(71336),m=c(57247),n=c(35024),o=c(43659),p=c(48136),q=c(41004),r=c(27349),s=c(47370),t=c(55330),u=c(90737),v=c(86171),w=c(81626),x=c(5016),y=c(20623),z=c(324),A=c(14724),B=c(60210),C=c(60125),D=c(60475),E=c(80121),F=c(72758),G=c(70190),H=c(14823),I=c(24),J=c(5263),K=c(76083),L=c(17242),M=c(80662),N=a([t]);async function O({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:N,onRequestSuccess:P,onDisconnect:Q,clientRawRequest:R,connectionId:S,userAgent:T,apiKey:U,ccFilterNaming:V,rtkEnabled:W,headroomEnabled:X,headroomUrl:Y,headroomCompressUserMessages:Z,headroomTimeoutMs:$,cavemanEnabled:_,cavemanLevel:aa,ponytailEnabled:ab,ponytailLevel:ac,antislopCodeEnabled:ad,pxpipeEnabled:ae,pxpipeMinChars:af,pxpipeTimeoutMs:ag,pxpipeTransform:ah,onPxpipeEvent:ai,sourceFormatOverride:aj,providerThinking:ak,providerOverrides:al}){let am,an,ao,ap,aq,ar,as,{provider:at,model:au}=b,av=Date.now(),aw=(()=>{try{return(0,M.oV)({headers:R?.headers,body:a,connectionId:S,scope:at})}catch{return S||""}})(),ax=d?.tagForSession?d.tagForSession(aw):d?.nextTag?d.nextTag():"",ay=aj||(0,e.Tz)(a),az=(0,r.c)(a,au,T,V);if(az)return az;let aA=m.Xg[at]||at,aB=(0,m.ux)(aA,au),aC=(0,m.ez)(aA,au),aD=(0,e.oF)(at,ay),aE=aB?(0,e.oF)(at,aB):null,aF=!aC||aC.includes(ay)?aD:aE,aG=aF?.format||aB||(0,e.jJ)(at,c);aF&&c&&(c.runtimeTransport=aF);let aH=(0,m.cY)(aA,au),aI=(0,m.kt)(aA,au);if(ak?.mode&&"auto"!==ak.mode){let b=ak.mode;"on"!==b||a.thinking?"off"!==b||a.thinking?a.reasoning_effort||(a={...a,reasoning_effort:b}):a={...a,thinking:{type:"disabled"}}:(console.log("Injecting provider-level thinking config override: on"),a={...a,thinking:{type:"enabled",budget_tokens:1e4}})}let aJ=R?.headers?.[q.SA]?.toLowerCase()!=="off",aK="cursor"===at?(0,F.B)(a,aJ&&W):null,aL=(0,F.f)(aK);aL&&console.log(aL);let aM=!0===a.stream||ay===h.h.ANTIGRAVITY||ay===h.h.GEMINI||ay===h.h.GEMINI_CLI,aN=n.xq[at]?.forceStream===!0,aO=!!aN||!1!==a.stream;("imageGen"===(0,m.OA)(aA,au)||/image|imagen|image-generation/i.test(au))&&("antigravity"===at||"gemini-cli"===at)&&(aO=!1),"deepseek-tui"===(0,z.J)(R?.headers||{},a)&&!0!==a.stream&&(aO=!1);let aP=R?.headers?.accept||"",aQ=aP.includes("application/json"),aR=aP.includes("text/event-stream");!aQ||aR||!0===a.stream||aN||(aO=!1);let aS=await (0,l.q7)(ay,aG,au);R&&aS.logClientRawRequest(R.endpoint,R.body,R.headers),aS.logRawRequest(a),d?.debug?.("FORMAT",`${ay} → ${aG} | stream=${aO}`);let aT=(0,z.J)(R?.headers||{},a),aU=(0,z.Q)(aT,at);if(c&&(c.rawHeaders=R?.headers||{}),!aU){let b=(0,I.getCapabilitiesForModel)(at,au);(0,J.X)(a,ay,b)&&d?.debug?.("MODALITY",`stripped unsupported media for ${at}/${au}`);try{let b=await (0,K.C)(a,ay,aG,{signal:void 0});b>0&&d?.debug?.("MODALITY",`prefetched ${b} remote image(s) for ${aG}`)}catch(a){d?.warn?.("MODALITY",`image prefetch failed: ${a.message}`)}}if(aU){if(d?.debug?.("PASSTHROUGH",`${aT} → ${at} | native lossless`),am={...a,model:(0,g.kD)(aI)},"codex"===at){let a={};if((0,g.z)(ay,aI,a,at),a.reasoning_effort){let b=am.reasoning;am.reasoning={...b&&"object"==typeof b&&!Array.isArray(b)?b:{},effort:a.reasoning_effort},delete am.reasoning_effort}}"claude"===aT&&(0,i.ui)(am,am.model)}else{if(!(am=(0,f.GH)(ay,aG,aI,a,aO,c,at,aS,aH,S,aT)))return(0,s.uw)(au,at,S,!1,!0),(0,o.A1)(q.gx.BAD_REQUEST,`Failed to translate request for ${ay} → ${aG}`);an=am._toolNameMap,delete am._toolNameMap,ao=am._customToolNames,delete am._customToolNames,am.model=(0,g.kD)(aI),function(a){if(a&&Array.isArray(a.messages))for(let b of a.messages)b&&"object"==typeof b&&(delete b.encrypted_content,delete b.reasoning_encrypted_content)}(am)}if(Array.isArray(am.tools)){let{tools:a,stripped:b}=(0,A.F)(am.tools,{clientTool:aT,model:au});b.length>0&&(am.tools=a,d?.debug?.("TOOLDEDUP",`stripped ${b.length}: ${b.slice(0,3).join(", ")}${b.length>3?"...":""}`))}let aV=aU?ay:aG;if(d?.line){let b=R?.body?.model||`${at}/${au}`,e=am.messages?.length||am.input?.length||am.contents?.length||a.messages?.length||a.input?.length||0,f=am.tools?.length||a.tools?.length||0,h=aU?`FMT: ${ay} (passthrough)`:`FMT: ${ay}→${aG}`,i="grok-cli"!==at||(0,u.Au)(au)?d.fmtThink?.((0,g.sS)(am)):null,j=c?.connectionName||c?.connectionId?.slice(0,8)||"-",k=[`POST ${b} → ${at}/${au}`,h,aO?"STREAM":"JSON",`${e} MSG`];f&&k.push(`${f} TOOL`),i&&k.push(`THINK:${i}`),k.push(`ACC:${j}`),d.line(ax,"▶",k.join(" \xb7 "))}"tts"===(0,m.OA)(aA,au)&&am.messages&&(am.messages=am.messages.filter(a=>"tool"!==a.role),delete am.tools),(0,L.dV)(at,aV,am.tools,n.xq)&&(am.tools=(0,L.C5)(am.tools));let aW=aK||(0,F.B)(am,aJ&&W),aX={},aY=await (0,G.SI)(am,{enabled:aJ&&X,url:Y,model:aI,format:aV,compressUserMessages:Z,timeoutMs:$,diagnostics:aX}),aZ=(0,G.Nv)(aY),a$=(0,G.O2)(aX);aZ?(d?.info?.("HEADROOM",`${aZ}${a$?` | ${a$}`:""}`),(0,G.cB)(aY,aX)&&d?.warn?.("HEADROOM",`reported token delta, but outbound JSON shrank <5%; provider may bill near-original payload | ${(0,G.O2)(aX)}`)):aJ&&X&&d?.warn?.("HEADROOM",`skipped: ${aX.reason||"compression unavailable"}${aX.endpoint?` (${aX.endpoint})`:""}`);let a_=[];aW?.hits?.length&&a_.push(`RTK:${aW.hits.length}`),aJ&&_&&aa&&((0,C.p)(am,aV,aa),a_.push(`CAVEMAN:${aa}`)),aJ&&ab&&ac&&((0,D.U)(am,aV,ac),a_.push(`PONYTAIL:${ac}`)),aJ&&ad&&((0,E.X)(am,aV),a_.push("ANTISLOP"));let a0=null;if(ae){let a=await (0,H.H)(am,{enabled:!0,format:aV,model:aI,minChars:af,timeoutMs:ag,transform:ah});a0=a.summary,a.body&&(am=a.body),a0?.applied&&a_.push(`PXPIPE:${a0.imageCount}img`);try{ai?.({provider:at,model:au,...a0})}catch{}}a_.length&&d?.line&&d.line(ax,"⚙",a_.join(" \xb7 ")),aU&&"claude"===aT&&(0,i._W)(am);let a1=(0,t.SB)(at);(0,s.uw)(au,at,S,!0),(0,s.E5)({model:au,provider:at,connectionId:S,status:"PENDING"}).catch(()=>{});let a2=am.messages?.length||am.input?.length||am.contents?.length||am.request?.contents?.length||0;d?.debug?.("REQUEST",`${at.toUpperCase()} | ${au} | ${a2} msgs`);let a3=(0,j.jd)({onDisconnect:a=>{(0,s.uw)(au,at,S,!1),Q&&Q(a)},onError:()=>(0,s.uw)(au,at,S,!1),log:d,provider:at,model:au,reqTag:ax}),a4={connectionProxyEnabled:c?.providerSpecificData?.connectionProxyEnabled===!0,connectionProxyUrl:c?.providerSpecificData?.connectionProxyUrl||"",connectionNoProxy:c?.providerSpecificData?.connectionNoProxy||"",vercelRelayUrl:c?.providerSpecificData?.vercelRelayUrl||""};if(a4.vercelRelayUrl){let a=c?.connectionName||c?.connectionId||"unknown",b=c?.providerSpecificData?.connectionProxyPoolId||"none";d?.info?.("PROXY",`${at.toUpperCase()} | ${au} | conn=${a} | pool=${b} | vercel-relay=${a4.vercelRelayUrl}`)}else if(a4.connectionProxyEnabled&&a4.connectionProxyUrl){let a=a4.connectionProxyUrl;try{let b=new URL(a4.connectionProxyUrl),c=b.hostname||"",d=b.port?`:${b.port}`:"",e=b.protocol||"http:";a=`${e}//${c}${d}`}catch{}let b=c?.providerSpecificData?.connectionProxyPoolId||"none",e=c?.connectionName||c?.connectionId||"unknown";d?.info?.("PROXY",`${at.toUpperCase()} | ${au} | conn=${e} | pool=${b} | url=${a}`)}if(a4.connectionProxyEnabled&&a4.connectionNoProxy){let a=c?.connectionName||c?.connectionId||"unknown";d?.debug?.("PROXY",`${at.toUpperCase()} | ${au} | conn=${a} | no_proxy=${a4.connectionNoProxy}`)}let a5=aG;try{let a=await a1.execute({model:au,body:am,stream:aO,credentials:c,providerSessionId:aw,clientTool:aT,signal:a3.signal,log:d,proxyOptions:a4,providerOverrides:al});ap=a.response,aq=a.url,ar=a.headers,as=a.transformedBody,a5=a.responseFormat||aG;let b=(0,B.g4)(am);b?.size&&(an=new Map([...an||[],...b])),aS.logTargetRequest(aq,ar,as)}catch(c){if((0,s.uw)(au,at,S,!1,!0),(0,s.E5)({model:au,provider:at,connectionId:S,status:`FAILED ${"AbortError"===c.name?499:q.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,s.ox)((0,v.$R)({provider:at,model:au,connectionId:S,latency:{ttft:0,total:Date.now()-av},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,v.Fo)(a,aO),providerRequest:am||null,response:{error:c.message||String(c),status:"AbortError"===c.name?499:502,thinking:null},pxpipe:a0,status:"error"})).catch(()=>{}),"AbortError"===c.name)return a3.handleError(c),(0,o.A1)(499,"Request aborted");let b=(0,o.lR)(c,at,au,q.gx.BAD_GATEWAY);return d?.errorLine&&d.errorLine(ax,"✗",`ERROR 502 \xb7 ${at}/${au} \xb7 ${Date.now()-av}ms
61
61
  ${b}${c.stack?`
62
- ${c.stack}`:""}`),(0,o.A1)(q.gx.BAD_GATEWAY,b)}if(!a$.noAuth&&(an.status===q.gx.UNAUTHORIZED||an.status===q.gx.FORBIDDEN))try{let a=await (0,k.qZ)(async()=>{let a=await a$.refreshCredentials(c,d);return a?.refreshToken&&a.refreshToken!==c.refreshToken&&(a.accessToken&&(c.accessToken=a.accessToken),c.refreshToken=a.refreshToken),a},3,d);if(a?.accessToken||a?.copilotToken){if(d?.line&&d.line(av,"\uD83D\uDD11",`TOKEN REFRESHED \xb7 ${ar}/${as}`),Object.assign(c,a),M)try{await M(a)}catch(a){d?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}try{let a=await a$.execute({model:as,body:ak,stream:aL,credentials:c,providerSessionId:au,clientTool:aQ,signal:a0.signal,log:d,proxyOptions:a1,providerOverrides:aj});a.response.ok&&(an=a.response,ao=a.url,a2=a.responseFormat||aD)}catch{d?.warn?.("TOKEN",`${ar.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${ar.toUpperCase()} | refresh failed`)}catch(a){d?.warn?.("TOKEN",`${ar.toUpperCase()} | refresh threw: ${a.message}`)}if(!an.ok){(0,s.uw)(as,ar,R,!1,!0);let{statusCode:b,message:c,resetsAtMs:e}=await (0,o.zL)(an,a$);(0,s.E5)({model:as,provider:ar,connectionId:R,status:`FAILED ${b}`}).catch(()=>{}),(0,s.ox)((0,v.$R)({provider:ar,model:as,connectionId:R,latency:{ttft:0,total:Date.now()-at},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,v.Fo)(a,aL),providerRequest:aq||ak||null,response:{error:c,status:b,thinking:null},pxpipe:aZ,status:"error"})).catch(()=>{});let f=(0,o.lR)(Error(c),ar,as,b);if(d?.errorLine){let a=ao?`
63
- URL: ${ao}`:"";d.errorLine(av,"✗",`ERROR ${b} \xb7 ${ar}/${as} \xb7 ${Date.now()-at}ms${a}
64
- ${f}`)}return aP.logError(Error(c),aq||ak),(0,o.A1)(b,f,e,(0,p.d)(an.headers))}let a3={provider:ar,model:as,body:a,stream:aL,translatedBody:ak,finalBody:aq,requestStartTime:at,connectionId:R,apiKey:T,clientRawRequest:Q,onRequestSuccess:O,pxpipe:aZ,reqTag:av,log:d},a4=a=>(0,s.E5)({model:as,provider:ar,connectionId:R,...a}).catch(()=>{}),a5=()=>(0,s.uw)(as,ar,R,!1);if(!aJ&&aK){let a=await (0,w.I)({...a3,providerResponse:an,sourceFormat:aw,targetFormat:a2,customToolNames:am,toolNameMap:al,trackDone:a5,appendLog:a4});if(a)return a0.handleComplete(),a}if(!aL){let a=await (0,x.N)({...a3,providerResponse:an,sourceFormat:aw,targetFormat:a2,reqLogger:aP,toolNameMap:al,customToolNames:am,trackDone:a5,appendLog:a4});return a0.handleComplete(),a}let{onStreamComplete:a6,streamDetailId:a7}=(0,y.$)({...a3});return(0,y.M)({...a3,providerResponse:an,sourceFormat:aw,targetFormat:a2,userAgent:S,reqLogger:aP,toolNameMap:al,customToolNames:am,streamController:a0,onStreamComplete:a6,streamDetailId:a7,credentials:c})}t=(M.then?(await M)():M)[0],d()}catch(a){d(a)}})}};
62
+ ${c.stack}`:""}`),(0,o.A1)(q.gx.BAD_GATEWAY,b)}if(!a1.noAuth&&(ap.status===q.gx.UNAUTHORIZED||ap.status===q.gx.FORBIDDEN))try{let a=await (0,k.qZ)(async()=>{let a=await a1.refreshCredentials(c,d);return a?.refreshToken&&a.refreshToken!==c.refreshToken&&(a.accessToken&&(c.accessToken=a.accessToken),c.refreshToken=a.refreshToken),a},3,d);if(a?.accessToken||a?.copilotToken){if(d?.line&&d.line(ax,"\uD83D\uDD11",`TOKEN REFRESHED \xb7 ${at}/${au}`),Object.assign(c,a),N)try{await N(a)}catch(a){d?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}try{let a=await a1.execute({model:au,body:am,stream:aO,credentials:c,providerSessionId:aw,clientTool:aT,signal:a3.signal,log:d,proxyOptions:a4,providerOverrides:al});a.response.ok&&(ap=a.response,aq=a.url,a5=a.responseFormat||aG)}catch{d?.warn?.("TOKEN",`${at.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${at.toUpperCase()} | refresh failed`)}catch(a){d?.warn?.("TOKEN",`${at.toUpperCase()} | refresh threw: ${a.message}`)}if(!ap.ok){(0,s.uw)(au,at,S,!1,!0);let{statusCode:b,message:c,resetsAtMs:e}=await (0,o.zL)(ap,a1);(0,s.E5)({model:au,provider:at,connectionId:S,status:`FAILED ${b}`}).catch(()=>{}),(0,s.ox)((0,v.$R)({provider:at,model:au,connectionId:S,latency:{ttft:0,total:Date.now()-av},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,v.Fo)(a,aO),providerRequest:as||am||null,response:{error:c,status:b,thinking:null},pxpipe:a0,status:"error"})).catch(()=>{});let f=(0,o.lR)(Error(c),at,au,b);if(d?.errorLine){let a=aq?`
63
+ URL: ${aq}`:"";d.errorLine(ax,"✗",`ERROR ${b} \xb7 ${at}/${au} \xb7 ${Date.now()-av}ms${a}
64
+ ${f}`)}return aS.logError(Error(c),as||am),(0,o.A1)(b,f,e,(0,p.d)(ap.headers))}let a6={provider:at,model:au,body:a,stream:aO,translatedBody:am,finalBody:as,requestStartTime:av,connectionId:S,apiKey:U,clientRawRequest:R,onRequestSuccess:P,pxpipe:a0,reqTag:ax,log:d},a7=a=>(0,s.E5)({model:au,provider:at,connectionId:S,...a}).catch(()=>{}),a8=()=>(0,s.uw)(au,at,S,!1);if(!aM&&(aN||a5===h.h.OPENAI_RESPONSES)){let a=await (0,w.I)({...a6,providerResponse:ap,sourceFormat:ay,targetFormat:a5,customToolNames:ao,toolNameMap:an,trackDone:a8,appendLog:a7});if(a)return a3.handleComplete(),a}if(!aO){let a=await (0,x.N)({...a6,providerResponse:ap,sourceFormat:ay,targetFormat:a5,reqLogger:aS,toolNameMap:an,customToolNames:ao,trackDone:a8,appendLog:a7});return a3.handleComplete(),a}let{onStreamComplete:a9,streamDetailId:ba}=(0,y.$)({...a6});return(0,y.M)({...a6,providerResponse:ap,sourceFormat:ay,targetFormat:a5,userAgent:T,reqLogger:aS,toolNameMap:an,customToolNames:ao,streamController:a3,onStreamComplete:a9,streamDetailId:ba,credentials:c})}t=(N.then?(await N)():N)[0],d()}catch(a){d(a)}})}};
@@ -1 +1 @@
1
- "use strict";exports.id=8920,exports.ids=[8920],exports.modules={58920:(a,b,c)=>{c.d(b,{PROVIDER_PRICING:()=>g,ad:()=>k,calculateCostFromTokens:()=>l,gH:()=>i,getPricingForModel:()=>j});let d=["cline-free/"],e={input:0,output:0,cached:0,reasoning:0,cache_creation:0},f={"claude-opus-4-6":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-opus-4-5-20251101":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-sonnet-4-6":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-haiku-4-5-20251001":{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25},"claude-sonnet-4-20250514":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-opus-4-20250514":{input:15,output:25,cached:7.5,reasoning:112.5,cache_creation:15},"claude-3-5-sonnet-20241022":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-haiku-4.5":{input:.5,output:2.5,cached:.05,reasoning:3.75,cache_creation:.5},"claude-opus-4.1":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.5":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.6":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-sonnet-4":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.6":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-opus-4-5-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4-6-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-fable-5":{input:10,output:50,cached:1,reasoning:50,cache_creation:12.5},"claude-sonnet-5-5":{input:2,output:10,cached:.2,reasoning:10,cache_creation:2.5},"claude-sonnet-5":{input:2,output:10,cached:.2,reasoning:10,cache_creation:2.5},"gpt-3.5-turbo":{input:.5,output:1.5,cached:.25,reasoning:2.25,cache_creation:.5},"gpt-4":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4-turbo":{input:10,output:30,cached:5,reasoning:45,cache_creation:10},"gpt-4o":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15},"gpt-4.1":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-5":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5-mini":{input:.25,output:2,cached:.125,reasoning:2,cache_creation:.25},"gpt-5-codex":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5.1":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5.1-codex":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5.1-codex-mini":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"gpt-5.1-codex-mini-high":{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"gpt-5.1-codex-max":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.2":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75},"gpt-5.2-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75},"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75},"gpt-5.3-codex-spark":{input:3,output:12,cached:.3,reasoning:12,cache_creation:3},"gpt-5.6":{input:2.5,output:15,cached:.25,reasoning:15,cache_creation:2.5},"gpt-5.6-luna":{input:1,output:6,cached:.1,reasoning:6,cache_creation:1},"gpt-5.6-terra":{input:2.5,output:15,cached:.25,reasoning:15,cache_creation:2.5},"gpt-5.6-sol":{input:5,output:30,cached:.5,reasoning:30,cache_creation:5},"gpt-6-astra":{input:10,output:50,cached:1,reasoning:50,cache_creation:12.5},"gpt-6.1-sol":{input:2,output:10,cached:.1,reasoning:10,cache_creation:2.5},"gpt-6-sol":{input:2,output:10,cached:.2,reasoning:10,cache_creation:2.5},"gpt-6-luna":{input:.1,output:.5,cached:.01,reasoning:.5,cache_creation:.125},o1:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15},"o1-mini":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gemini-3.8-flash":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.8-flash-high":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.8-flash-medium":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.8-flash-low":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.7-flash":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.7-flash-high":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.7-flash-medium":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.7-flash-low":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.6-flash":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.6-flash-high":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.6-flash-medium":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.6-flash-low":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.5-flash-lite":{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.375},"gemini-3.5-flash-high":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-flash-preview":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-pro-preview":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-low":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-high":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-pro-agent":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-3-flash-agent":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-extra-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-flash":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-2.5-pro":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-2.5-flash":{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3},"gemini-2.5-flash-lite":{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15},"qwen3-coder-plus":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"qwen3-coder-flash":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"kimi-k3":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3},k3:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3},"kimi-k2.7-code":{input:.95,output:4,cached:.19,reasoning:4,cache_creation:.95},"kimi-k2.7-code-highspeed":{input:1.9,output:8,cached:.38,reasoning:8,cache_creation:1.9},"kimi-for-coding":{input:.95,output:4,cached:.19,reasoning:4,cache_creation:.95},"kimi-for-coding-highspeed":{input:1.9,output:8,cached:.38,reasoning:8,cache_creation:1.9},"kimi-k2":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"kimi-k2-thinking":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"kimi-k2.5":{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2},"kimi-k2.5-thinking":{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8},"kimi-k2.6":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"kimi-latest":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"deepseek-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-r1":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4.1-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87,cache_creation:.435},"glm-4.6":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"glm-4.6v":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-4.7":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-5":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.8,cache_creation:.3},"MiniMax-M2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.5":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.7":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.5":{input:.6,output:2.4,cached:.3,reasoning:3.6,cache_creation:.6},"grok-code-fast-1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"muse-spark-1.3":{input:1.25,output:4.25,cached:.15,reasoning:4.25,cache_creation:0},"muse-spark-1.2":{input:1.25,output:4.25,cached:.15,reasoning:4.25,cache_creation:0},"muse-spark-1.1":{input:1.25,output:4.25,cached:.15,reasoning:4.25,cache_creation:0},"muse-spark-1.3-contributor":{input:.1,output:.2,cached:.002,reasoning:.2,cache_creation:0},"muse-spark-1.2-contributor":{input:.1,output:.2,cached:.002,reasoning:.2,cache_creation:0},auto:{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"oswe-vscode-prime":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"gpt-oss-120b-medium":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"vision-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"coder-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},g={gh:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},tokenrouter:{"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.2},"anthropic/claude-fable-5":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-haiku-4.5":{input:1,output:5,cached:.1,cache_creation:1.25,reasoning:5},"anthropic/claude-opus-4.5":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.6":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.7":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.7-fast":{input:30,output:150,cached:3,reasoning:150},"anthropic/claude-opus-4.8":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.8-fast":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-opus-5":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-5-fast":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-sonnet-4":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-4.5":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-4.6":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-5":{input:2,output:10,cached:.2,reasoning:10},"claude-opus-4-8-m-aws":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"deepseek/deepseek-v3.2":{input:.26,output:.38,cached:.13,reasoning:.38},"deepseek/deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28},"deepseek/deepseek-v4-flash-0731":{input:.14,output:.28,cached:.0028,reasoning:.28},"deepseek/deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87},"ex/gpt-5.4":{input:2.5,output:15,cached:.25,reasoning:15},"google/gemini-2.5-flash-image":{input:.3,output:2.5,reasoning:2.5},"google/gemini-3-flash-preview":{input:.5,output:3,cached:.05,cache_creation:.08333,reasoning:3},"google/gemini-3-pro-image-preview":{input:2,output:12,reasoning:12},"google/gemini-3.1-flash-image-preview":{input:.5,output:3,reasoning:3},"google/gemini-3.1-flash-lite-image":{input:.25,output:1.5,reasoning:1.5},"google/gemini-3.1-pro-preview":{input:2,output:12,cached:.2,cache_creation:.375,reasoning:12},"google/gemini-3.5-flash":{input:1.5,output:9,cached:.15,cache_creation:.08333,reasoning:9},"google/gemini-3.5-flash-lite":{input:.3,output:2.5,cached:.03,cache_creation:.08333,reasoning:2.5},"google/gemini-3.6-flash":{input:1.5,output:7.5,cached:.15,cache_creation:.08333,reasoning:7.5},"google/gemini-embedding-2":{input:1,output:6,cached:.1,reasoning:6},"google/gemma-4-26b-a4b-it":{input:.06,output:.33,reasoning:.33},"kling-3.0-turbo":{input:2.1,output:2.1,reasoning:2.1},"microsoft/mai-image-2.5":{input:5,output:47,reasoning:47},"minimax/minimax-m2-her":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.1":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.1-highspeed":{input:.6,output:2.4,cached:.06,reasoning:2.4},"minimax/minimax-m2.5":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.7":{input:.3,output:1.2,cached:.06,reasoning:1.2},"minimax/minimax-m2.7-highspeed":{input:.6,output:2.4,cached:.06,reasoning:2.4},"miromind/mirothinker-1-7-deepresearch":{input:4,output:25,reasoning:25},"miromind/mirothinker-1-7-deepresearch-mini":{input:1.25,output:10,reasoning:10},"mistralai/devstral-2512":{input:.4,output:2,cached:.04,reasoning:2},"mistralai/mistral-medium-3-5":{input:1.5,output:7.5,reasoning:7.5},"mistralai/mistral-small-2603":{input:.15,output:.6,cached:.015,reasoning:.6},"mistralai/voxtral-small-24b-2507":{input:.1,output:.3,cached:.01,reasoning:.3},"moonshotai/kimi-k2.5":{input:.6,output:3,cached:.1,reasoning:3},"moonshotai/kimi-k2.6":{input:.95,output:4,cached:.16,reasoning:4},"moonshotai/kimi-k2.7-code":{input:.9286,output:3.8571,cached:.1857,reasoning:3.8571},"moonshotai/kimi-k3":{input:3,output:15,cached:.3,reasoning:15},"nvidia/nemotron-3-super-120b-a12b":{input:.3,output:.9,cached:.1,reasoning:.9},"openai/gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.6},"openai/gpt-5":{input:1.25,output:10,cached:.125,reasoning:10},"openai/gpt-5-image":{input:10,output:40,cached:2.5,reasoning:40},"openai/gpt-5-image-mini":{input:2.5,output:8,cached:.25,reasoning:8},"openai/gpt-5-mini":{input:.25,output:2,cached:.025,reasoning:2},"openai/gpt-5.2":{input:1.75,output:14,cached:.175,reasoning:14},"openai/gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14},"openai/gpt-5.4":{input:2.5,output:15,cached:.25,reasoning:15},"openai/gpt-5.4-image-2":{input:8,output:30,cached:2,reasoning:30},"openai/gpt-5.4-mini":{input:.75,output:4.5,cached:.075,reasoning:4.5},"openai/gpt-5.4-nano":{input:.2,output:1.25,cached:.02,reasoning:1.25},"openai/gpt-5.4-pro":{input:30,output:180,reasoning:180},"openai/gpt-5.5":{input:5,output:30,cached:.5,reasoning:30},"openai/gpt-5.5-pro":{input:30,output:180,reasoning:180},"openai/gpt-5.6-luna":{input:.2,output:1.2,cached:.02,cache_creation:.25,reasoning:1.2},"openai/gpt-5.6-sol":{input:5,output:30,cached:.5,cache_creation:6.25,reasoning:30},"openai/gpt-5.6-terra":{input:2,output:12,cached:.2,cache_creation:2.5,reasoning:12},"openai/gpt-audio":{input:2.5,output:10,reasoning:10},"openai/gpt-audio-mini":{input:.6,output:2.4,reasoning:2.4},"openai/gpt-oss-120b":{input:.039,output:.18,reasoning:.18},"qwen/qwen3-coder-next":{input:.12,output:.75,cached:.06,reasoning:.75},"qwen/qwen3.5-122b-a10b":{input:.26,output:2.08,reasoning:2.08},"qwen/qwen3.5-35b-a3b":{input:.1625,output:1.3,reasoning:1.3},"qwen/qwen3.5-397b-a17b":{input:.39,output:2.34,reasoning:2.34},"qwen/qwen3.5-9b":{input:.1,output:.15,reasoning:.15},"qwen/qwen3.5-flash":{input:.1048,output:.4194,reasoning:.4194},"qwen/qwen3.5-plus-02-15":{input:.26,output:1.56,reasoning:1.56},"qwen/qwen3.6-plus":{input:.54,output:3.21,reasoning:3.21},"qwen/qwen3.7-max":{input:1.25,output:3.75,cached:.25,reasoning:3.75},"qwen/qwen3.7-plus":{input:.4,output:1.6,cached:.08,reasoning:1.6},"qwen/qwen3.8-max":{input:2,output:6,cached:.25,cache_creation:2.5,reasoning:6},"qwen3.5-omni-plus":{input:1,output:5.7143,reasoning:5.7143},"qwen3.6-flash":{input:.171,output:1.029,cached:.017,cache_creation:.214,reasoning:1.029},"sakana/fugu-ultra":{input:5,output:30,cached:.5,reasoning:30},"seed-2-0-code-preview-260328":{input:1,output:6,cached:.2,cache_creation:.008333,reasoning:6},"seed-2-0-lite-260428":{input:.5,output:4,cached:.1,cache_creation:.008333,reasoning:4},"seed-2-0-mini-260428":{input:.2,output:.8,cached:.04,cache_creation:.00833,reasoning:.8},"seed-2-0-pro-260328":{input:1,output:6,cached:.2,cache_creation:.008333,reasoning:6},"stepfun/step-3.5-flash":{input:.1,output:.3,cached:.02,reasoning:.3},"stepfun/step-3.7-flash":{input:.2,output:1.15,cached:.04,reasoning:1.15},"tencent/hy3-preview":{input:.066,output:.26,cached:.029,reasoning:.26},"x-ai/grok-4.1-fast":{input:.2,output:.5,cached:.05,reasoning:.5},"x-ai/grok-4.20-beta":{input:2,output:6,cached:.2,reasoning:6},"x-ai/grok-4.3":{input:1.25,output:2.5,cached:.2,reasoning:2.5},"x-ai/grok-4.5":{input:2,output:6,cached:.5,reasoning:6},"x-ai/grok-build-0.1":{input:1,output:2,cached:.2,reasoning:2},"xiaomi/mimo-v2-flash":{input:.1,output:.3,cached:.01,reasoning:.3},"xiaomi/mimo-v2-omni":{input:.4,output:2,cached:.08,reasoning:2},"xiaomi/mimo-v2-pro":{input:1,output:3,cached:.2,reasoning:3},"xiaomi/mimo-v2.5":{input:.4,output:2,cached:.08,reasoning:2},"xiaomi/mimo-v2.5-pro":{input:1,output:3,cached:.2,reasoning:3},"z-ai/glm-4.5-air":{input:.13,output:.85,cached:.025,reasoning:.85},"z-ai/glm-4.6":{input:.6,output:2.2,cached:.11,reasoning:2.2},"z-ai/glm-4.6v":{input:.3,output:.9,reasoning:.9},"z-ai/glm-4.7":{input:.6,output:2.2,cached:.11,reasoning:2.2},"z-ai/glm-5":{input:1,output:3.2,cached:.2,reasoning:3.2},"z-ai/glm-5-turbo":{input:1.2,output:4,cached:.24,reasoning:4},"z-ai/glm-5.1":{input:1.05,output:3.5,cached:.525,reasoning:3.5},"z-ai/glm-5.2":{input:1.4,output:4.4,cached:.26,reasoning:4.4},"z-ai/glm-5.3-free":{input:0,output:0,cached:0,reasoning:0}}},h=[{pattern:"*-codex-xhigh",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"*-codex-high",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-max",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-mini-*",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-mini",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-low",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"*-codex-none",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"*-codex-spark",pricing:{input:3,output:12,cached:.3,reasoning:12,cache_creation:3}},{pattern:"codex-*",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"*-codex",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"claude-opus-*",pricing:{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25}},{pattern:"claude-sonnet-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"claude-haiku-*",pricing:{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25}},{pattern:"claude-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"gemini-*-flash-lite",pricing:{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15}},{pattern:"gemini-*-flash",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*-pro",pricing:{input:2,output:12,cached:.25,reasoning:18,cache_creation:2}},{pattern:"gemini-3-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gemini-2.5-*",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gpt-5.6-*",pricing:{input:2.5,output:15,cached:.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-5.3-*",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"gpt-5.2-*",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"gpt-5.1-*",pricing:{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25}},{pattern:"gpt-5-*",pricing:{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25}},{pattern:"gpt-5*",pricing:{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25}},{pattern:"gpt-4o-*",pricing:{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15}},{pattern:"gpt-4o",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-4*",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"o1-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"o1",pricing:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15}},{pattern:"o3-*",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"o4-*",pricing:{input:2,output:8,cached:1,reasoning:12,cache_creation:2}},{pattern:"qwen3-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"kimi-*-thinking",pricing:{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8}},{pattern:"kimi-k3*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3}},{pattern:"kimi-k2*",pricing:{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2}},{pattern:"kimi-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"deepseek-*reasoner*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-r*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-v*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"glm-5*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"glm-4*",pricing:{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75}},{pattern:"glm-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"MiniMax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"minimax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-code-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}}];function i(a,b){return RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i").test(b)}function j(a,b){if(!b)return null;if(a&&g[a]?.[b])return g[a][b];if(function(a){if(!a)return!1;let b=String(a).toLowerCase();return d.some(a=>b.startsWith(a))}(b))return e;let c=b.includes("/")?b.split("/").pop():b;if(f[c])return f[c];if(f[b])return f[b];for(let{pattern:a,pricing:d}of h)if(i(a,c)||i(a,b))return d;return null}function k(){return g}function l(a,b){if(!a||!b)return 0;let c=0,d=a.prompt_tokens||a.input_tokens||0,e=a.cached_tokens||a.cache_read_input_tokens||0,f=a.cache_creation_input_tokens||0;c+=Math.max(0,d-e-f)*(b.input/1e6),e>0&&(c+=e*((b.cached||b.input)/1e6)),c+=(a.completion_tokens||a.output_tokens||0)*(b.output/1e6);let g=a.reasoning_tokens||0;return g>0&&(c+=g*((b.reasoning||b.output)/1e6)),f>0&&(c+=f*((b.cache_creation||b.input)/1e6)),c}}};
1
+ "use strict";exports.id=8920,exports.ids=[8920],exports.modules={58920:(a,b,c)=>{c.d(b,{PROVIDER_PRICING:()=>g,ad:()=>k,calculateCostFromTokens:()=>l,gH:()=>i,getPricingForModel:()=>j});let d=["cline-free/"],e={input:0,output:0,cached:0,reasoning:0,cache_creation:0},f={"claude-opus-4-6":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-opus-4-5-20251101":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-sonnet-4-6":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-haiku-4-5-20251001":{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25},"claude-sonnet-4-20250514":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-opus-4-20250514":{input:15,output:25,cached:7.5,reasoning:112.5,cache_creation:15},"claude-3-5-sonnet-20241022":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-haiku-4.5":{input:.5,output:2.5,cached:.05,reasoning:3.75,cache_creation:.5},"claude-opus-4.1":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.5":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.6":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-sonnet-4":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.6":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-opus-4-5-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4-6-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-5-5-thinking":{input:4,output:20,cached:.2,reasoning:20,cache_creation:5},"claude-opus-5-5":{input:4,output:20,cached:.2,reasoning:20,cache_creation:5},"claude-opus-5-5-high":{input:4,output:20,cached:.2,reasoning:20,cache_creation:5},"claude-opus-5-5-medium":{input:4,output:20,cached:.2,reasoning:20,cache_creation:5},"claude-opus-5-5-low":{input:4,output:20,cached:.2,reasoning:20,cache_creation:5},"claude-fable-5":{input:10,output:50,cached:1,reasoning:50,cache_creation:12.5},"claude-sonnet-5-5":{input:2,output:10,cached:.2,reasoning:10,cache_creation:2.5},"claude-sonnet-5-5-thinking":{input:2,output:10,cached:.2,reasoning:10,cache_creation:2.5},"claude-sonnet-5-5-high":{input:2,output:10,cached:.2,reasoning:10,cache_creation:2.5},"claude-sonnet-5-5-medium":{input:2,output:10,cached:.2,reasoning:10,cache_creation:2.5},"claude-sonnet-5-5-low":{input:2,output:10,cached:.2,reasoning:10,cache_creation:2.5},"claude-sonnet-5":{input:2,output:10,cached:.2,reasoning:10,cache_creation:2.5},"gpt-3.5-turbo":{input:.5,output:1.5,cached:.25,reasoning:2.25,cache_creation:.5},"gpt-4":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4-turbo":{input:10,output:30,cached:5,reasoning:45,cache_creation:10},"gpt-4o":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15},"gpt-4.1":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-5":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5-mini":{input:.25,output:2,cached:.125,reasoning:2,cache_creation:.25},"gpt-5-codex":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5.1":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5.1-codex":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5.1-codex-mini":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"gpt-5.1-codex-mini-high":{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"gpt-5.1-codex-max":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.2":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75},"gpt-5.2-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75},"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75},"gpt-5.3-codex-spark":{input:3,output:12,cached:.3,reasoning:12,cache_creation:3},"gpt-5.6":{input:2.5,output:15,cached:.25,reasoning:15,cache_creation:2.5},"gpt-5.6-luna":{input:1,output:6,cached:.1,reasoning:6,cache_creation:1},"gpt-5.6-terra":{input:2.5,output:15,cached:.25,reasoning:15,cache_creation:2.5},"gpt-5.6-sol":{input:5,output:30,cached:.5,reasoning:30,cache_creation:5},"gpt-6-astra":{input:10,output:50,cached:1,reasoning:50,cache_creation:12.5},"gpt-6.1-sol":{input:2,output:10,cached:.1,reasoning:10,cache_creation:2.5},"gpt-6-sol":{input:2,output:10,cached:.2,reasoning:10,cache_creation:2.5},"gpt-6-luna":{input:.1,output:.5,cached:.01,reasoning:.5,cache_creation:.125},o1:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15},"o1-mini":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gemini-3.8-flash":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.8-flash-high":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.8-flash-medium":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.8-flash-low":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.7-flash":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.7-flash-high":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.7-flash-medium":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.7-flash-low":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.6-flash":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.6-flash-high":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.6-flash-medium":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.6-flash-low":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.5-flash-lite":{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.375},"gemini-3.5-flash-high":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-flash-preview":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-pro-preview":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-low":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-high":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-pro-agent":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-3-flash-agent":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-extra-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-flash":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-2.5-pro":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-2.5-flash":{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3},"gemini-2.5-flash-lite":{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15},"qwen3-coder-plus":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"qwen3-coder-flash":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"kimi-k3":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3},k3:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3},"kimi-k2.7-code":{input:.95,output:4,cached:.19,reasoning:4,cache_creation:.95},"kimi-k2.7-code-highspeed":{input:1.9,output:8,cached:.38,reasoning:8,cache_creation:1.9},"kimi-for-coding":{input:.95,output:4,cached:.19,reasoning:4,cache_creation:.95},"kimi-for-coding-highspeed":{input:1.9,output:8,cached:.38,reasoning:8,cache_creation:1.9},"kimi-k2":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"kimi-k2-thinking":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"kimi-k2.5":{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2},"kimi-k2.5-thinking":{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8},"kimi-k2.6":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"kimi-latest":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"deepseek-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-r1":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4.1-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87,cache_creation:.435},"glm-4.6":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"glm-4.6v":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-4.7":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-5":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.8,cache_creation:.3},"MiniMax-M2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.5":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.7":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.5":{input:.6,output:2.4,cached:.3,reasoning:3.6,cache_creation:.6},"grok-code-fast-1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"muse-spark-1.3":{input:1.25,output:4.25,cached:.15,reasoning:4.25,cache_creation:0},"muse-spark-1.2":{input:1.25,output:4.25,cached:.15,reasoning:4.25,cache_creation:0},"muse-spark-1.1":{input:1.25,output:4.25,cached:.15,reasoning:4.25,cache_creation:0},"muse-spark-1.3-contributor":{input:.1,output:.2,cached:.002,reasoning:.2,cache_creation:0},"muse-spark-1.2-contributor":{input:.1,output:.2,cached:.002,reasoning:.2,cache_creation:0},auto:{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"oswe-vscode-prime":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"gpt-oss-120b-medium":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"vision-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"coder-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},g={gh:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},tokenrouter:{"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.2},"anthropic/claude-fable-5":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-haiku-4.5":{input:1,output:5,cached:.1,cache_creation:1.25,reasoning:5},"anthropic/claude-opus-4.5":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.6":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.7":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.7-fast":{input:30,output:150,cached:3,reasoning:150},"anthropic/claude-opus-4.8":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.8-fast":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-opus-5":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-5-fast":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-sonnet-4":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-4.5":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-4.6":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-5":{input:2,output:10,cached:.2,reasoning:10},"claude-opus-4-8-m-aws":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"deepseek/deepseek-v3.2":{input:.26,output:.38,cached:.13,reasoning:.38},"deepseek/deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28},"deepseek/deepseek-v4-flash-0731":{input:.14,output:.28,cached:.0028,reasoning:.28},"deepseek/deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87},"ex/gpt-5.4":{input:2.5,output:15,cached:.25,reasoning:15},"google/gemini-2.5-flash-image":{input:.3,output:2.5,reasoning:2.5},"google/gemini-3-flash-preview":{input:.5,output:3,cached:.05,cache_creation:.08333,reasoning:3},"google/gemini-3-pro-image-preview":{input:2,output:12,reasoning:12},"google/gemini-3.1-flash-image-preview":{input:.5,output:3,reasoning:3},"google/gemini-3.1-flash-lite-image":{input:.25,output:1.5,reasoning:1.5},"google/gemini-3.1-pro-preview":{input:2,output:12,cached:.2,cache_creation:.375,reasoning:12},"google/gemini-3.5-flash":{input:1.5,output:9,cached:.15,cache_creation:.08333,reasoning:9},"google/gemini-3.5-flash-lite":{input:.3,output:2.5,cached:.03,cache_creation:.08333,reasoning:2.5},"google/gemini-3.6-flash":{input:1.5,output:7.5,cached:.15,cache_creation:.08333,reasoning:7.5},"google/gemini-embedding-2":{input:1,output:6,cached:.1,reasoning:6},"google/gemma-4-26b-a4b-it":{input:.06,output:.33,reasoning:.33},"kling-3.0-turbo":{input:2.1,output:2.1,reasoning:2.1},"microsoft/mai-image-2.5":{input:5,output:47,reasoning:47},"minimax/minimax-m2-her":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.1":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.1-highspeed":{input:.6,output:2.4,cached:.06,reasoning:2.4},"minimax/minimax-m2.5":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.7":{input:.3,output:1.2,cached:.06,reasoning:1.2},"minimax/minimax-m2.7-highspeed":{input:.6,output:2.4,cached:.06,reasoning:2.4},"miromind/mirothinker-1-7-deepresearch":{input:4,output:25,reasoning:25},"miromind/mirothinker-1-7-deepresearch-mini":{input:1.25,output:10,reasoning:10},"mistralai/devstral-2512":{input:.4,output:2,cached:.04,reasoning:2},"mistralai/mistral-medium-3-5":{input:1.5,output:7.5,reasoning:7.5},"mistralai/mistral-small-2603":{input:.15,output:.6,cached:.015,reasoning:.6},"mistralai/voxtral-small-24b-2507":{input:.1,output:.3,cached:.01,reasoning:.3},"moonshotai/kimi-k2.5":{input:.6,output:3,cached:.1,reasoning:3},"moonshotai/kimi-k2.6":{input:.95,output:4,cached:.16,reasoning:4},"moonshotai/kimi-k2.7-code":{input:.9286,output:3.8571,cached:.1857,reasoning:3.8571},"moonshotai/kimi-k3":{input:3,output:15,cached:.3,reasoning:15},"nvidia/nemotron-3-super-120b-a12b":{input:.3,output:.9,cached:.1,reasoning:.9},"openai/gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.6},"openai/gpt-5":{input:1.25,output:10,cached:.125,reasoning:10},"openai/gpt-5-image":{input:10,output:40,cached:2.5,reasoning:40},"openai/gpt-5-image-mini":{input:2.5,output:8,cached:.25,reasoning:8},"openai/gpt-5-mini":{input:.25,output:2,cached:.025,reasoning:2},"openai/gpt-5.2":{input:1.75,output:14,cached:.175,reasoning:14},"openai/gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14},"openai/gpt-5.4":{input:2.5,output:15,cached:.25,reasoning:15},"openai/gpt-5.4-image-2":{input:8,output:30,cached:2,reasoning:30},"openai/gpt-5.4-mini":{input:.75,output:4.5,cached:.075,reasoning:4.5},"openai/gpt-5.4-nano":{input:.2,output:1.25,cached:.02,reasoning:1.25},"openai/gpt-5.4-pro":{input:30,output:180,reasoning:180},"openai/gpt-5.5":{input:5,output:30,cached:.5,reasoning:30},"openai/gpt-5.5-pro":{input:30,output:180,reasoning:180},"openai/gpt-5.6-luna":{input:.2,output:1.2,cached:.02,cache_creation:.25,reasoning:1.2},"openai/gpt-5.6-sol":{input:5,output:30,cached:.5,cache_creation:6.25,reasoning:30},"openai/gpt-5.6-terra":{input:2,output:12,cached:.2,cache_creation:2.5,reasoning:12},"openai/gpt-audio":{input:2.5,output:10,reasoning:10},"openai/gpt-audio-mini":{input:.6,output:2.4,reasoning:2.4},"openai/gpt-oss-120b":{input:.039,output:.18,reasoning:.18},"qwen/qwen3-coder-next":{input:.12,output:.75,cached:.06,reasoning:.75},"qwen/qwen3.5-122b-a10b":{input:.26,output:2.08,reasoning:2.08},"qwen/qwen3.5-35b-a3b":{input:.1625,output:1.3,reasoning:1.3},"qwen/qwen3.5-397b-a17b":{input:.39,output:2.34,reasoning:2.34},"qwen/qwen3.5-9b":{input:.1,output:.15,reasoning:.15},"qwen/qwen3.5-flash":{input:.1048,output:.4194,reasoning:.4194},"qwen/qwen3.5-plus-02-15":{input:.26,output:1.56,reasoning:1.56},"qwen/qwen3.6-plus":{input:.54,output:3.21,reasoning:3.21},"qwen/qwen3.7-max":{input:1.25,output:3.75,cached:.25,reasoning:3.75},"qwen/qwen3.7-plus":{input:.4,output:1.6,cached:.08,reasoning:1.6},"qwen/qwen3.8-max":{input:2,output:6,cached:.25,cache_creation:2.5,reasoning:6},"qwen3.5-omni-plus":{input:1,output:5.7143,reasoning:5.7143},"qwen3.6-flash":{input:.171,output:1.029,cached:.017,cache_creation:.214,reasoning:1.029},"sakana/fugu-ultra":{input:5,output:30,cached:.5,reasoning:30},"seed-2-0-code-preview-260328":{input:1,output:6,cached:.2,cache_creation:.008333,reasoning:6},"seed-2-0-lite-260428":{input:.5,output:4,cached:.1,cache_creation:.008333,reasoning:4},"seed-2-0-mini-260428":{input:.2,output:.8,cached:.04,cache_creation:.00833,reasoning:.8},"seed-2-0-pro-260328":{input:1,output:6,cached:.2,cache_creation:.008333,reasoning:6},"stepfun/step-3.5-flash":{input:.1,output:.3,cached:.02,reasoning:.3},"stepfun/step-3.7-flash":{input:.2,output:1.15,cached:.04,reasoning:1.15},"tencent/hy3-preview":{input:.066,output:.26,cached:.029,reasoning:.26},"x-ai/grok-4.1-fast":{input:.2,output:.5,cached:.05,reasoning:.5},"x-ai/grok-4.20-beta":{input:2,output:6,cached:.2,reasoning:6},"x-ai/grok-4.3":{input:1.25,output:2.5,cached:.2,reasoning:2.5},"x-ai/grok-4.5":{input:2,output:6,cached:.5,reasoning:6},"x-ai/grok-build-0.1":{input:1,output:2,cached:.2,reasoning:2},"xiaomi/mimo-v2-flash":{input:.1,output:.3,cached:.01,reasoning:.3},"xiaomi/mimo-v2-omni":{input:.4,output:2,cached:.08,reasoning:2},"xiaomi/mimo-v2-pro":{input:1,output:3,cached:.2,reasoning:3},"xiaomi/mimo-v2.5":{input:.4,output:2,cached:.08,reasoning:2},"xiaomi/mimo-v2.5-pro":{input:1,output:3,cached:.2,reasoning:3},"z-ai/glm-4.5-air":{input:.13,output:.85,cached:.025,reasoning:.85},"z-ai/glm-4.6":{input:.6,output:2.2,cached:.11,reasoning:2.2},"z-ai/glm-4.6v":{input:.3,output:.9,reasoning:.9},"z-ai/glm-4.7":{input:.6,output:2.2,cached:.11,reasoning:2.2},"z-ai/glm-5":{input:1,output:3.2,cached:.2,reasoning:3.2},"z-ai/glm-5-turbo":{input:1.2,output:4,cached:.24,reasoning:4},"z-ai/glm-5.1":{input:1.05,output:3.5,cached:.525,reasoning:3.5},"z-ai/glm-5.2":{input:1.4,output:4.4,cached:.26,reasoning:4.4},"z-ai/glm-5.3-free":{input:0,output:0,cached:0,reasoning:0}}},h=[{pattern:"*-codex-xhigh",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"*-codex-high",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-max",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-mini-*",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-mini",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-low",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"*-codex-none",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"*-codex-spark",pricing:{input:3,output:12,cached:.3,reasoning:12,cache_creation:3}},{pattern:"codex-*",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"*-codex",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"claude-opus-*",pricing:{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25}},{pattern:"claude-sonnet-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"claude-haiku-*",pricing:{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25}},{pattern:"claude-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"gemini-*-flash-lite",pricing:{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15}},{pattern:"gemini-*-flash",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*-pro",pricing:{input:2,output:12,cached:.25,reasoning:18,cache_creation:2}},{pattern:"gemini-3-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gemini-2.5-*",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gpt-5.6-*",pricing:{input:2.5,output:15,cached:.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-5.3-*",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"gpt-5.2-*",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"gpt-5.1-*",pricing:{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25}},{pattern:"gpt-5-*",pricing:{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25}},{pattern:"gpt-5*",pricing:{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25}},{pattern:"gpt-4o-*",pricing:{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15}},{pattern:"gpt-4o",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-4*",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"o1-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"o1",pricing:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15}},{pattern:"o3-*",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"o4-*",pricing:{input:2,output:8,cached:1,reasoning:12,cache_creation:2}},{pattern:"qwen3-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"kimi-*-thinking",pricing:{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8}},{pattern:"kimi-k3*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3}},{pattern:"kimi-k2*",pricing:{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2}},{pattern:"kimi-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"deepseek-*reasoner*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-r*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-v*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"glm-5*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"glm-4*",pricing:{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75}},{pattern:"glm-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"MiniMax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"minimax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-code-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}}];function i(a,b){return RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i").test(b)}function j(a,b){if(!b)return null;if(a&&g[a]?.[b])return g[a][b];if(function(a){if(!a)return!1;let b=String(a).toLowerCase();return d.some(a=>b.startsWith(a))}(b))return e;let c=b.includes("/")?b.split("/").pop():b;if(f[c])return f[c];if(f[b])return f[b];for(let{pattern:a,pricing:d}of h)if(i(a,c)||i(a,b))return d;return null}function k(){return g}function l(a,b){if(!a||!b)return 0;let c=0,d=a.prompt_tokens||a.input_tokens||0,e=a.cached_tokens||a.cache_read_input_tokens||0,f=a.cache_creation_input_tokens||0;c+=Math.max(0,d-e-f)*(b.input/1e6),e>0&&(c+=e*((b.cached||b.input)/1e6)),c+=(a.completion_tokens||a.output_tokens||0)*(b.output/1e6);let g=a.reasoning_tokens||0;return g>0&&(c+=g*((b.reasoning||b.output)/1e6)),f>0&&(c+=f*((b.cache_creation||b.input)/1e6)),c}}};