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
@@ -1 +1 @@
1
- "use strict";exports.id=3904,exports.ids=[3904],exports.modules={43904:(a,b,c)=>{c.d(b,{a0:()=>h,nl:()=>l});var d=c(66755),e=c(84646);let f={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},g={imageToText:{vision:!0},image:{imageOutput:!0},stt:{audioInput:!0},tts:{audioOutput:!0},embedding:{tools:!1}};function h(a){return g[a]||null}let i={"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},j={nvidia:{"minimaxai/minimax-m2.7":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072},"minimaxai/minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:131072},"z-ai/glm-5.2":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"deepseek-ai/deepseek-v4-pro":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"deepseek-ai/deepseek-v4-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536}},"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"glm-5.0-turbo":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"glm-4.7":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"minimax-m2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:164e3,maxOutput:32e3},"hy3-preview":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v3-2-volc":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:96e3,maxOutput:32e3}}},k=[{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function l(a,b){if(!b)return{...f};let c=function(a,b){let c=j[a]?.[b];if(c)return c;let d=b.includes("/")?b.split("/").pop():b,f=i[d]||i[b];if(f)return f;for(let{pattern:a,caps:c}of k)if((0,e.gH)(a,d||b))return c;return null}(a,b),g=(0,d.uV)(b);return{...f,...g||{},...c||{}}}}};
1
+ "use strict";exports.id=3904,exports.ids=[3904],exports.modules={43904:(a,b,c)=>{c.d(b,{a0:()=>h,nl:()=>l});var d=c(66755),e=c(84646);let f={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},g={imageToText:{vision:!0},image:{imageOutput:!0},stt:{audioInput:!0},tts:{audioOutput:!0},embedding:{tools:!1}};function h(a){return g[a]||null}let i={"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},j={nvidia:{"minimaxai/minimax-m2.7":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072},"minimaxai/minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:131072},"z-ai/glm-5.2":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"deepseek-ai/deepseek-v4-pro":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"deepseek-ai/deepseek-v4-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536}},"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"glm-5.0-turbo":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"glm-4.7":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"minimax-m2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:164e3,maxOutput:32e3},"hy3-preview":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v3-2-volc":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:96e3,maxOutput:32e3}}},k=[{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function l(a,b){if(!b)return{...f};let c=function(a,b){let c=j[a]?.[b];if(c)return c;let d=b.includes("/")?b.split("/").pop():b,f=i[d]||i[b];if(f)return f;for(let{pattern:a,caps:c}of k)if((0,e.gH)(a,d||b))return c;return null}(a,b),g=(0,d.uV)(b);return{...f,...g||{},...c||{}}}}};
@@ -1,19 +1,31 @@
1
- exports.id=3986,exports.ids=[3986],exports.modules={644:(a,b,c)=>{"use strict";function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},2142:(a,b,c)=>{"use strict";c.d(b,{B6:()=>x,C8:()=>z,GU:()=>E,HP:()=>C,HS:()=>N,Hq:()=>w,Hr:()=>u,Kx:()=>A,OQ:()=>H,Oe:()=>q,PI:()=>L,Vp:()=>p,XE:()=>B,_6:()=>M,cX:()=>I,dC:()=>F,dN:()=>v,e8:()=>O,eV:()=>G,ex:()=>m,f8:()=>y,ii:()=>o,kT:()=>J,od:()=>K,p3:()=>r,tu:()=>k,uf:()=>s});var d=c(36366),e=c(644),f=c(55511),g=c(43957),h=c(5770);function i(){return new Date().toISOString()}let j=null;function k(a){j="function"==typeof a?a:null}function l(a){try{j?.(a)}catch{}}async function m(a){(await (0,d.c)()).run(`INSERT INTO routing_events(
2
- timestamp, comboName, sessionId, requestId, requestFingerprint, cluster,
3
- routerModel, pickedWorker, alternates, routerReason, routerConfidence,
4
- routerLatencyMs, workerStatus, workerLatencyMs, fallbackUsed, retries,
5
- tokensIn, tokensOut, outcomeScore, objective, learningVersionId, meta
6
- ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`,[a.timestamp||i(),a.comboName,a.sessionId||null,a.requestId||null,a.requestFingerprint||null,a.cluster||null,a.routerModel||null,a.pickedWorker||null,null!=a.alternates?(0,e.s)(a.alternates):null,a.routerReason||null,a.routerConfidence||null,a.routerLatencyMs??null,a.workerStatus??null,a.workerLatencyMs??null,+!!a.fallbackUsed,a.retries??0,a.tokensIn??null,a.tokensOut??null,a.outcomeScore??null,a.objective||null,a.learningVersionId||null,null!=a.meta?(0,e.s)(a.meta):null])}async function n(a,b){if(!a||"string"!=typeof a)return{updated:0};let c=await (0,d.c)(),f=c.all("SELECT * FROM routing_events WHERE requestId = ?",[a]);if(!f?.length)return{updated:0};let h=f.filter(a=>{let b=(0,e.q)(a.meta,{});return b?.terminal===!0||b?.terminal==null});if(!h.length)return{updated:0};let i=0;return c.transaction(()=>{for(let a of h){let d=(0,e.q)(a.meta,{}),{outcomeScore:f,meta:h}=(0,g.al)(d,a.outcomeScore,b);c.run("UPDATE routing_events SET outcomeScore = ?, meta = ? WHERE id = ?",[f,(0,e.s)(h),a.id]),i+=1}}),{updated:i,comboName:f[0].comboName}}async function o(a,b){return n(a,{userRating:b})}async function p(a,b){return n(a,{judgeScore:b})}async function q(a){if(!a)return null;let b=(await (0,d.c)()).get(`SELECT comboName, cluster, pickedWorker FROM routing_events
1
+ exports.id=3986,exports.ids=[3986],exports.modules={644:(a,b,c)=>{"use strict";function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},2142:(a,b,c)=>{"use strict";c.d(b,{B6:()=>A,C8:()=>C,GU:()=>H,HP:()=>F,HS:()=>S,Hq:()=>z,Hr:()=>x,Kx:()=>D,OQ:()=>K,Oe:()=>t,PI:()=>O,RL:()=>Q,Vp:()=>s,XE:()=>E,_6:()=>R,cX:()=>L,dC:()=>I,dN:()=>y,e8:()=>T,eV:()=>J,ex:()=>p,f8:()=>B,ii:()=>r,kT:()=>M,od:()=>N,p3:()=>u,tu:()=>m,uf:()=>v});var d=c(36366),e=c(644),f=c(55511),g=c(43957),h=c(5770),i=c(73274),j=c(5125);function k(){return new Date().toISOString()}let l=null;function m(a){l="function"==typeof a?a:null}function n(a){try{l?.(a)}catch{}}function o(a,b,c){let d=a.get("SELECT source, requests, errors, fallbacks FROM prometheusRoutingTotals WHERE source = ?",[b.source]);(0,j.BO)(d,b.source),(0,j.BO)({source:b.source,requests:d.requests+c,errors:d.errors+c*b.isError,fallbacks:d.fallbacks+c*b.fallbackUsed}),a.run(`UPDATE prometheusRoutingTotals
2
+ SET requests = requests + ?,
3
+ errors = errors + ?,
4
+ fallbacks = fallbacks + ?
5
+ WHERE source = ?`,[c,c*b.isError,c*b.fallbackUsed,b.source])}async function p(a){let b=await (0,d.c)(),c=a.timestamp||k();b.transaction(()=>{let d=b.run(`INSERT INTO routing_events(
6
+ timestamp, comboName, sessionId, requestId, requestFingerprint, cluster,
7
+ routerModel, pickedWorker, alternates, routerReason, routerConfidence,
8
+ routerLatencyMs, workerStatus, workerLatencyMs, fallbackUsed, retries,
9
+ tokensIn, tokensOut, outcomeScore, objective, learningVersionId, meta
10
+ ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`,[c,a.comboName,a.sessionId||null,a.requestId||null,a.requestFingerprint||null,a.cluster||null,a.routerModel||null,a.pickedWorker||null,null!=a.alternates?(0,e.s)(a.alternates):null,a.routerReason||null,a.routerConfidence||null,a.routerLatencyMs??null,a.workerStatus??null,a.workerLatencyMs??null,+!!a.fallbackUsed,a.retries??0,a.tokensIn??null,a.tokensOut??null,a.outcomeScore??null,a.objective||null,a.learningVersionId||null,null!=a.meta?(0,e.s)(a.meta):null]);(0,j.Bq)(b,()=>{!function(a,b,c,d){var e;let f;if(!(!((f=b.meta)&&"object"==typeof f&&(!0===f.skippedRouter||Object.prototype.hasOwnProperty.call(f,"terminal")&&!0!==f.terminal))&&1))return;let g=String(b.requestId||c),h=a.get("SELECT * FROM prometheusRoutingRequests WHERE requestKey = ?",[g]);h&&((0,j.SQ)(h,g),o(a,h,-1));let k=h?.fallbackUsed===1||b.fallbackUsed?1:0,l=null==b.workerStatus?null:(0,i.T)(b.workerStatus,`${g}.workerStatus`,{integer:!0}),m=+(h?.isError===1||null!=l&&l>=400),n={requestKey:g,comboName:b.comboName||null,timestamp:d,terminalId:c,source:(e=b.routerReason,String(e).startsWith("exploration")?"exploration":"bandit_policy"===e?"bandit_policy":"cached_route"===e?"cached_route":"judge_flag_escalation"===e?"judge_flag_escalation":k?"fallback_rescue":"router"),isError:m,fallbackUsed:k};a.run(`INSERT INTO prometheusRoutingRequests(requestKey, comboName, timestamp, terminalId, source, isError, fallbackUsed)
11
+ VALUES(?, ?, ?, ?, ?, ?, ?)
12
+ ON CONFLICT(requestKey) DO UPDATE SET
13
+ comboName = excluded.comboName,
14
+ timestamp = excluded.timestamp,
15
+ terminalId = excluded.terminalId,
16
+ source = excluded.source,
17
+ isError = excluded.isError,
18
+ fallbackUsed = excluded.fallbackUsed`,[n.requestKey,n.comboName,n.timestamp,n.terminalId,n.source,n.isError,n.fallbackUsed]),o(a,n,1)}(b,a,d.lastInsertRowid,c)})})}async function q(a,b){if(!a||"string"!=typeof a)return{updated:0};let c=await (0,d.c)(),f=c.all("SELECT * FROM routing_events WHERE requestId = ?",[a]);if(!f?.length)return{updated:0};let h=f.filter(a=>{let b=(0,e.q)(a.meta,{});return b?.terminal===!0||b?.terminal==null});if(!h.length)return{updated:0};let i=0;return c.transaction(()=>{for(let a of h){let d=(0,e.q)(a.meta,{}),{outcomeScore:f,meta:h}=(0,g.al)(d,a.outcomeScore,b);c.run("UPDATE routing_events SET outcomeScore = ?, meta = ? WHERE id = ?",[f,(0,e.s)(h),a.id]),i+=1}}),{updated:i,comboName:f[0].comboName}}async function r(a,b){return q(a,{userRating:b})}async function s(a,b){return q(a,{judgeScore:b})}async function t(a){if(!a)return null;let b=(await (0,d.c)()).get(`SELECT comboName, cluster, pickedWorker FROM routing_events
7
19
  WHERE requestId = ?
8
20
  AND (meta LIKE '%"terminal":true%' OR meta IS NULL OR meta NOT LIKE '%"terminal"%')
9
- ORDER BY id DESC LIMIT 1`,[a]);if(!b)return null;let c=D(b);return{comboName:c.comboName,cluster:c.cluster,pickedWorker:c.pickedWorker}}async function r(a){let b=(await (0,d.c)()).get(`SELECT * FROM router_learning_versions
21
+ ORDER BY id DESC LIMIT 1`,[a]);if(!b)return null;let c=G(b);return{comboName:c.comboName,cluster:c.cluster,pickedWorker:c.pickedWorker}}async function u(a){let b=(await (0,d.c)()).get(`SELECT * FROM router_learning_versions
10
22
  WHERE comboName = ? AND promoted = 1
11
- ORDER BY version DESC LIMIT 1`,[a]);return b?t(b):null}async function s(a,b=20){return(await (0,d.c)()).all(`SELECT * FROM router_learning_versions
23
+ ORDER BY version DESC LIMIT 1`,[a]);return b?w(b):null}async function v(a,b=20){return(await (0,d.c)()).all(`SELECT * FROM router_learning_versions
12
24
  WHERE comboName = ?
13
- ORDER BY version DESC LIMIT ?`,[a,b]).map(t)}function t(a){return{id:a.id,comboName:a.comboName,version:a.version,createdAt:a.createdAt,source:a.source,banditTable:(0,e.q)(a.banditTable,{}),learnedRules:(0,e.q)(a.learnedRules,[]),fewShots:(0,e.q)(a.fewShots,[]),evalScore:a.evalScore,prevVersionId:a.prevVersionId,promoted:!!a.promoted,notes:a.notes}}async function u({comboName:a,source:b="manual",banditTable:c={},learnedRules:g=[],fewShots:h=[],evalScore:j=null,notes:k="",promote:m=!1,prevVersionId:n=null}){let o=await (0,d.c)(),p=(0,f.randomUUID)(),q=i(),r=1;return o.transaction(()=>{let d=o.get("SELECT MAX(version) AS v FROM router_learning_versions WHERE comboName = ?",[a]);r=(d?.v||0)+1,m&&o.run("UPDATE router_learning_versions SET promoted = 0 WHERE comboName = ?",[a]),o.run(`INSERT INTO router_learning_versions(
25
+ ORDER BY version DESC LIMIT ?`,[a,b]).map(w)}function w(a){return{id:a.id,comboName:a.comboName,version:a.version,createdAt:a.createdAt,source:a.source,banditTable:(0,e.q)(a.banditTable,{}),learnedRules:(0,e.q)(a.learnedRules,[]),fewShots:(0,e.q)(a.fewShots,[]),evalScore:a.evalScore,prevVersionId:a.prevVersionId,promoted:!!a.promoted,notes:a.notes}}async function x({comboName:a,source:b="manual",banditTable:c={},learnedRules:g=[],fewShots:h=[],evalScore:i=null,notes:j="",promote:l=!1,prevVersionId:m=null}){let o=await (0,d.c)(),p=(0,f.randomUUID)(),q=k(),r=1;return o.transaction(()=>{let d=o.get("SELECT MAX(version) AS v FROM router_learning_versions WHERE comboName = ?",[a]);r=(d?.v||0)+1,l&&o.run("UPDATE router_learning_versions SET promoted = 0 WHERE comboName = ?",[a]),o.run(`INSERT INTO router_learning_versions(
14
26
  id, comboName, version, createdAt, source, banditTable, learnedRules,
15
27
  fewShots, evalScore, prevVersionId, promoted, notes
16
- ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)`,[p,a,r,q,b,(0,e.s)(c),(0,e.s)(g),(0,e.s)(h),j,n,+!!m,k||null])}),l(a),v(p)}async function v(a){let b=(await (0,d.c)()).get("SELECT * FROM router_learning_versions WHERE id = ?",[a]);return b?t(b):null}async function w(a){let b=await (0,d.c)(),c=b.get("SELECT * FROM router_learning_versions WHERE id = ?",[a]);return c?(b.transaction(()=>{b.run("UPDATE router_learning_versions SET promoted = 0 WHERE comboName = ?",[c.comboName]),b.run("UPDATE router_learning_versions SET promoted = 1 WHERE id = ?",[a])}),l(c.comboName),v(a)):null}async function x(a){let b=await r(a);return b?.prevVersionId?w(b.prevVersionId):null}async function y(a,b=null,c={}){let e=await (0,d.c)(),f=!1!==c.terminalOnly,g="(meta IS NULL OR meta NOT LIKE '%\"skippedRouter\":true%')",h=f?`AND (
28
+ ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)`,[p,a,r,q,b,(0,e.s)(c),(0,e.s)(g),(0,e.s)(h),i,m,+!!l,j||null])}),n(a),y(p)}async function y(a){let b=(await (0,d.c)()).get("SELECT * FROM router_learning_versions WHERE id = ?",[a]);return b?w(b):null}async function z(a){let b=await (0,d.c)(),c=b.get("SELECT * FROM router_learning_versions WHERE id = ?",[a]);return c?(b.transaction(()=>{b.run("UPDATE router_learning_versions SET promoted = 0 WHERE comboName = ?",[c.comboName]),b.run("UPDATE router_learning_versions SET promoted = 1 WHERE id = ?",[a])}),n(c.comboName),y(a)):null}async function A(a){let b=await u(a);return b?.prevVersionId?z(b.prevVersionId):null}async function B(a,b=null,c={}){let e=await (0,d.c)(),f=!1!==c.terminalOnly,g="(meta IS NULL OR meta NOT LIKE '%\"skippedRouter\":true%')",h=f?`AND (
17
29
  meta LIKE '%"terminal":true%'
18
30
  OR (meta IS NULL OR meta NOT LIKE '%"terminal"%')
19
31
  )
@@ -23,18 +35,18 @@ exports.id=3986,exports.ids=[3986],exports.modules={644:(a,b,c)=>{"use strict";f
23
35
  ${h}`,[a,b]);return c?.n||0}let i=e.get(`SELECT COUNT(DISTINCT COALESCE(requestId, CAST(id AS TEXT))) AS n
24
36
  FROM routing_events
25
37
  WHERE comboName = ?
26
- ${h}`,[a]);return i?.n||0}async function z(a,b=null){let c=await (0,d.c)();if(b){let d=c.get(`SELECT COUNT(*) AS n FROM routing_events
38
+ ${h}`,[a]);return i?.n||0}async function C(a,b=null){let c=await (0,d.c)();if(b){let d=c.get(`SELECT COUNT(*) AS n FROM routing_events
27
39
  WHERE comboName = ? AND timestamp >= ?
28
40
  AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')`,[a,b]);return d?.n||0}let e=c.get(`SELECT COUNT(*) AS n FROM routing_events
29
41
  WHERE comboName = ?
30
- AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')`,[a]);return e?.n||0}async function A(a,{days:b=14,limit:c=200,terminalOnly:e=!1}={}){let f=await (0,d.c)(),g=new Date(Date.now()-864e5*b).toISOString(),h=e?`AND (
42
+ AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')`,[a]);return e?.n||0}async function D(a,{days:b=14,limit:c=200,terminalOnly:e=!1}={}){let f=await (0,d.c)(),g=new Date(Date.now()-864e5*b).toISOString(),h=e?`AND (
31
43
  meta LIKE '%"terminal":true%'
32
44
  OR meta IS NULL
33
45
  OR meta NOT LIKE '%"terminal"%'
34
46
  )`:"";return f.all(`SELECT * FROM routing_events
35
47
  WHERE comboName = ? AND timestamp >= ?
36
48
  ${h}
37
- ORDER BY timestamp DESC LIMIT ?`,[a,g,c]).map(D)}async function B(a,b=14){let c=await (0,d.c)(),e=new Date(Date.now()-864e5*b).toISOString();return(c.all(`SELECT substr(timestamp, 1, 10) AS day,
49
+ ORDER BY timestamp DESC LIMIT ?`,[a,g,c]).map(G)}async function E(a,b=14){let c=await (0,d.c)(),e=new Date(Date.now()-864e5*b).toISOString();return(c.all(`SELECT substr(timestamp, 1, 10) AS day,
38
50
  AVG(outcomeScore) AS avgScore,
39
51
  COUNT(*) AS n
40
52
  FROM routing_events
@@ -47,8 +59,8 @@ exports.id=3986,exports.ids=[3986],exports.modules={644:(a,b,c)=>{"use strict";f
47
59
  OR meta NOT LIKE '%"terminal"%'
48
60
  )
49
61
  GROUP BY day
50
- ORDER BY day`,[a,e])||[]).map(a=>({day:a.day,avgScore:null!=a.avgScore?Number(a.avgScore):null,n:Number(a.n)||0}))}async function C(a){if(!a)return null;let b=(await (0,d.c)()).get(`SELECT MAX(createdAt) AS t FROM router_learning_versions
51
- WHERE comboName = ? AND source = 'scheduled'`,[a]);return b?.t||null}function D(a){return{...a,alternates:(0,e.q)(a.alternates,[]),meta:(0,e.q)(a.meta,{}),fallbackUsed:!!a.fallbackUsed}}async function E(a,b=14){let c=await (0,d.c)(),e=new Date(Date.now()-864e5*b).toISOString();return c.all(`SELECT cluster, pickedWorker,
62
+ ORDER BY day`,[a,e])||[]).map(a=>({day:a.day,avgScore:null!=a.avgScore?Number(a.avgScore):null,n:Number(a.n)||0}))}async function F(a){if(!a)return null;let b=(await (0,d.c)()).get(`SELECT MAX(createdAt) AS t FROM router_learning_versions
63
+ WHERE comboName = ? AND source = 'scheduled'`,[a]);return b?.t||null}function G(a){return{...a,alternates:(0,e.q)(a.alternates,[]),meta:(0,e.q)(a.meta,{}),fallbackUsed:!!a.fallbackUsed}}async function H(a,b=14){let c=await (0,d.c)(),e=new Date(Date.now()-864e5*b).toISOString();return c.all(`SELECT cluster, pickedWorker,
52
64
  COUNT(*) AS n,
53
65
  SUM(CASE WHEN outcomeScore >= 60 THEN 1 ELSE 0 END) AS wins,
54
66
  AVG(outcomeScore) AS avgScore,
@@ -58,7 +70,7 @@ exports.id=3986,exports.ids=[3986],exports.modules={644:(a,b,c)=>{"use strict";f
58
70
  WHERE comboName = ? AND timestamp >= ?
59
71
  AND cluster IS NOT NULL AND pickedWorker IS NOT NULL
60
72
  AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
61
- GROUP BY cluster, pickedWorker`,[a,e])}async function F(){return((await (0,d.c)()).all("SELECT DISTINCT comboName FROM routing_events WHERE comboName IS NOT NULL")||[]).map(a=>a.comboName).filter(Boolean)}async function G(a,b=14){let c=await (0,d.c)(),e=new Date(Date.now()-864e5*b).toISOString();return c.all(`SELECT pickedWorker AS worker,
73
+ GROUP BY cluster, pickedWorker`,[a,e])}async function I(){return((await (0,d.c)()).all("SELECT DISTINCT comboName FROM routing_events WHERE comboName IS NOT NULL")||[]).map(a=>a.comboName).filter(Boolean)}async function J(a,b=14){let c=await (0,d.c)(),e=new Date(Date.now()-864e5*b).toISOString();return c.all(`SELECT pickedWorker AS worker,
62
74
  COUNT(*) AS n,
63
75
  SUM(CASE WHEN outcomeScore >= 60 THEN 1 ELSE 0 END) AS wins,
64
76
  AVG(outcomeScore) AS avgScore,
@@ -69,18 +81,18 @@ exports.id=3986,exports.ids=[3986],exports.modules={644:(a,b,c)=>{"use strict";f
69
81
  WHERE comboName = ? AND timestamp >= ? AND pickedWorker IS NOT NULL
70
82
  AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
71
83
  GROUP BY pickedWorker
72
- ORDER BY avgScore DESC`,[a,e])}async function H(a=14){let b=await (0,d.c)(),c=new Date(Date.now()-864e5*a).toISOString(),e=b.all(`SELECT pickedWorker, AVG(workerLatencyMs) AS avgLatencyMs, COUNT(*) AS n
84
+ ORDER BY avgScore DESC`,[a,e])}async function K(a=14){let b=await (0,d.c)(),c=new Date(Date.now()-864e5*a).toISOString(),e=b.all(`SELECT pickedWorker, AVG(workerLatencyMs) AS avgLatencyMs, COUNT(*) AS n
73
85
  FROM routing_events
74
86
  WHERE timestamp >= ? AND pickedWorker IS NOT NULL AND workerLatencyMs IS NOT NULL
75
87
  AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
76
- GROUP BY pickedWorker`,[c]);if(!e?.length)return{};let f=Object.create(null);for(let a of e){let b=(0,h.lc)(a.pickedWorker),c=Number(a.n)||0,d=Number(a.avgLatencyMs);Number.isFinite(d)&&!(c<=0)&&(f[b]||(f[b]={n:0,totalLatencyMs:0}),f[b].n+=c,f[b].totalLatencyMs+=d*c)}return Object.fromEntries(Object.entries(f).map(([a,b])=>[a,b.n>0?b.totalLatencyMs/b.n:0]))}async function I(a=14){let b=await (0,d.c)(),c=new Date(Date.now()-864e5*a).toISOString(),e=b.all(`SELECT pickedWorker, cluster, COUNT(*) AS n,
88
+ GROUP BY pickedWorker`,[c]);if(!e?.length)return{};let f=Object.create(null);for(let a of e){let b=(0,h.lc)(a.pickedWorker),c=Number(a.n)||0,d=Number(a.avgLatencyMs);Number.isFinite(d)&&!(c<=0)&&(f[b]||(f[b]={n:0,totalLatencyMs:0}),f[b].n+=c,f[b].totalLatencyMs+=d*c)}return Object.fromEntries(Object.entries(f).map(([a,b])=>[a,b.n>0?b.totalLatencyMs/b.n:0]))}async function L(a=14){let b=await (0,d.c)(),c=new Date(Date.now()-864e5*a).toISOString(),e=b.all(`SELECT pickedWorker, cluster, COUNT(*) AS n,
77
89
  SUM(CASE WHEN outcomeScore >= 60 THEN 1 ELSE 0 END) AS wins,
78
90
  AVG(outcomeScore) AS avgScore, AVG(workerLatencyMs) AS avgLatencyMs
79
91
  FROM routing_events
80
92
  WHERE timestamp >= ? AND pickedWorker IS NOT NULL
81
93
  AND (meta LIKE '%"terminal":true%' OR meta IS NULL OR meta NOT LIKE '%"terminal"%')
82
94
  AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
83
- GROUP BY pickedWorker, cluster`,[c]),f=Object.create(null);for(let a of e||[]){let b=a.pickedWorker,c=Number(a.n)||0,d=Number(a.wins)||0,e=Number(a.avgScore)||0,g=Number(a.avgLatencyMs)||0;f[b]||(f[b]={worker:b,n:0,wins:0,totalScore:0,totalLatencyMs:0,clusters:Object.create(null)});let h=f[b];h.n+=c,h.wins+=d,h.totalScore+=e*c,h.totalLatencyMs+=g*c,h.clusters[a.cluster]={n:c,avgScore:e}}return Object.values(f).map(a=>({worker:a.worker,n:a.n,wins:a.wins,winRate:a.n>0?a.wins/a.n:0,avgScore:a.n>0?a.totalScore/a.n:0,avgLatencyMs:a.n>0?a.totalLatencyMs/a.n:0,clusters:a.clusters})).sort((a,b)=>b.avgScore-a.avgScore)}async function J(a,b=14){if(!a)return[];let c=await (0,d.c)(),e=new Date(Date.now()-864e5*b).toISOString();return(c.all(`SELECT substr(timestamp, 1, 10) AS day, pickedWorker AS worker,
95
+ GROUP BY pickedWorker, cluster`,[c]),f=Object.create(null);for(let a of e||[]){let b=a.pickedWorker,c=Number(a.n)||0,d=Number(a.wins)||0,e=Number(a.avgScore)||0,g=Number(a.avgLatencyMs)||0;f[b]||(f[b]={worker:b,n:0,wins:0,totalScore:0,totalLatencyMs:0,clusters:Object.create(null)});let h=f[b];h.n+=c,h.wins+=d,h.totalScore+=e*c,h.totalLatencyMs+=g*c,h.clusters[a.cluster]={n:c,avgScore:e}}return Object.values(f).map(a=>({worker:a.worker,n:a.n,wins:a.wins,winRate:a.n>0?a.wins/a.n:0,avgScore:a.n>0?a.totalScore/a.n:0,avgLatencyMs:a.n>0?a.totalLatencyMs/a.n:0,clusters:a.clusters})).sort((a,b)=>b.avgScore-a.avgScore)}async function M(a,b=14){if(!a)return[];let c=await (0,d.c)(),e=new Date(Date.now()-864e5*b).toISOString();return(c.all(`SELECT substr(timestamp, 1, 10) AS day, pickedWorker AS worker,
84
96
  COUNT(*) AS n, AVG(outcomeScore) AS avgScore
85
97
  FROM routing_events
86
98
  WHERE comboName = ? AND timestamp >= ? AND outcomeScore IS NOT NULL
@@ -88,18 +100,22 @@ exports.id=3986,exports.ids=[3986],exports.modules={644:(a,b,c)=>{"use strict";f
88
100
  AND (meta LIKE '%"terminal":true%' OR meta IS NULL OR meta NOT LIKE '%"terminal"%')
89
101
  AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
90
102
  GROUP BY day, worker
91
- ORDER BY day`,[a,e])||[]).map(a=>({day:a.day,worker:a.worker,n:Number(a.n)||0,avgScore:Number(a.avgScore)||0}))}async function K(a,b=14){if(!a)return{judged:0,total:0};let c=await (0,d.c)(),e=new Date(Date.now()-864e5*b).toISOString(),f=c.get(`SELECT COUNT(*) AS total,
103
+ ORDER BY day`,[a,e])||[]).map(a=>({day:a.day,worker:a.worker,n:Number(a.n)||0,avgScore:Number(a.avgScore)||0}))}async function N(a,b=14){if(!a)return{judged:0,total:0};let c=await (0,d.c)(),e=new Date(Date.now()-864e5*b).toISOString(),f=c.get(`SELECT COUNT(*) AS total,
92
104
  SUM(CASE WHEN meta LIKE '%"judgeScore":%' THEN 1 ELSE 0 END) AS judged
93
105
  FROM routing_events
94
106
  WHERE comboName = ? AND timestamp >= ? AND pickedWorker IS NOT NULL
95
107
  AND (meta LIKE '%"terminal":true%' OR meta IS NULL OR meta NOT LIKE '%"terminal"%')
96
- AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')`,[a,e]);return{judged:Number(f?.judged)||0,total:Number(f?.total)||0}}async function L(a,b=14){let c={router:0,bandit_policy:0,cached_route:0,exploration:0,judge_flag_escalation:0,fallback_rescue:0};if(!a)return c;let e=await (0,d.c)(),f=new Date(Date.now()-864e5*b).toISOString();for(let b of e.all(`SELECT routerReason, fallbackUsed, COUNT(*) AS n
108
+ AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')`,[a,e]);return{judged:Number(f?.judged)||0,total:Number(f?.total)||0}}async function O(a,b=14){let c={router:0,bandit_policy:0,cached_route:0,exploration:0,judge_flag_escalation:0,fallback_rescue:0};if(!a)return c;let e=await (0,d.c)(),f=new Date(Date.now()-864e5*b).toISOString();for(let b of e.all(`SELECT routerReason, fallbackUsed, COUNT(*) AS n
97
109
  FROM routing_events
98
110
  WHERE comboName = ? AND timestamp >= ? AND pickedWorker IS NOT NULL
99
111
  AND (meta LIKE '%"terminal":true%' OR meta IS NULL OR meta NOT LIKE '%"terminal"%')
100
112
  AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
101
- GROUP BY routerReason, fallbackUsed`,[a,f])||[]){let a=Number(b.n)||0,d="router";String(b.routerReason).startsWith("exploration")?d="exploration":"bandit_policy"===b.routerReason?d="bandit_policy":"cached_route"===b.routerReason?d="cached_route":"judge_flag_escalation"===b.routerReason?d="judge_flag_escalation":1===Number(b.fallbackUsed)&&(d="fallback_rescue"),c[d]+=a}return c}async function M(a,b,c=14,e=200){if(!a||!b)return null;let f=await (0,d.c)(),g=new Date(Date.now()-864e5*c).toISOString(),h=f.all(`SELECT workerLatencyMs AS ms FROM routing_events
113
+ GROUP BY routerReason, fallbackUsed`,[a,f])||[]){let a=Number(b.n)||0,d="router";String(b.routerReason).startsWith("exploration")?d="exploration":"bandit_policy"===b.routerReason?d="bandit_policy":"cached_route"===b.routerReason?d="cached_route":"judge_flag_escalation"===b.routerReason?d="judge_flag_escalation":1===Number(b.fallbackUsed)&&(d="fallback_rescue"),c[d]+=a}return c}let P=["router","bandit_policy","cached_route","exploration","judge_flag_escalation","fallback_rescue"];async function Q(){let a=await (0,d.c)(),b=a.get("SELECT available FROM prometheusMetricState WHERE id = 1");if(b?.available!==1)throw Error("Prometheus metrics unavailable");let c=a.all("SELECT source, requests, errors, fallbacks FROM prometheusRoutingTotals ORDER BY source")||[];if(c.length!==P.length)throw Error("invalid Prometheus routing metric source set");let e=Object.fromEntries(P.map(a=>[a,0])),f=new Set,g=0,h=0,j=0;for(let a of c){if(!P.includes(a.source)||f.has(a.source))throw Error("invalid Prometheus routing metric source");f.add(a.source);let b={};for(let c of["requests","errors","fallbacks"])try{b[c]=(0,i.T)(a[c],`${a.source}.${c}`,{integer:!0})}catch{throw Error(`invalid Prometheus routing metric: ${a.source}.${c}`)}e[a.source]=b.requests,g+=b.requests,h+=b.errors,j+=b.fallbacks}return{retainedRequests:g,retainedErrors:h,retainedFallbacks:j,autoDecisions:e}}async function R(a,b,c=14,e=200){if(!a||!b)return null;let f=await (0,d.c)(),g=new Date(Date.now()-864e5*c).toISOString(),h=f.all(`SELECT workerLatencyMs AS ms FROM routing_events
102
114
  WHERE comboName = ? AND cluster = ? AND timestamp >= ?
103
115
  AND workerLatencyMs IS NOT NULL
104
116
  AND (meta IS NULL OR meta NOT LIKE '%"skippedRouter":true%')
105
- ORDER BY timestamp DESC LIMIT ?`,[a,b,g,e]);if(!h?.length)return null;let i=h.map(a=>Number(a.ms)).filter(a=>Number.isFinite(a)).sort((a,b)=>a-b);if(!i.length)return null;let j=Math.floor(i.length/2);return i.length%2==0?(i[j-1]+i[j])/2:i[j]}async function N(a){if(!a)return{events:0,versions:0};let b=await (0,d.c)(),c=b.run("DELETE FROM routing_events WHERE comboName = ?",[a]),e=b.run("DELETE FROM router_learning_versions WHERE comboName = ?",[a]);return l(a),{events:c?.changes??0,versions:e?.changes??0}}async function O(a,b){if(!a||!b||a===b)return;let c=await (0,d.c)();c.transaction(()=>{c.run("UPDATE routing_events SET comboName = ? WHERE comboName = ?",[b,a]),c.run("UPDATE router_learning_versions SET comboName = ? WHERE comboName = ?",[b,a])}),l(a),l(b)}},5770:(a,b,c)=>{"use strict";c.d(b,{Qm:()=>d,lc:()=>f,vL:()=>h});let d=2e4,e=new Map;function f(a){let b="string"==typeof a?a:String(a??""),c=b.indexOf("/");return -1===c?b:b.slice(0,c)}function g(a,b,c){let d=a?.[b];return Number.isFinite(d)?d:c}function h(a,b={}){let c=b.strategy??"off";if(!Array.isArray(a)||a.length<2||"off"===c)return a;let i=function(a){let b=new Set,c=[];for(let d of a){let a=f(d);b.has(a)||(b.add(a),c.push(a))}return c}(a),j=function(a,b,c){let d=new Map;if("priority"===b){let b=Array.isArray(c.providerOrder)?c.providerOrder:[];for(let c of a){let a=b.indexOf(c);d.set(c,-1===a?b.length:a)}return d}if("round-robin"===b){let b=c.rotationKey??"__default__",f=e.get(b)||0;e.set(b,f+1);let g=f%a.length;for(let b=0;b<a.length;b++)d.set(a[(g+b)%a.length],b);return d}for(let e of a){let f=c.providerQuota?.[e],h="fastest"===b?g(c.providerLatencyMs,e,1/0):"quota-first"===b?Number.isFinite(f)?100-f:1e6+g(c.providerUsage,e,0):a.indexOf(e);d.set(e,h)}return d}(i,c,b),k=Number.isFinite(b.guardMs)?b.guardMs:d;return a.map((a,c)=>{var d;let e,g=f(a);return{model:a,index:c,rank:j.get(g)??i.length,demoted:(d=b.providerLatencyMs,Number.isFinite(e=d?.[g])&&e>k)}}).sort((a,b)=>a.demoted!==b.demoted?Number(a.demoted)-Number(b.demoted):a.demoted?a.index-b.index:a.rank-b.rank||a.index-b.index).map(({model:a})=>a)}},36366:(a,b,c)=>{"use strict";c.d(b,{c:()=>l});var d=c(95658),e=c(92792);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1});let f=global._dbAdapter;async function g(a){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(4739).then(c.bind(c,24739));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] bun:sqlite unavailable: ${b.message}`),null}}async function h(a){if(process.versions.bun)return null;try{let{createBetterSqliteAdapter:a}=await c.e(5258).then(c.bind(c,25258));return a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] better-sqlite3 unavailable: ${b.message}`),null}}async function i(a){if(process.versions.bun)return null;let[b,e]=process.versions.node.split(".").map(Number);if(b<22||22===b&&e<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(8520).then(c.bind(c,88520));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] node:sqlite unavailable: ${b.message}`),null}}async function j(a){try{let{createSqlJsAdapter:a}=await c.e(3593).then(c.bind(c,53593));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] sql.js unavailable: ${b.message}`),null}}async function k(){if((0,e.I)())throw Error(`[DB] refusing to open ${d.AL} during next build — mark the calling page 'force-dynamic'`);(0,d.Jh)();let a=[],b=await g(a);if(b||(b=await h(a)),b||(b=await i(a)),b||(b=await j(a)),!b){if(a.some(a=>a?.code==="SQLITE_CORRUPT"||/corrupt|malformed|not a database/i.test(a?.message||"")))throw Error(`[DB] Database appears corrupted: ${d.AL}. Restore one of the five automatic backups from ${d.KQ}.`);throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)")}if(!f.logged){let a="sql.js"===b.driver?"warn":"log";"sql.js"===b.driver?console.warn(`[DB] WARNING: using sql.js fallback (in-memory + full-file rewrite). Prefer Node ≥22.5 (node:sqlite) or install better-sqlite3. file: ${d.AL}`):console[a](`[DB] Driver: ${b.driver} | file: ${d.AL}`),f.logged=!0}let{runMigrationOnce:k}=await Promise.all([c.e(7141),c.e(5350),c.e(869),c.e(6448)]).then(c.bind(c,36448));return await k(b),b}async function l(){return f.instance?f.instance:(f.initPromise||(f.initPromise=k().then(a=>(f.instance=a,a))),f.initPromise)}},43957:(a,b,c)=>{"use strict";function d({workerOk:a,workerLatencyMs:b=null,clusterP50LatencyMs:c=null,fallbackUsed:e=!1,retries:f=0,hasCompletion:g=!1,tokensOut:h=null,userRating:i=null}){let j=0,k=!!(e||null!=f&&f>0);return a&&!k&&(j+=40),a||(j-=20),a&&"number"==typeof b&&"number"==typeof c&&c>0&&b<c&&(j+=15),k&&(j-=30),a&&(!0===g||"number"==typeof h&&h>0)&&(j+=10),1===i&&(j+=25),-1===i&&(j-=25),Math.max(0,Math.min(100,j))}function e(a){let b=Number(a);return Number.isFinite(b)?b>=8?1:b<=3?-1:0:0}function f(a,b,c={}){let g,h=a&&"object"==typeof a?{...a}:{},i=void 0!==c.userRating?0===c.userRating?null:c.userRating:h.userRating??null,j=void 0!==c.judgeScore?c.judgeScore:h.judgeScore??null,k=null!=j?e(j):0,l=1===i||-1===i?i:k||null,m=h.scoreInputs;g=m&&"object"==typeof m?d({...m,userRating:l}):Math.max(0,Math.min(100,("number"==typeof h.baseOutcomeScore?h.baseOutcomeScore:Number(b)||0)+25*(l||0))),h.userRating=i,null!=j&&(h.judgeScore=j),h.scoreAdjustedBy=1===i||-1===i?"user":k?"judge":null,h.judgeAdjusted=!!k&&1!==i&&-1!==i;let n=Number(b)!==g;return{outcomeScore:g,meta:h,changed:n}}c.d(b,{Uq:()=>e,_4:()=>d,al:()=>f})},49120:(a,b,c)=>{"use strict";c.d(b,{nJ:()=>p,ok:()=>o});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="switchboard";function k(a){if("win32"===process.platform){let b=process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming");return g().join(b,a)}return g().join(i().homedir(),`.${a}`)}let l=["db/data.sqlite","machine-id","jwt-secret","auth","db.json"];function m(a){return l.some(b=>e().existsSync(g().join(a,b)))}function n(){let a=k(j);if(m(a))return a;let b=k("9router");return m(b)?(console.warn(`[DATA_DIR] using legacy data directory '${b}' (set DATA_DIR='${a}' to switch)`),b):a}function o(){let a=process.env.DATA_DIR;if(!a)return n();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),n();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),n();throw b}}let p=o()},78335:()=>{},92792:(a,b,c)=>{"use strict";function d(){return"phase-production-build"===process.env.NEXT_PHASE||"phase-export"===process.env.NEXT_PHASE||"phase-static"===process.env.NEXT_PHASE}c.d(b,{I:()=>d})},95658:(a,b,c)=>{"use strict";c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>m,KQ:()=>k,Or:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(49120);let i=e().join(h.nJ,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l={main:e().join(h.nJ,"db.json"),usage:e().join(h.nJ,"usage.json"),disabled:e().join(h.nJ,"disabledModels.json"),details:e().join(h.nJ,"request-details.json")};function m(){for(let a of[h.nJ,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}},96487:()=>{}};
117
+ ORDER BY timestamp DESC LIMIT ?`,[a,b,g,e]);if(!h?.length)return null;let i=h.map(a=>Number(a.ms)).filter(a=>Number.isFinite(a)).sort((a,b)=>a-b);if(!i.length)return null;let j=Math.floor(i.length/2);return i.length%2==0?(i[j-1]+i[j])/2:i[j]}async function S(a){if(!a)return{events:0,versions:0};let b=await (0,d.c)(),c=0,e=0;return b.transaction(()=>{(0,j.Bq)(b,()=>{!function(a,b,c){let d=a.all(`SELECT requestKey, terminalId, source, isError, fallbackUsed
118
+ FROM prometheusRoutingRequests WHERE ${b}`,c)||[],e=new Map;for(let a of d){(0,j.SQ)(a);let b=e.get(a.source)||{source:a.source,requests:0,errors:0,fallbacks:0};b.requests+=1,b.errors+=a.isError,b.fallbacks+=a.fallbackUsed,e.set(a.source,b)}for(let b of e.values()){let c=a.get("SELECT source, requests, errors, fallbacks FROM prometheusRoutingTotals WHERE source = ?",[b.source]);(0,j.BO)(c,b.source),(0,j.BO)({source:b.source,requests:c.requests-b.requests,errors:c.errors-b.errors,fallbacks:c.fallbacks-b.fallbacks}),a.run(`UPDATE prometheusRoutingTotals
119
+ SET requests = requests - ?, errors = errors - ?, fallbacks = fallbacks - ?
120
+ WHERE source = ?`,[b.requests,b.errors,b.fallbacks,b.source])}a.run(`DELETE FROM prometheusRoutingRequests WHERE ${b}`,c)}(b,"comboName = ?",[a])}),c=b.run("DELETE FROM routing_events WHERE comboName = ?",[a])?.changes??0,e=b.run("DELETE FROM router_learning_versions WHERE comboName = ?",[a])?.changes??0}),n(a),{events:c,versions:e}}async function T(a,b){if(!a||!b||a===b)return;let c=await (0,d.c)();c.transaction(()=>{c.run("UPDATE routing_events SET comboName = ? WHERE comboName = ?",[b,a]),c.run("UPDATE router_learning_versions SET comboName = ? WHERE comboName = ?",[b,a]),(0,j.Bq)(c,()=>{for(let b of c.all(`SELECT requestKey, terminalId, source, isError, fallbackUsed
121
+ FROM prometheusRoutingRequests WHERE comboName = ?`,[a])||[])(0,j.SQ)(b);c.run("UPDATE prometheusRoutingRequests SET comboName = ? WHERE comboName = ?",[b,a])})}),n(a),n(b)}},5125:(a,b,c)=>{"use strict";c.d(b,{BO:()=>k,Bq:()=>i,Kd:()=>j,SQ:()=>l});var d=c(73274);let e=["requests","promptTokens","completionTokens","cachedTokens"],f=["requests","errors","fallbacks"];function g(a,b){return!!a.get("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?",[b])}function h(a){g(a,"prometheusMetricState")&&a.run("UPDATE prometheusMetricState SET available = 0 WHERE id = 1")}function i(a,b){if(!function(a){if(!g(a,"prometheusMetricState"))return!1;let b=a.get("SELECT available FROM prometheusMetricState WHERE id = 1");try{let a=(0,d.T)(b?.available,"metricState.available",{integer:!0});if(![0,1].includes(a))throw Error("invalid Prometheus metric state");return 1===a}catch{return h(a),!1}}(a))return!1;try{return a.transaction(b),!0}catch{return h(a),!1}}function j(a,b=a?.provider||"usage"){if(!a||"string"!=typeof a.provider||!a.provider)throw Error(`invalid Prometheus usage metric: ${b}.provider`);for(let c of e)(0,d.T)(a[c],`${b}.${c}`,{integer:!0});return(0,d.T)(a.cost,`${b}.cost`),a}function k(a,b=a?.source||"routing"){if(!a||"string"!=typeof a.source||!a.source)throw Error(`invalid Prometheus routing metric: ${b}.source`);for(let c of f)(0,d.T)(a[c],`${b}.${c}`,{integer:!0});return a}function l(a,b=a?.requestKey||"routingRequest"){if(!a||"string"!=typeof a.source||!a.source)throw Error(`invalid Prometheus routing request: ${b}.source`);(0,d.T)(a.terminalId,`${b}.terminalId`,{integer:!0});let c=(0,d.T)(a.isError,`${b}.isError`,{integer:!0}),e=(0,d.T)(a.fallbackUsed,`${b}.fallbackUsed`,{integer:!0});if(![0,1].includes(c)||![0,1].includes(e))throw Error(`invalid Prometheus routing request: ${b}`);return a}},5770:(a,b,c)=>{"use strict";c.d(b,{Qm:()=>d,lc:()=>f,vL:()=>h});let d=2e4,e=new Map;function f(a){let b="string"==typeof a?a:String(a??""),c=b.indexOf("/");return -1===c?b:b.slice(0,c)}function g(a,b,c){let d=a?.[b];return Number.isFinite(d)?d:c}function h(a,b={}){let c=b.strategy??"off";if(!Array.isArray(a)||a.length<2||"off"===c)return a;let i=function(a){let b=new Set,c=[];for(let d of a){let a=f(d);b.has(a)||(b.add(a),c.push(a))}return c}(a),j=function(a,b,c){let d=new Map;if("priority"===b){let b=Array.isArray(c.providerOrder)?c.providerOrder:[];for(let c of a){let a=b.indexOf(c);d.set(c,-1===a?b.length:a)}return d}if("round-robin"===b){let b=c.rotationKey??"__default__",f=e.get(b)||0;e.set(b,f+1);let g=f%a.length;for(let b=0;b<a.length;b++)d.set(a[(g+b)%a.length],b);return d}for(let e of a){let f=c.providerQuota?.[e],h="fastest"===b?g(c.providerLatencyMs,e,1/0):"quota-first"===b?Number.isFinite(f)?100-f:1e6+g(c.providerUsage,e,0):a.indexOf(e);d.set(e,h)}return d}(i,c,b),k=Number.isFinite(b.guardMs)?b.guardMs:d;return a.map((a,c)=>{var d;let e,g=f(a);return{model:a,index:c,rank:j.get(g)??i.length,demoted:(d=b.providerLatencyMs,Number.isFinite(e=d?.[g])&&e>k)}}).sort((a,b)=>a.demoted!==b.demoted?Number(a.demoted)-Number(b.demoted):a.demoted?a.index-b.index:a.rank-b.rank||a.index-b.index).map(({model:a})=>a)}},36366:(a,b,c)=>{"use strict";c.d(b,{c:()=>l});var d=c(95658),e=c(92792);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1});let f=global._dbAdapter;async function g(a){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(4739).then(c.bind(c,24739));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] bun:sqlite unavailable: ${b.message}`),null}}async function h(a){if(process.versions.bun)return null;try{let{createBetterSqliteAdapter:a}=await c.e(5258).then(c.bind(c,25258));return a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] better-sqlite3 unavailable: ${b.message}`),null}}async function i(a){if(process.versions.bun)return null;let[b,e]=process.versions.node.split(".").map(Number);if(b<22||22===b&&e<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(8520).then(c.bind(c,88520));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] node:sqlite unavailable: ${b.message}`),null}}async function j(a){try{let{createSqlJsAdapter:a}=await c.e(3593).then(c.bind(c,53593));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] sql.js unavailable: ${b.message}`),null}}async function k(){if((0,e.I)())throw Error(`[DB] refusing to open ${d.AL} during next build — mark the calling page 'force-dynamic'`);(0,d.Jh)();let a=[],b=await g(a);if(b||(b=await h(a)),b||(b=await i(a)),b||(b=await j(a)),!b){if(a.some(a=>a?.code==="SQLITE_CORRUPT"||/corrupt|malformed|not a database/i.test(a?.message||"")))throw Error(`[DB] Database appears corrupted: ${d.AL}. Restore one of the five automatic backups from ${d.KQ}.`);throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)")}if(!f.logged){let a="sql.js"===b.driver?"warn":"log";"sql.js"===b.driver?console.warn(`[DB] WARNING: using sql.js fallback (in-memory + full-file rewrite). Prefer Node ≥22.5 (node:sqlite) or install better-sqlite3. file: ${d.AL}`):console[a](`[DB] Driver: ${b.driver} | file: ${d.AL}`),f.logged=!0}let{runMigrationOnce:k}=await Promise.all([c.e(7141),c.e(5350),c.e(869),c.e(5781),c.e(940)]).then(c.bind(c,59282));return await k(b),b}async function l(){return f.instance?f.instance:(f.initPromise||(f.initPromise=k().then(a=>(f.instance=a,a))),f.initPromise)}},43957:(a,b,c)=>{"use strict";function d({workerOk:a,workerLatencyMs:b=null,clusterP50LatencyMs:c=null,fallbackUsed:e=!1,retries:f=0,hasCompletion:g=!1,tokensOut:h=null,userRating:i=null}){let j=0,k=!!(e||null!=f&&f>0);return a&&!k&&(j+=40),a||(j-=20),a&&"number"==typeof b&&"number"==typeof c&&c>0&&b<c&&(j+=15),k&&(j-=30),a&&(!0===g||"number"==typeof h&&h>0)&&(j+=10),1===i&&(j+=25),-1===i&&(j-=25),Math.max(0,Math.min(100,j))}function e(a){let b=Number(a);return Number.isFinite(b)?b>=8?1:b<=3?-1:0:0}function f(a,b,c={}){let g,h=a&&"object"==typeof a?{...a}:{},i=void 0!==c.userRating?0===c.userRating?null:c.userRating:h.userRating??null,j=void 0!==c.judgeScore?c.judgeScore:h.judgeScore??null,k=null!=j?e(j):0,l=1===i||-1===i?i:k||null,m=h.scoreInputs;g=m&&"object"==typeof m?d({...m,userRating:l}):Math.max(0,Math.min(100,("number"==typeof h.baseOutcomeScore?h.baseOutcomeScore:Number(b)||0)+25*(l||0))),h.userRating=i,null!=j&&(h.judgeScore=j),h.scoreAdjustedBy=1===i||-1===i?"user":k?"judge":null,h.judgeAdjusted=!!k&&1!==i&&-1!==i;let n=Number(b)!==g;return{outcomeScore:g,meta:h,changed:n}}c.d(b,{Uq:()=>e,_4:()=>d,al:()=>f})},49120:(a,b,c)=>{"use strict";c.d(b,{nJ:()=>p,ok:()=>o});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="switchboard";function k(a){if("win32"===process.platform){let b=process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming");return g().join(b,a)}return g().join(i().homedir(),`.${a}`)}let l=["db/data.sqlite","machine-id","jwt-secret","auth","db.json"];function m(a){return l.some(b=>e().existsSync(g().join(a,b)))}function n(){let a=k(j);if(m(a))return a;let b=k("9router");return m(b)?(console.warn(`[DATA_DIR] using legacy data directory '${b}' (set DATA_DIR='${a}' to switch)`),b):a}function o(){let a=process.env.DATA_DIR;if(!a)return n();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),n();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),n();throw b}}let p=o()},73274:(a,b,c)=>{"use strict";function d(a,b,{integer:c=!1}={}){if("number"!=typeof a||!Number.isFinite(a)||a<0||c&&!Number.isInteger(a))throw Error(`invalid Prometheus metric number: ${b}`);return Object.is(a,-0)?0:a}c.d(b,{T:()=>d})},78335:()=>{},92792:(a,b,c)=>{"use strict";function d(){return"phase-production-build"===process.env.NEXT_PHASE||"phase-export"===process.env.NEXT_PHASE||"phase-static"===process.env.NEXT_PHASE}c.d(b,{I:()=>d})},95658:(a,b,c)=>{"use strict";c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>m,KQ:()=>k,Or:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(49120);let i=e().join(h.nJ,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l={main:e().join(h.nJ,"db.json"),usage:e().join(h.nJ,"usage.json"),disabled:e().join(h.nJ,"disabledModels.json"),details:e().join(h.nJ,"request-details.json")};function m(){for(let a of[h.nJ,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}},96487:()=>{}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=4739,exports.ids=[4739],exports.modules={24739:(a,b,c)=>{c.d(b,{createBunSqliteAdapter:()=>e});var d=c(63775);async function e(a){let{Database:b}=await Promise.resolve().then(c.t.bind(c,81787,23)),e=new b(a,{create:!0});e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}return"function"==typeof h.unref&&h.unref(),process.once("beforeExit",()=>i()),{driver:"bun:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction:a=>e.transaction(a)(),checkpoint(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(h),i()},raw:e}}},63775:(a,b,c)=>{c.d(b,{CG:()=>e,oG:()=>d,zE:()=>f});let d=`
1
+ "use strict";exports.id=4739,exports.ids=[4739],exports.modules={24739:(a,b,c)=>{c.d(b,{createBunSqliteAdapter:()=>f});var d=c(63775),e=c(54293);async function f(a){let{Database:b}=await Promise.resolve().then(c.t.bind(c,81787,23)),f=new b(a,{create:!0});f.exec(d.oG);let g=new Map;function h(a){let b=g.get(a);return b||(b=f.prepare(a),g.set(a,b)),b}let i=setInterval(()=>{try{f.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);"function"==typeof i.unref&&i.unref();let j=!1;function k(){if(l(),!j){j=!0,clearInterval(i);try{f.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{g.clear()}catch{}try{f.close()}catch{}}}let l=(0,e.H)(k);return{driver:"bun:sqlite",run(a,b=[]){let c=h(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>h(a).get(...b),all:(a,b=[])=>h(a).all(...b),exec:a=>f.exec(a),transaction:a=>f.transaction(a)(),checkpoint(){try{f.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close:k,raw:f}}},54293:(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))},63775:(a,b,c)=>{c.d(b,{CG:()=>e,oG:()=>d,zE:()=>f});let d=`
2
2
  PRAGMA journal_mode = WAL;
3
3
  PRAGMA synchronous = NORMAL;
4
4
  PRAGMA temp_store = MEMORY;
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,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(", ")})`}}};
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(", ")})`}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=4780,exports.ids=[4780],exports.modules={34780:(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(76040);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}}},76040:(a,b,c)=>{c.d(b,{CG:()=>e,oG:()=>d,zE:()=>f});let d=`
1
+ "use strict";exports.id=4780,exports.ids=[4780],exports.modules={8886:(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))},34780:(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(76040),k=c(8886);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}}},76040:(a,b,c)=>{c.d(b,{CG:()=>e,oG:()=>d,zE:()=>f});let d=`
2
2
  PRAGMA journal_mode = WAL;
3
3
  PRAGMA synchronous = NORMAL;
4
4
  PRAGMA temp_store = MEMORY;
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,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(", ")})`}}};
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(", ")})`}}};
@@ -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(", ")})`}},54803:(a,b,c)=>{c.d(b,{createNodeSqliteAdapter:()=>e});var d=c(34050);async function e(a){if(!globalThis.__switchboardNodeSqliteEmitPatched){globalThis.__switchboardNodeSqliteEmitPatched=!0;let a=process.emit;process.emit=function(b,c,...d){return!("warning"===b&&c?.name==="ExperimentalWarning"&&/SQLite/i.test(c.message||""))&&a.call(process,b,c,...d)}}let b=new(await Promise.resolve().then(c.t.bind(c,79868,23))).DatabaseSync(a);b.exec(d.oG);let e=new Map;function f(a){let c=e.get(a);return c||(c=b.prepare(a),e.set(a,c)),c}let g=setInterval(()=>{try{b.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{b.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{e.clear()}catch{}try{b.close()}catch{}}return"function"==typeof g.unref&&g.unref(),process.once("beforeExit",()=>h()),{driver:"node:sqlite",run(a,b=[]){let c=f(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>f(a).get(...b),all:(a,b=[])=>f(a).all(...b),exec:a=>b.exec(a),transaction(a){let c=`sp_${Math.random().toString(36).slice(2)}`;b.exec(`SAVEPOINT ${c}`);try{let d=a();return b.exec(`RELEASE ${c}`),d}catch(a){try{b.exec(`ROLLBACK TO ${c}`),b.exec(`RELEASE ${c}`)}catch{}throw a}},checkpoint(){try{b.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:b}}}};
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(", ")})`}},54803:(a,b,c)=>{c.d(b,{createNodeSqliteAdapter:()=>f});var d=c(34050),e=c(68176);async function f(a){if(!globalThis.__switchboardNodeSqliteEmitPatched){globalThis.__switchboardNodeSqliteEmitPatched=!0;let a=process.emit;process.emit=function(b,c,...d){return!("warning"===b&&c?.name==="ExperimentalWarning"&&/SQLite/i.test(c.message||""))&&a.call(process,b,c,...d)}}let b=new(await Promise.resolve().then(c.t.bind(c,79868,23))).DatabaseSync(a);b.exec(d.oG);let f=new Map;function g(a){let c=f.get(a);return c||(c=b.prepare(a),f.set(a,c)),c}let h=setInterval(()=>{try{b.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);"function"==typeof h.unref&&h.unref();let i=!1;function j(){if(k(),!i){i=!0,clearInterval(h);try{b.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{b.close()}catch{}}}let k=(0,e.H)(j);return{driver:"node:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>b.exec(a),transaction(a){let c=`sp_${Math.random().toString(36).slice(2)}`;b.exec(`SAVEPOINT ${c}`);try{let d=a();return b.exec(`RELEASE ${c}`),d}catch(a){try{b.exec(`ROLLBACK TO ${c}`),b.exec(`RELEASE ${c}`)}catch{}throw a}},checkpoint(){try{b.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close:j,raw:b}}},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))}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=507,exports.ids=[507],exports.modules={76040:(a,b,c)=>{c.d(b,{CG:()=>e,oG:()=>d,zE:()=>f});let d=`
1
+ "use strict";exports.id=507,exports.ids=[507],exports.modules={8886:(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))},76040:(a,b,c)=>{c.d(b,{CG:()=>e,oG:()=>d,zE:()=>f});let d=`
2
2
  PRAGMA journal_mode = WAL;
3
3
  PRAGMA synchronous = NORMAL;
4
4
  PRAGMA temp_store = MEMORY;
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,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(", ")})`}},90507:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>g});var d=c(87550),e=c.n(d),f=c(76040);function g(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let g=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}return"function"==typeof g.unref&&g.unref(),process.once("beforeExit",()=>h()),{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(b),get:(a,b=[])=>d(a).get(b),all:(a,b=[])=>d(a).all(b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:b}}}};
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(", ")})`}},90507:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>h});var d=c(87550),e=c.n(d),f=c(76040),g=c(8886);function h(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let h=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);"function"==typeof h.unref&&h.unref();let i=!1;function j(){if(k(),!i){i=!0,clearInterval(h);try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}}let k=(0,g.H)(j);return{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(b),get:(a,b=[])=>d(a).get(b),all:(a,b=[])=>d(a).all(b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close:j,raw:b}}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=5258,exports.ids=[5258],exports.modules={25258:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>g});var d=c(87550),e=c.n(d),f=c(63775);function g(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let g=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}return"function"==typeof g.unref&&g.unref(),process.once("beforeExit",()=>h()),{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(b),get:(a,b=[])=>d(a).get(b),all:(a,b=[])=>d(a).all(b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:b}}},63775:(a,b,c)=>{c.d(b,{CG:()=>e,oG:()=>d,zE:()=>f});let d=`
1
+ "use strict";exports.id=5258,exports.ids=[5258],exports.modules={25258:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>h});var d=c(87550),e=c.n(d),f=c(63775),g=c(54293);function h(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let h=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);"function"==typeof h.unref&&h.unref();let i=!1;function j(){if(k(),!i){i=!0,clearInterval(h);try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}}let k=(0,g.H)(j);return{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(b),get:(a,b=[])=>d(a).get(b),all:(a,b=[])=>d(a).all(b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close:j,raw:b}}},54293:(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))},63775:(a,b,c)=>{c.d(b,{CG:()=>e,oG:()=>d,zE:()=>f});let d=`
2
2
  PRAGMA journal_mode = WAL;
3
3
  PRAGMA synchronous = NORMAL;
4
4
  PRAGMA temp_store = MEMORY;
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,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(", ")})`}}};
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(", ")})`}}};