switchboard-router 0.9.9 → 0.9.11

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 (1440) hide show
  1. package/app/.next/static/Gpu8irTBATTeQnftVm3kL/_buildManifest.js +1 -0
  2. package/app/.next/static/chunks/1321-cdb7f44691303560.js +1 -0
  3. package/app/.next/static/chunks/1330-a43190104575ffe5.js +7 -0
  4. package/app/.next/static/chunks/3378-277dccfa153c2c15.js +73 -0
  5. package/app/.next/static/chunks/4707-8ea6ba647d0a40c9.js +1 -0
  6. package/app/.next/static/chunks/app/(dashboard)/dashboard/agent-library/page-fa24110e606e19b6.js +1 -0
  7. package/app/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-7b00fb83303d1d11.js +1 -0
  8. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-5743f3aa5bc106d4.js +1 -0
  9. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-3f393136e502e1c0.js +1 -0
  10. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-aaae06cada500532.js +1 -0
  11. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/routing/page-ef491ec5a2ccecfb.js +1 -0
  12. package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-eefda4a8f32e649e.js +1 -0
  13. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-51f788f35bc5325f.js +16 -0
  14. package/app/.next/static/chunks/app/(dashboard)/dashboard/loading-c80ac975cf0f4842.js +1 -0
  15. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-e6fc3a5c25ce1247.js +59 -0
  16. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-078eb5d8bfc3f4d1.js +1 -0
  17. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-7dfde081613f35f3.js +4 -0
  18. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/page-1d63cfd88010b65f.js +1 -0
  19. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-281c93713fd1e960.js +1 -0
  20. package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/page-14c65f14d73bdfa7.js +1 -0
  21. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-88fc3c530d1ce735.js +1 -0
  22. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-0e0047609d5634c9.js +1 -0
  23. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-cb9292ca42b61d7d.js +10 -0
  24. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-604dae851964c441.js +1 -0
  25. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-e1c9f4ce8466e3ad.js +1 -0
  26. package/app/.next/static/chunks/app/(dashboard)/dashboard/pxpipe/page-6ca234b58c5e9feb.js +1 -0
  27. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-40db6db68022a0cc.js +1 -0
  28. package/app/.next/static/chunks/app/(dashboard)/dashboard/skills/[id]/page-ea262b6192d5a92c.js +1 -0
  29. package/app/.next/static/chunks/app/(dashboard)/dashboard/skills/page-36d107b083ad3a43.js +1 -0
  30. package/app/.next/static/chunks/app/(dashboard)/dashboard/token-saver/page-14e5599c720c645b.js +1 -0
  31. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-687e09f904b04cea.js +1 -0
  32. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-195bdcbea10136e1.js +1 -0
  33. package/app/.next/static/chunks/app/(dashboard)/layout-6dfa9d7deb27d461.js +1 -0
  34. package/app/.next/static/chunks/app/_global-error/page-d23122546cc60c2d.js +1 -0
  35. package/app/.next/static/chunks/app/api/agent-library/catalog/route-d23122546cc60c2d.js +1 -0
  36. package/app/.next/static/chunks/app/api/agent-library/doctor/route-d23122546cc60c2d.js +1 -0
  37. package/app/.next/static/chunks/app/api/agent-library/export/route-d23122546cc60c2d.js +1 -0
  38. package/app/.next/static/chunks/app/api/agent-library/mcp/route-d23122546cc60c2d.js +1 -0
  39. package/app/.next/static/chunks/app/api/agent-library/route-d23122546cc60c2d.js +1 -0
  40. package/app/.next/static/chunks/app/api/agent-library/skills/route-d23122546cc60c2d.js +1 -0
  41. package/app/.next/static/chunks/app/api/agent-library/sync/route-d23122546cc60c2d.js +1 -0
  42. package/app/.next/static/chunks/app/api/agent-library/updates/route-d23122546cc60c2d.js +1 -0
  43. package/app/.next/static/chunks/app/api/auth/status/route-d23122546cc60c2d.js +1 -0
  44. package/app/.next/static/chunks/app/api/cli-tools/aider-settings/route-d23122546cc60c2d.js +1 -0
  45. package/app/.next/static/chunks/app/api/cli-tools/all-statuses/route-d23122546cc60c2d.js +1 -0
  46. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-d23122546cc60c2d.js +1 -0
  47. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-d23122546cc60c2d.js +1 -0
  48. package/app/.next/static/chunks/app/api/cli-tools/claude-full-catalog/route-d23122546cc60c2d.js +1 -0
  49. package/app/.next/static/chunks/app/api/cli-tools/claude-picker-labels/route-d23122546cc60c2d.js +1 -0
  50. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-d23122546cc60c2d.js +1 -0
  51. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-d23122546cc60c2d.js +1 -0
  52. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-d23122546cc60c2d.js +1 -0
  53. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-d23122546cc60c2d.js +1 -0
  54. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-d23122546cc60c2d.js +1 -0
  55. package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-d23122546cc60c2d.js +1 -0
  56. package/app/.next/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-d23122546cc60c2d.js +1 -0
  57. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-d23122546cc60c2d.js +1 -0
  58. package/app/.next/static/chunks/app/api/cli-tools/gemini-cli-settings/route-d23122546cc60c2d.js +1 -0
  59. package/app/.next/static/chunks/app/api/cli-tools/grok-settings/route-d23122546cc60c2d.js +1 -0
  60. package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-d23122546cc60c2d.js +1 -0
  61. package/app/.next/static/chunks/app/api/cli-tools/jcode-settings/route-d23122546cc60c2d.js +1 -0
  62. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-d23122546cc60c2d.js +1 -0
  63. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-d23122546cc60c2d.js +1 -0
  64. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-d23122546cc60c2d.js +1 -0
  65. package/app/.next/static/chunks/app/api/cli-tools/pi-settings/route-d23122546cc60c2d.js +1 -0
  66. package/app/.next/static/chunks/app/api/cli-tools/picker-labels/route-d23122546cc60c2d.js +1 -0
  67. package/app/.next/static/chunks/app/api/combos/[id]/route-d23122546cc60c2d.js +1 -0
  68. package/app/.next/static/chunks/app/api/combos/route-d23122546cc60c2d.js +1 -0
  69. package/app/.next/static/chunks/app/api/headroom/extras/route-d23122546cc60c2d.js +1 -0
  70. package/app/.next/static/chunks/app/api/headroom/proxy/[...path]/route-d23122546cc60c2d.js +1 -0
  71. package/app/.next/static/chunks/app/api/headroom/restart/route-d23122546cc60c2d.js +1 -0
  72. package/app/.next/static/chunks/app/api/headroom/start/route-d23122546cc60c2d.js +1 -0
  73. package/app/.next/static/chunks/app/api/headroom/status/route-d23122546cc60c2d.js +1 -0
  74. package/app/.next/static/chunks/app/api/headroom/stop/route-d23122546cc60c2d.js +1 -0
  75. package/app/.next/static/chunks/app/api/health/route-d23122546cc60c2d.js +1 -0
  76. package/app/.next/static/chunks/app/api/keys/[id]/route-d23122546cc60c2d.js +1 -0
  77. package/app/.next/static/chunks/app/api/keys/route-d23122546cc60c2d.js +1 -0
  78. package/app/.next/static/chunks/app/api/locale/route-d23122546cc60c2d.js +1 -0
  79. package/app/.next/static/chunks/app/api/mcp/[plugin]/message/route-d23122546cc60c2d.js +1 -0
  80. package/app/.next/static/chunks/app/api/mcp/[plugin]/sse/route-d23122546cc60c2d.js +1 -0
  81. package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-d23122546cc60c2d.js +1 -0
  82. package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-d23122546cc60c2d.js +1 -0
  83. package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-d23122546cc60c2d.js +1 -0
  84. package/app/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-d23122546cc60c2d.js +1 -0
  85. package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-d23122546cc60c2d.js +1 -0
  86. package/app/.next/static/chunks/app/api/mgmt/v1/combos/[id]/route-d23122546cc60c2d.js +1 -0
  87. package/app/.next/static/chunks/app/api/mgmt/v1/combos/[id]/strategy/route-d23122546cc60c2d.js +1 -0
  88. package/app/.next/static/chunks/app/api/mgmt/v1/combos/route-d23122546cc60c2d.js +1 -0
  89. package/app/.next/static/chunks/app/api/mgmt/v1/health/route-d23122546cc60c2d.js +1 -0
  90. package/app/.next/static/chunks/app/api/mgmt/v1/metrics/route-d23122546cc60c2d.js +1 -0
  91. package/app/.next/static/chunks/app/api/mgmt/v1/providers/route-d23122546cc60c2d.js +1 -0
  92. package/app/.next/static/chunks/app/api/mgmt/v1/routing/route-d23122546cc60c2d.js +1 -0
  93. package/app/.next/static/chunks/app/api/mgmt/v1/usage/route-d23122546cc60c2d.js +1 -0
  94. package/app/.next/static/chunks/app/api/mgmt/v1/version/route-d23122546cc60c2d.js +1 -0
  95. package/app/.next/static/chunks/app/api/models/alias/route-d23122546cc60c2d.js +1 -0
  96. package/app/.next/static/chunks/app/api/models/availability/route-d23122546cc60c2d.js +1 -0
  97. package/app/.next/static/chunks/app/api/models/custom/route-d23122546cc60c2d.js +1 -0
  98. package/app/.next/static/chunks/app/api/models/disabled/route-d23122546cc60c2d.js +1 -0
  99. package/app/.next/static/chunks/app/api/models/route-d23122546cc60c2d.js +1 -0
  100. package/app/.next/static/chunks/app/api/models/test/route-d23122546cc60c2d.js +1 -0
  101. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-d23122546cc60c2d.js +1 -0
  102. package/app/.next/static/chunks/app/api/oauth/codex/bulk-import/route-d23122546cc60c2d.js +1 -0
  103. package/app/.next/static/chunks/app/api/oauth/codex/import-token/route-d23122546cc60c2d.js +1 -0
  104. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-d23122546cc60c2d.js +1 -0
  105. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-d23122546cc60c2d.js +1 -0
  106. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-d23122546cc60c2d.js +1 -0
  107. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-d23122546cc60c2d.js +1 -0
  108. package/app/.next/static/chunks/app/api/oauth/kiro/api-key/route-d23122546cc60c2d.js +1 -0
  109. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-d23122546cc60c2d.js +1 -0
  110. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-d23122546cc60c2d.js +1 -0
  111. package/app/.next/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-d23122546cc60c2d.js +1 -0
  112. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-d23122546cc60c2d.js +1 -0
  113. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-d23122546cc60c2d.js +1 -0
  114. package/app/.next/static/chunks/app/api/pricing/defaults/route-d23122546cc60c2d.js +1 -0
  115. package/app/.next/static/chunks/app/api/pricing/route-d23122546cc60c2d.js +1 -0
  116. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-d23122546cc60c2d.js +1 -0
  117. package/app/.next/static/chunks/app/api/provider-nodes/route-d23122546cc60c2d.js +1 -0
  118. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-d23122546cc60c2d.js +1 -0
  119. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/batch/route-d23122546cc60c2d.js +1 -0
  120. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/cache/route-d23122546cc60c2d.js +1 -0
  121. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/prepare/route-d23122546cc60c2d.js +1 -0
  122. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/remove-unavailable/route-d23122546cc60c2d.js +1 -0
  123. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/route-d23122546cc60c2d.js +1 -0
  124. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/verify/cancel/route-d23122546cc60c2d.js +1 -0
  125. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/verify/start/route-d23122546cc60c2d.js +1 -0
  126. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/verify/status/route-d23122546cc60c2d.js +1 -0
  127. package/app/.next/static/chunks/app/api/providers/[id]/models/route-d23122546cc60c2d.js +1 -0
  128. package/app/.next/static/chunks/app/api/providers/[id]/route-d23122546cc60c2d.js +1 -0
  129. package/app/.next/static/chunks/app/api/providers/[id]/test/route-d23122546cc60c2d.js +1 -0
  130. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-d23122546cc60c2d.js +1 -0
  131. package/app/.next/static/chunks/app/api/providers/client/route-d23122546cc60c2d.js +1 -0
  132. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-d23122546cc60c2d.js +1 -0
  133. package/app/.next/static/chunks/app/api/providers/route-d23122546cc60c2d.js +1 -0
  134. package/app/.next/static/chunks/app/api/providers/suggested-models/route-d23122546cc60c2d.js +1 -0
  135. package/app/.next/static/chunks/app/api/providers/test-batch/route-d23122546cc60c2d.js +1 -0
  136. package/app/.next/static/chunks/app/api/providers/validate/route-d23122546cc60c2d.js +1 -0
  137. package/app/.next/static/chunks/app/api/pxpipe/health/route-d23122546cc60c2d.js +1 -0
  138. package/app/.next/static/chunks/app/api/pxpipe/install/route-d23122546cc60c2d.js +1 -0
  139. package/app/.next/static/chunks/app/api/pxpipe/logs/route-d23122546cc60c2d.js +1 -0
  140. package/app/.next/static/chunks/app/api/pxpipe/restart/route-d23122546cc60c2d.js +1 -0
  141. package/app/.next/static/chunks/app/api/pxpipe/start/route-d23122546cc60c2d.js +1 -0
  142. package/app/.next/static/chunks/app/api/pxpipe/stats/route-d23122546cc60c2d.js +1 -0
  143. package/app/.next/static/chunks/app/api/pxpipe/status/route-d23122546cc60c2d.js +1 -0
  144. package/app/.next/static/chunks/app/api/pxpipe/stop/route-d23122546cc60c2d.js +1 -0
  145. package/app/.next/static/chunks/app/api/routing/feedback/route-d23122546cc60c2d.js +1 -0
  146. package/app/.next/static/chunks/app/api/routing/insights/route-d23122546cc60c2d.js +1 -0
  147. package/app/.next/static/chunks/app/api/routing/learn/route-d23122546cc60c2d.js +1 -0
  148. package/app/.next/static/chunks/app/api/routing/stats/route-d23122546cc60c2d.js +1 -0
  149. package/app/.next/static/chunks/app/api/routing/versions/promote/route-d23122546cc60c2d.js +1 -0
  150. package/app/.next/static/chunks/app/api/routing/versions/rollback/route-d23122546cc60c2d.js +1 -0
  151. package/app/.next/static/chunks/app/api/settings/database/route-d23122546cc60c2d.js +1 -0
  152. package/app/.next/static/chunks/app/api/settings/proxy-test/route-d23122546cc60c2d.js +1 -0
  153. package/app/.next/static/chunks/app/api/settings/route-d23122546cc60c2d.js +1 -0
  154. package/app/.next/static/chunks/app/api/shutdown/route-d23122546cc60c2d.js +1 -0
  155. package/app/.next/static/chunks/app/api/skills/[id]/route-d23122546cc60c2d.js +1 -0
  156. package/app/.next/static/chunks/app/api/tags/route-d23122546cc60c2d.js +1 -0
  157. package/app/.next/static/chunks/app/api/token-saver/vault-stats/route-d23122546cc60c2d.js +1 -0
  158. package/app/.next/static/chunks/app/api/translator/console-logs/route-d23122546cc60c2d.js +1 -0
  159. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-d23122546cc60c2d.js +1 -0
  160. package/app/.next/static/chunks/app/api/translator/load/route-d23122546cc60c2d.js +1 -0
  161. package/app/.next/static/chunks/app/api/translator/save/route-d23122546cc60c2d.js +1 -0
  162. package/app/.next/static/chunks/app/api/translator/send/route-d23122546cc60c2d.js +1 -0
  163. package/app/.next/static/chunks/app/api/translator/translate/route-d23122546cc60c2d.js +1 -0
  164. package/app/.next/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-d23122546cc60c2d.js +1 -0
  165. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-d23122546cc60c2d.js +1 -0
  166. package/app/.next/static/chunks/app/api/usage/chart/route-d23122546cc60c2d.js +1 -0
  167. package/app/.next/static/chunks/app/api/usage/history/route-d23122546cc60c2d.js +1 -0
  168. package/app/.next/static/chunks/app/api/usage/logs/route-d23122546cc60c2d.js +1 -0
  169. package/app/.next/static/chunks/app/api/usage/providers/route-d23122546cc60c2d.js +1 -0
  170. package/app/.next/static/chunks/app/api/usage/request-details/[id]/route-d23122546cc60c2d.js +1 -0
  171. package/app/.next/static/chunks/app/api/usage/request-details/route-d23122546cc60c2d.js +1 -0
  172. package/app/.next/static/chunks/app/api/usage/request-logs/route-d23122546cc60c2d.js +1 -0
  173. package/app/.next/static/chunks/app/api/usage/stats/route-d23122546cc60c2d.js +1 -0
  174. package/app/.next/static/chunks/app/api/usage/stream/route-d23122546cc60c2d.js +1 -0
  175. package/app/.next/static/chunks/app/api/v1/api/chat/route-d23122546cc60c2d.js +1 -0
  176. package/app/.next/static/chunks/app/api/v1/audio/speech/route-d23122546cc60c2d.js +1 -0
  177. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-d23122546cc60c2d.js +1 -0
  178. package/app/.next/static/chunks/app/api/v1/audio/voices/route-d23122546cc60c2d.js +1 -0
  179. package/app/.next/static/chunks/app/api/v1/chat/completions/route-d23122546cc60c2d.js +1 -0
  180. package/app/.next/static/chunks/app/api/v1/embeddings/route-d23122546cc60c2d.js +1 -0
  181. package/app/.next/static/chunks/app/api/v1/images/generations/route-d23122546cc60c2d.js +1 -0
  182. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-d23122546cc60c2d.js +1 -0
  183. package/app/.next/static/chunks/app/api/v1/messages/route-d23122546cc60c2d.js +1 -0
  184. package/app/.next/static/chunks/app/api/v1/models/[kind]/route-d23122546cc60c2d.js +1 -0
  185. package/app/.next/static/chunks/app/api/v1/models/info/route-d23122546cc60c2d.js +1 -0
  186. package/app/.next/static/chunks/app/api/v1/models/route-d23122546cc60c2d.js +1 -0
  187. package/app/.next/static/chunks/app/api/v1/responses/compact/route-d23122546cc60c2d.js +1 -0
  188. package/app/.next/static/chunks/app/api/v1/responses/route-d23122546cc60c2d.js +1 -0
  189. package/app/.next/static/chunks/app/api/v1/route-d23122546cc60c2d.js +1 -0
  190. package/app/.next/static/chunks/app/api/v1/search/route-d23122546cc60c2d.js +1 -0
  191. package/app/.next/static/chunks/app/api/v1/videos/[id]/route-d23122546cc60c2d.js +1 -0
  192. package/app/.next/static/chunks/app/api/v1/videos/edits/route-d23122546cc60c2d.js +1 -0
  193. package/app/.next/static/chunks/app/api/v1/videos/extensions/route-d23122546cc60c2d.js +1 -0
  194. package/app/.next/static/chunks/app/api/v1/videos/generations/route-d23122546cc60c2d.js +1 -0
  195. package/app/.next/static/chunks/app/api/v1/web/fetch/route-d23122546cc60c2d.js +1 -0
  196. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-d23122546cc60c2d.js +1 -0
  197. package/app/.next/static/chunks/app/api/v1beta/models/route-d23122546cc60c2d.js +1 -0
  198. package/app/.next/static/chunks/app/api/version/route-d23122546cc60c2d.js +1 -0
  199. package/app/.next/static/chunks/app/api/version/shutdown/route-d23122546cc60c2d.js +1 -0
  200. package/app/.next/static/chunks/app/api/version/update/route-d23122546cc60c2d.js +1 -0
  201. package/app/.next/static/chunks/app/landing/page-b2d84fd7a580e623.js +1 -0
  202. package/app/.next/static/chunks/app/login/page-d23122546cc60c2d.js +1 -0
  203. package/app/.next/static/chunks/app/manifest.webmanifest/route-d23122546cc60c2d.js +1 -0
  204. package/app/.next/static/chunks/app/page-d23122546cc60c2d.js +1 -0
  205. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-d23122546cc60c2d.js +1 -0
  206. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-d23122546cc60c2d.js +1 -0
  207. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-d23122546cc60c2d.js +1 -0
  208. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-d23122546cc60c2d.js +1 -0
  209. package/app/.next/static/css/ec805e65297c40c7.css +1 -0
  210. package/app/.next/static/media/catalog.fb7b1b70.json +1722 -0
  211. package/app/.next-cli-build/BUILD_ID +1 -1
  212. package/app/.next-cli-build/app-path-routes-manifest.json +22 -20
  213. package/app/.next-cli-build/build-manifest.json +2 -2
  214. package/app/.next-cli-build/prerender-manifest.json +3 -3
  215. package/app/.next-cli-build/routes-manifest.json +14 -0
  216. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page.js +1 -1
  217. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page_client-reference-manifest.js +1 -1
  219. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  220. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  222. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  223. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  225. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  226. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  228. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  229. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  231. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page.js +1 -1
  232. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page_client-reference-manifest.js +1 -1
  234. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  235. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  237. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +3 -3
  238. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  240. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +14 -14
  241. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  243. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  244. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  246. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  247. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  249. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js +1 -1
  250. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
  252. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  253. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  255. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  256. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  258. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  259. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  261. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  262. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  264. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  265. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  267. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  268. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  270. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  271. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  273. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  274. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  276. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  277. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  279. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page.js +1 -1
  280. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page_client-reference-manifest.js +1 -1
  282. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  283. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  285. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  286. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  288. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  289. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  291. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  292. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  294. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  295. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  297. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  298. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  299. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  300. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  301. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  302. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  303. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  305. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  306. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  307. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  308. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
  309. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  310. package/app/.next-cli-build/server/app/api/agent-library/catalog/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/agent-library/catalog/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/agent-library/doctor/route.js +1 -1
  313. package/app/.next-cli-build/server/app/api/agent-library/doctor/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/agent-library/export/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/agent-library/export/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/agent-library/mcp/route.js +1 -1
  317. package/app/.next-cli-build/server/app/api/agent-library/mcp/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/agent-library/route.js +1 -1
  319. package/app/.next-cli-build/server/app/api/agent-library/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/agent-library/skills/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/agent-library/skills/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/agent-library/sync/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/agent-library/sync/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/agent-library/updates/route.js +1 -1
  325. package/app/.next-cli-build/server/app/api/agent-library/updates/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/cli-tools/aider-settings/route.js +2 -2
  329. package/app/.next-cli-build/server/app/api/cli-tools/aider-settings/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  331. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  333. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/cli-tools/claude-full-catalog/route.js +1 -1
  337. package/app/.next-cli-build/server/app/api/cli-tools/claude-full-catalog/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/cli-tools/claude-picker-labels/route.js +1 -1
  339. package/app/.next-cli-build/server/app/api/cli-tools/claude-picker-labels/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  343. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  347. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  349. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  351. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  353. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  355. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  356. package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js +3 -3
  357. package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js +2 -2
  359. package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  361. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  362. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -3
  363. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  365. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  367. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  368. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  369. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/cli-tools/picker-labels/route.js +1 -1
  373. package/app/.next-cli-build/server/app/api/cli-tools/picker-labels/route.js.nft.json +1 -1
  374. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  375. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  376. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  377. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  379. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  380. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  381. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  385. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  386. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  387. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  389. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  391. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  392. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  393. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  395. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  397. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  398. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  399. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
  401. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  403. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  404. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  405. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  407. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  409. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  410. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  411. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/route.js +1 -1
  413. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/strategy/route.js +1 -1
  415. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/strategy/route.js.nft.json +1 -1
  416. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/route.js +1 -1
  417. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/route.js.nft.json +1 -1
  418. package/app/.next-cli-build/server/app/api/mgmt/v1/health/route.js +1 -1
  419. package/app/.next-cli-build/server/app/api/mgmt/v1/health/route.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/api/mgmt/v1/metrics/route.js +2 -2
  421. package/app/.next-cli-build/server/app/api/mgmt/v1/metrics/route.js.nft.json +1 -1
  422. package/app/.next-cli-build/server/app/api/mgmt/v1/providers/route.js +1 -1
  423. package/app/.next-cli-build/server/app/api/mgmt/v1/providers/route.js.nft.json +1 -1
  424. package/app/.next-cli-build/server/app/api/mgmt/v1/routing/route.js +1 -1
  425. package/app/.next-cli-build/server/app/api/mgmt/v1/routing/route.js.nft.json +1 -1
  426. package/app/.next-cli-build/server/app/api/mgmt/v1/usage/route.js +1 -1
  427. package/app/.next-cli-build/server/app/api/mgmt/v1/usage/route.js.nft.json +1 -1
  428. package/app/.next-cli-build/server/app/api/mgmt/v1/version/route.js +1 -1
  429. package/app/.next-cli-build/server/app/api/mgmt/v1/version/route.js.nft.json +1 -1
  430. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  431. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  432. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  433. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  434. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  435. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  436. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  437. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  438. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  439. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  440. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  441. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  442. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  443. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  444. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  445. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  446. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  447. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  448. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  449. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  450. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  451. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  452. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  453. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  454. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  455. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  456. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  457. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  458. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  459. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  460. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  461. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  462. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  463. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  464. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  465. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  466. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  467. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  468. package/app/.next-cli-build/server/app/api/pricing/defaults/route.js +1 -0
  469. package/app/.next-cli-build/server/app/api/pricing/defaults/route.js.nft.json +1 -0
  470. package/app/.next-cli-build/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -0
  471. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  472. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  473. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  474. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  475. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  476. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  477. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  478. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  479. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/batch/route.js +1 -1
  480. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/batch/route.js.nft.json +1 -1
  481. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/cache/route.js +1 -1
  482. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/cache/route.js.nft.json +1 -1
  483. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/prepare/route.js +1 -1
  484. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/prepare/route.js.nft.json +1 -1
  485. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/remove-unavailable/route.js +1 -1
  486. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/remove-unavailable/route.js.nft.json +1 -1
  487. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/route.js +1 -1
  488. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/route.js.nft.json +1 -1
  489. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/cancel/route.js +1 -1
  490. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/cancel/route.js.nft.json +1 -1
  491. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/start/route.js +1 -1
  492. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/start/route.js.nft.json +1 -1
  493. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/status/route.js +1 -1
  494. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/status/route.js.nft.json +1 -1
  495. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  496. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  497. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  498. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  499. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  500. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  501. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  502. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  503. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  504. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  505. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  506. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  507. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  508. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  509. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  510. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  511. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  512. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  513. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  514. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  515. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  516. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  517. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  518. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  519. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
  520. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  521. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  522. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  523. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  524. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  525. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
  526. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  527. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  528. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  529. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +1 -1
  530. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  531. package/app/.next-cli-build/server/app/api/routing/feedback/route.js +1 -1
  532. package/app/.next-cli-build/server/app/api/routing/feedback/route.js.nft.json +1 -1
  533. package/app/.next-cli-build/server/app/api/routing/insights/route.js +1 -1
  534. package/app/.next-cli-build/server/app/api/routing/insights/route.js.nft.json +1 -1
  535. package/app/.next-cli-build/server/app/api/routing/learn/route.js +1 -1
  536. package/app/.next-cli-build/server/app/api/routing/learn/route.js.nft.json +1 -1
  537. package/app/.next-cli-build/server/app/api/routing/stats/route.js +1 -1
  538. package/app/.next-cli-build/server/app/api/routing/stats/route.js.nft.json +1 -1
  539. package/app/.next-cli-build/server/app/api/routing/versions/promote/route.js +1 -1
  540. package/app/.next-cli-build/server/app/api/routing/versions/promote/route.js.nft.json +1 -1
  541. package/app/.next-cli-build/server/app/api/routing/versions/rollback/route.js +1 -1
  542. package/app/.next-cli-build/server/app/api/routing/versions/rollback/route.js.nft.json +1 -1
  543. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  544. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  545. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  546. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  547. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  548. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  549. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  550. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  551. package/app/.next-cli-build/server/app/api/skills/[id]/route.js +1 -1
  552. package/app/.next-cli-build/server/app/api/skills/[id]/route.js.nft.json +1 -1
  553. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  554. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  555. package/app/.next-cli-build/server/app/api/token-saver/vault-stats/route.js +1 -1
  556. package/app/.next-cli-build/server/app/api/token-saver/vault-stats/route.js.nft.json +1 -1
  557. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  558. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  559. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  560. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  561. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  562. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  563. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  564. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  565. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  566. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  567. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  568. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  569. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  570. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  571. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  572. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  573. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  574. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  575. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  576. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  577. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  578. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  579. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  580. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  581. package/app/.next-cli-build/server/app/api/usage/request-details/[id]/route.js +1 -0
  582. package/app/.next-cli-build/server/app/api/usage/request-details/[id]/route.js.nft.json +1 -0
  583. package/app/.next-cli-build/server/app/api/usage/request-details/[id]/route_client-reference-manifest.js +1 -0
  584. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  585. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  586. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  587. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  588. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  589. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  590. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -6
  591. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  592. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +2 -1
  593. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  594. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  595. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  596. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  597. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  598. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  599. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  600. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  601. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  602. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  603. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  604. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  605. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  606. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  607. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  608. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  609. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  610. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  611. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  612. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  613. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  614. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  615. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  616. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  617. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  618. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  619. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  620. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  621. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  622. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  623. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  624. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  625. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  626. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  627. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  628. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  629. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  630. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  631. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  632. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  633. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  634. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  635. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  636. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  637. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  638. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  639. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  640. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  641. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  642. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  643. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  644. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  645. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  646. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  647. package/app/.next-cli-build/server/app/callback.html +1 -1
  648. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  649. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  650. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  651. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +4 -4
  652. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  653. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  654. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  655. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  656. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  657. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  658. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  659. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +5 -5
  660. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  661. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  662. package/app/.next-cli-build/server/app/index.html +1 -1
  663. package/app/.next-cli-build/server/app/index.rsc +4 -4
  664. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  665. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  666. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  667. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  668. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  669. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  670. package/app/.next-cli-build/server/app/landing.html +1 -1
  671. package/app/.next-cli-build/server/app/landing.rsc +5 -5
  672. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
  673. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  674. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +5 -5
  675. package/app/.next-cli-build/server/app/login/page.js +1 -1
  676. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  677. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  678. package/app/.next-cli-build/server/app/login.html +1 -1
  679. package/app/.next-cli-build/server/app/login.rsc +4 -4
  680. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  681. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  682. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  683. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  684. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  685. package/app/.next-cli-build/server/app/page.js +1 -1
  686. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  687. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  688. package/app/.next-cli-build/server/app-paths-manifest.json +22 -20
  689. package/app/.next-cli-build/server/chunks/1158.js +1 -0
  690. package/app/.next-cli-build/server/chunks/1274.js +1 -0
  691. package/app/.next-cli-build/server/chunks/1294.js +3 -3
  692. package/app/.next-cli-build/server/chunks/1351.js +1 -0
  693. package/app/.next-cli-build/server/chunks/1792.js +2 -0
  694. package/app/.next-cli-build/server/chunks/1837.js +1 -0
  695. package/app/.next-cli-build/server/chunks/1937.js +1 -1
  696. package/app/.next-cli-build/server/chunks/1998.js +1 -1
  697. package/app/.next-cli-build/server/chunks/2142.js +121 -0
  698. package/app/.next-cli-build/server/chunks/2524.js +1 -1
  699. package/app/.next-cli-build/server/chunks/27.js +8 -0
  700. package/app/.next-cli-build/server/chunks/3423.js +1 -0
  701. package/app/.next-cli-build/server/chunks/3446.js +1 -1
  702. package/app/.next-cli-build/server/chunks/3593.js +2 -2
  703. package/app/.next-cli-build/server/chunks/369.js +10 -10
  704. package/app/.next-cli-build/server/chunks/3735.js +2 -2
  705. package/app/.next-cli-build/server/chunks/3787.js +1 -1
  706. package/app/.next-cli-build/server/chunks/403.js +1 -0
  707. package/app/.next-cli-build/server/chunks/4176.js +1 -1
  708. package/app/.next-cli-build/server/chunks/4330.js +7 -0
  709. package/app/.next-cli-build/server/chunks/4646.js +1 -1
  710. package/app/.next-cli-build/server/chunks/4675.js +246 -0
  711. package/app/.next-cli-build/server/chunks/4739.js +2 -2
  712. package/app/.next-cli-build/server/chunks/4780.js +2 -2
  713. package/app/.next-cli-build/server/chunks/4803.js +1 -1
  714. package/app/.next-cli-build/server/chunks/507.js +2 -2
  715. package/app/.next-cli-build/server/chunks/5115.js +1 -0
  716. package/app/.next-cli-build/server/chunks/5139.js +1 -0
  717. package/app/.next-cli-build/server/chunks/519.js +1 -0
  718. package/app/.next-cli-build/server/chunks/5195.js +1 -0
  719. package/app/.next-cli-build/server/chunks/5258.js +2 -2
  720. package/app/.next-cli-build/server/chunks/5565.js +73 -0
  721. package/app/.next-cli-build/server/chunks/5717.js +9 -14
  722. package/app/.next-cli-build/server/chunks/5774.js +1 -0
  723. package/app/.next-cli-build/server/chunks/5781.js +2 -2
  724. package/app/.next-cli-build/server/chunks/5888.js +1 -1
  725. package/app/.next-cli-build/server/chunks/5920.js +2 -2
  726. package/app/.next-cli-build/server/chunks/6194.js +1 -0
  727. package/app/.next-cli-build/server/chunks/6252.js +1 -1
  728. package/app/.next-cli-build/server/chunks/6305.js +2 -0
  729. package/app/.next-cli-build/server/chunks/6328.js +1 -1
  730. package/app/.next-cli-build/server/chunks/6406.js +3 -1
  731. package/app/.next-cli-build/server/chunks/646.js +15 -15
  732. package/app/.next-cli-build/server/chunks/6492.js +1 -1
  733. package/app/.next-cli-build/server/chunks/6757.js +38 -0
  734. package/app/.next-cli-build/server/chunks/698.js +2 -2
  735. package/app/.next-cli-build/server/chunks/7133.js +1 -0
  736. package/app/.next-cli-build/server/chunks/7454.js +1 -1
  737. package/app/.next-cli-build/server/chunks/7662.js +1 -1
  738. package/app/.next-cli-build/server/chunks/7757.js +1 -1
  739. package/app/.next-cli-build/server/chunks/7774.js +3 -3
  740. package/app/.next-cli-build/server/chunks/7880.js +2 -0
  741. package/app/.next-cli-build/server/chunks/7965.js +2 -2
  742. package/app/.next-cli-build/server/chunks/8027.js +63 -0
  743. package/app/.next-cli-build/server/chunks/8062.js +1 -1
  744. package/app/.next-cli-build/server/chunks/8400.js +13 -11
  745. package/app/.next-cli-build/server/chunks/8469.js +1 -1
  746. package/app/.next-cli-build/server/chunks/8520.js +2 -2
  747. package/app/.next-cli-build/server/chunks/869.js +1 -1
  748. package/app/.next-cli-build/server/chunks/8775.js +1 -1
  749. package/app/.next-cli-build/server/chunks/8789.js +1 -1
  750. package/app/.next-cli-build/server/chunks/8942.js +2 -2
  751. package/app/.next-cli-build/server/chunks/8976.js +1 -1
  752. package/app/.next-cli-build/server/chunks/8998.js +59 -49
  753. package/app/.next-cli-build/server/chunks/9059.js +1 -0
  754. package/app/.next-cli-build/server/chunks/9091.js +3 -3
  755. package/app/.next-cli-build/server/chunks/9261.js +29 -18
  756. package/app/.next-cli-build/server/chunks/9264.js +2 -2
  757. package/app/.next-cli-build/server/chunks/9421.js +2 -2
  758. package/app/.next-cli-build/server/chunks/static/media/catalog.fb7b1b70.json +1722 -0
  759. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  760. package/app/.next-cli-build/server/middleware.js +12 -17
  761. package/app/.next-cli-build/server/pages/404.html +1 -1
  762. package/app/.next-cli-build/server/pages/500.html +1 -1
  763. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  764. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  765. package/app/.next-cli-build/static/Gpu8irTBATTeQnftVm3kL/_buildManifest.js +1 -0
  766. package/app/.next-cli-build/static/chunks/1321-cdb7f44691303560.js +1 -0
  767. package/app/.next-cli-build/static/chunks/1330-a43190104575ffe5.js +7 -0
  768. package/app/.next-cli-build/static/chunks/3378-277dccfa153c2c15.js +73 -0
  769. package/app/.next-cli-build/static/chunks/4707-8ea6ba647d0a40c9.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/agent-library/page-fa24110e606e19b6.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-7b00fb83303d1d11.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-5743f3aa5bc106d4.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-3f393136e502e1c0.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-aaae06cada500532.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/routing/page-ef491ec5a2ccecfb.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-eefda4a8f32e649e.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-51f788f35bc5325f.js +16 -0
  778. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/loading-c80ac975cf0f4842.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-e6fc3a5c25ce1247.js +59 -0
  780. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-078eb5d8bfc3f4d1.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-7dfde081613f35f3.js +4 -0
  782. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/page-1d63cfd88010b65f.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-281c93713fd1e960.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/page-14c65f14d73bdfa7.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-88fc3c530d1ce735.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-0e0047609d5634c9.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-cb9292ca42b61d7d.js +10 -0
  788. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/page-604dae851964c441.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-e1c9f4ce8466e3ad.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/page-6ca234b58c5e9feb.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-40db6db68022a0cc.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/[id]/page-ea262b6192d5a92c.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-36d107b083ad3a43.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-14e5599c720c645b.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-687e09f904b04cea.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-195bdcbea10136e1.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-6dfa9d7deb27d461.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/_global-error/page-d23122546cc60c2d.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/agent-library/catalog/route-d23122546cc60c2d.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/agent-library/doctor/route-d23122546cc60c2d.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/agent-library/export/route-d23122546cc60c2d.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/agent-library/mcp/route-d23122546cc60c2d.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/agent-library/route-d23122546cc60c2d.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/agent-library/skills/route-d23122546cc60c2d.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/agent-library/sync/route-d23122546cc60c2d.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/agent-library/updates/route-d23122546cc60c2d.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-d23122546cc60c2d.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/cli-tools/aider-settings/route-d23122546cc60c2d.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-d23122546cc60c2d.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-d23122546cc60c2d.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-d23122546cc60c2d.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-full-catalog/route-d23122546cc60c2d.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-picker-labels/route-d23122546cc60c2d.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-d23122546cc60c2d.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-d23122546cc60c2d.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-d23122546cc60c2d.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-d23122546cc60c2d.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-d23122546cc60c2d.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-d23122546cc60c2d.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-d23122546cc60c2d.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-d23122546cc60c2d.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/cli-tools/gemini-cli-settings/route-d23122546cc60c2d.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-settings/route-d23122546cc60c2d.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-d23122546cc60c2d.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-d23122546cc60c2d.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-d23122546cc60c2d.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-d23122546cc60c2d.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-d23122546cc60c2d.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-d23122546cc60c2d.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/cli-tools/picker-labels/route-d23122546cc60c2d.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-d23122546cc60c2d.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/api/combos/route-d23122546cc60c2d.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-d23122546cc60c2d.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-d23122546cc60c2d.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-d23122546cc60c2d.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-d23122546cc60c2d.js +1 -0
  837. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-d23122546cc60c2d.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-d23122546cc60c2d.js +1 -0
  839. package/app/.next-cli-build/static/chunks/app/api/health/route-d23122546cc60c2d.js +1 -0
  840. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-d23122546cc60c2d.js +1 -0
  841. package/app/.next-cli-build/static/chunks/app/api/keys/route-d23122546cc60c2d.js +1 -0
  842. package/app/.next-cli-build/static/chunks/app/api/locale/route-d23122546cc60c2d.js +1 -0
  843. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-d23122546cc60c2d.js +1 -0
  844. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-d23122546cc60c2d.js +1 -0
  845. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-d23122546cc60c2d.js +1 -0
  846. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-d23122546cc60c2d.js +1 -0
  847. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-d23122546cc60c2d.js +1 -0
  848. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-d23122546cc60c2d.js +1 -0
  849. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-d23122546cc60c2d.js +1 -0
  850. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/route-d23122546cc60c2d.js +1 -0
  851. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/strategy/route-d23122546cc60c2d.js +1 -0
  852. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/route-d23122546cc60c2d.js +1 -0
  853. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/health/route-d23122546cc60c2d.js +1 -0
  854. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/metrics/route-d23122546cc60c2d.js +1 -0
  855. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/providers/route-d23122546cc60c2d.js +1 -0
  856. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/routing/route-d23122546cc60c2d.js +1 -0
  857. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/usage/route-d23122546cc60c2d.js +1 -0
  858. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/version/route-d23122546cc60c2d.js +1 -0
  859. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-d23122546cc60c2d.js +1 -0
  860. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-d23122546cc60c2d.js +1 -0
  861. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-d23122546cc60c2d.js +1 -0
  862. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-d23122546cc60c2d.js +1 -0
  863. package/app/.next-cli-build/static/chunks/app/api/models/route-d23122546cc60c2d.js +1 -0
  864. package/app/.next-cli-build/static/chunks/app/api/models/test/route-d23122546cc60c2d.js +1 -0
  865. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-d23122546cc60c2d.js +1 -0
  866. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-d23122546cc60c2d.js +1 -0
  867. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-d23122546cc60c2d.js +1 -0
  868. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-d23122546cc60c2d.js +1 -0
  869. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-d23122546cc60c2d.js +1 -0
  870. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-d23122546cc60c2d.js +1 -0
  871. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-d23122546cc60c2d.js +1 -0
  872. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-d23122546cc60c2d.js +1 -0
  873. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-d23122546cc60c2d.js +1 -0
  874. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-d23122546cc60c2d.js +1 -0
  875. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-d23122546cc60c2d.js +1 -0
  876. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-d23122546cc60c2d.js +1 -0
  877. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-d23122546cc60c2d.js +1 -0
  878. package/app/.next-cli-build/static/chunks/app/api/pricing/defaults/route-d23122546cc60c2d.js +1 -0
  879. package/app/.next-cli-build/static/chunks/app/api/pricing/route-d23122546cc60c2d.js +1 -0
  880. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-d23122546cc60c2d.js +1 -0
  881. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-d23122546cc60c2d.js +1 -0
  882. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-d23122546cc60c2d.js +1 -0
  883. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/batch/route-d23122546cc60c2d.js +1 -0
  884. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/cache/route-d23122546cc60c2d.js +1 -0
  885. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/prepare/route-d23122546cc60c2d.js +1 -0
  886. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/remove-unavailable/route-d23122546cc60c2d.js +1 -0
  887. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/route-d23122546cc60c2d.js +1 -0
  888. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/cancel/route-d23122546cc60c2d.js +1 -0
  889. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/start/route-d23122546cc60c2d.js +1 -0
  890. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/status/route-d23122546cc60c2d.js +1 -0
  891. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-d23122546cc60c2d.js +1 -0
  892. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-d23122546cc60c2d.js +1 -0
  893. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-d23122546cc60c2d.js +1 -0
  894. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-d23122546cc60c2d.js +1 -0
  895. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-d23122546cc60c2d.js +1 -0
  896. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-d23122546cc60c2d.js +1 -0
  897. package/app/.next-cli-build/static/chunks/app/api/providers/route-d23122546cc60c2d.js +1 -0
  898. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-d23122546cc60c2d.js +1 -0
  899. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-d23122546cc60c2d.js +1 -0
  900. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-d23122546cc60c2d.js +1 -0
  901. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-d23122546cc60c2d.js +1 -0
  902. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-d23122546cc60c2d.js +1 -0
  903. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-d23122546cc60c2d.js +1 -0
  904. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-d23122546cc60c2d.js +1 -0
  905. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-d23122546cc60c2d.js +1 -0
  906. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-d23122546cc60c2d.js +1 -0
  907. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-d23122546cc60c2d.js +1 -0
  908. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-d23122546cc60c2d.js +1 -0
  909. package/app/.next-cli-build/static/chunks/app/api/routing/feedback/route-d23122546cc60c2d.js +1 -0
  910. package/app/.next-cli-build/static/chunks/app/api/routing/insights/route-d23122546cc60c2d.js +1 -0
  911. package/app/.next-cli-build/static/chunks/app/api/routing/learn/route-d23122546cc60c2d.js +1 -0
  912. package/app/.next-cli-build/static/chunks/app/api/routing/stats/route-d23122546cc60c2d.js +1 -0
  913. package/app/.next-cli-build/static/chunks/app/api/routing/versions/promote/route-d23122546cc60c2d.js +1 -0
  914. package/app/.next-cli-build/static/chunks/app/api/routing/versions/rollback/route-d23122546cc60c2d.js +1 -0
  915. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-d23122546cc60c2d.js +1 -0
  916. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-d23122546cc60c2d.js +1 -0
  917. package/app/.next-cli-build/static/chunks/app/api/settings/route-d23122546cc60c2d.js +1 -0
  918. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-d23122546cc60c2d.js +1 -0
  919. package/app/.next-cli-build/static/chunks/app/api/skills/[id]/route-d23122546cc60c2d.js +1 -0
  920. package/app/.next-cli-build/static/chunks/app/api/tags/route-d23122546cc60c2d.js +1 -0
  921. package/app/.next-cli-build/static/chunks/app/api/token-saver/vault-stats/route-d23122546cc60c2d.js +1 -0
  922. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-d23122546cc60c2d.js +1 -0
  923. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-d23122546cc60c2d.js +1 -0
  924. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-d23122546cc60c2d.js +1 -0
  925. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-d23122546cc60c2d.js +1 -0
  926. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-d23122546cc60c2d.js +1 -0
  927. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-d23122546cc60c2d.js +1 -0
  928. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-d23122546cc60c2d.js +1 -0
  929. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-d23122546cc60c2d.js +1 -0
  930. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-d23122546cc60c2d.js +1 -0
  931. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-d23122546cc60c2d.js +1 -0
  932. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-d23122546cc60c2d.js +1 -0
  933. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-d23122546cc60c2d.js +1 -0
  934. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/[id]/route-d23122546cc60c2d.js +1 -0
  935. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-d23122546cc60c2d.js +1 -0
  936. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-d23122546cc60c2d.js +1 -0
  937. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-d23122546cc60c2d.js +1 -0
  938. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-d23122546cc60c2d.js +1 -0
  939. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-d23122546cc60c2d.js +1 -0
  940. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-d23122546cc60c2d.js +1 -0
  941. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-d23122546cc60c2d.js +1 -0
  942. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-d23122546cc60c2d.js +1 -0
  943. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-d23122546cc60c2d.js +1 -0
  944. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-d23122546cc60c2d.js +1 -0
  945. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-d23122546cc60c2d.js +1 -0
  946. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-d23122546cc60c2d.js +1 -0
  947. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-d23122546cc60c2d.js +1 -0
  948. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-d23122546cc60c2d.js +1 -0
  949. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-d23122546cc60c2d.js +1 -0
  950. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-d23122546cc60c2d.js +1 -0
  951. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-d23122546cc60c2d.js +1 -0
  952. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-d23122546cc60c2d.js +1 -0
  953. package/app/.next-cli-build/static/chunks/app/api/v1/route-d23122546cc60c2d.js +1 -0
  954. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-d23122546cc60c2d.js +1 -0
  955. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-d23122546cc60c2d.js +1 -0
  956. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-d23122546cc60c2d.js +1 -0
  957. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-d23122546cc60c2d.js +1 -0
  958. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-d23122546cc60c2d.js +1 -0
  959. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-d23122546cc60c2d.js +1 -0
  960. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-d23122546cc60c2d.js +1 -0
  961. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-d23122546cc60c2d.js +1 -0
  962. package/app/.next-cli-build/static/chunks/app/api/version/route-d23122546cc60c2d.js +1 -0
  963. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-d23122546cc60c2d.js +1 -0
  964. package/app/.next-cli-build/static/chunks/app/api/version/update/route-d23122546cc60c2d.js +1 -0
  965. package/app/.next-cli-build/static/chunks/app/landing/page-b2d84fd7a580e623.js +1 -0
  966. package/app/.next-cli-build/static/chunks/app/login/page-d23122546cc60c2d.js +1 -0
  967. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-d23122546cc60c2d.js +1 -0
  968. package/app/.next-cli-build/static/chunks/app/page-d23122546cc60c2d.js +1 -0
  969. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-d23122546cc60c2d.js +1 -0
  970. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-d23122546cc60c2d.js +1 -0
  971. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-d23122546cc60c2d.js +1 -0
  972. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-d23122546cc60c2d.js +1 -0
  973. package/app/.next-cli-build/static/css/ec805e65297c40c7.css +1 -0
  974. package/app/.next-cli-build/static/media/catalog.fb7b1b70.json +1722 -0
  975. package/app/open-sse/identity/tls/bin/darwin/arm64/switchboard-claude-tls +0 -0
  976. package/app/open-sse/identity/tls/bin/darwin/x64/switchboard-claude-tls +0 -0
  977. package/app/open-sse/identity/tls/bin/linux/arm64/switchboard-claude-tls +0 -0
  978. package/app/open-sse/identity/tls/bin/linux/x64/switchboard-claude-tls +0 -0
  979. package/app/open-sse/identity/tls/bin/win32/arm64/switchboard-claude-tls.exe +0 -0
  980. package/app/open-sse/identity/tls/bin/win32/x64/switchboard-claude-tls.exe +0 -0
  981. package/app/open-sse/providers/generated/catalog.json +143 -131
  982. package/app/package.json +1 -1
  983. package/app/public/i18n/literals/zh-CN.json +17 -1
  984. package/app/src/lib/db/adapters/betterSqliteAdapter.js +2 -2
  985. package/app/src/lib/db/adapters/sqljsAdapter.js +5 -4
  986. package/app/src/lib/updater/updater.js +7 -2
  987. package/app/src/mitm/server.js +34 -34
  988. package/cli.js +67 -24
  989. package/hooks/trayRuntime.js +72 -17
  990. package/package.json +1 -1
  991. package/src/cli/api/client.js +9 -3
  992. package/src/cli/cliOptions.js +1 -1
  993. package/src/cli/commands/xaiVideo.js +31 -8
  994. package/src/cli/interfaceMenu.js +12 -1
  995. package/src/cli/processManager.js +47 -1
  996. package/src/cli/serverStatus.js +32 -9
  997. package/src/cli/terminalUI.js +5 -2
  998. package/src/cli/tray/autostart.js +20 -4
  999. package/src/cli/tray/tray.js +4 -1
  1000. package/src/cli/tray/trayWin.js +23 -3
  1001. package/src/cli/utils/display.js +20 -0
  1002. package/app/.next/static/GP6N1FvEOE4uYUrdrCir5/_buildManifest.js +0 -1
  1003. package/app/.next/static/chunks/1321-f49cd2f61cbf7361.js +0 -1
  1004. package/app/.next/static/chunks/1330-56405eca78b12fee.js +0 -7
  1005. package/app/.next/static/chunks/3531-eb5d385c954b3765.js +0 -68
  1006. package/app/.next/static/chunks/4707-1ec0b2edbb07f455.js +0 -1
  1007. package/app/.next/static/chunks/app/(dashboard)/dashboard/agent-library/page-40f3ca16440f8e17.js +0 -1
  1008. package/app/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-0e1d54e59ac767a1.js +0 -1
  1009. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-af0d85c06970853b.js +0 -1
  1010. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-2cfc2352bc42d9b8.js +0 -1
  1011. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-62cd36ee99eaa630.js +0 -1
  1012. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/routing/page-0b02e9a2f1cc6e43.js +0 -1
  1013. package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-ded6ec41e583b3b3.js +0 -1
  1014. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-ca47b09e6ed6ae7b.js +0 -16
  1015. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-78d098f14f8cff05.js +0 -59
  1016. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-d1654fba27199492.js +0 -1
  1017. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-ff13a39fb7744f5e.js +0 -4
  1018. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/page-919f3eec8dfc9b6e.js +0 -1
  1019. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-db19da41661d630b.js +0 -1
  1020. package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/page-309b09a142a2995d.js +0 -1
  1021. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-86cd6523dcd61f1b.js +0 -1
  1022. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-ae6cf9ce7ac84eb7.js +0 -1
  1023. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-97e0f7067cab0724.js +0 -10
  1024. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-413b59dd764a1563.js +0 -1
  1025. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-31212a5a4a9825b0.js +0 -1
  1026. package/app/.next/static/chunks/app/(dashboard)/dashboard/pxpipe/page-1805f993834a1adb.js +0 -1
  1027. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-798a65a8c4d2708a.js +0 -1
  1028. package/app/.next/static/chunks/app/(dashboard)/dashboard/skills/[id]/page-aba614778bfe50ad.js +0 -1
  1029. package/app/.next/static/chunks/app/(dashboard)/dashboard/skills/page-645e7c5ec034fe8c.js +0 -1
  1030. package/app/.next/static/chunks/app/(dashboard)/dashboard/token-saver/page-1711a424a8dcad0e.js +0 -1
  1031. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-0c7b901caf8614b9.js +0 -1
  1032. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-b085086e6c5b9387.js +0 -1
  1033. package/app/.next/static/chunks/app/(dashboard)/layout-59baac68c7aedd25.js +0 -1
  1034. package/app/.next/static/chunks/app/_global-error/page-e5f03432dd0bcd61.js +0 -1
  1035. package/app/.next/static/chunks/app/api/agent-library/catalog/route-e5f03432dd0bcd61.js +0 -1
  1036. package/app/.next/static/chunks/app/api/agent-library/doctor/route-e5f03432dd0bcd61.js +0 -1
  1037. package/app/.next/static/chunks/app/api/agent-library/export/route-e5f03432dd0bcd61.js +0 -1
  1038. package/app/.next/static/chunks/app/api/agent-library/mcp/route-e5f03432dd0bcd61.js +0 -1
  1039. package/app/.next/static/chunks/app/api/agent-library/route-e5f03432dd0bcd61.js +0 -1
  1040. package/app/.next/static/chunks/app/api/agent-library/skills/route-e5f03432dd0bcd61.js +0 -1
  1041. package/app/.next/static/chunks/app/api/agent-library/sync/route-e5f03432dd0bcd61.js +0 -1
  1042. package/app/.next/static/chunks/app/api/agent-library/updates/route-e5f03432dd0bcd61.js +0 -1
  1043. package/app/.next/static/chunks/app/api/auth/status/route-e5f03432dd0bcd61.js +0 -1
  1044. package/app/.next/static/chunks/app/api/cli-tools/aider-settings/route-e5f03432dd0bcd61.js +0 -1
  1045. package/app/.next/static/chunks/app/api/cli-tools/all-statuses/route-e5f03432dd0bcd61.js +0 -1
  1046. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-e5f03432dd0bcd61.js +0 -1
  1047. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-e5f03432dd0bcd61.js +0 -1
  1048. package/app/.next/static/chunks/app/api/cli-tools/claude-full-catalog/route-e5f03432dd0bcd61.js +0 -1
  1049. package/app/.next/static/chunks/app/api/cli-tools/claude-picker-labels/route-e5f03432dd0bcd61.js +0 -1
  1050. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-e5f03432dd0bcd61.js +0 -1
  1051. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-e5f03432dd0bcd61.js +0 -1
  1052. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-e5f03432dd0bcd61.js +0 -1
  1053. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-e5f03432dd0bcd61.js +0 -1
  1054. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-e5f03432dd0bcd61.js +0 -1
  1055. package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-e5f03432dd0bcd61.js +0 -1
  1056. package/app/.next/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-e5f03432dd0bcd61.js +0 -1
  1057. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-e5f03432dd0bcd61.js +0 -1
  1058. package/app/.next/static/chunks/app/api/cli-tools/gemini-cli-settings/route-e5f03432dd0bcd61.js +0 -1
  1059. package/app/.next/static/chunks/app/api/cli-tools/grok-settings/route-e5f03432dd0bcd61.js +0 -1
  1060. package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-e5f03432dd0bcd61.js +0 -1
  1061. package/app/.next/static/chunks/app/api/cli-tools/jcode-settings/route-e5f03432dd0bcd61.js +0 -1
  1062. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-e5f03432dd0bcd61.js +0 -1
  1063. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-e5f03432dd0bcd61.js +0 -1
  1064. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-e5f03432dd0bcd61.js +0 -1
  1065. package/app/.next/static/chunks/app/api/cli-tools/pi-settings/route-e5f03432dd0bcd61.js +0 -1
  1066. package/app/.next/static/chunks/app/api/cli-tools/picker-labels/route-e5f03432dd0bcd61.js +0 -1
  1067. package/app/.next/static/chunks/app/api/combos/[id]/route-e5f03432dd0bcd61.js +0 -1
  1068. package/app/.next/static/chunks/app/api/combos/route-e5f03432dd0bcd61.js +0 -1
  1069. package/app/.next/static/chunks/app/api/headroom/extras/route-e5f03432dd0bcd61.js +0 -1
  1070. package/app/.next/static/chunks/app/api/headroom/proxy/[...path]/route-e5f03432dd0bcd61.js +0 -1
  1071. package/app/.next/static/chunks/app/api/headroom/restart/route-e5f03432dd0bcd61.js +0 -1
  1072. package/app/.next/static/chunks/app/api/headroom/start/route-e5f03432dd0bcd61.js +0 -1
  1073. package/app/.next/static/chunks/app/api/headroom/status/route-e5f03432dd0bcd61.js +0 -1
  1074. package/app/.next/static/chunks/app/api/headroom/stop/route-e5f03432dd0bcd61.js +0 -1
  1075. package/app/.next/static/chunks/app/api/health/route-e5f03432dd0bcd61.js +0 -1
  1076. package/app/.next/static/chunks/app/api/keys/[id]/route-e5f03432dd0bcd61.js +0 -1
  1077. package/app/.next/static/chunks/app/api/keys/route-e5f03432dd0bcd61.js +0 -1
  1078. package/app/.next/static/chunks/app/api/locale/route-e5f03432dd0bcd61.js +0 -1
  1079. package/app/.next/static/chunks/app/api/mcp/[plugin]/message/route-e5f03432dd0bcd61.js +0 -1
  1080. package/app/.next/static/chunks/app/api/mcp/[plugin]/sse/route-e5f03432dd0bcd61.js +0 -1
  1081. package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-e5f03432dd0bcd61.js +0 -1
  1082. package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-e5f03432dd0bcd61.js +0 -1
  1083. package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-e5f03432dd0bcd61.js +0 -1
  1084. package/app/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-e5f03432dd0bcd61.js +0 -1
  1085. package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-e5f03432dd0bcd61.js +0 -1
  1086. package/app/.next/static/chunks/app/api/mgmt/v1/combos/[id]/route-e5f03432dd0bcd61.js +0 -1
  1087. package/app/.next/static/chunks/app/api/mgmt/v1/combos/[id]/strategy/route-e5f03432dd0bcd61.js +0 -1
  1088. package/app/.next/static/chunks/app/api/mgmt/v1/combos/route-e5f03432dd0bcd61.js +0 -1
  1089. package/app/.next/static/chunks/app/api/mgmt/v1/health/route-e5f03432dd0bcd61.js +0 -1
  1090. package/app/.next/static/chunks/app/api/mgmt/v1/metrics/route-e5f03432dd0bcd61.js +0 -1
  1091. package/app/.next/static/chunks/app/api/mgmt/v1/providers/route-e5f03432dd0bcd61.js +0 -1
  1092. package/app/.next/static/chunks/app/api/mgmt/v1/routing/route-e5f03432dd0bcd61.js +0 -1
  1093. package/app/.next/static/chunks/app/api/mgmt/v1/usage/route-e5f03432dd0bcd61.js +0 -1
  1094. package/app/.next/static/chunks/app/api/mgmt/v1/version/route-e5f03432dd0bcd61.js +0 -1
  1095. package/app/.next/static/chunks/app/api/models/alias/route-e5f03432dd0bcd61.js +0 -1
  1096. package/app/.next/static/chunks/app/api/models/availability/route-e5f03432dd0bcd61.js +0 -1
  1097. package/app/.next/static/chunks/app/api/models/custom/route-e5f03432dd0bcd61.js +0 -1
  1098. package/app/.next/static/chunks/app/api/models/disabled/route-e5f03432dd0bcd61.js +0 -1
  1099. package/app/.next/static/chunks/app/api/models/route-e5f03432dd0bcd61.js +0 -1
  1100. package/app/.next/static/chunks/app/api/models/test/route-e5f03432dd0bcd61.js +0 -1
  1101. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-e5f03432dd0bcd61.js +0 -1
  1102. package/app/.next/static/chunks/app/api/oauth/codex/bulk-import/route-e5f03432dd0bcd61.js +0 -1
  1103. package/app/.next/static/chunks/app/api/oauth/codex/import-token/route-e5f03432dd0bcd61.js +0 -1
  1104. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-e5f03432dd0bcd61.js +0 -1
  1105. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-e5f03432dd0bcd61.js +0 -1
  1106. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-e5f03432dd0bcd61.js +0 -1
  1107. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-e5f03432dd0bcd61.js +0 -1
  1108. package/app/.next/static/chunks/app/api/oauth/kiro/api-key/route-e5f03432dd0bcd61.js +0 -1
  1109. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-e5f03432dd0bcd61.js +0 -1
  1110. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-e5f03432dd0bcd61.js +0 -1
  1111. package/app/.next/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-e5f03432dd0bcd61.js +0 -1
  1112. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-e5f03432dd0bcd61.js +0 -1
  1113. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-e5f03432dd0bcd61.js +0 -1
  1114. package/app/.next/static/chunks/app/api/pricing/route-e5f03432dd0bcd61.js +0 -1
  1115. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-e5f03432dd0bcd61.js +0 -1
  1116. package/app/.next/static/chunks/app/api/provider-nodes/route-e5f03432dd0bcd61.js +0 -1
  1117. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-e5f03432dd0bcd61.js +0 -1
  1118. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/batch/route-e5f03432dd0bcd61.js +0 -1
  1119. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/cache/route-e5f03432dd0bcd61.js +0 -1
  1120. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/prepare/route-e5f03432dd0bcd61.js +0 -1
  1121. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/remove-unavailable/route-e5f03432dd0bcd61.js +0 -1
  1122. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/route-e5f03432dd0bcd61.js +0 -1
  1123. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/verify/cancel/route-e5f03432dd0bcd61.js +0 -1
  1124. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/verify/start/route-e5f03432dd0bcd61.js +0 -1
  1125. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/verify/status/route-e5f03432dd0bcd61.js +0 -1
  1126. package/app/.next/static/chunks/app/api/providers/[id]/models/route-e5f03432dd0bcd61.js +0 -1
  1127. package/app/.next/static/chunks/app/api/providers/[id]/route-e5f03432dd0bcd61.js +0 -1
  1128. package/app/.next/static/chunks/app/api/providers/[id]/test/route-e5f03432dd0bcd61.js +0 -1
  1129. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-e5f03432dd0bcd61.js +0 -1
  1130. package/app/.next/static/chunks/app/api/providers/client/route-e5f03432dd0bcd61.js +0 -1
  1131. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-e5f03432dd0bcd61.js +0 -1
  1132. package/app/.next/static/chunks/app/api/providers/route-e5f03432dd0bcd61.js +0 -1
  1133. package/app/.next/static/chunks/app/api/providers/suggested-models/route-e5f03432dd0bcd61.js +0 -1
  1134. package/app/.next/static/chunks/app/api/providers/test-batch/route-e5f03432dd0bcd61.js +0 -1
  1135. package/app/.next/static/chunks/app/api/providers/validate/route-e5f03432dd0bcd61.js +0 -1
  1136. package/app/.next/static/chunks/app/api/pxpipe/health/route-e5f03432dd0bcd61.js +0 -1
  1137. package/app/.next/static/chunks/app/api/pxpipe/install/route-e5f03432dd0bcd61.js +0 -1
  1138. package/app/.next/static/chunks/app/api/pxpipe/logs/route-e5f03432dd0bcd61.js +0 -1
  1139. package/app/.next/static/chunks/app/api/pxpipe/restart/route-e5f03432dd0bcd61.js +0 -1
  1140. package/app/.next/static/chunks/app/api/pxpipe/start/route-e5f03432dd0bcd61.js +0 -1
  1141. package/app/.next/static/chunks/app/api/pxpipe/stats/route-e5f03432dd0bcd61.js +0 -1
  1142. package/app/.next/static/chunks/app/api/pxpipe/status/route-e5f03432dd0bcd61.js +0 -1
  1143. package/app/.next/static/chunks/app/api/pxpipe/stop/route-e5f03432dd0bcd61.js +0 -1
  1144. package/app/.next/static/chunks/app/api/routing/feedback/route-e5f03432dd0bcd61.js +0 -1
  1145. package/app/.next/static/chunks/app/api/routing/insights/route-e5f03432dd0bcd61.js +0 -1
  1146. package/app/.next/static/chunks/app/api/routing/learn/route-e5f03432dd0bcd61.js +0 -1
  1147. package/app/.next/static/chunks/app/api/routing/stats/route-e5f03432dd0bcd61.js +0 -1
  1148. package/app/.next/static/chunks/app/api/routing/versions/promote/route-e5f03432dd0bcd61.js +0 -1
  1149. package/app/.next/static/chunks/app/api/routing/versions/rollback/route-e5f03432dd0bcd61.js +0 -1
  1150. package/app/.next/static/chunks/app/api/settings/database/route-e5f03432dd0bcd61.js +0 -1
  1151. package/app/.next/static/chunks/app/api/settings/proxy-test/route-e5f03432dd0bcd61.js +0 -1
  1152. package/app/.next/static/chunks/app/api/settings/route-e5f03432dd0bcd61.js +0 -1
  1153. package/app/.next/static/chunks/app/api/shutdown/route-e5f03432dd0bcd61.js +0 -1
  1154. package/app/.next/static/chunks/app/api/skills/[id]/route-e5f03432dd0bcd61.js +0 -1
  1155. package/app/.next/static/chunks/app/api/tags/route-e5f03432dd0bcd61.js +0 -1
  1156. package/app/.next/static/chunks/app/api/token-saver/vault-stats/route-e5f03432dd0bcd61.js +0 -1
  1157. package/app/.next/static/chunks/app/api/translator/console-logs/route-e5f03432dd0bcd61.js +0 -1
  1158. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-e5f03432dd0bcd61.js +0 -1
  1159. package/app/.next/static/chunks/app/api/translator/load/route-e5f03432dd0bcd61.js +0 -1
  1160. package/app/.next/static/chunks/app/api/translator/save/route-e5f03432dd0bcd61.js +0 -1
  1161. package/app/.next/static/chunks/app/api/translator/send/route-e5f03432dd0bcd61.js +0 -1
  1162. package/app/.next/static/chunks/app/api/translator/translate/route-e5f03432dd0bcd61.js +0 -1
  1163. package/app/.next/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-e5f03432dd0bcd61.js +0 -1
  1164. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-e5f03432dd0bcd61.js +0 -1
  1165. package/app/.next/static/chunks/app/api/usage/chart/route-e5f03432dd0bcd61.js +0 -1
  1166. package/app/.next/static/chunks/app/api/usage/history/route-e5f03432dd0bcd61.js +0 -1
  1167. package/app/.next/static/chunks/app/api/usage/logs/route-e5f03432dd0bcd61.js +0 -1
  1168. package/app/.next/static/chunks/app/api/usage/providers/route-e5f03432dd0bcd61.js +0 -1
  1169. package/app/.next/static/chunks/app/api/usage/request-details/route-e5f03432dd0bcd61.js +0 -1
  1170. package/app/.next/static/chunks/app/api/usage/request-logs/route-e5f03432dd0bcd61.js +0 -1
  1171. package/app/.next/static/chunks/app/api/usage/stats/route-e5f03432dd0bcd61.js +0 -1
  1172. package/app/.next/static/chunks/app/api/usage/stream/route-e5f03432dd0bcd61.js +0 -1
  1173. package/app/.next/static/chunks/app/api/v1/api/chat/route-e5f03432dd0bcd61.js +0 -1
  1174. package/app/.next/static/chunks/app/api/v1/audio/speech/route-e5f03432dd0bcd61.js +0 -1
  1175. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-e5f03432dd0bcd61.js +0 -1
  1176. package/app/.next/static/chunks/app/api/v1/audio/voices/route-e5f03432dd0bcd61.js +0 -1
  1177. package/app/.next/static/chunks/app/api/v1/chat/completions/route-e5f03432dd0bcd61.js +0 -1
  1178. package/app/.next/static/chunks/app/api/v1/embeddings/route-e5f03432dd0bcd61.js +0 -1
  1179. package/app/.next/static/chunks/app/api/v1/images/generations/route-e5f03432dd0bcd61.js +0 -1
  1180. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-e5f03432dd0bcd61.js +0 -1
  1181. package/app/.next/static/chunks/app/api/v1/messages/route-e5f03432dd0bcd61.js +0 -1
  1182. package/app/.next/static/chunks/app/api/v1/models/[kind]/route-e5f03432dd0bcd61.js +0 -1
  1183. package/app/.next/static/chunks/app/api/v1/models/info/route-e5f03432dd0bcd61.js +0 -1
  1184. package/app/.next/static/chunks/app/api/v1/models/route-e5f03432dd0bcd61.js +0 -1
  1185. package/app/.next/static/chunks/app/api/v1/responses/compact/route-e5f03432dd0bcd61.js +0 -1
  1186. package/app/.next/static/chunks/app/api/v1/responses/route-e5f03432dd0bcd61.js +0 -1
  1187. package/app/.next/static/chunks/app/api/v1/route-e5f03432dd0bcd61.js +0 -1
  1188. package/app/.next/static/chunks/app/api/v1/search/route-e5f03432dd0bcd61.js +0 -1
  1189. package/app/.next/static/chunks/app/api/v1/videos/[id]/route-e5f03432dd0bcd61.js +0 -1
  1190. package/app/.next/static/chunks/app/api/v1/videos/edits/route-e5f03432dd0bcd61.js +0 -1
  1191. package/app/.next/static/chunks/app/api/v1/videos/extensions/route-e5f03432dd0bcd61.js +0 -1
  1192. package/app/.next/static/chunks/app/api/v1/videos/generations/route-e5f03432dd0bcd61.js +0 -1
  1193. package/app/.next/static/chunks/app/api/v1/web/fetch/route-e5f03432dd0bcd61.js +0 -1
  1194. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-e5f03432dd0bcd61.js +0 -1
  1195. package/app/.next/static/chunks/app/api/v1beta/models/route-e5f03432dd0bcd61.js +0 -1
  1196. package/app/.next/static/chunks/app/api/version/route-e5f03432dd0bcd61.js +0 -1
  1197. package/app/.next/static/chunks/app/api/version/shutdown/route-e5f03432dd0bcd61.js +0 -1
  1198. package/app/.next/static/chunks/app/api/version/update/route-e5f03432dd0bcd61.js +0 -1
  1199. package/app/.next/static/chunks/app/landing/page-9e06d57d9b215fd7.js +0 -1
  1200. package/app/.next/static/chunks/app/login/page-e5f03432dd0bcd61.js +0 -1
  1201. package/app/.next/static/chunks/app/manifest.webmanifest/route-e5f03432dd0bcd61.js +0 -1
  1202. package/app/.next/static/chunks/app/page-e5f03432dd0bcd61.js +0 -1
  1203. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-e5f03432dd0bcd61.js +0 -1
  1204. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-e5f03432dd0bcd61.js +0 -1
  1205. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-e5f03432dd0bcd61.js +0 -1
  1206. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-e5f03432dd0bcd61.js +0 -1
  1207. package/app/.next/static/css/196a6347b9104610.css +0 -1
  1208. package/app/.next/static/media/catalog.e7ada387.json +0 -1710
  1209. package/app/.next-cli-build/server/chunks/1350.js +0 -1
  1210. package/app/.next-cli-build/server/chunks/159.js +0 -1
  1211. package/app/.next-cli-build/server/chunks/1656.js +0 -2
  1212. package/app/.next-cli-build/server/chunks/194.js +0 -1
  1213. package/app/.next-cli-build/server/chunks/3026.js +0 -1
  1214. package/app/.next-cli-build/server/chunks/3072.js +0 -2
  1215. package/app/.next-cli-build/server/chunks/3986.js +0 -121
  1216. package/app/.next-cli-build/server/chunks/5573.js +0 -1
  1217. package/app/.next-cli-build/server/chunks/5616.js +0 -1
  1218. package/app/.next-cli-build/server/chunks/5913.js +0 -1
  1219. package/app/.next-cli-build/server/chunks/6052.js +0 -2
  1220. package/app/.next-cli-build/server/chunks/6182.js +0 -63
  1221. package/app/.next-cli-build/server/chunks/6274.js +0 -1
  1222. package/app/.next-cli-build/server/chunks/6347.js +0 -1
  1223. package/app/.next-cli-build/server/chunks/6395.js +0 -68
  1224. package/app/.next-cli-build/server/chunks/6985.js +0 -1
  1225. package/app/.next-cli-build/server/chunks/849.js +0 -1
  1226. package/app/.next-cli-build/server/chunks/8658.js +0 -1
  1227. package/app/.next-cli-build/server/chunks/8834.js +0 -7
  1228. package/app/.next-cli-build/server/chunks/940.js +0 -246
  1229. package/app/.next-cli-build/server/chunks/9508.js +0 -45
  1230. package/app/.next-cli-build/server/chunks/9617.js +0 -1
  1231. package/app/.next-cli-build/server/chunks/static/media/catalog.e7ada387.json +0 -1710
  1232. package/app/.next-cli-build/static/GP6N1FvEOE4uYUrdrCir5/_buildManifest.js +0 -1
  1233. package/app/.next-cli-build/static/chunks/1321-f49cd2f61cbf7361.js +0 -1
  1234. package/app/.next-cli-build/static/chunks/1330-56405eca78b12fee.js +0 -7
  1235. package/app/.next-cli-build/static/chunks/3531-eb5d385c954b3765.js +0 -68
  1236. package/app/.next-cli-build/static/chunks/4707-1ec0b2edbb07f455.js +0 -1
  1237. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/agent-library/page-40f3ca16440f8e17.js +0 -1
  1238. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-0e1d54e59ac767a1.js +0 -1
  1239. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-af0d85c06970853b.js +0 -1
  1240. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-2cfc2352bc42d9b8.js +0 -1
  1241. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-62cd36ee99eaa630.js +0 -1
  1242. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/routing/page-0b02e9a2f1cc6e43.js +0 -1
  1243. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-ded6ec41e583b3b3.js +0 -1
  1244. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-ca47b09e6ed6ae7b.js +0 -16
  1245. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-78d098f14f8cff05.js +0 -59
  1246. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-d1654fba27199492.js +0 -1
  1247. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-ff13a39fb7744f5e.js +0 -4
  1248. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/page-919f3eec8dfc9b6e.js +0 -1
  1249. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-db19da41661d630b.js +0 -1
  1250. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/page-309b09a142a2995d.js +0 -1
  1251. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-86cd6523dcd61f1b.js +0 -1
  1252. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-ae6cf9ce7ac84eb7.js +0 -1
  1253. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-97e0f7067cab0724.js +0 -10
  1254. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/page-413b59dd764a1563.js +0 -1
  1255. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-31212a5a4a9825b0.js +0 -1
  1256. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/page-1805f993834a1adb.js +0 -1
  1257. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-798a65a8c4d2708a.js +0 -1
  1258. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/[id]/page-aba614778bfe50ad.js +0 -1
  1259. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-645e7c5ec034fe8c.js +0 -1
  1260. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-1711a424a8dcad0e.js +0 -1
  1261. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-0c7b901caf8614b9.js +0 -1
  1262. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-b085086e6c5b9387.js +0 -1
  1263. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-59baac68c7aedd25.js +0 -1
  1264. package/app/.next-cli-build/static/chunks/app/_global-error/page-e5f03432dd0bcd61.js +0 -1
  1265. package/app/.next-cli-build/static/chunks/app/api/agent-library/catalog/route-e5f03432dd0bcd61.js +0 -1
  1266. package/app/.next-cli-build/static/chunks/app/api/agent-library/doctor/route-e5f03432dd0bcd61.js +0 -1
  1267. package/app/.next-cli-build/static/chunks/app/api/agent-library/export/route-e5f03432dd0bcd61.js +0 -1
  1268. package/app/.next-cli-build/static/chunks/app/api/agent-library/mcp/route-e5f03432dd0bcd61.js +0 -1
  1269. package/app/.next-cli-build/static/chunks/app/api/agent-library/route-e5f03432dd0bcd61.js +0 -1
  1270. package/app/.next-cli-build/static/chunks/app/api/agent-library/skills/route-e5f03432dd0bcd61.js +0 -1
  1271. package/app/.next-cli-build/static/chunks/app/api/agent-library/sync/route-e5f03432dd0bcd61.js +0 -1
  1272. package/app/.next-cli-build/static/chunks/app/api/agent-library/updates/route-e5f03432dd0bcd61.js +0 -1
  1273. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-e5f03432dd0bcd61.js +0 -1
  1274. package/app/.next-cli-build/static/chunks/app/api/cli-tools/aider-settings/route-e5f03432dd0bcd61.js +0 -1
  1275. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-e5f03432dd0bcd61.js +0 -1
  1276. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-e5f03432dd0bcd61.js +0 -1
  1277. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-e5f03432dd0bcd61.js +0 -1
  1278. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-full-catalog/route-e5f03432dd0bcd61.js +0 -1
  1279. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-picker-labels/route-e5f03432dd0bcd61.js +0 -1
  1280. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-e5f03432dd0bcd61.js +0 -1
  1281. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-e5f03432dd0bcd61.js +0 -1
  1282. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-e5f03432dd0bcd61.js +0 -1
  1283. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-e5f03432dd0bcd61.js +0 -1
  1284. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-e5f03432dd0bcd61.js +0 -1
  1285. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-e5f03432dd0bcd61.js +0 -1
  1286. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-e5f03432dd0bcd61.js +0 -1
  1287. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-e5f03432dd0bcd61.js +0 -1
  1288. package/app/.next-cli-build/static/chunks/app/api/cli-tools/gemini-cli-settings/route-e5f03432dd0bcd61.js +0 -1
  1289. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-settings/route-e5f03432dd0bcd61.js +0 -1
  1290. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-e5f03432dd0bcd61.js +0 -1
  1291. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-e5f03432dd0bcd61.js +0 -1
  1292. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-e5f03432dd0bcd61.js +0 -1
  1293. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-e5f03432dd0bcd61.js +0 -1
  1294. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-e5f03432dd0bcd61.js +0 -1
  1295. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-e5f03432dd0bcd61.js +0 -1
  1296. package/app/.next-cli-build/static/chunks/app/api/cli-tools/picker-labels/route-e5f03432dd0bcd61.js +0 -1
  1297. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-e5f03432dd0bcd61.js +0 -1
  1298. package/app/.next-cli-build/static/chunks/app/api/combos/route-e5f03432dd0bcd61.js +0 -1
  1299. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-e5f03432dd0bcd61.js +0 -1
  1300. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-e5f03432dd0bcd61.js +0 -1
  1301. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-e5f03432dd0bcd61.js +0 -1
  1302. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-e5f03432dd0bcd61.js +0 -1
  1303. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-e5f03432dd0bcd61.js +0 -1
  1304. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-e5f03432dd0bcd61.js +0 -1
  1305. package/app/.next-cli-build/static/chunks/app/api/health/route-e5f03432dd0bcd61.js +0 -1
  1306. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-e5f03432dd0bcd61.js +0 -1
  1307. package/app/.next-cli-build/static/chunks/app/api/keys/route-e5f03432dd0bcd61.js +0 -1
  1308. package/app/.next-cli-build/static/chunks/app/api/locale/route-e5f03432dd0bcd61.js +0 -1
  1309. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-e5f03432dd0bcd61.js +0 -1
  1310. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-e5f03432dd0bcd61.js +0 -1
  1311. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-e5f03432dd0bcd61.js +0 -1
  1312. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-e5f03432dd0bcd61.js +0 -1
  1313. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-e5f03432dd0bcd61.js +0 -1
  1314. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-e5f03432dd0bcd61.js +0 -1
  1315. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-e5f03432dd0bcd61.js +0 -1
  1316. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/route-e5f03432dd0bcd61.js +0 -1
  1317. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/strategy/route-e5f03432dd0bcd61.js +0 -1
  1318. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/route-e5f03432dd0bcd61.js +0 -1
  1319. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/health/route-e5f03432dd0bcd61.js +0 -1
  1320. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/metrics/route-e5f03432dd0bcd61.js +0 -1
  1321. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/providers/route-e5f03432dd0bcd61.js +0 -1
  1322. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/routing/route-e5f03432dd0bcd61.js +0 -1
  1323. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/usage/route-e5f03432dd0bcd61.js +0 -1
  1324. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/version/route-e5f03432dd0bcd61.js +0 -1
  1325. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-e5f03432dd0bcd61.js +0 -1
  1326. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-e5f03432dd0bcd61.js +0 -1
  1327. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-e5f03432dd0bcd61.js +0 -1
  1328. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-e5f03432dd0bcd61.js +0 -1
  1329. package/app/.next-cli-build/static/chunks/app/api/models/route-e5f03432dd0bcd61.js +0 -1
  1330. package/app/.next-cli-build/static/chunks/app/api/models/test/route-e5f03432dd0bcd61.js +0 -1
  1331. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-e5f03432dd0bcd61.js +0 -1
  1332. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-e5f03432dd0bcd61.js +0 -1
  1333. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-e5f03432dd0bcd61.js +0 -1
  1334. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-e5f03432dd0bcd61.js +0 -1
  1335. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-e5f03432dd0bcd61.js +0 -1
  1336. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-e5f03432dd0bcd61.js +0 -1
  1337. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-e5f03432dd0bcd61.js +0 -1
  1338. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-e5f03432dd0bcd61.js +0 -1
  1339. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-e5f03432dd0bcd61.js +0 -1
  1340. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-e5f03432dd0bcd61.js +0 -1
  1341. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-e5f03432dd0bcd61.js +0 -1
  1342. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-e5f03432dd0bcd61.js +0 -1
  1343. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-e5f03432dd0bcd61.js +0 -1
  1344. package/app/.next-cli-build/static/chunks/app/api/pricing/route-e5f03432dd0bcd61.js +0 -1
  1345. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-e5f03432dd0bcd61.js +0 -1
  1346. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-e5f03432dd0bcd61.js +0 -1
  1347. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-e5f03432dd0bcd61.js +0 -1
  1348. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/batch/route-e5f03432dd0bcd61.js +0 -1
  1349. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/cache/route-e5f03432dd0bcd61.js +0 -1
  1350. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/prepare/route-e5f03432dd0bcd61.js +0 -1
  1351. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/remove-unavailable/route-e5f03432dd0bcd61.js +0 -1
  1352. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/route-e5f03432dd0bcd61.js +0 -1
  1353. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/cancel/route-e5f03432dd0bcd61.js +0 -1
  1354. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/start/route-e5f03432dd0bcd61.js +0 -1
  1355. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/status/route-e5f03432dd0bcd61.js +0 -1
  1356. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-e5f03432dd0bcd61.js +0 -1
  1357. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-e5f03432dd0bcd61.js +0 -1
  1358. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-e5f03432dd0bcd61.js +0 -1
  1359. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-e5f03432dd0bcd61.js +0 -1
  1360. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-e5f03432dd0bcd61.js +0 -1
  1361. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-e5f03432dd0bcd61.js +0 -1
  1362. package/app/.next-cli-build/static/chunks/app/api/providers/route-e5f03432dd0bcd61.js +0 -1
  1363. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-e5f03432dd0bcd61.js +0 -1
  1364. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-e5f03432dd0bcd61.js +0 -1
  1365. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-e5f03432dd0bcd61.js +0 -1
  1366. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-e5f03432dd0bcd61.js +0 -1
  1367. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-e5f03432dd0bcd61.js +0 -1
  1368. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-e5f03432dd0bcd61.js +0 -1
  1369. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-e5f03432dd0bcd61.js +0 -1
  1370. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-e5f03432dd0bcd61.js +0 -1
  1371. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-e5f03432dd0bcd61.js +0 -1
  1372. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-e5f03432dd0bcd61.js +0 -1
  1373. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-e5f03432dd0bcd61.js +0 -1
  1374. package/app/.next-cli-build/static/chunks/app/api/routing/feedback/route-e5f03432dd0bcd61.js +0 -1
  1375. package/app/.next-cli-build/static/chunks/app/api/routing/insights/route-e5f03432dd0bcd61.js +0 -1
  1376. package/app/.next-cli-build/static/chunks/app/api/routing/learn/route-e5f03432dd0bcd61.js +0 -1
  1377. package/app/.next-cli-build/static/chunks/app/api/routing/stats/route-e5f03432dd0bcd61.js +0 -1
  1378. package/app/.next-cli-build/static/chunks/app/api/routing/versions/promote/route-e5f03432dd0bcd61.js +0 -1
  1379. package/app/.next-cli-build/static/chunks/app/api/routing/versions/rollback/route-e5f03432dd0bcd61.js +0 -1
  1380. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-e5f03432dd0bcd61.js +0 -1
  1381. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-e5f03432dd0bcd61.js +0 -1
  1382. package/app/.next-cli-build/static/chunks/app/api/settings/route-e5f03432dd0bcd61.js +0 -1
  1383. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-e5f03432dd0bcd61.js +0 -1
  1384. package/app/.next-cli-build/static/chunks/app/api/skills/[id]/route-e5f03432dd0bcd61.js +0 -1
  1385. package/app/.next-cli-build/static/chunks/app/api/tags/route-e5f03432dd0bcd61.js +0 -1
  1386. package/app/.next-cli-build/static/chunks/app/api/token-saver/vault-stats/route-e5f03432dd0bcd61.js +0 -1
  1387. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-e5f03432dd0bcd61.js +0 -1
  1388. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-e5f03432dd0bcd61.js +0 -1
  1389. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-e5f03432dd0bcd61.js +0 -1
  1390. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-e5f03432dd0bcd61.js +0 -1
  1391. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-e5f03432dd0bcd61.js +0 -1
  1392. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-e5f03432dd0bcd61.js +0 -1
  1393. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-e5f03432dd0bcd61.js +0 -1
  1394. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-e5f03432dd0bcd61.js +0 -1
  1395. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-e5f03432dd0bcd61.js +0 -1
  1396. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-e5f03432dd0bcd61.js +0 -1
  1397. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-e5f03432dd0bcd61.js +0 -1
  1398. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-e5f03432dd0bcd61.js +0 -1
  1399. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-e5f03432dd0bcd61.js +0 -1
  1400. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-e5f03432dd0bcd61.js +0 -1
  1401. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-e5f03432dd0bcd61.js +0 -1
  1402. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-e5f03432dd0bcd61.js +0 -1
  1403. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-e5f03432dd0bcd61.js +0 -1
  1404. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-e5f03432dd0bcd61.js +0 -1
  1405. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-e5f03432dd0bcd61.js +0 -1
  1406. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-e5f03432dd0bcd61.js +0 -1
  1407. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-e5f03432dd0bcd61.js +0 -1
  1408. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-e5f03432dd0bcd61.js +0 -1
  1409. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-e5f03432dd0bcd61.js +0 -1
  1410. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-e5f03432dd0bcd61.js +0 -1
  1411. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-e5f03432dd0bcd61.js +0 -1
  1412. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-e5f03432dd0bcd61.js +0 -1
  1413. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-e5f03432dd0bcd61.js +0 -1
  1414. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-e5f03432dd0bcd61.js +0 -1
  1415. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-e5f03432dd0bcd61.js +0 -1
  1416. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-e5f03432dd0bcd61.js +0 -1
  1417. package/app/.next-cli-build/static/chunks/app/api/v1/route-e5f03432dd0bcd61.js +0 -1
  1418. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-e5f03432dd0bcd61.js +0 -1
  1419. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-e5f03432dd0bcd61.js +0 -1
  1420. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-e5f03432dd0bcd61.js +0 -1
  1421. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-e5f03432dd0bcd61.js +0 -1
  1422. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-e5f03432dd0bcd61.js +0 -1
  1423. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-e5f03432dd0bcd61.js +0 -1
  1424. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-e5f03432dd0bcd61.js +0 -1
  1425. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-e5f03432dd0bcd61.js +0 -1
  1426. package/app/.next-cli-build/static/chunks/app/api/version/route-e5f03432dd0bcd61.js +0 -1
  1427. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-e5f03432dd0bcd61.js +0 -1
  1428. package/app/.next-cli-build/static/chunks/app/api/version/update/route-e5f03432dd0bcd61.js +0 -1
  1429. package/app/.next-cli-build/static/chunks/app/landing/page-9e06d57d9b215fd7.js +0 -1
  1430. package/app/.next-cli-build/static/chunks/app/login/page-e5f03432dd0bcd61.js +0 -1
  1431. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-e5f03432dd0bcd61.js +0 -1
  1432. package/app/.next-cli-build/static/chunks/app/page-e5f03432dd0bcd61.js +0 -1
  1433. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-e5f03432dd0bcd61.js +0 -1
  1434. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-e5f03432dd0bcd61.js +0 -1
  1435. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-e5f03432dd0bcd61.js +0 -1
  1436. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-e5f03432dd0bcd61.js +0 -1
  1437. package/app/.next-cli-build/static/css/196a6347b9104610.css +0 -1
  1438. package/app/.next-cli-build/static/media/catalog.e7ada387.json +0 -1710
  1439. /package/app/.next/static/{GP6N1FvEOE4uYUrdrCir5 → Gpu8irTBATTeQnftVm3kL}/_ssgManifest.js +0 -0
  1440. /package/app/.next-cli-build/static/{GP6N1FvEOE4uYUrdrCir5 → Gpu8irTBATTeQnftVm3kL}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- "use strict";exports.id=3026,exports.ids=[3026],exports.modules={49263:(a,b,c)=>{c.d(b,{Bl:()=>j,Qo:()=>f,S5:()=>l,hk:()=>e,kJ:()=>k});var d=c(87252);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){let a=!1!==b.shouldFallback;if(b.backoff){let b=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:a,cooldownMs:function(a=0){let b=Math.max(0,a-1);return Math.min(d.EQ.base*Math.pow(2,b),d.EQ.max)}(b),newBackoffLevel:b}}return{shouldFallback:a,cooldownMs:b.cooldownMs||0}}return a>=400&&a<500&&408!==a&&429!==a?{shouldFallback:!1,cooldownMs:0}:{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=i(b);return[a?.[c],a?.[h]].some(a=>a&&new Date(a).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()}}},51158:(a,b,c)=>{c.d(b,{g:()=>A,s:()=>B});var d=c(67133),e=c(15717),f=c(38775),g=c(89865),h=c(60290),i=c(41029),j=c(18129),k=c(45350),l=c(46052);let m=Number(process.env.VIDEO_FETCH_TIMEOUT_MS||12e4),n=new Set(["generations","edits","extensions"]);function o(a){return k.B$[a]?.videoConfig||null}function p(a,b=null){if(!a)return a;let c=String(a).replace(/Bearer\s+[A-Za-z0-9._~+/=-]{8,}/gi,"Bearer [redacted]");for(let a of["accessToken","refreshToken","apiKey"]){let d=b?.[a];"string"==typeof d&&d.length>=8&&(c=c.split(d).join("[redacted]"))}return c}async function q({provider:a,action:b=null,requestId:c=null,rawBody:d=null,contentType:e=null,idempotencyKey:f=null,credentials:r,signal:s,timeoutMs:t=m,log:u,onCredentialsRefreshed:v}){let w,x,y,z,A=o(a);if(!A)return(0,g.A1)(h.gx.BAD_REQUEST,`Provider '${a}' does not support video generation`);if(!c&&!n.has(b))return(0,g.A1)(h.gx.BAD_REQUEST,`Unknown video action: ${b}`);let{identity:B,format:C}=(x=k.xq[a]||{},{identity:(o(a)||{}).identity||x.identity||"openai-node",format:x.format||"openai"}),D=c?"GET":"POST",E=(y=A.baseUrl.replace(/\/$/,""),c?`${y}/${encodeURIComponent(c)}`:`${y}/${b}`),F=(z="function"==typeof AbortSignal?.timeout?AbortSignal.timeout(t):null,s&&z&&"function"==typeof AbortSignal.any?AbortSignal.any([s,z]):s||z||void 0),G=b=>(0,l.Fm)(E,{method:D,headers:function({token:a,contentType:b,idempotencyKey:c}){let d={Accept:"application/json"};return a&&(d.Authorization=`Bearer ${a}`),b&&(d["Content-Type"]=b),c&&(d["Idempotency-Key"]=c),d}({token:b,contentType:"POST"===D?e:null,idempotencyKey:"POST"===D?f:null}),body:"POST"===D?d:void 0,signal:F,identity:B,format:C,provider:a});try{w=await G(r?.accessToken||r?.apiKey)}catch(b){if(b?.name==="AbortError"||b?.name==="TimeoutError")return(0,g.A1)(h.gx.REQUEST_TIMEOUT,`[${a}] video ${D} aborted: ${b.message}`);return(0,g.A1)(h.gx.BAD_GATEWAY,p(`[${a}] video upstream fetch failed: ${b.message}`,r))}if((w.status===h.gx.UNAUTHORIZED||w.status===h.gx.FORBIDDEN)&&r?.refreshToken){let b=null;try{b=await (0,j.MF)(a,r,()=>(0,i.$B)(a,r,u))}catch(b){u?.warn?.("TOKEN",`${a} | video refresh error: ${p(b.message,r)}`)}if(b?.accessToken){u?.info?.("TOKEN",`${a.toUpperCase()} | refreshed for video ${D}`),Object.assign(r,b),v&&await v(b);try{await w.body?.cancel?.()}catch{}try{w=await G(r.accessToken||r.apiKey)}catch(b){return(0,g.A1)(h.gx.BAD_GATEWAY,p(`[${a}] video retry after refresh failed: ${b.message}`,r))}}else u?.warn?.("TOKEN",`${a.toUpperCase()} | video refresh failed — account needs re-auth`)}let H=await w.text().catch(()=>"");if(!w.ok){let b=p(H||`HTTP ${w.status}`,r);return(0,g.A1)(w.status,`[${a}] ${b.slice(0,2e3)}`)}return{success:!0,response:new Response(H,{status:w.status,headers:{"Content-Type":w.headers.get("content-type")||"application/json"}})}}var r=c(67828),s=c(7803),t=c(78102),u=c(66077);let v=new Set([h.gx.UNAUTHORIZED,h.gx.FORBIDDEN,h.gx.RATE_LIMITED]);async function w(a){let b=await (0,e.mt)();return(0,t.DM)({settings:b,rawKey:(0,d.Tr)(a),request:a,target:{kind:"model",id:null}})}async function x(a){let b=a.headers.get("content-type")||"";if(b.includes("application/json")){let c,d=await a.text();try{c=JSON.parse(d)}catch{return{error:(0,g.yj)(h.gx.BAD_REQUEST,"Invalid JSON body")}}return{raw:d,parsed:c,contentType:b}}return{raw:Buffer.from(await a.arrayBuffer()),parsed:null,contentType:b}}async function y(a){if(!a?.model)return{provider:"xai",model:null};let b=String(a.model),c=await (0,f.mA)(b);return c.provider?o(c.provider)?{provider:c.provider,model:c.model}:b.includes("/")?{error:(0,g.yj)(h.gx.BAD_REQUEST,`Provider '${c.provider}' does not support video generation`)}:{provider:"xai",model:b}:{error:(0,g.yj)(h.gx.BAD_REQUEST,"Combos are not supported for video generation")}}function z(a,b){if(!b)return a;let c=new Headers(a.headers);return c.set("x-switchboard-connection-id",String(b)),new Response(a.body,{status:a.status,headers:c})}async function A(a,b){let c=await w(a);return c.ok?(0,t.yH)(c.lease,async()=>{let e=await x(a);if(e.error)return e.error;let f=await y(e.parsed);if(f.error)return f.error;let{provider:i,model:j}=f,k=e.raw;e.parsed&&j&&e.parsed.model!==j&&(k=JSON.stringify({...e.parsed,model:j}));let l=a.headers.get("x-connection-id")||null,m="1"===a.headers.get("x-switchboard-strict-connection"),n=a.headers.get("idempotency-key")||null,{clientKeyId:o}=c,t=new Set,w=null,A=null;for(;;){let c=await (0,d.c1)(i,t,j,{preferredConnectionId:l,strictPreferredConnection:m,clientKeyId:o});if(!c||c.allRateLimited){if(c?.allRateLimited){let a=w||c.lastError||"Unavailable",b=A||Number(c.lastErrorCode)||h.gx.SERVICE_UNAVAILABLE;return(0,g.wO)(b,`[${i}/${j||"video"}] ${a}`,c.retryAfter,c.retryAfterHuman)}if(0===t.size)return(0,g.yj)(h.gx.BAD_REQUEST,`No credentials for provider: ${i}`);return(0,g.yj)(A||h.gx.SERVICE_UNAVAILABLE,w||"All accounts unavailable")}let f=await (0,u.G)({provider:i,model:j,connectionId:c.connectionId},async()=>{let f=await (0,r.eU)(i,c),g=await q({provider:i,action:b,rawBody:k,contentType:e.contentType||null,idempotencyKey:n,credentials:f,signal:a.signal,log:s,onCredentialsRefreshed:async a=>{await (0,r.vN)(c.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})}});if(g.success)return await (0,d.Pt)(c.connectionId,c,j),s.info("VIDEO",`${i.toUpperCase()} | ${b} accepted (connection ${c.connectionId})`),{finalResponse:z(g.response,c.connectionId)};let{shouldFallback:h}=await (0,d.vk)(c.connectionId,g.status,p(g.error,f),i,j);return h&&v.has(g.status)?{retry:!0,error:g.error,status:g.status}:{finalResponse:g.response}});if(f.finalResponse)return f.finalResponse;t.add(c.connectionId),w=f.error,A=f.status}}):c.response}async function B(a,b){let c=await w(a);return c.ok?(0,t.yH)(c.lease,async()=>{if(!b)return(0,g.yj)(h.gx.BAD_REQUEST,"Missing video request id");let e=a.headers.get("x-connection-id")||null,{clientKeyId:f}=c,i=await (0,d.c1)("xai",null,null,{preferredConnectionId:e,clientKeyId:f});if(!i||i.allRateLimited)return(0,g.yj)(h.gx.BAD_REQUEST,"No credentials for provider: xai");let j=await (0,r.eU)("xai",i),k=await q({provider:"xai",requestId:b,credentials:j,signal:a.signal,log:s,onCredentialsRefreshed:async a=>{await (0,r.vN)(i.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})}});return k.success?(await (0,d.Pt)(i.connectionId,i,null),z(k.response,i.connectionId)):(await (0,d.vk)(i.connectionId,k.status,p(k.error,j),"xai",null),k.response)}):c.response}},66077:(a,b,c)=>{c.d(b,{G:()=>e});var d=c(23832);async function e({provider:a,model:b,connectionId:c},f){if(!c||"noauth"===c)return f();let g=!1,h=()=>{g||(g=!0,(0,d.uw)(b,a,c,!1))};(0,d.uw)(b,a,c,!0);try{let a=await f();if(a instanceof Response){if(!(a instanceof Response)||!a.body)return h(),a;let b=a.body.getReader();return new Response(new ReadableStream({async pull(a){try{let{done:c,value:d}=await b.read();c?(h(),a.close()):a.enqueue(d)}catch(b){h(),a.error(b)}},async cancel(a){try{await b.cancel(a)}finally{h()}}}),{status:a.status,statusText:a.statusText,headers:a.headers})}return h(),a}catch(a){throw h(),a}}},89865:(a,b,c)=>{c.d(b,{A1:()=>h,lR:()=>j,wO:()=>i,yj:()=>f,zL:()=>g});var d=c(87252);async function e(a,b){let c=a?.body?.getReader?.();if(!c)try{return(await a.text()).slice(0,b)}catch{return""}let d=new TextDecoder,e="",f=0;try{for(;f<b;){let{done:a,value:g}=await c.read();if(a)break;let h=g instanceof Uint8Array?g:new Uint8Array(g),i=b-f;if(e+=d.decode(h.subarray(0,i),{stream:h.byteLength<=i}),f+=Math.min(h.byteLength,i),h.byteLength>i){try{await c.cancel("upstream error body limit")}catch{}break}}return e+d.decode()}catch{return e}finally{try{c.releaseLock?.()}catch{}}}function f(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"}})}async function g(a,b=null){let c=await e(a,65536);if(b&&"function"==typeof b.parseError)try{let e=b.parseError(a,c);if(e&&"object"==typeof e){let b=e.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:e.status||a.status,message:b,resetsAtMs:e.resetsAtMs}}}catch{}let f="";try{let a=JSON.parse(c);f="string"==typeof a?.error?.message?a.error.message:"string"==typeof a?.message?a.message:"string"==typeof a?.error_description?a.error_description:"string"==typeof a?.error?a.error:""}catch{f=c}let h=("string"==typeof f?f:"")||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:h}}function h(a,b,c){return{success:!1,status:a,error:b,resetsAtMs:c,response:f(a,b)}}function i(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 j(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}`}}};
@@ -1,2 +0,0 @@
1
- "use strict";exports.id=3072,exports.ids=[3072],exports.modules={1354:(a,b,c)=>{async function d(a,b,c={}){var f;let g,h,i,j;if(!a?.ok)return{ok:!1,reason:"http_error"};let k=(a.headers?.get?.("content-type")||"").toLowerCase();if(!(k.includes("text/event-stream")||k.includes("ndjson"))||!a.body)try{let b=await a.clone().json(),c=o(b),d=c?.prompt_tokens??null,e=c?.completion_tokens??null;if(!(n(b)||"number"==typeof e&&e>0)){try{await a.body?.cancel?.()}catch{}return{ok:!1,reason:"empty_json"}}return{ok:!0,result:a,preInspect:{hasCompletion:!0,tokensIn:d,tokensOut:e,data:b}}}catch{return{ok:!0,result:a,preInspect:{hasCompletion:!1,tokensIn:null,tokensOut:null}}}let l=await e(a.body,2e4,{abortSignal:c.abortSignal||null});return l.accepted?{ok:!0,result:new Response((g=(f=l).prefixChunks||[],h=0,i=f.reader,j=!!f.ended||!i,new ReadableStream({async pull(a){try{if(h<g.length)return void a.enqueue(g[h++]);if(j||!i)return void a.close();let{done:b,value:c}=await i.read();if(b)return void a.close();c&&a.enqueue(c)}catch(b){try{a.error(b)}catch{}}},async cancel(a){if(i)try{await i.cancel(a)}catch{}}})),{status:a.status,statusText:a.statusText,headers:a.headers}),preInspect:{hasCompletion:!!l.sawCompletion,tokensIn:l.tokensIn,tokensOut:l.tokensOut}}:(b?.warn?.("AUTO",`empty stream after probe (${l.reason||"no_content"})`),{ok:!1,reason:l.reason||"empty_stream"})}async function e(a,b=2e4,c={}){if(!a||"function"!=typeof a.getReader)return{accepted:!1,hasContent:!1,reason:"no_body",prefixChunks:[],reader:null};let d=c.abortSignal||null,f=a.getReader(),g=new TextDecoder,h=[],i=null,k=null,n=!1,o="",p=Number.isFinite(b)&&b>0?b:2e4,q=Date.now()+p,r=null,s=null,t=()=>{null!=r&&(clearTimeout(r),r=null)},u=()=>{if(s&&d){try{d.removeEventListener("abort",s)}catch{}s=null}},v=async a=>{t(),u();try{await f.cancel(a||"empty_stream")}catch{}return{accepted:!1,hasContent:!1,reason:a,prefixChunks:h,reader:null,tokensIn:i,tokensOut:k,sawCompletion:!1}},w=a=>(t(),u(),{accepted:!0,hasContent:!0,prefixChunks:h,reader:a?null:f,ended:!!a,tokensIn:i,tokensOut:k,sawCompletion:n});try{for(;;){if(d?.aborted)return v("client_aborted");let a=q-Date.now();if(a<=0)return v("probe_idle_timeout");let b=f.read().then(a=>({kind:"read",r:a})),c=new Promise(b=>{r=setTimeout(()=>b({kind:"timeout"}),a)}),e=d?new Promise(a=>{s=()=>a({kind:"aborted"}),d.aborted?s():d.addEventListener("abort",s,{once:!0})}):null,x=await Promise.race([b,c,e].filter(Boolean));if(t(),"aborted"!==x.kind&&u(),"timeout"===x.kind)return v("probe_idle_timeout");if("aborted"===x.kind)return v("client_aborted");let{done:y,value:z}=x.r;if(y)return t(),u(),{accepted:!1,hasContent:!1,reason:"empty_stream_end",prefixChunks:h,reader:null,ended:!0,tokensIn:i,tokensOut:k,sawCompletion:!1};if(z?.byteLength){q=Date.now()+p,h.push(z);let a=g.decode(z,{stream:!0}),b=o.slice(-64)+a;o=(o+a).slice(-512),l(b)&&(n=!0);let c=m(b);if(c&&(i=c.prompt_tokens??i,(k=c.completion_tokens??k)>0&&(n=!0)),function(a){let b=String(a||"");if(!b.trim())return!0;let c=!1;for(let a of b.split(/\r?\n/)){let b=a.trim();if(b){if((c=!0,!(b.startsWith(":")||/^event:\s*(ping|heartbeat)\s*$/i.test(b)))&&!(b.startsWith("id:")||b.startsWith("retry:"))){if(b.startsWith("data:")){let a=b.slice(5).trim();if(!a||"[DONE]"===a)continue;try{let b=JSON.parse(a);if(b&&("ping"===b.type||"heartbeat"===b.type))continue}catch{}}return!1}}}return c||!b.trim()}(a)||function(a){for(let b of String(a||"").split(/\r?\n/)){let a=b.trim();if(!a.startsWith("data:"))continue;let c=a.slice(5).trim();if(c&&"[DONE]"!==c)try{if(j(JSON.parse(c)))return!0}catch{}}return!1}(b))continue;return w(!1)}z&&h.push(z)}}catch(a){t(),u();try{await f.cancel(a?.message||"probe_error")}catch{}return{accepted:!1,hasContent:!1,reason:"probe_error",prefixChunks:h,reader:null,tokensIn:i,tokensOut:k,sawCompletion:!1}}}async function f(a){if(!a)return{text:"",httpError:"router_http_0",status:0};let b=a.status??0;if(!a.ok){try{await a.text()}catch{}return{text:"",httpError:`router_http_${b}`,status:b}}let c=(a.headers?.get?.("content-type")||"").toLowerCase();try{if(c.includes("text/event-stream")||c.includes("ndjson")){let c=await a.text();return{text:i(c),status:b}}let d=await a.text();try{return{text:g(JSON.parse(d)),status:b}}catch{if(d.includes("data:"))return{text:i(d),status:b};return{text:d,status:b}}}catch{return{text:"",status:b}}}function g(a){if(!a||"object"!=typeof a)return"";let b=a?.choices?.[0];if(b?.message?.content){let a=b.message.content;if("string"==typeof a)return a;if(Array.isArray(a))return a.map(a=>a?.text||a?.content||"").join("")}if("string"==typeof b?.text)return b.text;if(Array.isArray(a?.content))return a.content.map(a=>a?.text||"").join("");if("string"==typeof a?.content)return a.content;let c=a?.candidates?.[0]?.content?.parts;if(Array.isArray(c))return c.map(a=>a?.text||"").join("");if(Array.isArray(a?.output)){let b=[];for(let c of a.output)if(c?.type==="message"&&Array.isArray(c.content))for(let a of c.content)a?.type==="output_text"&&a.text?b.push(a.text):"string"==typeof a?.text&&b.push(a.text);if(b.length)return b.join("")}return""}function h(a){return i(a)}function i(a){let b=[];for(let c of String(a||"").split("\n")){let a=c.trim();if(!a.startsWith("data:"))continue;let d=a.slice(5).trim();if(d&&"[DONE]"!==d)try{let a=JSON.parse(d),c=a?.choices?.[0]?.delta?.content;"string"==typeof c&&b.push(c);let e=a?.choices?.[0]?.message?.content;"string"==typeof e&&b.push(e),a?.type==="content_block_delta"&&a?.delta?.text&&b.push(a.delta.text),a?.delta?.type==="text_delta"&&a?.delta?.text&&b.push(a.delta.text);let f=a?.candidates?.[0]?.content?.parts;if(Array.isArray(f))for(let a of f)"string"==typeof a?.text&&b.push(a.text)}catch{}}return b.join("")}function j(a){return!!a&&"object"==typeof a&&!!(a.error||"error"===a.type||a.choices?.[0]?.error)}function k(a){return l(a)}function l(a){if(!a||a.length<4)return!1;for(let b of String(a).split(/\r?\n/)){let a=b.trim();if(!a.startsWith("data:"))continue;let c=a.slice(5).trim();if(c&&"[DONE]"!==c)try{let a=JSON.parse(c);if(j(a))continue;let b=a?.choices?.[0]?.delta;if("string"==typeof b?.content&&b.content.length>0||Array.isArray(b?.tool_calls)&&b.tool_calls.length>0||b?.function_call&&(b.function_call.name||b.function_call.arguments))return!0;let d=a?.choices?.[0]?.message;if("string"==typeof d?.content&&d.content.length>0||Array.isArray(d?.tool_calls)&&d.tool_calls.length>0||a?.type==="response.output_text.delta"||a?.type==="response.function_call_arguments.delta"||"string"==typeof a?.delta&&a.delta.length>0&&a.type?.includes("output")||a?.type==="content_block_delta"&&(a?.delta?.type==="text_delta"&&a?.delta?.text||a?.delta?.type==="input_json_delta"||"string"==typeof a?.delta?.partial_json||"string"==typeof a?.delta?.text&&a.delta.text&&"thinking_delta"!==a.delta.type)||a?.type==="content_block_start"&&(a?.content_block?.type==="tool_use"||a?.content_block?.type==="text"&&"string"==typeof a.content_block.text&&a.content_block.text.length>0))return!0;let e=a?.candidates?.[0]?.content?.parts;if(Array.isArray(e)){for(let a of e)if(a?.functionCall||"string"==typeof a?.text&&a.text.length>0&&!0!==a.thought)return!0}}catch{}}return!1}function m(a){return!a||a.length<8?null:function(a){let b=null;for(let c of String(a||"").split("\n")){let a=c.trim();if(!a.startsWith("data:"))continue;let d=a.slice(5).trim();if(d&&"[DONE]"!==d)try{let a=JSON.parse(d),c=o(a);c&&(b=c),a?.usage&&(b={prompt_tokens:a.usage.input_tokens??b?.prompt_tokens??0,completion_tokens:a.usage.output_tokens??b?.completion_tokens??0}),a?.message?.usage&&(b={prompt_tokens:a.message.usage.input_tokens??0,completion_tokens:a.message.usage.output_tokens??0})}catch{}}return b}(a.length>8e3?a.slice(-8e3):a)}function n(a){if(!a||"object"!=typeof a)return!1;if(g(a).length>0)return!0;let b=a?.choices?.[0],c=b?.message;if(Array.isArray(c?.tool_calls)&&c.tool_calls.length>0||c?.function_call&&(c.function_call.name||c.function_call.arguments)||Array.isArray(a?.content)&&a.content.some(a=>a?.type==="tool_use"||a?.type==="function")||Array.isArray(a?.output)&&a.output.some(a=>a?.type==="function_call"||a?.type==="tool_call"||a?.type==="custom_tool_call"))return!0;let d=a?.candidates?.[0]?.content?.parts;return!!(Array.isArray(d)&&d.some(a=>a?.functionCall))}function o(a){return a&&"object"==typeof a?a.usage?.prompt_tokens!=null||a.usage?.completion_tokens!=null?{prompt_tokens:a.usage.prompt_tokens??0,completion_tokens:a.usage.completion_tokens??0}:a.usage?.input_tokens!=null||a.usage?.output_tokens!=null?{prompt_tokens:a.usage.input_tokens??0,completion_tokens:a.usage.output_tokens??0}:a.usageMetadata?{prompt_tokens:a.usageMetadata.promptTokenCount??0,completion_tokens:a.usageMetadata.candidatesTokenCount??0}:null:null}c.d(b,{Ah:()=>m,Ki:()=>k,NT:()=>h,R5:()=>n,dO:()=>f,f5:()=>o,wx:()=>d})},3072:(a,b,c)=>{c.d(b,{Pr:()=>z,UP:()=>w,Vu:()=>x,t8:()=>v,vt:()=>D,xP:()=>s});var d=c(49263),e=c(89865),f=c(43904),g=c(48644),h=c(17717),i=c(19956),j=c(48664),k=c(45894),l=c(4905),m=c(1354),n=c(5770);let o=new Set(["vision","pdf","audioInput","videoInput"]),p="[Called tools: ",q="[Tool result: ";function r(a){return a.filter(a=>a).map(a=>{if("tool"===a.role||"function"===a.role)return{role:"assistant",content:`${q}${(0,g.kU)(a.content)||String(a.content??"")}]`};if("assistant"===a.role&&Array.isArray(a.tool_calls)){let{tool_calls:b,...c}=a,d=b.map(a=>a?.function?.name||a?.name||"tool").join(", "),e=(0,g.kU)(c.content)||("string"==typeof c.content?c.content:"");return{...c,content:`${e}${e?"\n":""}${p}${d}]`}}if(Array.isArray(a.content)){let b=a.content.some(a=>"tool_use"===a.type),c=a.content.some(a=>"tool_result"===a.type);if(b||c){let b=[],c=[],d=[];for(let e of a.content)"text"===e.type&&e.text&&b.push(e.text),"tool_use"===e.type&&c.push(e.name||"tool"),"tool_result"===e.type&&d.push((0,g.kU)(e.content)||String(e.content??""));let{...e}=a,f=b.join("\n");return c.length>0&&(f=`${f}${f?"\n":""}${p}${c.join(", ")}]`),d.length>0&&(f=`${f}${f?"\n":""}${q}${d.join("\n")}]`),{...e,content:f}}}return a})}function s(a,b){if(!b||0===b.size||!Array.isArray(a)||a.length<=1)return a;let c=[...b].filter(a=>o.has(a)),d=[...b].filter(a=>!o.has(a)),e=a.map((a,b)=>{let e,g,h,i;return{m:a,i:b,t:(g=(e="string"==typeof a?a.indexOf("/"):-1)>0?a.slice(0,e):"",h=e>0?a.slice(e+1):a,i=(0,f.nl)(g,h),c.every(a=>!0===i[a])?+!d.every(a=>!0===i[a]):2)}}).sort((a,b)=>a.t-b.t||a.i-b.i).map(a=>a.m);return e.every((b,c)=>b===a[c])?a:e}let t=new Map;function u(a){if(!Array.isArray(a)||0===a.length)return[];let b=a=>"assistant"===a||"model"===a,c=a.length-1;for(;c>=0&&!b(a[c]?.role);)c--;return a.slice(c+1)}function v(a){let b=new Set;if(!a||"object"!=typeof a)return b;let c=a=>{"string"==typeof a&&(a.startsWith("image/")?b.add("vision"):"application/pdf"===a?b.add("pdf"):a.startsWith("audio/")?b.add("audioInput"):a.startsWith("video/")&&b.add("videoInput"))},d=a=>{if(!a||"object"!=typeof a)return;let d=a.type;if(("image_url"===d||"image"===d||"input_image"===d)&&b.add("vision"),("input_audio"===d||"audio_url"===d||"audio"===d)&&b.add("audioInput"),("input_video"===d||"video_url"===d||"video"===d)&&b.add("videoInput"),"file"===d||"document"===d||"input_file"===d){let d=null;a.input_audio?.format?d=`audio/${a.input_audio.format}`:a.file?.file_data?d=String(a.file.file_data).match(/^data:([^;,]+)/)?.[1]:a.source?.media_type?d=a.source.media_type:a.source?.data&&(d=String(a.source.data).match(/^data:([^;,]+)/)?.[1]),d?c(d):b.add("pdf")}c(a.inlineData?.mimeType||a.fileData?.mimeType)},e=a=>{if(Array.isArray(a))for(let b of a)d(b)},f=a=>{if(!a||"object"!=typeof a)return;Array.isArray(a.images)&&a.images.length>0&&b.add("vision");let d=a.experimental_attachments||a.attachments;if(Array.isArray(d))for(let a of d){if(!a)continue;let d=a.contentType||a.mediaType||"string"==typeof a.url&&a.url.match(/^data:([^;,]+)/)?.[1];d?c(d):(a.url||a.data)&&b.add("vision")}(a.image_url||a.image)&&b.add("vision"),(a.audio_url||a.audio)&&b.add("audioInput"),e(a.content),"string"==typeof a.content&&(a.content.includes("data:image/")?b.add("vision"):a.content.includes("data:audio/")?b.add("audioInput"):a.content.includes("data:application/pdf")&&b.add("pdf"))};for(let b of u(a.messages))f(b);for(let b of u(a.input))e(b.content);for(let b of u(a.contents||a.request?.contents))e(b.parts);return Array.isArray(a.tools)&&a.tools.some(a=>a?.type==="web_search"||a?.type==="web_search_preview")&&b.add("search"),b}function w(a){a?t.delete(a):t.clear()}function x(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 y(){return new Response(JSON.stringify({error:{message:"Request aborted"}}),{status:499,headers:{"Content-Type":"application/json"}})}async function z({body:a,models:b,handleSingleModel:c,log:f,comboName:g,comboStrategy:h,comboStickyLimit:i=1,autoSwitch:j=!0,providerStrategy:k="off",providerOrder:l=[],providerLatencyMs:o={},providerUsage:p={},providerQuota:q={},providerLatencyGuardMs:r,abortSignal:u=null,clientAbortSignal:w=null,signal:x=null,childComboDepth:A=0}){let B=u||w||x||null;if(B?.aborted)return y();let C=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=t.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?t.set(f,{index:(j+1)%a.length,consecutiveUseCount:0}):t.set(f,{index:j,consecutiveUseCount:l}),k}(b,g,h,i),D=j||"off"!==k?v(a):null;if(j&&D?.size>0){let a=s(C,D);a[0]!==C[0]&&f.info("COMBO",`auto-switch for [${[...D].join(",")}] → ${a[0]}`),C=a}if("off"!==k)try{let a=(0,n.vL)(C,{strategy:k,providerOrder:l,providerLatencyMs:o,providerUsage:p,providerQuota:q,guardMs:r??n.Qm,rotationKey:g});C=D?.size>0?s(a,D):a}catch{}let E=null,F=null,G=null;for(let b=0;b<C.length;b++){let e=C[b];f.info("COMBO",`Trying model ${b+1}/${C.length}: ${e}`);try{let b="function"==typeof structuredClone?structuredClone(a):JSON.parse(JSON.stringify(a)),g=await c(b,e,{signal:B||void 0,comboDepth:A});if(B?.aborted)return y();if(g.ok){let a=await (0,m.wx)(g,f,{abortSignal:B});if(B?.aborted)return y();if(a.ok)return f.info("COMBO",`Model ${e} succeeded`),a.result;E=a.reason||"empty_2xx",f.warn("COMBO",`Model ${e} returned empty/incomplete 2xx (${a.reason}), falling back`);continue}let h=g.statusText||"",i=null;try{let a=await g.clone().json();h=a?.error?.message||a?.error||a?.message||h,i=a?.retryAfter||null}catch{}if(i&&(!F||new Date(i)<new Date(F))&&(F=i),"string"!=typeof h)try{h=JSON.stringify(h)}catch{h=String(h)}let j=404===g.status,{shouldFallback:k,cooldownMs:l}=(0,d.hk)(g.status,h);if(!(j||k))return f.warn("COMBO",`Model ${e} failed (no fallback)`,{status:g.status}),g;if(l&&l>0&&l<=5e3&&(503===g.status||502===g.status||504===g.status)){if(f.info("COMBO",`Model ${e} transient ${g.status}, waiting ${l}ms then retrying`),await function(a,b){return new Promise(!b||a<=0?b=>setTimeout(b,a):c=>{let d=null,e=()=>{d&&clearTimeout(d),b.removeEventListener("abort",e),c()};d=setTimeout(e,a),b.aborted?e():b.addEventListener("abort",e,{once:!0})})}(l,B),B?.aborted)return y();try{let b="function"==typeof structuredClone?structuredClone(a):JSON.parse(JSON.stringify(a)),d=await c(b,e,{signal:B||void 0,comboDepth:A});if(B?.aborted)return y();if(d.ok){let a=await (0,m.wx)(d,f,{abortSignal:B});if(B?.aborted)return y();if(a.ok)return f.info("COMBO",`Model ${e} succeeded on retry after ${l}ms cooldown`),a.result}E=`retry_${d.status}_${d.statusText||""}`,G||(G=d.status),f.warn("COMBO",`Model ${e} retry also failed (${d.status}), moving on`);continue}catch(a){E=a.message||String(a),G||(G=503),f.warn("COMBO",`Model ${e} retry threw error`,{error:E});continue}}E=h||String(g.status),G||(G=g.status),f.warn("COMBO",`Model ${e} failed, trying next`,{status:g.status})}catch(a){if(B?.aborted)return y();E=a.message||String(a),G||(G=500),f.warn("COMBO",`Model ${e} threw error, trying next`,{error:E})}}let H=E&&E.toLowerCase().includes("no credentials")?503:G||503,I=E||"All combo models unavailable";if(F){let a=(0,d.Qo)(F);return f.warn("COMBO",`All models failed | ${I} (${a})`),(0,e.wO)(H,I,F,a)}return f.warn("COMBO",`All models failed | ${I}`),new Response(JSON.stringify({error:{message:I}}),{status:H,headers:{"Content-Type":"application/json"}})}function A(a){if(!a||"object"!=typeof a)return"";let b=a.choices?.[0];if(b){let a=b.message??b.delta??{},c=(0,g.kU)(a.content);if(c.trim())return c;if("string"==typeof b.text&&b.text.trim())return b.text}let c=(0,g.kU)(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}let e=a.response?.candidates?.[0]?.content?.parts;if(Array.isArray(e)){let a=e.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""}async function B(a,b,c){var d;let e,f;if(!a?.ok||b?.stream!==!0||(a.headers?.get?.("content-type")||"").toLowerCase().includes("text/event-stream"))return a;try{let b="function"==typeof a.clone?a.clone():a;e=await b.json()}catch{return a}let g=(d=e,(f=function(a){try{return(0,h.Tz)(a)||i.h.OPENAI}catch{return i.h.OPENAI}}(b))!==i.h.OPENAI?f:d?.type==="message"||Array.isArray(d?.content)?i.h.CLAUDE:d?.object==="response"||Array.isArray(d?.output)&&b?.input?i.h.OPENAI_RESPONSES:Array.isArray(d?.candidates)||Array.isArray(d?.response?.candidates)?b?.userAgent===i.h.ANTIGRAVITY?i.h.ANTIGRAVITY:i.h.GEMINI:f),m=function(a,b,c){let d=`chatcmpl-${Date.now()}`,e=c||b?.model||"combo",f=Math.floor(Date.now()/1e3);if(Array.isArray(a?.choices)&&a.choices.length>0)return{...a,id:a.id||d,object:a.object||"chat.completion",created:a.created||f,model:a.model||e,choices:a.choices.map((a,b)=>({...a,index:a.index??b,message:{role:a.message?.role||"assistant",...a.message||{}}}))};let g=function(a){if(!a||"object"!=typeof a)return"";let b=a.choices?.[0]?.message?.reasoning_content;if("string"==typeof b)return b;let c=Array.isArray(a.content)?a.content.filter(a=>a?.type==="thinking").map(a=>a.thinking||"").join(""):"";if(c)return c;let d=a.candidates?.[0]?.content?.parts||a.response?.candidates?.[0]?.content?.parts;return Array.isArray(d)?d.filter(a=>a?.thought===!0).map(a=>a.text||"").join(""):""}(a);return{id:a?.id||d,object:"chat.completion",created:a?.created||f,model:a?.model||e,choices:[{index:0,message:{role:"assistant",content:A(a),...g?{reasoning_content:g}:{}},finish_reason:a?.stop_reason||"stop"}],...a?.usage?{usage:a.usage}:{}}}(e,b,c),n=(0,j.Ws)(g),o=[];for(let a of function(a){let b=a.choices?.[0]||{},c=b.message||{},d={role:c.role||"assistant"};for(let a of["content","reasoning_content","tool_calls","function_call"])void 0!==c[a]&&(d[a]=c[a]);let e={id:a.id,object:"chat.completion.chunk",created:a.created,model:a.model};return[{...e,choices:[{index:b.index??0,delta:d,finish_reason:null}]},{...e,choices:[{index:b.index??0,delta:{},finish_reason:b.finish_reason||(c.tool_calls?"tool_calls":"stop")}],...a.usage?{usage:a.usage}:{}}]}(m))for(let b of(0,j.Y8)(i.h.OPENAI,g,a,n)||[])null!=b&&o.push((0,k.v8)(b,g));for(let a of(0,j.Y8)(i.h.OPENAI,g,null,n)||[])null!=a&&o.push((0,k.v8)(a,g));return(g===i.h.OPENAI||g===i.h.OPENAI_RESPONSES)&&o.push(l.$U),new Response(o.join(""),{status:a.status,headers:l.RK})}let C={minPanel:2,stragglerGraceMs:8e3,panelHardTimeoutMs:9e4};async function D({body:a,models:b,handleSingleModel:c,log:d,comboName:e,judgeModel:f,tuning:g,abortSignal:h=null,clientAbortSignal:i=null,signal:j=null,childComboDepth:k=0}){var l;let m,n,o=h||i||j||null;if(o?.aborted)return y();let p=Array.isArray(b)?b.filter(Boolean):[];if(0===p.length)return new Response(JSON.stringify({error:{message:"Fusion combo has no models"}}),{status:400,headers:{"Content-Type":"application/json"}});if(1===p.length)try{let b=await c(a,p[0],{signal:o||void 0,comboDepth:k});return B(b,a,p[0])}catch(a){if(o?.aborted)return y();throw a}let q={...C,...g||{}},s=Math.min(Math.max(2,q.minPanel),p.length),t=f&&f.trim()?f.trim():p[0];d.info("FUSION",`Combo "${e}" | panel=${p.length} [${p.join(", ")}] | judge=${t} | quorum=${s}`);let{tools:u,tool_choice:v,...w}=a,x={...w,stream:!1};Array.isArray(x.messages)?x.messages=r(x.messages):Array.isArray(x.input)&&(x.input=r(x.input));let z=Date.now(),E=p.map(()=>new AbortController),F=E.map(a=>(function(...a){let b=a.filter(a=>a&&"object"==typeof a);if(0===b.length)return;if(1===b.length)return b[0];if("function"==typeof AbortSignal.any)return AbortSignal.any(b);let c=new AbortController,d=a=>{try{c.abort(a?.target?.reason)}catch{}};for(let a of b){if(a.aborted){d({target:a});break}a.addEventListener("abort",d,{once:!0})}return c.signal})(o,a.signal)),G=p.map((a,b)=>{var d,e,f;return d=c(x,a,{isPanel:!0,signal:F[b],comboDepth:k}),e=q.panelHardTimeoutMs,f=E[b],new Promise(a=>{let b=setTimeout(()=>{try{f?.abort?.(Error("fusion panel hard timeout"))}catch{}a({__timeout:!0})},e);Promise.resolve(d).then(c=>{clearTimeout(b),a(c)}).catch(c=>{clearTimeout(b),c?.name==="AbortError"||f?.signal?.aborted?a({__timeout:!0,__aborted:!0}):a({__error:c})})})}),H=await function(a,{minPanel:b,stragglerGraceMs:c,panelHardTimeoutMs:d,abortControllers:e=[],abortSignal:f=null}){return new Promise(g=>{let h=Array(a.length),i=0,j=0,k=!1,l=null,m=null,n=()=>o(),o=()=>{if(!k){for(let a of(k=!0,m&&clearTimeout(m),l&&clearTimeout(l),f?.removeEventListener?.("abort",n),e))if(a&&!a.signal.aborted)try{a.abort(Error("fusion panel collection finished"))}catch{}g(h)}};if(m=setTimeout(o,d),f){if(f.aborted)return void o();f.addEventListener("abort",n,{once:!0})}a.forEach((d,e)=>{Promise.resolve(d).then(a=>{h[e]=a}).catch(a=>{h[e]={__error:a}}).finally(()=>{if(i++,h[e]&&h[e].ok&&j++,i===a.length)return o();j>=b&&!l&&(l=setTimeout(o,c))})})})}(G,{...q,minPanel:s,abortControllers:E,abortSignal:o});if(d.info("FUSION",`fan-out collected in ${Date.now()-z}ms`),o?.aborted)return y();let I=[];for(let a=0;a<H.length;a++){let b=H[a],c=p[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=A(a);e?(I.push({model:c,text:e,json:a,response:b}),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===I.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===I.length)return d.info("FUSION",`Only ${I[0].model} succeeded — returning buffered answer (no re-dispatch)`),B(I[0].response,a,I[0].model);let J=(m=I.map((a,b)=>`[Source ${b+1}]
2
- ${a.text}`).join("\n\n"),l=[`You are the JUDGE in a model-fusion panel. ${I.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 ===",m,"=== END PANEL RESPONSES ===\n\nNow write the final answer to the user's original request."].join("\n"),n={...a},Array.isArray(a.messages)?n.messages=[...a.messages,{role:"user",content:l}]:Array.isArray(a.input)?n.input=[...a.input,{type:"message",role:"user",content:[{type:"input_text",text:l}]}]:Array.isArray(a.contents)?n.contents=[...a.contents,{role:"user",parts:[{text:l}]}]:n.messages=[{role:"user",content:l}],n);d.info("FUSION",`Judging ${I.length} answers with ${t}`);try{let b=await c(J,t,{signal:o||void 0,comboDepth:k});if(!b?.ok){let c=I.reduce((a,b)=>a.text.length>=b.text.length?a:b);return d.warn("FUSION",`Judge ${t} failed (${b?.status}), falling back to best panel answer`),B(c.response,a,c.model)}return B(b,a,t)}catch(c){if(o?.aborted)return y();let b=I.reduce((a,b)=>a.text.length>=b.text.length?a:b);return d.warn("FUSION",`Judge ${t} threw, falling back to best panel answer`,{error:c?.message||String(c)}),B(b.response,a,b.model)}}},49263:(a,b,c)=>{c.d(b,{Bl:()=>j,Qo:()=>f,S5:()=>l,hk:()=>e,kJ:()=>k});var d=c(87252);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){let a=!1!==b.shouldFallback;if(b.backoff){let b=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:a,cooldownMs:function(a=0){let b=Math.max(0,a-1);return Math.min(d.EQ.base*Math.pow(2,b),d.EQ.max)}(b),newBackoffLevel:b}}return{shouldFallback:a,cooldownMs:b.cooldownMs||0}}return a>=400&&a<500&&408!==a&&429!==a?{shouldFallback:!1,cooldownMs:0}:{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=i(b);return[a?.[c],a?.[h]].some(a=>a&&new Date(a).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()}}},89865:(a,b,c)=>{c.d(b,{A1:()=>h,lR:()=>j,wO:()=>i,yj:()=>f,zL:()=>g});var d=c(87252);async function e(a,b){let c=a?.body?.getReader?.();if(!c)try{return(await a.text()).slice(0,b)}catch{return""}let d=new TextDecoder,e="",f=0;try{for(;f<b;){let{done:a,value:g}=await c.read();if(a)break;let h=g instanceof Uint8Array?g:new Uint8Array(g),i=b-f;if(e+=d.decode(h.subarray(0,i),{stream:h.byteLength<=i}),f+=Math.min(h.byteLength,i),h.byteLength>i){try{await c.cancel("upstream error body limit")}catch{}break}}return e+d.decode()}catch{return e}finally{try{c.releaseLock?.()}catch{}}}function f(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"}})}async function g(a,b=null){let c=await e(a,65536);if(b&&"function"==typeof b.parseError)try{let e=b.parseError(a,c);if(e&&"object"==typeof e){let b=e.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:e.status||a.status,message:b,resetsAtMs:e.resetsAtMs}}}catch{}let f="";try{let a=JSON.parse(c);f="string"==typeof a?.error?.message?a.error.message:"string"==typeof a?.message?a.message:"string"==typeof a?.error_description?a.error_description:"string"==typeof a?.error?a.error:""}catch{f=c}let h=("string"==typeof f?f:"")||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:h}}function h(a,b,c){return{success:!1,status:a,error:b,resetsAtMs:c,response:f(a,b)}}function i(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 j(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}`}}};
@@ -1,121 +0,0 @@
1
- exports.id=3986,exports.ids=[3986],exports.modules={644:(a,b,c)=>{"use strict";function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},2142:(a,b,c)=>{"use strict";c.d(b,{B6:()=>A,C8:()=>C,GU:()=>H,HP:()=>F,HS:()=>S,Hq:()=>z,Hr:()=>x,Kx:()=>D,OQ:()=>K,Oe:()=>t,PI:()=>O,RL:()=>Q,Vp:()=>s,XE:()=>E,_6:()=>R,cX:()=>L,dC:()=>I,dN:()=>y,e8:()=>T,eV:()=>J,ex:()=>p,f8:()=>B,ii:()=>r,kT:()=>M,od:()=>N,p3:()=>u,tu:()=>m,uf:()=>v});var d=c(36366),e=c(644),f=c(55511),g=c(43957),h=c(5770),i=c(73274),j=c(5125);function k(){return new Date().toISOString()}let l=null;function m(a){l="function"==typeof a?a:null}function n(a){try{l?.(a)}catch{}}function o(a,b,c){let d=a.get("SELECT source, requests, errors, fallbacks FROM prometheusRoutingTotals WHERE source = ?",[b.source]);(0,j.BO)(d,b.source),(0,j.BO)({source:b.source,requests:d.requests+c,errors:d.errors+c*b.isError,fallbacks:d.fallbacks+c*b.fallbackUsed}),a.run(`UPDATE prometheusRoutingTotals
2
- SET requests = requests + ?,
3
- errors = errors + ?,
4
- fallbacks = fallbacks + ?
5
- WHERE source = ?`,[c,c*b.isError,c*b.fallbackUsed,b.source])}async function p(a){let b=await (0,d.c)(),c=a.timestamp||k();b.transaction(()=>{let d=b.run(`INSERT INTO routing_events(
6
- timestamp, comboName, sessionId, requestId, requestFingerprint, cluster,
7
- routerModel, pickedWorker, alternates, routerReason, routerConfidence,
8
- routerLatencyMs, workerStatus, workerLatencyMs, fallbackUsed, retries,
9
- tokensIn, tokensOut, outcomeScore, objective, learningVersionId, meta
10
- ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`,[c,a.comboName,a.sessionId||null,a.requestId||null,a.requestFingerprint||null,a.cluster||null,a.routerModel||null,a.pickedWorker||null,null!=a.alternates?(0,e.s)(a.alternates):null,a.routerReason||null,a.routerConfidence||null,a.routerLatencyMs??null,a.workerStatus??null,a.workerLatencyMs??null,+!!a.fallbackUsed,a.retries??0,a.tokensIn??null,a.tokensOut??null,a.outcomeScore??null,a.objective||null,a.learningVersionId||null,null!=a.meta?(0,e.s)(a.meta):null]);(0,j.Bq)(b,()=>{!function(a,b,c,d){var e;let f;if(!(!((f=b.meta)&&"object"==typeof f&&(!0===f.skippedRouter||Object.prototype.hasOwnProperty.call(f,"terminal")&&!0!==f.terminal))&&1))return;let g=String(b.requestId||c),h=a.get("SELECT * FROM prometheusRoutingRequests WHERE requestKey = ?",[g]);h&&((0,j.SQ)(h,g),o(a,h,-1));let k=h?.fallbackUsed===1||b.fallbackUsed?1:0,l=null==b.workerStatus?null:(0,i.T)(b.workerStatus,`${g}.workerStatus`,{integer:!0}),m=+(h?.isError===1||null!=l&&l>=400),n={requestKey:g,comboName:b.comboName||null,timestamp:d,terminalId:c,source:(e=b.routerReason,String(e).startsWith("exploration")?"exploration":"bandit_policy"===e?"bandit_policy":"cached_route"===e?"cached_route":"judge_flag_escalation"===e?"judge_flag_escalation":k?"fallback_rescue":"router"),isError:m,fallbackUsed:k};a.run(`INSERT INTO prometheusRoutingRequests(requestKey, comboName, timestamp, terminalId, source, isError, fallbackUsed)
11
- VALUES(?, ?, ?, ?, ?, ?, ?)
12
- ON CONFLICT(requestKey) DO UPDATE SET
13
- comboName = excluded.comboName,
14
- timestamp = excluded.timestamp,
15
- terminalId = excluded.terminalId,
16
- source = excluded.source,
17
- isError = excluded.isError,
18
- fallbackUsed = excluded.fallbackUsed`,[n.requestKey,n.comboName,n.timestamp,n.terminalId,n.source,n.isError,n.fallbackUsed]),o(a,n,1)}(b,a,d.lastInsertRowid,c)})})}async function q(a,b){if(!a||"string"!=typeof a)return{updated:0};let c=await (0,d.c)(),f=c.all("SELECT * FROM routing_events WHERE requestId = ?",[a]);if(!f?.length)return{updated:0};let h=f.filter(a=>{let b=(0,e.q)(a.meta,{});return b?.terminal===!0||b?.terminal==null});if(!h.length)return{updated:0};let i=0;return c.transaction(()=>{for(let a of h){let d=(0,e.q)(a.meta,{}),{outcomeScore:f,meta:h}=(0,g.al)(d,a.outcomeScore,b);c.run("UPDATE routing_events SET outcomeScore = ?, meta = ? WHERE id = ?",[f,(0,e.s)(h),a.id]),i+=1}}),{updated:i,comboName:f[0].comboName}}async function r(a,b){return q(a,{userRating:b})}async function s(a,b){return q(a,{judgeScore:b})}async function t(a){if(!a)return null;let b=(await (0,d.c)()).get(`SELECT comboName, cluster, pickedWorker FROM routing_events
19
- WHERE requestId = ?
20
- AND (meta LIKE '%"terminal":true%' OR meta IS NULL OR meta NOT LIKE '%"terminal"%')
21
- ORDER BY id DESC LIMIT 1`,[a]);if(!b)return null;let c=G(b);return{comboName:c.comboName,cluster:c.cluster,pickedWorker:c.pickedWorker}}async function u(a){let b=(await (0,d.c)()).get(`SELECT * FROM router_learning_versions
22
- WHERE comboName = ? AND promoted = 1
23
- ORDER BY version DESC LIMIT 1`,[a]);return b?w(b):null}async function v(a,b=20){return(await (0,d.c)()).all(`SELECT * FROM router_learning_versions
24
- WHERE comboName = ?
25
- ORDER BY version DESC LIMIT ?`,[a,b]).map(w)}function w(a){return{id:a.id,comboName:a.comboName,version:a.version,createdAt:a.createdAt,source:a.source,banditTable:(0,e.q)(a.banditTable,{}),learnedRules:(0,e.q)(a.learnedRules,[]),fewShots:(0,e.q)(a.fewShots,[]),evalScore:a.evalScore,prevVersionId:a.prevVersionId,promoted:!!a.promoted,notes:a.notes}}async function x({comboName:a,source:b="manual",banditTable:c={},learnedRules:g=[],fewShots:h=[],evalScore:i=null,notes:j="",promote:l=!1,prevVersionId:m=null}){let o=await (0,d.c)(),p=(0,f.randomUUID)(),q=k(),r=1;return o.transaction(()=>{let d=o.get("SELECT MAX(version) AS v FROM router_learning_versions WHERE comboName = ?",[a]);r=(d?.v||0)+1,l&&o.run("UPDATE router_learning_versions SET promoted = 0 WHERE comboName = ?",[a]),o.run(`INSERT INTO router_learning_versions(
26
- id, comboName, version, createdAt, source, banditTable, learnedRules,
27
- fewShots, evalScore, prevVersionId, promoted, notes
28
- ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)`,[p,a,r,q,b,(0,e.s)(c),(0,e.s)(g),(0,e.s)(h),i,m,+!!l,j||null])}),n(a),y(p)}async function y(a){let b=(await (0,d.c)()).get("SELECT * FROM router_learning_versions WHERE id = ?",[a]);return b?w(b):null}async function z(a){let b=await (0,d.c)(),c=b.get("SELECT * FROM router_learning_versions WHERE id = ?",[a]);return c?(b.transaction(()=>{b.run("UPDATE router_learning_versions SET promoted = 0 WHERE comboName = ?",[c.comboName]),b.run("UPDATE router_learning_versions SET promoted = 1 WHERE id = ?",[a])}),n(c.comboName),y(a)):null}async function A(a){let b=await u(a);return b?.prevVersionId?z(b.prevVersionId):null}async function B(a,b=null,c={}){let e=await (0,d.c)(),f=!1!==c.terminalOnly,g="(meta IS NULL OR meta NOT LIKE '%\"skippedRouter\":true%')",h=f?`AND (
29
- meta LIKE '%"terminal":true%'
30
- OR (meta IS NULL OR meta NOT LIKE '%"terminal"%')
31
- )
32
- AND ${g}`:`AND ${g}`;if(b){let c=e.get(`SELECT COUNT(DISTINCT COALESCE(requestId, CAST(id AS TEXT))) AS n
33
- FROM routing_events
34
- WHERE comboName = ? AND timestamp >= ?
35
- ${h}`,[a,b]);return c?.n||0}let i=e.get(`SELECT COUNT(DISTINCT COALESCE(requestId, CAST(id AS TEXT))) AS n
36
- FROM routing_events
37
- WHERE comboName = ?
38
- ${h}`,[a]);return i?.n||0}async function C(a,b=null){let c=await (0,d.c)();if(b){let d=c.get(`SELECT COUNT(*) AS n FROM routing_events
39
- WHERE comboName = ? AND timestamp >= ?
40
- AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')`,[a,b]);return d?.n||0}let e=c.get(`SELECT COUNT(*) AS n FROM routing_events
41
- WHERE comboName = ?
42
- AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')`,[a]);return e?.n||0}async function D(a,{days:b=14,limit:c=200,terminalOnly:e=!1}={}){let f=await (0,d.c)(),g=new Date(Date.now()-864e5*b).toISOString(),h=e?`AND (
43
- meta LIKE '%"terminal":true%'
44
- OR meta IS NULL
45
- OR meta NOT LIKE '%"terminal"%'
46
- )`:"";return f.all(`SELECT * FROM routing_events
47
- WHERE comboName = ? AND timestamp >= ?
48
- ${h}
49
- ORDER BY timestamp DESC LIMIT ?`,[a,g,c]).map(G)}async function E(a,b=14){let c=await (0,d.c)(),e=new Date(Date.now()-864e5*b).toISOString();return(c.all(`SELECT substr(timestamp, 1, 10) AS day,
50
- AVG(outcomeScore) AS avgScore,
51
- COUNT(*) AS n
52
- FROM routing_events
53
- WHERE comboName = ? AND timestamp >= ?
54
- AND outcomeScore IS NOT NULL
55
- AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
56
- AND (
57
- meta LIKE '%"terminal":true%'
58
- OR meta IS NULL
59
- OR meta NOT LIKE '%"terminal"%'
60
- )
61
- GROUP BY day
62
- ORDER BY day`,[a,e])||[]).map(a=>({day:a.day,avgScore:null!=a.avgScore?Number(a.avgScore):null,n:Number(a.n)||0}))}async function F(a){if(!a)return null;let b=(await (0,d.c)()).get(`SELECT MAX(createdAt) AS t FROM router_learning_versions
63
- WHERE comboName = ? AND source = 'scheduled'`,[a]);return b?.t||null}function G(a){return{...a,alternates:(0,e.q)(a.alternates,[]),meta:(0,e.q)(a.meta,{}),fallbackUsed:!!a.fallbackUsed}}async function H(a,b=14){let c=await (0,d.c)(),e=new Date(Date.now()-864e5*b).toISOString();return c.all(`SELECT cluster, pickedWorker,
64
- COUNT(*) AS n,
65
- SUM(CASE WHEN outcomeScore >= 60 THEN 1 ELSE 0 END) AS wins,
66
- AVG(outcomeScore) AS avgScore,
67
- AVG(workerLatencyMs) AS avgLatencyMs,
68
- AVG(tokensOut) AS avgTokensOut
69
- FROM routing_events
70
- WHERE comboName = ? AND timestamp >= ?
71
- AND cluster IS NOT NULL AND pickedWorker IS NOT NULL
72
- AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
73
- GROUP BY cluster, pickedWorker`,[a,e])}async function I(){return((await (0,d.c)()).all("SELECT DISTINCT comboName FROM routing_events WHERE comboName IS NOT NULL")||[]).map(a=>a.comboName).filter(Boolean)}async function J(a,b=14){let c=await (0,d.c)(),e=new Date(Date.now()-864e5*b).toISOString();return c.all(`SELECT pickedWorker AS worker,
74
- COUNT(*) AS n,
75
- SUM(CASE WHEN outcomeScore >= 60 THEN 1 ELSE 0 END) AS wins,
76
- AVG(outcomeScore) AS avgScore,
77
- AVG(workerLatencyMs) AS avgLatencyMs,
78
- AVG(tokensOut) AS avgTokensOut,
79
- SUM(CASE WHEN workerStatus >= 400 THEN 1 ELSE 0 END) AS errors
80
- FROM routing_events
81
- WHERE comboName = ? AND timestamp >= ? AND pickedWorker IS NOT NULL
82
- AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
83
- GROUP BY pickedWorker
84
- ORDER BY avgScore DESC`,[a,e])}async function K(a=14){let b=await (0,d.c)(),c=new Date(Date.now()-864e5*a).toISOString(),e=b.all(`SELECT pickedWorker, AVG(workerLatencyMs) AS avgLatencyMs, COUNT(*) AS n
85
- FROM routing_events
86
- WHERE timestamp >= ? AND pickedWorker IS NOT NULL AND workerLatencyMs IS NOT NULL
87
- AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
88
- GROUP BY pickedWorker`,[c]);if(!e?.length)return{};let f=Object.create(null);for(let a of e){let b=(0,h.lc)(a.pickedWorker),c=Number(a.n)||0,d=Number(a.avgLatencyMs);Number.isFinite(d)&&!(c<=0)&&(f[b]||(f[b]={n:0,totalLatencyMs:0}),f[b].n+=c,f[b].totalLatencyMs+=d*c)}return Object.fromEntries(Object.entries(f).map(([a,b])=>[a,b.n>0?b.totalLatencyMs/b.n:0]))}async function L(a=14){let b=await (0,d.c)(),c=new Date(Date.now()-864e5*a).toISOString(),e=b.all(`SELECT pickedWorker, cluster, COUNT(*) AS n,
89
- SUM(CASE WHEN outcomeScore >= 60 THEN 1 ELSE 0 END) AS wins,
90
- AVG(outcomeScore) AS avgScore, AVG(workerLatencyMs) AS avgLatencyMs
91
- FROM routing_events
92
- WHERE timestamp >= ? AND pickedWorker IS NOT NULL
93
- AND (meta LIKE '%"terminal":true%' OR meta IS NULL OR meta NOT LIKE '%"terminal"%')
94
- AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
95
- GROUP BY pickedWorker, cluster`,[c]),f=Object.create(null);for(let a of e||[]){let b=a.pickedWorker,c=Number(a.n)||0,d=Number(a.wins)||0,e=Number(a.avgScore)||0,g=Number(a.avgLatencyMs)||0;f[b]||(f[b]={worker:b,n:0,wins:0,totalScore:0,totalLatencyMs:0,clusters:Object.create(null)});let h=f[b];h.n+=c,h.wins+=d,h.totalScore+=e*c,h.totalLatencyMs+=g*c,h.clusters[a.cluster]={n:c,avgScore:e}}return Object.values(f).map(a=>({worker:a.worker,n:a.n,wins:a.wins,winRate:a.n>0?a.wins/a.n:0,avgScore:a.n>0?a.totalScore/a.n:0,avgLatencyMs:a.n>0?a.totalLatencyMs/a.n:0,clusters:a.clusters})).sort((a,b)=>b.avgScore-a.avgScore)}async function M(a,b=14){if(!a)return[];let c=await (0,d.c)(),e=new Date(Date.now()-864e5*b).toISOString();return(c.all(`SELECT substr(timestamp, 1, 10) AS day, pickedWorker AS worker,
96
- COUNT(*) AS n, AVG(outcomeScore) AS avgScore
97
- FROM routing_events
98
- WHERE comboName = ? AND timestamp >= ? AND outcomeScore IS NOT NULL
99
- AND pickedWorker IS NOT NULL
100
- AND (meta LIKE '%"terminal":true%' OR meta IS NULL OR meta NOT LIKE '%"terminal"%')
101
- AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
102
- GROUP BY day, worker
103
- ORDER BY day`,[a,e])||[]).map(a=>({day:a.day,worker:a.worker,n:Number(a.n)||0,avgScore:Number(a.avgScore)||0}))}async function N(a,b=14){if(!a)return{judged:0,total:0};let c=await (0,d.c)(),e=new Date(Date.now()-864e5*b).toISOString(),f=c.get(`SELECT COUNT(*) AS total,
104
- SUM(CASE WHEN meta LIKE '%"judgeScore":%' THEN 1 ELSE 0 END) AS judged
105
- FROM routing_events
106
- WHERE comboName = ? AND timestamp >= ? AND pickedWorker IS NOT NULL
107
- AND (meta LIKE '%"terminal":true%' OR meta IS NULL OR meta NOT LIKE '%"terminal"%')
108
- AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')`,[a,e]);return{judged:Number(f?.judged)||0,total:Number(f?.total)||0}}async function O(a,b=14){let c={router:0,bandit_policy:0,cached_route:0,exploration:0,judge_flag_escalation:0,fallback_rescue:0};if(!a)return c;let e=await (0,d.c)(),f=new Date(Date.now()-864e5*b).toISOString();for(let b of e.all(`SELECT routerReason, fallbackUsed, COUNT(*) AS n
109
- FROM routing_events
110
- WHERE comboName = ? AND timestamp >= ? AND pickedWorker IS NOT NULL
111
- AND (meta LIKE '%"terminal":true%' OR meta IS NULL OR meta NOT LIKE '%"terminal"%')
112
- AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
113
- GROUP BY routerReason, fallbackUsed`,[a,f])||[]){let a=Number(b.n)||0,d="router";String(b.routerReason).startsWith("exploration")?d="exploration":"bandit_policy"===b.routerReason?d="bandit_policy":"cached_route"===b.routerReason?d="cached_route":"judge_flag_escalation"===b.routerReason?d="judge_flag_escalation":1===Number(b.fallbackUsed)&&(d="fallback_rescue"),c[d]+=a}return c}let P=["router","bandit_policy","cached_route","exploration","judge_flag_escalation","fallback_rescue"];async function Q(){let a=await (0,d.c)(),b=a.get("SELECT available FROM prometheusMetricState WHERE id = 1");if(b?.available!==1)throw Error("Prometheus metrics unavailable");let c=a.all("SELECT source, requests, errors, fallbacks FROM prometheusRoutingTotals ORDER BY source")||[];if(c.length!==P.length)throw Error("invalid Prometheus routing metric source set");let e=Object.fromEntries(P.map(a=>[a,0])),f=new Set,g=0,h=0,j=0;for(let a of c){if(!P.includes(a.source)||f.has(a.source))throw Error("invalid Prometheus routing metric source");f.add(a.source);let b={};for(let c of["requests","errors","fallbacks"])try{b[c]=(0,i.T)(a[c],`${a.source}.${c}`,{integer:!0})}catch{throw Error(`invalid Prometheus routing metric: ${a.source}.${c}`)}e[a.source]=b.requests,g+=b.requests,h+=b.errors,j+=b.fallbacks}return{retainedRequests:g,retainedErrors:h,retainedFallbacks:j,autoDecisions:e}}async function R(a,b,c=14,e=200){if(!a||!b)return null;let f=await (0,d.c)(),g=new Date(Date.now()-864e5*c).toISOString(),h=f.all(`SELECT workerLatencyMs AS ms FROM routing_events
114
- WHERE comboName = ? AND cluster = ? AND timestamp >= ?
115
- AND workerLatencyMs IS NOT NULL
116
- AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
117
- ORDER BY timestamp DESC LIMIT ?`,[a,b,g,e]);if(!h?.length)return null;let i=h.map(a=>Number(a.ms)).filter(a=>Number.isFinite(a)).sort((a,b)=>a-b);if(!i.length)return null;let j=Math.floor(i.length/2);return i.length%2==0?(i[j-1]+i[j])/2:i[j]}async function S(a){if(!a)return{events:0,versions:0};let b=await (0,d.c)(),c=0,e=0;return b.transaction(()=>{(0,j.Bq)(b,()=>{!function(a,b,c){let d=a.all(`SELECT requestKey, terminalId, source, isError, fallbackUsed
118
- FROM prometheusRoutingRequests WHERE ${b}`,c)||[],e=new Map;for(let a of d){(0,j.SQ)(a);let b=e.get(a.source)||{source:a.source,requests:0,errors:0,fallbacks:0};b.requests+=1,b.errors+=a.isError,b.fallbacks+=a.fallbackUsed,e.set(a.source,b)}for(let b of e.values()){let c=a.get("SELECT source, requests, errors, fallbacks FROM prometheusRoutingTotals WHERE source = ?",[b.source]);(0,j.BO)(c,b.source),(0,j.BO)({source:b.source,requests:c.requests-b.requests,errors:c.errors-b.errors,fallbacks:c.fallbacks-b.fallbacks}),a.run(`UPDATE prometheusRoutingTotals
119
- SET requests = requests - ?, errors = errors - ?, fallbacks = fallbacks - ?
120
- WHERE source = ?`,[b.requests,b.errors,b.fallbacks,b.source])}a.run(`DELETE FROM prometheusRoutingRequests WHERE ${b}`,c)}(b,"comboName = ?",[a])}),c=b.run("DELETE FROM routing_events WHERE comboName = ?",[a])?.changes??0,e=b.run("DELETE FROM router_learning_versions WHERE comboName = ?",[a])?.changes??0}),n(a),{events:c,versions:e}}async function T(a,b){if(!a||!b||a===b)return;let c=await (0,d.c)();c.transaction(()=>{c.run("UPDATE routing_events SET comboName = ? WHERE comboName = ?",[b,a]),c.run("UPDATE router_learning_versions SET comboName = ? WHERE comboName = ?",[b,a]),(0,j.Bq)(c,()=>{for(let b of c.all(`SELECT requestKey, terminalId, source, isError, fallbackUsed
121
- FROM prometheusRoutingRequests WHERE comboName = ?`,[a])||[])(0,j.SQ)(b);c.run("UPDATE prometheusRoutingRequests SET comboName = ? WHERE comboName = ?",[b,a])})}),n(a),n(b)}},5125:(a,b,c)=>{"use strict";c.d(b,{BO:()=>k,Bq:()=>i,Kd:()=>j,SQ:()=>l});var d=c(73274);let e=["requests","promptTokens","completionTokens","cachedTokens"],f=["requests","errors","fallbacks"];function g(a,b){return!!a.get("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?",[b])}function h(a){g(a,"prometheusMetricState")&&a.run("UPDATE prometheusMetricState SET available = 0 WHERE id = 1")}function i(a,b){if(!function(a){if(!g(a,"prometheusMetricState"))return!1;let b=a.get("SELECT available FROM prometheusMetricState WHERE id = 1");try{let a=(0,d.T)(b?.available,"metricState.available",{integer:!0});if(![0,1].includes(a))throw Error("invalid Prometheus metric state");return 1===a}catch{return h(a),!1}}(a))return!1;try{return a.transaction(b),!0}catch{return h(a),!1}}function j(a,b=a?.provider||"usage"){if(!a||"string"!=typeof a.provider||!a.provider)throw Error(`invalid Prometheus usage metric: ${b}.provider`);for(let c of e)(0,d.T)(a[c],`${b}.${c}`,{integer:!0});return(0,d.T)(a.cost,`${b}.cost`),a}function k(a,b=a?.source||"routing"){if(!a||"string"!=typeof a.source||!a.source)throw Error(`invalid Prometheus routing metric: ${b}.source`);for(let c of f)(0,d.T)(a[c],`${b}.${c}`,{integer:!0});return a}function l(a,b=a?.requestKey||"routingRequest"){if(!a||"string"!=typeof a.source||!a.source)throw Error(`invalid Prometheus routing request: ${b}.source`);(0,d.T)(a.terminalId,`${b}.terminalId`,{integer:!0});let c=(0,d.T)(a.isError,`${b}.isError`,{integer:!0}),e=(0,d.T)(a.fallbackUsed,`${b}.fallbackUsed`,{integer:!0});if(![0,1].includes(c)||![0,1].includes(e))throw Error(`invalid Prometheus routing request: ${b}`);return a}},5770:(a,b,c)=>{"use strict";c.d(b,{Qm:()=>d,lc:()=>f,vL:()=>h});let d=2e4,e=new Map;function f(a){let b="string"==typeof a?a:String(a??""),c=b.indexOf("/");return -1===c?b:b.slice(0,c)}function g(a,b,c){let d=a?.[b];return Number.isFinite(d)?d:c}function h(a,b={}){let c=b.strategy??"off";if(!Array.isArray(a)||a.length<2||"off"===c)return a;let i=function(a){let b=new Set,c=[];for(let d of a){let a=f(d);b.has(a)||(b.add(a),c.push(a))}return c}(a),j=function(a,b,c){let d=new Map;if("priority"===b){let b=Array.isArray(c.providerOrder)?c.providerOrder:[];for(let c of a){let a=b.indexOf(c);d.set(c,-1===a?b.length:a)}return d}if("round-robin"===b){let b=c.rotationKey??"__default__",f=e.get(b)||0;e.set(b,f+1);let g=f%a.length;for(let b=0;b<a.length;b++)d.set(a[(g+b)%a.length],b);return d}for(let e of a){let f=c.providerQuota?.[e],h="fastest"===b?g(c.providerLatencyMs,e,1/0):"quota-first"===b?Number.isFinite(f)?100-f:1e6+g(c.providerUsage,e,0):a.indexOf(e);d.set(e,h)}return d}(i,c,b),k=Number.isFinite(b.guardMs)?b.guardMs:d;return a.map((a,c)=>{var d;let e,g=f(a);return{model:a,index:c,rank:j.get(g)??i.length,demoted:(d=b.providerLatencyMs,Number.isFinite(e=d?.[g])&&e>k)}}).sort((a,b)=>a.demoted!==b.demoted?Number(a.demoted)-Number(b.demoted):a.demoted?a.index-b.index:a.rank-b.rank||a.index-b.index).map(({model:a})=>a)}},36366:(a,b,c)=>{"use strict";c.d(b,{c:()=>l});var d=c(95658),e=c(92792);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1});let f=global._dbAdapter;async function g(a){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(4739).then(c.bind(c,24739));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] bun:sqlite unavailable: ${b.message}`),null}}async function h(a){if(process.versions.bun)return null;try{let{createBetterSqliteAdapter:a}=await c.e(5258).then(c.bind(c,25258));return a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] better-sqlite3 unavailable: ${b.message}`),null}}async function i(a){if(process.versions.bun)return null;let[b,e]=process.versions.node.split(".").map(Number);if(b<22||22===b&&e<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(8520).then(c.bind(c,88520));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] node:sqlite unavailable: ${b.message}`),null}}async function j(a){try{let{createSqlJsAdapter:a}=await c.e(3593).then(c.bind(c,53593));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] sql.js unavailable: ${b.message}`),null}}async function k(){if((0,e.I)())throw Error(`[DB] refusing to open ${d.AL} during next build — mark the calling page 'force-dynamic'`);(0,d.Jh)();let a=[],b=await g(a);if(b||(b=await h(a)),b||(b=await i(a)),b||(b=await j(a)),!b){if(a.some(a=>a?.code==="SQLITE_CORRUPT"||/corrupt|malformed|not a database/i.test(a?.message||"")))throw Error(`[DB] Database appears corrupted: ${d.AL}. Restore one of the five automatic backups from ${d.KQ}.`);throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)")}if(!f.logged){let a="sql.js"===b.driver?"warn":"log";"sql.js"===b.driver?console.warn(`[DB] WARNING: using sql.js fallback (in-memory + full-file rewrite). Prefer Node ≥22.5 (node:sqlite) or install better-sqlite3. file: ${d.AL}`):console[a](`[DB] Driver: ${b.driver} | file: ${d.AL}`),f.logged=!0}let{runMigrationOnce:k}=await Promise.all([c.e(8976),c.e(5350),c.e(869),c.e(5781),c.e(940)]).then(c.bind(c,59282));return await k(b),b}async function l(){return f.instance?f.instance:(f.initPromise||(f.initPromise=k().then(a=>(f.instance=a,a))),f.initPromise)}},43957:(a,b,c)=>{"use strict";function d({workerOk:a,workerLatencyMs:b=null,clusterP50LatencyMs:c=null,fallbackUsed:e=!1,retries:f=0,hasCompletion:g=!1,tokensOut:h=null,userRating:i=null}){let j=0,k=!!(e||null!=f&&f>0);return a&&!k&&(j+=40),a||(j-=20),a&&"number"==typeof b&&"number"==typeof c&&c>0&&b<c&&(j+=15),k&&(j-=30),a&&(!0===g||"number"==typeof h&&h>0)&&(j+=10),1===i&&(j+=25),-1===i&&(j-=25),Math.max(0,Math.min(100,j))}function e(a){let b=Number(a);return Number.isFinite(b)?b>=8?1:b<=3?-1:0:0}function f(a,b,c={}){let g,h=a&&"object"==typeof a?{...a}:{},i=void 0!==c.userRating?0===c.userRating?null:c.userRating:h.userRating??null,j=void 0!==c.judgeScore?c.judgeScore:h.judgeScore??null,k=null!=j?e(j):0,l=1===i||-1===i?i:k||null,m=h.scoreInputs;g=m&&"object"==typeof m?d({...m,userRating:l}):Math.max(0,Math.min(100,("number"==typeof h.baseOutcomeScore?h.baseOutcomeScore:Number(b)||0)+25*(l||0))),h.userRating=i,null!=j&&(h.judgeScore=j),h.scoreAdjustedBy=1===i||-1===i?"user":k?"judge":null,h.judgeAdjusted=!!k&&1!==i&&-1!==i;let n=Number(b)!==g;return{outcomeScore:g,meta:h,changed:n}}c.d(b,{Uq:()=>e,_4:()=>d,al:()=>f})},49120:(a,b,c)=>{"use strict";c.d(b,{nJ:()=>p,ok:()=>o});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="switchboard";function k(a){if("win32"===process.platform){let b=process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming");return g().join(b,a)}return g().join(i().homedir(),`.${a}`)}let l=["db/data.sqlite","machine-id","jwt-secret","auth","db.json"];function m(a){return l.some(b=>e().existsSync(g().join(a,b)))}function n(){let a=k(j);if(m(a))return a;let b=k("9router");return m(b)?(console.warn(`[DATA_DIR] using legacy data directory '${b}' (set DATA_DIR='${a}' to switch)`),b):a}function o(){let a=process.env.DATA_DIR;if(!a)return n();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),n();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),n();throw b}}let p=o()},73274:(a,b,c)=>{"use strict";function d(a,b,{integer:c=!1}={}){if("number"!=typeof a||!Number.isFinite(a)||a<0||c&&!Number.isInteger(a))throw Error(`invalid Prometheus metric number: ${b}`);return Object.is(a,-0)?0:a}c.d(b,{T:()=>d})},78335:()=>{},92792:(a,b,c)=>{"use strict";function d(){return"phase-production-build"===process.env.NEXT_PHASE||"phase-export"===process.env.NEXT_PHASE||"phase-static"===process.env.NEXT_PHASE}c.d(b,{I:()=>d})},95658:(a,b,c)=>{"use strict";c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>m,KQ:()=>k,Or:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(49120);let i=e().join(h.nJ,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l={main:e().join(h.nJ,"db.json"),usage:e().join(h.nJ,"usage.json"),disabled:e().join(h.nJ,"disabledModels.json"),details:e().join(h.nJ,"request-details.json")};function m(){for(let a of[h.nJ,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}},96487:()=>{}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=5573,exports.ids=[5573],exports.modules={20503:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={MutableRequestCookiesAdapter:function(){return o},ReadonlyRequestCookiesError:function(){return j},RequestCookiesAdapter:function(){return k},appendMutableCookies:function(){return n},areCookiesMutableInCurrentPhase:function(){return q},createCookiesWithMutableAccessCheck:function(){return p},getModifiedCookieValues:function(){return m},responseCookiesToRequestCookies:function(){return s}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(91488),g=c(20445),h=c(29294),i=c(43014);class j extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1180",enumerable:!1,configurable:!0})}static callable(){throw new j}}class k{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return j.callable;default:return g.ReflectAdapter.get(a,b,c)}}})}static fresh(a){return new Proxy(a,{get:(a,b,c)=>g.ReflectAdapter.get(a,b,c)})}}let l=Symbol.for("next.mutated.cookies");function m(a){let b=a[l];return b&&Array.isArray(b)&&0!==b.length?b:[]}function n(a,b){let c=m(b);if(0===c.length)return!1;let d=new f.ResponseCookies(a),e=d.getAll();for(let a of c)d.set(a);for(let a of e)d.set(a);return!0}class o{static wrap(a,b){let c=new f.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let d=[],e=new Set,j=()=>{let a=h.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=i.ActionDidRevalidateStaticAndDynamic),d=c.getAll().filter(a=>e.has(a.name)),b){let a=[];for(let b of d){let c=new f.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case l:return d;case"delete":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return g.ReflectAdapter.get(a,b,c)}}});return k}}function p(a){let b=new Proxy(a.mutableCookies,{get(c,d,e){switch(d){case"delete":return function(...d){return r(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return r(a,"cookies().set"),c.set(...d),b};default:return g.ReflectAdapter.get(c,d,e)}}});return b}function q(a){return"action"===a.phase}function r(a,b){if(!q(a))throw new j}function s(a){let b=new f.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}},34655:(a,b,c)=>{let d=c(63033),e=c(29294),f=c(23445),g=c(89768),h=c(15693),i=c(43449),j=c(72339);c(20445);c(48894);new WeakMap;(0,g.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`draftMode()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E835",enumerable:!1,configurable:!0})})},43014:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0});var c={ActionDidNotRevalidate:function(){return e},ActionDidRevalidateDynamicOnly:function(){return g},ActionDidRevalidateStaticAndDynamic:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=0,f=1,g=2},56022:(a,b,c)=>{Object.defineProperty(b,"b",{enumerable:!0,get:function(){return m}});let d=c(41398),e=c(29294),f=c(63033),g=c(23445),h=c(15693),i=c(48894),j=c(89768),k=c(92305),l=c(72339);function m(){let a="headers",b=e.workAsyncStorage.getStore(),c=f.workUnitAsyncStorage.getStore();if(b){if(c&&!(0,k.isRequestApiAllowedInCurrentPhase)(c))throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`after()\` while rendering. This is not supported. If you need this data inside an \`after()\` callback, use \`headers()\` outside of the callback. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E1378",enumerable:!1,configurable:!0});if(b.forceStatic)return o(d.HeadersAdapter.seal(new Headers({})));if(c)switch(c.type){case"cache":{let a=Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E833",enumerable:!1,configurable:!0});throw Error.captureStackTrace(a,m),(0,i.applyOwnerStack)(a),b.invalidDynamicUsageError??=a,a}case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E838",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1134",enumerable:!1,configurable:!0})}if(b.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`headers()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E828",enumerable:!1,configurable:!0});if(c)switch(c.type){case"prerender":var j=b,p=c;let e=n.get(p);if(e)return e;let f=(0,i.makeRuntimeHangingPromise)(p.renderSignal,j.route,"`headers()`",p);return n.set(p,f),f;case"prerender-client":case"validation-client":let q="`headers`";throw Object.defineProperty(new l.InvariantError(`${q} must not be used within a client component. Next.js should be preventing ${q} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1017",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,g.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,g.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(i.RENDER_STAGES_BY_DATA_KIND.sessionData,"headers",c.headers);return o(c.headers)}case"private-cache":return o(c.headers);case"request":if((0,g.trackDynamicDataInDynamicRender)(c),c.asyncApiPromises)return c.asyncApiPromises.headers;return o(c.headers)}}(0,f.throwForMissingRequestStore)(a)}let n=new WeakMap;function o(a){let b=n.get(a);if(b)return b;let c=Promise.resolve(a);return n.set(a,c),c}(0,j.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`headers()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E836",enumerable:!1,configurable:!0})})},65573:(a,b,c)=>{c.d(b,{UL:()=>d.U,b3:()=>e.b});var d=c(69015),e=c(56022);c(34655)},69015:(a,b,c)=>{Object.defineProperty(b,"U",{enumerable:!0,get:function(){return n}});let d=c(20503),e=c(91488),f=c(29294),g=c(63033),h=c(23445),i=c(15693),j=c(48894),k=c(89768),l=c(92305),m=c(72339);function n(){let a="cookies",b=f.workAsyncStorage.getStore(),c=g.workUnitAsyncStorage.getStore();if(b){if(c&&!(0,l.isRequestApiAllowedInCurrentPhase)(c))throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`after()\` while rendering. This is not supported. If you need this data inside an \`after()\` callback, use \`cookies()\` outside of the callback. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E1381",enumerable:!1,configurable:!0});if(b.forceStatic)return p(d.RequestCookiesAdapter.seal(new e.RequestCookies(new Headers({}))));if(b.dynamicShouldError)throw Object.defineProperty(new i.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`cookies()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E849",enumerable:!1,configurable:!0});if(c)switch(c.type){case"cache":let f=Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E831",enumerable:!1,configurable:!0});throw Error.captureStackTrace(f,n),(0,j.applyOwnerStack)(f),b.invalidDynamicUsageError??=f,f;case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E846",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1123",enumerable:!1,configurable:!0});case"prerender":var k=b,q=c;let g=o.get(q);if(g)return g;let r=(0,j.makeRuntimeHangingPromise)(q.renderSignal,k.route,"`cookies()`",q);return o.set(q,r),r;case"prerender-client":case"validation-client":let s="`cookies`";throw Object.defineProperty(new m.InvariantError(`${s} must not be used within a Client Component. Next.js should be preventing ${s} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1037",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,h.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,h.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(j.RENDER_STAGES_BY_DATA_KIND.sessionData,"cookies",c.cookies);return p(c.cookies)}case"private-cache":return p(c.cookies);case"request":let t;if((0,h.trackDynamicDataInDynamicRender)(c),t=(0,d.areCookiesMutableInCurrentPhase)(c)?c.userspaceMutableCookies:c.cookies,!c.asyncApiPromises)return p(t);if(t===c.mutableCookies)return c.asyncApiPromises.mutableCookies;return c.asyncApiPromises.cookies}}(0,g.throwForMissingRequestStore)(a)}let o=new WeakMap;function p(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),c}(0,k.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`cookies()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E830",enumerable:!1,configurable:!0})})},89768:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return i}});let d=function(a){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var b=e(void 0);if(b&&b.has(a))return b.get(a);var c={__proto__:null},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!==f&&Object.prototype.hasOwnProperty.call(a,f)){var g=d?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(c,f,g):c[f]=a[f]}return c.default=a,b&&b.set(a,c),c}(c(91986));function e(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(e=function(a){return a?c:b})(a)}let f={current:null},g="function"==typeof d.cache?d.cache:a=>a,h=console.warn;function i(a){return function(...b){h(a(...b))}}g(a=>{try{h(f.current)}finally{f.current=null}})}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=5616,exports.ids=[5616],exports.modules={18271:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>m,refreshAndUpdateCredentials:()=>l});var e=c(30369),f=c(15717),g=c(56002),h=c(48400),i=c(39326),j=c(40615),k=a([e,h]);[e,h]=k.then?(await k)():k;let n=["expired","authentication","unauthorized","401","re-authorize"];async function l(a,b=!1,c=null){let d=(0,h.SB)(a.provider),e={accessToken:a.accessToken,refreshToken:a.refreshToken,idToken:a.idToken,expiresAt:a.expiresAt||a.tokenExpiresAt,lastRefreshAt:a.lastRefreshAt,connectionId:a.id,providerSpecificData:a.providerSpecificData,copilotToken:a.providerSpecificData?.copilotToken,copilotTokenExpiresAt:a.providerSpecificData?.copilotTokenExpiresAt};if(!(b||d.needsRefresh(e)))return{connection:a,refreshed:!1};let g=await d.refreshCredentials(e,console,c);if(!g){if(a.accessToken)return{connection:a,refreshed:!1};throw Error("Failed to refresh credentials. Please re-authorize the connection.")}let i={updatedAt:new Date().toISOString()};g.accessToken&&(i.accessToken=g.accessToken),g.refreshToken&&(i.refreshToken=g.refreshToken),g.idToken&&(i.idToken=g.idToken),g.lastRefreshAt&&(i.lastRefreshAt=g.lastRefreshAt),g.expiresIn?(i.expiresAt=new Date(Date.now()+1e3*g.expiresIn).toISOString(),i.expiresIn=g.expiresIn):g.expiresAt&&(i.expiresAt=g.expiresAt);let j={...g.providerSpecificData||{},...g.copilotToken?{copilotToken:g.copilotToken}:{},...g.copilotTokenExpiresAt?{copilotTokenExpiresAt:g.copilotTokenExpiresAt}:{}};return Object.keys(j).length>0&&(i.providerSpecificData={...a.providerSpecificData||{},...j}),await (0,f.updateProviderConnection)(a.id,i),{connection:{...a,...i,providerSpecificData:i.providerSpecificData||a.providerSpecificData},refreshed:!0}}async function m(a,{params:b}){let c;try{let{connectionId:d}=await b,e="1"===new URL(a.url).searchParams.get("force");if(!(c=await (0,f.Mc)(d)))return Response.json({error:"Connection not found"},{status:404});let h="oauth"===c.authType,k=("apikey"===c.authType||"api_key"===c.authType)&&j.jO.includes(c.provider);if(!h&&!k)return Response.json({message:"Usage not available for this connection"});let m=await (0,i.B)(c.providerSpecificData),o={connectionProxyEnabled:!0===m.connectionProxyEnabled,connectionProxyUrl:m.connectionProxyUrl||"",connectionNoProxy:m.connectionNoProxy||"",vercelRelayUrl:m.vercelRelayUrl||"",strictProxy:!1};if(h)try{c=(await l(c,!1,o)).connection}catch(a){return console.error("[Usage API] Credential refresh failed:",a),Response.json({error:`Credential refresh failed: ${a.message}`},{status:401})}let p=await (0,g.my)(c,o,{force:e});if(h&&function(a){if(!a?.message)return!1;let b=a.message.toLowerCase();return n.some(a=>b.includes(a))}(p)&&c.refreshToken)try{c=(await l(c,!0,o)).connection,p=await (0,g.my)(c,o,{force:e})}catch(a){console.warn(`[Usage] ${c.provider}: force refresh failed: ${a.message}`)}return Response.json(p)}catch(b){let a=c?.provider??"unknown";return console.warn(`[Usage] ${a}: ${b.message}`),Response.json({error:b.message},{status:500})}}d()}catch(a){d(a)}})},39326:(a,b,c)=>{function d(a){return null==a?"":String(a).trim()}async function e(a={}){try{let b=function(a={}){let b=a?.connectionProxyEnabled===!0,c=d(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:d(a?.connectionNoProxy)}}(a);if(b.connectionProxyEnabled&&b.connectionProxyUrl)return{source:"legacy",proxyPoolId:null,proxyPool:null,...b,strictProxy:!1,vercelRelayUrl:""};return{source:"none",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:b.connectionNoProxy||"",strictProxy:!1,vercelRelayUrl:""}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1,vercelRelayUrl:""}}}c.d(b,{B:()=>e})},49485:(a,b,c)=>{c.d(b,{RO:()=>m,Tl:()=>k,Yt:()=>l});var d=c(46052),e=c(88705);let f={usageUrl:(0,e.U)("codex").url,resetCreditsUrl:(0,e.U)("codex").resetCreditsUrl,resetCreditsConsumeUrl:(0,e.U)("codex").resetCreditsConsumeUrl};function g(a){if(!a)return null;let b=a instanceof Date?a:new Date("number"==typeof a&&a<1e12?1e3*a:a);return Number.isFinite(b.getTime())?b.toISOString():null}function h(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a.rate_limit&&"object"==typeof a.rate_limit?a.rate_limit:a}function i(a){let b=Math.max(0,Math.min(100,(0,e.IQ)(a?.used_percent??a?.percent_used,0)));return{used:b,total:100,remaining:Math.max(0,100-b),resetAt:(0,e.eZ)(a?.reset_at??a?.resets_at??a?.resetAt??null),unlimited:!1}}function j(a,b,c){let d=h(c);if(!d)return!1;let e=d.primary_window||d.primary||c.primary_window||c.primary,f=d.secondary_window||d.secondary||c.secondary_window||c.secondary,g=!1;return e&&(a[b?`${b}_session`:"session"]=i(e),g=!0),f&&(a[b?`${b}_weekly`:"weekly"]=i(f),g=!0),g}async function k(a,b=null){try{let c=await (0,d.Fm)(f.usageUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"},identity:"codex-cli",provider:"codex",format:"codex"},b);if(!c.ok)return{message:`Codex connected. Usage API temporarily unavailable (${c.status}).`};let g=await c.json(),i=g.rate_limit||g.rate_limits||g.rate_limits_by_limit_id?.codex||{},k=function(a){if(a.code_review_rate_limit||a.review_rate_limit)return a.code_review_rate_limit||a.review_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b.code_review||b.codex_review||b.review||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return"code_review"===b||"codex_review"===b||"review"===b||b.includes("review")})||null}(g),l=Math.max(0,(0,e.IQ)(g.rate_limit_reset_credits?.available_count,0)),m={};return j(m,"",i),j(m,"review",k),{plan:g.plan_type||g.summary?.plan||"unknown",limitReached:h(i)?.limit_reached||!1,reviewLimitReached:h(k)?.limit_reached||!1,resetCredits:{availableCount:l},quotas:m}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function l(a,b=null,c=null){if(!a)throw Error("No Codex access token available. Please re-authorize the connection.");let h=c?.workspaceId||c?.accountId||c?.chatgptAccountId||null,i={Authorization:`Bearer ${a}`,Accept:"application/json","OpenAI-Beta":"codex-1",originator:"codex_cli_rs"};h&&(i["ChatGPT-Account-ID"]=h);let j=await (0,d.Fm)(f.resetCreditsUrl,{method:"GET",headers:i,identity:"codex-cli",provider:"codex",format:"codex"},b),k=null;try{k=await j.json()}catch{k=null}if(!j.ok)throw Error(k?.message||k?.error||k?.detail||`Codex reset credits API unavailable (${j.status}).`);let m=Array.isArray(k?.credits)?k.credits:[];return{availableCount:Math.max(0,(0,e.IQ)(k?.available_count??k?.availableCount,0)),credits:m.map(a=>({status:String(a?.status||"unknown"),grantedAt:g(a?.granted_at??a?.grantedAt),expiresAt:g(a?.expires_at??a?.expiresAt)}))}}async function m(a,b,c=null){let g;if(!a)throw Error("No Codex access token available. Please re-authorize the connection.");if(!b||"string"!=typeof b)throw Error("A redeem request id is required to consume a Codex reset credit.");let h=null;try{g=await (0,d.Fm)(f.resetCreditsConsumeUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({redeem_request_id:b}),identity:"codex-cli",provider:"codex",format:"codex"},c);let e=await g.text();h=e?JSON.parse(e):null}catch(a){throw Error(`Failed to consume Codex reset credit: ${a.message}`)}let i=h?.code||null,j=(0,e.IQ)(h?.windows_reset,0);return{ok:g.ok&&("reset"===i||j>0),noCredit:g.ok&&"no_credit"===i,status:g.status,code:i,windowsReset:j,message:h?.message||null,raw:h}}},56002:(a,b,c)=>{c.d(b,{RO:()=>o.RO,Yt:()=>o.Yt,my:()=>U});var d=c(46052),e=c(88705);async function f(a,b,c=null){try{if(!a)throw Error("No GitHub access token available. Please re-authorize the connection.");let b=await (0,d.Fm)((0,e.U)("github").url,{headers:{Authorization:`token ${a}`,Accept:"application/json"},identity:"copilot",provider:"github",format:"openai"},c);if(!b.ok){let a=await b.text();throw Error(`GitHub API error: ${a}`)}let f=await b.json();if(f.quota_snapshots){let a=f.quota_snapshots,b=(0,e.eZ)(f.quota_reset_date);return{plan:f.copilot_plan,resetDate:f.quota_reset_date,quotas:{chat:{...g(a.chat),resetAt:b},completions:{...g(a.completions),resetAt:b},premium_interactions:{...g(a.premium_interactions),resetAt:b}}}}if(f.monthly_quotas||f.limited_user_quotas){let a=f.monthly_quotas||{},b=f.limited_user_quotas||{},c=(0,e.eZ)(f.limited_user_reset_date);return{plan:f.copilot_plan||f.access_type_sku,resetDate:f.limited_user_reset_date,quotas:{chat:{used:b.chat||0,total:a.chat||0,unlimited:!1,resetAt:c},completions:{used:b.completions||0,total:a.completions||0,unlimited:!1,resetAt:c}}}}return{message:"GitHub Copilot connected. Unable to parse quota data."}}catch(a){throw Error(`Failed to fetch GitHub usage: ${a.message}`)}}function g(a){return a?{used:a.entitlement-a.remaining,total:a.entitlement,remaining:a.remaining,unlimited:a.unlimited||!1}:{used:0,total:0,unlimited:!0}}var h=c(28730);let i=(0,e.U)("antigravity");async function j(a,b,c=null){if(!a)return{plan:"Free",message:"Gemini CLI access token not available."};try{let d=(0,e.gD)(b?.projectId),f="Free";if(!d){let b=await k(a,c);d=(0,e.gD)(b?.cloudaicompanionProject),f=b?.currentTier?.name||f}if(!d)return{plan:f,message:"Gemini CLI project ID not available. Reconnect Gemini CLI, or configure a Google Cloud project with Gemini Code Assist access before checking quota."};let g=await (0,e.u9)((0,e.U)("gemini-cli").quotaUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({project:d}),identity:"gemini-cli",provider:"gemini-cli",format:"gemini"},1e4,c);if(!g.ok)return{plan:f,message:`Gemini CLI quota error (${g.status}).`};let h=await g.json(),i={};if(Array.isArray(h.buckets))for(let a of h.buckets){if(!a.modelId||null==a.remainingFraction)continue;let b=Number(a.remainingFraction)||0,c=Math.round(1e3*b),d=Math.max(0,1e3-c);i[a.modelId]={used:d,total:1e3,resetAt:(0,e.eZ)(a.resetTime),remainingPercentage:100*b,unlimited:!1}}return{plan:f,quotas:i}}catch(a){return{message:`Gemini CLI error: ${a.message}`}}}async function k(a,b=null){try{let c=await (0,e.u9)((0,e.U)("gemini-cli").loadCodeAssistUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:h.Cn}),identity:"gemini-cli",provider:"gemini-cli",format:"gemini"},1e4,b);if(!c.ok)return null;return await c.json()}catch{return null}}async function l(a,b,c=null){try{let b=await m(a,c),d=b?.cloudaicompanionProject||null,f=await (0,e.u9)(i.quotaApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json","X-Client-Name":"antigravity"},body:JSON.stringify({...d?{project:d}:{}}),identity:"antigravity",provider:"antigravity",format:"antigravity"},1e4,c);if(403===f.status)return{message:"Antigravity quota API access forbidden. Chat may still work.",quotas:{}};if(401===f.status)return{message:"Antigravity quota API authentication expired. Chat may still work.",quotas:{}};if(!f.ok)throw Error(`Antigravity API error: ${f.status}`);let g=await f.json(),h={};if(g.models){let a=["gemini-3-flash-agent","gemini-3.5-flash-low","gemini-3.5-flash-extra-low","gemini-pro-agent","gemini-3.1-pro-low","claude-sonnet-4-6","claude-opus-4-6-thinking","gpt-oss-120b-medium","gemini-3-flash","gemini-3.1-flash-image","gemini-3-pro-image"];for(let[b,c]of Object.entries(g.models)){if(!c.quotaInfo||c.isInternal||!a.includes(b))continue;let d=c.quotaInfo.remainingFraction||0,f=100*d,g=Math.round(1e3*d),i=1e3-g;h[b]={used:i,total:1e3,resetAt:(0,e.eZ)(c.quotaInfo.resetTime),remainingPercentage:f,unlimited:!1,displayName:c.displayName||b}}}return{plan:b?.currentTier?.name||"Unknown",quotas:h,subscriptionInfo:b}}catch(a){return console.error("[Antigravity Usage] Error:",a.message,a.cause),{message:`Antigravity error: ${a.message}`}}}async function m(a,b=null){try{let c=await (0,e.u9)(i.loadProjectApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:h.Cn,mode:1}),identity:"antigravity",provider:"antigravity",format:"antigravity"},1e4,b);if(!c.ok)return null;return await c.json()}catch(a){return console.error("[Antigravity Subscription] Error:",a.message),null}}var n=c(98594),o=c(49485),p=c(3148);async function q(a,b,c=null){let f=b?.authMethod||"builder-id",g="api_key"===f,h=g?{tokentype:"API_KEY"}:{},i="external_idp"===f?{TokenType:"EXTERNAL_IDP"}:{},j=g?b?.profileArn||"":b?.profileArn||(0,p.We)(f),k=new URLSearchParams({isEmailRequired:"true",origin:"AI_EDITOR",resourceType:"AGENTIC_REQUEST"}),l=!1,m=[];for(let b of[{name:"codewhisperer-get",run:async()=>(0,d.Fm)(`${(0,e.U)("kiro").cwHost}${(0,e.U)("kiro").limitsPath}?${k.toString()}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","x-amz-user-agent":"aws-sdk-js/1.0.0 KiroIDE","user-agent":"aws-sdk-js/1.0.0 KiroIDE",...h,...i}},c)},{name:"codewhisperer-post",run:async()=>(0,d.Fm)((0,e.U)("kiro").cwHost,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.GetUsageLimits",Accept:"application/json",...h,...i},body:JSON.stringify({origin:"AI_EDITOR",...j?{profileArn:j}:{},resourceType:"AGENTIC_REQUEST"})},c)},{name:"q-get",run:async()=>{let b=new URLSearchParams({origin:"AI_EDITOR",...j?{profileArn:j}:{},resourceType:"AGENTIC_REQUEST"});return(0,d.Fm)(`${(0,e.U)("kiro").qHost}${(0,e.U)("kiro").limitsPath}?${b}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...h,...i}},c)}}])try{let a=await b.run();if(!a.ok){let c=await a.text().catch(()=>"");(401===a.status||403===a.status)&&(l=!0),m.push(`${b.name}:${a.status}${c?`:${c}`:""}`);continue}let c=await a.json();return function(a){let b=a.usageBreakdownList||[],c={},d=(0,e.eZ)(a.nextDateReset||a.resetDate);return b.forEach(a=>{let b=a.resourceType?.toLowerCase()||"unknown",f=a.currentUsageWithPrecision||0,g=a.usageLimitWithPrecision||0;if(c[b]={used:f,total:g,remaining:g-f,resetAt:d,unlimited:!1},a.freeTrialInfo){let f=a.freeTrialInfo.currentUsageWithPrecision||0,g=a.freeTrialInfo.usageLimitWithPrecision||0;c[`${b}_freetrial`]={used:f,total:g,remaining:g-f,resetAt:(0,e.eZ)(a.freeTrialInfo.freeTrialExpiry||d),unlimited:!1}}}),{plan:a.subscriptionInfo?.subscriptionTitle||"Kiro",quotas:c}}(c)}catch(a){m.push(`${b.name}:${a.message}`)}return l&&"idc"===f?{message:"Kiro quota API is unavailable for the current AWS IAM Identity Center session. Chat may still work. If this persists after renewing your session, reconnect Kiro.",quotas:{}}:l&&("google"===f||"github"===f)?{message:"Kiro quota API authentication expired. Chat may still work.",quotas:{}}:l?{message:"Kiro quota API rejected the current token. Chat may still work.",quotas:{}}:{message:m.length>0?`Unable to fetch Kiro usage right now. (${m[m.length-1]})`:"Unable to fetch Kiro usage right now.",quotas:{}}}let r={minimax:(0,e.U)("minimax").urls,"minimax-cn":(0,e.U)("minimax-cn").urls};function s(a,b,c){return a&&"object"==typeof a?a[b]??a[c]??null:null}function t(a,b,c){if(!a||"object"!=typeof a)return null;let d=a[b]??a[c];if(null==d)return null;let e=Number(d);return Number.isFinite(e)?Math.max(0,Math.min(100,e)):null}function u(a){return Math.max(0,Number(s(a,"current_interval_total_count","currentIntervalTotalCount"))||0)}function v(a){return Math.max(0,Number(s(a,"current_weekly_total_count","currentWeeklyTotalCount"))||0)}function w(a){return!!(u(a)>0||v(a)>0)||null!==t(a,"current_interval_remaining_percent","currentIntervalRemainingPercent")||null!==t(a,"current_weekly_remaining_percent","currentWeeklyRemainingPercent")}function x(a,b,c,d,f,g,h,i,j,k){let l=d(c),m=t(c,h,i);if(l<=0&&null===m)return;let n=Math.max(0,Number(s(c,f,g))||0),o=l,p=n;l<=0&&(o=100,p=k?Math.round(m/100*o):Math.round(o*(1-m/100))),a[b]=function(a,b,c,d,e=null){var f,g,h;let i=Math.max(0,a),j=d?Math.max(i-b,0):Math.min(Math.max(0,b),i),k=Math.max(i-j,0),l=(f=e,g=k,h=i,null!=f&&Number.isFinite(f)?Math.max(0,Math.min(100,f)):h>0?Math.max(0,Math.min(100,g/h*100)):0);return{used:j,total:i,remaining:k,remainingPercentage:l,resetAt:c,unlimited:!1}}(o,p,function(a,b,c,d,f,g){let h=Number(s(a,c,d))||0;return h>0?new Date(b+h).toISOString():(0,e.eZ)(s(a,f,g))}(c,...j),k,m)}async function y(a,b,c=null){if(!a)return{message:"MiniMax API key not available."};let e=r[b]||[],f="";for(let b=0;b<e.length;b+=1){let g=e[b],h=b<e.length-1;try{let b=await (0,d.Fm)(g,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"}},c),e=await b.text(),i={};if(e)try{i=JSON.parse(e)}catch{i={}}let j=(i?.base_resp??i?.baseResp)||{},k=Number(j.status_code??j.statusCode)||0,l=String(j.status_msg??j.statusMsg??"").trim(),m=`${l} ${e}`.trim(),n=/token plan|coding plan|invalid api key|invalid key|unauthorized|inactive/i;if(401===b.status||403===b.status||1004===k||n.test(m))return{message:"MiniMax API key invalid or inactive. Use an active Token/Coding Plan key."};if(!b.ok){if(f=`MiniMax usage endpoint error (${b.status})`,(404===b.status||405===b.status||b.status>=500)&&h)continue;return{message:`MiniMax connected. ${f}`}}if(0!==k)return{message:`MiniMax connected. ${l||"Upstream quota API error"}`};let o=i?.model_remains??i?.modelRemains,p=(Array.isArray(o)?o:[]).filter(w);if(0===p.length)return{message:"MiniMax connected. No quota data was returned."};let q=Date.now(),r=g.includes("/coding_plan/remains"),t={};for(let a of p){let b=function(a){let b=String(s(a,"model_name","modelName")||"").trim();return b?"MiniMax-M*"===b||"general"===b?"M-series":b.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase()).replace(/\bTo\b/g,"to").replace(/\bTts\b/g,"TTS").replace(/\bHd\b/g,"HD"):"MiniMax"}(a);x(t,`${b} (5h)`,a,u,"current_interval_usage_count","currentIntervalUsageCount","current_interval_remaining_percent","currentIntervalRemainingPercent",[q,"remains_time","remainsTime","end_time","endTime"],r),x(t,`${b} (7d)`,a,v,"current_weekly_usage_count","currentWeeklyUsageCount","current_weekly_remaining_percent","currentWeeklyRemainingPercent",[q,"weekly_remains_time","weeklyRemainsTime","weekly_end_time","weeklyEndTime"],r)}if(0===Object.keys(t).length)return{message:"MiniMax connected. Unable to extract quota usage."};return{quotas:t}}catch(a){if(f=a.message,!h)break}}return{message:f?`MiniMax connected. Unable to fetch usage: ${f}`:"MiniMax connected. Unable to fetch usage."}}var z=c(45350);let A="codebuddy-cn";function B(a,b){let c=Number(a??b);return Number.isFinite(c)?c:0}async function C(a,b,c,f=null){let g=a||b;if(!g)return{message:"CodeBuddy CN credential not available."};try{let a=await (0,d.Fm)((0,e.U)(A).url,{method:"POST",headers:{...z.xq[A]?.headers||{},Authorization:`Bearer ${g}`,"Content-Type":"application/json",Accept:"application/json"},body:"{}"},f);if(401===a.status||403===a.status)return{message:"CodeBuddy CN credential invalid or expired."};if(!a.ok)return{message:`CodeBuddy CN quota API error (${a.status}).`};let b=await a.json();if(b?.code!==0)return{message:`CodeBuddy CN quota error: ${b?.msg||"unknown"}`};let c=b?.data?.Response?.Data||{},h=Array.isArray(c.Accounts)?c.Accounts:[];if(0===h.length)return{message:"CodeBuddy CN connected. No credit package found."};let i=a=>{let b=(0,e.eZ)(a.CycleEndTime);return b?new Date(b).getTime():1/0},j=a=>{let b=i(a),c=Number(a.DeductionEndTime);return Number.isFinite(b)&&Number.isFinite(c)&&c-b>1728e5},k=(a,b)=>i(a)-i(b),l=h.filter(j).sort(k),m=h.filter(a=>!j(a)).sort(k),n={},o={};l.forEach(a=>{let b=function(a){let b=(0,e.eZ)(a.CycleStartTime),c=(0,e.eZ)(a.CycleEndTime);if(b&&c){let a=(new Date(c).getTime()-new Date(b).getTime())/864e5;if(a<=1.5)return"Daily";if(a<=10)return"Weekly"}return"Monthly"}(a);o[b]=(o[b]||0)+1,n[o[b]>1?`${b} ${o[b]}`:b]={used:B(a.CycleCapacityUsedPrecise,a.CycleCapacityUsed),total:B(a.CycleCapacitySizePrecise,a.CycleCapacitySize),resetAt:(0,e.eZ)(a.CycleEndTime),unlimited:!1,recurring:!0}}),m.forEach((a,b)=>{n[`Bonus Pack ${b+1}`]={used:B(a.CapacityUsedPrecise,a.CapacityUsed),total:B(a.CapacitySizePrecise,a.CapacitySize),resetAt:(0,e.eZ)(a.CycleEndTime),unlimited:!1,recurring:!1}});let p=l[0]||h[0]||{};return{plan:p.PackageName||p.SubProductName||"CodeBuddy CN",quotas:n}}catch(a){return{message:`CodeBuddy CN error: ${a.message}`}}}let D={LEVEL_BASIC:"Moderato",LEVEL_INTERMEDIATE:"Allegretto",LEVEL_ADVANCED:"Allegro",LEVEL_STANDARD:"Vivace"};function E({used:a,total:b,remaining:c,resetAt:d}){let f,g=Math.max(0,(0,e.IQ)(b,0)),h=Math.max(0,(0,e.IQ)(a,0));return f=g>0&&null!=c&&Number.isFinite(Number(c))?Math.max(0,Number(c))/g*100:g>0?Math.max(0,g-h)/g*100:0,{used:h,total:g,remainingPercentage:f,resetAt:d||null,unlimited:!1}}async function F(a=null,b=null,c=null,f=null){let g="string"==typeof b&&b.length>0,i=!g&&"string"==typeof a&&a.length>0;if(!g&&!i)return{message:"Kimi access token or API key not available."};let j=g?{"x-api-key":b}:{Authorization:`Bearer ${a}`,...(0,h.VK)(f?.deviceId)};try{let a,b=await (0,d.Fm)("https://api.kimi.com/coding/v1/usages",{method:"GET",headers:{...j,"Content-Type":"application/json",Accept:"application/json"}},c),f=await b.text().catch(()=>"");if(!b.ok)return{plan:"Kimi Coding",message:function(a,b){let c=null;try{c=JSON.parse(b||"")}catch{}let d=Array.isArray(c?.details)?c.details[0]:null,e=d?.debug||c?.debug||null,f=e?.reason||c?.reason||"",g=e?.localizedMessage?.message||d?.localizedMessage?.message||c?.message||"";if(401===a)return"Kimi authentication expired. Please re-authorize.";if(403===a&&("REASON_FEATURE_NO_PERMISSION"===f||/permission_denied|do not have permission|subscribe/i.test(`${c?.code||""} ${g} ${b||""}`)))return g||"Kimi connected, but this account has no permission to view usage. Subscribe to Kimi Code to access quota.";let h=(g||b||"").slice(0,100);return h?`Kimi Coding connected. API Error ${a}: ${h}`:`Kimi Coding connected. API Error ${a}`}(b.status,f)};try{a=JSON.parse(f||"{}")}catch{return{plan:"Kimi Coding",message:"Kimi Coding connected. Invalid JSON response from API."}}let g={},h=a?.usage&&"object"==typeof a.usage?a.usage:{},i=(0,e.IQ)(h.limit??h.Limit,0),k=(0,e.IQ)(h.used??h.Used,0),l=h.remaining??h.Remaining,m=null!=l&&""!==l?(0,e.IQ)(l,NaN):NaN,n=h.resetTime||h.ResetTime||h.reset_at||h.resetAt;for(let b of(i>0&&(g.Weekly=E({used:k,total:i,remaining:Number.isFinite(m)?m:null,resetAt:(0,e.eZ)(n)})),Array.isArray(a?.limits)?a.limits:[])){if(!b||"object"!=typeof b)continue;let a=b.detail&&"object"==typeof b.detail?b.detail:{},c=(0,e.IQ)(a.limit??a.Limit,0),d=(0,e.IQ)(a.remaining??a.Remaining,NaN),f=a.resetTime||a.reset_at||a.resetAt;if(c>0){let a=Number.isFinite(d)?d:Math.max(0,c);g.Ratelimit=E({used:Math.max(0,c-a),total:c,remaining:a,resetAt:(0,e.eZ)(f)})}}let o=a?.user?.membership?.level,p=function(a){if(!a)return"";let b=String(a);return D[b]?D[b]:b.replace(/^LEVEL_/,"").toLowerCase()}(o)||"Kimi Coding";if(Object.keys(g).length>0)return{plan:p,quotas:g};return{plan:p,message:"Kimi Coding connected. Usage tracked per request."}}catch(a){return{message:`Kimi Coding connected. Unable to fetch usage: ${a.message}`}}}async function G(a=null,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"DeepSeek API key not available. Add a key to view usage."};try{let c=await (0,d.Fm)("https://api.deepseek.com/user/balance",{method:"GET",headers:{Authorization:`Bearer ${a.trim()}`,"Content-Type":"application/json",Accept:"application/json"}},b);if(401===c.status||403===c.status)return{plan:"DeepSeek",message:"DeepSeek authentication failed. Check the API key."};if(!c.ok){let a=await c.text().catch(()=>"");return{plan:"DeepSeek",message:`DeepSeek balance API error (${c.status})${a?`: ${a.slice(0,120)}`:""}`}}let f=await c.json().catch(()=>null);if(!f||"object"!=typeof f)return{message:"DeepSeek balance response was not JSON."};let g=function(a){let b=Array.isArray(a?.balance_infos)?a.balance_infos:[],c=[];for(let a of b){if(!a||"object"!=typeof a)continue;let b="string"==typeof a.currency?a.currency.toUpperCase():"";if(!b)continue;let d=(0,e.IQ)(a.total_balance??a.totalBalance,0);c.push({currency:b,totalBalance:d,grantedBalance:(0,e.IQ)(a.granted_balance??a.grantedBalance,0),toppedUpBalance:(0,e.IQ)(a.topped_up_balance??a.toppedUpBalance,0)})}return c}(f);if(0===g.length)return{plan:"DeepSeek",message:"DeepSeek connected. No balance data returned."};let h=!0===f.is_available||!0===f.isAvailable,i={};for(let a of g){let b=Math.max(0,a.totalBalance);i[`Balance (${a.currency})`]={used:0,total:b,remainingPercentage:100*(b>0),resetAt:null,unlimited:b>0}}return{plan:h?"DeepSeek":"DeepSeek (Insufficient Balance)",quotas:i}}catch(a){return{message:`DeepSeek error: ${a.message}`}}}var H=c(13247);let I=(a,b=0)=>a&&"object"==typeof a&&"val"in a?(0,e.IQ)(a.val,b):(0,e.IQ)(a,b);function J(a,b,c=null){let d=Math.max(0,b),e=Math.max(0,a);return{used:e,total:d,remainingPercentage:d?Math.max(0,(d-e)/d*100):0,resetAt:c,unlimited:!1}}async function K(a,b=null,c=null){if(!a)return{message:"Grok CLI access token not available."};let f=(0,H.Ab)(a,b||{}),g=(0,e.U)("grok-cli");try{let[a,b]=await Promise.all([(0,d.Fm)(g.url,{method:"GET",headers:f,...H.Ai},c),(0,d.Fm)(g.userUrl,{method:"GET",headers:f,signal:AbortSignal.timeout(2e3),...H.Ai},c).catch(()=>null)]);if(401===a.status||403===a.status)return{message:"Grok CLI authentication expired. Please re-authorize."};if(!a.ok)return{message:`Grok CLI billing API error (${a.status})`};let h=await a.json(),i=b?.ok?await b.json().catch(()=>null):null,j=function(a,b=null){let c=a&&"object"==typeof a?a:{},d=c.config&&"object"==typeof c.config?c.config:c,f=(0,e.eZ)(d.billingPeriodEnd||d.currentPeriod?.end||d.resetAt),g=b?.subscriptionTier||b?.subscription_tier||b?.subscription?.tier||"",h="string"==typeof g&&""!==g&&!/^(free|none|null)$/i.test(g),i={},j=I(d.monthlyLimit??c.monthlyLimit,NaN),k=I(d.includedUsed??c.includedUsed??d.totalUsed??c.totalUsed,0);Number.isFinite(j)&&j>0&&(i["Monthly included"]=J(k,j,f));let l=I(d.onDemandCap??c.onDemandCap,NaN),m=I(d.onDemandUsed??c.onDemandUsed,0);Number.isFinite(l)&&l>0?i["On-demand"]=J(m,l,f):h||0!==l||(i["On-demand"]=J(1,1,f));let n=I(d.prepaidBalance??c.prepaidBalance,NaN);return Number.isFinite(n)&&n>0&&(i.Prepaid=J(0,n)),{plan:g?String(g).replace(/[_-]+/g," ").replace(/\b\w/g,a=>a.toUpperCase()):b?.hasGrokCodeAccess?"Grok Code":"Grok Build",quotas:i,subscriptionAccess:h}}(h,i);if(Object.keys(j.quotas).length)return{plan:j.plan,quotas:j.quotas};return{plan:j.plan,quotas:{},message:j.subscriptionAccess?"Subscription access is active; Grok does not expose a numeric included quota.":"Grok Build connected, but no credit allotment was returned."}}catch(a){return{message:`Grok CLI usage error: ${a.message}`}}}let L={international:(0,e.U)("glm").url,china:(0,e.U)("glm-cn").url},M=(0,e.U)("vercel-ai-gateway").url;async function N(a,b){try{if(!b?.resourceUrl)return{message:"Qwen connected. No resource URL available."};return{message:"Qwen connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch Qwen usage."}}}async function O(a){try{return{message:"iFlow connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch iFlow usage."}}}async function P(a,b,c=null){if(!a)return{message:"Ollama Cloud API key not available."};try{let b,f=await (0,d.Fm)("https://ollama.com/api/usage",{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(401===f.status||403===f.status)return{message:"Ollama Cloud API key invalid or expired."};if(!f.ok)return{message:`Ollama Cloud usage API error (${f.status}).`};try{b=await f.json()}catch{return{message:"Ollama Cloud usage response was not JSON."}}let g=await (0,d.Fm)("https://ollama.com/api/me",{method:"POST",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Length":"0"}},c).then(a=>a.ok?a.json():null).catch(()=>null),h="string"==typeof g?.Plan?g.Plan:"",i=h?h.charAt(0).toUpperCase()+h.slice(1).toLowerCase():"Ollama Cloud",j=b?.limits&&"object"==typeof b.limits?b.limits:{};function e(a,b=null){let c=Math.max(0,Math.min(1,Number(a)||0)),d=Math.round(100*c);return{used:d,total:100,remainingPercentage:100-d,resetAt:b,unlimited:!1}}let k=j.session?.usage,l=j.weekly?.usage,m=Number(k),n=Number(l),o=null!=k&&!Number.isNaN(m),p=null!=l&&!Number.isNaN(n);if(!o&&!p)return{plan:i,message:"Ollama Cloud connected. No usage limits reported.",quotas:{}};let q={};return o&&(q["Session (5h)"]=e(m)),p&&(q["Weekly (7d)"]=e(n)),{plan:i,quotas:q}}catch(a){return{message:`Ollama Cloud error: ${a.message}`}}}async function Q(a,b,c=null){if(!a)return{message:"GLM API key not available."};let e=L["glm-cn"===b?"china":"international"];try{let b=await (0,d.Fm)(e,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(!b.ok){if(401===b.status)return{message:"GLM API key invalid or expired."};return{message:`GLM quota API error (${b.status}).`}}let f=await b.json(),g=f?.data&&"object"==typeof f.data?f.data:{},h=Array.isArray(g.limits)?g.limits:[],i={};for(let a of h){if(!a||"TOKENS_LIMIT"!==a.type)continue;let b=Number(a.percentage)||0,c=Number(a.nextResetTime)||0,d=Math.max(0,100-b);i.session={used:b,total:100,remaining:d,remainingPercentage:d,resetAt:c>0?new Date(c).toISOString():null,unlimited:!1}}let j="string"==typeof g.level?g.level:"";return{plan:j?j.charAt(0).toUpperCase()+j.slice(1).toLowerCase():"Unknown",quotas:i}}catch(a){return{message:`GLM error: ${a.message}`}}}async function R(a,b=null){if(!a)return{message:"Vercel AI Gateway API key not available."};try{let c=await (0,d.Fm)(M,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(401===c.status||403===c.status)return{message:"Vercel AI Gateway API key invalid or expired."};if(!c.ok){let a=await c.text().catch(()=>""),b=a?`: ${a.slice(0,200)}`:"";return{message:`Vercel AI Gateway credits API error (${c.status})${b}`}}let e=await c.json(),f=Number(e?.balance)||0,g=Number(e?.total_used)||0;if(f<=0&&g<=0)return{plan:"Pay-as-you-go",message:"Vercel AI Gateway connected. No credit allocation found (BYOK or unfunded account).",quotas:{}};return{plan:"Pay-as-you-go",quotas:{"Used (USD)":{used:g,total:0,remaining:0,remainingPercentage:100,unlimited:!0},"Remaining (USD)":{used:f,total:5,remaining:f,remainingPercentage:f/5*100,unlimited:!1}}}}catch(a){return{message:`Vercel AI Gateway error: ${a.message}`}}}async function S(a,b=null){if(!a)return{message:"Qoder usage unavailable: no access token"};try{let c=await (0,d.Fm)((0,e.U)("qoder").url,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Qoder connected. Usage fetch returned ${c.status}.`};let f=await c.json().catch(()=>null);if(!f)return{message:"Qoder connected. Usage response was not JSON."};let g=f.userQuota||{},h=f.orgResourcePackage||{},i=Number.isFinite(Number(f.expiresAt))&&Number(f.expiresAt)>0?Number(f.expiresAt):null,j=i?new Date(i).toISOString():null;return{quotas:{user:{total:Number(g.total)||0,used:Number(g.used)||0,remaining:Number(g.remaining)||0,unit:g.unit||"credits",resetAt:j},organization:{total:Number(h.total)||0,used:Number(h.used)||0,remaining:Number(h.remaining)||0,unit:h.unit||"credits",resetAt:j}},totalUsagePercentage:Number(f.totalUsagePercentage)||0,isQuotaExceeded:!!f.isQuotaExceeded,expiresAt:i}}catch(a){return{message:`Qoder connected. Unable to fetch usage: ${a.message}`}}}let T={github:a=>f(a.accessToken,a.providerSpecificData,a.proxyOptions),"gemini-cli":a=>j(a.accessToken,a.providerDataWithProjectId,a.proxyOptions),antigravity:a=>l(a.accessToken,a.providerSpecificData,a.proxyOptions),claude:a=>(0,n.g)(a.accessToken,a.proxyOptions,{force:a.force}),codex:a=>(0,o.Tl)(a.accessToken,a.proxyOptions),kiro:a=>q(a.accessToken,a.providerSpecificData,a.proxyOptions),qoder:a=>S(a.accessToken,a.proxyOptions),qwen:a=>N(a.accessToken,a.providerSpecificData),iflow:a=>O(a.accessToken),ollama:a=>P(a.apiKey,a.providerSpecificData,a.proxyOptions),glm:a=>Q(a.apiKey,a.provider,a.proxyOptions),"glm-cn":a=>Q(a.apiKey,a.provider,a.proxyOptions),minimax:a=>y(a.apiKey,a.provider,a.proxyOptions),"minimax-cn":a=>y(a.apiKey,a.provider,a.proxyOptions),"vercel-ai-gateway":a=>R(a.apiKey,a.proxyOptions),"codebuddy-cn":a=>C(a.accessToken,a.apiKey,a.providerSpecificData,a.proxyOptions),kimi:a=>F(a.accessToken,a.apiKey,a.proxyOptions,a.providerSpecificData),"kimi-coding":a=>F(a.accessToken,a.apiKey,a.proxyOptions,a.providerSpecificData),deepseek:a=>G(a.apiKey,a.proxyOptions),"grok-cli":a=>K(a.accessToken,a.providerSpecificData,a.proxyOptions)};async function U(a,b=null,c={}){let{provider:d,accessToken:e,apiKey:f,providerSpecificData:g,projectId:h}=a,i={...g||{},...h?{projectId:h}:{}},j=T[d];return j?await j({provider:d,accessToken:e,apiKey:f,providerSpecificData:g,providerDataWithProjectId:i,proxyOptions:b,force:!0===c.force}):{message:`Usage API not implemented for ${d}`}}},66451:(a,b,c)=>{c.d(b,{Xh:()=>f,js:()=>h,sc:()=>g});var d=c(58976);let e={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.A)for(let b of(e[a.id]=a.id,a.alias&&(e[a.alias]=a.id),a.aliases||[]))e[b]=a.id;function f(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:e[c]||c,model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}function g(a,b){var c,d;if(!b||"string"!=typeof a)return null;let f=b[a];if(!f){for(let[c,d]of Object.entries(b))if("string"==typeof c&&c.includes("*"))try{let b="^"+c.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*")+"$";if(RegExp(b,"i").test(a)){f=d;break}}catch{}}if(!f)return null;if("string"==typeof f&&f.includes("/")){let a=f.indexOf("/");return{provider:e[c=f.slice(0,a)]||c,model:f.slice(a+1)}}return"object"==typeof f&&f.provider&&f.model?{provider:e[d=f.provider]||d,model:f.model}:"string"==typeof f?{provider:null,model:f}:null}async function h(a,b){let c=f(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,e=g(c.model,d);return e||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return i.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let i=[[/^grok-build$/,"grok-cli"],[/^claude-/,"anthropic"],[/^gemini-/,"gemini"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},75008:(a,b,c)=>{c.d(b,{R:()=>f});var d=c(57034);let e=/^arn:(aws|aws-us-gov):codewhisperer:([^:]+):(\d{12}):profile\/([^/]+)$/;function f(a){let b="string"==typeof a?a.trim():"",c=b.match(e);return c&&(0,d.i7)(c[2])?{profileArn:b,region:c[2]}:null}},88705:(a,b,c)=>{c.d(b,{IQ:()=>h,U:()=>f,eZ:()=>g,gD:()=>i,u9:()=>j});var d=c(45350),e=c(46052);let f=a=>d.xq[a]?.usage||{};function g(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}function h(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function i(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function j(a,b,c=1e4,d=null){let f=new AbortController,g=setTimeout(()=>f.abort(),c);try{return await (0,e.Fm)(a,{...b,signal:f.signal},d)}finally{clearTimeout(g)}}},98594:(a,b,c)=>{c.d(b,{g:()=>j});var d=c(46052),e=c(92675),f=c(88705);let g={oauthUsageUrl:(0,f.U)("claude").oauthUrl,usageUrl:(0,f.U)("claude").orgUrl,settingsUrl:(0,f.U)("claude").settingsUrl,apiVersion:e.b8},h=new Map,i=new Map;async function j(a,b=null,c={}){let d=c?.force===!0;if(!d&&a){let b=i.get(a);if(b?.promise)return b.promise;if(b&&b.expiresAt>Date.now())return b.result}let e=!d&&a&&i.get(a)?.result||null,f=(async()=>{let c=await k(a,b);return a&&c?.quotas?(i.set(a,{result:c,expiresAt:Date.now()+3e5}),c):e||c})();return a&&i.set(a,{promise:f}),f.then(()=>{let b=i.get(a);a&&b?.promise===f&&i.delete(a)}),f}async function k(a,b=null){try{let c=h.get(a);if(c&&Date.now()<c)return await l(a,b);let e=await (0,d.Fm)(g.oauthUsageUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":g.apiVersion},identity:"claude-cli",provider:"claude",format:"claude"},b);if(e.ok){let a=await e.json(),b={},c=a=>a&&"object"==typeof a&&"number"==typeof a.utilization,d=a=>{let b=a.utilization,c=Math.max(0,100-b);return{used:b,total:100,remaining:c,remainingPercentage:c,resetAt:(0,f.eZ)(a.resets_at),unlimited:!1}};for(let[e,f]of(c(a.five_hour)&&(b["session (5h)"]=d(a.five_hour)),c(a.seven_day)&&(b["weekly (7d)"]=d(a.seven_day)),Object.entries(a)))if(e.startsWith("seven_day_")&&"seven_day"!==e&&c(f)){let a=e.replace("seven_day_","");b[`weekly ${a} (7d)`]=d(f)}return{plan:"Claude Code",extraUsage:a.extra_usage??null,quotas:b}}return 429===e.status&&h.set(a,Date.now()+18e4),console.warn(`[Claude Usage] OAuth endpoint returned ${e.status}, falling back to legacy`),await l(a,b)}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}async function l(a,b=null){try{let c=await (0,d.Fm)(g.settingsUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":g.apiVersion},identity:"claude-cli",provider:"claude",format:"claude"},b);if(c.ok){let e=await c.json();if(e.organization_id){let c=await (0,d.Fm)(g.usageUrl.replace("{org_id}",e.organization_id),{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":g.apiVersion},identity:"claude-cli",provider:"claude",format:"claude"},b);if(c.ok){let a=await c.json();return{plan:e.plan||"Unknown",organization:e.organization_name,quotas:a}}}return{plan:e.plan||"Unknown",organization:e.organization_name,message:"Claude connected. Usage details require admin access."}}return{message:"Claude connected. Usage API requires admin permissions."}}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=5913,exports.ids=[5913],exports.modules={1100:(a,b,c)=>{c.d(b,{J_:()=>l,YR:()=>n,gR:()=>m,js:()=>i,pG:()=>j,ro:()=>h});var d=c(15251),e=c(50969),f=c(54383);let g=["us-east-1","eu-central-1"];function h(a){let b=d.xq[a];if(!b)throw Error(`Missing provider profile: ${a}`);return{identity:b.identity,provider:a,format:b.format}}function i(a,b){let c,d=String(a||"").trim();if(!d)throw Error(`xai discovery ${b} is empty`);try{c=new URL(d)}catch(a){throw Error(`xai discovery ${b} is invalid: ${a.message}`)}if("https:"!==c.protocol)throw Error(`xai discovery ${b} must use https: ${d}`);let e=c.hostname.toLowerCase().trim();if("x.ai"!==e&&!e.endsWith(".x.ai"))throw Error(`xai discovery ${b} host ${e} is not on x.ai`);return d}function j(a){if(!a||"string"!=typeof a)return;let b=a.split(".");if(3===b.length)try{let a=b[1].replace(/-/g,"+").replace(/_/g,"/"),c=(4-a.length%4)%4,d=Buffer.from(a+"=".repeat(c),"base64").toString("utf8"),e=JSON.parse(d);return e.email||e.preferred_username||e.sub||void 0}catch{return}}function k(a){try{if(!a||"string"!=typeof a)return null;let b=a.split(".");if(3!==b.length)return null;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=(4-c.length%4)%4,e=c+"=".repeat(d);return JSON.parse(Buffer.from(e,"base64").toString("utf8"))}catch{return null}}function l(a){let b=k(a);if(b)return b.email||b.preferred_username||b.sub||void 0}async function m(a,b){let c;if(!a)return null;let d="string"==typeof b?b.trim().toLowerCase():"";for(let i of"us-gov-east-1"===(c="string"==typeof b?b.trim().toLowerCase():"")||"us-gov-west-1"===c?[...new Set([c,"us-gov-east-1","us-gov-west-1"])].map(a=>`https://q-fips.${a}.amazonaws.com`):[...[...new Set(g.includes(c)?[c,...g]:g)].map(a=>`https://q.${a}.amazonaws.com`),"https://codewhisperer.us-east-1.amazonaws.com"])try{let b=await (0,e.Fm)(i,{method:"POST",headers:{"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.ListAvailableProfiles",Accept:"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify({maxResults:10}),signal:AbortSignal.timeout(1e4),...h("kiro")});if(!b.ok)continue;let c=await b.json(),g=(Array.isArray(c?.profiles)?c.profiles:[]).map(a=>(0,f.R)(a?.arn||a?.profileArn)).filter(Boolean),j=g.find(a=>a.region===d);if(j)return j.profileArn;if(g[0])return g[0].profileArn}catch{}return null}function n(a){let b=k(a);if(!b)return{};let c=b["https://api.openai.com/auth"]||{};return{email:b.email,chatgptAccountId:c.chatgpt_account_id||b.account_id,chatgptPlanType:c.chatgpt_plan_type||b.plan_type}}},13073:(a,b,c)=>{c.d(b,{DI:()=>i,Hp:()=>k,LT:()=>j,MZ:()=>v,Nl:()=>z,Nu:()=>p,OV:()=>h,S6:()=>s,Td:()=>A,Tx:()=>q,WN:()=>t,Ww:()=>C,YT:()=>n,ZL:()=>m,cD:()=>o,f7:()=>y,hF:()=>l,lB:()=>w,qp:()=>B,t:()=>u,w1:()=>x});var d=c(21820),e=c(74570),f=c(15251);function g(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let h={...f.sr.claude},i={...f.sr.codex},j={...e.w3,...f.sr["gemini-cli"]},k={...f.sr.qwen},l={...f.sr.qoder},m={...f.sr.iflow},n={...e.XP,...f.sr.antigravity,loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:g(),pluginType:2})};function o(){return{ideType:9,platform:g(),pluginType:2}}({...f.sr.openai});let p={...f.sr.github},q={...f.sr.kiro},r=/^[a-z]{2}(?:-[a-z0-9]+)+-\d{1,2}$/;function s(a){if("string"!=typeof a||!r.test(a))throw Error("Invalid region");return a}let t={...f.sr.cursor,tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"}},u={...f.sr["kimi-coding"],clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||f.xq["kimi-coding"]?.clientId},v={...f.sr.kilocode},w={...f.sr.cline},x={...f.sr.clinepass},y={...f.sr.gitlab},z={...f.sr["codebuddy-cn"]},A={...f.sr.kimchi},B={...f.sr["grok-cli"]},C=3e5},25467:(a,b,c)=>{c.d(b,{$N:()=>f,OK:()=>g,Zl:()=>h,lz:()=>i});var d=c(55511),e=c.n(d);function f(a=32){return e().randomBytes(a).toString("base64url")}function g(a){return e().createHash("sha256").update(a).digest("base64url")}function h(){return e().randomBytes(32).toString("base64url")}function i(a=32){let b=f(a),c=g(b);return{codeVerifier:b,codeChallenge:c,state:h()}}},25482:(a,b,c)=>{c.d(b,{U:()=>l,o:()=>m});var d=c(15251),e=c(70625);let f=d.xq.xai?.clientId,g="https://auth.x.ai",h="/oauth2/authorize",i="/oauth2/token",j="/.well-known/openid-configuration",k="/callback",l=96,m={clientId:f,issuer:g,authEndpointPath:h,tokenEndpointPath:i,discoveryPath:j,authorizeUrl:`${g}${h}`,tokenUrl:`${g}${i}`,discoveryUrl:`${g}${j}`,scope:"openid profile email offline_access grok-cli:access api:access",apiBaseUrl:"https://api.x.ai/v1",redirectUri:`http://127.0.0.1:56121${k}`,loopbackPort:56121,callbackPath:k,pkceVerifierBytes:96,refreshLeadSeconds:300,userAgent:(0,e.dV)("grok-cli")?.userAgent||"grok-cli/1.0.0",codeChallengeMethod:"S256"}}};
@@ -1,2 +0,0 @@
1
- "use strict";exports.id=6052,exports.ids=[6052],exports.modules={6547:(a,b,c)=>{c.d(b,{$3:()=>p,$R:()=>h,Dm:()=>r,E$:()=>j,Zb:()=>g,jI:()=>i,ti:()=>m});var d=c(92675),e=c(70628),f=c(13247);let g=["Accept","Authorization","Content-Type","User-Agent","X-Claude-Code-Session-Id","X-Stainless-Arch","X-Stainless-Lang","X-Stainless-OS","X-Stainless-Package-Version","X-Stainless-Retry-Count","X-Stainless-Runtime","X-Stainless-Runtime-Version","X-Stainless-Timeout","anthropic-beta","anthropic-dangerous-direct-browser-access","anthropic-version","x-app","x-client-request-id","Connection","Host","Accept-Encoding","Content-Length"],h=g.filter(a=>"X-Stainless-Timeout"!==a),i={"claude-cli":{id:"claude-cli",tls:"claude-code",alpn:["http/1.1"],headerOrder:g,source:{npm:"@anthropic-ai/claude-code",capture:"claude-code-native",tlsSpec:"claude-code"},headers:function(a){let b=a?.version||"2.1.258",c=a?.entrypoint||"cli";return{"Anthropic-Version":d.b8,"Anthropic-Beta":a?.betas||"claude-code-20250219,interleaved-thinking-2025-05-14,redact-thinking-2026-02-12,thinking-token-count-2026-05-13,context-management-2025-06-27,prompt-caching-scope-2026-01-05,mid-conversation-system-2026-04-07,effort-2025-11-24,structured-outputs-2025-12-15","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":a?.userAgent||`claude-cli/${b} (external, ${c})`,"X-App":"cli","X-Stainless-Runtime-Version":a?.runtimeVersion||process.version,"X-Stainless-Package-Version":a?.packageVersion||"0.112.1","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":a?.arch||(0,e.Tc)(),"X-Stainless-Os":a?.os||(0,e.vv)(),"X-Stainless-Timeout":"600"}}},"codex-cli":{id:"codex-cli",tls:"chrome",alpn:["h2","http/1.1"],headerOrder:["Authorization","Content-Type","originator","session_id","User-Agent","version","chatgpt-account-id"],source:{npm:"@openai/codex"},headers:function(a){let b=a?.version||"0.149.0";return{originator:"codex_cli_rs","User-Agent":`codex_cli_rs/${b}`,version:b}}},"gemini-cli":{id:"gemini-cli",tls:"node",alpn:["h2","http/1.1"],headerOrder:["Content-Type","Authorization","User-Agent","X-Goog-Api-Client","Accept"],source:{npm:"@google/gemini-cli"},headers:function(a){let b=a?.version||"0.56.0",c=a?.upstreamModel||"unknown",d="ia32"===(0,e.LY)()?"x86":(0,e.LY)();return{"User-Agent":`GeminiCLI/${b}/${c} (${(0,e.ol)()}; ${d}; terminal)`,"X-Goog-Api-Client":a?.apiClient||"google-genai-sdk/1.41.0 gl-node/v22.19.0"}}},"openai-node":{id:"openai-node",tls:"node",alpn:["h2","http/1.1"],headerOrder:["Authorization","Content-Type","User-Agent"],source:{npm:"openai"},headers:function(){return{"User-Agent":`OpenAI/NodeJS/${process.version.replace(/^v/,"")}`}}},cline:{id:"cline",tls:"node",alpn:["h2","http/1.1"],headerOrder:["Authorization","Content-Type","HTTP-Referer","X-Title","User-Agent","X-PLATFORM","X-PLATFORM-VERSION","X-CLIENT-TYPE","X-CLIENT-VERSION","X-CORE-VERSION","X-IS-MULTIROOT"],source:{npm:"cline"},headers:function(a){let b=a?.version||"3.0.0";return{"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`Cline/${b}`,"X-PLATFORM":(0,e.ol)()||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"extension","X-CLIENT-VERSION":b,"X-CORE-VERSION":b,"X-IS-MULTIROOT":"false"}}},chrome:{id:"chrome",tls:"chrome",alpn:["h2","http/1.1"],headerOrder:["User-Agent","Accept","Accept-Language","Accept-Encoding"],source:{capture:"chrome"},headers:function(){return{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"}}},cursor:{id:"cursor",tls:"node",alpn:["h2","http/1.1"],headerOrder:[],source:{capture:"cursor"},headers:()=>({})},antigravity:{id:"antigravity",tls:"node",alpn:["h2","http/1.1"],headerOrder:["Authorization","Content-Type","User-Agent","Accept"],source:{capture:"antigravity"},headers:function(a){let b=a?.version||"1.107.0";return{"User-Agent":`antigravity/${b} ${(0,e.ol)()}/${(0,e.LY)()}`}}},copilot:{id:"copilot",tls:"node",alpn:["h2","http/1.1"],headerOrder:["Authorization","Content-Type","copilot-integration-id","editor-version","editor-plugin-version","user-agent","openai-intent","x-github-api-version"],source:{capture:"github-copilot"},headers:function(a){let b=a?.vscodeVersion||"1.110.0",c=a?.chatVersion||a?.version||"0.38.0";return{"copilot-integration-id":"vscode-chat","editor-version":`vscode/${b}`,"editor-plugin-version":`copilot-chat/${c}`,"user-agent":`GitHubCopilotChat/${c}`,"openai-intent":"conversation-panel","x-github-api-version":a?.apiVersion||"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user"}}},qwen:{id:"qwen",tls:"node",alpn:["h2","http/1.1"],headerOrder:["Authorization","Content-Type","User-Agent","X-Stainless-Arch","X-Stainless-Os"],source:{capture:"qwen-code"},headers:function(a){let{os:b,arch:c,stainlessOs:d,stainlessArch:f}=a?.qwenOsArch||{os:"win32"===(0,e.ol)()?"windows":"darwin"===(0,e.ol)()?"darwin":"linux",arch:"arm64"===(0,e.LY)()?"arm64":"x64",stainlessOs:(0,e.vv)(),stainlessArch:(0,e.Tc)()},g=a?.version||"0.12.3",h=`QwenCode/${g} (${b}; ${c})`;return{"User-Agent":h,"X-DashScope-UserAgent":h,"X-Stainless-Arch":f,"X-Stainless-Os":d,"X-Stainless-Lang":"js","X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":a?.runtimeVersion||process.version,"X-Stainless-Package-Version":a?.packageVersion||"5.11.0"}}},kimi:{id:"kimi",tls:"node",alpn:["h2","http/1.1"],headerOrder:["Authorization","Content-Type","X-Msh-Version","X-Msh-Device-Model"],source:{capture:"kimi-code"},headers:function(){return{"X-Msh-Version":"2.1.2","X-Msh-Device-Model":`${(0,e.ol)()} ${(0,e.LY)()}`}}},"grok-cli":{id:"grok-cli",tls:"node",alpn:["h2","http/1.1"],headerOrder:["Authorization","Content-Type","User-Agent"],source:{capture:"grok-cli"},headers:function(a){return{"User-Agent":`grok-cli/${a?.version||"1.0.0"}`}}},"grok-build":{id:"grok-build",tls:"node",alpn:["h2","http/1.1"],headerOrder:["Authorization","Content-Type","Accept","User-Agent","x-grok-client-identifier","x-grok-client-version"],source:{capture:"@xai-official/grok 0.2.99"},headers:function(){return{"User-Agent":`grok-shell/${f.uG} (linux; x86_64)`,"x-grok-client-identifier":f.rK,"x-grok-client-version":f.uG}}}};function j(a){return i[a]||i["openai-node"]}let k=new Set(["openai","openai-responses","openai-compat"]),l=new Set(["claude"]);function m(a,b={}){if("string"==typeof a&&a)return a;if(a&&"object"==typeof a&&a.profile)return a.profile;let c=b.format||"",d=b.provider||"";return"claude"===c||l.has(c)||"claude"===d||d.startsWith("anthropic-compatible")?"claude-cli":"codex"===d?"codex-cli":"gemini-cli"===d?"gemini-cli":"antigravity"===d?"antigravity":"github"===d?"copilot":"qwen"===d?"qwen":"cline"===d||"clinepass"===d?"cline":"kimi"===d||"kimi-coding"===d?"kimi":"xai"===d?"grok-cli":"grok-cli"===d?"grok-build":"grok-web"===d?"chrome":"cursor"===d||"cursor"===c?"cursor":(k.has(c),"openai-node")}let n=new Set(["user-agent","anthropic-beta","x-stainless-package-version","x-stainless-runtime-version","x-stainless-os","x-stainless-arch"]),o=new Set(["x-stainless-helper-method","x-stainless-retry-count"]);function p(a,b,c={}){var d;let e,f=j(b),g=(d=c.snapshot,"function"==typeof(e=j(b)).headers?e.headers(d):{...e.headers||{}});!0===c.stream&&"claude-cli"===b?g["X-Stainless-Helper-Method"]="stream":"claude-cli"===b&&delete g["X-Stainless-Helper-Method"],"number"==typeof c.retryCount&&"claude-cli"===b&&(g["X-Stainless-Retry-Count"]=String(c.retryCount));let h=new Map;for(let[b,c]of Object.entries(a||{})){let a=b.toLowerCase();("authorization"===a||"x-api-key"===a||"api-key"===a||"cookie"===a)&&h.set(a,[b,c])}let i=q(a,g),k=c.overlay&&"object"==typeof c.overlay?"claude-cli"===b?function(a,b){let c,d,e={...a||{}},f=0!==(d=Object.values(c=Object.fromEntries([...n].map(a=>{let b;return[a,(b=Object.keys(e||{}).find(b=>b.toLowerCase()===a))?e[b]:void 0]}))).filter(a=>null!=a).length)&&d===n.size&&String(c["user-agent"]).match(/claude-(?:cli|code)\/(\d+\.\d+\.\d+)/i)?.[1]===b?.version;for(let a of Object.keys(e)){let b=a.toLowerCase();(o.has(b)||!f&&n.has(b))&&delete e[a]}return e}(c.overlay,c.snapshot):{...c.overlay}:{};for(let a of Object.keys(k))h.has(a.toLowerCase())&&delete k[a];let l=q(i,k);if("claude-cli"===b){if(!0===c.stream)l["X-Stainless-Helper-Method"]="stream";else for(let a of Object.keys(l))"x-stainless-helper-method"===a.toLowerCase()&&delete l[a];if("number"==typeof c.retryCount){for(let a of Object.keys(l))"x-stainless-retry-count"===a.toLowerCase()&&delete l[a];l["X-Stainless-Retry-Count"]=String(c.retryCount)}}for(let[a,[b,c]]of h){for(let b of Object.keys(l))b.toLowerCase()===a&&delete l[b];l[b]=c}return f?.headerOrder?r(l,f.headerOrder):l}function q(...a){let b={};for(let c of a)for(let[a,d]of Object.entries(c||{})){let c=Object.keys(b).find(b=>b.toLowerCase()===a.toLowerCase());c&&delete b[c],b[a]=d}return b}function r(a,b){if(!b||!b.length)return{...a};let c=new Set,d={},e=new Map;for(let[b,c]of Object.entries(a))e.set(b.toLowerCase(),[b,c]);for(let a of b){let b=e.get(a.toLowerCase());b&&(d[b[0]]=b[1],c.add(a.toLowerCase()))}for(let[b,e]of Object.entries(a))c.has(b.toLowerCase())||(d[b]=e);return d}},35570:(a,b,c)=>{c.d(b,{I2:()=>A,Iq:()=>B,Kn:()=>v,dV:()=>w,zi:()=>x});var d=c(73024),e=c(76760),f=c(77598),g=c(6547),h=c(70628);let i=["claude-cli","codex-cli","gemini-cli"],j=new Map,k=new Map,l=new Set,m=null;function n(){let a=process.env.DATA_DIR||e.join(process.env.HOME||process.env.USERPROFILE||".",".switchboard");return e.join(a,"identity")}function o(a){return e.join(n(),`${a}.json`)}let p=function(){try{return JSON.parse(d.readFileSync(e.join(process.cwd(),"open-sse","identity","snapshots","versions.json"),"utf8"))}catch{try{return JSON.parse(d.readFileSync(new c.U(c(94552)),"utf8"))}catch{return{}}}}();function q(a){let b=p[a],c=b?.version;if(!c)return null;if("claude-cli"!==a)return{version:c,latestVersion:b.latestVersion};let d=b.tlsSpecRev||c;return{version:c,billingVersion:c,tlsSpecRev:d,latestVersion:b.latestVersion,capturedAt:b.capturedAt,entrypoint:b.entrypoint||"cli",userAgent:`claude-cli/${c} (external, ${b.entrypoint||"cli"})`,packageVersion:b.packageVersion||"0.112.1",runtimeVersion:b.runtimeVersion||"v26.3.0",betas:b.betas||"claude-code-20250219,interleaved-thinking-2025-05-14,redact-thinking-2026-02-12,thinking-token-count-2026-05-13,context-management-2025-06-27,prompt-caching-scope-2026-01-05,mid-conversation-system-2026-04-07,effort-2025-11-24,structured-outputs-2025-12-15"}}function r(a){let b=String(a||"").split(".").map(Number);return 3===b.length&&b.every(Number.isInteger)?b:null}function s(a){let b=String(a?.tlsSpecRev||"").match(/(\d+\.\d+\.\d+)/);return b?.[1]||null}function t(a,b){let c=r(a),d=r(b);if(!c||!d)return 0;for(let a=0;a<3;a++)if(c[a]!==d[a])return c[a]-d[a];return 0}function u(a){return!!(a?.version&&a?.billingVersion===a.version&&s(a)===a.version&&a.version===(z(p["claude-cli"]?.tlsSpecRev)||p["claude-cli"]?.version||null)&&a?.userAgent?.includes(`claude-cli/${a.version}`)&&a?.packageVersion&&a?.runtimeVersion&&a?.betas)}function v(a){return{version:a?.version||null,billingVersion:a?.billingVersion||null,tlsVersion:s(a),userAgentVersion:z(a?.userAgent)}}function w(a){if(j.has(a))return j.get(a);let b=null;try{b=JSON.parse(d.readFileSync(o(a),"utf8"))}catch{b=q(a)}return"claude-cli"!==a||u(b)||(b=q(a)),b&&j.set(a,b),b}function x(a){let b=w(a);return"claude-cli"!==a||u(b)?b:q(a)}function y(a,b){if(b&&"object"==typeof b){j.set(a,b);try{d.mkdirSync(n(),{recursive:!0}),d.writeFileSync(o(a),JSON.stringify(b,null,2))}catch{}}}function z(a){if("string"!=typeof a)return null;let b=a.match(/claude-cli\/(\d+\.\d+\.\d+)/i)||a.match(/codex_cli_rs\/(\d+\.\d+\.\d+)/i)||a.match(/GeminiCLI\/(\d+\.\d+\.\d+)/i)||a.match(/Cline\/(\d+\.\d+\.\d+)/i)||a.match(/antigravity\/(\d+\.\d+\.\d+)/i)||a.match(/QwenCode\/(\d+\.\d+\.\d+)/i)||a.match(/GitHubCopilotChat\/(\d+\.\d+\.\d+)/i);return b?b[1]:null}function A(a,b){let c=function(a){let b={};if(!a)return b;for(let[c,d]of Object.entries(a))b[c.toLowerCase()]=d;return b}(b),d=c["user-agent"],e=z(d);if(!d||!e)return!1;if("claude-cli"===a){let b=c["x-stainless-package-version"],f=c["x-stainless-runtime-version"],g=c["anthropic-beta"];if(!b||!f||!g)return!1;let h=x(a)||{},i=s(h);return i&&e!==i?(C(a,`harvest ${e} does not match TLS capture ${h.tlsSpecRev}`),!1):(y(a,{...h,version:e,billingVersion:e,userAgent:d,packageVersion:b,runtimeVersion:f,betas:g,os:h.os||c["x-stainless-os"],arch:h.arch||c["x-stainless-arch"],entrypoint:/\(external,\s*([^)]+)\)/.exec(d)?.[1]||"cli",harvestedAt:Date.now()}),!0)}if("copilot"===a){let b=String(c["editor-plugin-version"]||"").match(/copilot-chat\/(\d+\.\d+\.\d+)/i)?.[1],f=String(c["editor-version"]||"").match(/vscode\/(\d+\.\d+\.\d+)/i)?.[1],g=c["x-github-api-version"];return!!b&&b===e&&!!f&&!!g&&(y(a,{...w(a),version:e,chatVersion:b,vscodeVersion:f,apiVersion:g,userAgent:d,harvestedAt:Date.now()}),!0)}return y(a,{...w(a),version:e,userAgent:d,harvestedAt:Date.now()}),!0}function B(a){let b=a||"anonymous";if(k.has(b))return k.get(b);let c=(0,f.createHash)("sha256").update(`device:${b}`).digest("hex"),d={buildHash:c.slice(0,3),deviceId:c,accountUuid:`${c.slice(0,8)}-${c.slice(8,12)}-4${c.slice(13,16)}-a${c.slice(17,20)}-${c.slice(20,32)}`,os:(0,h.vv)(),arch:(0,h.Tc)()};return k.set(b,d),d}function C(a,b){l.has(a)||(l.add(a),console.warn(`[IDENTITY_STALE] ${a}: ${b}`))}async function D(a,b){let c=g.jI[a]?.source?.npm;if(!c)return null;let d=await b(`https://registry.npmjs.org/${encodeURIComponent(c)}/latest`,{headers:{Accept:"application/json"}});if(!d.ok)return null;let e=await d.json();return r(e?.version)?e.version:null}async function E(a=globalThis.fetch){"function"==typeof a&&await Promise.all(i.map(async b=>{try{let c=await D(b,a);if(!c)return;let d=x(b)||q(b)||{};if("claude-cli"===b){t(c,d.version)>0&&(y(b,{...d,latestVersion:c,checkedAt:Date.now()}),C(b,`npm ${c} is ahead of captured tuple ${d.version}`));return}if(0>=t(c,d.version))return;let e="codex-cli"===b?`codex_cli_rs/${c}`:d.userAgent;y(b,{...d,version:c,...e?{userAgent:e}:{},checkedAt:Date.now()})}catch{}}))}function F(){let a=Date.now();for(let b of Object.keys(g.jI)){let c=x(b)||q(b),d=c?.capturedAt;if(!d)continue;let e=a-new Date(d).getTime();if(Number.isFinite(e)&&e>2592e6){let a=Math.floor(e/864e5);C(b,`snapshot is ${a}d old; run npm run identity:refresh`)}}}"1"!==process.env.SWITCHBOARD_DISABLE_IDENTITY_POLL&&queueMicrotask(()=>(function(a=globalThis.fetch){return m||"function"!=typeof a||(E(a),F(),m=setInterval(()=>{E(a),F()},216e5),m.unref?.()),m})())},39211:(a,b,c)=>{c.d(b,{fX:()=>n});let d=/switchboard/i,e=/Switchboard\//i,f="https://github.com/Vijay-Duke/switchboard-router",g=new Set(["authorization","x-api-key","api-key","cookie"]);function h(a){return g.has(String(a).toLowerCase())}function i(a){let b={};for(let[c,g]of a?a instanceof Headers?[...a.entries()]:Object.entries(a):[])null!=g&&!function(a,b){let c=String(a),g=null==b?"":String(b),i=c.toLowerCase();return!!(i.startsWith("x-switchboard-")||"x-client-type"===i&&/^switchboard$/i.test(g.trim())||"x-msh-platform"===i&&/^switchboard$/i.test(g.trim())||"user-agent"===i&&e.test(g)||d.test(c)&&!h(c)||d.test(g)&&!h(c)||g.includes(f))}(c,g)&&(b[c]=String(g));return b}Object.freeze({SWITCHBOARD_RE:d,SWITCHBOARD_UA_RE:e,SWITCHBOARD_GITHUB:f});var j=c(6547),k=c(35570);let l={"claude-cli":"claude-cli/2.1.258 (external, cli)","codex-cli":"codex_cli_rs/0.149.0","gemini-cli":"GeminiCLI/0.56.0/unknown (linux; x64; terminal)",cline:"Cline/3.0.0","openai-node":"OpenAI/NodeJS/22",chrome:"Mozilla/5.0",antigravity:"antigravity/1.107.0 linux/x64",copilot:"GitHubCopilotChat/0.38.0",qwen:"QwenCode/0.12.3 (linux; x64)","grok-cli":"grok-cli/1.0.0","grok-build":"grok-shell/0.2.99"};function m(a){return Object.keys(a).find(a=>"user-agent"===a.toLowerCase())}function n(a,b={}){let c=i(a),d=(0,j.ti)(b.identity,{format:b.format,provider:b.provider}),e=b.snapshot||(0,k.zi)(d),f="claude-cli"===d?(0,k.Iq)(b.credentialId):null,g=(0,j.$3)(c,d,{snapshot:f?{...e,os:f.os,arch:f.arch}:e,overlay:b.overlay,stream:b.stream,retryCount:b.retryCount}),h=(0,j.E$)(d),o=i(g);if("claude-cli"===d&&b.requestPath?.startsWith("/v1/messages/count_tokens")){for(let a of Object.keys(o))"x-stainless-timeout"===a.toLowerCase()&&delete o[a];o=(0,j.Dm)(o,j.$R)}if(!m(o)&&"cursor"!==d){let a=e?.userAgent||l[d]||l["openai-node"];o["User-Agent"]=a}return"claude-cli"===d&&function(a,b){let c=(0,k.Kn)(b),d=m(a),e=String(d?a[d]:"").match(/claude-(?:cli|code)\/(\d+\.\d+\.\d+)/i)?.[1]||null;if(!c.version||c.billingVersion!==c.version||c.tlsVersion!==c.version||c.userAgentVersion!==c.version||e!==c.version)throw Error(`Claude identity mismatch: ua=${e||c.userAgentVersion} version=${c.version} billing=${c.billingVersion} tls=${c.tlsVersion}`)}(o,e),{headers:i(o),profileId:d,tls:h?.tls||"node",alpn:h?.alpn||["h2","http/1.1"],tlsSpecRev:e?.tlsSpecRev}}},46052:(a,b,c)=>{let d;c.d(b,{Fm:()=>L});var e=c(27910),f=c(60290),g=c(39211),h=c(6547),i=c(31421),j=c(51455),k=c(76760),l=c(73136),m=c(57075);let n="2.1.258",o=Object.freeze(["http/1.1"]);Object.freeze(["TLS_AES_128_GCM_SHA256","TLS_AES_256_GCM_SHA384","TLS_CHACHA20_POLY1305_SHA256","TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256","TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256","TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384","TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384","TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256","TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256","TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA","TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA","TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA","TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA","TLS_RSA_WITH_AES_128_GCM_SHA256","TLS_RSA_WITH_AES_256_GCM_SHA384","TLS_RSA_WITH_AES_128_CBC_SHA","TLS_RSA_WITH_AES_256_CBC_SHA"]),Object.freeze(["server_name","extended_master_secret","renegotiation_info","supported_groups:x25519_mlkem768,x25519,secp256r1,secp384r1","ec_point_formats:uncompressed","session_ticket","alpn:http/1.1","status_request","signature_algorithms:ecdsa_secp256r1_sha256,rsa_pss_rsae_sha256,rsa_pkcs1_sha256,ecdsa_secp384r1_sha384,rsa_pss_rsae_sha384,rsa_pkcs1_sha384,rsa_pss_rsae_sha512,rsa_pkcs1_sha512,rsa_pkcs1_sha1","signed_certificate_timestamp","key_share:x25519_mlkem768","psk_key_exchange_modes:psk_dhe_ke","supported_versions:TLS1.3,TLS1.2"]);let p=k.dirname((0,l.fileURLToPath)("file:///home/runner/work/switchboard-router/switchboard-router/open-sse/identity/tls/claude-code.js")),q="win32"===process.platform?"switchboard-claude-tls.exe":"switchboard-claude-tls",r=[process.env.SWITCHBOARD_CLAUDE_TLS_HELPER,k.join(process.cwd(),"open-sse","identity","tls","bin",process.platform,process.arch,q),k.join(p,"bin",process.platform,process.arch,q)].filter(Boolean);function s(a){let b=Number(a);return Number.isFinite(b)&&b>0?Math.floor(b):null}let t=i.spawn;async function u(){if(d)return d;for(let a of r)try{return await (0,j.access)(a),d=a,a}catch{}throw Error(`Claude Code TLS helper is not installed for ${process.platform}-${process.arch}`)}function v(){return new DOMException("The operation was aborted.","AbortError")}let w=globalThis.fetch,x=new Map,y=new Map,z=async()=>async function(a,b={},c={}){var d,e,f,g;if(c.alpn?.length!==1||"http/1.1"!==c.alpn[0])throw Error("Claude Code TLS transport requires ALPN http/1.1 only");if(b.signal?.aborted)throw v();let h=t(await u(),[],{stdio:["pipe","pipe","pipe"],windowsHide:!0}),i=function(a){if(null==a)return null;if("string"==typeof a)return Buffer.from(a);if(Buffer.isBuffer(a))return a;if(a instanceof Uint8Array)return Buffer.from(a);throw TypeError("Claude Code TLS helper requires a string or byte request body")}(b.body),j={url:String(a),method:b.method||"GET",headers:(d=b.headers)instanceof Headers?[...d.entries()]:Object.entries(d||{}).map(([a,b])=>[a,String(b)]),headerOrder:c.headerOrder||[],proxyUrl:c.proxyUrl||"",tlsSpecRev:n,alpn:o,bodyLength:i?.byteLength||0,timeoutMs:s(b.timeoutMs)??s(c.timeoutMs)??6e4};return h.stdin.write(`${JSON.stringify(j)}
2
- `),i&&h.stdin.write(i),h.stdin.end(),e=h.stdout,f=h.stderr,g=b.signal,new Promise((a,b)=>{let c=Buffer.alloc(0),d="",i=!1,j=a=>{d.length>=16384||(d+=a.toString("utf8",0,16384-d.length))},k=(a,b,c)=>{let e=d.trim(),f=`${null==a?"":` with code ${a}`}${b?` (${b})`:""}`;return Error(e||`Claude TLS helper exited${c}${f}`)},l=()=>{e.off("data",r),h.off("error",o),h.off("exit",p)},n=a=>{i||(i=!0,l(),f.off("data",j),g?.removeEventListener("abort",q),b(a))},o=a=>n(a),p=(a,b)=>n(k(a,b," before metadata")),q=()=>{n(v()),h.kill("SIGTERM")},r=b=>{let d,o=(c=Buffer.concat([c,b])).indexOf("\n");if(o<0)return;try{d=JSON.parse(c.subarray(0,o).toString("utf8"))}catch(a){n(Error(`Claude TLS helper returned invalid metadata: ${a.message}`));return}if(d.error)return void n(Error(d.error));i=!0,l(),g?.removeEventListener("abort",q);let p=new m.PassThrough,r=m.Readable.toWeb(p),s=!1,t=!1,u=!1,w=a=>{u||(u=!0,e.unpipe(p),e.off("end",z),e.off("error",y),f.off("data",j),h.off("error",y),h.off("exit",A),g?.removeEventListener("abort",B),a?p.destroy(a):p.end())},x=a=>{e.destroyed||(e.once("error",()=>{}),e.destroy(a)),w(a)},y=a=>w(a),z=()=>{s=!0,t&&w()},A=(a,b)=>{0!==a||b?x(k(a,b," after metadata")):(t=!0,s&&w())},B=()=>{x(v()),h.kill("SIGTERM")};e.once("end",z),e.once("error",y),h.once("error",y),h.once("exit",A),g?.addEventListener("abort",B,{once:!0}),p.write(c.subarray(o+1)),e.pipe(p,{end:!1}),a(new Response(r,{status:d.status,statusText:d.statusText||"",headers:new Headers(d.headers||[])}))};f.on("data",j),e.on("data",r),h.once("error",o),h.once("exit",p),g?.addEventListener("abort",q,{once:!0}),g?.aborted&&q()})},A=async()=>(await Promise.resolve().then(c.t.bind(c,36435,19))).Impit,B=new Map,C=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],D=["8.8.8.8","8.8.4.4"];function E(a){return null==a?"":String(a).trim()}async function F(a){let b=B.get(a);if(b&&Date.now()<b.expiry)return b.ip;try{let b=await Promise.resolve().then(c.t.bind(c,14985,19)),{promisify:d}=await Promise.resolve().then(c.t.bind(c,28354,19)),e=new b.Resolver;e.setServers(D);let g=d(e.resolve4.bind(e)),h=await g(a);if(B.size>=f.v1.dnsCacheMaxSize){let a=Date.now();for(let[b,c]of B)c.expiry<=a&&B.delete(b);for(;B.size>=f.v1.dnsCacheMaxSize;)B.delete(B.keys().next().value)}return B.set(a,{ip:h[0],expiry:Date.now()+f.v1.dnsCacheTtlMs}),h[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function G(a,b){let c,d=E(b);if(!d)return!1;try{c=new URL(a).hostname.toLowerCase()}catch{return!1}return d.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>"*"===a||(a.startsWith(".")?c.endsWith(a)||c===a.slice(1):c===a||c.endsWith(`.${a}`)))}function H(a){let b=E(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function I(a){let b=H(a);if(!b)return null;if(!x.has(b)){if(x.size>=f.v1.proxyDispatchersMaxSize){let a=x.keys().next().value,b=x.get(a);x.delete(a),Promise.resolve(b?.close?.()).catch(()=>{})}let{ProxyAgent:a}=await c.e(7774).then(c.t.bind(c,47774,19));x.set(b,new a({uri:b}))}let d=x.get(b);return x.delete(b),x.set(b,d),d}async function J(a){let b=a||"",c=y.get(b);return c||(c=new(await A())({browser:"chrome",...a?{proxyUrl:a}:{},followRedirects:!1}),y.set(b,c)),(a,b)=>c.fetch(a,b)}async function K(a,b,d){let f=await Promise.resolve().then(c.t.bind(c,55591,19)),g=await Promise.resolve().then(c.t.bind(c,91645,19)),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g,j=new i.Socket,k=!1;function l(){j.setTimeout(0),d.signal&&d.signal.removeEventListener("abort",m)}function m(){k||(k=!0,l(),j.destroy(),g?.destroy(),f(new DOMException("The operation was aborted.","AbortError")))}d.signal?.aborted?m():(d.signal&&d.signal.addEventListener("abort",m,{once:!0}),j.setTimeout(1e4,()=>{k||(k=!0,l(),j.destroy(),f(Error(`[ProxyFetch] connect timeout after 10000ms to ${b}`)))}),j.connect(443,b,()=>{j.setTimeout(0);let b={socket:j,servername:a.hostname,path:a.pathname+a.search,method:d.method||"POST",headers:{...d.headers,Host:a.hostname}};(g=h.request(b,a=>{let b=()=>{try{a.destroy(new DOMException("The operation was aborted.","AbortError"))}catch{a.destroy()}},g=()=>d.signal?.removeEventListener("abort",b);if(d.signal?.aborted){k=!0,l(),b(),g(),f(new DOMException("The operation was aborted.","AbortError"));return}d.signal?.addEventListener("abort",b,{once:!0}),a.once("end",g),a.once("close",g),a.once("error",g);let h={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:e.Readable.toWeb(a),text:async()=>{let b=[];for await(let c of a)b.push(c);return Buffer.concat(b).toString()},json:async()=>JSON.parse(await h.text())};k=!0,l(),c(h)})).on("error",a=>{k||(k=!0,l(),f(a))}),d.body&&g.write("string"==typeof d.body?d.body:JSON.stringify(d.body)),g.end()}),j.on("error",a=>{k||(k=!0,l(),f(a))}))})}async function L(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=function(a,b={}){let c=b.headers?.Accept||b.headers?.accept||"",d="string"==typeof c&&c.includes("text/event-stream"),e=(0,g.fX)(b.headers||{},{identity:b.identity,provider:b.provider,format:b.format,overlay:b.overlay,credentialId:b.credentialId,stream:b.stream??d,retryCount:b.retryCount,snapshot:b.snapshot,requestPath:new URL(a).pathname});return{...b,headers:e.headers,_identityTls:e.tls,_identityAlpn:e.alpn,_identityTlsSpecRev:e.tlsSpecRev,_identityProfile:e.profileId}}(d,b),f=function(a){let{_identityTls:b,_identityAlpn:c,_identityTlsSpecRev:d,_identityProfile:e,identity:f,provider:g,format:h,overlay:i,credentialId:j,stream:k,retryCount:l,snapshot:m,...n}=a;return n}(e),{_identityTls:i,_identityAlpn:j,_identityProfile:k}=e,l=E(c?.vercelRelayUrl);if(l){let a=new URL(d);return((...a)=>w(...a))(l,{...f,headers:{...f.headers,"x-relay-target":`${a.protocol}//${a.host}`,"x-relay-path":`${a.pathname}${a.search}`}})}let m=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=E(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=E(b?.noProxy??b?.connectionNoProxy);return d&&G(a,d)?null:H(c)}(d,c),o=m?null:H(function(a){let b;if(G(a,process.env.NO_PROXY||process.env.no_proxy))return null;try{b=new URL(a).protocol}catch{return null}return"https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(d)),p=m||o;if("node"!==i)try{let b={profileId:k,alpn:j,proxyUrl:p,headerOrder:"claude-cli"===k?new URL(d).pathname.startsWith("/v1/messages/count_tokens")?h.$R:h.Zb:(0,h.E$)(k)?.headerOrder||[]},c=/^claude-code-(\d+\.\d+\.\d+)$/.exec(e._identityTlsSpecRev||"")?.[1]||e._identityTlsSpecRev;if("claude-cli"===k&&c!==n)throw Error(`snapshot TLS spec ${e._identityTlsSpecRev||"missing"} does not match helper ${n}`);let g="chrome"===i?await J(p):await z();return await g(a,f,b)}catch(b){if(b?.name==="AbortError")throw b;let a=Error(`[ProxyFetch] ${i} TLS (${k}) unavailable: ${b.message}`);throw a.status=503,a}if(function(a){try{let b=new URL(a).hostname;return C.some(a=>b.includes(a))}catch{return!1}}(d)){if(p)try{let b=await I(p);return await ((...a)=>w(...a))(a,{...f,dispatcher:b})}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${a.message}`)}try{let a=new URL(d),b=await F(a.hostname);if(b)return await K(a,b,f)}catch(a){console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(p)try{let b=await I(p);return await ((...a)=>w(...a))(a,{...f,dispatcher:b})}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${a.message}`)}return((...a)=>w(...a))(a,f)}async function M(a,b={}){return L(a,b,null)}globalThis.fetch!==M&&(globalThis.fetch=M)},70628:(a,b,c)=>{c.d(b,{LY:()=>h,Tc:()=>f,ol:()=>g,vv:()=>e});var d=c(21820);function e(){switch((0,d.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,d.platform)()}`}}function f(){switch((0,d.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,d.arch)()}`}}function g(){return(0,d.platform)()}function h(){return(0,d.arch)()}},94552:(a,b,c)=>{a.exports=c.p+"static/media/versions.4155c5ec.json"}};