switchboard-router 0.6.30 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1257) hide show
  1. package/app/.next/static/LW9zpYBdABYCFKEJUiC4B/_buildManifest.js +1 -0
  2. package/app/.next/static/LW9zpYBdABYCFKEJUiC4B/_ssgManifest.js +1 -0
  3. package/app/.next/static/chunks/1321-8d4ef805452d3649.js +1 -0
  4. package/app/.next/static/chunks/136-b76ff55769d5ecb1.js +1 -0
  5. package/app/.next/static/chunks/1a258343-33aee1e7d9aa500f.js +1 -0
  6. package/app/.next/static/chunks/3531-e8d13ec64699f527.js +68 -0
  7. package/app/.next/static/chunks/3794-d7cddff008311ab3.js +52 -0
  8. package/app/.next/static/chunks/4707-1ec0b2edbb07f455.js +1 -0
  9. package/app/.next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js +1 -0
  10. package/app/.next/static/chunks/5497-a3b9cdb0b8300541.js +7 -0
  11. package/app/.next/static/chunks/594-5a5c7b405aa92038.js +64 -0
  12. package/app/.next/static/chunks/6430-4c528cfc35666c11.js +1 -0
  13. package/app/.next/static/chunks/7055-e60e20f43bfbe5f8.js +1 -0
  14. package/app/.next/static/chunks/782-3a03a779968fa7a2.js +3 -0
  15. package/app/.next/static/chunks/8202.1ffc6ce531e066ce.js +1 -0
  16. package/app/.next/static/chunks/8500-74c368e06d70378e.js +1 -0
  17. package/app/.next/static/chunks/app/(dashboard)/dashboard/agent-library/page-24b5a8515eee26d6.js +1 -0
  18. package/app/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-4ec8bfa73afe20a6.js +1 -0
  19. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-d7205b7328b3fed1.js +1 -0
  20. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-d0b6efe01e687aec.js +1 -0
  21. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-5cfdfdf507c8222f.js +1 -0
  22. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/routing/page-25629f96675ad55d.js +1 -0
  23. package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-b54cd17200807e49.js +1 -0
  24. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-cd44cb44125275b6.js +3 -0
  25. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-995a96a01c24b126.js +59 -0
  26. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-52c12af07f9a6de0.js +1 -0
  27. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-8554ba79c854167f.js +4 -0
  28. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/page-0f54c9a5e7391a77.js +1 -0
  29. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-cfbd3661ac75b8c5.js +1 -0
  30. package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/page-8779ff2bc755ba78.js +1 -0
  31. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-c33d24bdadcf0c6e.js +1 -0
  32. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-d32871b974f7e72f.js +1 -0
  33. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-e4258dcd8fb1a077.js +10 -0
  34. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-74d56b3b7ac42546.js +1 -0
  35. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-555f079cdf31bbf6.js +1 -0
  36. package/app/.next/static/chunks/app/(dashboard)/dashboard/pxpipe/page-bd18ad88b98cd373.js +1 -0
  37. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-b3ffcc7df06a37d8.js +1 -0
  38. package/app/.next/static/chunks/app/(dashboard)/dashboard/skills/[id]/page-56bf48ee2068208e.js +1 -0
  39. package/app/.next/static/chunks/app/(dashboard)/dashboard/skills/page-46986a955b8c89b2.js +1 -0
  40. package/app/.next/static/chunks/app/(dashboard)/dashboard/token-saver/page-20972a96e348f397.js +1 -0
  41. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-0cc2ccbe11cc0013.js +1 -0
  42. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-5af5fff7d28ed91d.js +1 -0
  43. package/app/.next/static/chunks/app/(dashboard)/error-d633be4a53c4ab61.js +1 -0
  44. package/app/.next/static/chunks/app/(dashboard)/layout-62b4e2cdf745f8d0.js +1 -0
  45. package/app/.next/static/chunks/app/_global-error/page-e5f03432dd0bcd61.js +1 -0
  46. package/app/.next/static/chunks/app/_not-found/page-ee581ced4614e639.js +1 -0
  47. package/app/.next/static/chunks/app/api/agent-library/catalog/route-e5f03432dd0bcd61.js +1 -0
  48. package/app/.next/static/chunks/app/api/agent-library/doctor/route-e5f03432dd0bcd61.js +1 -0
  49. package/app/.next/static/chunks/app/api/agent-library/export/route-e5f03432dd0bcd61.js +1 -0
  50. package/app/.next/static/chunks/app/api/agent-library/mcp/route-e5f03432dd0bcd61.js +1 -0
  51. package/app/.next/static/chunks/app/api/agent-library/route-e5f03432dd0bcd61.js +1 -0
  52. package/app/.next/static/chunks/app/api/agent-library/skills/route-e5f03432dd0bcd61.js +1 -0
  53. package/app/.next/static/chunks/app/api/agent-library/sync/route-e5f03432dd0bcd61.js +1 -0
  54. package/app/.next/static/chunks/app/api/agent-library/updates/route-e5f03432dd0bcd61.js +1 -0
  55. package/app/.next/static/chunks/app/api/auth/status/route-e5f03432dd0bcd61.js +1 -0
  56. package/app/.next/static/chunks/app/api/cli-tools/aider-settings/route-e5f03432dd0bcd61.js +1 -0
  57. package/app/.next/static/chunks/app/api/cli-tools/all-statuses/route-e5f03432dd0bcd61.js +1 -0
  58. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-e5f03432dd0bcd61.js +1 -0
  59. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-e5f03432dd0bcd61.js +1 -0
  60. package/app/.next/static/chunks/app/api/cli-tools/claude-full-catalog/route-e5f03432dd0bcd61.js +1 -0
  61. package/app/.next/static/chunks/app/api/cli-tools/claude-picker-labels/route-e5f03432dd0bcd61.js +1 -0
  62. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-e5f03432dd0bcd61.js +1 -0
  63. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-e5f03432dd0bcd61.js +1 -0
  64. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-e5f03432dd0bcd61.js +1 -0
  65. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-e5f03432dd0bcd61.js +1 -0
  66. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-e5f03432dd0bcd61.js +1 -0
  67. package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-e5f03432dd0bcd61.js +1 -0
  68. package/app/.next/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-e5f03432dd0bcd61.js +1 -0
  69. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-e5f03432dd0bcd61.js +1 -0
  70. package/app/.next/static/chunks/app/api/cli-tools/gemini-cli-settings/route-e5f03432dd0bcd61.js +1 -0
  71. package/app/.next/static/chunks/app/api/cli-tools/grok-settings/route-e5f03432dd0bcd61.js +1 -0
  72. package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-e5f03432dd0bcd61.js +1 -0
  73. package/app/.next/static/chunks/app/api/cli-tools/jcode-settings/route-e5f03432dd0bcd61.js +1 -0
  74. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-e5f03432dd0bcd61.js +1 -0
  75. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-e5f03432dd0bcd61.js +1 -0
  76. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-e5f03432dd0bcd61.js +1 -0
  77. package/app/.next/static/chunks/app/api/cli-tools/pi-settings/route-e5f03432dd0bcd61.js +1 -0
  78. package/app/.next/static/chunks/app/api/cli-tools/picker-labels/route-e5f03432dd0bcd61.js +1 -0
  79. package/app/.next/static/chunks/app/api/combos/[id]/route-e5f03432dd0bcd61.js +1 -0
  80. package/app/.next/static/chunks/app/api/combos/route-e5f03432dd0bcd61.js +1 -0
  81. package/app/.next/static/chunks/app/api/headroom/extras/route-e5f03432dd0bcd61.js +1 -0
  82. package/app/.next/static/chunks/app/api/headroom/proxy/[...path]/route-e5f03432dd0bcd61.js +1 -0
  83. package/app/.next/static/chunks/app/api/headroom/restart/route-e5f03432dd0bcd61.js +1 -0
  84. package/app/.next/static/chunks/app/api/headroom/start/route-e5f03432dd0bcd61.js +1 -0
  85. package/app/.next/static/chunks/app/api/headroom/status/route-e5f03432dd0bcd61.js +1 -0
  86. package/app/.next/static/chunks/app/api/headroom/stop/route-e5f03432dd0bcd61.js +1 -0
  87. package/app/.next/static/chunks/app/api/health/route-e5f03432dd0bcd61.js +1 -0
  88. package/app/.next/static/chunks/app/api/keys/[id]/route-e5f03432dd0bcd61.js +1 -0
  89. package/app/.next/static/chunks/app/api/keys/route-e5f03432dd0bcd61.js +1 -0
  90. package/app/.next/static/chunks/app/api/locale/route-e5f03432dd0bcd61.js +1 -0
  91. package/app/.next/static/chunks/app/api/mcp/[plugin]/message/route-e5f03432dd0bcd61.js +1 -0
  92. package/app/.next/static/chunks/app/api/mcp/[plugin]/sse/route-e5f03432dd0bcd61.js +1 -0
  93. package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-e5f03432dd0bcd61.js +1 -0
  94. package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-e5f03432dd0bcd61.js +1 -0
  95. package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-e5f03432dd0bcd61.js +1 -0
  96. package/app/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-e5f03432dd0bcd61.js +1 -0
  97. package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-e5f03432dd0bcd61.js +1 -0
  98. package/app/.next/static/chunks/app/api/mgmt/v1/combos/[id]/route-e5f03432dd0bcd61.js +1 -0
  99. package/app/.next/static/chunks/app/api/mgmt/v1/combos/[id]/strategy/route-e5f03432dd0bcd61.js +1 -0
  100. package/app/.next/static/chunks/app/api/mgmt/v1/combos/route-e5f03432dd0bcd61.js +1 -0
  101. package/app/.next/static/chunks/app/api/mgmt/v1/health/route-e5f03432dd0bcd61.js +1 -0
  102. package/app/.next/static/chunks/app/api/mgmt/v1/metrics/route-e5f03432dd0bcd61.js +1 -0
  103. package/app/.next/static/chunks/app/api/mgmt/v1/providers/route-e5f03432dd0bcd61.js +1 -0
  104. package/app/.next/static/chunks/app/api/mgmt/v1/routing/route-e5f03432dd0bcd61.js +1 -0
  105. package/app/.next/static/chunks/app/api/mgmt/v1/usage/route-e5f03432dd0bcd61.js +1 -0
  106. package/app/.next/static/chunks/app/api/mgmt/v1/version/route-e5f03432dd0bcd61.js +1 -0
  107. package/app/.next/static/chunks/app/api/models/alias/route-e5f03432dd0bcd61.js +1 -0
  108. package/app/.next/static/chunks/app/api/models/availability/route-e5f03432dd0bcd61.js +1 -0
  109. package/app/.next/static/chunks/app/api/models/custom/route-e5f03432dd0bcd61.js +1 -0
  110. package/app/.next/static/chunks/app/api/models/disabled/route-e5f03432dd0bcd61.js +1 -0
  111. package/app/.next/static/chunks/app/api/models/route-e5f03432dd0bcd61.js +1 -0
  112. package/app/.next/static/chunks/app/api/models/test/route-e5f03432dd0bcd61.js +1 -0
  113. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-e5f03432dd0bcd61.js +1 -0
  114. package/app/.next/static/chunks/app/api/oauth/codex/bulk-import/route-e5f03432dd0bcd61.js +1 -0
  115. package/app/.next/static/chunks/app/api/oauth/codex/import-token/route-e5f03432dd0bcd61.js +1 -0
  116. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-e5f03432dd0bcd61.js +1 -0
  117. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-e5f03432dd0bcd61.js +1 -0
  118. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-e5f03432dd0bcd61.js +1 -0
  119. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-e5f03432dd0bcd61.js +1 -0
  120. package/app/.next/static/chunks/app/api/oauth/kiro/api-key/route-e5f03432dd0bcd61.js +1 -0
  121. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-e5f03432dd0bcd61.js +1 -0
  122. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-e5f03432dd0bcd61.js +1 -0
  123. package/app/.next/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-e5f03432dd0bcd61.js +1 -0
  124. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-e5f03432dd0bcd61.js +1 -0
  125. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-e5f03432dd0bcd61.js +1 -0
  126. package/app/.next/static/chunks/app/api/pricing/route-e5f03432dd0bcd61.js +1 -0
  127. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-e5f03432dd0bcd61.js +1 -0
  128. package/app/.next/static/chunks/app/api/provider-nodes/route-e5f03432dd0bcd61.js +1 -0
  129. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-e5f03432dd0bcd61.js +1 -0
  130. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/batch/route-e5f03432dd0bcd61.js +1 -0
  131. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/cache/route-e5f03432dd0bcd61.js +1 -0
  132. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/prepare/route-e5f03432dd0bcd61.js +1 -0
  133. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/remove-unavailable/route-e5f03432dd0bcd61.js +1 -0
  134. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/route-e5f03432dd0bcd61.js +1 -0
  135. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/verify/cancel/route-e5f03432dd0bcd61.js +1 -0
  136. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/verify/start/route-e5f03432dd0bcd61.js +1 -0
  137. package/app/.next/static/chunks/app/api/providers/[id]/model-probes/verify/status/route-e5f03432dd0bcd61.js +1 -0
  138. package/app/.next/static/chunks/app/api/providers/[id]/models/route-e5f03432dd0bcd61.js +1 -0
  139. package/app/.next/static/chunks/app/api/providers/[id]/route-e5f03432dd0bcd61.js +1 -0
  140. package/app/.next/static/chunks/app/api/providers/[id]/test/route-e5f03432dd0bcd61.js +1 -0
  141. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-e5f03432dd0bcd61.js +1 -0
  142. package/app/.next/static/chunks/app/api/providers/client/route-e5f03432dd0bcd61.js +1 -0
  143. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-e5f03432dd0bcd61.js +1 -0
  144. package/app/.next/static/chunks/app/api/providers/route-e5f03432dd0bcd61.js +1 -0
  145. package/app/.next/static/chunks/app/api/providers/suggested-models/route-e5f03432dd0bcd61.js +1 -0
  146. package/app/.next/static/chunks/app/api/providers/test-batch/route-e5f03432dd0bcd61.js +1 -0
  147. package/app/.next/static/chunks/app/api/providers/validate/route-e5f03432dd0bcd61.js +1 -0
  148. package/app/.next/static/chunks/app/api/pxpipe/health/route-e5f03432dd0bcd61.js +1 -0
  149. package/app/.next/static/chunks/app/api/pxpipe/install/route-e5f03432dd0bcd61.js +1 -0
  150. package/app/.next/static/chunks/app/api/pxpipe/logs/route-e5f03432dd0bcd61.js +1 -0
  151. package/app/.next/static/chunks/app/api/pxpipe/restart/route-e5f03432dd0bcd61.js +1 -0
  152. package/app/.next/static/chunks/app/api/pxpipe/start/route-e5f03432dd0bcd61.js +1 -0
  153. package/app/.next/static/chunks/app/api/pxpipe/stats/route-e5f03432dd0bcd61.js +1 -0
  154. package/app/.next/static/chunks/app/api/pxpipe/status/route-e5f03432dd0bcd61.js +1 -0
  155. package/app/.next/static/chunks/app/api/pxpipe/stop/route-e5f03432dd0bcd61.js +1 -0
  156. package/app/.next/static/chunks/app/api/routing/feedback/route-e5f03432dd0bcd61.js +1 -0
  157. package/app/.next/static/chunks/app/api/routing/insights/route-e5f03432dd0bcd61.js +1 -0
  158. package/app/.next/static/chunks/app/api/routing/learn/route-e5f03432dd0bcd61.js +1 -0
  159. package/app/.next/static/chunks/app/api/routing/stats/route-e5f03432dd0bcd61.js +1 -0
  160. package/app/.next/static/chunks/app/api/routing/versions/promote/route-e5f03432dd0bcd61.js +1 -0
  161. package/app/.next/static/chunks/app/api/routing/versions/rollback/route-e5f03432dd0bcd61.js +1 -0
  162. package/app/.next/static/chunks/app/api/settings/database/route-e5f03432dd0bcd61.js +1 -0
  163. package/app/.next/static/chunks/app/api/settings/proxy-test/route-e5f03432dd0bcd61.js +1 -0
  164. package/app/.next/static/chunks/app/api/settings/route-e5f03432dd0bcd61.js +1 -0
  165. package/app/.next/static/chunks/app/api/shutdown/route-e5f03432dd0bcd61.js +1 -0
  166. package/app/.next/static/chunks/app/api/skills/[id]/route-e5f03432dd0bcd61.js +1 -0
  167. package/app/.next/static/chunks/app/api/tags/route-e5f03432dd0bcd61.js +1 -0
  168. package/app/.next/static/chunks/app/api/token-saver/vault-stats/route-e5f03432dd0bcd61.js +1 -0
  169. package/app/.next/static/chunks/app/api/translator/console-logs/route-e5f03432dd0bcd61.js +1 -0
  170. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-e5f03432dd0bcd61.js +1 -0
  171. package/app/.next/static/chunks/app/api/translator/load/route-e5f03432dd0bcd61.js +1 -0
  172. package/app/.next/static/chunks/app/api/translator/save/route-e5f03432dd0bcd61.js +1 -0
  173. package/app/.next/static/chunks/app/api/translator/send/route-e5f03432dd0bcd61.js +1 -0
  174. package/app/.next/static/chunks/app/api/translator/translate/route-e5f03432dd0bcd61.js +1 -0
  175. package/app/.next/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-e5f03432dd0bcd61.js +1 -0
  176. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-e5f03432dd0bcd61.js +1 -0
  177. package/app/.next/static/chunks/app/api/usage/chart/route-e5f03432dd0bcd61.js +1 -0
  178. package/app/.next/static/chunks/app/api/usage/history/route-e5f03432dd0bcd61.js +1 -0
  179. package/app/.next/static/chunks/app/api/usage/logs/route-e5f03432dd0bcd61.js +1 -0
  180. package/app/.next/static/chunks/app/api/usage/providers/route-e5f03432dd0bcd61.js +1 -0
  181. package/app/.next/static/chunks/app/api/usage/request-details/route-e5f03432dd0bcd61.js +1 -0
  182. package/app/.next/static/chunks/app/api/usage/request-logs/route-e5f03432dd0bcd61.js +1 -0
  183. package/app/.next/static/chunks/app/api/usage/stats/route-e5f03432dd0bcd61.js +1 -0
  184. package/app/.next/static/chunks/app/api/usage/stream/route-e5f03432dd0bcd61.js +1 -0
  185. package/app/.next/static/chunks/app/api/v1/api/chat/route-e5f03432dd0bcd61.js +1 -0
  186. package/app/.next/static/chunks/app/api/v1/audio/speech/route-e5f03432dd0bcd61.js +1 -0
  187. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-e5f03432dd0bcd61.js +1 -0
  188. package/app/.next/static/chunks/app/api/v1/audio/voices/route-e5f03432dd0bcd61.js +1 -0
  189. package/app/.next/static/chunks/app/api/v1/chat/completions/route-e5f03432dd0bcd61.js +1 -0
  190. package/app/.next/static/chunks/app/api/v1/embeddings/route-e5f03432dd0bcd61.js +1 -0
  191. package/app/.next/static/chunks/app/api/v1/images/generations/route-e5f03432dd0bcd61.js +1 -0
  192. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-e5f03432dd0bcd61.js +1 -0
  193. package/app/.next/static/chunks/app/api/v1/messages/route-e5f03432dd0bcd61.js +1 -0
  194. package/app/.next/static/chunks/app/api/v1/models/[kind]/route-e5f03432dd0bcd61.js +1 -0
  195. package/app/.next/static/chunks/app/api/v1/models/info/route-e5f03432dd0bcd61.js +1 -0
  196. package/app/.next/static/chunks/app/api/v1/models/route-e5f03432dd0bcd61.js +1 -0
  197. package/app/.next/static/chunks/app/api/v1/responses/compact/route-e5f03432dd0bcd61.js +1 -0
  198. package/app/.next/static/chunks/app/api/v1/responses/route-e5f03432dd0bcd61.js +1 -0
  199. package/app/.next/static/chunks/app/api/v1/route-e5f03432dd0bcd61.js +1 -0
  200. package/app/.next/static/chunks/app/api/v1/search/route-e5f03432dd0bcd61.js +1 -0
  201. package/app/.next/static/chunks/app/api/v1/videos/[id]/route-e5f03432dd0bcd61.js +1 -0
  202. package/app/.next/static/chunks/app/api/v1/videos/edits/route-e5f03432dd0bcd61.js +1 -0
  203. package/app/.next/static/chunks/app/api/v1/videos/extensions/route-e5f03432dd0bcd61.js +1 -0
  204. package/app/.next/static/chunks/app/api/v1/videos/generations/route-e5f03432dd0bcd61.js +1 -0
  205. package/app/.next/static/chunks/app/api/v1/web/fetch/route-e5f03432dd0bcd61.js +1 -0
  206. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-e5f03432dd0bcd61.js +1 -0
  207. package/app/.next/static/chunks/app/api/v1beta/models/route-e5f03432dd0bcd61.js +1 -0
  208. package/app/.next/static/chunks/app/api/version/route-e5f03432dd0bcd61.js +1 -0
  209. package/app/.next/static/chunks/app/api/version/shutdown/route-e5f03432dd0bcd61.js +1 -0
  210. package/app/.next/static/chunks/app/api/version/update/route-e5f03432dd0bcd61.js +1 -0
  211. package/app/.next/static/chunks/app/callback/page-5c1d863ff86ddc6e.js +1 -0
  212. package/app/.next/static/chunks/app/dashboard/settings/pricing/page-423a4c1e078872dd.js +1 -0
  213. package/app/.next/static/chunks/app/landing/page-9e06d57d9b215fd7.js +1 -0
  214. package/app/.next/static/chunks/app/layout-214ea0ad8a3d8323.js +1 -0
  215. package/app/.next/static/chunks/app/login/page-e5f03432dd0bcd61.js +1 -0
  216. package/app/.next/static/chunks/app/manifest.webmanifest/route-e5f03432dd0bcd61.js +1 -0
  217. package/app/.next/static/chunks/app/page-e5f03432dd0bcd61.js +1 -0
  218. package/app/.next/static/chunks/framework-461b899b66554474.js +1 -0
  219. package/app/.next/static/chunks/main-app-83fef838b21a8d19.js +1 -0
  220. package/app/.next/static/chunks/main-d2d664d299c2e1bc.js +5 -0
  221. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-e5f03432dd0bcd61.js +1 -0
  222. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-e5f03432dd0bcd61.js +1 -0
  223. package/app/.next/static/chunks/next/dist/client/components/builtin/global-error-f9c47afa2e4175d7.js +1 -0
  224. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-e5f03432dd0bcd61.js +1 -0
  225. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-e5f03432dd0bcd61.js +1 -0
  226. package/app/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  227. package/app/.next/static/chunks/webpack-57b54315eb9fa808.js +1 -0
  228. package/app/.next/static/css/23b999cda6943547.css +1 -0
  229. package/app/.next/static/css/a26e7bdf55d5cb27.css +1 -0
  230. package/app/.next/static/css/e07f2bf4fa519943.css +31 -0
  231. package/app/.next/static/media/011e180705008d6f-s.woff2 +0 -0
  232. package/app/.next/static/media/20535187d867b7b9-s.woff2 +0 -0
  233. package/app/.next/static/media/26d4368bf94c0ec4-s.p.woff2 +0 -0
  234. package/app/.next/static/media/2801417b65625cf5-s.woff2 +0 -0
  235. package/app/.next/static/media/28793f5c5e3d822d-s.woff2 +0 -0
  236. package/app/.next/static/media/5356a6a4f2c8c8d8-s.woff2 +0 -0
  237. package/app/.next/static/media/58f386aa6b1a2a92-s.woff2 +0 -0
  238. package/app/.next/static/media/73cb51aac9c97f90-s.woff2 +0 -0
  239. package/app/.next/static/media/7b19b489dc6743ba-s.woff2 +0 -0
  240. package/app/.next/static/media/7ba5fb2a8c88521c-s.woff2 +0 -0
  241. package/app/.next/static/media/92eeb95d069020cc-s.woff2 +0 -0
  242. package/app/.next/static/media/98e207f02528a563-s.p.woff2 +0 -0
  243. package/app/.next/static/media/99dcf268bda04fe5-s.woff2 +0 -0
  244. package/app/.next/static/media/b3bf17a9041d9433-s.woff2 +0 -0
  245. package/app/.next/static/media/c9c3823090ec8b55-s.woff2 +0 -0
  246. package/app/.next/static/media/catalog.e7ada387.json +1710 -0
  247. package/app/.next/static/media/d26bbd13d6b70f89-s.woff2 +0 -0
  248. package/app/.next/static/media/d29838c109ef09b4-s.woff2 +0 -0
  249. package/app/.next/static/media/d3ebbfd689654d3a-s.p.woff2 +0 -0
  250. package/app/.next/static/media/db96af6b531dc71f-s.p.woff2 +0 -0
  251. package/app/.next/static/media/e40af3453d7c920a-s.woff2 +0 -0
  252. package/app/.next/static/media/ef4d5661765d0e49-s.woff2 +0 -0
  253. package/app/.next/static/media/material-symbols-outlined.f656244e.woff2 +0 -0
  254. package/app/.next-cli-build/BUILD_ID +1 -1
  255. package/app/.next-cli-build/app-path-routes-manifest.json +26 -10
  256. package/app/.next-cli-build/build-manifest.json +2 -2
  257. package/app/.next-cli-build/prerender-manifest.json +3 -3
  258. package/app/.next-cli-build/required-server-files.json +5 -1
  259. package/app/.next-cli-build/routes-manifest.json +98 -0
  260. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page.js +1 -1
  261. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page_client-reference-manifest.js +1 -1
  263. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  264. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  266. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  267. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  269. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  270. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  272. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  273. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  275. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page.js +1 -1
  276. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page_client-reference-manifest.js +1 -1
  278. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  279. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  281. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  282. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  284. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +11 -11
  285. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  287. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  288. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  290. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  291. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  293. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js +1 -1
  294. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
  296. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  297. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  299. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  300. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  302. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  303. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  305. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  306. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  308. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  309. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  311. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  312. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  314. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  315. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  317. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -0
  318. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -0
  319. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -0
  320. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  321. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  323. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page.js +1 -1
  324. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page_client-reference-manifest.js +1 -1
  326. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  327. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  329. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  330. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  332. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  333. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  335. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  336. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  338. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  339. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  341. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  342. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  343. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  344. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  345. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  346. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  347. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  349. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  350. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  351. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  352. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
  353. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  354. package/app/.next-cli-build/server/app/api/agent-library/catalog/route.js +1 -1
  355. package/app/.next-cli-build/server/app/api/agent-library/catalog/route.js.nft.json +1 -1
  356. package/app/.next-cli-build/server/app/api/agent-library/doctor/route.js +1 -1
  357. package/app/.next-cli-build/server/app/api/agent-library/doctor/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/agent-library/export/route.js +1 -1
  359. package/app/.next-cli-build/server/app/api/agent-library/export/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/agent-library/mcp/route.js +1 -1
  361. package/app/.next-cli-build/server/app/api/agent-library/mcp/route.js.nft.json +1 -1
  362. package/app/.next-cli-build/server/app/api/agent-library/route.js +1 -1
  363. package/app/.next-cli-build/server/app/api/agent-library/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/agent-library/skills/route.js +1 -1
  365. package/app/.next-cli-build/server/app/api/agent-library/skills/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/agent-library/sync/route.js +1 -1
  367. package/app/.next-cli-build/server/app/api/agent-library/sync/route.js.nft.json +1 -1
  368. package/app/.next-cli-build/server/app/api/agent-library/updates/route.js +1 -1
  369. package/app/.next-cli-build/server/app/api/agent-library/updates/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/cli-tools/aider-settings/route.js +2 -2
  373. package/app/.next-cli-build/server/app/api/cli-tools/aider-settings/route.js.nft.json +1 -1
  374. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  375. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  376. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  377. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  379. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  380. package/app/.next-cli-build/server/app/api/cli-tools/claude-full-catalog/route.js +1 -1
  381. package/app/.next-cli-build/server/app/api/cli-tools/claude-full-catalog/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/cli-tools/claude-picker-labels/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/cli-tools/claude-picker-labels/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
  385. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  386. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  387. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +2 -2
  389. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  391. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  392. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  393. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  395. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  397. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  398. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  399. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js +2 -2
  401. package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js +2 -2
  403. package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js.nft.json +1 -1
  404. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  405. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  407. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  409. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  410. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  411. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  413. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +1 -1
  415. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  416. package/app/.next-cli-build/server/app/api/cli-tools/picker-labels/route.js +1 -1
  417. package/app/.next-cli-build/server/app/api/cli-tools/picker-labels/route.js.nft.json +1 -1
  418. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  419. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  421. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  422. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -0
  423. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -0
  424. package/app/.next-cli-build/server/app/api/headroom/extras/route_client-reference-manifest.js +1 -0
  425. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  426. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  427. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -0
  428. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -0
  429. package/app/.next-cli-build/server/app/api/headroom/restart/route_client-reference-manifest.js +1 -0
  430. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  431. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  432. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  433. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  434. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  435. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  436. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  437. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  438. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  439. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  440. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  441. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  442. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  443. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  444. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  445. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  446. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
  447. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  448. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  449. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  450. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  451. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  452. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  453. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  454. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  455. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  456. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  457. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  458. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/route.js +1 -1
  459. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/route.js.nft.json +1 -1
  460. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/strategy/route.js +1 -1
  461. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/strategy/route.js.nft.json +1 -1
  462. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/route.js +1 -1
  463. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/route.js.nft.json +1 -1
  464. package/app/.next-cli-build/server/app/api/mgmt/v1/health/route.js +1 -1
  465. package/app/.next-cli-build/server/app/api/mgmt/v1/health/route.js.nft.json +1 -1
  466. package/app/.next-cli-build/server/app/api/mgmt/v1/metrics/route.js +2 -0
  467. package/app/.next-cli-build/server/app/api/mgmt/v1/metrics/route.js.nft.json +1 -0
  468. package/app/.next-cli-build/server/app/api/mgmt/v1/metrics/route_client-reference-manifest.js +1 -0
  469. package/app/.next-cli-build/server/app/api/mgmt/v1/providers/route.js +1 -1
  470. package/app/.next-cli-build/server/app/api/mgmt/v1/providers/route.js.nft.json +1 -1
  471. package/app/.next-cli-build/server/app/api/mgmt/v1/routing/route.js +1 -1
  472. package/app/.next-cli-build/server/app/api/mgmt/v1/routing/route.js.nft.json +1 -1
  473. package/app/.next-cli-build/server/app/api/mgmt/v1/usage/route.js +1 -1
  474. package/app/.next-cli-build/server/app/api/mgmt/v1/usage/route.js.nft.json +1 -1
  475. package/app/.next-cli-build/server/app/api/mgmt/v1/version/route.js +1 -1
  476. package/app/.next-cli-build/server/app/api/mgmt/v1/version/route.js.nft.json +1 -1
  477. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  478. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  479. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  480. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  481. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  482. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  483. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  484. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  485. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  486. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  487. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  488. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  489. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  490. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  491. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  492. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  493. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  494. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  495. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  496. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  497. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  498. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  499. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  500. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  501. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  502. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  503. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  504. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  505. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  506. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  507. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  508. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  509. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  510. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  511. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  512. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  513. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  514. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  515. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  516. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  517. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  518. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  519. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  520. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  521. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  522. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  523. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/batch/route.js +1 -1
  524. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/batch/route.js.nft.json +1 -1
  525. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/cache/route.js +1 -1
  526. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/cache/route.js.nft.json +1 -1
  527. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/prepare/route.js +1 -1
  528. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/prepare/route.js.nft.json +1 -1
  529. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/remove-unavailable/route.js +1 -1
  530. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/remove-unavailable/route.js.nft.json +1 -1
  531. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/route.js +1 -1
  532. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/route.js.nft.json +1 -1
  533. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/cancel/route.js +1 -1
  534. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/cancel/route.js.nft.json +1 -1
  535. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/start/route.js +1 -1
  536. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/start/route.js.nft.json +1 -1
  537. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/status/route.js +1 -1
  538. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/status/route.js.nft.json +1 -1
  539. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  540. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  541. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  542. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  543. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  544. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  545. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  546. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  547. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  548. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  549. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  550. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  551. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  552. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  553. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  554. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  555. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  556. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  557. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  558. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  559. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +3 -0
  560. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -0
  561. package/app/.next-cli-build/server/app/api/pxpipe/health/route_client-reference-manifest.js +1 -0
  562. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +3 -0
  563. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -0
  564. package/app/.next-cli-build/server/app/api/pxpipe/install/route_client-reference-manifest.js +1 -0
  565. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +3 -0
  566. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -0
  567. package/app/.next-cli-build/server/app/api/pxpipe/logs/route_client-reference-manifest.js +1 -0
  568. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +3 -0
  569. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -0
  570. package/app/.next-cli-build/server/app/api/pxpipe/restart/route_client-reference-manifest.js +1 -0
  571. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +3 -0
  572. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -0
  573. package/app/.next-cli-build/server/app/api/pxpipe/start/route_client-reference-manifest.js +1 -0
  574. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +3 -0
  575. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -0
  576. package/app/.next-cli-build/server/app/api/pxpipe/stats/route_client-reference-manifest.js +1 -0
  577. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +3 -0
  578. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -0
  579. package/app/.next-cli-build/server/app/api/pxpipe/status/route_client-reference-manifest.js +1 -0
  580. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +3 -0
  581. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -0
  582. package/app/.next-cli-build/server/app/api/pxpipe/stop/route_client-reference-manifest.js +1 -0
  583. package/app/.next-cli-build/server/app/api/routing/feedback/route.js +1 -1
  584. package/app/.next-cli-build/server/app/api/routing/feedback/route.js.nft.json +1 -1
  585. package/app/.next-cli-build/server/app/api/routing/insights/route.js +1 -1
  586. package/app/.next-cli-build/server/app/api/routing/insights/route.js.nft.json +1 -1
  587. package/app/.next-cli-build/server/app/api/routing/learn/route.js +1 -1
  588. package/app/.next-cli-build/server/app/api/routing/learn/route.js.nft.json +1 -1
  589. package/app/.next-cli-build/server/app/api/routing/stats/route.js +1 -1
  590. package/app/.next-cli-build/server/app/api/routing/stats/route.js.nft.json +1 -1
  591. package/app/.next-cli-build/server/app/api/routing/versions/promote/route.js +1 -1
  592. package/app/.next-cli-build/server/app/api/routing/versions/promote/route.js.nft.json +1 -1
  593. package/app/.next-cli-build/server/app/api/routing/versions/rollback/route.js +1 -1
  594. package/app/.next-cli-build/server/app/api/routing/versions/rollback/route.js.nft.json +1 -1
  595. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  596. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  597. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  598. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  599. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  600. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  601. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  602. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  603. package/app/.next-cli-build/server/app/api/skills/[id]/route.js +1 -1
  604. package/app/.next-cli-build/server/app/api/skills/[id]/route.js.nft.json +1 -1
  605. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  606. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  607. package/app/.next-cli-build/server/app/api/token-saver/vault-stats/route.js +1 -1
  608. package/app/.next-cli-build/server/app/api/token-saver/vault-stats/route.js.nft.json +1 -1
  609. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  610. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  611. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  612. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  613. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  614. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  615. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  616. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  617. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  618. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  619. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  620. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  621. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  622. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  623. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  624. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  625. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  626. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  627. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  628. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  629. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  630. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  631. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  632. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  633. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  634. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  635. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  636. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  637. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  638. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  639. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  640. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  641. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  642. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  643. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  644. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  645. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  646. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  647. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  648. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  649. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  650. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  651. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  652. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  653. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  654. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  655. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  656. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  657. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  658. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  659. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  660. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  661. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  662. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  663. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  664. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  665. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  666. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  667. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  668. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  669. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  670. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  671. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  672. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  673. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -0
  674. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -0
  675. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route_client-reference-manifest.js +1 -0
  676. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -0
  677. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -0
  678. package/app/.next-cli-build/server/app/api/v1/videos/edits/route_client-reference-manifest.js +1 -0
  679. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -0
  680. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -0
  681. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route_client-reference-manifest.js +1 -0
  682. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -0
  683. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -0
  684. package/app/.next-cli-build/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -0
  685. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  686. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  687. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  688. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  689. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  690. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  691. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  692. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  693. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  694. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  695. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  696. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  697. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  698. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  699. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  700. package/app/.next-cli-build/server/app/callback.html +1 -1
  701. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  702. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  703. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  704. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +4 -4
  705. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  706. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  707. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  708. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  709. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  710. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  711. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  712. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +5 -5
  713. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  714. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  715. package/app/.next-cli-build/server/app/index.html +1 -1
  716. package/app/.next-cli-build/server/app/index.rsc +4 -4
  717. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  718. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  719. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  720. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  721. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  722. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  723. package/app/.next-cli-build/server/app/landing.html +1 -1
  724. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  725. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  726. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  727. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +4 -4
  728. package/app/.next-cli-build/server/app/login/page.js +1 -1
  729. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  730. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  731. package/app/.next-cli-build/server/app/login.html +1 -1
  732. package/app/.next-cli-build/server/app/login.rsc +4 -4
  733. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  734. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  735. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  736. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  737. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  738. package/app/.next-cli-build/server/app/page.js +1 -1
  739. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  740. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  741. package/app/.next-cli-build/server/app-paths-manifest.json +26 -10
  742. package/app/.next-cli-build/server/chunks/1294.js +1 -1
  743. package/app/.next-cli-build/server/chunks/1350.js +1 -1
  744. package/app/.next-cli-build/server/chunks/159.js +1 -1
  745. package/app/.next-cli-build/server/chunks/1656.js +2 -0
  746. package/app/.next-cli-build/server/chunks/1937.js +2 -2
  747. package/app/.next-cli-build/server/chunks/194.js +1 -1
  748. package/app/.next-cli-build/server/chunks/1998.js +1 -1
  749. package/app/.next-cli-build/server/chunks/2376.js +1 -1
  750. package/app/.next-cli-build/server/chunks/2409.js +1 -1
  751. package/app/.next-cli-build/server/chunks/3026.js +1 -0
  752. package/app/.next-cli-build/server/chunks/3072.js +1 -1
  753. package/app/.next-cli-build/server/chunks/3075.js +1 -1
  754. package/app/.next-cli-build/server/chunks/3546.js +1 -1
  755. package/app/.next-cli-build/server/chunks/3593.js +2 -2
  756. package/app/.next-cli-build/server/chunks/369.js +11 -9
  757. package/app/.next-cli-build/server/chunks/3787.js +1 -1
  758. package/app/.next-cli-build/server/chunks/3904.js +1 -1
  759. package/app/.next-cli-build/server/chunks/3986.js +39 -23
  760. package/app/.next-cli-build/server/chunks/4739.js +2 -2
  761. package/app/.next-cli-build/server/chunks/4780.js +2 -2
  762. package/app/.next-cli-build/server/chunks/4803.js +1 -1
  763. package/app/.next-cli-build/server/chunks/507.js +2 -2
  764. package/app/.next-cli-build/server/chunks/5258.js +2 -2
  765. package/app/.next-cli-build/server/chunks/5350.js +1 -1
  766. package/app/.next-cli-build/server/chunks/5616.js +1 -0
  767. package/app/.next-cli-build/server/chunks/5717.js +47 -0
  768. package/app/.next-cli-build/server/chunks/5781.js +15 -0
  769. package/app/.next-cli-build/server/chunks/5888.js +246 -0
  770. package/app/.next-cli-build/server/chunks/5913.js +1 -0
  771. package/app/.next-cli-build/server/chunks/6052.js +2 -0
  772. package/app/.next-cli-build/server/chunks/6252.js +1 -1
  773. package/app/.next-cli-build/server/chunks/6274.js +1 -0
  774. package/app/.next-cli-build/server/chunks/6328.js +1 -1
  775. package/app/.next-cli-build/server/chunks/6347.js +1 -0
  776. package/app/.next-cli-build/server/chunks/6395.js +15 -15
  777. package/app/.next-cli-build/server/chunks/6406.js +1 -1
  778. package/app/.next-cli-build/server/chunks/6492.js +1 -1
  779. package/app/.next-cli-build/server/chunks/6947.js +1 -0
  780. package/app/.next-cli-build/server/chunks/698.js +2 -2
  781. package/app/.next-cli-build/server/chunks/6985.js +1 -1
  782. package/app/.next-cli-build/server/chunks/7141.js +1 -1
  783. package/app/.next-cli-build/server/chunks/7454.js +1 -1
  784. package/app/.next-cli-build/server/chunks/7557.js +4 -4
  785. package/app/.next-cli-build/server/chunks/7757.js +1 -0
  786. package/app/.next-cli-build/server/chunks/7774.js +3 -3
  787. package/app/.next-cli-build/server/chunks/7828.js +2 -2
  788. package/app/.next-cli-build/server/chunks/7965.js +2 -2
  789. package/app/.next-cli-build/server/chunks/8062.js +1 -1
  790. package/app/.next-cli-build/server/chunks/8117.js +1 -1
  791. package/app/.next-cli-build/server/chunks/8400.js +9 -9
  792. package/app/.next-cli-build/server/chunks/8469.js +1 -1
  793. package/app/.next-cli-build/server/chunks/849.js +1 -0
  794. package/app/.next-cli-build/server/chunks/8520.js +2 -2
  795. package/app/.next-cli-build/server/chunks/8658.js +1 -1
  796. package/app/.next-cli-build/server/chunks/869.js +1 -1
  797. package/app/.next-cli-build/server/chunks/8775.js +1 -1
  798. package/app/.next-cli-build/server/chunks/8789.js +1 -1
  799. package/app/.next-cli-build/server/chunks/8834.js +7 -0
  800. package/app/.next-cli-build/server/chunks/8942.js +246 -0
  801. package/app/.next-cli-build/server/chunks/8998.js +67 -43
  802. package/app/.next-cli-build/server/chunks/{5615.js → 9091.js} +2 -2
  803. package/app/.next-cli-build/server/chunks/9261.js +6 -6
  804. package/app/.next-cli-build/server/chunks/9264.js +10 -0
  805. package/app/.next-cli-build/server/chunks/940.js +246 -0
  806. package/app/.next-cli-build/server/chunks/9421.js +4 -0
  807. package/app/.next-cli-build/server/chunks/9508.js +4 -4
  808. package/app/.next-cli-build/server/chunks/9617.js +1 -0
  809. package/app/.next-cli-build/server/chunks/static/media/versions.401d57e8.json +20 -0
  810. package/app/.next-cli-build/server/functions-config-manifest.json +6 -0
  811. package/app/.next-cli-build/server/instrumentation.js +1 -1
  812. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  813. package/app/.next-cli-build/server/middleware.js +24 -12
  814. package/app/.next-cli-build/server/pages/404.html +1 -1
  815. package/app/.next-cli-build/server/pages/500.html +1 -1
  816. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  817. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  818. package/app/.next-cli-build/static/LW9zpYBdABYCFKEJUiC4B/_buildManifest.js +1 -0
  819. package/app/.next-cli-build/static/chunks/1321-8d4ef805452d3649.js +1 -0
  820. package/app/.next-cli-build/static/chunks/3531-e8d13ec64699f527.js +68 -0
  821. package/app/.next-cli-build/static/chunks/4707-1ec0b2edbb07f455.js +1 -0
  822. package/app/.next-cli-build/static/chunks/5497-a3b9cdb0b8300541.js +7 -0
  823. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/agent-library/page-24b5a8515eee26d6.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-4ec8bfa73afe20a6.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-6633578a55a1a436.js → page-d7205b7328b3fed1.js} +1 -1
  826. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-3cbe5d8636bd2161.js → page-d0b6efe01e687aec.js} +1 -1
  827. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-5cfdfdf507c8222f.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/routing/{page-1fc70bcd434deb73.js → page-25629f96675ad55d.js} +1 -1
  829. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-b54cd17200807e49.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-cd44cb44125275b6.js +3 -0
  831. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-995a96a01c24b126.js +59 -0
  832. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-95bf830096d019fd.js → page-52c12af07f9a6de0.js} +1 -1
  833. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-8554ba79c854167f.js +4 -0
  834. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/page-0f54c9a5e7391a77.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-961013b570bbeac6.js → page-cfbd3661ac75b8c5.js} +1 -1
  836. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-59e54ef2021ad5bb.js → page-8779ff2bc755ba78.js} +1 -1
  837. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-c33d24bdadcf0c6e.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-b5b9038ea28e63b6.js → page-d32871b974f7e72f.js} +1 -1
  839. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-e4258dcd8fb1a077.js +10 -0
  840. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/page-74d56b3b7ac42546.js +1 -0
  841. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-d3e35265648406f2.js → page-555f079cdf31bbf6.js} +1 -1
  842. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/page-bd18ad88b98cd373.js +1 -0
  843. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-b3ffcc7df06a37d8.js +1 -0
  844. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/[id]/{page-bb4af1ac9b13a514.js → page-56bf48ee2068208e.js} +1 -1
  845. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-4382c14f28ddfc7f.js → page-46986a955b8c89b2.js} +1 -1
  846. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-20972a96e348f397.js +1 -0
  847. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-0cc2ccbe11cc0013.js +1 -0
  848. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-5af5fff7d28ed91d.js +1 -0
  849. package/app/.next-cli-build/static/chunks/app/(dashboard)/error-d633be4a53c4ab61.js +1 -0
  850. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-d1fa5b81e1c386ab.js → layout-62b4e2cdf745f8d0.js} +1 -1
  851. package/app/.next-cli-build/static/chunks/app/_global-error/page-e5f03432dd0bcd61.js +1 -0
  852. package/app/.next-cli-build/static/chunks/app/api/agent-library/catalog/route-e5f03432dd0bcd61.js +1 -0
  853. package/app/.next-cli-build/static/chunks/app/api/agent-library/doctor/route-e5f03432dd0bcd61.js +1 -0
  854. package/app/.next-cli-build/static/chunks/app/api/agent-library/export/route-e5f03432dd0bcd61.js +1 -0
  855. package/app/.next-cli-build/static/chunks/app/api/agent-library/mcp/route-e5f03432dd0bcd61.js +1 -0
  856. package/app/.next-cli-build/static/chunks/app/api/agent-library/route-e5f03432dd0bcd61.js +1 -0
  857. package/app/.next-cli-build/static/chunks/app/api/agent-library/skills/route-e5f03432dd0bcd61.js +1 -0
  858. package/app/.next-cli-build/static/chunks/app/api/agent-library/sync/route-e5f03432dd0bcd61.js +1 -0
  859. package/app/.next-cli-build/static/chunks/app/api/agent-library/updates/route-e5f03432dd0bcd61.js +1 -0
  860. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-e5f03432dd0bcd61.js +1 -0
  861. package/app/.next-cli-build/static/chunks/app/api/cli-tools/aider-settings/route-e5f03432dd0bcd61.js +1 -0
  862. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-e5f03432dd0bcd61.js +1 -0
  863. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-e5f03432dd0bcd61.js +1 -0
  864. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-e5f03432dd0bcd61.js +1 -0
  865. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-full-catalog/route-e5f03432dd0bcd61.js +1 -0
  866. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-picker-labels/route-e5f03432dd0bcd61.js +1 -0
  867. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-e5f03432dd0bcd61.js +1 -0
  868. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-e5f03432dd0bcd61.js +1 -0
  869. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-e5f03432dd0bcd61.js +1 -0
  870. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-e5f03432dd0bcd61.js +1 -0
  871. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-e5f03432dd0bcd61.js +1 -0
  872. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-e5f03432dd0bcd61.js +1 -0
  873. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-e5f03432dd0bcd61.js +1 -0
  874. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-e5f03432dd0bcd61.js +1 -0
  875. package/app/.next-cli-build/static/chunks/app/api/cli-tools/gemini-cli-settings/route-e5f03432dd0bcd61.js +1 -0
  876. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-settings/route-e5f03432dd0bcd61.js +1 -0
  877. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-e5f03432dd0bcd61.js +1 -0
  878. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-e5f03432dd0bcd61.js +1 -0
  879. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-e5f03432dd0bcd61.js +1 -0
  880. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-e5f03432dd0bcd61.js +1 -0
  881. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-e5f03432dd0bcd61.js +1 -0
  882. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-e5f03432dd0bcd61.js +1 -0
  883. package/app/.next-cli-build/static/chunks/app/api/cli-tools/picker-labels/route-e5f03432dd0bcd61.js +1 -0
  884. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-e5f03432dd0bcd61.js +1 -0
  885. package/app/.next-cli-build/static/chunks/app/api/combos/route-e5f03432dd0bcd61.js +1 -0
  886. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-e5f03432dd0bcd61.js +1 -0
  887. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-e5f03432dd0bcd61.js +1 -0
  888. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-e5f03432dd0bcd61.js +1 -0
  889. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-e5f03432dd0bcd61.js +1 -0
  890. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-e5f03432dd0bcd61.js +1 -0
  891. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-e5f03432dd0bcd61.js +1 -0
  892. package/app/.next-cli-build/static/chunks/app/api/health/route-e5f03432dd0bcd61.js +1 -0
  893. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-e5f03432dd0bcd61.js +1 -0
  894. package/app/.next-cli-build/static/chunks/app/api/keys/route-e5f03432dd0bcd61.js +1 -0
  895. package/app/.next-cli-build/static/chunks/app/api/locale/route-e5f03432dd0bcd61.js +1 -0
  896. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-e5f03432dd0bcd61.js +1 -0
  897. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-e5f03432dd0bcd61.js +1 -0
  898. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-e5f03432dd0bcd61.js +1 -0
  899. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-e5f03432dd0bcd61.js +1 -0
  900. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-e5f03432dd0bcd61.js +1 -0
  901. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-e5f03432dd0bcd61.js +1 -0
  902. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-e5f03432dd0bcd61.js +1 -0
  903. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/route-e5f03432dd0bcd61.js +1 -0
  904. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/strategy/route-e5f03432dd0bcd61.js +1 -0
  905. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/route-e5f03432dd0bcd61.js +1 -0
  906. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/health/route-e5f03432dd0bcd61.js +1 -0
  907. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/metrics/route-e5f03432dd0bcd61.js +1 -0
  908. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/providers/route-e5f03432dd0bcd61.js +1 -0
  909. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/routing/route-e5f03432dd0bcd61.js +1 -0
  910. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/usage/route-e5f03432dd0bcd61.js +1 -0
  911. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/version/route-e5f03432dd0bcd61.js +1 -0
  912. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-e5f03432dd0bcd61.js +1 -0
  913. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-e5f03432dd0bcd61.js +1 -0
  914. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-e5f03432dd0bcd61.js +1 -0
  915. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-e5f03432dd0bcd61.js +1 -0
  916. package/app/.next-cli-build/static/chunks/app/api/models/route-e5f03432dd0bcd61.js +1 -0
  917. package/app/.next-cli-build/static/chunks/app/api/models/test/route-e5f03432dd0bcd61.js +1 -0
  918. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-e5f03432dd0bcd61.js +1 -0
  919. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-e5f03432dd0bcd61.js +1 -0
  920. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-e5f03432dd0bcd61.js +1 -0
  921. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-e5f03432dd0bcd61.js +1 -0
  922. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-e5f03432dd0bcd61.js +1 -0
  923. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-e5f03432dd0bcd61.js +1 -0
  924. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-e5f03432dd0bcd61.js +1 -0
  925. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-e5f03432dd0bcd61.js +1 -0
  926. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-e5f03432dd0bcd61.js +1 -0
  927. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-e5f03432dd0bcd61.js +1 -0
  928. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-e5f03432dd0bcd61.js +1 -0
  929. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-e5f03432dd0bcd61.js +1 -0
  930. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-e5f03432dd0bcd61.js +1 -0
  931. package/app/.next-cli-build/static/chunks/app/api/pricing/route-e5f03432dd0bcd61.js +1 -0
  932. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-e5f03432dd0bcd61.js +1 -0
  933. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-e5f03432dd0bcd61.js +1 -0
  934. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-e5f03432dd0bcd61.js +1 -0
  935. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/batch/route-e5f03432dd0bcd61.js +1 -0
  936. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/cache/route-e5f03432dd0bcd61.js +1 -0
  937. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/prepare/route-e5f03432dd0bcd61.js +1 -0
  938. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/remove-unavailable/route-e5f03432dd0bcd61.js +1 -0
  939. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/route-e5f03432dd0bcd61.js +1 -0
  940. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/cancel/route-e5f03432dd0bcd61.js +1 -0
  941. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/start/route-e5f03432dd0bcd61.js +1 -0
  942. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/status/route-e5f03432dd0bcd61.js +1 -0
  943. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-e5f03432dd0bcd61.js +1 -0
  944. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-e5f03432dd0bcd61.js +1 -0
  945. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-e5f03432dd0bcd61.js +1 -0
  946. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-e5f03432dd0bcd61.js +1 -0
  947. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-e5f03432dd0bcd61.js +1 -0
  948. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-e5f03432dd0bcd61.js +1 -0
  949. package/app/.next-cli-build/static/chunks/app/api/providers/route-e5f03432dd0bcd61.js +1 -0
  950. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-e5f03432dd0bcd61.js +1 -0
  951. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-e5f03432dd0bcd61.js +1 -0
  952. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-e5f03432dd0bcd61.js +1 -0
  953. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-e5f03432dd0bcd61.js +1 -0
  954. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-e5f03432dd0bcd61.js +1 -0
  955. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-e5f03432dd0bcd61.js +1 -0
  956. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-e5f03432dd0bcd61.js +1 -0
  957. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-e5f03432dd0bcd61.js +1 -0
  958. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-e5f03432dd0bcd61.js +1 -0
  959. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-e5f03432dd0bcd61.js +1 -0
  960. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-e5f03432dd0bcd61.js +1 -0
  961. package/app/.next-cli-build/static/chunks/app/api/routing/feedback/route-e5f03432dd0bcd61.js +1 -0
  962. package/app/.next-cli-build/static/chunks/app/api/routing/insights/route-e5f03432dd0bcd61.js +1 -0
  963. package/app/.next-cli-build/static/chunks/app/api/routing/learn/route-e5f03432dd0bcd61.js +1 -0
  964. package/app/.next-cli-build/static/chunks/app/api/routing/stats/route-e5f03432dd0bcd61.js +1 -0
  965. package/app/.next-cli-build/static/chunks/app/api/routing/versions/promote/route-e5f03432dd0bcd61.js +1 -0
  966. package/app/.next-cli-build/static/chunks/app/api/routing/versions/rollback/route-e5f03432dd0bcd61.js +1 -0
  967. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-e5f03432dd0bcd61.js +1 -0
  968. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-e5f03432dd0bcd61.js +1 -0
  969. package/app/.next-cli-build/static/chunks/app/api/settings/route-e5f03432dd0bcd61.js +1 -0
  970. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-e5f03432dd0bcd61.js +1 -0
  971. package/app/.next-cli-build/static/chunks/app/api/skills/[id]/route-e5f03432dd0bcd61.js +1 -0
  972. package/app/.next-cli-build/static/chunks/app/api/tags/route-e5f03432dd0bcd61.js +1 -0
  973. package/app/.next-cli-build/static/chunks/app/api/token-saver/vault-stats/route-e5f03432dd0bcd61.js +1 -0
  974. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-e5f03432dd0bcd61.js +1 -0
  975. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-e5f03432dd0bcd61.js +1 -0
  976. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-e5f03432dd0bcd61.js +1 -0
  977. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-e5f03432dd0bcd61.js +1 -0
  978. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-e5f03432dd0bcd61.js +1 -0
  979. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-e5f03432dd0bcd61.js +1 -0
  980. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-e5f03432dd0bcd61.js +1 -0
  981. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-e5f03432dd0bcd61.js +1 -0
  982. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-e5f03432dd0bcd61.js +1 -0
  983. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-e5f03432dd0bcd61.js +1 -0
  984. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-e5f03432dd0bcd61.js +1 -0
  985. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-e5f03432dd0bcd61.js +1 -0
  986. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-e5f03432dd0bcd61.js +1 -0
  987. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-e5f03432dd0bcd61.js +1 -0
  988. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-e5f03432dd0bcd61.js +1 -0
  989. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-e5f03432dd0bcd61.js +1 -0
  990. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-e5f03432dd0bcd61.js +1 -0
  991. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-e5f03432dd0bcd61.js +1 -0
  992. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-e5f03432dd0bcd61.js +1 -0
  993. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-e5f03432dd0bcd61.js +1 -0
  994. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-e5f03432dd0bcd61.js +1 -0
  995. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-e5f03432dd0bcd61.js +1 -0
  996. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-e5f03432dd0bcd61.js +1 -0
  997. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-e5f03432dd0bcd61.js +1 -0
  998. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-e5f03432dd0bcd61.js +1 -0
  999. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-e5f03432dd0bcd61.js +1 -0
  1000. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-e5f03432dd0bcd61.js +1 -0
  1001. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-e5f03432dd0bcd61.js +1 -0
  1002. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-e5f03432dd0bcd61.js +1 -0
  1003. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-e5f03432dd0bcd61.js +1 -0
  1004. package/app/.next-cli-build/static/chunks/app/api/v1/route-e5f03432dd0bcd61.js +1 -0
  1005. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-e5f03432dd0bcd61.js +1 -0
  1006. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-e5f03432dd0bcd61.js +1 -0
  1007. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-e5f03432dd0bcd61.js +1 -0
  1008. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-e5f03432dd0bcd61.js +1 -0
  1009. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-e5f03432dd0bcd61.js +1 -0
  1010. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-e5f03432dd0bcd61.js +1 -0
  1011. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-e5f03432dd0bcd61.js +1 -0
  1012. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-e5f03432dd0bcd61.js +1 -0
  1013. package/app/.next-cli-build/static/chunks/app/api/version/route-e5f03432dd0bcd61.js +1 -0
  1014. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-e5f03432dd0bcd61.js +1 -0
  1015. package/app/.next-cli-build/static/chunks/app/api/version/update/route-e5f03432dd0bcd61.js +1 -0
  1016. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-423a4c1e078872dd.js +1 -0
  1017. package/app/.next-cli-build/static/chunks/app/login/page-e5f03432dd0bcd61.js +1 -0
  1018. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-e5f03432dd0bcd61.js +1 -0
  1019. package/app/.next-cli-build/static/chunks/app/page-e5f03432dd0bcd61.js +1 -0
  1020. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-e5f03432dd0bcd61.js +1 -0
  1021. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-e5f03432dd0bcd61.js +1 -0
  1022. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-e5f03432dd0bcd61.js +1 -0
  1023. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-e5f03432dd0bcd61.js +1 -0
  1024. package/app/.next-cli-build/static/css/23b999cda6943547.css +1 -0
  1025. package/app/custom-server.js +63 -2
  1026. package/app/node_modules/impit/CHANGELOG.md +545 -0
  1027. package/app/node_modules/impit/README.md +62 -0
  1028. package/app/node_modules/impit/dts-header.d.ts +36 -0
  1029. package/app/node_modules/impit/errors.js +117 -0
  1030. package/app/node_modules/impit/index.d.ts +431 -0
  1031. package/app/node_modules/impit/index.js +583 -0
  1032. package/app/node_modules/impit/index.wrapper.js +504 -0
  1033. package/app/node_modules/impit/package.json +66 -0
  1034. package/app/node_modules/impit/pnpm-workspace.yaml +15 -0
  1035. package/app/node_modules/impit/tsconfig.docs.json +6 -0
  1036. package/app/node_modules/impit-linux-x64-gnu/README.md +3 -0
  1037. package/app/node_modules/impit-linux-x64-gnu/impit-node.linux-x64-gnu.node +0 -0
  1038. package/app/node_modules/impit-linux-x64-gnu/package.json +24 -0
  1039. package/app/open-sse/identity/snapshots/versions.json +20 -0
  1040. package/app/open-sse/identity/tls/bin/darwin/arm64/switchboard-claude-tls +0 -0
  1041. package/app/open-sse/identity/tls/bin/darwin/x64/switchboard-claude-tls +0 -0
  1042. package/app/open-sse/identity/tls/bin/linux/arm64/switchboard-claude-tls +0 -0
  1043. package/app/open-sse/identity/tls/bin/linux/x64/switchboard-claude-tls +0 -0
  1044. package/app/open-sse/identity/tls/bin/win32/arm64/switchboard-claude-tls.exe +0 -0
  1045. package/app/open-sse/identity/tls/bin/win32/x64/switchboard-claude-tls.exe +0 -0
  1046. package/app/package.json +9 -3
  1047. package/app/server.js +1 -1
  1048. package/app/src/lib/db/adapters/betterSqliteAdapter.js +12 -6
  1049. package/app/src/lib/db/adapters/bunSqliteAdapter.js +11 -6
  1050. package/app/src/lib/db/adapters/nodeSqliteAdapter.js +11 -6
  1051. package/app/src/lib/db/adapters/sqljsAdapter.js +12 -5
  1052. package/app/src/lib/db/migrate.js +167 -22
  1053. package/app/src/lib/oauth/services/qoder.js +8 -1
  1054. package/app/src/lib/oauth/services/xai.js +11 -3
  1055. package/cli.js +14 -0
  1056. package/package.json +10 -2
  1057. package/src/cli/cliOptions.js +3 -0
  1058. package/src/cli/commands/xaiVideo.js +300 -0
  1059. package/src/cli/menus/apiKeys.js +7 -49
  1060. package/src/cli/menus/cliTools.js +4 -5
  1061. package/src/cli/terminalUI.js +2 -2
  1062. package/src/cli/utils/input.js +40 -0
  1063. package/app/.next-cli-build/server/chunks/1064.js +0 -104
  1064. package/app/.next-cli-build/server/chunks/1421.js +0 -1
  1065. package/app/.next-cli-build/server/chunks/2925.js +0 -1
  1066. package/app/.next-cli-build/server/chunks/3535.js +0 -1
  1067. package/app/.next-cli-build/server/chunks/4776.js +0 -33
  1068. package/app/.next-cli-build/server/chunks/615.js +0 -1
  1069. package/app/.next-cli-build/server/chunks/6448.js +0 -109
  1070. package/app/.next-cli-build/server/chunks/65.js +0 -1
  1071. package/app/.next-cli-build/server/chunks/7335.js +0 -1
  1072. package/app/.next-cli-build/server/chunks/7374.js +0 -2
  1073. package/app/.next-cli-build/server/chunks/8718.js +0 -1
  1074. package/app/.next-cli-build/server/chunks/9046.js +0 -1
  1075. package/app/.next-cli-build/server/chunks/9062.js +0 -104
  1076. package/app/.next-cli-build/server/chunks/9489.js +0 -8
  1077. package/app/.next-cli-build/server/chunks/9696.js +0 -7
  1078. package/app/.next-cli-build/static/chunks/1321-5250bb46aa281ab5.js +0 -1
  1079. package/app/.next-cli-build/static/chunks/3531-5066ce0b15cf43af.js +0 -68
  1080. package/app/.next-cli-build/static/chunks/5497-53b1dd3f23fb96bc.js +0 -7
  1081. package/app/.next-cli-build/static/chunks/7592-bbf465c7acd2478e.js +0 -1
  1082. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/agent-library/page-62bea7b75b3f2692.js +0 -1
  1083. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-1eb380280857cf20.js +0 -1
  1084. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-4bf0abe7c7119ac0.js +0 -1
  1085. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-fdc5377da12ec933.js +0 -1
  1086. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-b48bd39cb03c4985.js +0 -3
  1087. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-9e60537a4b8f5a0c.js +0 -59
  1088. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-45ebe6bb46c9f65e.js +0 -4
  1089. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/page-7ac82c8930583633.js +0 -1
  1090. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-27ae229b00137a0b.js +0 -1
  1091. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-1ec149c6b914249d.js +0 -10
  1092. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/page-fe7ccc9c117d7d38.js +0 -1
  1093. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-5ac3900baf3fe9ca.js +0 -1
  1094. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-1b2b6b736fe98698.js +0 -1
  1095. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-92fe95bd4e6b3d0a.js +0 -1
  1096. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-4c47b9660f3066e2.js +0 -1
  1097. package/app/.next-cli-build/static/chunks/app/_global-error/page-596c1bc92adc4d71.js +0 -1
  1098. package/app/.next-cli-build/static/chunks/app/api/agent-library/catalog/route-596c1bc92adc4d71.js +0 -1
  1099. package/app/.next-cli-build/static/chunks/app/api/agent-library/doctor/route-596c1bc92adc4d71.js +0 -1
  1100. package/app/.next-cli-build/static/chunks/app/api/agent-library/export/route-596c1bc92adc4d71.js +0 -1
  1101. package/app/.next-cli-build/static/chunks/app/api/agent-library/mcp/route-596c1bc92adc4d71.js +0 -1
  1102. package/app/.next-cli-build/static/chunks/app/api/agent-library/route-596c1bc92adc4d71.js +0 -1
  1103. package/app/.next-cli-build/static/chunks/app/api/agent-library/skills/route-596c1bc92adc4d71.js +0 -1
  1104. package/app/.next-cli-build/static/chunks/app/api/agent-library/sync/route-596c1bc92adc4d71.js +0 -1
  1105. package/app/.next-cli-build/static/chunks/app/api/agent-library/updates/route-596c1bc92adc4d71.js +0 -1
  1106. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-596c1bc92adc4d71.js +0 -1
  1107. package/app/.next-cli-build/static/chunks/app/api/cli-tools/aider-settings/route-596c1bc92adc4d71.js +0 -1
  1108. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-596c1bc92adc4d71.js +0 -1
  1109. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-596c1bc92adc4d71.js +0 -1
  1110. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-596c1bc92adc4d71.js +0 -1
  1111. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-full-catalog/route-596c1bc92adc4d71.js +0 -1
  1112. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-picker-labels/route-596c1bc92adc4d71.js +0 -1
  1113. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-596c1bc92adc4d71.js +0 -1
  1114. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-596c1bc92adc4d71.js +0 -1
  1115. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-596c1bc92adc4d71.js +0 -1
  1116. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-596c1bc92adc4d71.js +0 -1
  1117. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-596c1bc92adc4d71.js +0 -1
  1118. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-596c1bc92adc4d71.js +0 -1
  1119. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-596c1bc92adc4d71.js +0 -1
  1120. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-596c1bc92adc4d71.js +0 -1
  1121. package/app/.next-cli-build/static/chunks/app/api/cli-tools/gemini-cli-settings/route-596c1bc92adc4d71.js +0 -1
  1122. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-settings/route-596c1bc92adc4d71.js +0 -1
  1123. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-596c1bc92adc4d71.js +0 -1
  1124. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-596c1bc92adc4d71.js +0 -1
  1125. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-596c1bc92adc4d71.js +0 -1
  1126. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-596c1bc92adc4d71.js +0 -1
  1127. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-596c1bc92adc4d71.js +0 -1
  1128. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-596c1bc92adc4d71.js +0 -1
  1129. package/app/.next-cli-build/static/chunks/app/api/cli-tools/picker-labels/route-596c1bc92adc4d71.js +0 -1
  1130. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-596c1bc92adc4d71.js +0 -1
  1131. package/app/.next-cli-build/static/chunks/app/api/combos/route-596c1bc92adc4d71.js +0 -1
  1132. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-596c1bc92adc4d71.js +0 -1
  1133. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-596c1bc92adc4d71.js +0 -1
  1134. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-596c1bc92adc4d71.js +0 -1
  1135. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-596c1bc92adc4d71.js +0 -1
  1136. package/app/.next-cli-build/static/chunks/app/api/health/route-596c1bc92adc4d71.js +0 -1
  1137. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-596c1bc92adc4d71.js +0 -1
  1138. package/app/.next-cli-build/static/chunks/app/api/keys/route-596c1bc92adc4d71.js +0 -1
  1139. package/app/.next-cli-build/static/chunks/app/api/locale/route-596c1bc92adc4d71.js +0 -1
  1140. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-596c1bc92adc4d71.js +0 -1
  1141. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-596c1bc92adc4d71.js +0 -1
  1142. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-596c1bc92adc4d71.js +0 -1
  1143. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-596c1bc92adc4d71.js +0 -1
  1144. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-596c1bc92adc4d71.js +0 -1
  1145. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-596c1bc92adc4d71.js +0 -1
  1146. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-596c1bc92adc4d71.js +0 -1
  1147. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/route-596c1bc92adc4d71.js +0 -1
  1148. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/strategy/route-596c1bc92adc4d71.js +0 -1
  1149. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/route-596c1bc92adc4d71.js +0 -1
  1150. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/health/route-596c1bc92adc4d71.js +0 -1
  1151. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/providers/route-596c1bc92adc4d71.js +0 -1
  1152. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/routing/route-596c1bc92adc4d71.js +0 -1
  1153. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/usage/route-596c1bc92adc4d71.js +0 -1
  1154. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/version/route-596c1bc92adc4d71.js +0 -1
  1155. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-596c1bc92adc4d71.js +0 -1
  1156. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-596c1bc92adc4d71.js +0 -1
  1157. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-596c1bc92adc4d71.js +0 -1
  1158. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-596c1bc92adc4d71.js +0 -1
  1159. package/app/.next-cli-build/static/chunks/app/api/models/route-596c1bc92adc4d71.js +0 -1
  1160. package/app/.next-cli-build/static/chunks/app/api/models/test/route-596c1bc92adc4d71.js +0 -1
  1161. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-596c1bc92adc4d71.js +0 -1
  1162. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-596c1bc92adc4d71.js +0 -1
  1163. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-596c1bc92adc4d71.js +0 -1
  1164. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-596c1bc92adc4d71.js +0 -1
  1165. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-596c1bc92adc4d71.js +0 -1
  1166. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-596c1bc92adc4d71.js +0 -1
  1167. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-596c1bc92adc4d71.js +0 -1
  1168. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-596c1bc92adc4d71.js +0 -1
  1169. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-596c1bc92adc4d71.js +0 -1
  1170. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-596c1bc92adc4d71.js +0 -1
  1171. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-596c1bc92adc4d71.js +0 -1
  1172. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-596c1bc92adc4d71.js +0 -1
  1173. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-596c1bc92adc4d71.js +0 -1
  1174. package/app/.next-cli-build/static/chunks/app/api/pricing/route-596c1bc92adc4d71.js +0 -1
  1175. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-596c1bc92adc4d71.js +0 -1
  1176. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-596c1bc92adc4d71.js +0 -1
  1177. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-596c1bc92adc4d71.js +0 -1
  1178. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/batch/route-596c1bc92adc4d71.js +0 -1
  1179. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/cache/route-596c1bc92adc4d71.js +0 -1
  1180. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/prepare/route-596c1bc92adc4d71.js +0 -1
  1181. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/remove-unavailable/route-596c1bc92adc4d71.js +0 -1
  1182. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/route-596c1bc92adc4d71.js +0 -1
  1183. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/cancel/route-596c1bc92adc4d71.js +0 -1
  1184. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/start/route-596c1bc92adc4d71.js +0 -1
  1185. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/status/route-596c1bc92adc4d71.js +0 -1
  1186. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-596c1bc92adc4d71.js +0 -1
  1187. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-596c1bc92adc4d71.js +0 -1
  1188. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-596c1bc92adc4d71.js +0 -1
  1189. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-596c1bc92adc4d71.js +0 -1
  1190. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-596c1bc92adc4d71.js +0 -1
  1191. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-596c1bc92adc4d71.js +0 -1
  1192. package/app/.next-cli-build/static/chunks/app/api/providers/route-596c1bc92adc4d71.js +0 -1
  1193. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-596c1bc92adc4d71.js +0 -1
  1194. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-596c1bc92adc4d71.js +0 -1
  1195. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-596c1bc92adc4d71.js +0 -1
  1196. package/app/.next-cli-build/static/chunks/app/api/routing/feedback/route-596c1bc92adc4d71.js +0 -1
  1197. package/app/.next-cli-build/static/chunks/app/api/routing/insights/route-596c1bc92adc4d71.js +0 -1
  1198. package/app/.next-cli-build/static/chunks/app/api/routing/learn/route-596c1bc92adc4d71.js +0 -1
  1199. package/app/.next-cli-build/static/chunks/app/api/routing/stats/route-596c1bc92adc4d71.js +0 -1
  1200. package/app/.next-cli-build/static/chunks/app/api/routing/versions/promote/route-596c1bc92adc4d71.js +0 -1
  1201. package/app/.next-cli-build/static/chunks/app/api/routing/versions/rollback/route-596c1bc92adc4d71.js +0 -1
  1202. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-596c1bc92adc4d71.js +0 -1
  1203. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-596c1bc92adc4d71.js +0 -1
  1204. package/app/.next-cli-build/static/chunks/app/api/settings/route-596c1bc92adc4d71.js +0 -1
  1205. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-596c1bc92adc4d71.js +0 -1
  1206. package/app/.next-cli-build/static/chunks/app/api/skills/[id]/route-596c1bc92adc4d71.js +0 -1
  1207. package/app/.next-cli-build/static/chunks/app/api/tags/route-596c1bc92adc4d71.js +0 -1
  1208. package/app/.next-cli-build/static/chunks/app/api/token-saver/vault-stats/route-596c1bc92adc4d71.js +0 -1
  1209. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-596c1bc92adc4d71.js +0 -1
  1210. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-596c1bc92adc4d71.js +0 -1
  1211. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-596c1bc92adc4d71.js +0 -1
  1212. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-596c1bc92adc4d71.js +0 -1
  1213. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-596c1bc92adc4d71.js +0 -1
  1214. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-596c1bc92adc4d71.js +0 -1
  1215. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-596c1bc92adc4d71.js +0 -1
  1216. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-596c1bc92adc4d71.js +0 -1
  1217. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-596c1bc92adc4d71.js +0 -1
  1218. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-596c1bc92adc4d71.js +0 -1
  1219. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-596c1bc92adc4d71.js +0 -1
  1220. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-596c1bc92adc4d71.js +0 -1
  1221. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-596c1bc92adc4d71.js +0 -1
  1222. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-596c1bc92adc4d71.js +0 -1
  1223. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-596c1bc92adc4d71.js +0 -1
  1224. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-596c1bc92adc4d71.js +0 -1
  1225. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-596c1bc92adc4d71.js +0 -1
  1226. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-596c1bc92adc4d71.js +0 -1
  1227. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-596c1bc92adc4d71.js +0 -1
  1228. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-596c1bc92adc4d71.js +0 -1
  1229. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-596c1bc92adc4d71.js +0 -1
  1230. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-596c1bc92adc4d71.js +0 -1
  1231. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-596c1bc92adc4d71.js +0 -1
  1232. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-596c1bc92adc4d71.js +0 -1
  1233. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-596c1bc92adc4d71.js +0 -1
  1234. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-596c1bc92adc4d71.js +0 -1
  1235. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-596c1bc92adc4d71.js +0 -1
  1236. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-596c1bc92adc4d71.js +0 -1
  1237. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-596c1bc92adc4d71.js +0 -1
  1238. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-596c1bc92adc4d71.js +0 -1
  1239. package/app/.next-cli-build/static/chunks/app/api/v1/route-596c1bc92adc4d71.js +0 -1
  1240. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-596c1bc92adc4d71.js +0 -1
  1241. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-596c1bc92adc4d71.js +0 -1
  1242. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-596c1bc92adc4d71.js +0 -1
  1243. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-596c1bc92adc4d71.js +0 -1
  1244. package/app/.next-cli-build/static/chunks/app/api/version/route-596c1bc92adc4d71.js +0 -1
  1245. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-596c1bc92adc4d71.js +0 -1
  1246. package/app/.next-cli-build/static/chunks/app/api/version/update/route-596c1bc92adc4d71.js +0 -1
  1247. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-3414584e4d85b11f.js +0 -1
  1248. package/app/.next-cli-build/static/chunks/app/login/page-596c1bc92adc4d71.js +0 -1
  1249. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-596c1bc92adc4d71.js +0 -1
  1250. package/app/.next-cli-build/static/chunks/app/page-596c1bc92adc4d71.js +0 -1
  1251. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-596c1bc92adc4d71.js +0 -1
  1252. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-596c1bc92adc4d71.js +0 -1
  1253. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-596c1bc92adc4d71.js +0 -1
  1254. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-596c1bc92adc4d71.js +0 -1
  1255. package/app/.next-cli-build/static/css/8f209feb703c674d.css +0 -1
  1256. package/app/.next-cli-build/static/dTnRQJQsV_UGBAsupqJ2u/_buildManifest.js +0 -1
  1257. /package/app/.next-cli-build/static/{dTnRQJQsV_UGBAsupqJ2u → LW9zpYBdABYCFKEJUiC4B}/_ssgManifest.js +0 -0
