@sifxprime/krouter 0.5.26 → 0.5.30

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 (527) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +4 -4
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/environment/page.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/environment/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/environment/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  70. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  73. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  74. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  75. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  76. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  77. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  78. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  79. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  80. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  81. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  83. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  84. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  85. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  86. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  87. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  88. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  89. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  90. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  91. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/cache/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +1 -1
  100. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  110. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  119. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/import/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  135. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/mitm/cert/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/models/live/route.js +1 -1
  142. package/app/.next-cli-build/server/app/api/models/live/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  144. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  148. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  150. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  152. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  166. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/providers/validate/route.js +51 -1
  181. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/settings/environment/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  263. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  265. package/app/.next-cli-build/server/app/callback.html +1 -1
  266. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  267. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  268. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  269. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  270. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  271. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  272. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  273. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  274. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  275. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  276. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  277. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  278. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  279. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  280. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  281. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  282. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  283. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  284. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  285. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  286. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  287. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  288. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  289. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  290. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  291. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  292. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  293. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  294. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  295. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  296. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  297. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  298. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  299. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  300. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  301. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  302. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  303. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  304. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
  305. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  306. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  307. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  308. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  309. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  310. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  311. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  312. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  313. package/app/.next-cli-build/server/app/dashboard/environment.html +1 -1
  314. package/app/.next-cli-build/server/app/dashboard/environment.rsc +6 -6
  315. package/app/.next-cli-build/server/app/dashboard/environment.segments/!KGRhc2hib2FyZCk/dashboard/environment/__PAGE__.segment.rsc +2 -2
  316. package/app/.next-cli-build/server/app/dashboard/environment.segments/!KGRhc2hib2FyZCk/dashboard/environment.segment.rsc +1 -1
  317. package/app/.next-cli-build/server/app/dashboard/environment.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  318. package/app/.next-cli-build/server/app/dashboard/environment.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  319. package/app/.next-cli-build/server/app/dashboard/environment.segments/_full.segment.rsc +6 -6
  320. package/app/.next-cli-build/server/app/dashboard/environment.segments/_head.segment.rsc +1 -1
  321. package/app/.next-cli-build/server/app/dashboard/environment.segments/_index.segment.rsc +4 -4
  322. package/app/.next-cli-build/server/app/dashboard/environment.segments/_tree.segment.rsc +2 -2
  323. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  324. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  325. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  326. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  327. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  328. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  329. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  330. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  331. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  332. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  333. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  334. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  335. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  336. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  337. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  338. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  339. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  340. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  341. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  342. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  343. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  344. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  345. package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
  346. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  347. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  348. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  349. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  350. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  351. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  352. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  353. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  354. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  355. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  356. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  357. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  358. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  359. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  360. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  361. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  362. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  363. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  364. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  365. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  366. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  367. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  368. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  369. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  370. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  371. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  372. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  373. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  374. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  375. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  376. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  377. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  378. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  379. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  380. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  381. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  382. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  383. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  384. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  385. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  386. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  387. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  388. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  389. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  390. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  391. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  392. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  393. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  394. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  395. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  396. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  398. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  399. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  400. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  401. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  402. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  403. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  404. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  405. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  406. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  407. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  408. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  409. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  410. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  411. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  412. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  413. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  414. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  415. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  416. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  417. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  418. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  419. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  420. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  421. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  422. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  423. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  424. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  425. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  426. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  427. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  428. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  429. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  430. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  431. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  432. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  433. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  434. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  435. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  436. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  437. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  438. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  439. package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
  440. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  441. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  442. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  443. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
  444. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  445. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  446. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  447. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  448. package/app/.next-cli-build/server/app/index.html +1 -1
  449. package/app/.next-cli-build/server/app/index.rsc +4 -4
  450. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  451. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  452. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  453. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  454. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  455. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  456. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  457. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  458. package/app/.next-cli-build/server/app/landing.html +1 -1
  459. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  460. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  461. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  462. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  463. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  464. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  465. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  466. package/app/.next-cli-build/server/app/login/page.js +1 -1
  467. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  468. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  469. package/app/.next-cli-build/server/app/login.html +1 -1
  470. package/app/.next-cli-build/server/app/login.rsc +5 -5
  471. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  472. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  473. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  474. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  475. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  476. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  477. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  478. package/app/.next-cli-build/server/app/page.js +1 -1
  479. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  480. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  481. package/app/.next-cli-build/server/app-paths-manifest.json +4 -4
  482. package/app/.next-cli-build/server/chunks/2365.js +1 -0
  483. package/app/.next-cli-build/server/chunks/2549.js +1 -0
  484. package/app/.next-cli-build/server/chunks/3104.js +1 -1
  485. package/app/.next-cli-build/server/chunks/3523.js +1 -0
  486. package/app/.next-cli-build/server/chunks/412.js +1 -1
  487. package/app/.next-cli-build/server/chunks/4315.js +1 -0
  488. package/app/.next-cli-build/server/chunks/4632.js +1 -1
  489. package/app/.next-cli-build/server/chunks/4746.js +51 -1
  490. package/app/.next-cli-build/server/chunks/4884.js +1 -1
  491. package/app/.next-cli-build/server/chunks/5178.js +1 -0
  492. package/app/.next-cli-build/server/chunks/{318.js → 5330.js} +8 -8
  493. package/app/.next-cli-build/server/chunks/706.js +1 -1
  494. package/app/.next-cli-build/server/chunks/7153.js +1 -1
  495. package/app/.next-cli-build/server/chunks/7540.js +4 -54
  496. package/app/.next-cli-build/server/chunks/8263.js +1 -0
  497. package/app/.next-cli-build/server/chunks/8590.js +1 -0
  498. package/app/.next-cli-build/server/chunks/8895.js +4 -4
  499. package/app/.next-cli-build/server/chunks/8962.js +2 -0
  500. package/app/.next-cli-build/server/chunks/9489.js +1 -1
  501. package/app/.next-cli-build/server/chunks/9849.js +1 -0
  502. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  503. package/app/.next-cli-build/server/middleware.js +1 -1
  504. package/app/.next-cli-build/server/pages/404.html +1 -1
  505. package/app/.next-cli-build/server/pages/500.html +1 -1
  506. package/app/.next-cli-build/static/chunks/{1321-da9628bf80ed7629.js → 1321-5e208aaa5052fbba.js} +1 -1
  507. package/app/.next-cli-build/static/chunks/{5497-a9d6c3c0b25e6ea6.js → 5497-b4a898852a915ec6.js} +2 -2
  508. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-648664c0c9dec562.js +1 -0
  509. package/app/.next-cli-build/static/css/1d0820e29b021592.css +1 -0
  510. package/app/cli/.build-home/.krouter/db/backups/{upgrade-0.5.21-to-0.5.22-0.5.22-20260622-020434 → upgrade-0.5.25-to-0.5.26-0.5.26-20260622-151730}/data.sqlite +0 -0
  511. package/app/cli/.build-home/.krouter/db/backups/{upgrade-0.5.22-to-0.5.23-0.5.23-20260622-024554 → upgrade-0.5.26-to-0.5.27-0.5.27-20260622-155729}/data.sqlite +0 -0
  512. package/app/cli/.build-home/.krouter/db/data.sqlite +0 -0
  513. package/app/cli/package.json +1 -1
  514. package/app/open-sse/services/complexityRouter.js +112 -0
  515. package/app/open-sse/services/intentClassifier.js +650 -0
  516. package/app/package.json +1 -1
  517. package/app/src/mitm/server.js +25 -25
  518. package/package.json +1 -1
  519. package/app/.next-cli-build/server/chunks/4161.js +0 -1
  520. package/app/.next-cli-build/server/chunks/4177.js +0 -1
  521. package/app/.next-cli-build/server/chunks/7501.js +0 -1
  522. package/app/.next-cli-build/server/chunks/8271.js +0 -1
  523. package/app/.next-cli-build/server/chunks/8910.js +0 -2
  524. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-c50244ab3401e007.js +0 -1
  525. package/app/.next-cli-build/static/css/71d9e5cee6803236.css +0 -1
  526. /package/app/.next-cli-build/static/{tZGuO4mSfl17sFmAOFyRU → ZIIYQ_oaHGO5J8W-kKFmS}/_buildManifest.js +0 -0
  527. /package/app/.next-cli-build/static/{tZGuO4mSfl17sFmAOFyRU → ZIIYQ_oaHGO5J8W-kKFmS}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";exports.id=8263,exports.ids=[1998,8263],exports.modules={7803:(a,b,c)=>{c.r(b),c.d(b,{debug:()=>f,error:()=>i,info:()=>g,maskKey:()=>m,request:()=>j,response:()=>k,stream:()=>l,warn:()=>h});function d(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}function e(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function f(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] 🔍 [${a}] ${b}${f}`)}}function g(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] ℹ️ [${a}] ${b}${f}`)}}function h(a,b,c){c&&e(c)}function i(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] ❌ [${a}] ${b}${f}`)}}function j(a,b,c){let f=c?` ${e(c)}`:"";console.log(`\x1b[36m[${d()}] 📥 ${a} ${b}${f}\x1b[0m`)}function k(a,b,c){let f=c?` ${e(c)}`:"";console.log(`[${d()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${f}`)}function l(a,b){let c=b?` ${e(b)}`:"";console.log(`[${d()}] 🌊 [STREAM] ${a}${c}`)}function m(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}},19225:(a,b,c)=>{a.exports=c(44870)},39326:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(71998);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},53258:(a,b,c)=>{c.d(b,{Up:()=>f,gH:()=>h,uw:()=>g});let d=global.__krouterConnHealth??={scores:new Map};function e(a,b){if(!a)return function(a=Date.now()){return{ewmaLatencyMs:3e3,successCount:5,failureCount:0,lastUpdate:a}}(b);let c=b-a.lastUpdate;if(c<6e4)return a;let d=Math.pow(.5,Math.min(8,c/3e5));return{ewmaLatencyMs:a.ewmaLatencyMs+(3e3-a.ewmaLatencyMs)*(1-d),successCount:Math.max(5,a.successCount*d+5*(1-d)),failureCount:Math.max(0,a.failureCount*d),lastUpdate:a.lastUpdate}}function f(a,b,c){if(!a||"noauth"===a)return;let f=Date.now(),g=e(d.scores.get(a),f),h=Math.max(0,Math.min(6e4,c||3e3)),i=b?.3*h+.7*g.ewmaLatencyMs:g.ewmaLatencyMs;d.scores.set(a,{ewmaLatencyMs:i,successCount:g.successCount+ +!!b,failureCount:g.failureCount+ +!b,lastUpdate:f})}function g(a){if(!a)return 0;let b=Date.now(),c=e(d.scores.get(a),b),f=c.successCount+c.failureCount;return 1e3*(f>0?c.successCount/f:1)-c.ewmaLatencyMs/100}function h(a){if(!Array.isArray(a)||a.length<2)return a||[];let b=a.map((a,b)=>({c:a,i:b,s:g(a.id)}));return b.sort((a,b)=>b.s-a.s||a.i-b.i),b.map(a=>a.c)}},55314:(a,b,c)=>{c.d(b,{Pt:()=>s,Tr:()=>t,c1:()=>q,kI:()=>u,vk:()=>r});var d=c(89718),e=c(39326),f=c(12557),g=c(69069),h=c(77598),i=c.n(h),j=c(53258);function k(a){return a<=0?0:"function"==typeof i().randomInt?i().randomInt(a):Math.floor(Math.random()*a)}let l=new Map;var m=c(3662),n=c(75681),o=c(7803);let p=Promise.resolve();async function q(a,b=null,c=null,h={}){let i,m=b instanceof Set?b:b?new Set([b]):new Set,r=h?.preferredConnectionId||null,s=p;p=new Promise(a=>{i=a});try{let b;await s;let i=(0,n.rs)(a);if(n.IS[i]?.noAuth){let a=((await (0,d.mt)()).providerStrategies||{})[i]||{},b=await (0,e.B)({proxyPoolId:a.proxyPoolId||""});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl,connectionNoProxy:b.connectionNoProxy,connectionProxyPoolId:b.proxyPoolId||null,vercelRelayUrl:b.vercelRelayUrl||""}}}let p=await (0,d.getProviderConnections)({provider:i,isActive:!0});if(o.debug("AUTH",`${a} | total connections: ${p.length}, excludeIds: ${m.size>0?[...m].join(","):"none"}, model: ${c||"any"}`),0===p.length)return o.warn("AUTH",`No credentials for ${a}`),null;(0,g.aT)(p);let q=[],t=p.filter(a=>!(m.has(a.id)||!h.bypassModelLock&&(0,f.Bl)(a,c))&&(!!h.bypassModelLock||!c||!!(0,g.Gu)(a.provider,a.id,c)||(q.push(a.id),!1)));if(q.length>0&&o.debug("AUTH",`${a} | quota-preflight skipped ${q.length} (below threshold): ${q.map(a=>a.slice(0,8)).join(",")}`),o.debug("AUTH",`${a} | available: ${t.length}/${p.length}`),p.forEach(a=>{let b=m.has(a.id),d=(0,f.Bl)(a,c);if(b||d){let e=(0,f.kJ)(a);o.debug("AUTH",` → ${a.id?.slice(0,8)} | ${b?"excluded":""} ${d?`modelLocked(${c}) until ${e}`:""}`)}}),0===t.length){let b=p.filter(a=>(0,f.Bl)(a,c)),d=b.map(a=>(0,f.kJ)(a)).filter(Boolean).sort()[0]||null;if(d){let e=b[0];return o.warn("AUTH",`${a} | all ${p.length} accounts locked for ${c||"all"} (${(0,f.Qo)(d)}) | lastError=${e?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:d,retryAfterHuman:(0,f.Qo)(d),lastError:e?.lastError||null,lastErrorCode:e?.errorCode||null}}return o.warn("AUTH",`${a} | all ${p.length} accounts unavailable`),null}let u=await (0,d.mt)(),v=(u.providerStrategies||{})[i]||{},w=v.fallbackStrategy||u.fallbackStrategy||"fill-first";if(r&&(b=t.find(a=>a.id===r))&&o.info("AUTH",`${a} | pinned to ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`),b);else if("p2c"===w||"random"===w){let{account:a}=function(a,b="fill-first",c={}){if(!Array.isArray(a)||0===a.length)return{account:null,state:c};switch(b){case"p2c":return{account:function(a){if(!Array.isArray(a)||0===a.length)return null;if(1===a.length)return a[0];let b=k(a.length),c=k(a.length-1);c>=b&&c++;let d=a[b],e=a[c];return((0,j.uw)(d)??0)>=((0,j.uw)(e)??0)?d:e}(a),state:c};case"random":return{account:a[k(a.length)],state:c};case"round-robin":{let b=((c.lastIndex??-1)+1)%a.length;return{account:a[b],state:{...c,lastIndex:b}}}default:return{account:a[0],state:c}}}(t,w,l.get(i)||{});(b=a)&&await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1})}else if("round-robin"===w){let a=v.stickyRoundRobinLimit||u.stickyRoundRobinLimit||3,c=[...t].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=c?.consecutiveUseCount||0;c&&c.lastUsedAt&&e<a?(b=c,await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(b.consecutiveUseCount||0)+1})):(b=[...t].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else{let c=(0,j.gH)(t);b=c[0],c[0]!==t[0]&&o.debug("AUTH",`${a} | health re-rank promoted ${b.id?.slice(0,8)} (score ${(0,j.uw)(b.id).toFixed(0)}) over ${t[0].id?.slice(0,8)} (score ${(0,j.uw)(t[0].id).toFixed(0)})`)}let x=await (0,e.B)(b.providerSpecificData||{});return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,idToken:b.idToken,expiresAt:b.expiresAt,expiresIn:b.expiresIn,lastRefreshAt:b.lastRefreshAt,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:x.connectionProxyEnabled,connectionProxyUrl:x.connectionProxyUrl,connectionNoProxy:x.connectionNoProxy,connectionProxyPoolId:x.proxyPoolId||null,vercelRelayUrl:x.vercelRelayUrl||""},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b}}finally{i&&i()}}async function r(a,b,c,e=null,h=null,i=null){if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};let j="string"==typeof c?c.slice(0,100):"Provider error",k=function(a){if("string"!=typeof a||!a.includes("accounts.google.com"))return null;let b=a.match(/https:\/\/accounts\.google\.com\/signin\/continue\?[^\s"'\\)]+/);return b?b[0]:null}("string"==typeof c?c:""),l={shouldFallback:!1,cooldownMs:0},n=null,p=a.slice(0,8);if(await (0,d.Q9)(a,a=>{let d,e,g,o,q=a?.backoffLevel||0;if(p=a?.displayName||a?.name||a?.email||p,i&&i>Date.now()?(d=!0,e=Math.min(i-Date.now(),m.fh),g=0):{shouldFallback:d,cooldownMs:e,newBackoffLevel:g,accountLock:o}=(0,f.hk)(b,c,q),!d&&(!e||e<=0))return l={shouldFallback:!1,cooldownMs:0},null;let r=o?(0,f.S5)(null,e):(0,f.S5)(h,e);return n=Object.keys(r)[0],l={shouldFallback:!1!==d,cooldownMs:e,accountLock:o||!1},{...r,testStatus:"unavailable",lastError:o&&k?`Verify your account: ${k}`:j,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:g??q}})&&l.shouldFallback){e&&(0,g.C$)(e,a);let c=l.accountLock?"WHOLE ACCOUNT":n;o.warn("AUTH",`${p} locked ${c} for ${Math.round(l.cooldownMs/1e3)}s [${b}]`),l.accountLock&&o.warn("AUTH",`🔒 ACCOUNT ${p} needs verification → ${k||"(URL not parsable from error body)"}`),e&&b&&j&&console.error(`❌ ${e} [${b}]: ${j}`)}return l}async function s(a,b,c=null){if(!a||"noauth"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function t(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function u(a){return!!a&&await (0,d.ek)(a)}},69069:(a,b,c)=>{c.d(b,{C$:()=>n,Gu:()=>k,aT:()=>m,wJ:()=>l});var d=c(99675);let e=new Map,f=new Map;function g(a,b){return`${a}::${b}`}function h(){return Date.now()}function i(a){return a&&h()-a.fetchedAt<3e5}async function j(a,b,c){let i=g(a,b),j=f.get(i);if(j)return j;let k=(async()=>{try{let a=await (0,d.m)(c),b=function(a){if(!a||"object"!=typeof a||a.message&&(!a.quotas||"object"!=typeof a.quotas))return null;let b=a.quotas;if(!b||"object"!=typeof b||Array.isArray(b))return null;let c={};for(let[a,d]of Object.entries(b)){if(!d||"object"!=typeof d||!0===d.unlimited)continue;let b=function(a){if("number"==typeof a&&Number.isFinite(a))return Math.max(0,Math.min(100,a));if("string"==typeof a){let b=parseFloat(a);if(Number.isFinite(b))return Math.max(0,Math.min(100,b))}return null}(d.remainingPercentage);null!==b&&(c[a]={remainingPercentage:b,resetAt:"string"==typeof d.resetAt?d.resetAt:null,limitReached:b<=0})}return Object.keys(c).length>0?c:null}(a);return b&&e.set(i,{byModel:b,fetchedAt:h()}),b}catch{return null}finally{f.delete(i)}})();return f.set(i,k),k}function k(a,b,c,d=2){let f=g(a,b),h=e.get(f);if(!h||!i(h))return!0;let j=h.byModel?.[c];return!j||j.remainingPercentage>d}function l(a,b){if(!a||!b)return null;let c=null;for(let[d,f]of e.entries()){if(!d.startsWith(`${a}::`)||!i(f))continue;let e=f.byModel?.[b];e&&(null===c||e.remainingPercentage>c)&&(c=e.remainingPercentage)}return c}function m(a){if(!Array.isArray(a))return;let b=new Set;for(let d of a){var c;if(!d?.id||!d?.provider)continue;let a=g(d.provider,d.id);!b.has(a)&&(b.add(a),(c=e.get(a))&&h()-c.fetchedAt<6e4||j(d.provider,d.id,d).catch(()=>{}))}}function n(a,b){e.delete(g(a,b))}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=8590,exports.ids=[8590],exports.modules={8590:(a,b,c)=>{c.d(b,{$B:()=>x,I9:()=>p,Og:()=>m,Ql:()=>t,Sc:()=>y,jR:()=>w,jT:()=>l,oD:()=>i,pb:()=>A,qZ:()=>B});var d=c(35024),e=c(75924),f=c(39609);let g=null;async function h(a,b){return a?k("xai",a,async()=>{try{g||(g=new(await Promise.all([c.e(3104),c.e(5852)]).then(c.bind(c,33471))).XaiService);let b=await g.refreshAccessToken(a);return{accessToken:b.access_token,refreshToken:b.refresh_token||a,expiresIn:b.expires_in,idToken:b.id_token}}catch(c){b?.warn?.("TOKEN_REFRESH",`xai refresh failed: ${c?.message||c}`);let a=String(c?.message||"");if(a.includes("invalid_grant")||a.includes("invalid_request"))return{error:"invalid_grant"};return null}},b):null}let i=3e5,j=new Map;async function k(a,b,c,d){if(!b)return c();let e=`${a}:${b}`,f=j.get(e);if(f){if(f.promise)return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),f.promise;if(f.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),f.result;j.delete(e)}let g=(async()=>{try{let a=await c();return j.set(e,{result:a,expiresAt:Date.now()+1e4}),a}catch(a){throw j.delete(e),a}})();return j.set(e,{promise:g}),g}function l(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}function m(a){return e.Wu[a]||i}async function n(a,b,c,e){let f=d.xq[a];return f&&f.refreshUrl?b?k(a,b,async()=>{try{let c=await fetch(f.refreshUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:b,client_id:f.clientId,client_secret:f.clientSecret})});if(!c.ok){let b=await c.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:c.status,error:b}),null}let d=await c.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||b,expiresIn:d.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},e):(e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null):(e?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null)}async function o(a,b){return a?k("claude",a,async()=>{try{let c=await fetch(e.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!f.access_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}},b):null}async function p(a,b,c,d){return a?k(`google:${b}`,a,async()=>{try{let f=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!f.ok){let a=await f.text();return d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:f.status,error:a}),null}let g=await f.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return d?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},d):null}async function q(a,b){return a?k("qwen",a,async()=>{let c=e.NA.qwen.token;try{let e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId})});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,providerSpecificData:c.resource_url?{resourceUrl:c.resource_url}:void 0}}{let a=await e.text().catch(()=>"");b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:e.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null},b):null}async function r(a,b){return a?k("codex",a,async()=>{try{let c=await fetch(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:d.xq.codex.clientId,grant_type:"refresh_token",refresh_token:a})});if(!c.ok){let a=await c.text(),d=function(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error?.code||c?.error||c?.error_code||"",e=c?.error_description||c?.message||a||"",f=`${d} ${e}`.toLowerCase();return{status:b,code:d,description:e,permanent:["refresh_token_expired","refresh_token_reused","refresh_token_invalidated","invalid_grant"].some(a=>f.includes(a))}}(a,c.status);if(d.permanent)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-auth required.",{status:c.status,code:d.code}),{error:"unrecoverable_refresh_error",code:d.code};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a,code:d.code,permanent:d.permanent}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,hasIdToken:!!f.id_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,idToken:f.id_token,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function s(a,b,d){if(a?.profileArn)return{};let e=d?.trim?.()||null;if(!e){let{fetchKiroProfileArn:a}=await Promise.all([c.e(7774),c.e(5433),c.e(4404),c.e(4746),c.e(7540),c.e(5330),c.e(8895),c.e(2549),c.e(3535)]).then(c.bind(c,74177));e=await a(b)}return e?{providerSpecificData:{profileArn:e}}:{}}async function t(a,b,c,e=null){return a?k("kiro",a,async()=>{let g=b?.authMethod,h=b?.clientId,i=b?.clientSecret,j=b?.region;if(h&&i){let d="idc"===g&&j?`https://oidc.${j}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",k=await (0,f.proxyAwareFetch)(d,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:h,clientSecret:i,refreshToken:a,grantType:"refresh_token"})},e);if(!k.ok){let a=await k.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:k.status,error:a}),null}let l=await k.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!l.accessToken,expiresIn:l.expiresIn}),{accessToken:l.accessToken,refreshToken:l.refreshToken||a,expiresIn:l.expiresIn,...await s(b,l.accessToken,l.profileArn)}}let k=await (0,f.proxyAwareFetch)(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:a})},e);if(!k.ok){let a=await k.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:k.status,error:a}),null}let l=await k.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!l.accessToken,expiresIn:l.expiresIn}),{accessToken:l.accessToken,refreshToken:l.refreshToken||a,expiresIn:l.expiresIn,...await s(b,l.accessToken,l.profileArn)}},c):null}async function u(a,b){return a?k("iflow",a,async()=>{let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),f=await fetch(e.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret})});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function v(a,b){return a?k("github",a,async()=>{let c={grant_type:"refresh_token",refresh_token:a,client_id:d.xq.github.clientId};d.xq.github.clientSecret&&(c.client_secret=d.xq.github.clientSecret);let f=await fetch(e.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(c)});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function w(a,b){return a?k("copilot",a,async()=>{try{let c=await fetch("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":e.x0.USER_AGENT,"Editor-Version":`vscode/${e.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${e.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":e.x0.API_VERSION}});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!d.token,expiresAt:d.expires_at}),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}},b):null}async function x(a,b,c){if(!b.refreshToken)return null;switch(a){case"gemini-cli":case"antigravity":return p(b.refreshToken,d.xq[a].clientId,d.xq[a].clientSecret,c);case"claude":return o(b.refreshToken,c);case"codex":return r(b.refreshToken,c);case"qwen":return q(b.refreshToken,c);case"iflow":return u(b.refreshToken,c);case"github":return v(b.refreshToken,c);case"kiro":return t(b.refreshToken,b.providerSpecificData,c);case"xai":return h(b.refreshToken,c);case"vertex":case"vertex-partner":{let a=y(b.apiKey);if(!a)return null;return A(a,c)}default:return n(a,b.refreshToken,b,c)}}function y(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let z=new Map;async function A(a,b){let d=a.client_email,e=z.get(d);if(e&&e.expiresAt-Date.now()>3e5)return{accessToken:e.token,expiresAt:e.expiresAt};try{let{SignJWT:e,importPKCS8:f}=await Promise.all([c.e(6935),c.e(8971)]).then(c.bind(c,8971));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let g=await f(a.private_key.replace(/\\n/g,"\n"),"RS256"),h=Math.floor(Date.now()/1e3),i=await new e({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience("https://oauth2.googleapis.com/token").setIssuedAt(h).setExpirationTime(h+3600).sign(g),j=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:i})});if(!j.ok){let a=await j.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:k,expires_in:l}=await j.json(),m=Date.now()+(l??3600)*1e3;return z.set(d,{token:k,expiresAt:m}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:k,expiresAt:m}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}async function B(a,b=3,c=null){for(let d=0;d<b;d++){if(d>0){let a=1e3*d;c?.debug?.("TOKEN_REFRESH",`Retry ${d}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await a();if(b)return b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${d+1}/${b} failed: ${a.message}`)}}return c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed`),null}}};
@@ -1,12 +1,12 @@
1
- "use strict";exports.id=8895,exports.ids=[8895],exports.modules={324:(a,b,c)=>{c.d(b,{J:()=>e,Q:()=>f});let d={claude:["claude","anthropic"],"gemini-cli":["gemini-cli"],antigravity:["antigravity"],codex:["codex","openai","commandcode"]};function e(a={},b={}){let c=(a["user-agent"]||"").toLowerCase(),d=(a["x-app"]||"").toLowerCase(),f=(a["openai-intent"]||"").toLowerCase(),g=(a["x-initiator"]||a["X-Initiator"]||"").toLowerCase();return"antigravity"===b.userAgent?"antigravity":c.includes("githubcopilotchat")||"conversation-panel"===f||"user"===g?"github-copilot":c.includes("claude-cli")||c.includes("claude-code")||"cli"===d?"claude":c.includes("gemini-cli")?"gemini-cli":c.includes("codex-cli")||c.includes("codex/")?"codex":c.includes("deepseek-tui")?"deepseek-tui":null}function f(a,b){if(!a)return!1;let c=d[a];if(!c)return!1;let e=b.startsWith("anthropic-compatible")?"anthropic":b;return c.includes(e)}},5016:(a,b,c)=>{c.d(b,{N:()=>n});var d=c(14170),e=c(7540),f=c(39551),g=c(73483),h=c(43659),i=c(41004),j=c(81626),k=c(86171),l=c(47370),m=c(55399);async function n({providerResponse:a,provider:b,model:c,sourceFormat:o,targetFormat:p,body:q,stream:r,translatedBody:s,finalBody:t,requestStartTime:u,connectionId:v,apiKey:w,clientRawRequest:x,onRequestSuccess:y,reqLogger:z,toolNameMap:A,trackDone:B,appendLog:C}){let D;if(B(),(a.headers.get("content-type")||"").includes("text/event-stream")){let b=await a.text(),d=(0,j.F)(b,c);if(!d)return C({status:`FAILED ${i.gx.BAD_GATEWAY}`}),(0,h.A1)(i.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");D=d}else try{D=await a.json()}catch(a){return C({status:`FAILED ${i.gx.BAD_GATEWAY}`}),console.error(`[ChatCore] Failed to parse JSON from ${b}:`,a.message),(0,h.A1)(i.gx.BAD_GATEWAY,`Invalid JSON response from ${b}`)}z.logProviderResponse(a.status,a.statusText,a.headers,D),y&&await y(),D=(0,m.kR)(D,A);let E=(0,k.MK)(D);C({tokens:E,status:"200 OK"}),(0,k.qr)({provider:b,model:c,tokens:E,connectionId:v,apiKey:w,endpoint:x?.endpoint});let F=(0,e.nZ)(p,o)?function(a,b,c){if(b===c||b===d.h.OPENAI)return a;if(b===d.h.GEMINI||b===d.h.ANTIGRAVITY||b===d.h.GEMINI_CLI||b===d.h.VERTEX){let b=a.response||a;if(!b?.candidates?.[0])return a;let c=b.candidates[0],d=c.content,e=b.usageMetadata||a.usageMetadata,f="",g="",h=[];if(d?.parts)for(let a of d.parts)!0===a.thought&&a.text?g+=a.text:void 0!==a.text&&(f+=a.text),a.functionCall&&h.push({id:`call_${a.functionCall.name}_${Date.now()}_${h.length}`,type:"function",function:{name:a.functionCall.name,arguments:JSON.stringify(a.functionCall.args||{})}});let i={role:"assistant"};f&&(i.content=f),g&&(i.reasoning_content=g),h.length>0&&(i.tool_calls=h),i.content||i.tool_calls||(i.content="");let j=(c.finishReason||"stop").toLowerCase();"stop"===j&&h.length>0&&(j="tool_calls");let k={id:`chatcmpl-${b.responseId||Date.now()}`,object:"chat.completion",created:Math.floor(new Date(b.createTime||Date.now()).getTime()/1e3),model:b.modelVersion||"gemini",choices:[{index:0,message:i,finish_reason:j}]};return e&&(k.usage={prompt_tokens:(e.promptTokenCount||0)+(e.thoughtsTokenCount||0),completion_tokens:e.candidatesTokenCount||0,total_tokens:e.totalTokenCount||0},e.thoughtsTokenCount>0&&(k.usage.completion_tokens_details={reasoning_tokens:e.thoughtsTokenCount})),k}if(b===d.h.CLAUDE){if(a.choices||a.content&&!Array.isArray(a.content))return a;let b="",c="",d=[];for(let e of a.content||[])"text"===e.type?b+=(e.text??"").replace(/^\s*```\s*json\s*\n?/i,"").replace(/\n?\s*```\s*$/i,""):"thinking"===e.type?c+=e.thinking||"":"tool_use"===e.type&&d.push({id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.input||{})}});let e={role:"assistant"};b&&(e.content=b),c&&(e.reasoning_content=c),d.length>0&&(e.tool_calls=d),e.content||e.tool_calls||(e.content="");let f=a.stop_reason||"stop";"end_turn"===f&&(f="stop"),"tool_use"===f&&(f="tool_calls");let g={id:`chatcmpl-${a.id||Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a.model||"claude",choices:[{index:0,message:e,finish_reason:f}]};return a.usage&&(g.usage={prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,total_tokens:(a.usage.input_tokens||0)+(a.usage.output_tokens||0)}),g}return b===d.h.OLLAMA?(0,f.ollamaBodyToOpenAI)(a):a}(D,p,o):D;if(F?.choices?.[0]){let a=F.choices[0],b=a.message;Array.isArray(b?.tool_calls)&&b.tool_calls.length>0&&"tool_calls"!==a.finish_reason&&(a.finish_reason="tool_calls")}if(F.object||(F.object="chat.completion"),F.created||(F.created=Math.floor(Date.now()/1e3)),delete F.prompt_filter_results,F?.choices)for(let a of F.choices)delete a.content_filter_results;if(F?.usage&&(F.usage=(0,g.WL)((0,g.O9)(F.usage),o)),F?.choices)for(let a of F.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;z.logConvertedResponse(F);let G=Date.now()-u;return(0,l.ox)((0,k.$R)({provider:b,model:c,connectionId:v,latency:{ttft:G,total:G},tokens:E||{prompt_tokens:0,completion_tokens:0},request:(0,k.Fo)(q,r),providerRequest:t||s||null,providerResponse:D||null,response:{content:F?.choices?.[0]?.message?.content||F?.content||null,thinking:F?.choices?.[0]?.message?.reasoning_content||F?.reasoning_content||null,finish_reason:F?.choices?.[0]?.finish_reason||"unknown"},status:"success"},{endpoint:x?.endpoint||null})).catch(a=>{console.error("[RequestDetail] Failed to save:",a.message)}),{success:!0,response:new Response(JSON.stringify(F),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}},12557:(a,b,c)=>{c.d(b,{Bl:()=>j,Qo:()=>f,S5:()=>l,hk:()=>e,kJ:()=>k});var d=c(3662);function e(a,b,c=0){let f=b?("string"==typeof b?b:JSON.stringify(b)).toLowerCase():"";for(let b of d.t2)if(b.text&&f&&f.includes(b.text)||b.status&&b.status===a){if(b.backoff){let a=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:!0,cooldownMs:function(a=0){let b=Math.max(0,a-1);return Math.min(d.EQ.base*Math.pow(2,b),d.EQ.max)}(a),newBackoffLevel:a}}if(!1===b.shouldFallback)return{shouldFallback:!1,cooldownMs:b.cooldownMs,accountLock:b.accountLock||!1};return{shouldFallback:!0,cooldownMs:b.cooldownMs,accountLock:b.accountLock||!1}}return{shouldFallback:!0,cooldownMs:d.wf}}function f(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"reset after 0s";let c=Math.ceil(b/1e3),d=Math.floor(c/3600),e=Math.floor(c%3600/60),f=c%60,g=[];return d>0&&g.push(`${d}h`),e>0&&g.push(`${e}m`),(f>0||0===g.length)&&g.push(`${f}s`),`reset after ${g.join(" ")}`}let g="modelLock_",h=`${g}__all`;function i(a){return a?`${g}${a}`:h}function j(a,b){let c=a[i(b)]||a[h];return!!c&&new Date(c).getTime()>Date.now()}function k(a){if(!a)return null;let b=null,c=Date.now();for(let[d,e]of Object.entries(a)){if(!d.startsWith(g)||!e)continue;let a=new Date(e).getTime();a<=c||(!b||a<b)&&(b=a)}return b?new Date(b).toISOString():null}function l(a,b){return{[i(a)]:new Date(Date.now()+b).toISOString()}}},14724:(a,b,c)=>{c.d(b,{F:()=>g});let d=[{triggers:["mcp__exa__web_search_exa","mcp__exa__web_fetch_exa"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:["mcp__tavily__tavily_search","mcp__tavily__tavily_extract"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:[/^mcp__browsermcp__/],strip:[/^mcp__Claude_in_Chrome__/]}];function e(a){return a?.name||a?.function?.name||""}function f(a,b){return"string"==typeof b?a===b:b instanceof RegExp&&b.test(a)}function g(a){if(!Array.isArray(a)||0===a.length)return{tools:a,stripped:[]};let b=a.map(e),c=new Set;for(let a of d)if(b.some(b=>a.triggers.some(a=>f(b,a))))for(let d of b)a.strip.some(a=>f(d,a))&&c.add(d);return 0===c.size?{tools:a,stripped:[]}:{tools:a.filter(a=>!c.has(e(a))),stripped:Array.from(c)}}},20623:(a,b,c)=>{c.d(b,{$:()=>o,M:()=>n});var d=c(14170),e=c(7540),f=c(71857),g=c(59657),h=c(35024),i=c(41004),j=c(30320),k=c(86171),l=c(47370);let m={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"};function n({providerResponse:a,provider:b,model:c,sourceFormat:o,targetFormat:p,userAgent:q,body:r,stream:s,translatedBody:t,finalBody:u,requestStartTime:v,connectionId:w,apiKey:x,clientRawRequest:y,onRequestSuccess:z,reqLogger:A,toolNameMap:B,streamController:C,onStreamComplete:D}){z&&z();let E=function({provider:a,sourceFormat:b,targetFormat:c,userAgent:g,reqLogger:h,toolNameMap:i,model:j,connectionId:k,body:l,onStreamComplete:m,apiKey:n}){let o=g?.toLowerCase().includes("droid")||g?.toLowerCase().includes("codex-cli");if("codex"===a&&c===d.h.OPENAI_RESPONSES&&!o){let c;return c=b===d.h.OPENAI_RESPONSES?d.h.OPENAI_RESPONSES:b===d.h.CLAUDE?d.h.CLAUDE:b===d.h.ANTIGRAVITY||b===d.h.GEMINI||b===d.h.GEMINI_CLI?d.h.ANTIGRAVITY:d.h.OPENAI,(0,f.i5)(d.h.OPENAI_RESPONSES,c,a,h,i,j,k,l,m,n)}return(0,e.nZ)(c,b)?(0,f.i5)(c,b,a,h,i,j,k,l,m,n):(0,f.l2)(a,h,j,k,l,m,n)}({provider:b,sourceFormat:o,targetFormat:p,userAgent:q,reqLogger:A,toolNameMap:B,model:c,connectionId:w,body:r,onStreamComplete:D,apiKey:x}),F=o===d.h.OPENAI_RESPONSES&&p===d.h.OPENAI_RESPONSES?j.Hr:null,G=h.xq[b]?.stallTimeoutMs||i.xM,H=(0,g.Jb)(a,E,C,F,G),I=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`;return(0,l.ox)((0,k.$R)({provider:b,model:c,connectionId:w,latency:{ttft:0,total:Date.now()-v},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,k.Fo)(r,s),providerRequest:u||t||null,providerResponse:"[Streaming - raw response not captured]",response:{content:"[Streaming in progress...]",thinking:null,type:"streaming"},status:"success"},{id:I})).catch(a=>{console.error("[RequestDetail] Failed to save streaming request:",a.message)}),{success:!0,response:new Response(H,{headers:m})}}function o({provider:a,model:b,connectionId:c,apiKey:d,requestStartTime:e,body:f,stream:g,finalBody:h,translatedBody:i,clientRawRequest:j}){let m=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`;return{onStreamComplete:(n,o,p)=>{let q={ttft:p?p-e:Date.now()-e,total:Date.now()-e},r=n?.content||"[Empty streaming response]",s=n?.thinking||null;(0,l.ox)((0,k.$R)({provider:a,model:b,connectionId:c,latency:q,tokens:o||{prompt_tokens:0,completion_tokens:0},request:(0,k.Fo)(f,g),providerRequest:h||i||null,providerResponse:r,response:{content:r,thinking:s,type:"streaming"},status:"success"},{id:m})).catch(a=>{console.error("[RequestDetail] Failed to update streaming content:",a.message)}),(0,k.qr)({provider:a,model:b,tokens:o,connectionId:c,apiKey:d,endpoint:j?.endpoint,label:"STREAM USAGE"})},streamDetailId:m}}},20766:(a,b,c)=>{c.d(b,{U:()=>l});var d=c(14170);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){!function(a,b,c){if(a&&c)switch(b){case d.h.CLAUDE:!function(a,b){if("string"==typeof a.system&&a.system.length>0){a.system=`${a.system}
1
+ "use strict";exports.id=8895,exports.ids=[8895],exports.modules={324:(a,b,c)=>{c.d(b,{J:()=>e,Q:()=>f});let d={claude:["claude","anthropic"],"gemini-cli":["gemini-cli"],antigravity:["antigravity"],codex:["codex","openai","commandcode"]};function e(a={},b={}){let c=(a["user-agent"]||"").toLowerCase(),d=(a["x-app"]||"").toLowerCase(),f=(a["openai-intent"]||"").toLowerCase(),g=(a["x-initiator"]||a["X-Initiator"]||"").toLowerCase();return"antigravity"===b.userAgent?"antigravity":c.includes("githubcopilotchat")||"conversation-panel"===f||"user"===g?"github-copilot":c.includes("claude-cli")||c.includes("claude-code")||"cli"===d?"claude":c.includes("gemini-cli")?"gemini-cli":c.includes("codex-cli")||c.includes("codex/")?"codex":c.includes("deepseek-tui")?"deepseek-tui":null}function f(a,b){if(!a)return!1;let c=d[a];if(!c)return!1;let e=b.startsWith("anthropic-compatible")?"anthropic":b;return c.includes(e)}},5016:(a,b,c)=>{c.d(b,{N:()=>n});var d=c(14170),e=c(7540),f=c(39551),g=c(73483),h=c(43659),i=c(41004),j=c(81626),k=c(86171),l=c(47370),m=c(55399);async function n({providerResponse:a,provider:b,model:c,sourceFormat:o,targetFormat:p,body:q,stream:r,translatedBody:s,finalBody:t,requestStartTime:u,connectionId:v,apiKey:w,clientRawRequest:x,onRequestSuccess:y,reqLogger:z,toolNameMap:A,trackDone:B,appendLog:C}){let D;if(B(),(a.headers.get("content-type")||"").includes("text/event-stream")){let b=await a.text(),d=(0,j.F)(b,c);if(!d)return C({status:`FAILED ${i.gx.BAD_GATEWAY}`}),(0,h.A1)(i.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");D=d}else try{D=await a.json()}catch(a){return C({status:`FAILED ${i.gx.BAD_GATEWAY}`}),console.error(`[ChatCore] Failed to parse JSON from ${b}:`,a.message),(0,h.A1)(i.gx.BAD_GATEWAY,`Invalid JSON response from ${b}`)}z.logProviderResponse(a.status,a.statusText,a.headers,D),y&&await y(),D=(0,m.kR)(D,A);let E=(0,k.MK)(D);C({tokens:E,status:"200 OK"}),(0,k.qr)({provider:b,model:c,tokens:E,connectionId:v,apiKey:w,endpoint:x?.endpoint});let F=(0,e.nZ)(p,o)?function(a,b,c){if(b===c||b===d.h.OPENAI)return a;if(b===d.h.GEMINI||b===d.h.ANTIGRAVITY||b===d.h.GEMINI_CLI||b===d.h.VERTEX){let b=a.response||a;if(!b?.candidates?.[0])return a;let c=b.candidates[0],d=c.content,e=b.usageMetadata||a.usageMetadata,f="",g="",h=[];if(d?.parts)for(let a of d.parts)!0===a.thought&&a.text?g+=a.text:void 0!==a.text&&(f+=a.text),a.functionCall&&h.push({id:`call_${a.functionCall.name}_${Date.now()}_${h.length}`,type:"function",function:{name:a.functionCall.name,arguments:JSON.stringify(a.functionCall.args||{})}});let i={role:"assistant"};f&&(i.content=f),g&&(i.reasoning_content=g),h.length>0&&(i.tool_calls=h),i.content||i.tool_calls||(i.content="");let j=(c.finishReason||"stop").toLowerCase();"stop"===j&&h.length>0&&(j="tool_calls");let k={id:`chatcmpl-${b.responseId||Date.now()}`,object:"chat.completion",created:Math.floor(new Date(b.createTime||Date.now()).getTime()/1e3),model:b.modelVersion||"gemini",choices:[{index:0,message:i,finish_reason:j}]};return e&&(k.usage={prompt_tokens:(e.promptTokenCount||0)+(e.thoughtsTokenCount||0),completion_tokens:e.candidatesTokenCount||0,total_tokens:e.totalTokenCount||0},e.thoughtsTokenCount>0&&(k.usage.completion_tokens_details={reasoning_tokens:e.thoughtsTokenCount})),k}if(b===d.h.CLAUDE){if(a.choices||a.content&&!Array.isArray(a.content))return a;let b="",c="",d=[];for(let e of a.content||[])"text"===e.type?b+=(e.text??"").replace(/^\s*```\s*json\s*\n?/i,"").replace(/\n?\s*```\s*$/i,""):"thinking"===e.type?c+=e.thinking||"":"tool_use"===e.type&&d.push({id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.input||{})}});let e={role:"assistant"};b&&(e.content=b),c&&(e.reasoning_content=c),d.length>0&&(e.tool_calls=d),e.content||e.tool_calls||(e.content="");let f=a.stop_reason||"stop";"end_turn"===f&&(f="stop"),"tool_use"===f&&(f="tool_calls");let g={id:`chatcmpl-${a.id||Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a.model||"claude",choices:[{index:0,message:e,finish_reason:f}]};return a.usage&&(g.usage={prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,total_tokens:(a.usage.input_tokens||0)+(a.usage.output_tokens||0)}),g}return b===d.h.OLLAMA?(0,f.ollamaBodyToOpenAI)(a):a}(D,p,o):D;if(F?.choices?.[0]){let a=F.choices[0],b=a.message;Array.isArray(b?.tool_calls)&&b.tool_calls.length>0&&"tool_calls"!==a.finish_reason&&(a.finish_reason="tool_calls")}if(F.object||(F.object="chat.completion"),F.created||(F.created=Math.floor(Date.now()/1e3)),delete F.prompt_filter_results,F?.choices)for(let a of F.choices)delete a.content_filter_results;if(F?.usage&&(F.usage=(0,g.WL)((0,g.O9)(F.usage),o)),F?.choices)for(let a of F.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;z.logConvertedResponse(F);let G=Date.now()-u;return(0,l.ox)((0,k.$R)({provider:b,model:c,connectionId:v,latency:{ttft:G,total:G},tokens:E||{prompt_tokens:0,completion_tokens:0},request:(0,k.Fo)(q,r),providerRequest:t||s||null,providerResponse:D||null,response:{content:F?.choices?.[0]?.message?.content||F?.content||null,thinking:F?.choices?.[0]?.message?.reasoning_content||F?.reasoning_content||null,finish_reason:F?.choices?.[0]?.finish_reason||"unknown"},status:"success"},{endpoint:x?.endpoint||null})).catch(a=>{console.error("[RequestDetail] Failed to save:",a.message)}),{success:!0,response:new Response(JSON.stringify(F),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}},14724:(a,b,c)=>{c.d(b,{F:()=>g});let d=[{triggers:["mcp__exa__web_search_exa","mcp__exa__web_fetch_exa"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:["mcp__tavily__tavily_search","mcp__tavily__tavily_extract"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:[/^mcp__browsermcp__/],strip:[/^mcp__Claude_in_Chrome__/]}];function e(a){return a?.name||a?.function?.name||""}function f(a,b){return"string"==typeof b?a===b:b instanceof RegExp&&b.test(a)}function g(a){if(!Array.isArray(a)||0===a.length)return{tools:a,stripped:[]};let b=a.map(e),c=new Set;for(let a of d)if(b.some(b=>a.triggers.some(a=>f(b,a))))for(let d of b)a.strip.some(a=>f(d,a))&&c.add(d);return 0===c.size?{tools:a,stripped:[]}:{tools:a.filter(a=>!c.has(e(a))),stripped:Array.from(c)}}},20623:(a,b,c)=>{c.d(b,{$:()=>o,M:()=>n});var d=c(14170),e=c(7540),f=c(71857),g=c(59657),h=c(35024),i=c(41004),j=c(30320),k=c(86171),l=c(47370);let m={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"};function n({providerResponse:a,provider:b,model:c,sourceFormat:o,targetFormat:p,userAgent:q,body:r,stream:s,translatedBody:t,finalBody:u,requestStartTime:v,connectionId:w,apiKey:x,clientRawRequest:y,onRequestSuccess:z,reqLogger:A,toolNameMap:B,streamController:C,onStreamComplete:D}){z&&z();let E=function({provider:a,sourceFormat:b,targetFormat:c,userAgent:g,reqLogger:h,toolNameMap:i,model:j,connectionId:k,body:l,onStreamComplete:m,apiKey:n}){let o=g?.toLowerCase().includes("droid")||g?.toLowerCase().includes("codex-cli");if("codex"===a&&c===d.h.OPENAI_RESPONSES&&!o){let c;return c=b===d.h.OPENAI_RESPONSES?d.h.OPENAI_RESPONSES:b===d.h.CLAUDE?d.h.CLAUDE:b===d.h.ANTIGRAVITY||b===d.h.GEMINI||b===d.h.GEMINI_CLI?d.h.ANTIGRAVITY:d.h.OPENAI,(0,f.i5)(d.h.OPENAI_RESPONSES,c,a,h,i,j,k,l,m,n)}return(0,e.nZ)(c,b)?(0,f.i5)(c,b,a,h,i,j,k,l,m,n):(0,f.l2)(a,h,j,k,l,m,n)}({provider:b,sourceFormat:o,targetFormat:p,userAgent:q,reqLogger:A,toolNameMap:B,model:c,connectionId:w,body:r,onStreamComplete:D,apiKey:x}),F=o===d.h.OPENAI_RESPONSES&&p===d.h.OPENAI_RESPONSES?j.Hr:null,G=h.xq[b]?.stallTimeoutMs||i.xM,H=(0,g.Jb)(a,E,C,F,G),I=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`;return(0,l.ox)((0,k.$R)({provider:b,model:c,connectionId:w,latency:{ttft:0,total:Date.now()-v},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,k.Fo)(r,s),providerRequest:u||t||null,providerResponse:"[Streaming - raw response not captured]",response:{content:"[Streaming in progress...]",thinking:null,type:"streaming"},status:"success"},{id:I})).catch(a=>{console.error("[RequestDetail] Failed to save streaming request:",a.message)}),{success:!0,response:new Response(H,{headers:m})}}function o({provider:a,model:b,connectionId:c,apiKey:d,requestStartTime:e,body:f,stream:g,finalBody:h,translatedBody:i,clientRawRequest:j}){let m=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`;return{onStreamComplete:(n,o,p)=>{let q={ttft:p?p-e:Date.now()-e,total:Date.now()-e},r=n?.content||"[Empty streaming response]",s=n?.thinking||null;(0,l.ox)((0,k.$R)({provider:a,model:b,connectionId:c,latency:q,tokens:o||{prompt_tokens:0,completion_tokens:0},request:(0,k.Fo)(f,g),providerRequest:h||i||null,providerResponse:r,response:{content:r,thinking:s,type:"streaming"},status:"success"},{id:m})).catch(a=>{console.error("[RequestDetail] Failed to update streaming content:",a.message)}),(0,k.qr)({provider:a,model:b,tokens:o,connectionId:c,apiKey:d,endpoint:j?.endpoint,label:"STREAM USAGE"})},streamDetailId:m}}},20766:(a,b,c)=>{c.d(b,{U:()=>l});var d=c(14170);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){!function(a,b,c){if(a&&c)switch(b){case d.h.CLAUDE:!function(a,b){if("string"==typeof a.system&&a.system.length>0){a.system=`${a.system}
2
2
 
3
3
  ${b}`;return}if(Array.isArray(a.system)){let c={type:"text",text:b},d=-1;for(let b=a.system.length-1;b>=0;b--)if(a.system[b]?.cache_control){d=b;break}d>=0?a.system.splice(d,0,c):a.system.push(c);return}a.system=b}(a,c);return;case d.h.GEMINI:case d.h.GEMINI_CLI:case d.h.VERTEX:case d.h.ANTIGRAVITY:var e,f;let g,h,i;e=a,f=c,g=e.request&&"object"==typeof e.request?e.request:e,h=Object.prototype.hasOwnProperty.call(g,"system_instruction")?"system_instruction":"systemInstruction",(i=g[h])&&Array.isArray(i.parts)?i.parts.push({text:f}):g[h]={parts:[{text:f}]};return;default:!function(a,b){var c,d;if("string"==typeof a.instructions){a.instructions=a.instructions?`${a.instructions}
4
4
 
5
5
  ${b}`:b;return}let e=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!e)return;let f=e.findIndex(a=>a&&("system"===a.role||"developer"===a.role));f>=0?(c=e[f],d=b,"string"==typeof c.content?c.content=`${c.content}
6
6
 
7
- ${d}`:Array.isArray(c.content)?c.content.push({type:"input_text",text:d}):c.content=d):e.unshift({role:"system",content:b})}(a,c)}}(a,b,k[c])}},27349:(a,b,c)=>{c.d(b,{c:()=>i});var d=c(57647),e=c(7540),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);d?.message&&(c=d.message,b?.usage&&(c.usage=b.usage))}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.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]
7
+ ${d}`:Array.isArray(c.content)?c.content.push({type:"input_text",text:d}):c.content=d):e.unshift({role:"system",content:b})}(a,c)}}(a,b,k[c])}},27349:(a,b,c)=>{c.d(b,{c:()=>i});var d=c(57647),e=c(7540),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);d?.message&&(c=d.message,b?.usage&&(c.usage=b.usage))}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}]}},29699:(a,b,c)=>{c.d(b,{KE:()=>f,gr:()=>g});let d={enabled:!1,provider:"nvidia",model:"openai/gpt-oss-120b",triggerOn402:!0,triggerOnBudgetKeywords:!0,skipForToolRequests:!0,maxOutputTokens:4096},e=["insufficient funds","insufficient_funds","budget exceeded","budget_exceeded","quota exceeded","quota_exceeded","billing","payment required","out of credits","no credits","credit limit","spending limit"];function f(a,b,c,g=d){if(!g.enabled)return{shouldFallback:!1,reason:"emergency_fallback_disabled"};if(g.skipForToolRequests&&c)return{shouldFallback:!1,reason:"skipped_tool_request"};if(g.triggerOn402&&402===a)return{shouldFallback:!0,reason:`HTTP 402 → ${g.provider}/${g.model}`,provider:g.provider,model:g.model,maxOutputTokens:g.maxOutputTokens};if(g.triggerOnBudgetKeywords&&"string"==typeof b&&b){let a=b.toLowerCase(),c=e.find(b=>a.includes(b));if(c)return{shouldFallback:!0,reason:`budget keyword "${c}" → ${g.provider}/${g.model}`,provider:g.provider,model:g.model,maxOutputTokens:g.maxOutputTokens}}return{shouldFallback:!1,reason:"no_trigger_matched"}}function g(a){return a&&"object"==typeof a?{enabled:!0===a.emergencyFallbackEnabled,provider:"string"==typeof a.emergencyFallbackProvider&&a.emergencyFallbackProvider?a.emergencyFallbackProvider:d.provider,model:"string"==typeof a.emergencyFallbackModel&&a.emergencyFallbackModel?a.emergencyFallbackModel:d.model,triggerOn402:!1!==a.emergencyFallbackTriggerOn402,triggerOnBudgetKeywords:!1!==a.emergencyFallbackTriggerOnBudgetKeywords,skipForToolRequests:!1!==a.emergencyFallbackSkipForTools,maxOutputTokens:"number"==typeof a.emergencyFallbackMaxOutputTokens?a.emergencyFallbackMaxOutputTokens:d.maxOutputTokens}:d}},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.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]
8
8
 