@@ -0,0 +1,246 @@
1
+ "use strict";exports.id=5888,exports.ids=[5888],exports.modules={34050:(a,b,c)=>{c.d(b,{CG:()=>e,oG:()=>d,zE:()=>f});let d=`
2
+ PRAGMA journal_mode = WAL;
3
+ PRAGMA synchronous = NORMAL;
4
+ PRAGMA temp_store = MEMORY;
5
+ PRAGMA mmap_size = 30000000;
6
+ PRAGMA cache_size = -64000;
7
+ PRAGMA foreign_keys = ON;
8
+ PRAGMA busy_timeout = 5000;
9
+ `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL",keyPrefix:"TEXT",lookupDigest:"TEXT",allowedModels:"TEXT",allowedCombos:"TEXT",expiresAt:"TEXT",rateLimitPerMinute:"INTEGER",concurrencyLimit:"INTEGER",spendLimitUsd:"REAL",spentUsd:"REAL NOT NULL DEFAULT 0"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_prefix ON apiKeys(keyPrefix)","CREATE UNIQUE INDEX IF NOT EXISTS idx_ak_lookup_digest ON apiKeys(lookupDigest) WHERE lookupDigest IS NOT NULL"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",clientKeyId:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT",requestId:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)","CREATE INDEX IF NOT EXISTS idx_uh_client_key ON usageHistory(clientKeyId)","CREATE UNIQUE INDEX IF NOT EXISTS idx_uh_request_id ON usageHistory(requestId) WHERE requestId IS NOT NULL"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]},fetchCache:{columns:{cacheKey:"TEXT PRIMARY KEY",kind:"TEXT",url:"TEXT",content:"TEXT NOT NULL",contentType:"TEXT",sizeBytes:"INTEGER",createdAt:"TEXT NOT NULL",expiresAt:"TEXT NOT NULL",lastAccessedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_fc_expires_at ON fetchCache(expiresAt)","CREATE INDEX IF NOT EXISTS idx_fc_last_accessed_at ON fetchCache(lastAccessedAt)"]},vault_entries:{columns:{id:"TEXT PRIMARY KEY",conversationId:"TEXT NOT NULL",toolName:"TEXT",content:"TEXT NOT NULL",sizeBytes:"INTEGER",createdAt:"TEXT NOT NULL",expiresAt:"TEXT NOT NULL",lastAccessedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_vault_conv ON vault_entries(conversationId)","CREATE INDEX IF NOT EXISTS idx_vault_expires ON vault_entries(expiresAt)","CREATE INDEX IF NOT EXISTS idx_vault_last_accessed ON vault_entries(lastAccessedAt)"]},vault_chunks:{columns:{entryId:"TEXT NOT NULL",chunkIndex:"INTEGER NOT NULL",conversationId:"TEXT NOT NULL",text:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (entryId, chunkIndex)",indexes:["CREATE INDEX IF NOT EXISTS idx_vault_chunks_conv ON vault_chunks(conversationId)"]},routing_events:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",comboName:"TEXT NOT NULL",sessionId:"TEXT",requestId:"TEXT",requestFingerprint:"TEXT",cluster:"TEXT",routerModel:"TEXT",pickedWorker:"TEXT",alternates:"TEXT",routerReason:"TEXT",routerConfidence:"TEXT",routerLatencyMs:"INTEGER",workerStatus:"INTEGER",workerLatencyMs:"INTEGER",fallbackUsed:"INTEGER DEFAULT 0",retries:"INTEGER DEFAULT 0",tokensIn:"INTEGER",tokensOut:"INTEGER",outcomeScore:"REAL",objective:"TEXT",learningVersionId:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_re_combo_ts ON routing_events(comboName, timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_re_cluster_combo ON routing_events(cluster, comboName)","CREATE INDEX IF NOT EXISTS idx_re_worker ON routing_events(pickedWorker)","CREATE INDEX IF NOT EXISTS idx_re_request ON routing_events(comboName, requestId)"]},router_learning_versions:{columns:{id:"TEXT PRIMARY KEY",comboName:"TEXT NOT NULL",version:"INTEGER NOT NULL",createdAt:"TEXT NOT NULL",source:"TEXT",banditTable:"TEXT",learnedRules:"TEXT",fewShots:"TEXT",evalScore:"REAL",prevVersionId:"TEXT",promoted:"INTEGER DEFAULT 0",notes:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_rlv_combo ON router_learning_versions(comboName)","CREATE UNIQUE INDEX IF NOT EXISTS idx_rlv_combo_ver ON router_learning_versions(comboName, version)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},95888:(a,b,c)=>{c.d(b,{runMigrationOnce:()=>Y});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(20437),i=c(34050),j=c(20639);let k={keyPrefix:"TEXT",lookupDigest:"TEXT",allowedModels:"TEXT",allowedCombos:"TEXT",expiresAt:"TEXT",rateLimitPerMinute:"INTEGER",concurrencyLimit:"INTEGER",spendLimitUsd:"REAL",spentUsd:"REAL NOT NULL DEFAULT 0"};function l(a,b){return new Set((a.all(`PRAGMA table_info(${b})`)||[]).map(a=>a.name))}function m(a,b){return a&&"local-no-key"!==a&&b.find(b=>(0,j.O0)(b.key,String(a)))?.id||null}function n(a,b){if(!a)return structuredClone(b);for(let[c,d]of Object.entries(b))"number"==typeof d?a[c]=(Number(a[c])||0)+d:c in a||(a[c]=structuredClone(d));return a}function o(a,b=[],c="up",d=null){let e=a&&"object"==typeof a?structuredClone(a):{};if("down"===c){let a=e.byClientKey&&"object"==typeof e.byClientKey?e.byClientKey:{},b={};for(let c of Object.values(a)){let a=c?.rawModel??"unknown",d=c?.provider??"unknown",e={...c,apiKey:null};delete e.clientKeyId;let f=`local-no-key|${a}|${d||"unknown"}`;b[f]=n(b[f],e)}return delete e.byClientKey,e.byApiKey=b,e}let f=e.byApiKey&&"object"==typeof e.byApiKey?e.byApiKey:{},g=e.byClientKey&&"object"==typeof e.byClientKey?structuredClone(e.byClientKey):{};for(let[a,c]of Object.entries(f)){let e="string"==typeof c?.apiKey?c.apiKey:a.split("|")[0],f=d?d(e):m(e,b),h=c?.rawModel??a.split("|")[1]??"unknown",i=c?.provider??a.split("|")[2]??"unknown",j={...c,clientKeyId:f};delete j.apiKey,delete j.apiKeyMasked,delete j.apiKeyKey;let k=`${f||"local-no-key"}|${h}|${i||"unknown"}`;g[k]=n(g[k],j)}return delete e.byApiKey,e.byClientKey=g,e}function p(a){let b=a.get(`
10
+ SELECT COUNT(*) count,
11
+ COALESCE(SUM(promptTokens), 0) prompt,
12
+ COALESCE(SUM(completionTokens), 0) completion,
13
+ COALESCE(SUM(cost), 0) cost
14
+ FROM usageHistory
15
+ `);return[Number(b?.count||0),Number(b?.prompt||0),Number(b?.completion||0),Number(b?.cost||0)]}function q(a,b){if(a.some((a,c)=>a!==b[c]))throw Error("client key identity migration changed usage totals")}function r(a,b){a.exec(`
16
+ CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC);
17
+ CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider);
18
+ CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model);
19
+ CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId);
20
+ ${"clientKeyId"===b?"CREATE INDEX IF NOT EXISTS idx_uh_client_key ON usageHistory(clientKeyId);":""}
21
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_uh_request_id ON usageHistory(requestId) WHERE requestId IS NOT NULL;
22
+ `)}function s(a,b,c){for(let d of a.all("SELECT dateKey, data FROM usageDaily")||[]){let e;try{e=JSON.parse(d.data)}catch{e={}}a.run("UPDATE usageDaily SET data = ? WHERE dateKey = ?",[JSON.stringify(o(e,b,c)),d.dateKey])}}var t=c(77397),u=c(15738);let v=["requests","promptTokens","completionTokens","cachedTokens","cost"],w=["router","bandit_policy","cached_route","exploration","judge_flag_escalation","fallback_rescue"];function x(a,b){return!!a.get("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?",[b])}function y(a){return{provider:a,requests:0,promptTokens:0,completionTokens:0,cachedTokens:0,cost:0}}function z(a,b,{integer:c=!1}={}){return(0,t.T)(void 0===a?0:a,b,{integer:c})}function A(a,b,c){for(let d of v)a[d]+=z(b?.[d],`${c}.${d}`,{integer:"cost"!==d})}function B(a){a.exec(`
23
+ DELETE FROM prometheusUsageTotals;
24
+ DELETE FROM prometheusRoutingRequests;
25
+ DELETE FROM prometheusRoutingTotals;
26
+ `),a.run(`INSERT INTO prometheusMetricState(id, available) VALUES(1, 0)
27
+ ON CONFLICT(id) DO UPDATE SET available = 0`);try{return!function(a){let b=(0,u.fK)(a),c=new Map,d=a=>(c.has(a)||c.set(a,y(a)),c.get(a));for(let c of x(a,"usageDaily")&&a.all("SELECT dateKey, data FROM usageDaily")||[]){let a;try{a=JSON.parse(c.data)}catch{throw Error(`invalid Prometheus usage aggregate JSON: ${c.dateKey}`)}if(!a||"object"!=typeof a||Array.isArray(a))throw Error(`invalid Prometheus usage aggregate object: ${c.dateKey}`);let e=y("overall");if(A(e,a,`usageDaily.${c.dateKey}`),null!=a.byProvider&&("object"!=typeof a.byProvider||Array.isArray(a.byProvider)))throw Error(`invalid Prometheus provider aggregate: ${c.dateKey}`);let f=y("attributed");for(let[e,g]of Object.entries(a.byProvider||{})){if(!g||"object"!=typeof g||Array.isArray(g))throw Error(`invalid Prometheus provider aggregate: ${c.dateKey}.${e}`);A(f,g,`usageDaily.${c.dateKey}.byProvider.${e}`),A(d(b.has(e)?e:"unknown"),g,`usageDaily.${c.dateKey}.byProvider.${e}`)}let g=d("unknown");for(let a of v){let b=e[a]-f[a];if(b<-1e-9)throw Error(`invalid Prometheus usage remainder: ${c.dateKey}.${a}`);g[a]+=Math.max(0,b)}}for(let b of c.values())v.some(a=>b[a]>0)&&a.run(`INSERT INTO prometheusUsageTotals(provider, requests, promptTokens, completionTokens, cachedTokens, cost)
28
+ VALUES(?, ?, ?, ?, ?, ?)`,[b.provider,b.requests,b.promptTokens,b.completionTokens,b.cachedTokens,b.cost])}(a),!function(a){let b=x(a,"routing_events")&&a.all(`WITH terminal AS (
29
+ SELECT id,
30
+ COALESCE(requestId, CAST(id AS TEXT)) AS requestKey,
31
+ comboName,
32
+ timestamp,
33
+ routerReason,
34
+ fallbackUsed,
35
+ workerStatus
36
+ FROM routing_events
37
+ WHERE (
38
+ meta LIKE '%"terminal":true%'
39
+ OR meta IS NULL
40
+ OR meta NOT LIKE '%"terminal"%'
41
+ )
42
+ AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
43
+ ),
44
+ per_request AS (
45
+ SELECT requestKey,
46
+ MAX(id) AS terminalId,
47
+ MAX(CASE WHEN fallbackUsed = 1 THEN 1 ELSE 0 END) AS fallbackUsed,
48
+ MAX(CASE WHEN workerStatus >= 400 THEN 1 ELSE 0 END) AS isError
49
+ FROM terminal
50
+ GROUP BY requestKey
51
+ )
52
+ SELECT per_request.requestKey,
53
+ terminal.comboName,
54
+ terminal.timestamp,
55
+ per_request.terminalId,
56
+ CASE
57
+ WHEN terminal.routerReason LIKE 'exploration%' THEN 'exploration'
58
+ WHEN terminal.routerReason = 'bandit_policy' THEN 'bandit_policy'
59
+ WHEN terminal.routerReason = 'cached_route' THEN 'cached_route'
60
+ WHEN terminal.routerReason = 'judge_flag_escalation' THEN 'judge_flag_escalation'
61
+ WHEN per_request.fallbackUsed = 1 THEN 'fallback_rescue'
62
+ ELSE 'router'
63
+ END AS source,
64
+ per_request.isError,
65
+ per_request.fallbackUsed
66
+ FROM per_request
67
+ JOIN terminal ON terminal.id = per_request.terminalId`)||[],c=Object.fromEntries(w.map(a=>[a,{requests:0,errors:0,fallbacks:0}]));for(let d of b){let b=z(d.terminalId,`${d.requestKey}.terminalId`,{integer:!0}),e=z(d.isError,`${d.requestKey}.isError`,{integer:!0}),f=z(d.fallbackUsed,`${d.requestKey}.fallbackUsed`,{integer:!0});if(!w.includes(d.source)||![0,1].includes(e)||![0,1].includes(f))throw Error(`invalid Prometheus routing aggregate: ${d.requestKey}`);a.run(`INSERT INTO prometheusRoutingRequests(requestKey, comboName, timestamp, terminalId, source, isError, fallbackUsed)
68
+ VALUES(?, ?, ?, ?, ?, ?, ?)`,[d.requestKey,d.comboName,d.timestamp,b,d.source,e,f]),c[d.source].requests+=1,c[d.source].errors+=e,c[d.source].fallbacks+=f}for(let b of w){let d=c[b];a.run("INSERT INTO prometheusRoutingTotals(source, requests, errors, fallbacks) VALUES(?, ?, ?, ?)",[b,d.requests,d.errors,d.fallbacks])}}(a),a.run("UPDATE prometheusMetricState SET available = 1 WHERE id = 1"),!0}catch{return a.exec(`
69
+ DELETE FROM prometheusUsageTotals;
70
+ DELETE FROM prometheusRoutingRequests;
71
+ DELETE FROM prometheusRoutingTotals;
72
+ `),!1}}let C=[{version:1,name:"initial",up(a){for(let[b,c]of Object.entries(i.CG))for(let d of(a.exec((0,i.zE)(b,c)),c.indexes||[]))a.exec(d)}},{version:2,name:"routing-auto",up(a){a.exec(`
73
+ CREATE TABLE IF NOT EXISTS routing_events (
74
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
75
+ timestamp TEXT NOT NULL,
76
+ comboName TEXT NOT NULL,
77
+ sessionId TEXT,
78
+ requestFingerprint TEXT,
79
+ cluster TEXT,
80
+ routerModel TEXT,
81
+ pickedWorker TEXT,
82
+ alternates TEXT,
83
+ routerReason TEXT,
84
+ routerConfidence TEXT,
85
+ routerLatencyMs INTEGER,
86
+ workerStatus INTEGER,
87
+ workerLatencyMs INTEGER,
88
+ fallbackUsed INTEGER DEFAULT 0,
89
+ retries INTEGER DEFAULT 0,
90
+ tokensIn INTEGER,
91
+ tokensOut INTEGER,
92
+ outcomeScore REAL,
93
+ objective TEXT,
94
+ learningVersionId TEXT,
95
+ meta TEXT
96
+ );
97
+ CREATE INDEX IF NOT EXISTS idx_re_combo_ts ON routing_events(comboName, timestamp DESC);
98
+ CREATE INDEX IF NOT EXISTS idx_re_cluster_combo ON routing_events(cluster, comboName);
99
+ CREATE INDEX IF NOT EXISTS idx_re_worker ON routing_events(pickedWorker);
100
+
101
+ CREATE TABLE IF NOT EXISTS router_learning_versions (
102
+ id TEXT PRIMARY KEY,
103
+ comboName TEXT NOT NULL,
104
+ version INTEGER NOT NULL,
105
+ createdAt TEXT NOT NULL,
106
+ source TEXT,
107
+ banditTable TEXT,
108
+ learnedRules TEXT,
109
+ fewShots TEXT,
110
+ evalScore REAL,
111
+ prevVersionId TEXT,
112
+ promoted INTEGER DEFAULT 0,
113
+ notes TEXT
114
+ );
115
+ CREATE INDEX IF NOT EXISTS idx_rlv_combo ON router_learning_versions(comboName);
116
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_rlv_combo_ver ON router_learning_versions(comboName, version);
117
+ `)}},{version:3,name:"routing-request-id",up(a){new Set((a.all("PRAGMA table_info(routing_events)")||[]).map(a=>a.name)).has("requestId")||a.exec("ALTER TABLE routing_events ADD COLUMN requestId TEXT"),a.exec("CREATE INDEX IF NOT EXISTS idx_re_request ON routing_events(comboName, requestId)")}},{version:4,name:"provider-model-probe",up(a){a.exec(`
118
+ CREATE TABLE IF NOT EXISTS provider_model_probe (
119
+ provider_id TEXT NOT NULL,
120
+ scope_key TEXT NOT NULL,
121
+ model_id TEXT NOT NULL,
122
+ kind TEXT NOT NULL DEFAULT 'llm',
123
+ status TEXT NOT NULL,
124
+ latency_ms INTEGER,
125
+ failure_class TEXT,
126
+ failure_message TEXT,
127
+ checked_at TEXT NOT NULL,
128
+ PRIMARY KEY (provider_id, scope_key, kind, model_id)
129
+ )
130
+ `),a.exec("CREATE INDEX IF NOT EXISTS idx_pmp_provider_scope ON provider_model_probe(provider_id, scope_key)"),a.exec("CREATE INDEX IF NOT EXISTS idx_pmp_status ON provider_model_probe(provider_id, scope_key, status)")}},{version:5,name:"usage-request-id",up(a){(a.all("PRAGMA table_info(usageHistory)")||[]).some(a=>"requestId"===a.name)||a.exec("ALTER TABLE usageHistory ADD COLUMN requestId TEXT"),a.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_uh_request_id ON usageHistory(requestId) WHERE requestId IS NOT NULL")}},{version:6,name:"fetch-cache",up(a){a.exec(`
131
+ CREATE TABLE IF NOT EXISTS fetchCache (
132
+ cacheKey TEXT PRIMARY KEY,
133
+ kind TEXT,
134
+ url TEXT,
135
+ content TEXT NOT NULL,
136
+ contentType TEXT,
137
+ sizeBytes INTEGER,
138
+ createdAt TEXT NOT NULL,
139
+ expiresAt TEXT NOT NULL,
140
+ lastAccessedAt TEXT NOT NULL
141
+ );
142
+ CREATE INDEX IF NOT EXISTS idx_fc_expires_at ON fetchCache(expiresAt);
143
+ CREATE INDEX IF NOT EXISTS idx_fc_last_accessed_at ON fetchCache(lastAccessedAt);
144
+ `)}},{version:7,name:"rtk-vault",up(a){a.exec(`
145
+ CREATE TABLE IF NOT EXISTS vault_entries (
146
+ id TEXT PRIMARY KEY,
147
+ conversationId TEXT NOT NULL,
148
+ toolName TEXT,
149
+ content TEXT NOT NULL,
150
+ sizeBytes INTEGER,
151
+ createdAt TEXT NOT NULL,
152
+ expiresAt TEXT NOT NULL,
153
+ lastAccessedAt TEXT NOT NULL
154
+ );
155
+ CREATE INDEX IF NOT EXISTS idx_vault_conv ON vault_entries(conversationId);
156
+ CREATE INDEX IF NOT EXISTS idx_vault_expires ON vault_entries(expiresAt);
157
+ CREATE INDEX IF NOT EXISTS idx_vault_last_accessed ON vault_entries(lastAccessedAt);
158
+
159
+ CREATE TABLE IF NOT EXISTS vault_chunks (
160
+ entryId TEXT NOT NULL,
161
+ chunkIndex INTEGER NOT NULL,
162
+ conversationId TEXT NOT NULL,
163
+ text TEXT NOT NULL,
164
+ PRIMARY KEY (entryId, chunkIndex)
165
+ );
166
+ CREATE INDEX IF NOT EXISTS idx_vault_chunks_conv ON vault_chunks(conversationId);
167
+ `)}},{version:8,name:"client-key-identity",up(a){a.exec("PRAGMA secure_delete=ON");let b=l(a,"apiKeys");for(let[c,d]of Object.entries(k))b.has(c)||a.exec(`ALTER TABLE apiKeys ADD COLUMN ${c} ${d}`);let c=a.all("SELECT id, key FROM apiKeys")||[];for(let b of c){let c=(0,j.Yh)(b.key),d=(0,j.BA)(c);a.run("UPDATE apiKeys SET key = ?, keyPrefix = ?, lookupDigest = ? WHERE id = ?",[c,d.prefix||null,d.lookupDigest||null,b.id]),b.key=c,b.keyPrefix=d.prefix||null,b.lookupDigest=d.lookupDigest||null}if(a.exec("CREATE INDEX IF NOT EXISTS idx_ak_prefix ON apiKeys(keyPrefix)"),a.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_ak_lookup_digest ON apiKeys(lookupDigest) WHERE lookupDigest IS NOT NULL"),l(a,"usageHistory").has("apiKey")){let b=p(a),d=a.all("SELECT * FROM usageHistory ORDER BY id")||[];for(let b of(a.exec("DROP TABLE IF EXISTS usageHistory_v8"),a.exec(`
168
+ CREATE TABLE usageHistory_v8 (
169
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
170
+ timestamp TEXT NOT NULL,
171
+ provider TEXT,
172
+ model TEXT,
173
+ connectionId TEXT,
174
+ clientKeyId TEXT,
175
+ endpoint TEXT,
176
+ promptTokens INTEGER DEFAULT 0,
177
+ completionTokens INTEGER DEFAULT 0,
178
+ cost REAL DEFAULT 0,
179
+ status TEXT,
180
+ tokens TEXT,
181
+ meta TEXT,
182
+ requestId TEXT
183
+ )
184
+ `),d))a.run(`INSERT INTO usageHistory_v8(id, timestamp, provider, model, connectionId, clientKeyId, endpoint, promptTokens, completionTokens, cost, status, tokens, meta, requestId)
185
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[b.id,b.timestamp,b.provider,b.model,b.connectionId,m(b.apiKey,c),b.endpoint,b.promptTokens,b.completionTokens,b.cost,b.status,b.tokens,b.meta,b.requestId]);a.exec("DROP TABLE usageHistory; ALTER TABLE usageHistory_v8 RENAME TO usageHistory"),r(a,"clientKeyId"),q(b,p(a))}else r(a,"clientKeyId");for(let b of(s(a,c,"up"),a.exec(`
186
+ UPDATE apiKeys
187
+ SET spentUsd = MAX(
188
+ COALESCE(spentUsd, 0),
189
+ COALESCE((SELECT SUM(cost) FROM usageHistory WHERE clientKeyId = apiKeys.id), 0)
190
+ )
191
+ `),c))if((0,j.BA)(b.key).legacy){let c=(0,j.ws)(String(b.key)),d=(0,j.BA)(c);a.run("UPDATE apiKeys SET key = ?, keyPrefix = ?, lookupDigest = ? WHERE id = ?",[c,d.prefix||null,d.lookupDigest||null,b.id]),b.key=c,b.lookupDigest=d.lookupDigest||null}},down(a){if(l(a,"usageHistory").has("apiKey"))return;let b=p(a),c=a.all("SELECT * FROM usageHistory ORDER BY id")||[];for(let b of(a.exec("DROP TABLE IF EXISTS usageHistory_v7"),a.exec(`
192
+ CREATE TABLE usageHistory_v7 (
193
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
194
+ timestamp TEXT NOT NULL,
195
+ provider TEXT,
196
+ model TEXT,
197
+ connectionId TEXT,
198
+ apiKey TEXT,
199
+ endpoint TEXT,
200
+ promptTokens INTEGER DEFAULT 0,
201
+ completionTokens INTEGER DEFAULT 0,
202
+ cost REAL DEFAULT 0,
203
+ status TEXT,
204
+ tokens TEXT,
205
+ meta TEXT,
206
+ requestId TEXT
207
+ )
208
+ `),c))a.run(`INSERT INTO usageHistory_v7(id, timestamp, provider, model, connectionId, apiKey, endpoint, promptTokens, completionTokens, cost, status, tokens, meta, requestId)
209
+ VALUES (?, ?, ?, ?, ?, NULL, ?, ?, ?, ?, ?, ?, ?, ?)`,[b.id,b.timestamp,b.provider,b.model,b.connectionId,b.endpoint,b.promptTokens,b.completionTokens,b.cost,b.status,b.tokens,b.meta,b.requestId]);a.exec("DROP TABLE usageHistory; ALTER TABLE usageHistory_v7 RENAME TO usageHistory"),r(a,"apiKey"),s(a,[],"down"),q(b,p(a))},afterUp(a){a.checkpoint?.(),a.exec("VACUUM"),a.checkpoint?.()}},{version:9,name:"prometheus-materialization",up(a){a.exec(`
210
+ CREATE TABLE IF NOT EXISTS prometheusMetricState (
211
+ id INTEGER PRIMARY KEY CHECK (id = 1),
212
+ available INTEGER NOT NULL CHECK (available IN (0, 1))
213
+ );
214
+ CREATE TABLE IF NOT EXISTS prometheusUsageTotals (
215
+ provider TEXT PRIMARY KEY,
216
+ requests INTEGER NOT NULL,
217
+ promptTokens INTEGER NOT NULL,
218
+ completionTokens INTEGER NOT NULL,
219
+ cachedTokens INTEGER NOT NULL,
220
+ cost REAL NOT NULL
221
+ );
222
+ CREATE TABLE IF NOT EXISTS prometheusRoutingRequests (
223
+ requestKey TEXT PRIMARY KEY,
224
+ comboName TEXT,
225
+ timestamp TEXT NOT NULL,
226
+ terminalId INTEGER NOT NULL,
227
+ source TEXT NOT NULL,
228
+ isError INTEGER NOT NULL,
229
+ fallbackUsed INTEGER NOT NULL
230
+ );
231
+ CREATE INDEX IF NOT EXISTS idx_prom_routing_combo ON prometheusRoutingRequests(comboName);
232
+ CREATE INDEX IF NOT EXISTS idx_prom_routing_timestamp ON prometheusRoutingRequests(timestamp);
233
+ CREATE TABLE IF NOT EXISTS prometheusRoutingTotals (
234
+ source TEXT PRIMARY KEY,
235
+ requests INTEGER NOT NULL,
236
+ errors INTEGER NOT NULL,
237
+ fallbacks INTEGER NOT NULL
238
+ );
239
+ `),B(a)},down(a){a.exec(`
240
+ DROP TABLE IF EXISTS prometheusRoutingTotals;
241
+ DROP TABLE IF EXISTS prometheusRoutingRequests;
242
+ DROP TABLE IF EXISTS prometheusMetricState;
243
+ DROP TABLE IF EXISTS prometheusUsageTotals;
244
+ `)}}].sort((a,b)=>a.version-b.version);function D(a,b,c=null){let d=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return d?d.value:c}function E(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}let F=null;function G(){if(F)return F;try{let a=g().join(process.cwd(),"package.json");F=JSON.parse(e().readFileSync(a,"utf-8")).version||"0.0.0"}catch{F="0.0.0"}return F}function H(a){(0,h.Jh)();let b=G(),c=`${a}-${b}-${function(a=new Date){let b=a=>String(a).padStart(2,"0");return`${a.getFullYear()}${b(a.getMonth()+1)}${b(a.getDate())}-${b(a.getHours())}${b(a.getMinutes())}${b(a.getSeconds())}`}()}`,d=g().join(h.KQ,c),f=1;for(;e().existsSync(d);)d=g().join(h.KQ,`${c}-${f++}`);return e().mkdirSync(d,{recursive:!0}),d}function I(a,b,c=null){if(!e().existsSync(a))return null;let d=c||g().basename(a),f=g().join(b,d);return e().copyFileSync(a,f),f}function J(){if(e().existsSync(h.KQ))for(let a of e().readdirSync(h.KQ,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>({name:a.name,full:g().join(h.KQ,a.name),mtime:e().statSync(g().join(h.KQ,a.name)).mtimeMs})).sort((a,b)=>b.mtime-a.mtime).slice(5))try{e().rmSync(a.full,{recursive:!0,force:!0})}catch{}}var K=c(50743),L=c(92216);let M=g().join(h.HG,".migrated-from-json"),N=g().join(h.HG,".legacy-secrets-sanitized"),O=new WeakSet,P=j.O0;class Q extends Error{constructor(a,b){super(a),this.name="MigrationAborted",this.droppedRows=b}}function R(a,b,c,d,e){let f=[];for(let a of c)try{d(a)}catch(b){f.push({...e(a),reason:b.message})}let g=a.get(`SELECT COUNT(*) as c FROM ${b}`)?.c??0;if(g!==c.length)throw console.warn(`[DB][migrate] ${b} row-count mismatch: expected ${c.length}, got ${g}. Dropped:`,f),new Q(`${b} row-count mismatch: expected ${c.length}, got ${g}`,f)}function S(a){if(!e().existsSync(a))return null;try{return JSON.parse(e().readFileSync(a,"utf-8"))}catch{return null}}function T(a,b,c=new Map){let d=new Map,e=[];for(let b of a?.apiKeys||[]){if("string"!=typeof b?.key||!b.id)continue;let a=(0,j.Yh)(b.key);e.push({id:b.id,stored:a}),(0,j.BA)(a).legacy&&d.set(String(b.key),b.id)}let f=new Set((b?.history||[]).map(a=>a?.apiKey).filter(a=>"string"==typeof a&&"local-no-key"!==a));for(let a of Object.values(b?.dailySummary||{}))for(let[b,c]of Object.entries(a?.byApiKey||{})){let a="string"==typeof c?.apiKey?c.apiKey:b.split("|")[0];a&&"local-no-key"!==a&&f.add(String(a))}for(let a of f){if(d.has(a))continue;let b=e.find(b=>{let d=`${b.id}\u0000${b.stored}\u0000${a}`;return c.has(d)||c.set(d,P(b.stored,a)),c.get(d)});b&&d.set(a,b.id)}return d}function U(a,b){if(!a||!e().existsSync(g().dirname(a)))return;let c=`${a}.${process.pid}.${Date.now()}.tmp`;e().writeFileSync(c,JSON.stringify(b,null,2),{mode:384}),e().renameSync(c,a),e().chmodSync(a,384)}function V(a,b,c,d,e=null,f=new Map,g=!1){let h=e||T(a,b,f);return{main:a&&"object"==typeof a?{...a,apiKeys:(a.apiKeys||[]).map(a=>({...a,key:function(a,b,c){if(c&&b.has(a.id))return b.get(a.id);if("string"!=typeof a.key)return null;let d=(0,j.Yh)(a.key);return(0,j.BA)(d).legacy?(0,j.ws)(d):d}(a,d,g)}))}:null,usage:b&&"object"==typeof b?{...b,history:(b.history||[]).map(a=>({...a,apiKey:null,clientKeyId:h.get(String(a.apiKey))||a.clientKeyId||null})),dailySummary:Object.fromEntries(Object.entries(b.dailySummary||{}).map(([a,b])=>[a,o(b,c,"up",a=>h.get(String(a))||null)]))}:null}}function W(a,b,c,d=null,f=null,i=new Map){let j=a.all("SELECT id, key FROM apiKeys")||[],k=new Map(j.map(a=>[a.id,a.key])),l=V(b,c,j,k,f,i,!0);if(l.main&&U(h.Or.main,l.main),l.usage&&U(h.Or.usage,l.usage),e().existsSync(h.KQ))for(let a of e().readdirSync(h.KQ,{withFileTypes:!0})){if(!a.isDirectory()||!a.name.startsWith("migrate-from-json-"))continue;let b=g().join(h.KQ,a.name),c=g().join(b,g().basename(h.Or.main)),e=g().join(b,g().basename(h.Or.usage)),f=V(S(c),S(e),j,k,null,i,!!d&&g().resolve(b)===g().resolve(d));f.main&&U(c,f.main),f.usage&&U(e,f.usage)}}function X(a){try{a.checkpoint?.()}catch{}}async function Y(a){if(O.has(a))return;let b=function(a){try{let b=a.get("SELECT COUNT(*) as c FROM _meta");return!b||0===b.c}catch{return!0}}(a),c=function(a){a.exec((0,i.zE)("_meta",i.CG._meta));let b=parseInt(D(a,"schemaVersion","0"),10)||0;if(b>=(C.length?C[C.length-1].version:0))return{applied:0,from:b,to:b};let c=C.filter(a=>a.version>b),d=b;for(let b of c)a.transaction(()=>b.up(a)),"function"==typeof b.afterUp&&b.afterUp(a),a.transaction(()=>E(a,"schemaVersion",b.version)),d=b.version,console.log(`[DB][migrate] applied #${b.version} ${b.name}`);return{applied:c.length,from:b,to:d}}(a);for(let[b,c]of Object.entries(i.CG)){a.exec((0,i.zE)(b,c));let d=new Set(a.all(`PRAGMA table_info(${b})`).map(a=>a.name));for(let[e,f]of Object.entries(c.columns))if(!d.has(e)){let c=f.replace(/PRIMARY KEY( AUTOINCREMENT)?/i,"").replace(/UNIQUE/i,"").trim();try{a.exec(`ALTER TABLE ${b} ADD COLUMN ${e} ${c}`),console.log(`[DB][sync] +column ${b}.${e}`)}catch(a){console.warn(`[DB][sync] add column ${b}.${e} failed: ${a.message}`)}}for(let b of c.indexes||[])try{a.exec(b)}catch{}}let d=e().existsSync(M),f=S(h.Or.main),g=S(h.Or.usage),k=S(h.Or.disabled),l=S(h.Or.details),m=!!(f||g||k||l),n=e().existsSync(N),p=D(a,"migratedAt",null);if(m&&!n&&p){a.checkpoint?.();let b=new Map,c=T(f,g,b);W(a,f,g,null,c,b),e().writeFileSync(N,new Date().toISOString(),{mode:384})}let q=m&&!d&&!p;if(q&&!function(a){for(let b of["settings","providerConnections","providerNodes","proxyPools","apiKeys","combos","kv","usageHistory","usageDaily","requestDetails"])if(0!==(a.get(`SELECT COUNT(*) count FROM ${b}`)?.count||0))return!1;return!0}(a))return void console.error("[DB][migrate] legacy import pending but target tables are not empty; preserving sources for repair");if(q){let b=Date.now(),c=H("migrate-from-json");for(let a of Object.values(h.Or))I(a,c);let d=new Map,i=T(f,g,d);try{a.transaction(()=>{if(f&&"object"==typeof f){for(let[b,c]of(f.settings&&a.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,K.s)(f.settings)]),R(a,"providerConnections",f.providerConnections||[],b=>{let c=(0,L.connToRow)(b);a.run("INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[c.id,c.provider,c.authType||"oauth",c.name,c.email,c.priority,c.isActive,c.data,c.createdAt||new Date().toISOString(),c.updatedAt||new Date().toISOString()])},a=>({id:a.id??null,provider:a.provider??null,name:a.name??null})),R(a,"providerNodes",f.providerNodes||[],b=>{let{id:c,type:d,name:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO providerNodes(id, type, name, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,d||null,e||null,(0,K.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null,type:a.type??null,name:a.name??null})),R(a,"proxyPools",f.proxyPools||[],b=>{let{id:c,isActive:d,testStatus:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,+(!1!==d),e||"unknown",(0,K.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null})),R(a,"apiKeys",f.apiKeys||[],b=>{let c=(0,j.Yh)(b.key),d="string"==typeof c&&(0,j.BA)(c).legacy?(0,j.ws)(c):c,e=(0,j.BA)(d);a.run(`INSERT OR REPLACE INTO apiKeys(id, key, keyPrefix, lookupDigest, name, machineId, isActive, createdAt, allowedModels, allowedCombos, expiresAt, rateLimitPerMinute, concurrencyLimit, spendLimitUsd, spentUsd)
245
+ VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[b.id,d,e.prefix||null,e.lookupDigest||null,b.name||null,b.machineId||null,+(!1!==b.isActive),b.createdAt||new Date().toISOString(),null==b.allowedModels?null:(0,K.s)(b.allowedModels),null==b.allowedCombos?null:(0,K.s)(b.allowedCombos),b.expiresAt||null,b.rateLimitPerMinute??null,b.concurrencyLimit??null,b.spendLimitUsd??null,Number(b.spentUsd||0)])},a=>({id:a.id??null,name:a.name??null})),R(a,"combos",f.combos||[],b=>{a.run("INSERT OR REPLACE INTO combos(id, name, kind, models, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.name,b.kind||null,(0,K.s)(b.models||[]),b.createdAt||new Date().toISOString(),b.updatedAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),Object.entries(f.modelAliases||{})))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('modelAliases', ?, ?)",[b,(0,K.s)(c)]);for(let b of f.customModels||[]){let c=`${b.providerAlias}|${b.id}|${b.type||"llm"}`;a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[c,(0,K.s)(b)])}for(let[b,c]of Object.entries(f.mitmAlias||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('mitmAlias', ?, ?)",[b,(0,K.s)(c||{})]);for(let[b,c]of Object.entries(f.pricing||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('pricing', ?, ?)",[b,(0,K.s)(c||{})])}!function(a,b,c=new Map){let d=a.all("SELECT id, key FROM apiKeys")||[];if(b&&"object"==typeof b){for(let d of b.history||[]){let b=d.tokens||{},e=c.get(String(d.apiKey))||null;a.run(`INSERT INTO usageHistory(timestamp, provider, model, connectionId, clientKeyId, endpoint, promptTokens, completionTokens, cost, status, tokens, meta)
246
+ VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[d.timestamp||new Date().toISOString(),d.provider||null,d.model||null,d.connectionId||null,e,d.endpoint||null,b.prompt_tokens||b.input_tokens||0,b.completion_tokens||b.output_tokens||0,d.cost||0,d.status||"ok",(0,K.s)(b),(0,K.s)({})]),e&&a.run("UPDATE apiKeys SET spentUsd = spentUsd + ? WHERE id = ?",[Number(d.cost||0),e])}for(let[e,f]of Object.entries(b.dailySummary||{}))a.run("INSERT OR REPLACE INTO usageDaily(dateKey, data) VALUES(?, ?)",[e,(0,K.s)(o(f,d,"up",a=>c.get(String(a))||null))]);"number"==typeof b.totalRequestsLifetime&&E(a,"totalRequestsLifetime",b.totalRequestsLifetime)}}(a,g,i);if(k&&"object"==typeof k.disabled)for(let[b,c]of Object.entries(k.disabled))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)",[b,(0,K.s)(c||[])]);if(l&&Array.isArray(l.records))for(let b of l.records)a.run("INSERT OR REPLACE INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?)",[b.id,b.timestamp||new Date().toISOString(),b.provider||null,b.model||null,b.connectionId||null,b.status||null,(0,K.s)(b)]);B(a),E(a,"appVersion",G()),E(a,"migratedAt",new Date().toISOString())})}catch(a){if(a instanceof Q)return void console.error(`[DB][migrate] aborted: ${a.message} | legacy JSON kept | backup: ${c}`);throw a}a.checkpoint?.(),W(a,f,g,c,i,d),e().writeFileSync(N,new Date().toISOString(),{mode:384}),e().writeFileSync(M,new Date().toISOString(),{mode:384}),J(),console.log(`[DB][migrate] JSON → SQLite in ${Date.now()-b}ms | legacy sources sanitized | backup: ${c}`),O.add(a);return}if(b){E(a,"appVersion",G()),O.add(a);return}let r=D(a,"appVersion",null),s=G();if(r&&r!==s){X(a);let b=H(`upgrade-${r}-to-${s}`);try{I(h.AL,b)}catch{}E(a,"appVersion",s),J(),console.log(`[DB][migrate] App ${r} → ${s} | schema ${c.from} → ${c.to} | backup: ${b}`)}else if(c.applied>0){X(a);let b=H(`schema-${c.from}-to-${c.to}`);try{I(h.AL,b)}catch{}J()}O.add(a)}}};
@@ -0,0 +1 @@
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:()=>B,YT:()=>n,ZL:()=>m,cD:()=>o,f7:()=>y,hF:()=>l,lB:()=>w,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=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"}}};
@@ -0,0 +1,2 @@
1
+ "use strict";exports.id=6052,exports.ids=[6052],exports.modules={6547:(a,b,c)=>{c.d(b,{$3:()=>o,$R:()=>g,Dm:()=>q,E$:()=>i,Zb:()=>f,jI:()=>h,ti:()=>l});var d=c(92675),e=c(70628);let f=["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"],g=f.filter(a=>"X-Stainless-Timeout"!==a),h={"claude-cli":{id:"claude-cli",tls:"claude-code",alpn:["http/1.1"],headerOrder:f,source:{npm:"@anthropic-ai/claude-code",capture:"claude-code-native",tlsSpec:"claude-code"},headers:function(a){let b=a?.version||"2.1.220",c=a?.entrypoint||"cli";return{"Anthropic-Version":d.b8,"Anthropic-Beta":a?.betas||"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","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.94.0","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"}`}}}};function i(a){return h[a]||h["openai-node"]}let j=new Set(["openai","openai-responses","openai-compat"]),k=new Set(["claude"]);function l(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||k.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-web"===d?"chrome":"cursor"===d||"cursor"===c?"cursor":(j.has(c),"openai-node")}let m=new Set(["user-agent","anthropic-beta","x-stainless-package-version","x-stainless-runtime-version","x-stainless-os","x-stainless-arch"]),n=new Set(["x-stainless-helper-method","x-stainless-retry-count"]);function o(a,b,c={}){var d;let e,f=i(b),g=(d=c.snapshot,"function"==typeof(e=i(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 j=p(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([...m].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===m.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();(n.has(b)||!f&&m.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=p(j,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?q(l,f.headerOrder):l}function p(...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 q(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(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:"cli",userAgent:`claude-cli/${c} (external, cli)`,packageVersion:b.packageVersion||"0.94.0",runtimeVersion:b.runtimeVersion||"v22.19.0",betas:b.betas||"claude-code-20250219,oauth-2025-04-20"}}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{}}))}"1"!==process.env.SWITCHBOARD_DISABLE_IDENTITY_POLL&&queueMicrotask(()=>(function(a=globalThis.fetch){return m||"function"!=typeof a||(E(a),m=setInterval(()=>void E(a),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.220 (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"};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:()=>K});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.220",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,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","psk_key_exchange_modes:psk_dhe_ke","supported_versions:TLS1.3,TLS1.2","boring_padding","pre_shared_key"]);let p=k.dirname((0,l.fileURLToPath)("file:///home/runner/work/switchboard-router/switchboard-router/open-sse/identity/tls/claude-code.js")),q=[process.env.SWITCHBOARD_CLAUDE_TLS_HELPER,k.join(p,"bin",process.platform,process.arch,"win32"===process.platform?"switchboard-claude-tls.exe":"switchboard-claude-tls")].filter(Boolean);function r(a){let b=Number(a);return Number.isFinite(b)&&b>0?Math.floor(b):null}let s=i.spawn;async function t(){if(d)return d;for(let a of q)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 u(){return new DOMException("The operation was aborted.","AbortError")}let v=globalThis.fetch,w=new Map,x=new Map,y=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 u();let h=s(await t(),[],{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:r(b.timeoutMs)??r(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(u()),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,v=!1,w=a=>{v||(v=!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(u()),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()})},z=async()=>(await Promise.resolve().then(c.t.bind(c,36435,19))).Impit,A=new Map,B=["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"],C=["8.8.8.8","8.8.4.4"];function D(a){return null==a?"":String(a).trim()}async function E(a){let b=A.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(C);let g=d(e.resolve4.bind(e)),h=await g(a);if(A.size>=f.v1.dnsCacheMaxSize){let a=Date.now();for(let[b,c]of A)c.expiry<=a&&A.delete(b);for(;A.size>=f.v1.dnsCacheMaxSize;)A.delete(A.keys().next().value)}return A.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 F(a,b){let c,d=D(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 G(a){let b=D(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function H(a){let b=G(a);if(!b)return null;if(!w.has(b)){if(w.size>=f.v1.proxyDispatchersMaxSize){let a=w.keys().next().value,b=w.get(a);w.delete(a),Promise.resolve(b?.close?.()).catch(()=>{})}let{ProxyAgent:a}=await c.e(7774).then(c.t.bind(c,47774,19));w.set(b,new a({uri:b}))}let d=w.get(b);return w.delete(b),w.set(b,d),d}async function I(a){let b=a||"",c=x.get(b);return c||(c=new(await z())({browser:"chrome",...a?{proxyUrl:a}:{},followRedirects:!1}),x.set(b,c)),(a,b)=>c.fetch(a,b)}async function J(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 K(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=D(c?.vercelRelayUrl);if(l){let a=new URL(d);return((...a)=>v(...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=D(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=D(b?.noProxy??b?.connectionNoProxy);return d&&F(a,d)?null:G(c)}(d,c),o=m?null:G(function(a){let b;if(F(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 I(p):await y();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 B.some(a=>b.includes(a))}catch{return!1}}(d)){if(p)try{let b=await H(p);return await ((...a)=>v(...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 E(a.hostname);if(b)return await J(a,b,f)}catch(a){console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(p)try{let b=await H(p);return await ((...a)=>v(...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)=>v(...a))(a,f)}async function L(a,b={}){return K(a,b,null)}globalThis.fetch!==L&&(globalThis.fetch=L)},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.401d57e8.json"}};
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT",requestId:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)","CREATE UNIQUE INDEX IF NOT EXISTS idx_uh_request_id ON usageHistory(requestId) WHERE requestId IS NOT NULL"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]},fetchCache:{columns:{cacheKey:"TEXT PRIMARY KEY",kind:"TEXT",url:"TEXT",content:"TEXT NOT NULL",contentType:"TEXT",sizeBytes:"INTEGER",createdAt:"TEXT NOT NULL",expiresAt:"TEXT NOT NULL",lastAccessedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_fc_expires_at ON fetchCache(expiresAt)","CREATE INDEX IF NOT EXISTS idx_fc_last_accessed_at ON fetchCache(lastAccessedAt)"]},vault_entries:{columns:{id:"TEXT PRIMARY KEY",conversationId:"TEXT NOT NULL",toolName:"TEXT",content:"TEXT NOT NULL",sizeBytes:"INTEGER",createdAt:"TEXT NOT NULL",expiresAt:"TEXT NOT NULL",lastAccessedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_vault_conv ON vault_entries(conversationId)","CREATE INDEX IF NOT EXISTS idx_vault_expires ON vault_entries(expiresAt)","CREATE INDEX IF NOT EXISTS idx_vault_last_accessed ON vault_entries(lastAccessedAt)"]},vault_chunks:{columns:{entryId:"TEXT NOT NULL",chunkIndex:"INTEGER NOT NULL",conversationId:"TEXT NOT NULL",text:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (entryId, chunkIndex)",indexes:["CREATE INDEX IF NOT EXISTS idx_vault_chunks_conv ON vault_chunks(conversationId)"]},routing_events:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",comboName:"TEXT NOT NULL",sessionId:"TEXT",requestId:"TEXT",requestFingerprint:"TEXT",cluster:"TEXT",routerModel:"TEXT",pickedWorker:"TEXT",alternates:"TEXT",routerReason:"TEXT",routerConfidence:"TEXT",routerLatencyMs:"INTEGER",workerStatus:"INTEGER",workerLatencyMs:"INTEGER",fallbackUsed:"INTEGER DEFAULT 0",retries:"INTEGER DEFAULT 0",tokensIn:"INTEGER",tokensOut:"INTEGER",outcomeScore:"REAL",objective:"TEXT",learningVersionId:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_re_combo_ts ON routing_events(comboName, timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_re_cluster_combo ON routing_events(cluster, comboName)","CREATE INDEX IF NOT EXISTS idx_re_worker ON routing_events(pickedWorker)","CREATE INDEX IF NOT EXISTS idx_re_request ON routing_events(comboName, requestId)"]},router_learning_versions:{columns:{id:"TEXT PRIMARY KEY",comboName:"TEXT NOT NULL",version:"INTEGER NOT NULL",createdAt:"TEXT NOT NULL",source:"TEXT",banditTable:"TEXT",learnedRules:"TEXT",fewShots:"TEXT",evalScore:"REAL",prevVersionId:"TEXT",promoted:"INTEGER DEFAULT 0",notes:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_rlv_combo ON router_learning_versions(comboName)","CREATE UNIQUE INDEX IF NOT EXISTS idx_rlv_combo_ver ON router_learning_versions(comboName, version)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},66252:(a,b,c)=>{c.d(b,{createSqlJsAdapter:()=>m});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(46293),i=c.n(h),j=c(34050);let k=null;async function l(){return k||(k=await i()())}async function m(a){let b=await l(),c=e().existsSync(a)?e().readFileSync(a):null,d=new b.Database(c);d.exec(j.oG);let f=!1,h=null;function i(){let b,c=d.export(),h=a+".tmp";e().writeFileSync(h,Buffer.from(c));let i=e().openSync(h,"r");try{e().fsyncSync(i)}finally{e().closeSync(i)}e().renameSync(h,a);try{b=e().openSync(g().dirname(a),"r"),e().fsyncSync(b)}catch{}finally{void 0!==b&&e().closeSync(b)}f=!1}function k(){f=!0,h&&clearTimeout(h),h=setTimeout(()=>{if(h=null,f)try{i()}catch(a){console.error("[sqljs] save failed:",a)}},100)}function m(a){if(!(!a||Array.isArray(a)&&0===a.length))return a}return process.on("beforeExit",()=>{if(f)try{i()}catch{}}),{driver:"sql.js",run:function(a,b=[]){let c=d.prepare(a);try{c.bind(m(b)),c.step();let a=d.getRowsModified(),e=d.exec("SELECT last_insert_rowid() as id")[0]?.values?.[0]?.[0]??null;return k(),{changes:a,lastInsertRowid:e}}finally{c.free()}},get:function(a,b=[]){let c=d.prepare(a);try{if(c.bind(m(b)),c.step())return c.getAsObject();return}finally{c.free()}},all:function(a,b=[]){let c=d.prepare(a);try{c.bind(m(b));let a=[];for(;c.step();)a.push(c.getAsObject());return a}finally{c.free()}},exec:function(a){d.exec(a),k()},transaction:function(a){let b=`sp_${Math.random().toString(36).slice(2)}`;d.exec(`SAVEPOINT ${b}`);try{let c=a();return d.exec(`RELEASE ${b}`),k(),c}catch(a){try{d.exec(`ROLLBACK TO ${b}`),d.exec(`RELEASE ${b}`)}catch{}throw a}},close:function(){h&&clearTimeout(h),f&&i(),d.close()},raw:d}}}};
9
+ `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL",keyPrefix:"TEXT",lookupDigest:"TEXT",allowedModels:"TEXT",allowedCombos:"TEXT",expiresAt:"TEXT",rateLimitPerMinute:"INTEGER",concurrencyLimit:"INTEGER",spendLimitUsd:"REAL",spentUsd:"REAL NOT NULL DEFAULT 0"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_prefix ON apiKeys(keyPrefix)","CREATE UNIQUE INDEX IF NOT EXISTS idx_ak_lookup_digest ON apiKeys(lookupDigest) WHERE lookupDigest IS NOT NULL"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",clientKeyId:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT",requestId:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)","CREATE INDEX IF NOT EXISTS idx_uh_client_key ON usageHistory(clientKeyId)","CREATE UNIQUE INDEX IF NOT EXISTS idx_uh_request_id ON usageHistory(requestId) WHERE requestId IS NOT NULL"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]},fetchCache:{columns:{cacheKey:"TEXT PRIMARY KEY",kind:"TEXT",url:"TEXT",content:"TEXT NOT NULL",contentType:"TEXT",sizeBytes:"INTEGER",createdAt:"TEXT NOT NULL",expiresAt:"TEXT NOT NULL",lastAccessedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_fc_expires_at ON fetchCache(expiresAt)","CREATE INDEX IF NOT EXISTS idx_fc_last_accessed_at ON fetchCache(lastAccessedAt)"]},vault_entries:{columns:{id:"TEXT PRIMARY KEY",conversationId:"TEXT NOT NULL",toolName:"TEXT",content:"TEXT NOT NULL",sizeBytes:"INTEGER",createdAt:"TEXT NOT NULL",expiresAt:"TEXT NOT NULL",lastAccessedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_vault_conv ON vault_entries(conversationId)","CREATE INDEX IF NOT EXISTS idx_vault_expires ON vault_entries(expiresAt)","CREATE INDEX IF NOT EXISTS idx_vault_last_accessed ON vault_entries(lastAccessedAt)"]},vault_chunks:{columns:{entryId:"TEXT NOT NULL",chunkIndex:"INTEGER NOT NULL",conversationId:"TEXT NOT NULL",text:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (entryId, chunkIndex)",indexes:["CREATE INDEX IF NOT EXISTS idx_vault_chunks_conv ON vault_chunks(conversationId)"]},routing_events:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",comboName:"TEXT NOT NULL",sessionId:"TEXT",requestId:"TEXT",requestFingerprint:"TEXT",cluster:"TEXT",routerModel:"TEXT",pickedWorker:"TEXT",alternates:"TEXT",routerReason:"TEXT",routerConfidence:"TEXT",routerLatencyMs:"INTEGER",workerStatus:"INTEGER",workerLatencyMs:"INTEGER",fallbackUsed:"INTEGER DEFAULT 0",retries:"INTEGER DEFAULT 0",tokensIn:"INTEGER",tokensOut:"INTEGER",outcomeScore:"REAL",objective:"TEXT",learningVersionId:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_re_combo_ts ON routing_events(comboName, timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_re_cluster_combo ON routing_events(cluster, comboName)","CREATE INDEX IF NOT EXISTS idx_re_worker ON routing_events(pickedWorker)","CREATE INDEX IF NOT EXISTS idx_re_request ON routing_events(comboName, requestId)"]},router_learning_versions:{columns:{id:"TEXT PRIMARY KEY",comboName:"TEXT NOT NULL",version:"INTEGER NOT NULL",createdAt:"TEXT NOT NULL",source:"TEXT",banditTable:"TEXT",learnedRules:"TEXT",fewShots:"TEXT",evalScore:"REAL",prevVersionId:"TEXT",promoted:"INTEGER DEFAULT 0",notes:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_rlv_combo ON router_learning_versions(comboName)","CREATE UNIQUE INDEX IF NOT EXISTS idx_rlv_combo_ver ON router_learning_versions(comboName, version)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},66252:(a,b,c)=>{c.d(b,{createSqlJsAdapter:()=>n});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(46293),i=c.n(h),j=c(34050),k=c(68176);let l=null;async function m(){return l||(l=await i()())}async function n(a){let b=await m(),c=e().existsSync(a)?e().readFileSync(a):null,d=new b.Database(c);d.exec(j.oG);let f=!1,h=null;function i(){let b,c=d.export(),h=a+".tmp";e().writeFileSync(h,Buffer.from(c));let i=e().openSync(h,"r");try{e().fsyncSync(i)}finally{e().closeSync(i)}e().renameSync(h,a);try{b=e().openSync(g().dirname(a),"r"),e().fsyncSync(b)}catch{}finally{void 0!==b&&e().closeSync(b)}f=!1}function l(){f=!0,h&&clearTimeout(h),h=setTimeout(()=>{if(h=null,f)try{i()}catch(a){console.error("[sqljs] save failed:",a)}},100)}function n(a){if(!(!a||Array.isArray(a)&&0===a.length))return a}let o=!1;function p(){if(q(),!o){o=!0,clearTimeout(h);try{f&&i()}finally{d.close()}}}let q=(0,k.H)(p);return{driver:"sql.js",run:function(a,b=[]){let c=d.prepare(a);try{c.bind(n(b)),c.step();let a=d.getRowsModified(),e=d.exec("SELECT last_insert_rowid() as id")[0]?.values?.[0]?.[0]??null;return l(),{changes:a,lastInsertRowid:e}}finally{c.free()}},get:function(a,b=[]){let c=d.prepare(a);try{if(c.bind(n(b)),c.step())return c.getAsObject();return}finally{c.free()}},all:function(a,b=[]){let c=d.prepare(a);try{c.bind(n(b));let a=[];for(;c.step();)a.push(c.getAsObject());return a}finally{c.free()}},exec:function(a){d.exec(a),l()},transaction:function(a){let b=`sp_${Math.random().toString(36).slice(2)}`;d.exec(`SAVEPOINT ${b}`);try{let c=a();return d.exec(`RELEASE ${b}`),l(),c}catch(a){try{d.exec(`ROLLBACK TO ${b}`),d.exec(`RELEASE ${b}`)}catch{}throw a}},close:p,raw:d}}},68176:(a,b,c)=>{c.d(b,{H:()=>f});let d=Symbol.for("switchboard.adapterShutdownRegistry"),e=globalThis[d]??={closers:new Set,listener:null};function f(a){e.closers.add(a);let b=!0;return()=>!!b&&(b=!1,e.closers.delete(a))}e.listener||(e.listener=()=>{for(let a of[...e.closers])if(e.closers.delete(a))try{a()}catch{}},process.on("beforeExit",e.listener))}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=6274,exports.ids=[6274],exports.modules={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})},67133:(a,b,c)=>{c.d(b,{Pt:()=>v,Tr:()=>w,c1:()=>t,vk:()=>u});var d=c(15717),e=c(39326),f=c(49263),g=c(87252),h=c(40615),i=c(7803),j=c(1486),k=c(77598),l=c.n(k);let m=2*c(30869).oc.tickIntervalMs,n=global.__accountSchedulerV2??={affinities:new Map};function o(a){return l().createHash("sha256").update(JSON.stringify(a)).digest("hex")}function p(a){for(let[b,c]of n.affinities)if(c.scopeHash===a)return b;return null}function q(a,b){return a.inFlight-b.inFlight||b.quota.tier-a.quota.tier||b.quota.remaining-a.quota.remaining||a.quota.resetAt-b.quota.resetAt||a.priority-b.priority||a.id.localeCompare(b.id)}function r(a){var b;let{providerId:c,candidates:d=[],clientKeyId:e=null,sessionKey:f=null,affinityTtlMs:g=18e5,quotaFreshMs:h=m,getInFlightCount:i=()=>0,now:j=Date.now()}=a||{};for(let[a,b]of n.affinities)(!b||b.expiresAt<=j)&&n.affinities.delete(a);let k=function(a,b,c){if(!c)return null;let d=b||"local-no-key";return{key:o([String(a),String(d),String(c)]),scopeHash:o([String(a),String(d)])}}(c,e,f),l=k?n.affinities.get(k.key):null;if(0===d.length)return l&&n.affinities.delete(k.key),{connection:null,reason:"no-candidates",affinityRebound:!!l,capacityLimited:!1};let r=[];for(let a of d){let b=function(a,b,c,d){let e;return{candidate:a,inFlight:Number.isFinite(e=Number(b(a.id)))&&e>0?e:0,quota:function(a,b,c){let d=a.lastQuota,e=d?.at,f=d?.remainingPercentage;if(!Number.isFinite(e)||b-e>c||!Number.isFinite(f))return{tier:1,remaining:-1,resetAt:1/0};let g=Math.max(0,Math.min(100,f));if(g>0)return{tier:2,remaining:g,resetAt:1/0};let h=new Date(d?.resetAt).getTime();return{tier:0,remaining:0,resetAt:Number.isFinite(h)&&h>b?h:1/0}}(a,c,d),priority:Number.isFinite(a.priority)?a.priority:Number.MAX_SAFE_INTEGER,id:String(a.id)}}(a,i,j,h),c=a.maxConcurrentRequests;(!Number.isInteger(c)||c<=0||b.inFlight<c)&&r.push(b)}if(0===r.length)return l&&n.affinities.delete(k.key),{connection:null,reason:"capacity-exhausted",affinityRebound:!!l,capacityLimited:!0};let s=l&&r.find(({candidate:a})=>a.id===l.connectionId);if(s)return l.expiresAt=j+g,{connection:s.candidate,reason:"session-affinity",affinityRebound:!1,capacityLimited:!1};r.sort(q);let t=r[0];return k&&function(a,b,c){let d=n.affinities.has(a.key);if(!d&&function(a){let b=0;for(let c of n.affinities.values())c.scopeHash===a&&(b+=1);return b}(a.scopeHash)>=500){let b=p(a.scopeHash);b&&n.affinities.delete(b)}if(!d&&n.affinities.size>=5e3){let b=p(a.scopeHash);if(!b)return;n.affinities.delete(b)}n.affinities.set(a.key,{connectionId:b,expiresAt:c,scopeHash:a.scopeHash})}(k,t.candidate.id,j+g),{connection:t.candidate,reason:(b=r[1])?t.inFlight!==b.inFlight?"least-inflight":t.quota.tier!==b.quota.tier||t.quota.remaining!==b.quota.remaining?"quota-headroom":t.quota.resetAt!==b.quota.resetAt?"quota-reset":t.priority!==b.priority?"priority":"connection-id":"priority",affinityRebound:!!l,capacityLimited:!1}}let s=new Map;async function t(a,b=null,c=null,g={}){var j;let k,l,m,n,o=b instanceof Set?b:b?new Set([b]):new Set,p=g?.preferredConnectionId||null,q=g?.strictPreferredConnection===!0,u=(0,h.rs)(a);return j=async()=>{let b;if(h.IS[u]?.noAuth){let a=((await (0,d.mt)()).providerStrategies||{})[u]||{},b=await (0,e.B)({proxyPoolId:a.proxyPoolId||""});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl,connectionNoProxy:b.connectionNoProxy,connectionProxyPoolId:b.proxyPoolId||null,vercelRelayUrl:b.vercelRelayUrl||""}}}let j=await (0,d.getProviderConnections)({provider:u,isActive:!0});i.debug("AUTH",`${a} | total connections: ${j.length}, excludeIds: ${o.size>0?[...o].join(","):"none"}, model: ${c||"any"}`);let k=await (0,d.mt)(),l=(k.providerStrategies||{})[u]||{},m=l.fallbackStrategy||k.fallbackStrategy||"fill-first",n=l.accountScheduler||{},s=()=>!0===n.enabled?r({providerId:u,candidates:[],sessionKey:g?.sessionKey||null,clientKeyId:g?.clientKeyId||null,affinityTtlMs:1e3*Number(n.sessionAffinityTtlSeconds)||void 0,getInFlightCount:d.b7}):null;if(0===j.length)return s(),i.warn("AUTH",`No credentials for ${a}`),null;let t=q&&p?j.filter(a=>a.id===p):j;if(0===t.length)return s(),i.warn("AUTH",`${a} | requested connection is unavailable`),null;let v=t.filter(a=>!(o.has(a.id)||(0,f.Bl)(a,c)));if(i.debug("AUTH",`${a} | available: ${v.length}/${t.length}`),t.forEach(a=>{let b=o.has(a.id),d=(0,f.Bl)(a,c);if(b||d){let e=(0,f.kJ)(a);i.debug("AUTH",` → ${a.id?.slice(0,8)} | ${b?"excluded":""} ${d?`modelLocked(${c}) until ${e}`:""}`)}}),0===v.length){let b=s(),d=t.filter(a=>(0,f.Bl)(a,c)),e=d.map(a=>(0,f.kJ)(a)).filter(Boolean).sort()[0]||null;if(e){let g=d[0];return i.warn("AUTH",`${a} | all ${t.length} accounts locked for ${c||"all"} (${(0,f.Qo)(e)}) | lastError=${g?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:e,retryAfterHuman:(0,f.Qo)(e),lastError:g?.lastError||null,lastErrorCode:g?.errorCode||null,...b?{selectionReason:b.reason,affinityRebound:b.affinityRebound}:{}}}return i.warn("AUTH",`${a} | all ${t.length} accounts unavailable`),null}let w=null,x=!1;if(p){let a=v.find(a=>a.id===p);if(a){let c=Number(a.maxConcurrentRequests);!0===n.enabled&&Number.isInteger(c)&&c>0&&(0,d.b7)(a.id)>=c||(b=a,w="explicit-pin")}}if(!b&&!0===n.enabled){let a=r({providerId:u,candidates:v,sessionKey:g?.sessionKey||null,clientKeyId:g?.clientKeyId||null,affinityTtlMs:1e3*Number(n.sessionAffinityTtlSeconds)||void 0,getInFlightCount:d.b7});if(!a.connection&&a.capacityLimited)return{allRateLimited:!0,capacityLimited:!0,retryAfter:new Date(Date.now()+1e3).toISOString(),retryAfterHuman:"retry after an in-flight request completes",lastError:"All accounts are at their concurrency limits",lastErrorCode:429,selectionReason:a.reason,affinityRebound:a.affinityRebound};b=a.connection,w=a.reason,x=a.affinityRebound}if(b);else if("round-robin"===m){let a=l.stickyRoundRobinLimit||k.stickyRoundRobinLimit||3,c=[...v].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=c?.consecutiveUseCount||0;c&&c.lastUsedAt&&e<a?(b=c,await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(b.consecutiveUseCount||0)+1})):(b=[...v].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1})),w="round-robin"}else b=v[0],w="fill-first";i.info("AUTH",`${a} | selected ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"}) selection=${w} rebound=${x}`);let y=await (0,e.B)(b.providerSpecificData||{});return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,idToken:b.idToken,expiresAt:b.expiresAt,expiresIn:b.expiresIn,lastRefreshAt:b.lastRefreshAt,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:y.connectionProxyEnabled,connectionProxyUrl:y.connectionProxyUrl,connectionNoProxy:y.connectionNoProxy,connectionProxyPoolId:y.proxyPoolId||null,vercelRelayUrl:y.vercelRelayUrl||""},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b,selectionReason:w,affinityRebound:x}},l=s.get(u)||Promise.resolve(),m=new Promise(a=>{k=a}),n=l.then(()=>m,()=>m),s.set(u,n),(async()=>{await l.catch(()=>{});try{return await j()}finally{k(),s.get(u)===n&&s.delete(u)}})()}async function u(a,b,c,e=null,h=null,j=null){let k,l,m;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};let n=(await (0,d.getProviderConnections)({provider:e})).find(b=>b.id===a),o=n?.backoffLevel||0,p=!!(j&&j>Date.now());if(p?(k=!0,l=Math.min(j-Date.now(),g.fh),m=0):{shouldFallback:k,cooldownMs:l,newBackoffLevel:m}=(0,f.hk)(b,c,o),!k)return{shouldFallback:!1,cooldownMs:0};let q="string"==typeof c?c.slice(0,100):"Provider error",r=(0,f.S5)(h,l);await (0,d.updateProviderConnection)(a,{...r,testStatus:"unavailable",lastError:q,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:m??o,...p?{lastQuota:{remainingPercentage:0,resetAt:new Date(j).toISOString(),at:Date.now()}}:{}});let s=Object.keys(r)[0],t=n?.displayName||n?.name||n?.email||a.slice(0,8);return i.warn("AUTH",`${t} locked ${s} for ${Math.round(l/1e3)}s [${b}]`),e&&b&&q&&console.error(`❌ ${e} [${b}]: ${q}`),{shouldFallback:!0,cooldownMs:l}}async function v(a,b,c=null){if(!a||"noauth"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function w(a){return(0,j.d)(a.headers)}},78102:(a,b,c)=>{c.d(b,{DM:()=>j,yH:()=>k});var d=c(15717),e=c(68658),f=c(41460);function g(){return global._clientKeyPolicyState}function h(a,b,c=null){let d={"content-type":"application/json"};return null!=c&&(d["retry-after"]=String(c)),{ok:!1,response:new Response(JSON.stringify({error:{message:"API key policy rejected this request",type:"client_key_policy_error",code:b}}),{status:a,headers:d})}}function i(a){return{ok:!0,mode:a,clientKey:null,clientKeyId:null,lease:null}}async function j({settings:a,rawKey:b,request:c,target:k}){if(c&&(0,e.v5)(c))return i("local");if(c)try{if(await (0,f.gN)(c))return i("cli")}catch{}if(!b)return a?.requireApiKey?h(401,"missing_api_key"):i("local");let l=await (0,d.PW)(b);if(!l)return a?.requireApiKey?h(401,"invalid_api_key"):i("local");let m=Date.now();if(l.expiresAt&&new Date(l.expiresAt).getTime()<=m)return h(403,"client_key_expired");if(!function(a,b){if(!a)return!0;let c=b.allowedModels||[],d=b.allowedCombos||[];return 0===c.length&&0===d.length||("combo"===a.kind?d.includes(a.id):c.includes(a.id))}(k,l))return h(403,"client_key_target_not_allowed");if(null!=l.spendLimitUsd){let a=await (0,d.fz)(l.id);if(l.spentUsd=a,a>=l.spendLimitUsd)return h(429,"client_key_spend_limit_exceeded")}let n=g().byId.get(l.id);if((!n||m-n.windowStartedAt>=6e4)&&(n={windowStartedAt:m,acceptedStarts:0,inFlight:n?.inFlight||0},g().byId.set(l.id,n)),null!=l.concurrencyLimit&&n.inFlight>=l.concurrencyLimit)return h(429,"client_key_concurrency_limit_exceeded",1);if(null!=l.rateLimitPerMinute&&n.acceptedStarts>=l.rateLimitPerMinute)return h(429,"client_key_rate_limit_exceeded",Math.max(1,Math.ceil((6e4-(m-n.windowStartedAt))/1e3)));n.acceptedStarts++,n.inFlight++;let o=!1;return{ok:!0,mode:"api-key",clientKey:l,clientKeyId:l.id,lease:{release(){if(o)return;o=!0;let a=g().byId.get(l.id);a&&(a.inFlight=Math.max(0,a.inFlight-1))}}}}async function k(a,b){let c;if(!a)return await b();let d=!1,e=()=>{d||(d=!0,a.release())};try{c=await b()}catch(a){throw e(),a}if(!(c instanceof Response&&c.body&&(c.headers.get("content-type")||"").toLowerCase().includes("text/event-stream")))return e(),c;let f=c.body.getReader();return new Response(new ReadableStream({async pull(a){try{let{done:b,value:c}=await f.read();b?(e(),a.close()):a.enqueue(c)}catch(b){e(),a.error(b)}},async cancel(a){e(),await f.cancel(a)}}),{status:c.status,statusText:c.statusText,headers:c.headers})}global._clientKeyPolicyState||(global._clientKeyPolicyState={byId:new Map})}};