9
- `)}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)}},43659:(a,b,c)=>{c.d(b,{A1:()=>g,lR:()=>i,wO:()=>h,yj:()=>e,zL:()=>f});var d=c(3662);function e(a,b){let c;return new Response(JSON.stringify((c=d.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""}),{error:{message:b||d.O[a]||"An error occurred",type:c.type,code:c.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function f(a,b=null){let e="";try{e=await a.text()}catch{e=""}let g=null;try{let{parseRetryAfterHeaders:b}=await c.e(8905).then(c.bind(c,68905)),{resetsAtMs:d}=b(a);d&&(g=d)}catch{}if(b&&"function"==typeof b.parseError)try{let c=b.parseError(a,e);if(c&&"object"==typeof c){let b=c.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:c.status||a.status,message:b,resetsAtMs:c.resetsAtMs||g}}}catch{}let h="";try{let a=JSON.parse(e);h=a.error?.message||a.message||a.error||e}catch{h=e}let i=("string"==typeof h?h:JSON.stringify(h))||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:i,resetsAtMs:g||void 0}}function g(a,b,c){return{success:!1,status:a,error:b,resetsAtMs:c,response:e(a,b)}}function h(a,b,c,d){let e=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(e)}})}function i(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},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(44404),c(14170),c(7540),c(57647),c(40669),c(12557),c(8590),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)}})},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}={}){let h=new AbortController,i=Date.now(),j=!1,k=null,l=a=>{let b=Date.now()-i,c=d?.toUpperCase()||"UNKNOWN";console.log(`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 🌊 [STREAM] ${c} | ${g||"unknown"} | ${b}ms | ${a}`)};return{signal:h.signal,startTime:i,isConnected:()=>!j,handleDisconnect:(b="client_closed")=>{j||(j=!0,l(`disconnect: ${b}`),(0,e.s)("CTRL",`${d}/${g} | disconnect=${b} | dur=${Date.now()-i}ms`),k=setTimeout(()=>{h.abort()},500),a?.({reason:b,duration:Date.now()-i}))},handleComplete:()=>{!j&&(j=!0,l("complete"),k&&(clearTimeout(k),k=null))},handleError:a=>{if(!j){if(j=!0,k&&(clearTimeout(k),k=null),"AbortError"===a.name)return void l("aborted");l(`error: ${a.message}`),b?.(a)}},abort:()=>h.abort()}}function g(a,b,c,f=null,h=d.xM){let i=null,j=0,k=0,l=Date.now(),m=Date.now(),n="STREAM",o=()=>{i&&(clearTimeout(i),i=null)},p=()=>{o(),i=setTimeout(()=>{i=null,(0,e.s)(n,`STALL TIMEOUT ${h}ms | chunks=${j} | bytes=${k} | sinceLast=${Date.now()-l}ms`),c.handleError?.(Error("stream stall timeout")),c.abort?.()},h)},q={signal:c.signal,startTime:c.startTime,isConnected:()=>c.isConnected(),handleComplete:()=>{(0,e.s)(n,`complete | chunks=${j} | bytes=${k} | dur=${Date.now()-m}ms`),o(),c.handleComplete()},handleError:a=>{(0,e.s)(n,`error: ${a?.message} | chunks=${j} | bytes=${k} | dur=${Date.now()-m}ms`),o(),c.handleError(a)},handleDisconnect:a=>{(0,e.s)(n,`disconnect: ${a} | chunks=${j} | bytes=${k} | dur=${Date.now()-m}ms`),o(),c.handleDisconnect(a)},abort:()=>{o(),c.abort()}};p(),(0,e.s)(n,`pipe start | stallTimeout=${h}ms`);let r=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)(n,`chunk #${j} | size=${c}B | gap=${f}ms | total=${k}B`),p(),b.enqueue(a)},flush(){(0,e.s)(n,`upstream EOF | chunks=${j} | bytes=${k} | dur=${Date.now()-m}ms`),o()}});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(k){let f=b.isConnected();b.handleError(k),d.cancel().catch(()=>{}),e.abort().catch(()=>{});let h=k?.message||"",i=k?.code||k?.cause?.code||"",j="AbortError"===k.name||h.includes("aborted")||h.includes("socket hang up")||h.includes("ECONNRESET")||h.includes("ETIMEDOUT")||h.includes("EPIPE")||"ECONNRESET"===i||"ETIMEDOUT"===i||"EPIPE"===i||"UND_ERR_SOCKET"===i;try{!f||j||c?(g(a),a.close()):a.error(k)}catch(a){}}},cancel(a){b.handleDisconnect(a||"cancelled"),d.cancel(),e.abort()}})}({readable:a.body.pipeThrough(r).pipeThrough(b),writable:{getWriter:()=>({abort:()=>Promise.resolve()})}},q,f)}},60125:(a,b,c)=>{c.d(b,{p:()=>j});var d=c(14170);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={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].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].join(" "),ultra:["Respond ultra-terse. Maximum compression. Telegraphic. Abbreviate (DB/auth/config/req/res/fn/impl), strip conjunctions, use arrows for causality (X → Y). One word when one word enough. Pattern: [thing] → [result]. [fix].",f,e,g,h].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].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].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].join(" ")};function j(a,b,c){let e=i[c];if(a&&e)switch(b){case d.h.CLAUDE:!function(a,b){if("string"==typeof a.system&&a.system.length>0){a.system=`${a.system}
9
+ `)}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)}},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(44404),c(14170),c(7540),c(57647),c(40669),c(12557),c(8590),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)}})},56033:(a,b,c)=>{c.d(b,{XC:()=>h,fy:()=>e});let d=new Map;function e(a,b){return`${String(a)}:${String(b)}`}function f(a){return!!a.blockedUntil&&(!(Date.now()>=a.blockedUntil)||(a.blockedUntil=null,!1))}function g(a){let b=d.get(a);!b||b.running>0||b.queue.length>0||f(b)||d.delete(a)}function h(a,b={}){let c=b.maxConcurrency,e=b.timeoutMs??3e4,i=b.maxQueueSize??20,j=b.signal||null;if(!c||c<=0)return Promise.resolve(()=>{});if(j?.aborted)return Promise.reject(Error("Aborted"));let k=function(a,b){let c=d.get(a);if(c)return c.maxConcurrency=b,c;let e={running:0,maxConcurrency:b,queue:[],blockedUntil:null};return d.set(a,e),e}(a,c);if(k.running<k.maxConcurrency&&!f(k))return k.running++,Promise.resolve(function a(b){let c=!1;return()=>{if(c)return;c=!0;let e=d.get(b);if(e)if(e.running>0&&e.running--,e.queue.length>0){let c=d.get(b);if(c){for(;c.queue.length>0&&c.running<c.maxConcurrency&&!f(c);){let d=c.queue.shift();if(!d)break;clearTimeout(d.timer),c.running++,d.resolve(a(b))}0===c.running&&0===c.queue.length&&g(b)}}else g(b)}}(a));if(k.queue.length>=i){let b=Error(`Semaphore queue full (${i}) for ${a}`);return b.code="SEMAPHORE_QUEUE_FULL",Promise.reject(b)}return new Promise((b,c)=>{let f=setTimeout(()=>{let b=d.get(a);if(b){let a=b.queue.findIndex(a=>a.timer===f);-1!==a&&b.queue.splice(a,1)}let g=Error(`Semaphore timeout after ${e}ms for ${a}`);g.code="SEMAPHORE_TIMEOUT",c(g)},e);f.unref?.(),k.queue.push({resolve:b,reject:c,timer:f})})}},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}={}){let h=new AbortController,i=Date.now(),j=!1,k=null,l=a=>{let b=Date.now()-i,c=d?.toUpperCase()||"UNKNOWN";console.log(`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 🌊 [STREAM] ${c} | ${g||"unknown"} | ${b}ms | ${a}`)};return{signal:h.signal,startTime:i,isConnected:()=>!j,handleDisconnect:(b="client_closed")=>{j||(j=!0,l(`disconnect: ${b}`),(0,e.s)("CTRL",`${d}/${g} | disconnect=${b} | dur=${Date.now()-i}ms`),k=setTimeout(()=>{h.abort()},500),a?.({reason:b,duration:Date.now()-i}))},handleComplete:()=>{!j&&(j=!0,l("complete"),k&&(clearTimeout(k),k=null))},handleError:a=>{if(!j){if(j=!0,k&&(clearTimeout(k),k=null),"AbortError"===a.name)return void l("aborted");l(`error: ${a.message}`),b?.(a)}},abort:()=>h.abort()}}function g(a,b,c,f=null,h=d.xM){let i=null,j=0,k=0,l=Date.now(),m=Date.now(),n="STREAM",o=()=>{i&&(clearTimeout(i),i=null)},p=()=>{o(),i=setTimeout(()=>{i=null,(0,e.s)(n,`STALL TIMEOUT ${h}ms | chunks=${j} | bytes=${k} | sinceLast=${Date.now()-l}ms`),c.handleError?.(Error("stream stall timeout")),c.abort?.()},h)},q={signal:c.signal,startTime:c.startTime,isConnected:()=>c.isConnected(),handleComplete:()=>{(0,e.s)(n,`complete | chunks=${j} | bytes=${k} | dur=${Date.now()-m}ms`),o(),c.handleComplete()},handleError:a=>{(0,e.s)(n,`error: ${a?.message} | chunks=${j} | bytes=${k} | dur=${Date.now()-m}ms`),o(),c.handleError(a)},handleDisconnect:a=>{(0,e.s)(n,`disconnect: ${a} | chunks=${j} | bytes=${k} | dur=${Date.now()-m}ms`),o(),c.handleDisconnect(a)},abort:()=>{o(),c.abort()}};p(),(0,e.s)(n,`pipe start | stallTimeout=${h}ms`);let r=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)(n,`chunk #${j} | size=${c}B | gap=${f}ms | total=${k}B`),p(),b.enqueue(a)},flush(){(0,e.s)(n,`upstream EOF | chunks=${j} | bytes=${k} | dur=${Date.now()-m}ms`),o()}});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(k){let f=b.isConnected();b.handleError(k),d.cancel().catch(()=>{}),e.abort().catch(()=>{});let h=k?.message||"",i=k?.code||k?.cause?.code||"",j="AbortError"===k.name||h.includes("aborted")||h.includes("socket hang up")||h.includes("ECONNRESET")||h.includes("ETIMEDOUT")||h.includes("EPIPE")||"ECONNRESET"===i||"ETIMEDOUT"===i||"EPIPE"===i||"UND_ERR_SOCKET"===i;try{!f||j||c?(g(a),a.close()):a.error(k)}catch(a){}}},cancel(a){b.handleDisconnect(a||"cancelled"),d.cancel(),e.abort()}})}({readable:a.body.pipeThrough(r).pipeThrough(b),writable:{getWriter:()=>({abort:()=>Promise.resolve()})}},q,f)}},60125:(a,b,c)=>{c.d(b,{p:()=>j});var d=c(14170);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={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].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].join(" "),ultra:["Respond ultra-terse. Maximum compression. Telegraphic. Abbreviate (DB/auth/config/req/res/fn/impl), strip conjunctions, use arrows for causality (X → Y). One word when one word enough. Pattern: [thing] → [result]. [fix].",f,e,g,h].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].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].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].join(" ")};function j(a,b,c){let e=i[c];if(a&&e)switch(b){case d.h.CLAUDE:!function(a,b){if("string"==typeof a.system&&a.system.length>0){a.system=`${a.system}
10
10
 
11
11
  ${b}`;return}if(Array.isArray(a.system)){let c={type:"text",text:b},d=-1;for(let b=a.system.length-1;b>=0;b--)if(a.system[b]?.cache_control){d=b;break}d>=0?a.system.splice(d,0,c):a.system.push(c);return}a.system=b}(a,e);return;case d.h.GEMINI:case d.h.GEMINI_CLI:case d.h.VERTEX:case d.h.ANTIGRAVITY:var f,g;let h,j,k;f=a,g=e,h=f.request&&"object"==typeof f.request?f.request:f,j=Object.prototype.hasOwnProperty.call(h,"system_instruction")?"system_instruction":"systemInstruction",(k=h[j])&&Array.isArray(k.parts)?k.parts.push({text:g}):h[j]={parts:[{text:g}]};return;default:!function(a,b){var c,d;if("string"==typeof a.instructions){a.instructions=a.instructions?`${a.instructions}
12
12
 
@@ -60,4 +60,4 @@ ${e.length} files in ${g.length} dirs:
60
60
  `,...d].join("\n")}let w=/^diff --git /m,x=/^@@ /m,y=/^On branch |^nothing to commit|^Changes (not |to be )|^Untracked files:/m,z=/^[ MADRCU?!][ MADRCU?!] \S/m,A=/^(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,B=/[├└]──|│ /,C=/^[-dlbcps][rwx-]{9}/m,D=/^total \d+$/m,E=/^\* Trying \d+\.\d+\.\d+\.\d+:\d+\.\.\.|\* Connected to /m;function F(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 G(a){let b=a.trim();return!(0===b.length||b.includes(":"))&&(b.startsWith(".")||b.startsWith("/")||b.includes("/"))}function H(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=I(a.text,b,"kiro-tool-result"))}}}catch(a){return console.warn("[RTK] compressKiroFormat error:",a.message),null}return b}if(Array.isArray(a.contents)||Array.isArray(a?.request?.contents)){var d=a;let b={bytesBefore:0,bytesAfter:0,hits:[]};try{for(let a of Array.isArray(d.contents)?d.contents:Array.isArray(d?.request?.contents)?d.request.contents:[])for(let c of Array.isArray(a?.parts)?a.parts:[]){let a=c?.functionResponse;if(!a||"object"!=typeof a)continue;let d=a.response;d&&"object"==typeof d&&function(a,b){if(a&&"object"==typeof a)for(let c of["result","output","content"]){let d=a[c];if("string"==typeof d)a[c]=I(d,b,"gemini-functionResponse");else if(d&&"object"==typeof d&&!Array.isArray(d))for(let a of["result","output","content"])"string"==typeof d[a]&&(d[a]=I(d[a],b,"gemini-functionResponse-nested"))}}(d,b)}}catch(a){return console.warn("[RTK] compressGeminiFormat error:",a.message),null}return b}let e=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!e)return null;let f={bytesBefore:0,bytesAfter:0,hits:[]};try{for(let a=0;a<e.length;a++){let b=e[a];if(b){if("function_call_output"===b.type){if("string"==typeof b.output)b.output=I(b.output,f,"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=I(c.text,f,"openai-responses-array"))}continue}if("tool"===b.role&&"string"==typeof b.content){b.content=I(b.content,f,"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=I(c.text,f,"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=I(c.content,f,"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=I(b.text,f,"claude-array"))}}}}}}}catch(a){return console.warn("[RTK] compressMessages error:",a.message),null}return f}function I(a,b,c){let d=a.length;if(b.bytesBefore+=d,d<500||d>0xa00000)return b.bytesAfter+=d,a;let g=function(a){var b,c;let d,g,l=a.length>1024?a.slice(0,1024):a;if(E.test(l))return u;if(w.test(l)||x.test(l))return e;if(y.test(l))return f;if(A.test(l))return h;if(!((d=l.split("\n").filter(a=>a.trim())).length<3)&&d.filter(a=>z.test(a)).length/d.length>=.6)return f;let t=l.split("\n"),H=t.filter(a=>a.trim().length>0);if(H.slice(0,5).some(F))return i;if(H.length>=3&&H.every(G))return j;if(B.test(l))return n;if(D.test(l)||(b=l,g=new RegExp((c=C).source,c.flags.includes("g")?c.flags:c.flags+"g"),(b.match(g)||[]).length>=3))return m;if(s.test(l))return r;if(t.length>=250&&function(a){let b=0,c=0;for(let d of a.slice(0,100))0!==d.length&&(c++,q.test(d)&&b++);return!(c<5)&&b/c>=.7}(t))return p;let I=a.split("\n").length;return I>500?v:H.length>=5?k:I>=250?o:null}(a);if(!g)return b.bytesAfter+=d,a;let l=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}}(g,a);return!l||0===l.length||l.length>=d?(b.bytesAfter+=d,a):(b.bytesAfter+=l.length,b.hits.push({shape:c,filter:g.filterName||g.name,saved:d-l.length}),l)}function J(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`saved ${b}B / ${a.bytesBefore}B (${c}%) via [${d}] hits=${a.hits.length}`}},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(7540),e=c(14170),f=c(47370),g=c(73483),h=c(9024),i=c(30320),j=c(92306);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,model:s=null,connectionId:t=null,body:u=null,onStreamComplete:v=null,apiKey:w=null}=a,x="",y=null,z=new TextDecoder("utf-8",{fatal:!1}),A=b===l?{...(0,d.Ws)(o),provider:p,toolNameMap:r,model:s}:null,B=0,C="",D="",E=null,F=0,G=0,H={},I=null,J=!1,K=!1;return new TransformStream({transform(a,f){E||(E=Date.now());let n=z.decode(a,{stream:!0});x+=n,q?.appendProviderChunk?.(n);let p=x.split("\n");for(let a of(x=p.pop()||"",p)){let n=a.trim();if(j.T&&n&&(F++,n.startsWith("event:"))){let a=n.slice(6).trim();H[a]=(H[a]||0)+1}if(b===l&&c===e.h.OPENAI_RESPONSES&&n.startsWith("event:")&&(I=n.slice(6).trim()),b===m){let b,c=!1;if(n.startsWith("data:")&&"[DONE]"!==n.slice(5).trim())try{let a=JSON.parse(n.slice(5).trim()),d=(0,h.A4)(a),f=!1;if(void 0!==a.choices&&(a.object||(a.object="chat.completion.chunk",f=!0),a.created||(a.created=Math.floor(Date.now()/1e3),f=!0)),void 0!==a.prompt_filter_results&&(delete a.prompt_filter_results,f=!0),a?.choices)for(let b of a.choices)void 0!==b.content_filter_results&&(delete b.content_filter_results,f=!0);(0,h.c2)(a,e.h.OPENAI);let i=a.choices?.[0]?.delta,j=i?.content,k=i?.reasoning_content;j&&"string"==typeof j&&(B+=j.length,C+=j),k&&"string"==typeof k&&(B+=k.length,D+=k);let l=(0,g.f5)(a);l&&(y=l);let m=a.choices?.[0]?.finish_reason;if(m&&!(0,g.Gh)(a.usage)){let d=(0,g.OF)(u,B,e.h.OPENAI);a.usage=(0,g.WL)(d,e.h.OPENAI),b=`data: ${JSON.stringify(a)}
61
61
  `,y=d,c=!0}else if(m&&y){let d=(0,g.O9)(y);a.usage=(0,g.WL)(d,e.h.OPENAI),b=`data: ${JSON.stringify(a)}
62
62
  `,c=!0}else(d||f)&&(b=`data: ${JSON.stringify(a)}
63
- `,c=!0)}catch{}c||(b=a.startsWith("data:")&&!a.startsWith("data: ")?"data: "+a.slice(5)+"\n":a+"\n"),q?.appendConvertedChunk?.(b),f.enqueue(k.encode(b)),b&&"\n"!==b&&G++;continue}if(!n)continue;let p=(0,h.tV)(n,c);if(!p)continue;let r=c===e.h.OPENAI_RESPONSES,s=r&&o===e.h.OPENAI_RESPONSES,t=r?(0,i.yx)(I,p):null;if(r&&(0,i.nu)(t,p)&&(J=!0),p&&p.done&&c!==e.h.OLLAMA){if(s&&!J){let a=(0,i.u9)();q?.appendConvertedChunk?.(a),f.enqueue(k.encode(a)),J=!0,G++}let a="data: [DONE]\n\n";q?.appendConvertedChunk?.(a),f.enqueue(k.encode(a)),s&&(K=!0);continue}if(p.delta?.text&&(B+=p.delta.text.length,C+=p.delta.text),p.delta?.thinking&&(B+=p.delta.thinking.length,D+=p.delta.thinking),p.choices?.[0]?.delta?.content&&(B+=p.choices[0].delta.content.length,C+=p.choices[0].delta.content),p.choices?.[0]?.delta?.reasoning_content&&(B+=p.choices[0].delta.reasoning_content.length,D+=p.choices[0].delta.reasoning_content),p.candidates?.[0]?.content?.parts)for(let a of p.candidates[0].content.parts)a.text&&"string"==typeof a.text&&(B+=a.text.length,!0===a.thought?D+=a.text:C+=a.text);let v=(0,g.f5)(p);if(v&&(A.usage=v),s&&t){let a=(0,h.v8)({event:t,data:p},o);q?.appendConvertedChunk?.(a),f.enqueue(k.encode(a)),I=null,G++;continue}I=null;let w=(0,d.Y8)(c,o,p,A);if(w?._openaiIntermediate)for(let a of w._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);q?.appendOpenAIChunk?.(b)}if(w?.length>0)for(let a of w){if(null==a||!(0,h.c2)(a,o))continue;let b="message_delta"===a.type||a.choices?.[0]?.finish_reason;if(A.finishReason&&b&&!(0,g.Gh)(a.usage)&&B>0){let b=(0,g.OF)(u,B,o);a.usage=(0,g.WL)(b,o),A.usage=b}else if(A.finishReason&&b&&A.usage){let b=(0,g.O9)(A.usage);a.usage=(0,g.WL)(b,o)}let c=(0,h.v8)(a,o);q?.appendConvertedChunk?.(c),f.enqueue(k.encode(c)),G++}}},flush(a){let l=Object.entries(H).map(([a,b])=>`${a}=${b}`).join(",")||"none";(0,j.s)("SSE",`flush | provider=${p} | model=${s} | recvLines=${F} | emitted=${G} | events=[${l}]`),(0,f.uw)(s,p,t,!1);try{let j=z.decode();if(j&&(x+=j),b===m){if(x){let b=x;x.startsWith("data:")&&!x.startsWith("data: ")&&(b="data: "+x.slice(5)),q?.appendConvertedChunk?.(b),a.enqueue(k.encode(b))}!(0,g.Gh)(y)&&B>0&&(y=(0,g.OF)(u,B,e.h.OPENAI)),(0,g.Gh)(y)?(0,g.IF)(p,y,s,t,w):(0,f.E5)({model:s,provider:p,connectionId:t,tokens:null,status:"200 OK"}).catch(()=>{});let b="data: [DONE]\n\n";q?.appendConvertedChunk?.(b),a.enqueue(k.encode(b)),v&&v({content:C,thinking:D},y,E);return}if(x.trim()){let b=(0,h.tV)(x.trim());if(b&&!b.done){let f=(0,d.Y8)(c,o,b,A);if(f?._openaiIntermediate)for(let a of f._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);q?.appendOpenAIChunk?.(b)}if(f?.length>0)for(let b of f){if(null==b)continue;let c=(0,h.v8)(b,o);q?.appendConvertedChunk?.(c),a.enqueue(k.encode(c))}}}let l=(0,d.Y8)(c,o,null,A);if(l?._openaiIntermediate)for(let a of l._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);q?.appendOpenAIChunk?.(b)}if(l?.length>0)for(let b of l){if(null==b)continue;let c=(0,h.v8)(b,o);q?.appendConvertedChunk?.(c),a.enqueue(k.encode(c))}let n=c===e.h.OPENAI_RESPONSES&&o===e.h.OPENAI_RESPONSES;if(n&&!J){let b=(0,i.u9)();q?.appendConvertedChunk?.(b),a.enqueue(k.encode(b)),J=!0}if(!n||!K){let b="data: [DONE]\n\n";q?.appendConvertedChunk?.(b),a.enqueue(k.encode(b))}!(0,g.Gh)(A?.usage)&&B>0&&(A.usage=(0,g.OF)(u,B,o)),(0,g.Gh)(A?.usage)?(0,g.IF)(A.provider||c,A.usage,s,t,w):(0,f.E5)({model:s,provider:p,connectionId:t,tokens:null,status:"200 OK"}).catch(()=>{}),v&&v({content:C,thinking:D},A?.usage,E)}catch(a){console.log("Error in flush:",a)}}})}function o(a,b,c=null,d=null,e=null,f=null,g=null,h=null,i=null,j=null){return n({mode:l,targetFormat:a,sourceFormat:b,provider:c,reqLogger:d,toolNameMap:e,model:f,connectionId:g,body:h,onStreamComplete:i,apiKey:j})}function p(a=null,b=null,c=null,d=null,e=null,f=null,g=null){return n({mode:m,provider:a,reqLogger:b,model:c,connectionId:d,body:e,onStreamComplete:f,apiKey:g})}},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:()=>n,F:()=>m});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(43659),h=c(41004),i=c(14170),j=c(86171),k=c(47370);function l(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 m(a,b){let c=[];for(let b of String(a||"").split("\n")){let a=b.trim();if(!a.startsWith("data:"))continue;let d=a.slice(5).trim();if(d&&"[DONE]"!==d)try{c.push(JSON.parse(d))}catch{}}if(0===c.length)return null;let d=c[0],e=[],f=[],g=new Map,h="stop",i=null;for(let a of c){let b=a?.choices?.[0],c=b?.delta||{};if("string"==typeof c.content&&c.content.length>0&&e.push(c.content),"string"==typeof c.reasoning_content&&c.reasoning_content.length>0&&f.push(c.reasoning_content),b?.finish_reason&&(h=b.finish_reason),a?.usage&&"object"==typeof a.usage&&(i=a.usage),Array.isArray(c.tool_calls))for(let a of c.tool_calls){let b=a.index??0;g.has(b)||g.set(b,{id:a.id||"",type:"function",function:{name:"",arguments:""}});let c=g.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 j={role:"assistant",content:e.join("")||(g.size>0?null:"")};f.length>0&&(j.reasoning_content=f.join("")),g.size>0&&(j.tool_calls=[...g.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a));let k={id:d.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:d.created||Math.floor(Date.now()/1e3),model:d.model||b||"unknown",choices:[{index:0,message:j,finish_reason:h}]};return i&&(k.usage=i),k}async function n({providerResponse:a,sourceFormat:b,provider:c,model:d,body:e,stream:o,translatedBody:p,finalBody:q,requestStartTime:r,connectionId:s,apiKey:t,clientRawRequest:u,onRequestSuccess:v,trackDone:w,appendLog:x}){let y=a.headers.get("content-type")||"";if(!(y.includes("text/event-stream")||""===y&&"codex"===c))return null;w();let z={provider:c,model:d,connectionId:s,request:(0,j.Fo)(e,o),providerRequest:q||p||null};if("codex"===c||b===i.h.OPENAI_RESPONSES)try{let e,g=await f(a.body);v&&await v();let h=g.usage||{};x({tokens:h,status:"200 OK"}),(0,j.qr)({provider:c,model:d,tokens:h,connectionId:s,apiKey:t,endpoint:u?.endpoint});let{msgItem:m,textContent:n}=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=l(b[a]);if(c.length>0)return{msgItem:b[a],textContent:c}}let c=b[b.length-1];return{msgItem:c,textContent:l(c)}}(g.output),o=Date.now()-r;if((0,k.ox)((0,j.$R)({...z,latency:{ttft:o,total:o},tokens:{prompt_tokens:h.input_tokens||0,completion_tokens:h.output_tokens||0},response:{content:n,thinking:null,finish_reason:g.status||"unknown"},status:"success"},{endpoint:u?.endpoint||null})).catch(()=>{}),b===i.h.OPENAI_RESPONSES)return{success:!0,response:new Response(JSON.stringify(g),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})};let p=h.input_tokens||0,q=h.output_tokens||0,w=(g.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||{})}})),y=w.length>0;if(b===i.h.ANTIGRAVITY||b===i.h.GEMINI||b===i.h.GEMINI_CLI)e={response:{candidates:[{content:{role:"model",parts:[{text:n||""}]},finishReason:"STOP",index:0}],usageMetadata:{promptTokenCount:p,candidatesTokenCount:q,totalTokenCount:p+q},modelVersion:d,responseId:g.id||`resp_${Date.now()}`}};else{let a={role:"assistant",content:n||(y?null:"")};y&&(a.tool_calls=w);let b="completed"===g.status||"done"===g.status,c=y?"tool_calls":b?"stop":g.status||"stop";e={id:g.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:g.created_at||Math.floor(Date.now()/1e3),model:g.model||d,choices:[{index:0,message:a,finish_reason:c}],usage:{prompt_tokens:p,completion_tokens:q,total_tokens:p+q}}}return{success:!0,response:new Response(JSON.stringify(e),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Responses API SSE→JSON failed:",a),(0,g.A1)(h.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}try{let b=await a.text(),e=m(b,d);if(!e)return(0,g.A1)(h.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");v&&await v();let f=e.usage||{};x({tokens:f,status:"200 OK"}),(0,j.qr)({provider:c,model:d,tokens:f,connectionId:s,apiKey:t,endpoint:u?.endpoint});let i=Date.now()-r;if((0,k.ox)((0,j.$R)({...z,latency:{ttft:i,total:i},tokens:f,response:{content:e.choices?.[0]?.message?.content||null,thinking:e.choices?.[0]?.message?.reasoning_content||null,finish_reason:e.choices?.[0]?.finish_reason||"unknown"},status:"success"},{endpoint:u?.endpoint||null})).catch(()=>{}),e?.choices)for(let a of e.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;return{success:!0,response:new Response(JSON.stringify(e),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Chat Completions SSE→JSON failed:",a),(0,g.A1)(h.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}}},86171:(a,b,c)=>{c.d(b,{$R:()=>i,Fo:()=>g,MK:()=>h,qr:()=>j});var d=c(47370),e=c(71857);let f=["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 g(a,b){let c={messages:a.messages||[],model:a.model,stream:b};for(let b of f)void 0!==a[b]&&(c[b]=a[b]);return c}function h(a){return a&&"object"==typeof a?a.usage?.input_tokens!==void 0?{prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens}:a.usage?.prompt_tokens!==void 0?{prompt_tokens:a.usage.prompt_tokens||0,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens}:a.usageMetadata?{prompt_tokens:a.usageMetadata.promptTokenCount||0,completion_tokens:a.usageMetadata.candidatesTokenCount||0,reasoning_tokens:a.usageMetadata.thoughtsTokenCount}:null:null}function i(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||{},status:a.status||"success",...b}}function j({provider:a,model:b,tokens:c,connectionId:f,apiKey:g,endpoint:h,label:i="USAGE"}){if(!c||"object"!=typeof c)return;let k=c.input_tokens??c.prompt_tokens??0,l=c.output_tokens??c.completion_tokens??0;if(0===k&&0===l)return;let m=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),n=f?` | account=${f.slice(0,8)}...`:"";console.log(`${e.lm.green}[${m}] 📊 [${i}] ${a.toUpperCase()} | in=${k} | out=${l}${n}${e.lm.reset}`);let o={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:f||void 0,apiKey:g||void 0,endpoint:h||null}).catch(()=>{})}},92500:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{w:()=>C});var e=c(57647),f=c(7540),g=c(14170),h=c(33748),i=c(71857),j=c(59657),k=c(8590),l=c(71336),m=c(44404),n=c(43659),o=c(41004),p=c(27349),q=c(47370),r=c(55330),s=c(86171),t=c(81626),u=c(5016),v=c(20623),w=c(324),x=c(14724),y=c(60125),z=c(20766),A=c(60220),B=a([r]);async function C({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:B,onRequestSuccess:D,onDisconnect:E,clientRawRequest:F,connectionId:G,userAgent:H,apiKey:I,ccFilterNaming:J,rtkEnabled:K,cavemanEnabled:L,cavemanLevel:M,ponytailEnabled:N,ponytailLevel:O,sourceFormatOverride:P,providerThinking:Q}){let R,S,T,U,V,W,{provider:X,model:Y}=b,Z=Date.now(),$=P||(0,e.Tz)(a),_=(0,p.c)(a,Y,H,J);if(_)return _;let aa=m.Xg[X]||X,ab=(0,m.ux)(aa,Y)||(0,e.jJ)(X),ac=(0,m.cY)(aa,Y),ad=(0,m.kt)(aa,Y);if(Q?.mode&&"auto"!==Q.mode){let b=Q.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 ae=!0===a.stream||$===g.h.ANTIGRAVITY||$===g.h.GEMINI||$===g.h.GEMINI_CLI,af="openai"===X||"codex"===X||"commandcode"===X,ag=!!af||!1!==a.stream,ah=(0,w.J)(F?.headers||{},a);"deepseek-tui"===ah&&!0!==a.stream&&(ag=!1);let ai=F?.headers?.accept||"",aj=ai.includes("application/json"),ak=ai.includes("text/event-stream");aj&&!ak&&!0!==a.stream&&(ag=!1);let al=await (0,l.q7)($,ab,Y);F&&al.logClientRawRequest(F.endpoint,F.body,F.headers),al.logRawRequest(a),d?.debug?.("FORMAT",`${$} → ${ab} | stream=${ag}`);let am=(0,w.J)(F?.headers||{},a),an=(0,w.Q)(am,X);if(an)d?.debug?.("PASSTHROUGH",`${am} → ${X} | native lossless`),R={...a,model:ad},"claude"===am&&(0,h.ui)(R,ad);else{if(!(R=(0,f.GH)($,ab,ad,a,ag,c,X,al,ac,G,am)))return(0,q.uw)(Y,X,G,!1,!0),(0,n.A1)(o.gx.BAD_REQUEST,`Failed to translate request for ${$} → ${ab}`);S=R._toolNameMap,delete R._toolNameMap,R.model=ad,void 0===R.stream&&(R.stream=ag)}if("claude"===am&&Array.isArray(R.tools)){let{tools:a,stripped:b}=(0,x.F)(R.tools);b.length>0&&(R.tools=a,d?.debug?.("TOOLDEDUP",`stripped ${b.length}: ${b.slice(0,3).join(", ")}${b.length>3?"...":""}`))}let ao=an?$:ab;"tts"===(0,m.OA)(aa,Y)&&R.messages&&(R.messages=R.messages.filter(a=>"tool"!==a.role),delete R.tools);let ap=(0,A.B)(R,K),aq=(0,A.f)(ap);aq&&d?.debug?.("RTK",aq),L&&M&&((0,y.p)(R,ao,M),d?.debug?.("CAVEMAN",`${M} | ${ao}`)),N&&O&&((0,z.U)(R,ao,O),d?.debug?.("PONYTAIL",`${O} | ${ao}`));let ar=(0,r.SB)(X);(0,q.uw)(Y,X,G,!0),(0,q.E5)({model:Y,provider:X,connectionId:G,status:"PENDING"}).catch(()=>{});let as=R.messages?.length||R.input?.length||R.contents?.length||R.request?.contents?.length||0;d?.debug?.("REQUEST",`${X.toUpperCase()} | ${Y} | ${as} msgs`);let at=(0,j.jd)({onDisconnect:a=>{(0,q.uw)(Y,X,G,!1),E&&E(a)},onError:()=>(0,q.uw)(Y,X,G,!1),log:d,provider:X,model:Y}),au={connectionProxyEnabled:c?.providerSpecificData?.connectionProxyEnabled===!0,connectionProxyUrl:c?.providerSpecificData?.connectionProxyUrl||"",connectionNoProxy:c?.providerSpecificData?.connectionNoProxy||"",vercelRelayUrl:c?.providerSpecificData?.vercelRelayUrl||""};if(au.vercelRelayUrl){let a=c?.connectionName||c?.connectionId||"unknown",b=c?.providerSpecificData?.connectionProxyPoolId||"none";d?.info?.("PROXY",`${X.toUpperCase()} | ${Y} | conn=${a} | pool=${b} | vercel-relay=${au.vercelRelayUrl}`)}else if(au.connectionProxyEnabled&&au.connectionProxyUrl){let a=au.connectionProxyUrl;try{let b=new URL(au.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",`${X.toUpperCase()} | ${Y} | conn=${e} | pool=${b} | url=${a}`)}if(au.connectionProxyEnabled&&au.connectionNoProxy){let a=c?.connectionName||c?.connectionId||"unknown";d?.debug?.("PROXY",`${X.toUpperCase()} | ${Y} | conn=${a} | no_proxy=${au.connectionNoProxy}`)}try{let a=await ar.execute({model:Y,body:R,stream:ag,credentials:c,signal:at.signal,log:d,proxyOptions:au});T=a.response,U=a.url,V=a.headers,W=a.transformedBody,al.logTargetRequest(U,V,W)}catch(c){if((0,q.uw)(Y,X,G,!1,!0),(0,q.E5)({model:Y,provider:X,connectionId:G,status:`FAILED ${"AbortError"===c.name?499:o.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,q.ox)((0,s.$R)({provider:X,model:Y,connectionId:G,latency:{ttft:0,total:Date.now()-Z},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,s.Fo)(a,ag),providerRequest:R||null,response:{error:c.message||String(c),status:"AbortError"===c.name?499:502,thinking:null},status:"error"})).catch(()=>{}),"AbortError"===c.name)return at.handleError(c),(0,n.A1)(499,"Request aborted");let b=(0,n.lR)(c,X,Y,o.gx.BAD_GATEWAY);return console.log(`${i.lm.red}[ERROR] ${b}${i.lm.reset}`),(0,n.A1)(o.gx.BAD_GATEWAY,b)}if(!ar.noAuth&&(T.status===o.gx.UNAUTHORIZED||T.status===o.gx.FORBIDDEN))try{let a=await (0,k.qZ)(()=>ar.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.copilotToken){d?.info?.("TOKEN",`${X.toUpperCase()} | refreshed`);let b={...c,...a};if(B)try{await B(a)}catch(a){d?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}try{let a=await ar.execute({model:Y,body:R,stream:ag,credentials:b,signal:at.signal,log:d,proxyOptions:au});T=a.response,U=a.url,T.ok||d?.warn?.("TOKEN",`${X.toUpperCase()} | retry after refresh still failed: ${T.status}`)}catch(a){d?.warn?.("TOKEN",`${X.toUpperCase()} | retry after refresh threw: ${a.message}`),T=new Response(JSON.stringify({error:{message:`Retry after token refresh threw: ${a.message}`,type:"retry_exception"}}),{status:o.gx.BAD_GATEWAY,headers:{"Content-Type":"application/json"}})}}else d?.warn?.("TOKEN",`${X.toUpperCase()} | refresh failed`)}catch(a){d?.warn?.("TOKEN",`${X.toUpperCase()} | refresh threw: ${a.message}`)}if(!T.ok){(0,q.uw)(Y,X,G,!1,!0);let{statusCode:b,message:c,resetsAtMs:d}=await (0,n.zL)(T,ar);(0,q.E5)({model:Y,provider:X,connectionId:G,status:`FAILED ${b}`}).catch(()=>{}),(0,q.ox)((0,s.$R)({provider:X,model:Y,connectionId:G,latency:{ttft:0,total:Date.now()-Z},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,s.Fo)(a,ag),providerRequest:W||R||null,response:{error:c,status:b,thinking:null},status:"error"})).catch(()=>{});let e=(0,n.lR)(Error(c),X,Y,b);return console.log(`${i.lm.red}[ERROR] ${e}${i.lm.reset}`),al.logError(Error(c),W||R),(0,n.A1)(b,e,d)}let av={provider:X,model:Y,body:a,stream:ag,translatedBody:R,finalBody:W,requestStartTime:Z,connectionId:G,apiKey:I,clientRawRequest:F,onRequestSuccess:D},aw=a=>(0,q.E5)({model:Y,provider:X,connectionId:G,...a}).catch(()=>{}),ax=()=>(0,q.uw)(Y,X,G,!1);if(!ae&&af){let a=await (0,t.I)({...av,providerResponse:T,sourceFormat:$,trackDone:ax,appendLog:aw});if(a)return at.handleComplete(),a}if(!ag){let a=await (0,u.N)({...av,providerResponse:T,sourceFormat:$,targetFormat:ab,reqLogger:al,toolNameMap:S,trackDone:ax,appendLog:aw});return at.handleComplete(),a}let{onStreamComplete:ay}=(0,v.$)({...av});return(0,v.M)({...av,providerResponse:T,sourceFormat:$,targetFormat:ab,userAgent:H,reqLogger:al,toolNameMap:S,streamController:at,onStreamComplete:ay})}r=(B.then?(await B)():B)[0],d()}catch(a){d(a)}})}};
63
+ `,c=!0)}catch{}c||(b=a.startsWith("data:")&&!a.startsWith("data: ")?"data: "+a.slice(5)+"\n":a+"\n"),q?.appendConvertedChunk?.(b),f.enqueue(k.encode(b)),b&&"\n"!==b&&G++;continue}if(!n)continue;let p=(0,h.tV)(n,c);if(!p)continue;let r=c===e.h.OPENAI_RESPONSES,s=r&&o===e.h.OPENAI_RESPONSES,t=r?(0,i.yx)(I,p):null;if(r&&(0,i.nu)(t,p)&&(J=!0),p&&p.done&&c!==e.h.OLLAMA){if(s&&!J){let a=(0,i.u9)();q?.appendConvertedChunk?.(a),f.enqueue(k.encode(a)),J=!0,G++}let a="data: [DONE]\n\n";q?.appendConvertedChunk?.(a),f.enqueue(k.encode(a)),s&&(K=!0);continue}if(p.delta?.text&&(B+=p.delta.text.length,C+=p.delta.text),p.delta?.thinking&&(B+=p.delta.thinking.length,D+=p.delta.thinking),p.choices?.[0]?.delta?.content&&(B+=p.choices[0].delta.content.length,C+=p.choices[0].delta.content),p.choices?.[0]?.delta?.reasoning_content&&(B+=p.choices[0].delta.reasoning_content.length,D+=p.choices[0].delta.reasoning_content),p.candidates?.[0]?.content?.parts)for(let a of p.candidates[0].content.parts)a.text&&"string"==typeof a.text&&(B+=a.text.length,!0===a.thought?D+=a.text:C+=a.text);let v=(0,g.f5)(p);if(v&&(A.usage=v),s&&t){let a=(0,h.v8)({event:t,data:p},o);q?.appendConvertedChunk?.(a),f.enqueue(k.encode(a)),I=null,G++;continue}I=null;let w=(0,d.Y8)(c,o,p,A);if(w?._openaiIntermediate)for(let a of w._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);q?.appendOpenAIChunk?.(b)}if(w?.length>0)for(let a of w){if(null==a||!(0,h.c2)(a,o))continue;let b="message_delta"===a.type||a.choices?.[0]?.finish_reason;if(A.finishReason&&b&&!(0,g.Gh)(a.usage)&&B>0){let b=(0,g.OF)(u,B,o);a.usage=(0,g.WL)(b,o),A.usage=b}else if(A.finishReason&&b&&A.usage){let b=(0,g.O9)(A.usage);a.usage=(0,g.WL)(b,o)}let c=(0,h.v8)(a,o);q?.appendConvertedChunk?.(c),f.enqueue(k.encode(c)),G++}}},flush(a){let l=Object.entries(H).map(([a,b])=>`${a}=${b}`).join(",")||"none";(0,j.s)("SSE",`flush | provider=${p} | model=${s} | recvLines=${F} | emitted=${G} | events=[${l}]`),(0,f.uw)(s,p,t,!1);try{let j=z.decode();if(j&&(x+=j),b===m){if(x){let b=x;x.startsWith("data:")&&!x.startsWith("data: ")&&(b="data: "+x.slice(5)),q?.appendConvertedChunk?.(b),a.enqueue(k.encode(b))}!(0,g.Gh)(y)&&B>0&&(y=(0,g.OF)(u,B,e.h.OPENAI)),(0,g.Gh)(y)?(0,g.IF)(p,y,s,t,w):(0,f.E5)({model:s,provider:p,connectionId:t,tokens:null,status:"200 OK"}).catch(()=>{});let b="data: [DONE]\n\n";q?.appendConvertedChunk?.(b),a.enqueue(k.encode(b)),v&&v({content:C,thinking:D},y,E);return}if(x.trim()){let b=(0,h.tV)(x.trim());if(b&&!b.done){let f=(0,d.Y8)(c,o,b,A);if(f?._openaiIntermediate)for(let a of f._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);q?.appendOpenAIChunk?.(b)}if(f?.length>0)for(let b of f){if(null==b)continue;let c=(0,h.v8)(b,o);q?.appendConvertedChunk?.(c),a.enqueue(k.encode(c))}}}let l=(0,d.Y8)(c,o,null,A);if(l?._openaiIntermediate)for(let a of l._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);q?.appendOpenAIChunk?.(b)}if(l?.length>0)for(let b of l){if(null==b)continue;let c=(0,h.v8)(b,o);q?.appendConvertedChunk?.(c),a.enqueue(k.encode(c))}let n=c===e.h.OPENAI_RESPONSES&&o===e.h.OPENAI_RESPONSES;if(n&&!J){let b=(0,i.u9)();q?.appendConvertedChunk?.(b),a.enqueue(k.encode(b)),J=!0}if(!n||!K){let b="data: [DONE]\n\n";q?.appendConvertedChunk?.(b),a.enqueue(k.encode(b))}!(0,g.Gh)(A?.usage)&&B>0&&(A.usage=(0,g.OF)(u,B,o)),(0,g.Gh)(A?.usage)?(0,g.IF)(A.provider||c,A.usage,s,t,w):(0,f.E5)({model:s,provider:p,connectionId:t,tokens:null,status:"200 OK"}).catch(()=>{}),v&&v({content:C,thinking:D},A?.usage,E)}catch(a){console.log("Error in flush:",a)}}})}function o(a,b,c=null,d=null,e=null,f=null,g=null,h=null,i=null,j=null){return n({mode:l,targetFormat:a,sourceFormat:b,provider:c,reqLogger:d,toolNameMap:e,model:f,connectionId:g,body:h,onStreamComplete:i,apiKey:j})}function p(a=null,b=null,c=null,d=null,e=null,f=null,g=null){return n({mode:m,provider:a,reqLogger:b,model:c,connectionId:d,body:e,onStreamComplete:f,apiKey:g})}},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:()=>n,F:()=>m});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(43659),h=c(41004),i=c(14170),j=c(86171),k=c(47370);function l(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 m(a,b){let c=[];for(let b of String(a||"").split("\n")){let a=b.trim();if(!a.startsWith("data:"))continue;let d=a.slice(5).trim();if(d&&"[DONE]"!==d)try{c.push(JSON.parse(d))}catch{}}if(0===c.length)return null;let d=c[0],e=[],f=[],g=new Map,h="stop",i=null;for(let a of c){let b=a?.choices?.[0],c=b?.delta||{};if("string"==typeof c.content&&c.content.length>0&&e.push(c.content),"string"==typeof c.reasoning_content&&c.reasoning_content.length>0&&f.push(c.reasoning_content),b?.finish_reason&&(h=b.finish_reason),a?.usage&&"object"==typeof a.usage&&(i=a.usage),Array.isArray(c.tool_calls))for(let a of c.tool_calls){let b=a.index??0;g.has(b)||g.set(b,{id:a.id||"",type:"function",function:{name:"",arguments:""}});let c=g.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 j={role:"assistant",content:e.join("")||(g.size>0?null:"")};f.length>0&&(j.reasoning_content=f.join("")),g.size>0&&(j.tool_calls=[...g.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a));let k={id:d.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:d.created||Math.floor(Date.now()/1e3),model:d.model||b||"unknown",choices:[{index:0,message:j,finish_reason:h}]};return i&&(k.usage=i),k}async function n({providerResponse:a,sourceFormat:b,provider:c,model:d,body:e,stream:o,translatedBody:p,finalBody:q,requestStartTime:r,connectionId:s,apiKey:t,clientRawRequest:u,onRequestSuccess:v,trackDone:w,appendLog:x}){let y=a.headers.get("content-type")||"";if(!(y.includes("text/event-stream")||""===y&&"codex"===c))return null;w();let z={provider:c,model:d,connectionId:s,request:(0,j.Fo)(e,o),providerRequest:q||p||null};if("codex"===c||b===i.h.OPENAI_RESPONSES)try{let e,g=await f(a.body);v&&await v();let h=g.usage||{};x({tokens:h,status:"200 OK"}),(0,j.qr)({provider:c,model:d,tokens:h,connectionId:s,apiKey:t,endpoint:u?.endpoint});let{msgItem:m,textContent:n}=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=l(b[a]);if(c.length>0)return{msgItem:b[a],textContent:c}}let c=b[b.length-1];return{msgItem:c,textContent:l(c)}}(g.output),o=Date.now()-r;if((0,k.ox)((0,j.$R)({...z,latency:{ttft:o,total:o},tokens:{prompt_tokens:h.input_tokens||0,completion_tokens:h.output_tokens||0},response:{content:n,thinking:null,finish_reason:g.status||"unknown"},status:"success"},{endpoint:u?.endpoint||null})).catch(()=>{}),b===i.h.OPENAI_RESPONSES)return{success:!0,response:new Response(JSON.stringify(g),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})};let p=h.input_tokens||0,q=h.output_tokens||0,w=(g.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||{})}})),y=w.length>0;if(b===i.h.ANTIGRAVITY||b===i.h.GEMINI||b===i.h.GEMINI_CLI)e={response:{candidates:[{content:{role:"model",parts:[{text:n||""}]},finishReason:"STOP",index:0}],usageMetadata:{promptTokenCount:p,candidatesTokenCount:q,totalTokenCount:p+q},modelVersion:d,responseId:g.id||`resp_${Date.now()}`}};else{let a={role:"assistant",content:n||(y?null:"")};y&&(a.tool_calls=w);let b="completed"===g.status||"done"===g.status,c=y?"tool_calls":b?"stop":g.status||"stop";e={id:g.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:g.created_at||Math.floor(Date.now()/1e3),model:g.model||d,choices:[{index:0,message:a,finish_reason:c}],usage:{prompt_tokens:p,completion_tokens:q,total_tokens:p+q}}}return{success:!0,response:new Response(JSON.stringify(e),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Responses API SSE→JSON failed:",a),(0,g.A1)(h.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}try{let b=await a.text(),e=m(b,d);if(!e)return(0,g.A1)(h.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");v&&await v();let f=e.usage||{};x({tokens:f,status:"200 OK"}),(0,j.qr)({provider:c,model:d,tokens:f,connectionId:s,apiKey:t,endpoint:u?.endpoint});let i=Date.now()-r;if((0,k.ox)((0,j.$R)({...z,latency:{ttft:i,total:i},tokens:f,response:{content:e.choices?.[0]?.message?.content||null,thinking:e.choices?.[0]?.message?.reasoning_content||null,finish_reason:e.choices?.[0]?.finish_reason||"unknown"},status:"success"},{endpoint:u?.endpoint||null})).catch(()=>{}),e?.choices)for(let a of e.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;return{success:!0,response:new Response(JSON.stringify(e),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Chat Completions SSE→JSON failed:",a),(0,g.A1)(h.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}}},86171:(a,b,c)=>{c.d(b,{$R:()=>i,Fo:()=>g,MK:()=>h,qr:()=>j});var d=c(47370),e=c(71857);let f=["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 g(a,b){let c={messages:a.messages||[],model:a.model,stream:b};for(let b of f)void 0!==a[b]&&(c[b]=a[b]);return c}function h(a){return a&&"object"==typeof a?a.usage?.input_tokens!==void 0?{prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens}:a.usage?.prompt_tokens!==void 0?{prompt_tokens:a.usage.prompt_tokens||0,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens}:a.usageMetadata?{prompt_tokens:a.usageMetadata.promptTokenCount||0,completion_tokens:a.usageMetadata.candidatesTokenCount||0,reasoning_tokens:a.usageMetadata.thoughtsTokenCount}:null:null}function i(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||{},status:a.status||"success",...b}}function j({provider:a,model:b,tokens:c,connectionId:f,apiKey:g,endpoint:h,label:i="USAGE"}){if(!c||"object"!=typeof c)return;let k=c.input_tokens??c.prompt_tokens??0,l=c.output_tokens??c.completion_tokens??0;if(0===k&&0===l)return;let m=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),n=f?` | account=${f.slice(0,8)}...`:"";console.log(`${e.lm.green}[${m}] 📊 [${i}] ${a.toUpperCase()} | in=${k} | out=${l}${n}${e.lm.reset}`);let o={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:f||void 0,apiKey:g||void 0,endpoint:h||null}).catch(()=>{})}},92500:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{w:()=>F});var e=c(57647),f=c(7540),g=c(14170),h=c(33748),i=c(71857),j=c(59657),k=c(8590),l=c(71336),m=c(44404),n=c(43659),o=c(41004),p=c(27349),q=c(47370),r=c(55330),s=c(56033),t=c(29699),u=c(29385),v=c(86171),w=c(81626),x=c(5016),y=c(20623),z=c(324),A=c(14724),B=c(60125),C=c(20766),D=c(60220),E=a([r]);async function F({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:E,onRequestSuccess:G,onDisconnect:H,clientRawRequest:I,connectionId:J,userAgent:K,apiKey:L,ccFilterNaming:M,rtkEnabled:N,cavemanEnabled:O,cavemanLevel:P,ponytailEnabled:Q,ponytailLevel:R,sourceFormatOverride:S,providerThinking:T,settings:U=null}){let V,W,X,Y,Z,$,{provider:_,model:aa}=b,ab=Date.now(),ac=S||(0,e.Tz)(a),ad=(0,p.c)(a,aa,K,M);if(ad)return ad;let ae=m.Xg[_]||_,af=(0,m.ux)(ae,aa)||(0,e.jJ)(_),ag=(0,m.cY)(ae,aa),ah=(0,m.kt)(ae,aa);if(T?.mode&&"auto"!==T.mode){let b=T.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 ai=!0===a.stream||ac===g.h.ANTIGRAVITY||ac===g.h.GEMINI||ac===g.h.GEMINI_CLI,aj="openai"===_||"codex"===_||"commandcode"===_,ak=!!aj||!1!==a.stream,al=(0,z.J)(I?.headers||{},a);"deepseek-tui"===al&&!0!==a.stream&&(ak=!1);let am=I?.headers?.accept||"",an=am.includes("application/json"),ao=am.includes("text/event-stream");an&&!ao&&!0!==a.stream&&(ak=!1);let ap=await (0,l.q7)(ac,af,aa);I&&ap.logClientRawRequest(I.endpoint,I.body,I.headers),ap.logRawRequest(a),d?.debug?.("FORMAT",`${ac} → ${af} | stream=${ak}`);let aq=(0,z.J)(I?.headers||{},a),ar=(0,z.Q)(aq,_);if(ar)d?.debug?.("PASSTHROUGH",`${aq} → ${_} | native lossless`),V={...a,model:ah},"claude"===aq&&(0,h.ui)(V,ah);else{if(!(V=(0,f.GH)(ac,af,ah,a,ak,c,_,ap,ag,J,aq)))return(0,q.uw)(aa,_,J,!1,!0),(0,n.A1)(o.gx.BAD_REQUEST,`Failed to translate request for ${ac} → ${af}`);W=V._toolNameMap,delete V._toolNameMap,V.model=ah,void 0===V.stream&&(V.stream=ak)}if("claude"===aq&&Array.isArray(V.tools)){let{tools:a,stripped:b}=(0,A.F)(V.tools);b.length>0&&(V.tools=a,d?.debug?.("TOOLDEDUP",`stripped ${b.length}: ${b.slice(0,3).join(", ")}${b.length>3?"...":""}`))}let as=ar?ac:af;"tts"===(0,m.OA)(ae,aa)&&V.messages&&(V.messages=V.messages.filter(a=>"tool"!==a.role),delete V.tools);let at=(0,D.B)(V,N),au=(0,D.f)(at);au&&d?.debug?.("RTK",au),O&&P&&((0,B.p)(V,as,P),d?.debug?.("CAVEMAN",`${P} | ${as}`)),Q&&R&&((0,C.U)(V,as,R),d?.debug?.("PONYTAIL",`${R} | ${as}`));let av=(0,r.SB)(_);(0,q.uw)(aa,_,J,!0),(0,q.E5)({model:aa,provider:_,connectionId:J,status:"PENDING"}).catch(()=>{});let aw=V.messages?.length||V.input?.length||V.contents?.length||V.request?.contents?.length||0;d?.debug?.("REQUEST",`${_.toUpperCase()} | ${aa} | ${aw} msgs`);let ax=(0,j.jd)({onDisconnect:a=>{(0,q.uw)(aa,_,J,!1),H&&H(a)},onError:()=>(0,q.uw)(aa,_,J,!1),log:d,provider:_,model:aa}),ay={connectionProxyEnabled:c?.providerSpecificData?.connectionProxyEnabled===!0,connectionProxyUrl:c?.providerSpecificData?.connectionProxyUrl||"",connectionNoProxy:c?.providerSpecificData?.connectionNoProxy||"",vercelRelayUrl:c?.providerSpecificData?.vercelRelayUrl||""};if(ay.vercelRelayUrl){let a=c?.connectionName||c?.connectionId||"unknown",b=c?.providerSpecificData?.connectionProxyPoolId||"none";d?.info?.("PROXY",`${_.toUpperCase()} | ${aa} | conn=${a} | pool=${b} | vercel-relay=${ay.vercelRelayUrl}`)}else if(ay.connectionProxyEnabled&&ay.connectionProxyUrl){let a=ay.connectionProxyUrl;try{let b=new URL(ay.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",`${_.toUpperCase()} | ${aa} | conn=${e} | pool=${b} | url=${a}`)}if(ay.connectionProxyEnabled&&ay.connectionNoProxy){let a=c?.connectionName||c?.connectionId||"unknown";d?.debug?.("PROXY",`${_.toUpperCase()} | ${aa} | conn=${a} | no_proxy=${ay.connectionNoProxy}`)}let az=Number(c?.providerSpecificData?.maxConcurrency),aA=Number.isFinite(az)&&az>0?az:({antigravity:2,kiro:2,claude:3,codex:3,"mimo-free":1,opencode:1,"gemini-cli":2,qoder:2})[_]||0,aB=(0,s.fy)(_,J||"noauth"),aC=()=>{};try{aC=await (0,s.XC)(aB,{maxConcurrency:aA,timeoutMs:3e4,signal:ax.signal})}catch(a){if(a?.code==="SEMAPHORE_QUEUE_FULL"||a?.code==="SEMAPHORE_TIMEOUT")return d?.warn?.("AUTH",`${_} | semaphore wait failed (${a.code}) for ${J?.slice(0,8)}`),(0,q.uw)(aa,_,J,!1,!0),(0,n.A1)(o.gx.TOO_MANY_REQUESTS,`Account ${J?.slice(0,8)} concurrency wait timed out`);throw a}let aD=!1,aE=()=>{if(!aD){aD=!0;try{aC()}catch{}}},aF=(0,u.f6)(V,{provider:_,connectionId:J});aF&&((0,u.IN)(aF,J,L),d?.debug?.("SESSION",`sid=${aF.slice(0,12)} conn=${J?.slice(0,8)||"noauth"}`));try{let a=await av.execute({model:aa,body:V,stream:ak,credentials:c,signal:ax.signal,log:d,proxyOptions:ay});X=a.response,Y=a.url,Z=a.headers,$=a.transformedBody,ap.logTargetRequest(Y,Z,$)}catch(c){if(aE(),(0,q.uw)(aa,_,J,!1,!0),(0,q.E5)({model:aa,provider:_,connectionId:J,status:`FAILED ${"AbortError"===c.name?499:o.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,q.ox)((0,v.$R)({provider:_,model:aa,connectionId:J,latency:{ttft:0,total:Date.now()-ab},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,v.Fo)(a,ak),providerRequest:V||null,response:{error:c.message||String(c),status:"AbortError"===c.name?499:502,thinking:null},status:"error"})).catch(()=>{}),"AbortError"===c.name)return ax.handleError(c),(0,n.A1)(499,"Request aborted");let b=(0,n.lR)(c,_,aa,o.gx.BAD_GATEWAY);return console.log(`${i.lm.red}[ERROR] ${b}${i.lm.reset}`),(0,n.A1)(o.gx.BAD_GATEWAY,b)}if(!av.noAuth&&(X.status===o.gx.UNAUTHORIZED||X.status===o.gx.FORBIDDEN))try{let a=await (0,k.qZ)(()=>av.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.copilotToken){d?.info?.("TOKEN",`${_.toUpperCase()} | refreshed`);let b={...c,...a};if(E)try{await E(a)}catch(a){d?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}try{let a=await av.execute({model:aa,body:V,stream:ak,credentials:b,signal:ax.signal,log:d,proxyOptions:ay});X=a.response,Y=a.url,X.ok||d?.warn?.("TOKEN",`${_.toUpperCase()} | retry after refresh still failed: ${X.status}`)}catch(a){d?.warn?.("TOKEN",`${_.toUpperCase()} | retry after refresh threw: ${a.message}`),X=new Response(JSON.stringify({error:{message:`Retry after token refresh threw: ${a.message}`,type:"retry_exception"}}),{status:o.gx.BAD_GATEWAY,headers:{"Content-Type":"application/json"}})}}else d?.warn?.("TOKEN",`${_.toUpperCase()} | refresh failed`)}catch(a){d?.warn?.("TOKEN",`${_.toUpperCase()} | refresh threw: ${a.message}`)}if(!X.ok){let b;(0,q.uw)(aa,_,J,!1,!0);let{statusCode:c,message:e,resetsAtMs:f}=await (0,n.zL)(X,av);(0,q.E5)({model:aa,provider:_,connectionId:J,status:`FAILED ${c}`}).catch(()=>{}),(0,q.ox)((0,v.$R)({provider:_,model:aa,connectionId:J,latency:{ttft:0,total:Date.now()-ab},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,v.Fo)(a,ak),providerRequest:$||V||null,response:{error:e,status:c,thinking:null},status:"error"})).catch(()=>{});let g=(0,n.lR)(Error(e),_,aa,c);if(console.log(`${i.lm.red}[ERROR] ${g}${i.lm.reset}`),ap.logError(Error(e),$||V),aE(),!a?.__emergencyFallbackUsed){let f=Array.isArray(a?.tools)&&a.tools.length>0,g=(0,t.gr)(U),h=(0,t.KE)(c,e||"",f,g);h.shouldFallback&&(b={provider:h.provider,model:h.model,reason:h.reason,maxOutputTokens:h.maxOutputTokens},d?.info?.("EMERGENCY",`${_}/${aa} → ${h.reason}`))}return(0,n.A1)(c,g,f,b?{emergencyFallback:b}:{})}aE();let aG={provider:_,model:aa,body:a,stream:ak,translatedBody:V,finalBody:$,requestStartTime:ab,connectionId:J,apiKey:L,clientRawRequest:I,onRequestSuccess:G},aH=a=>(0,q.E5)({model:aa,provider:_,connectionId:J,...a}).catch(()=>{}),aI=()=>(0,q.uw)(aa,_,J,!1);if(!ai&&aj){let a=await (0,w.I)({...aG,providerResponse:X,sourceFormat:ac,trackDone:aI,appendLog:aH});if(a)return ax.handleComplete(),a}if(!ak){let a=await (0,x.N)({...aG,providerResponse:X,sourceFormat:ac,targetFormat:af,reqLogger:ap,toolNameMap:W,trackDone:aI,appendLog:aH});return ax.handleComplete(),a}let{onStreamComplete:aJ}=(0,y.$)({...aG});return(0,y.M)({...aG,providerResponse:X,sourceFormat:ac,targetFormat:af,userAgent:K,reqLogger:ap,toolNameMap:W,streamController:ax,onStreamComplete:aJ})}r=(E.then?(await E)():E)[0],d()}catch(a){d(a)}})}};
@@ -0,0 +1,2 @@
1
+ "use strict";exports.id=8962,exports.ids=[8962],exports.modules={38962:(a,b,c)=>{c.d(b,{Vu:()=>o,Pr:()=>q,vt:()=>s,UP:()=>n});var d=c(12557),e=c(43659),f=c(66306),g=c(69069),h=c(40669);let i={"gemini-3-pro":["gemini-3.1-pro-preview","gemini-3-pro-preview","gemini-3.1-pro-high","gemini-3-pro-high","gemini-3.1-pro-low","gemini-3-pro-low"],"gemini-3-1-pro":["gemini-3.1-pro-preview","gemini-3-pro-preview","gemini-3.1-pro-high","gemini-3-pro-high","gemini-3.1-pro-low","gemini-3-pro-low"],"gemini-3-pro-preview":["gemini-3.1-pro-preview","gemini-3-pro-high","gemini-3.1-pro-high","gemini-3-pro-low","gemini-3.1-pro-low"],"gemini-3-1-pro-preview":["gemini-3-pro-preview","gemini-3.1-pro-high","gemini-3-pro-high","gemini-3.1-pro-low","gemini-3-pro-low"],"gemini-3-pro-high":["gemini-3.1-pro-high","gemini-3-pro-preview","gemini-3.1-pro-preview","gemini-3-pro-low","gemini-3.1-pro-low"],"gemini-3-1-pro-high":["gemini-3-pro-high","gemini-3.1-pro-preview","gemini-3-pro-preview","gemini-3.1-pro-low","gemini-3-pro-low"],"gemini-3-flash":["gemini-3-flash-agent","gemini-3.5-flash-low"],"gemini-3-flash-agent":["gemini-3-flash","gemini-3.5-flash-low"],"gemini-3-5-flash-low":["gemini-3.5-flash-extra-low","gemini-3-flash"],"gemini-2-5-pro":["gemini-2.5-pro-preview-06-05","gemini-2.5-pro-exp-03-25"],"claude-fable-5":["claude-opus-4-8","claude-opus-4-7","claude-sonnet-4-6"],"claude-opus-4-8":["claude-opus-4-7","claude-opus-4-6","claude-sonnet-4-6"],"claude-opus-4-7":["claude-opus-4-6","claude-opus-4-6-thinking","claude-sonnet-4-6"],"claude-opus-4-6":["claude-opus-4-6-thinking","claude-opus-4-7","claude-sonnet-4-6"],"claude-opus-4-6-thinking":["claude-opus-4-6","claude-opus-4-7"],"claude-sonnet-4-6":["claude-sonnet-4-5","claude-sonnet-4-5-20250929"],"gpt-5":["gpt-5-mini","gpt-4o"],"gpt-5-1":["gpt-5.1-mini","gpt-5","gpt-4o"]},j=["model not found","model_not_found","model not available","model is not available","no such model","unsupported model","unknown model","this model does not exist","invalid model","model not supported","not enabled for","access to model","improperly formed request","requested entity was not found"],k=new Set(["vision","pdf","audioInput","videoInput"]);function l(a){return a?"string"==typeof a?a:Array.isArray(a)?a.map(a=>"string"==typeof a?a:a?.text||"").join(""):"":""}let m=new Map;function n(a){a?m.delete(a):m.clear()}function o(a,b){if(a.includes("/"))return null;let c=(Array.isArray(b)?b:b?.combos||[]).find(b=>b.name===a);return c&&c.models&&c.models.length>0?c.models:null}function p(a){if(!Array.isArray(a))return[];let b=[];for(let c=a.length-1;c>=0;c--){let d=a[c];if(d)if("user"===d.role)b.unshift(d);else break}return b}async function q({body:a,models:b,handleSingleModel:c,log:l,comboName:n,comboStrategy:o,comboStickyLimit:r=1,autoSwitch:s=!0}){let t=function(a,b,c,d=1){let e;if(!a||a.length<=1||"round-robin"!==c)return a;let f=b||"__default__",g=Number.isFinite(e=Number.parseInt(d,10))&&e>0?e:1,h=m.get(f),i="number"==typeof h?{index:h,consecutiveUseCount:0}:h||{index:0,consecutiveUseCount:0},j=i.index%a.length,k=function(a,b){let c=[...a];for(let a=0;a<b;a++){let a=c.shift();c.push(a)}return c}(a,j),l=i.consecutiveUseCount+1;return l>=g?m.set(f,{index:(j+1)%a.length,consecutiveUseCount:0}):m.set(f,{index:j,consecutiveUseCount:l}),k}(b,n,o,r);if(s){let b=function(a){let b=new Set;if(!a||"object"!=typeof a)return b;let c=a=>{if(!a||"object"!=typeof a)return;let c=a.type;("image_url"===c||"image"===c||"input_image"===c)&&b.add("vision"),("file"===c||"document"===c||"input_file"===c)&&b.add("pdf");let d=a.inlineData?.mimeType||a.fileData?.mimeType;"string"==typeof d&&d.startsWith("image/")&&b.add("vision"),"application/pdf"===d&&b.add("pdf")},d=a=>{if(Array.isArray(a))for(let b of a)c(b)};for(let b of p(a.messages))d(b.content);for(let b of p(a.input))d(b.content);for(let b of p(a.contents||a.request?.contents))d(b.parts);return b}(a);if(b.size>0){let a=function(a,b){if(!b||0===b.size||!Array.isArray(a)||a.length<=1)return a;let c=[...b].filter(a=>k.has(a));return 0===c.length?a:a.map((a,b)=>{let d,e,g,h;return{m:a,i:b,t:(e=(d="string"==typeof a?a.indexOf("/"):-1)>0?a.slice(0,d):"",g=d>0?a.slice(d+1):a,h=(0,f.nl)(e,g),+!c.every(a=>!0===h[a]))}}).sort((a,b)=>a.t-b.t||a.i-b.i).map(a=>a.m)}(t,b);a[0]!==t[0]&&l?.info?.("COMBO",`Capacity auto-switch: ${[...b].join(",")} → reordered to ${a[0]} first`),t=a}}if(s){let a=function(a){if(!Array.isArray(a)||a.length<2)return a;let b=a.map((a,b)=>{let{provider:c,model:d}=(0,h.Xh)(a);return c&&d?{modelStr:a,score:(0,g.wJ)(c,d),originalIndex:b}:{modelStr:a,score:null,originalIndex:b}});return b.some(a=>null!==a.score)?(b.sort((a,b)=>null===a.score&&null===b.score?a.originalIndex-b.originalIndex:null===a.score?1:null===b.score?-1:b.score!==a.score?b.score-a.score:a.originalIndex-b.originalIndex),b.map(a=>a.modelStr)):a}(t);a[0]!==t[0]&&l?.info?.("COMBO",`Quota auto-switch: ${a[0]} has most remaining quota → tried first`),t=a}let u=null,v=null,w=null,x=new Set;for(let b=0;b<t.length;b++){let e=t[b],f=0;for(;;){l.info("COMBO",`Trying model ${b+1}/${t.length}: ${e}${f>0?` (family-fallback ${f})`:""}`),x.add(e);try{let b=await c(a,e);if(b.ok)return l.info("COMBO",`Model ${e} succeeded`),b;let g=b.statusText||"",k=null;try{let a=await b.clone().json();g=a?.error?.message||a?.error||a?.message||g,k=a?.retryAfter||null}catch{}if(k&&(!v||new Date(k)<new Date(v))&&(v=k),"string"!=typeof g)try{g=JSON.stringify(g)}catch{g=String(g)}let{shouldFallback:m,cooldownMs:n}=(0,d.hk)(b.status,g),o=404===b.status&&/not[\s_]?found|requested entity/i.test(g||"");if(function(a,b){if(404===a)return!0;if(400!==a&&403!==a||"string"!=typeof b||!b)return!1;let c=b.toLowerCase();return j.some(a=>c.includes(a))}(b.status,g)&&f<3){let a=function(a,b){if(!a)return null;let c=b instanceof Set?b:new Set(b||[]),d=(0,h.Xh)(a),e=d.model||a,f=d.providerAlias||d.provider||"",g=f?`${f}/`:"",j=i[e.replace(/\./g,"-")]||i[e];if(!j)return null;for(let a of j){let b=`${g}${a}`;if(!c.has(b))return b}return null}(e,x);if(a){f++,l.info("COMBO",`Model ${e} unavailable, family-fallback → ${a}`),e=a;continue}}if(!m&&!o)return l.warn("COMBO",`Model ${e} failed (no fallback)`,{status:b.status}),b;n&&n>0&&n<=5e3&&(503===b.status||502===b.status||504===b.status)&&(l.info("COMBO",`Model ${e} transient ${b.status}, waiting ${n}ms before next`),await new Promise(a=>setTimeout(a,n))),u=g||String(b.status),w||(w=b.status),l.warn("COMBO",`Model ${e} failed, trying next`,{status:b.status});break}catch(a){u=a.message||String(a),w||(w=500),l.warn("COMBO",`Model ${e} threw error, trying next`,{error:u});break}}}let y=u&&u.toLowerCase().includes("no credentials")?503:w||503,z=u||"All combo models unavailable";if(v){let a=(0,d.Qo)(v);return l.warn("COMBO",`All models failed | ${z} (${a})`),(0,e.wO)(y,z,v,a)}return l.warn("COMBO",`All models failed | ${z}`),new Response(JSON.stringify({error:{message:z}}),{status:y,headers:{"Content-Type":"application/json"}})}let r={minPanel:2,stragglerGraceMs:8e3,panelHardTimeoutMs:9e4};async function s({body:a,models:b,handleSingleModel:c,log:d,comboName:e,judgeModel:f,tuning:g}){var h;let i,j,k=Array.isArray(b)?b.filter(Boolean):[];if(0===k.length)return new Response(JSON.stringify({error:{message:"Fusion combo has no models"}}),{status:400,headers:{"Content-Type":"application/json"}});if(1===k.length)return c(a,k[0]);let m={...r,...g||{}},n=Math.min(Math.max(2,m.minPanel),k.length),o=f&&f.trim()?f.trim():k[0];d.info("FUSION",`Combo "${e}" | panel=${k.length} [${k.join(", ")}] | judge=${o} | quorum=${n}`);let{tools:p,tool_choice:q,...t}=a,u={...t,stream:!1},v=Date.now(),w=k.map(a=>{var b,d;return b=c(u,a),d=m.panelHardTimeoutMs,new Promise(a=>{let c=setTimeout(()=>a({__timeout:!0}),d);Promise.resolve(b).then(b=>{clearTimeout(c),a(b)}).catch(b=>{clearTimeout(c),a({__error:b})})})}),x=await function(a,{minPanel:b,stragglerGraceMs:c,panelHardTimeoutMs:d}){return new Promise(e=>{let f=Array(a.length),g=0,h=0,i=!1,j=null,k=()=>{i||(i=!0,clearTimeout(l),j&&clearTimeout(j),e(f))},l=setTimeout(k,d);a.forEach((d,e)=>{Promise.resolve(d).then(a=>{f[e]=a}).catch(a=>{f[e]={__error:a}}).finally(()=>{if(g++,f[e]&&f[e].ok&&h++,g===a.length)return k();h>=b&&!j&&(j=setTimeout(k,c))})})})}(w,{...m,minPanel:n});d.info("FUSION",`fan-out collected in ${Date.now()-v}ms`);let y=[];for(let a=0;a<x.length;a++){let b=x[a],c=k[a];if(!b){d.warn("FUSION",`Panel ${c} dropped (straggler/timeout)`);continue}if(b.__timeout){d.warn("FUSION",`Panel ${c} timed out`);continue}if(b.__error){d.warn("FUSION",`Panel ${c} threw`,{error:b.__error?.message||String(b.__error)});continue}if(!b.ok){d.warn("FUSION",`Panel ${c} failed`,{status:b.status});continue}try{let a=await b.clone().json(),e=function(a){if(!a||"object"!=typeof a)return"";let b=a.choices?.[0];if(b){let a=l((b.message??b.delta??{}).content);if(a.trim())return a;if("string"==typeof b.text&&b.text.trim())return b.text}let c=l(a.content);if(c.trim())return c;let d=a.candidates?.[0]?.content?.parts;if(Array.isArray(d)){let a=d.map(a=>a?.text||"").join("");if(a.trim())return a}if(Array.isArray(a.output)){let b=a.output.flatMap(a=>Array.isArray(a.content)?a.content.map(a=>a?.text||""):[]).join("");if(b.trim())return b}return""}(a);e?(y.push({model:c,text:e}),d.info("FUSION",`Panel ${c} ok (${e.length} chars)`)):d.warn("FUSION",`Panel ${c} returned empty content`)}catch(a){d.warn("FUSION",`Panel ${c} unparseable`,{error:a.message||String(a)})}}if(0===y.length)return d.warn("FUSION","All panel models failed"),new Response(JSON.stringify({error:{message:"All fusion panel models failed"}}),{status:503,headers:{"Content-Type":"application/json"}});if(1===y.length)return d.info("FUSION",`Only ${y[0].model} succeeded — answering directly (no fusion)`),c(a,y[0].model);let z=(i=y.map((a,b)=>`[Source ${b+1}]
2
+ ${a.text}`).join("\n\n"),h=[`You are the JUDGE in a model-fusion panel. ${y.length} expert models independently answered the user's most recent request. Their responses are below, anonymized by source.`,"\nDo NOT mention that multiple models were used, and do NOT refer to the sources. Produce ONE authoritative final answer addressed directly to the user.\n\nFirst, internally analyze the panel along these dimensions: consensus (points most sources agree on — treat as higher-confidence), contradictions (where they disagree — resolve with your own judgment), partial coverage, unique insights only one source surfaced, and blind spots every source missed. Then write the best possible final answer grounded in that analysis — more complete and correct than any single response, with no filler.\n\n=== PANEL RESPONSES ===",i,"=== END PANEL RESPONSES ===\n\nNow write the final answer to the user's original request."].join("\n"),j={...a},Array.isArray(a.messages)?j.messages=[...a.messages,{role:"user",content:h}]:Array.isArray(a.input)?j.input=[...a.input,{role:"user",content:h}]:Array.isArray(a.contents)?j.contents=[...a.contents,{role:"user",parts:[{text:h}]}]:j.messages=[{role:"user",content:h}],j);return d.info("FUSION",`Judging ${y.length} answers with ${o}`),c(z,o)}}};
@@ -1 +1 @@
1
- "use strict";exports.id=9489,exports.ids=[9489],exports.modules={9999:(a,b,c)=>{c.d(b,{$S:()=>k,$T:()=>l,QS:()=>m,e3:()=>n});var d=c(77598),e=c.n(d);let f=globalThis;f.__krouterResponseCache||(f.__krouterResponseCache=new Map,f.__krouterResponseCacheStats={hits:0,misses:0,skipped:0,bytesSaved:0,tokensSaved:0,lastResetAt:Date.now()});let g=f.__krouterResponseCache,h=f.__krouterResponseCacheStats;function i({model:a,body:b}){let c=JSON.stringify({model:a,system:b?.system??null,instructions:b?.instructions??null,messages:b?.messages??null,input:b?.input??null,contents:b?.contents??null,temperature:b?.temperature??null,max_tokens:b?.max_tokens??b?.max_output_tokens??null,tools:b?.tools??null,tool_choice:b?.tool_choice??null,response_format:b?.response_format??null});return e().createHash("sha256").update(c).digest("hex")}function j(a){return!!a&&"object"==typeof a&&!0!==a.stream&&("number"!=typeof a.temperature||!(a.temperature>.3))&&"required"!==a.tool_choice}function k({model:a,body:b}){if(!j(b))return h.skipped++,null;let c=i({model:a,body:b}),d=g.get(c);return d?d.expiresAt<Date.now()?(g.delete(c),h.misses++,null):(g.delete(c),g.set(c,d),h.hits++,h.bytesSaved+=d.bodyBytes||0,h.tokensSaved+=d.estimatedTokens||0,d):(h.misses++,null)}function l({model:a,body:b,status:c,contentType:d,responseBody:e,estimatedTokens:f=0,ttlMs:h=3e5,maxEntries:k=500}){if(!j(b)||200!==c||!e)return!1;let m=i({model:a,body:b}),n="string"==typeof e?e:JSON.stringify(e),o={key:m,status:c,contentType:d||"application/json",body:n,bodyBytes:Buffer.byteLength(n,"utf-8"),estimatedTokens:f,expiresAt:Date.now()+h,storedAt:Date.now(),model:a};for(g.set(m,o);g.size>k;){let a=g.keys().next().value;if(void 0===a)break;g.delete(a)}return!0}function m(){let a=h.hits+h.misses;return{enabled:!0,entries:g.size,hits:h.hits,misses:h.misses,skipped:h.skipped,hitRate:a>0?h.hits/a:0,bytesSaved:h.bytesSaved,tokensSaved:h.tokensSaved,lastResetAt:h.lastResetAt}}function n(){g.clear(),h.hits=0,h.misses=0,h.skipped=0,h.bytesSaved=0,h.tokensSaved=0,h.lastResetAt=Date.now()}},38775:(a,b,c)=>{c.d(b,{d_:()=>k,mA:()=>j});var d=c(89718),e=c(40669),f=c(35024),g=c(44404);let h={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},i=new Set([...Object.keys(h),...Object.keys(f.xq),...Object.keys(g.Xg),...Object.values(g.Xg)]);async function j(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&h[b.providerAlias]?{...b,provider:h[b.providerAlias]}:b);if(!c.isAlias){if(!i.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 k(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>v});var e=c(48895),f=c(80238),g=c(71750),h=c(89718),i=c(38775),j=c(92500),k=c(43659),l=c(18910),m=c(27349),n=c(9999),o=c(41004),p=c(53258),q=c(14170),r=c(7803),s=c(67828),t=c(38160),u=a([e,j]);async function v(a,b=null){let c;try{c=await a.json()}catch{return r.warn("CHAT","Invalid JSON body"),(0,k.yj)(o.gx.BAD_REQUEST,"Invalid JSON body")}b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())}),(0,g.n)(b.headers);let d=new URL(a.url),e=c.model,j=c.messages?.length||c.input?.length||0,p=c.tools?.length||0,q=c.reasoning_effort||c.reasoning?.effort||null;r.request("POST",`${d.pathname} | ${e} | ${j} msgs${p?` | ${p} tools`:""}${q?` | effort=${q}`:""}`);let s=a.headers.get("Authorization"),t=(0,f.Tr)(a);if(s&&t){let a=r.maskKey(t);r.debug("AUTH",`API Key: ${a}`)}else r.debug("AUTH","No API key provided (local mode)");let u=await (0,h.mt)();if(u.requireApiKey){if(!t)return r.warn("AUTH","Missing API key (requireApiKey=true)"),(0,k.yj)(o.gx.UNAUTHORIZED,"Missing API key");if(!await (0,f.kI)(t))return r.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,k.yj)(o.gx.UNAUTHORIZED,"Invalid API key")}if(!e)return r.warn("CHAT","Missing model"),(0,k.yj)(o.gx.BAD_REQUEST,"Missing model");let x=a?.headers?.get("user-agent")||"",y=(0,m.c)(c,e,x,!!u.ccFilterNaming);if(y)return y.response||y;if(u.responseCacheEnabled){let a=(0,n.$S)({model:e,body:c});if(a)return r.info("CHAT",`[CACHE HIT] ${e} (${a.bodyBytes}B saved)`),new Response(a.body,{status:a.status,headers:{"Content-Type":a.contentType,"X-Cache":"HIT","X-Cache-Age-Ms":String(Date.now()-a.storedAt)}})}let z=await (0,i.d_)(e);if(z){let d=u.comboStrategies||{},f=d[e]?.fallbackStrategy||u.comboStrategy||"fallback";if("fusion"===f)return r.info("CHAT",`Combo "${e}" with ${z.length} models (strategy: fusion)`),(0,l.vt)({body:c,models:z,handleSingleModel:(c,d)=>w(c,d,b,a,t,u,1),log:r,comboName:e,judgeModel:d[e]?.judgeModel,tuning:d[e]?.fusionTuning});let g=u.comboStickyRoundRobinLimit;return r.info("CHAT",`Combo "${e}" with ${z.length} models (strategy: ${f}, sticky: ${g})`),(0,l.Pr)({body:c,models:z,handleSingleModel:(c,d)=>w(c,d,b,a,t,u,1),log:r,comboName:e,comboStrategy:f,comboStickyLimit:g})}return w(c,e,b,a,t,u,0)}async function w(a,b,c=null,d=null,e=null,g=null,m=0){g||(g=await (0,h.mt)());let u=await (0,i.mA)(b);if(!u.provider){let f=await (0,i.d_)(b);if(f){if(m>=3)return r.warn("CHAT",`Combo recursion limit hit for "${b}" at depth ${m} — refusing to dispatch`),(0,k.yj)(o.gx.BAD_REQUEST,`Combo recursion limit (3) exceeded for "${b}"`);let h=g.comboStrategies||{},i=h[b]?.fallbackStrategy||g.comboStrategy||"fallback";if("fusion"===i)return r.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: fusion, depth: ${m})`),(0,l.vt)({body:a,models:f,handleSingleModel:(a,b)=>w(a,b,c,d,e,g,m+1),log:r,comboName:b,judgeModel:h[b]?.judgeModel,tuning:h[b]?.fusionTuning});let j=g.comboStickyRoundRobinLimit;return r.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: ${i}, sticky: ${j}, depth: ${m})`),(0,l.Pr)({body:a,models:f,handleSingleModel:(a,b)=>w(a,b,c,d,e,g,m+1),log:r,comboName:b,comboStrategy:i,comboStickyLimit:j})}return r.warn("CHAT","Invalid model format",{model:b}),(0,k.yj)(o.gx.BAD_REQUEST,"Invalid model format")}let{provider:v,model:x}=u;b!==`${v}/${x}`?r.info("ROUTING",`${b} → ${v}/${x}`):r.info("ROUTING",`Provider: ${v}, Model: ${x}`);let y=d?.headers?.get("user-agent")||"",z=d?.headers?.get("x-bypass-modellock")==="1",A=new Set,B=null,C=null;for(;;){let h=await (0,f.c1)(v,A,x,{bypassModelLock:z});if(!h||h.allRateLimited){if(h?.allRateLimited){let a=B||h.lastError||"Unavailable",b=C||Number(h.lastErrorCode)||o.gx.SERVICE_UNAVAILABLE;return r.warn("CHAT",`[${v}/${x}] ${a} (${h.retryAfterHuman})`),(0,k.wO)(b,`[${v}/${x}] ${a}`,h.retryAfter,h.retryAfterHuman)}if(0===A.size)return r.warn("AUTH",`No active credentials for provider: ${v}`),(0,k.yj)(o.gx.SERVICE_UNAVAILABLE,`No active credentials for provider: ${v}`);return r.warn("CHAT","No more accounts available",{provider:v}),(0,k.yj)(C||o.gx.SERVICE_UNAVAILABLE,B||"All accounts unavailable")}r.info("AUTH",`\x1b[32mUsing ${v} account: ${h.connectionName}\x1b[0m`);let i=await (0,s.eU)(v,h);if(("antigravity"===v||"gemini-cli"===v)&&!i.projectId){let a=await (0,t.eG)(h.connectionId,i.accessToken);a&&(i.projectId=a,(0,s.vN)(h.connectionId,{projectId:a}).catch(()=>{}))}let l=(g.providerThinking||{})[v]||null,m=Date.now(),u=await (0,j.w)({body:{...a,model:`${v}/${x}`},modelInfo:{provider:v,model:x},credentials:i,log:r,clientRawRequest:c,connectionId:h.connectionId,userAgent:y,apiKey:e,ccFilterNaming:!!g.ccFilterNaming,rtkEnabled:!!g.rtkEnabled,cavemanEnabled:!!g.cavemanEnabled,cavemanLevel:g.cavemanLevel||"full",ponytailEnabled:!!g.ponytailEnabled,ponytailLevel:g.ponytailLevel||"full",providerThinking:l,sourceFormatOverride:d?.url?(0,q.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,s.vN)(h.connectionId,{...a,existingProviderSpecificData:h.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(h.connectionId,h,x)}});if((0,p.Up)(h.connectionId,!!u.success,Date.now()-m),u.success){if(g.responseCacheEnabled&&!0!==a.stream)try{let c=u.response.clone(),d=c.headers.get("content-type")||"application/json";c.text().then(e=>{(0,n.$T)({model:b,body:a,status:c.status,contentType:d,responseBody:e,estimatedTokens:Math.ceil(e.length/4),ttlMs:1e3*(g.responseCacheTtlSec||300)})}).catch(()=>{})}catch{}return u.response}let{shouldFallback:w}=await (0,f.vk)(h.connectionId,u.status,u.error,v,x,u.resetsAtMs);if(w){r.warn("AUTH",`Account ${h.connectionName} unavailable (${u.status}), trying fallback`),A.add(h.connectionId),B=u.error,C=u.status;continue}return u.response}}[e,j]=u.then?(await u)():u,d()}catch(a){d(a)}})}};
1
+ "use strict";exports.id=9489,exports.ids=[9489],exports.modules={9999:(a,b,c)=>{c.d(b,{$S:()=>k,$T:()=>l,QS:()=>m,e3:()=>n});var d=c(77598),e=c.n(d);let f=globalThis;f.__krouterResponseCache||(f.__krouterResponseCache=new Map,f.__krouterResponseCacheStats={hits:0,misses:0,skipped:0,bytesSaved:0,tokensSaved:0,lastResetAt:Date.now()});let g=f.__krouterResponseCache,h=f.__krouterResponseCacheStats;function i({model:a,body:b}){let c=JSON.stringify({model:a,system:b?.system??null,instructions:b?.instructions??null,messages:b?.messages??null,input:b?.input??null,contents:b?.contents??null,temperature:b?.temperature??null,max_tokens:b?.max_tokens??b?.max_output_tokens??null,tools:b?.tools??null,tool_choice:b?.tool_choice??null,response_format:b?.response_format??null});return e().createHash("sha256").update(c).digest("hex")}function j(a){return!!a&&"object"==typeof a&&!0!==a.stream&&("number"!=typeof a.temperature||!(a.temperature>.3))&&"required"!==a.tool_choice}function k({model:a,body:b}){if(!j(b))return h.skipped++,null;let c=i({model:a,body:b}),d=g.get(c);return d?d.expiresAt<Date.now()?(g.delete(c),h.misses++,null):(g.delete(c),g.set(c,d),h.hits++,h.bytesSaved+=d.bodyBytes||0,h.tokensSaved+=d.estimatedTokens||0,d):(h.misses++,null)}function l({model:a,body:b,status:c,contentType:d,responseBody:e,estimatedTokens:f=0,ttlMs:h=3e5,maxEntries:k=500}){if(!j(b)||200!==c||!e)return!1;let m=i({model:a,body:b}),n="string"==typeof e?e:JSON.stringify(e),o={key:m,status:c,contentType:d||"application/json",body:n,bodyBytes:Buffer.byteLength(n,"utf-8"),estimatedTokens:f,expiresAt:Date.now()+h,storedAt:Date.now(),model:a};for(g.set(m,o);g.size>k;){let a=g.keys().next().value;if(void 0===a)break;g.delete(a)}return!0}function m(){let a=h.hits+h.misses;return{enabled:!0,entries:g.size,hits:h.hits,misses:h.misses,skipped:h.skipped,hitRate:a>0?h.hits/a:0,bytesSaved:h.bytesSaved,tokensSaved:h.tokensSaved,lastResetAt:h.lastResetAt}}function n(){g.clear(),h.hits=0,h.misses=0,h.skipped=0,h.bytesSaved=0,h.tokensSaved=0,h.lastResetAt=Date.now()}},38775:(a,b,c)=>{c.d(b,{d_:()=>k,mA:()=>j});var d=c(89718),e=c(40669),f=c(35024),g=c(44404);let h={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},i=new Set([...Object.keys(h),...Object.keys(f.xq),...Object.keys(g.Xg),...Object.values(g.Xg)]);async function j(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&h[b.providerAlias]?{...b,provider:h[b.providerAlias]}:b);if(!c.isAlias){if(!i.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 k(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>v});var e=c(48895),f=c(55314),g=c(71750),h=c(89718),i=c(38775),j=c(92500),k=c(43659),l=c(38962),m=c(27349),n=c(9999),o=c(41004),p=c(53258),q=c(14170),r=c(7803),s=c(67828),t=c(38160),u=a([e,j]);async function v(a,b=null){let d;try{d=await a.json()}catch{return r.warn("CHAT","Invalid JSON body"),(0,k.yj)(o.gx.BAD_REQUEST,"Invalid JSON body")}b||(b={endpoint:new URL(a.url).pathname,body:d,headers:Object.fromEntries(a.headers.entries())}),(0,g.n)(b.headers);let e=new URL(a.url),j=d.model,p=d.messages?.length||d.input?.length||0,q=d.tools?.length||0,s=d.reasoning_effort||d.reasoning?.effort||null;r.request("POST",`${e.pathname} | ${j} | ${p} msgs${q?` | ${q} tools`:""}${s?` | effort=${s}`:""}`);let t=a.headers.get("Authorization"),u=(0,f.Tr)(a);if(t&&u){let a=r.maskKey(u);r.debug("AUTH",`API Key: ${a}`)}else r.debug("AUTH","No API key provided (local mode)");let x=await (0,h.mt)();if(x.requireApiKey){if(!u)return r.warn("AUTH","Missing API key (requireApiKey=true)"),(0,k.yj)(o.gx.UNAUTHORIZED,"Missing API key");if(!await (0,f.kI)(u))return r.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,k.yj)(o.gx.UNAUTHORIZED,"Invalid API key")}if(!j)return r.warn("CHAT","Missing model"),(0,k.yj)(o.gx.BAD_REQUEST,"Missing model");try{let{classifyPromptIntent:a}=await c.e(9849).then(c.bind(c,49849)),{classifyRequestComplexity:b}=await c.e(3523).then(c.bind(c,23523)),e=(d?.messages||[]).find(a=>a?.role==="user"),f="string"==typeof e?.content?e.content:Array.isArray(e?.content)&&e.content.find(a=>a?.text)?.text||"",g=(d?.messages||[]).find(a=>a?.role==="system"),h="string"==typeof g?.content?g.content:"",i=a(f,h),j=b(d);r.debug("ROUTING",`intent=${i} | complexity=${j.level} score=${j.score} tier=${j.recommendedTier}${j.hasToolUse?" tools=yes":""}`)}catch(a){r.debug("ROUTING",`classify failed: ${a?.message}`)}let y=a?.headers?.get("user-agent")||"",z=(0,m.c)(d,j,y,!!x.ccFilterNaming);if(z)return z.response||z;if(x.responseCacheEnabled){let a=(0,n.$S)({model:j,body:d});if(a)return r.info("CHAT",`[CACHE HIT] ${j} (${a.bodyBytes}B saved)`),new Response(a.body,{status:a.status,headers:{"Content-Type":a.contentType,"X-Cache":"HIT","X-Cache-Age-Ms":String(Date.now()-a.storedAt)}})}let A=await (0,i.d_)(j);if(A){let c=x.comboStrategies||{},e=c[j]?.fallbackStrategy||x.comboStrategy||"fallback";if("fusion"===e)return r.info("CHAT",`Combo "${j}" with ${A.length} models (strategy: fusion)`),(0,l.vt)({body:d,models:A,handleSingleModel:(c,d)=>w(c,d,b,a,u,x,1),log:r,comboName:j,judgeModel:c[j]?.judgeModel,tuning:c[j]?.fusionTuning});let f=x.comboStickyRoundRobinLimit;return r.info("CHAT",`Combo "${j}" with ${A.length} models (strategy: ${e}, sticky: ${f})`),(0,l.Pr)({body:d,models:A,handleSingleModel:(c,d)=>w(c,d,b,a,u,x,1),log:r,comboName:j,comboStrategy:e,comboStickyLimit:f})}return w(d,j,b,a,u,x,0)}async function w(a,b,c=null,d=null,e=null,g=null,m=0){g||(g=await (0,h.mt)());let u=await (0,i.mA)(b);if(!u.provider){let f=await (0,i.d_)(b);if(f){if(m>=3)return r.warn("CHAT",`Combo recursion limit hit for "${b}" at depth ${m} — refusing to dispatch`),(0,k.yj)(o.gx.BAD_REQUEST,`Combo recursion limit (3) exceeded for "${b}"`);let h=g.comboStrategies||{},i=h[b]?.fallbackStrategy||g.comboStrategy||"fallback";if("fusion"===i)return r.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: fusion, depth: ${m})`),(0,l.vt)({body:a,models:f,handleSingleModel:(a,b)=>w(a,b,c,d,e,g,m+1),log:r,comboName:b,judgeModel:h[b]?.judgeModel,tuning:h[b]?.fusionTuning});let j=g.comboStickyRoundRobinLimit;return r.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: ${i}, sticky: ${j}, depth: ${m})`),(0,l.Pr)({body:a,models:f,handleSingleModel:(a,b)=>w(a,b,c,d,e,g,m+1),log:r,comboName:b,comboStrategy:i,comboStickyLimit:j})}return r.warn("CHAT","Invalid model format",{model:b}),(0,k.yj)(o.gx.BAD_REQUEST,"Invalid model format")}let{provider:v,model:x}=u;b!==`${v}/${x}`?r.info("ROUTING",`${b} → ${v}/${x}`):r.info("ROUTING",`Provider: ${v}, Model: ${x}`);let y=d?.headers?.get("user-agent")||"",z=d?.headers?.get("x-bypass-modellock")==="1",A=new Set,B=null,C=null;for(;;){let h=await (0,f.c1)(v,A,x,{bypassModelLock:z});if(!h||h.allRateLimited){if(h?.allRateLimited){let a=B||h.lastError||"Unavailable",b=C||Number(h.lastErrorCode)||o.gx.SERVICE_UNAVAILABLE;return r.warn("CHAT",`[${v}/${x}] ${a} (${h.retryAfterHuman})`),(0,k.wO)(b,`[${v}/${x}] ${a}`,h.retryAfter,h.retryAfterHuman)}if(0===A.size)return r.warn("AUTH",`No active credentials for provider: ${v}`),(0,k.yj)(o.gx.SERVICE_UNAVAILABLE,`No active credentials for provider: ${v}`);return r.warn("CHAT","No more accounts available",{provider:v}),(0,k.yj)(C||o.gx.SERVICE_UNAVAILABLE,B||"All accounts unavailable")}r.info("AUTH",`\x1b[32mUsing ${v} account: ${h.connectionName}\x1b[0m`);let i=await (0,s.eU)(v,h);if(("antigravity"===v||"gemini-cli"===v)&&!i.projectId){let a=await (0,t.eG)(h.connectionId,i.accessToken);a&&(i.projectId=a,(0,s.vN)(h.connectionId,{projectId:a}).catch(()=>{}))}let l=(g.providerThinking||{})[v]||null,m=Date.now(),u=await (0,j.w)({body:{...a,model:`${v}/${x}`},modelInfo:{provider:v,model:x},credentials:i,log:r,clientRawRequest:c,connectionId:h.connectionId,userAgent:y,apiKey:e,ccFilterNaming:!!g.ccFilterNaming,rtkEnabled:!!g.rtkEnabled,cavemanEnabled:!!g.cavemanEnabled,cavemanLevel:g.cavemanLevel||"full",ponytailEnabled:!!g.ponytailEnabled,ponytailLevel:g.ponytailLevel||"full",providerThinking:l,settings:g,sourceFormatOverride:d?.url?(0,q.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,s.vN)(h.connectionId,{...a,existingProviderSpecificData:h.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(h.connectionId,h,x)}});if((0,p.Up)(h.connectionId,!!u.success,Date.now()-m),u.success){if(g.responseCacheEnabled&&!0!==a.stream)try{let c=u.response.clone(),d=c.headers.get("content-type")||"application/json";c.text().then(e=>{(0,n.$T)({model:b,body:a,status:c.status,contentType:d,responseBody:e,estimatedTokens:Math.ceil(e.length/4),ttlMs:1e3*(g.responseCacheTtlSec||300)})}).catch(()=>{})}catch{}return u.response}if(u.emergencyFallback&&!a.__emergencyFallbackUsed){let b=u.emergencyFallback;r.info("EMERGENCY",`${v}/${x} → ${b.provider}/${b.model} (${b.reason})`);try{let h=await (0,f.c1)(b.provider,new Set,b.model);if(h&&!h.allRateLimited){let f={...a,__emergencyFallbackUsed:!0,model:`${b.provider}/${b.model}`};b.maxOutputTokens&&(f.max_tokens=Math.min(f.max_tokens||b.maxOutputTokens,b.maxOutputTokens));let i=await (0,j.w)({body:f,modelInfo:{provider:b.provider,model:b.model},credentials:h,log:r,clientRawRequest:c,userAgent:y,apiKey:e,connectionId:h.connectionId,ccFilterNaming:!!g.ccFilterNaming,rtkEnabled:!!g.rtkEnabled,cavemanEnabled:!!g.cavemanEnabled,cavemanLevel:g.cavemanLevel||"full",ponytailEnabled:!!g.ponytailEnabled,ponytailLevel:g.ponytailLevel||"full",providerThinking:(g.providerThinking||{})[b.provider]||null,sourceFormatOverride:d?.url?(0,q.t)(new URL(d.url).pathname,a):null,settings:g});if(i.success)return i.response;r.warn("EMERGENCY",`fallback ${b.provider}/${b.model} also failed: ${i.status}`)}else r.warn("EMERGENCY",`no credentials for fallback ${b.provider}, skipping`)}catch(a){r.warn("EMERGENCY",`fallback path threw: ${a.message}`)}}let{shouldFallback:w}=await (0,f.vk)(h.connectionId,u.status,u.error,v,x,u.resetsAtMs);if(w){r.warn("AUTH",`Account ${h.connectionName} unavailable (${u.status}), trying fallback`),A.add(h.connectionId),B=u.error,C=u.status;continue}return u.response}}[e,j]=u.then?(await u)():u,d()}catch(a){d(a)}})}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=9849,exports.ids=[9849],exports.modules={49849:(a,b,c)=>{c.d(b,{classifyPromptIntent:()=>i});let d=["function","class","import","def","SELECT","async","await","const","let","var","return","```","algorithm","compile","debug","refactor","typescript","python","javascript","code","implement","write a","create a component","endpoint","repository","deploy","install","script","api","database","query","schema","interface","generic","enum","module","package","dependency","fun\xe7\xe3o","classe","importar","definir","consulta","ass\xedncrono","aguardar","constante","vari\xe1vel","retornar","algoritmo","compilar","depurar","refatorar","c\xf3digo","implementar","criar um","componente","como fazer","reposit\xf3rio","configurar","instalar","banco de dados","escrever uma fun\xe7\xe3o","criar uma classe","funci\xf3n","clase","importar","definir","consulta","as\xedncrono","esperar","constante","variable","retornar","algoritmo","compilar","depurar","refactorizar","c\xf3digo","implementar","函数","类","导入","定义","查询","异步","等待","常量","变量","返回","算法","编译","调试","代码","関数","クラス","インポート","非同期","定数","変数","コード","アルゴリズム","функция","класс","импорт","запрос","асинхронный","константа","переменная","алгоритм","код","funktion","klasse","importieren","abfrage","asynchron","konstante","variable","algorithmus","code","함수","클래스","가져오기","정의","쿼리","비동기","대기","상수","변수","반환","코드","دالة","فئة","استيراد","استعلام","غير متزامن","ثابت","متغير","كود","خوارزمية"],e=["prove","theorem","derive","step by step","chain of thought","formally","mathematical","proof","logically","analyze","reasoning","deduce","infer","hypothesis","convergence","provar","teorema","derivar","passo a passo","cadeia de pensamento","formalmente","matem\xe1tico","prova","logicamente","analisar","racioc\xednio","deduzir","inferir","hip\xf3tese","demonstrar","c\xe1lculo","equa\xe7\xe3o diferencial","integral","otimiza\xe7\xe3o","demostrar","teorema","derivar","paso a paso","formalmente","matem\xe1tico","l\xf3gicamente","证明","定理","推导","逐步","思维链","数学","逻辑","分析","証明","定理","導出","論理的","分析","доказать","теорема","шаг за шагом","математически","логически","beweisen","theorem","schritt f\xfcr schritt","mathematisch","logisch","증명","정리","단계별","수학적","논리적","إثبات","نظرية","خطوة بخطوة","رياضي","منطقياً"],f=["calculate","solve","equation","proof","formula","integral","derivative","theorem","algebra","geometry","arithmetic","polynomial","matrix","vector","statistics","probability","calcular","resolver","equa\xe7\xe3o","f\xf3rmula","integral","derivada","teorema","\xe1lgebra","geometria","aritm\xe9tica","polin\xf4mio","matriz","vetor","estat\xedstica","probabilidade","calcular","resolver","ecuaci\xf3n","f\xf3rmula","integral","derivada","teorema","\xe1lgebra","geometr\xeda","aritm\xe9tica","polinomio","matriz","vector","estad\xedstica","probabilidad","计算","求解","方程","公式","积分","导数","代数","几何","算术","多项式","矩阵","向量","统计","概率","計算","方程式","公式","積分","微分","代数","幾何学","算術","多項式","行列","ベクトル","統計","確率","вычислить","решить","уравнение","формула","интеграл","производная","алгебра","геометрия","арифметика","полином","матрица","вектор","статистика","вероятность","berechnen","gleichung","formel","integral","ableitung","algebra","geometrie","arithmetik","polynom","matrix","vektor","statistik","wahrscheinlichkeit","계산","방정식","공식","적분","미분","대수","기하학","산술","다항식","행렬","벡터","통계","확률","حل","معادلة","صيغة","تكامل","مشتق","جبر","هندسة","حساب","متعدد الحدود","مصفوفة","متجه","إحصاء","احتمال"],g=["write","story","poem","creative","brainstorm","blog","article","copywrite","marketing","narrative","fiction","screenplay","lyrics","essay","escrever","hist\xf3ria","poema","criativo","brainstorm","blog","artigo","reda\xe7\xe3o","marketing","narrativa","fic\xe7\xe3o","roteiro","letras","ensaio","escribir","historia","poema","creativo","blog","art\xedculo","redacci\xf3n","marketing","narrativa","ficci\xf3n","guion","letras","ensayo","写","故事","诗","创意","头脑风暴","博客","文章","文案","营销","叙事","小说","剧本","歌词","散文","書く","物語","詩","クリエイティブ","ブログ","記事","コピーライティング","マーケティング","ナラティブ","小説","脚本","歌詞","エッセイ","написать","история","стихотворение","креативный","блог","статья","копирайтинг","маркетинг","нарратив","фантастика","сценарий","текст песни","эссе","schreiben","geschichte","gedicht","kreativ","blog","artikel","texten","marketing","erz\xe4hlung","fiktion","drehbuch","songtext","aufsatz","쓰기","이야기","시","창의적","블로그","기사","카피라이팅","마케팅","서사","소설","시나리오","가사","에세이","كتابة","قصة","قصيدة","إبداعي","مقال","تسويق","سرد","رواية","سيناريو","كلمات أغنية","مقالة"],h=["what is","define","translate","hello","yes or no","summarize","list","tell me","who is","o que \xe9","definir","traduzir","ol\xe1","oi","sim ou n\xe3o","resumir","listar","me diga","quem \xe9","quando foi","onde fica","explique brevemente","de forma simples","qu\xe9 es","definir","traducir","hola","resumir","listar","什么是","定义","翻译","你好","总结","列出","что такое","определить","перевести","привет","резюмировать","was ist","definieren","\xfcbersetzen","hallo","zusammenfassen","이란","정의","번역","안녕","요약","ما هو","تعريف","ترجمة","مرحبا","ملخص"];function i(a,b){let c=`${b??""} ${a}`.toLowerCase(),i=a.trim().split(/\s+/).length;for(let a of d)if(c.includes(a.toLowerCase()))return"code";for(let a of f)if(c.includes(a.toLowerCase()))return"math";for(let a of e)if(c.includes(a.toLowerCase()))return"reasoning";for(let a of g)if(c.includes(a.toLowerCase()))return"creative";if(i<60){for(let a of h)if(c.includes(a.toLowerCase()))return"simple"}return"medium"}}};
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/tZGuO4mSfl17sFmAOFyRU/_buildManifest.js","static/tZGuO4mSfl17sFmAOFyRU/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-13d7ea85a35aef77.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-e569667691edc8f7.js","static/chunks/main-app-ab5d6b7f8bfbd85e.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/ZIIYQ_oaHGO5J8W-kKFmS/_buildManifest.js","static/ZIIYQ_oaHGO5J8W-kKFmS/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-13d7ea85a35aef77.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-e569667691edc8f7.js","static/chunks/main-app-ab5d6b7f8bfbd85e.js"],rootMainFilesTree:{},pages:{"/_app":[]}};