switchboard-router 0.6.16 → 0.6.18

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 (808) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +13 -12
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/routes-manifest.json +6 -0
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page.js +2 -2
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page.js +2 -2
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +3 -3
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js +2 -2
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page.js +2 -2
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  82. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  84. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  85. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  86. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  87. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  88. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  89. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  90. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  91. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  92. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  93. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  95. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  96. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  97. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  98. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  99. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  100. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  101. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  102. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  103. package/app/.next-cli-build/server/app/api/agent-library/catalog/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/agent-library/catalog/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/agent-library/doctor/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/agent-library/doctor/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/agent-library/export/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/agent-library/export/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/agent-library/mcp/route.js +1 -1
  110. package/app/.next-cli-build/server/app/api/agent-library/mcp/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/agent-library/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/agent-library/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/agent-library/skills/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/agent-library/skills/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/agent-library/sync/route.js +1 -1
  116. package/app/.next-cli-build/server/app/api/agent-library/sync/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/agent-library/updates/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/agent-library/updates/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/aider-settings/route.js +2 -2
  122. package/app/.next-cli-build/server/app/api/cli-tools/aider-settings/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  124. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  126. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/claude-full-catalog/route.js +2 -0
  130. package/app/.next-cli-build/server/app/api/cli-tools/claude-full-catalog/route.js.nft.json +1 -0
  131. package/app/.next-cli-build/server/app/api/cli-tools/claude-full-catalog/route_client-reference-manifest.js +1 -0
  132. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -2
  133. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  135. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +2 -2
  137. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  139. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  145. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  147. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js +2 -2
  149. package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js +3 -3
  151. package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  153. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  157. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  161. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +1 -1
  163. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  165. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  187. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  195. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/strategy/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/strategy/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/mgmt/v1/health/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/mgmt/v1/health/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/mgmt/v1/providers/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/mgmt/v1/providers/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/mgmt/v1/routing/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/mgmt/v1/routing/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/mgmt/v1/usage/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/mgmt/v1/usage/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/mgmt/v1/version/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/mgmt/v1/version/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  233. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/batch/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/batch/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/cache/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/cache/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/prepare/route.js +1 -1
  265. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/prepare/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/remove-unavailable/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/remove-unavailable/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/cancel/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/cancel/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/start/route.js +1 -1
  273. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/start/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/status/route.js +1 -1
  275. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/status/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  277. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  283. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  289. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  293. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  295. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/routing/feedback/route.js +2 -1
  297. package/app/.next-cli-build/server/app/api/routing/feedback/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/routing/insights/route.js +1 -1
  299. package/app/.next-cli-build/server/app/api/routing/insights/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/routing/learn/route.js +1 -1
  301. package/app/.next-cli-build/server/app/api/routing/learn/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/routing/stats/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/routing/stats/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/routing/versions/promote/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/routing/versions/promote/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/routing/versions/rollback/route.js +1 -1
  307. package/app/.next-cli-build/server/app/api/routing/versions/rollback/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  313. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/skills/[id]/route.js +1 -1
  317. package/app/.next-cli-build/server/app/api/skills/[id]/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  319. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/token-saver/vault-stats/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/token-saver/vault-stats/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  325. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  331. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/translator/translate/route.js +2 -1
  333. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  337. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  339. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  349. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  351. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  353. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  355. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  356. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  357. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  359. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  361. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  362. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  363. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  365. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  367. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  368. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  369. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  373. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  374. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  375. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  376. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  377. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  379. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  380. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  381. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  385. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  386. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  387. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  389. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  391. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  392. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  393. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  395. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  397. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  398. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  399. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  401. package/app/.next-cli-build/server/app/callback.html +1 -1
  402. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  403. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  404. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  405. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  406. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  407. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  408. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  409. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  410. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  411. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  412. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  413. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  414. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  415. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  416. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  417. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  418. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  419. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  420. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  421. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  422. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  423. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  424. package/app/.next-cli-build/server/app/index.html +1 -1
  425. package/app/.next-cli-build/server/app/index.rsc +4 -4
  426. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  427. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  428. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  429. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  430. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  431. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  432. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  433. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  434. package/app/.next-cli-build/server/app/landing.html +1 -1
  435. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  436. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  437. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  438. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  439. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  440. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  441. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  442. package/app/.next-cli-build/server/app/login/page.js +2 -2
  443. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  444. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  445. package/app/.next-cli-build/server/app/login.html +1 -1
  446. package/app/.next-cli-build/server/app/login.rsc +4 -4
  447. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  448. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  449. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  450. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  451. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  452. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  453. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  454. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  455. package/app/.next-cli-build/server/app/page.js +2 -2
  456. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  457. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  458. package/app/.next-cli-build/server/app-paths-manifest.json +13 -12
  459. package/app/.next-cli-build/server/chunks/194.js +1 -1
  460. package/app/.next-cli-build/server/chunks/2376.js +2 -0
  461. package/app/.next-cli-build/server/chunks/369.js +1 -1
  462. package/app/.next-cli-build/server/chunks/3787.js +2 -2
  463. package/app/.next-cli-build/server/chunks/3986.js +1 -1
  464. package/app/.next-cli-build/server/chunks/4126.js +1 -1
  465. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  466. package/app/.next-cli-build/server/chunks/4776.js +1 -1
  467. package/app/.next-cli-build/server/chunks/4833.js +2 -0
  468. package/app/.next-cli-build/server/chunks/5139.js +1 -1
  469. package/app/.next-cli-build/server/chunks/5920.js +1 -1
  470. package/app/.next-cli-build/server/chunks/65.js +1 -0
  471. package/app/.next-cli-build/server/chunks/7141.js +1 -1
  472. package/app/.next-cli-build/server/chunks/7828.js +1 -1
  473. package/app/.next-cli-build/server/chunks/{5115.js → 7945.js} +21 -19
  474. package/app/.next-cli-build/server/chunks/8129.js +1 -1
  475. package/app/.next-cli-build/server/chunks/8400.js +2 -2
  476. package/app/.next-cli-build/server/chunks/8658.js +2 -0
  477. package/app/.next-cli-build/server/chunks/869.js +1 -1
  478. package/app/.next-cli-build/server/chunks/8775.js +2 -1
  479. package/app/.next-cli-build/server/chunks/8998.js +16 -16
  480. package/app/.next-cli-build/server/chunks/9489.js +3 -3
  481. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  482. package/app/.next-cli-build/server/middleware.js +9 -9
  483. package/app/.next-cli-build/server/pages/404.html +1 -1
  484. package/app/.next-cli-build/server/pages/500.html +1 -1
  485. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  486. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  487. package/app/.next-cli-build/static/O7tk63SVbhMmVH3A8sNna/_buildManifest.js +1 -0
  488. package/app/.next-cli-build/static/chunks/1321-ded98decf52824ab.js +1 -0
  489. package/app/.next-cli-build/static/chunks/{2493-6241eb181f2ecb6e.js → 545-879fcbf4fd26bb8c.js} +24 -22
  490. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-9aa986f145130c08.js → page-6c3146011be4e83d.js} +1 -1
  491. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-a09d7692b3ea9179.js → page-55b7e2d349ab3bd8.js} +1 -1
  492. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-8619928e4b74f46b.js → page-a879a761c7384733.js} +1 -1
  493. package/app/.next-cli-build/static/chunks/app/_global-error/{page-53acebeeeaf77697.js → page-94a9ef2ca98f2a41.js} +1 -1
  494. package/app/.next-cli-build/static/chunks/app/api/agent-library/catalog/{route-53acebeeeaf77697.js → route-94a9ef2ca98f2a41.js} +1 -1
  495. package/app/.next-cli-build/static/chunks/app/api/agent-library/doctor/{route-53acebeeeaf77697.js → route-94a9ef2ca98f2a41.js} +1 -1
  496. package/app/.next-cli-build/static/chunks/app/api/agent-library/export/{route-53acebeeeaf77697.js → route-94a9ef2ca98f2a41.js} +1 -1
  497. package/app/.next-cli-build/static/chunks/app/api/agent-library/mcp/route-94a9ef2ca98f2a41.js +1 -0
  498. package/app/.next-cli-build/static/chunks/app/api/agent-library/route-94a9ef2ca98f2a41.js +1 -0
  499. package/app/.next-cli-build/static/chunks/app/api/agent-library/skills/route-94a9ef2ca98f2a41.js +1 -0
  500. package/app/.next-cli-build/static/chunks/app/api/agent-library/sync/route-94a9ef2ca98f2a41.js +1 -0
  501. package/app/.next-cli-build/static/chunks/app/api/agent-library/updates/route-94a9ef2ca98f2a41.js +1 -0
  502. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-94a9ef2ca98f2a41.js +1 -0
  503. package/app/.next-cli-build/static/chunks/app/api/cli-tools/aider-settings/route-94a9ef2ca98f2a41.js +1 -0
  504. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-94a9ef2ca98f2a41.js +1 -0
  505. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-94a9ef2ca98f2a41.js +1 -0
  506. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-94a9ef2ca98f2a41.js +1 -0
  507. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-full-catalog/route-94a9ef2ca98f2a41.js +1 -0
  508. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-94a9ef2ca98f2a41.js +1 -0
  509. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-94a9ef2ca98f2a41.js +1 -0
  510. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-94a9ef2ca98f2a41.js +1 -0
  511. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-94a9ef2ca98f2a41.js +1 -0
  512. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-94a9ef2ca98f2a41.js +1 -0
  513. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-94a9ef2ca98f2a41.js +1 -0
  514. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-94a9ef2ca98f2a41.js +1 -0
  515. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-94a9ef2ca98f2a41.js +1 -0
  516. package/app/.next-cli-build/static/chunks/app/api/cli-tools/gemini-cli-settings/route-94a9ef2ca98f2a41.js +1 -0
  517. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-settings/route-94a9ef2ca98f2a41.js +1 -0
  518. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-94a9ef2ca98f2a41.js +1 -0
  519. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-94a9ef2ca98f2a41.js +1 -0
  520. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-94a9ef2ca98f2a41.js +1 -0
  521. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-94a9ef2ca98f2a41.js +1 -0
  522. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-94a9ef2ca98f2a41.js +1 -0
  523. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-94a9ef2ca98f2a41.js +1 -0
  524. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-94a9ef2ca98f2a41.js +1 -0
  525. package/app/.next-cli-build/static/chunks/app/api/combos/route-94a9ef2ca98f2a41.js +1 -0
  526. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-94a9ef2ca98f2a41.js +1 -0
  527. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-94a9ef2ca98f2a41.js +1 -0
  528. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-94a9ef2ca98f2a41.js +1 -0
  529. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-94a9ef2ca98f2a41.js +1 -0
  530. package/app/.next-cli-build/static/chunks/app/api/health/route-94a9ef2ca98f2a41.js +1 -0
  531. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-94a9ef2ca98f2a41.js +1 -0
  532. package/app/.next-cli-build/static/chunks/app/api/keys/route-94a9ef2ca98f2a41.js +1 -0
  533. package/app/.next-cli-build/static/chunks/app/api/locale/route-94a9ef2ca98f2a41.js +1 -0
  534. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-94a9ef2ca98f2a41.js +1 -0
  535. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-94a9ef2ca98f2a41.js +1 -0
  536. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-94a9ef2ca98f2a41.js +1 -0
  537. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-94a9ef2ca98f2a41.js +1 -0
  538. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-94a9ef2ca98f2a41.js +1 -0
  539. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-94a9ef2ca98f2a41.js +1 -0
  540. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-94a9ef2ca98f2a41.js +1 -0
  541. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/route-94a9ef2ca98f2a41.js +1 -0
  542. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/strategy/route-94a9ef2ca98f2a41.js +1 -0
  543. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/route-94a9ef2ca98f2a41.js +1 -0
  544. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/health/route-94a9ef2ca98f2a41.js +1 -0
  545. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/providers/route-94a9ef2ca98f2a41.js +1 -0
  546. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/routing/route-94a9ef2ca98f2a41.js +1 -0
  547. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/usage/route-94a9ef2ca98f2a41.js +1 -0
  548. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/version/route-94a9ef2ca98f2a41.js +1 -0
  549. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-94a9ef2ca98f2a41.js +1 -0
  550. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-94a9ef2ca98f2a41.js +1 -0
  551. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-94a9ef2ca98f2a41.js +1 -0
  552. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-94a9ef2ca98f2a41.js +1 -0
  553. package/app/.next-cli-build/static/chunks/app/api/models/route-94a9ef2ca98f2a41.js +1 -0
  554. package/app/.next-cli-build/static/chunks/app/api/models/test/route-94a9ef2ca98f2a41.js +1 -0
  555. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-94a9ef2ca98f2a41.js +1 -0
  556. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-94a9ef2ca98f2a41.js +1 -0
  557. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-94a9ef2ca98f2a41.js +1 -0
  558. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-94a9ef2ca98f2a41.js +1 -0
  559. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-94a9ef2ca98f2a41.js +1 -0
  560. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-94a9ef2ca98f2a41.js +1 -0
  561. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-94a9ef2ca98f2a41.js +1 -0
  562. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-94a9ef2ca98f2a41.js +1 -0
  563. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-94a9ef2ca98f2a41.js +1 -0
  564. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-94a9ef2ca98f2a41.js +1 -0
  565. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-94a9ef2ca98f2a41.js +1 -0
  566. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-94a9ef2ca98f2a41.js +1 -0
  567. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-94a9ef2ca98f2a41.js +1 -0
  568. package/app/.next-cli-build/static/chunks/app/api/pricing/route-94a9ef2ca98f2a41.js +1 -0
  569. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-94a9ef2ca98f2a41.js +1 -0
  570. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-94a9ef2ca98f2a41.js +1 -0
  571. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-94a9ef2ca98f2a41.js +1 -0
  572. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/batch/route-94a9ef2ca98f2a41.js +1 -0
  573. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/cache/route-94a9ef2ca98f2a41.js +1 -0
  574. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/prepare/route-94a9ef2ca98f2a41.js +1 -0
  575. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/remove-unavailable/route-94a9ef2ca98f2a41.js +1 -0
  576. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/route-94a9ef2ca98f2a41.js +1 -0
  577. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/cancel/route-94a9ef2ca98f2a41.js +1 -0
  578. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/start/route-94a9ef2ca98f2a41.js +1 -0
  579. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/status/route-94a9ef2ca98f2a41.js +1 -0
  580. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-94a9ef2ca98f2a41.js +1 -0
  581. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-94a9ef2ca98f2a41.js +1 -0
  582. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-94a9ef2ca98f2a41.js +1 -0
  583. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-94a9ef2ca98f2a41.js +1 -0
  584. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-94a9ef2ca98f2a41.js +1 -0
  585. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-94a9ef2ca98f2a41.js +1 -0
  586. package/app/.next-cli-build/static/chunks/app/api/providers/route-94a9ef2ca98f2a41.js +1 -0
  587. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-94a9ef2ca98f2a41.js +1 -0
  588. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-94a9ef2ca98f2a41.js +1 -0
  589. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-94a9ef2ca98f2a41.js +1 -0
  590. package/app/.next-cli-build/static/chunks/app/api/routing/feedback/route-94a9ef2ca98f2a41.js +1 -0
  591. package/app/.next-cli-build/static/chunks/app/api/routing/insights/route-94a9ef2ca98f2a41.js +1 -0
  592. package/app/.next-cli-build/static/chunks/app/api/routing/learn/route-94a9ef2ca98f2a41.js +1 -0
  593. package/app/.next-cli-build/static/chunks/app/api/routing/stats/route-94a9ef2ca98f2a41.js +1 -0
  594. package/app/.next-cli-build/static/chunks/app/api/routing/versions/promote/route-94a9ef2ca98f2a41.js +1 -0
  595. package/app/.next-cli-build/static/chunks/app/api/routing/versions/rollback/route-94a9ef2ca98f2a41.js +1 -0
  596. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-94a9ef2ca98f2a41.js +1 -0
  597. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-94a9ef2ca98f2a41.js +1 -0
  598. package/app/.next-cli-build/static/chunks/app/api/settings/route-94a9ef2ca98f2a41.js +1 -0
  599. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-94a9ef2ca98f2a41.js +1 -0
  600. package/app/.next-cli-build/static/chunks/app/api/skills/[id]/route-94a9ef2ca98f2a41.js +1 -0
  601. package/app/.next-cli-build/static/chunks/app/api/tags/route-94a9ef2ca98f2a41.js +1 -0
  602. package/app/.next-cli-build/static/chunks/app/api/token-saver/vault-stats/route-94a9ef2ca98f2a41.js +1 -0
  603. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-94a9ef2ca98f2a41.js +1 -0
  604. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-94a9ef2ca98f2a41.js +1 -0
  605. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-94a9ef2ca98f2a41.js +1 -0
  606. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-94a9ef2ca98f2a41.js +1 -0
  607. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-94a9ef2ca98f2a41.js +1 -0
  608. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-94a9ef2ca98f2a41.js +1 -0
  609. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-94a9ef2ca98f2a41.js +1 -0
  610. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-94a9ef2ca98f2a41.js +1 -0
  611. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-94a9ef2ca98f2a41.js +1 -0
  612. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-94a9ef2ca98f2a41.js +1 -0
  613. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-94a9ef2ca98f2a41.js +1 -0
  614. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-94a9ef2ca98f2a41.js +1 -0
  615. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-94a9ef2ca98f2a41.js +1 -0
  616. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-94a9ef2ca98f2a41.js +1 -0
  617. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-94a9ef2ca98f2a41.js +1 -0
  618. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-94a9ef2ca98f2a41.js +1 -0
  619. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-94a9ef2ca98f2a41.js +1 -0
  620. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-94a9ef2ca98f2a41.js +1 -0
  621. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-94a9ef2ca98f2a41.js +1 -0
  622. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-94a9ef2ca98f2a41.js +1 -0
  623. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-94a9ef2ca98f2a41.js +1 -0
  624. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-94a9ef2ca98f2a41.js +1 -0
  625. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-94a9ef2ca98f2a41.js +1 -0
  626. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-94a9ef2ca98f2a41.js +1 -0
  627. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-94a9ef2ca98f2a41.js +1 -0
  628. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-94a9ef2ca98f2a41.js +1 -0
  629. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-94a9ef2ca98f2a41.js +1 -0
  630. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-94a9ef2ca98f2a41.js +1 -0
  631. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-94a9ef2ca98f2a41.js +1 -0
  632. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-94a9ef2ca98f2a41.js +1 -0
  633. package/app/.next-cli-build/static/chunks/app/api/v1/route-94a9ef2ca98f2a41.js +1 -0
  634. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-94a9ef2ca98f2a41.js +1 -0
  635. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-94a9ef2ca98f2a41.js +1 -0
  636. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-94a9ef2ca98f2a41.js +1 -0
  637. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-94a9ef2ca98f2a41.js +1 -0
  638. package/app/.next-cli-build/static/chunks/app/api/version/route-94a9ef2ca98f2a41.js +1 -0
  639. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-94a9ef2ca98f2a41.js +1 -0
  640. package/app/.next-cli-build/static/chunks/app/api/version/update/route-94a9ef2ca98f2a41.js +1 -0
  641. package/app/.next-cli-build/static/chunks/app/login/page-94a9ef2ca98f2a41.js +1 -0
  642. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-94a9ef2ca98f2a41.js +1 -0
  643. package/app/.next-cli-build/static/chunks/app/page-94a9ef2ca98f2a41.js +1 -0
  644. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-94a9ef2ca98f2a41.js +1 -0
  645. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-94a9ef2ca98f2a41.js +1 -0
  646. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-94a9ef2ca98f2a41.js +1 -0
  647. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-94a9ef2ca98f2a41.js +1 -0
  648. package/app/.next-cli-build/static/css/c6541e58fb98dd9a.css +1 -0
  649. package/app/package.json +1 -1
  650. package/claude-switchboard.js +5 -0
  651. package/package.json +4 -2
  652. package/src/cli/claudeLauncher.js +51 -0
  653. package/app/.next-cli-build/server/chunks/688.js +0 -1
  654. package/app/.next-cli-build/server/chunks/7155.js +0 -1
  655. package/app/.next-cli-build/static/U_PuL5EYuLNHl2YOb_uZL/_buildManifest.js +0 -1
  656. package/app/.next-cli-build/static/chunks/1321-9a7e9093258f41d0.js +0 -1
  657. package/app/.next-cli-build/static/chunks/app/api/agent-library/mcp/route-53acebeeeaf77697.js +0 -1
  658. package/app/.next-cli-build/static/chunks/app/api/agent-library/route-53acebeeeaf77697.js +0 -1
  659. package/app/.next-cli-build/static/chunks/app/api/agent-library/skills/route-53acebeeeaf77697.js +0 -1
  660. package/app/.next-cli-build/static/chunks/app/api/agent-library/sync/route-53acebeeeaf77697.js +0 -1
  661. package/app/.next-cli-build/static/chunks/app/api/agent-library/updates/route-53acebeeeaf77697.js +0 -1
  662. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-53acebeeeaf77697.js +0 -1
  663. package/app/.next-cli-build/static/chunks/app/api/cli-tools/aider-settings/route-53acebeeeaf77697.js +0 -1
  664. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-53acebeeeaf77697.js +0 -1
  665. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-53acebeeeaf77697.js +0 -1
  666. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-53acebeeeaf77697.js +0 -1
  667. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-53acebeeeaf77697.js +0 -1
  668. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-53acebeeeaf77697.js +0 -1
  669. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-53acebeeeaf77697.js +0 -1
  670. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-53acebeeeaf77697.js +0 -1
  671. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-53acebeeeaf77697.js +0 -1
  672. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-53acebeeeaf77697.js +0 -1
  673. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-53acebeeeaf77697.js +0 -1
  674. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-53acebeeeaf77697.js +0 -1
  675. package/app/.next-cli-build/static/chunks/app/api/cli-tools/gemini-cli-settings/route-53acebeeeaf77697.js +0 -1
  676. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-settings/route-53acebeeeaf77697.js +0 -1
  677. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-53acebeeeaf77697.js +0 -1
  678. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-53acebeeeaf77697.js +0 -1
  679. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-53acebeeeaf77697.js +0 -1
  680. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-53acebeeeaf77697.js +0 -1
  681. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-53acebeeeaf77697.js +0 -1
  682. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-53acebeeeaf77697.js +0 -1
  683. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-53acebeeeaf77697.js +0 -1
  684. package/app/.next-cli-build/static/chunks/app/api/combos/route-53acebeeeaf77697.js +0 -1
  685. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-53acebeeeaf77697.js +0 -1
  686. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-53acebeeeaf77697.js +0 -1
  687. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-53acebeeeaf77697.js +0 -1
  688. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-53acebeeeaf77697.js +0 -1
  689. package/app/.next-cli-build/static/chunks/app/api/health/route-53acebeeeaf77697.js +0 -1
  690. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-53acebeeeaf77697.js +0 -1
  691. package/app/.next-cli-build/static/chunks/app/api/keys/route-53acebeeeaf77697.js +0 -1
  692. package/app/.next-cli-build/static/chunks/app/api/locale/route-53acebeeeaf77697.js +0 -1
  693. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-53acebeeeaf77697.js +0 -1
  694. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-53acebeeeaf77697.js +0 -1
  695. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-53acebeeeaf77697.js +0 -1
  696. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-53acebeeeaf77697.js +0 -1
  697. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-53acebeeeaf77697.js +0 -1
  698. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-53acebeeeaf77697.js +0 -1
  699. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-53acebeeeaf77697.js +0 -1
  700. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/route-53acebeeeaf77697.js +0 -1
  701. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/[id]/strategy/route-53acebeeeaf77697.js +0 -1
  702. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/combos/route-53acebeeeaf77697.js +0 -1
  703. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/health/route-53acebeeeaf77697.js +0 -1
  704. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/providers/route-53acebeeeaf77697.js +0 -1
  705. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/routing/route-53acebeeeaf77697.js +0 -1
  706. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/usage/route-53acebeeeaf77697.js +0 -1
  707. package/app/.next-cli-build/static/chunks/app/api/mgmt/v1/version/route-53acebeeeaf77697.js +0 -1
  708. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-53acebeeeaf77697.js +0 -1
  709. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-53acebeeeaf77697.js +0 -1
  710. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-53acebeeeaf77697.js +0 -1
  711. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-53acebeeeaf77697.js +0 -1
  712. package/app/.next-cli-build/static/chunks/app/api/models/route-53acebeeeaf77697.js +0 -1
  713. package/app/.next-cli-build/static/chunks/app/api/models/test/route-53acebeeeaf77697.js +0 -1
  714. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-53acebeeeaf77697.js +0 -1
  715. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-53acebeeeaf77697.js +0 -1
  716. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-53acebeeeaf77697.js +0 -1
  717. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-53acebeeeaf77697.js +0 -1
  718. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-53acebeeeaf77697.js +0 -1
  719. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-53acebeeeaf77697.js +0 -1
  720. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-53acebeeeaf77697.js +0 -1
  721. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-53acebeeeaf77697.js +0 -1
  722. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-53acebeeeaf77697.js +0 -1
  723. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-53acebeeeaf77697.js +0 -1
  724. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-53acebeeeaf77697.js +0 -1
  725. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-53acebeeeaf77697.js +0 -1
  726. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-53acebeeeaf77697.js +0 -1
  727. package/app/.next-cli-build/static/chunks/app/api/pricing/route-53acebeeeaf77697.js +0 -1
  728. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-53acebeeeaf77697.js +0 -1
  729. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-53acebeeeaf77697.js +0 -1
  730. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-53acebeeeaf77697.js +0 -1
  731. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/batch/route-53acebeeeaf77697.js +0 -1
  732. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/cache/route-53acebeeeaf77697.js +0 -1
  733. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/prepare/route-53acebeeeaf77697.js +0 -1
  734. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/remove-unavailable/route-53acebeeeaf77697.js +0 -1
  735. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/route-53acebeeeaf77697.js +0 -1
  736. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/cancel/route-53acebeeeaf77697.js +0 -1
  737. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/start/route-53acebeeeaf77697.js +0 -1
  738. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/model-probes/verify/status/route-53acebeeeaf77697.js +0 -1
  739. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-53acebeeeaf77697.js +0 -1
  740. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-53acebeeeaf77697.js +0 -1
  741. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-53acebeeeaf77697.js +0 -1
  742. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-53acebeeeaf77697.js +0 -1
  743. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-53acebeeeaf77697.js +0 -1
  744. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-53acebeeeaf77697.js +0 -1
  745. package/app/.next-cli-build/static/chunks/app/api/providers/route-53acebeeeaf77697.js +0 -1
  746. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-53acebeeeaf77697.js +0 -1
  747. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-53acebeeeaf77697.js +0 -1
  748. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-53acebeeeaf77697.js +0 -1
  749. package/app/.next-cli-build/static/chunks/app/api/routing/feedback/route-53acebeeeaf77697.js +0 -1
  750. package/app/.next-cli-build/static/chunks/app/api/routing/insights/route-53acebeeeaf77697.js +0 -1
  751. package/app/.next-cli-build/static/chunks/app/api/routing/learn/route-53acebeeeaf77697.js +0 -1
  752. package/app/.next-cli-build/static/chunks/app/api/routing/stats/route-53acebeeeaf77697.js +0 -1
  753. package/app/.next-cli-build/static/chunks/app/api/routing/versions/promote/route-53acebeeeaf77697.js +0 -1
  754. package/app/.next-cli-build/static/chunks/app/api/routing/versions/rollback/route-53acebeeeaf77697.js +0 -1
  755. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-53acebeeeaf77697.js +0 -1
  756. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-53acebeeeaf77697.js +0 -1
  757. package/app/.next-cli-build/static/chunks/app/api/settings/route-53acebeeeaf77697.js +0 -1
  758. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-53acebeeeaf77697.js +0 -1
  759. package/app/.next-cli-build/static/chunks/app/api/skills/[id]/route-53acebeeeaf77697.js +0 -1
  760. package/app/.next-cli-build/static/chunks/app/api/tags/route-53acebeeeaf77697.js +0 -1
  761. package/app/.next-cli-build/static/chunks/app/api/token-saver/vault-stats/route-53acebeeeaf77697.js +0 -1
  762. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-53acebeeeaf77697.js +0 -1
  763. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-53acebeeeaf77697.js +0 -1
  764. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-53acebeeeaf77697.js +0 -1
  765. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-53acebeeeaf77697.js +0 -1
  766. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-53acebeeeaf77697.js +0 -1
  767. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-53acebeeeaf77697.js +0 -1
  768. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-53acebeeeaf77697.js +0 -1
  769. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-53acebeeeaf77697.js +0 -1
  770. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-53acebeeeaf77697.js +0 -1
  771. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-53acebeeeaf77697.js +0 -1
  772. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-53acebeeeaf77697.js +0 -1
  773. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-53acebeeeaf77697.js +0 -1
  774. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-53acebeeeaf77697.js +0 -1
  775. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-53acebeeeaf77697.js +0 -1
  776. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-53acebeeeaf77697.js +0 -1
  777. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-53acebeeeaf77697.js +0 -1
  778. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-53acebeeeaf77697.js +0 -1
  779. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-53acebeeeaf77697.js +0 -1
  780. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-53acebeeeaf77697.js +0 -1
  781. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-53acebeeeaf77697.js +0 -1
  782. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-53acebeeeaf77697.js +0 -1
  783. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-53acebeeeaf77697.js +0 -1
  784. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-53acebeeeaf77697.js +0 -1
  785. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-53acebeeeaf77697.js +0 -1
  786. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-53acebeeeaf77697.js +0 -1
  787. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-53acebeeeaf77697.js +0 -1
  788. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-53acebeeeaf77697.js +0 -1
  789. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-53acebeeeaf77697.js +0 -1
  790. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-53acebeeeaf77697.js +0 -1
  791. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-53acebeeeaf77697.js +0 -1
  792. package/app/.next-cli-build/static/chunks/app/api/v1/route-53acebeeeaf77697.js +0 -1
  793. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-53acebeeeaf77697.js +0 -1
  794. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-53acebeeeaf77697.js +0 -1
  795. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-53acebeeeaf77697.js +0 -1
  796. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-53acebeeeaf77697.js +0 -1
  797. package/app/.next-cli-build/static/chunks/app/api/version/route-53acebeeeaf77697.js +0 -1
  798. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-53acebeeeaf77697.js +0 -1
  799. package/app/.next-cli-build/static/chunks/app/api/version/update/route-53acebeeeaf77697.js +0 -1
  800. package/app/.next-cli-build/static/chunks/app/login/page-53acebeeeaf77697.js +0 -1
  801. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-53acebeeeaf77697.js +0 -1
  802. package/app/.next-cli-build/static/chunks/app/page-53acebeeeaf77697.js +0 -1
  803. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-53acebeeeaf77697.js +0 -1
  804. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-53acebeeeaf77697.js +0 -1
  805. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-53acebeeeaf77697.js +0 -1
  806. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-53acebeeeaf77697.js +0 -1
  807. package/app/.next-cli-build/static/css/d8a6e361b97914f9.css +0 -1
  808. /package/app/.next-cli-build/static/{U_PuL5EYuLNHl2YOb_uZL → O7tk63SVbhMmVH3A8sNna}/_ssgManifest.js +0 -0
@@ -1,8 +1,8 @@
1
- "use strict";exports.id=9489,exports.ids=[9489],exports.modules={3894:(a,b,c)=>{c.d(b,{Qh:()=>p,ag:()=>l,kI:()=>m,sy:()=>o});var d=c(79646),e=c(33873),f=c.n(e);let g="win32"===process.platform,h=g?"where":"which",i=[...g?[`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python313\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python312\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python311\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python310\\Scripts`,`${process.env.APPDATA||""}\\Python\\Python313\\Scripts`]:["/usr/local/bin","/opt/homebrew/bin","/Library/Frameworks/Python.framework/Versions/3.13/bin","/Library/Frameworks/Python.framework/Versions/3.12/bin","/Library/Frameworks/Python.framework/Versions/3.11/bin","/Library/Frameworks/Python.framework/Versions/3.10/bin",`${process.env.HOME||""}/.local/bin`,"/usr/bin","/bin"],process.env.PATH||""].filter(Boolean).join(f().delimiter),j=["python3.13","python3.12","python3.11","python3.10","python3","python"],k=new Set(["localhost","127.0.0.1","::1","[::1]","0.0.0.0"]),l=process.env.HEADROOM_URL||"http://localhost:8787";function m(){try{let a=(0,d.execSync)(`${h} headroom`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:i}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}async function n(a){if(!a)return!1;let b=String(a).replace(/\/$/,"");try{return(await fetch(`${b}/health`,{signal:AbortSignal.timeout(1500)})).ok}catch{return!1}}function o(a){try{let b=new URL(a);return k.has(b.hostname)}catch{return!1}}async function p(a){let b=m(),c=function(){for(let a of j)try{let b=(0,d.execSync)(`${a} --version`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:i}}).toString().trim().match(/(\d+)\.(\d+)/);if(!b)continue;let[c,e]=[parseInt(b[1],10),parseInt(b[2],10)];if(c>3||3===c&&e>=10)return a}catch{}return null}(),e=!!b,f=await n(a),g=o(a);return{installed:e,path:b,running:f,python:c,localUrl:g,canStart:e&&g}}},14551:(a,b,c)=>{c.d(b,{w:()=>g});var d=c(43904),e=c(38775),f=c(60290);let g=function({findComboModels:a=e.getComboModels,findCapabilities:b=d.nl}={}){return async function c(d,e=0){if(e>f.wg)return{};let g=await a(d);if(!g){let[a,...c]=d.split("/"),e=c.join("/")||a;return b(a,e)||{}}let h={vision:!1,pdf:!1,tools:!1};for(let a of g){let b=await c(a,e+1);h.vision||=!!b.vision,h.pdf||=!!b.pdf,h.tools||=!1!==b.tools}return h}}()},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>L});var e=c(30369);c(40863);var f=c(80238),g=c(14524),h=c(44776),i=c(5781),j=c(38775),k=c(36362),l=c(3894),m=c(89865),n=c(3072),o=c(61522),p=c(1996),q=c(2735),r=c(60290),s=c(19956),t=c(86187),u=c(23928),v=c(7803),w=c(81294),x=c(14551),y=c(67828),z=c(15186),A=c(97004),B=c(41460),C=c(2142),D=c(19978),E=a([e,k]);async function F(a,b={}){let c=b?.activeLearningVersionId;return c?(0,D.PO)(`learning:id:${c}`,()=>(0,C.dN)(c)):(0,D.PO)((0,D.C5)(a),()=>(0,C.p3)(a))}async function G(a,b=14){let c=Math.min(90,Math.max(1,Number(b)||14));return(0,D.PO)((0,D.Hr)(a,c),()=>(0,C.GU)(a,c))}async function H(a){try{let b=await (0,D.PO)(`provlat:${a}`,()=>(0,C.OQ)(a),15e3);return b&&"object"==typeof b?b:{}}catch{return{}}}async function I(){try{let a=await (0,h.BY)("7d"),b={};for(let[c,d]of Object.entries(a?.byProvider||{}))b[c]=Number.isFinite(d?.requests)?d.requests:0;return b}catch{return{}}}async function J(){try{let a=await (0,i.getProviderQuotaHeadroom)();return a&&"object"==typeof a?a:{}}catch{return{}}}async function K(a){let[b,c]=await Promise.all([H(14),I()]),d="quota-first"===a.providerStrategy?await J():{};return{providerStrategy:a.providerStrategy,providerOrder:Array.isArray(a.providerOrder)?a.providerOrder:[],providerLatencyMs:b,providerUsage:c,providerQuota:d,providerLatencyGuardMs:a.providerLatencyGuardMs}}async function L(a,b=null){let c;try{c=await a.json()}catch{return v.warn("CHAT","Invalid JSON body"),(0,m.yj)(r.gx.BAD_REQUEST,"Invalid JSON body")}if(!c||"object"!=typeof c||Array.isArray(c))return v.warn("CHAT","Invalid JSON body shape"),(0,m.yj)(r.gx.BAD_REQUEST,"Invalid JSON body");b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())}),(0,g.n)(b.headers);let d=new URL(a.url),e=c.model,i=c.messages?.length||c.input?.length||0,k=c.tools?.length||0,l=c.reasoning_effort||c.reasoning?.effort||null;v.request("POST",`${d.pathname} | ${e} | ${i} msgs${k?` | ${k} tools`:""}${l?` | effort=${l}`:""}`);let p=a.headers.get("Authorization"),y=(0,f.Tr)(a);if(p&&y){let a=v.maskKey(y);v.debug("AUTH",`API Key: ${a}`)}else v.debug("AUTH","No API key provided (local mode)");let z=await (0,h.mt)(),E=await (0,A.G)(z,y,{isValidApiKey:f.kI,log:v,errorResponse:m.yj,HTTP_STATUS:r.gx,request:a,hasValidCliToken:B.gN});if(E)return E;if(!e)return v.warn("CHAT","Missing model"),(0,m.yj)(r.gx.BAD_REQUEST,"Missing model");let N=a?.headers?.get("user-agent")||"",O=a?.headers?.get("x-connection-id")||null,P=a?.headers?.get("x-switchboard-strict-connection")==="1",Q=(0,q.c)(c,e,N,!!z.ccFilterNaming);if(Q)return Q.response||Q;try{let b=!!Array.isArray(c.messages)&&!!c.messages.length&&(0,u.Gz)(c.messages);if(((0,u.sN)()||b)&&Array.isArray(c.messages)&&c.messages.length){let d=(0,s.t)(new URL(a.url).pathname,c),f=(0,u.EN)(y),g=(0,u.Mc)(c.messages),h=(0,u.sO)(g.firstUserText,f),i="openai"===d?(0,u.A4)(f,h):null;if(i){let a=g.priorAssistantHasAsk?(0,u.T6)(g.latestUserText):null;if(null!=a){let b=(0,u.of)(a);try{await (0,C.ii)(i.requestId,b),await (0,w.f)(i.requestId,b)}catch{}return(0,u.LH)(f,h),(0,u.g2)(f),v.info?.("FEEDBACK",`captured rating ${b} for ${i.requestId}`),function(a,b){let c=Date.now(),d=`chatcmpl-fb-${c}`,e=Math.floor(c/1e3);if(!a)return new Response(JSON.stringify({id:d,object:"chat.completion",created:e,model:b,choices:[{index:0,message:{role:"assistant",content:"Thanks — noted."},finish_reason:"stop"}],usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0}}),{status:200,headers:{"Content-Type":"application/json"}});let f=new TextEncoder,g=a=>({id:d,object:"chat.completion.chunk",created:e,model:b,choices:a}),h=new ReadableStream({start(a){a.enqueue(f.encode(`data: ${JSON.stringify(g([{index:0,delta:{role:"assistant"},finish_reason:null}]))}
1
+ "use strict";exports.id=9489,exports.ids=[9489],exports.modules={3894:(a,b,c)=>{c.d(b,{Qh:()=>p,ag:()=>l,kI:()=>m,sy:()=>o});var d=c(79646),e=c(33873),f=c.n(e);let g="win32"===process.platform,h=g?"where":"which",i=[...g?[`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python313\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python312\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python311\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python310\\Scripts`,`${process.env.APPDATA||""}\\Python\\Python313\\Scripts`]:["/usr/local/bin","/opt/homebrew/bin","/Library/Frameworks/Python.framework/Versions/3.13/bin","/Library/Frameworks/Python.framework/Versions/3.12/bin","/Library/Frameworks/Python.framework/Versions/3.11/bin","/Library/Frameworks/Python.framework/Versions/3.10/bin",`${process.env.HOME||""}/.local/bin`,"/usr/bin","/bin"],process.env.PATH||""].filter(Boolean).join(f().delimiter),j=["python3.13","python3.12","python3.11","python3.10","python3","python"],k=new Set(["localhost","127.0.0.1","::1","[::1]","0.0.0.0"]),l=process.env.HEADROOM_URL||"http://localhost:8787";function m(){try{let a=(0,d.execSync)(`${h} headroom`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:i}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}async function n(a){if(!a)return!1;let b=String(a).replace(/\/$/,"");try{return(await fetch(`${b}/health`,{signal:AbortSignal.timeout(1500)})).ok}catch{return!1}}function o(a){try{let b=new URL(a);return k.has(b.hostname)}catch{return!1}}async function p(a){let b=m(),c=function(){for(let a of j)try{let b=(0,d.execSync)(`${a} --version`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:i}}).toString().trim().match(/(\d+)\.(\d+)/);if(!b)continue;let[c,e]=[parseInt(b[1],10),parseInt(b[2],10)];if(c>3||3===c&&e>=10)return a}catch{}return null}(),e=!!b,f=await n(a),g=o(a);return{installed:e,path:b,running:f,python:c,localUrl:g,canStart:e&&g}}},14551:(a,b,c)=>{c.d(b,{w:()=>g});var d=c(43904),e=c(38775),f=c(60290);let g=function({findComboModels:a=e.getComboModels,findCapabilities:b=d.nl}={}){return async function c(d,e=0){if(e>f.wg)return{};let g=await a(d);if(!g){let[a,...c]=d.split("/"),e=c.join("/")||a;return b(a,e)||{}}let h={vision:!1,pdf:!1,tools:!1};for(let a of g){let b=await c(a,e+1);h.vision||=!!b.vision,h.pdf||=!!b.pdf,h.tools||=!1!==b.tools}return h}}()},39326:(a,b,c)=>{function d(a){return null==a?"":String(a).trim()}async function e(a={}){try{let b=function(a={}){let b=a?.connectionProxyEnabled===!0,c=d(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:d(a?.connectionNoProxy)}}(a);if(b.connectionProxyEnabled&&b.connectionProxyUrl)return{source:"legacy",proxyPoolId:null,proxyPool:null,...b,strictProxy:!1,vercelRelayUrl:""};return{source:"none",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:b.connectionNoProxy||"",strictProxy:!1,vercelRelayUrl:""}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1,vercelRelayUrl:""}}}c.d(b,{B:()=>e})},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>M});var e=c(30369);c(40863);var f=c(80238),g=c(14524),h=c(44776),i=c(5781),j=c(38775),k=c(36362),l=c(3894),m=c(89865),n=c(3072),o=c(61522),p=c(1996),q=c(2735),r=c(60290),s=c(19956),t=c(86187),u=c(23928),v=c(7803),w=c(81294),x=c(14551),y=c(67828),z=c(15186),A=c(97004),B=c(41460),C=c(91686),D=c(2142),E=c(19978),F=a([e,k]);async function G(a,b={}){let c=b?.activeLearningVersionId;return c?(0,E.PO)(`learning:id:${c}`,()=>(0,D.dN)(c)):(0,E.PO)((0,E.C5)(a),()=>(0,D.p3)(a))}async function H(a,b=14){let c=Math.min(90,Math.max(1,Number(b)||14));return(0,E.PO)((0,E.Hr)(a,c),()=>(0,D.GU)(a,c))}async function I(a){try{let b=await (0,E.PO)(`provlat:${a}`,()=>(0,D.OQ)(a),15e3);return b&&"object"==typeof b?b:{}}catch{return{}}}async function J(){try{let a=await (0,h.BY)("7d"),b={};for(let[c,d]of Object.entries(a?.byProvider||{}))b[c]=Number.isFinite(d?.requests)?d.requests:0;return b}catch{return{}}}async function K(){try{let a=await (0,i.getProviderQuotaHeadroom)();return a&&"object"==typeof a?a:{}}catch{return{}}}async function L(a){let[b,c]=await Promise.all([I(14),J()]),d="quota-first"===a.providerStrategy?await K():{};return{providerStrategy:a.providerStrategy,providerOrder:Array.isArray(a.providerOrder)?a.providerOrder:[],providerLatencyMs:b,providerUsage:c,providerQuota:d,providerLatencyGuardMs:a.providerLatencyGuardMs}}async function M(a,b=null){let c;try{c=await a.json()}catch{return v.warn("CHAT","Invalid JSON body"),(0,m.yj)(r.gx.BAD_REQUEST,"Invalid JSON body")}if(!c||"object"!=typeof c||Array.isArray(c))return v.warn("CHAT","Invalid JSON body shape"),(0,m.yj)(r.gx.BAD_REQUEST,"Invalid JSON body");b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())}),(0,g.nK)(b.headers);let d=new URL(a.url),e=c.model,i=c.messages?.length||c.input?.length||0,k=c.tools?.length||0,l=c.reasoning_effort||c.reasoning?.effort||null;v.request("POST",`${d.pathname} | ${e} | ${i} msgs${k?` | ${k} tools`:""}${l?` | effort=${l}`:""}`);let p=a.headers.get("Authorization"),y=(0,f.Tr)(a);if(p&&y){let a=v.maskKey(y);v.debug("AUTH",`API Key: ${a}`)}else v.debug("AUTH","No API key provided (local mode)");let z=await (0,h.mt)(),C=await (0,A.G)(z,y,{isValidApiKey:f.kI,log:v,errorResponse:m.yj,HTTP_STATUS:r.gx,request:a,hasValidCliToken:B.gN});if(C)return C;if(!e)return v.warn("CHAT","Missing model"),(0,m.yj)(r.gx.BAD_REQUEST,"Missing model");let F=a?.headers?.get("user-agent")||"",O=a?.headers?.get("x-connection-id")||null,P=a?.headers?.get("x-switchboard-strict-connection")==="1",Q=(0,q.c)(c,e,F,!!z.ccFilterNaming);if(Q)return Q.response||Q;try{let b=!!Array.isArray(c.messages)&&!!c.messages.length&&(0,u.Gz)(c.messages);if(((0,u.sN)()||b)&&Array.isArray(c.messages)&&c.messages.length){let d=(0,s.t)(new URL(a.url).pathname,c),f=(0,u.EN)(y),g=(0,u.Mc)(c.messages),h=(0,u.sO)(g.firstUserText,f),i="openai"===d?(0,u.A4)(f,h):null;if(i){let a=g.priorAssistantHasAsk?(0,u.T6)(g.latestUserText):null;if(null!=a){let b=(0,u.of)(a);try{await (0,D.ii)(i.requestId,b),await (0,w.f)(i.requestId,b)}catch{}return(0,u.LH)(f,h),(0,u.g2)(f),v.info?.("FEEDBACK",`captured rating ${b} for ${i.requestId}`),function(a,b){let c=Date.now(),d=`chatcmpl-fb-${c}`,e=Math.floor(c/1e3);if(!a)return new Response(JSON.stringify({id:d,object:"chat.completion",created:e,model:b,choices:[{index:0,message:{role:"assistant",content:"Thanks — noted."},finish_reason:"stop"}],usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0}}),{status:200,headers:{"Content-Type":"application/json"}});let f=new TextEncoder,g=a=>({id:d,object:"chat.completion.chunk",created:e,model:b,choices:a}),h=new ReadableStream({start(a){a.enqueue(f.encode(`data: ${JSON.stringify(g([{index:0,delta:{role:"assistant"},finish_reason:null}]))}
2
2
 
3
3
  `)),a.enqueue(f.encode(`data: ${JSON.stringify(g([{index:0,delta:{content:"Thanks — noted."},finish_reason:null}]))}
4
4
 
5
5
  `)),a.enqueue(f.encode(`data: ${JSON.stringify(g([{index:0,delta:{},finish_reason:"stop"}]))}
6
6
 
7
- `)),a.enqueue(f.encode("data: [DONE]\n\n")),a.close()}});return new Response(h,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}(!!c.stream,e)}(0,u.lg)(f),(0,u.LH)(f,h)}b&&(c.messages=(0,u.Jl)(c.messages))}}catch(a){v.warn?.("FEEDBACK",`capture/strip failed (ignored): ${a?.message||a}`)}let R=await (0,j.getComboModels)(e);if(R){let d=z.comboStrategies||{},f=d[e]?.fallbackStrategy||z.comboStrategy||"fallback";if("fusion"===f)return v.info("CHAT",`Combo "${e}" with ${R.length} models (strategy: fusion)`),(0,n.vt)({body:c,models:R,handleSingleModel:(c,d,e)=>{let f=!0===e?{isPanel:!0}:e||{},g=b;if(f.isPanel&&b){let{tools:a,tool_choice:c,...d}=b.body||{};g={...b,body:d}}return M(c,d,g,a,y,{...f,signal:f.signal||null})},log:v,comboName:e,judgeModel:d[e]?.judgeModel,tuning:d[e]?.fusionTuning,abortSignal:a?.signal||null,childComboDepth:1});if("auto"===f){let f=d[e]||{},g=!0===f.feedbackAsk,h=null;if(g)try{let b=(0,s.t)(new URL(a.url).pathname,c),d=(0,u.Mc)(c.messages),e=(0,u.EN)(y);h={apiKeyHash:e,conversationFp:(0,u.sO)(d.firstUserText,e),openAiWire:"openai"===b,gateOk:!(c.tools&&c.tools.length||c.functions&&c.functions.length)&&Number(d.userTurns)>=2,feedbackAsk:!0}}catch{h=null}let i=f.routerModel;if(i&&await (0,j.getComboModels)(i))return v.warn("CHAT",`Auto routerModel is a combo (${i}) — rejected`),(0,m.yj)(r.gx.BAD_REQUEST,`routerModel cannot be a combo ("${i}"). Use a single provider/model.`);let k=[];for(let a of R)a!==i&&k.push(a);let l={};for(let a of k)try{l[a]=await (0,x.w)(a)}catch{l[a]={}}return v.info("CHAT",`Combo "${e}" with ${k.length} workers (strategy: auto)`),(0,o.EA)({body:c,models:[...k,...R.includes(i)?[i]:[]],handleSingleModel:(c,d,e)=>M(c,d,b,a,y,{...e||{},comboDepth:0}),log:v,comboName:e,strategy:f,loadLearning:F,loadStats:G,loadGlobalStats:a=>(0,D.PO)(`gstats:${a}`,()=>(0,C.cX)(a),15e3),loadClusterP50:(a,b,c)=>(0,D.PO)(`p50:${a}:${b}:${c}`,()=>(0,C._6)(a,b,c)),loadProviderLatency:H,loadProviderUsage:I,loadProviderQuota:J,recordEvent:a=>(0,C.ex)(a),applyJudgeScore:(a,b)=>(0,C.Vp)(a,b),autoDepth:0,clientAbortSignal:a?.signal||null,feedbackCtx:h,workerCaps:l})}let g=z.comboStickyRoundRobinLimit,h=d[e]||{},i=!1!==h.capacityAutoSwitch,k=h.providerStrategy&&"off"!==h.providerStrategy?await K(h):null;return v.info("CHAT",`Combo "${e}" with ${R.length} models (strategy: ${f}, sticky: ${g}, capacitySwitch: ${i})`),(0,n.Pr)({body:c,models:R,handleSingleModel:(c,d,e)=>M(c,d,b,a,y,e),log:v,comboName:e,comboStrategy:f,comboStickyLimit:g,autoSwitch:i,...k||{},abortSignal:a?.signal||null,childComboDepth:1})}let S=null;try{S=(0,s.t)(new URL(a.url).pathname,c)}catch{}if(!(z.tokenSaver?.vault&&Array.isArray(c.tools)&&c.tools.length>0&&("openai"===S||"claude"===S)))return M(c,e,b,a,y,{signal:a?.signal||null,preferredConnectionId:O,strictPreferredConnection:P});try{let d=(0,u.Bk)(c.messages,(0,u.EN)(y));if(!d)return M(c,e,b,a,y,{signal:a?.signal||null,preferredConnectionId:O,strictPreferredConnection:P});await (0,t.Xy)(c,{conversationId:d}),(0,t.Ag)(c,S);let f=Number(z.tokenSaver?.vaultSearchLimit??5);return await (0,t.SS)({dispatch:(c,f)=>M(c,e,b,a,y,{signal:a?.signal||null,preferredConnectionId:O,strictPreferredConnection:P,vaultInternal:!!f?.vaultInternal,vaultStore:!0,vaultConversationId:d}),body:c,wire:S,conversationId:d,searchLimit:f,log:v})}catch{return M(c,e,b,a,y,{signal:a?.signal||null,preferredConnectionId:O,strictPreferredConnection:P})}}async function M(a,b,c=null,d=null,e=null,g=null){let i=await (0,j.mA)(b),p=g?.autoDepth||0,q=g?.comboDepth||0;if(!i.provider){let f=await (0,j.getComboModels)(b);if(f){let i=await (0,h.mt)(),k=i.comboStrategies||{},l=k[b]?.fallbackStrategy||i.comboStrategy||"fallback";if("auto"!==l&&q>=r.wg)return v.warn("CHAT",`Combo nesting limit at "${b}" (depth ${q})`),(0,m.yj)(r.gx.BAD_REQUEST,`Combo nesting too deep (>${r.wg}) at "${b}"`);if("fusion"===l)return v.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: fusion)`),(0,n.vt)({body:a,models:f,handleSingleModel:(a,b,f)=>{let h=!0===f?{isPanel:!0}:f||{},i=c;if(h.isPanel&&c){let{tools:a,tool_choice:b,...d}=c.body||{};i={...c,body:d}}return M(a,b,i,d,e,{...g||{},...h,signal:h.signal||g?.signal||null})},log:v,comboName:b,judgeModel:k[b]?.judgeModel,tuning:k[b]?.fusionTuning,abortSignal:d?.signal||g?.signal||null,childComboDepth:q+1});if("auto"===l){if(p>=2)return v.warn("CHAT",`Auto combo recursion limit at "${b}" (depth ${p})`),(0,m.yj)(r.gx.BAD_REQUEST,`Auto combo recursion limit — "${b}" cannot nest further`);let g=k[b]||{},h=!0===g.feedbackAsk,i=null;if(h)try{let b=(0,s.t)(new URL(d.url).pathname,a),c=(0,u.Mc)(a.messages),f=(0,u.EN)(e);i={apiKeyHash:f,conversationFp:(0,u.sO)(c.firstUserText,f),openAiWire:"openai"===b,gateOk:!(a.tools&&a.tools.length||a.functions&&a.functions.length)&&Number(c.userTurns)>=2,feedbackAsk:!0}}catch{i=null}let l=g.routerModel;if(l&&await (0,j.getComboModels)(l))return(0,m.yj)(r.gx.BAD_REQUEST,`routerModel cannot be a combo ("${l}")`);let n=[];for(let a of f)a!==l&&n.push(a);let t={};for(let a of n)try{t[a]=await (0,x.w)(a)}catch{t[a]={}}return v.info("CHAT",`Combo "${b}" with ${n.length} workers (strategy: auto, depth=${p})`),(0,o.EA)({body:a,models:[...n,...f.includes(l)?[l]:[]],handleSingleModel:(a,b,f)=>M(a,b,c,d,e,{...f||{},comboDepth:q}),log:v,comboName:b,strategy:g,loadLearning:F,loadStats:G,loadGlobalStats:a=>(0,D.PO)(`gstats:${a}`,()=>(0,C.cX)(a),15e3),loadClusterP50:(a,b,c)=>(0,D.PO)(`p50:${a}:${b}:${c}`,()=>(0,C._6)(a,b,c)),loadProviderLatency:H,loadProviderUsage:I,loadProviderQuota:J,recordEvent:a=>(0,C.ex)(a),applyJudgeScore:(a,b)=>(0,C.Vp)(a,b),autoDepth:p,clientAbortSignal:d?.signal||null,feedbackCtx:i,workerCaps:t})}let t=i.comboStickyRoundRobinLimit,w=k[b]||{},y=!1!==w.capacityAutoSwitch,z=w.providerStrategy&&"off"!==w.providerStrategy?await K(w):null;return v.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: ${l}, sticky: ${t}, capacitySwitch: ${y})`),(0,n.Pr)({body:a,models:f,handleSingleModel:(a,b,f)=>M(a,b,c,d,e,f),log:v,comboName:b,comboStrategy:l,comboStickyLimit:t,autoSwitch:y,...z||{},abortSignal:d?.signal||g?.signal||null,childComboDepth:q+1})}return v.warn("CHAT","Invalid model format",{model:b}),(0,m.yj)(r.gx.BAD_REQUEST,"Invalid model format")}let{provider:t,model:w}=i;b!==`${t}/${w}`?v.info("ROUTING",`${b} → ${t}/${w}`):v.info("ROUTING",`Provider: ${t}, Model: ${w}`);let A=d?.headers?.get("user-agent")||"",B=new Set,E=null,L=null;for(;;){let b=await (0,f.c1)(t,B,w,{preferredConnectionId:g?.preferredConnectionId||null,strictPreferredConnection:g?.strictPreferredConnection===!0});if(!b||b.allRateLimited){if(b?.allRateLimited){let a=E||b.lastError||"Unavailable",c=L||Number(b.lastErrorCode)||r.gx.SERVICE_UNAVAILABLE;return v.warn("CHAT",`[${t}/${w}] ${a} (${b.retryAfterHuman})`),(0,m.wO)(c,`[${t}/${w}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(0===B.size)return v.warn("AUTH",`No active credentials for provider: ${t}`),(0,m.yj)(r.gx.NOT_FOUND,`No active credentials for provider: ${t}`);return v.warn("CHAT","No more accounts available",{provider:t}),(0,m.yj)(L||r.gx.SERVICE_UNAVAILABLE,E||"All accounts unavailable")}v.info("AUTH",`\x1b[32mUsing ${t} account: ${b.connectionName}\x1b[0m`);let i=await (0,y.eU)(t,b);if(("antigravity"===t||"gemini-cli"===t)&&!i.projectId){let a=await (0,z.eG)(b.connectionId,i.accessToken);a&&(i.projectId=a,(0,y.vN)(b.connectionId,{projectId:a}).catch(()=>{}))}let j=await (0,h.mt)(),n=(j.providerThinking||{})[t]||null,o="function"==typeof structuredClone?structuredClone(a):JSON.parse(JSON.stringify(a)),p=g?.sourceFormatOverride||(d?.url?(0,s.t)(new URL(d.url).pathname,a):null),q=!!g?.bypassPromptFilters,u=await (0,k.w)({body:{...o,model:`${t}/${w}`},modelInfo:{provider:t,model:w},credentials:i,log:v,clientRawRequest:c,connectionId:b.connectionId,userAgent:A,apiKey:e,ccFilterNaming:!!j.ccFilterNaming,rtkEnabled:!q&&!!j.rtkEnabled,vaultEnabled:!q&&!!g?.vaultStore&&!!j.tokenSaver?.vault,vaultThresholdKB:j.tokenSaver?.vaultThresholdKB??8,vaultTtlHours:j.tokenSaver?.vaultTtlHours??24,vaultConversationId:g?.vaultConversationId??null,headroomEnabled:!q&&!!j.headroomEnabled,headroomUrl:j.headroomUrl||l.ag,headroomCompressUserMessages:!q&&!!j.headroomCompressUserMessages,cavemanEnabled:!q&&!!j.cavemanEnabled,cavemanLevel:j.cavemanLevel||"full",ponytailEnabled:!q&&!!j.ponytailEnabled,ponytailLevel:j.ponytailLevel||"full",providerThinking:n,sourceFormatOverride:p,bypassNativePassthrough:!!g?.bypassNativePassthrough,vaultInternal:!!g?.vaultInternal,abortSignal:g?.signal||null,onCredentialsRefreshed:async a=>{await (0,y.vN)(b.connectionId,{...a,existingProviderSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(b.connectionId,b,w)},onUpstreamEmptyExhausted:async(a,c)=>{await (0,f.vk)(b.connectionId,502,"string"==typeof a?a:a?.message||"empty stream",t,w,c)}});if(u.success)return u.response;let{shouldFallback:x}=await (0,f.vk)(b.connectionId,u.status,u.error,t,w,u.resetsAtMs);if(x){v.warn("AUTH",`Account ${b.connectionName} unavailable (${u.status}), trying fallback`),B.add(b.connectionId),E=u.error,L=u.status;continue}return u.response}}[e,k]=E.then?(await E)():E,(0,C.tu)(a=>{(0,p.aW)(a),a?((0,D.Y3)(`stats:${a}:`),(0,D.Y3)(`learning:${a}`),(0,o.a8)(a)):(0,D.Y3)()}),d()}catch(a){d(a)}})},86187:(a,b,c)=>{c.d(b,{Ag:()=>l,SS:()=>x,Xy:()=>w});var d=c(12197),e=c(54070),f=c(12407),g=c(66573);let h=new TextEncoder,i=/unknown tool|no tool named|tool not found|not a (valid|recognized) tool|is not available|error/i;function j(){return{type:"object",properties:{vault_id:{type:"string",description:"The vault id from the placeholder, e.g. vlt_abc123."},query:{type:"string",description:"What to look for in the stored content."}},required:["query"]}}function k(){return"Search the Switchboard conversation vault for the full content of a tool result that was externalized to save context. Provide the vault_id shown in the placeholder and a query describing what you need."}function l(a,b){try{if(!Array.isArray(a?.tools))return!1;for(let b=0;b<a.tools.length;b+=1){var c;if(c=a.tools[b],(c?.function?.name||c?.name||"")===d.mS)return!1}if("openai"===b)a.tools.push({type:"function",function:{name:d.mS,description:k(),parameters:j()}});else{if("claude"!==b)return!1;a.tools.push({name:d.mS,description:k(),input_schema:j()})}return!0}catch{return!1}}function m(a,b=!1){let c=new Headers(a);return c.delete("content-length"),b&&c.delete("content-encoding"),c}function n(a){try{let b=JSON.parse(a||"{}");return b&&"object"==typeof b?b:{}}catch{return{}}}function o(a,b){return"string"==typeof a&&a?{callId:a,query:b?.query,vaultId:b?.vault_id}:null}function p(a,b){if(!Array.isArray(a)||0===a.length||!b||a.some(a=>!a))return null;let c=a[0];return{kind:"call",callId:c.callId,query:c.query,vaultId:c.vaultId,calls:a,assistantRaw:b}}function q(a){let b=[],c=a.split(/\r?\n/);for(let a=0;a<c.length;a+=1){if(!c[a].startsWith("data:"))continue;let d=c[a].slice(5).trim();if(d&&"[DONE]"!==d)try{b.push(JSON.parse(d))}catch{}}return b}async function r(a){let b=null;try{let c=new Promise((a,c)=>{b=setTimeout(()=>c(Error("vault stream idle")),2e4)});return await Promise.race([a.read(),c])}finally{b&&clearTimeout(b)}}async function s(a){let b=a.clone().body?.getReader();if(!b)throw Error("missing stream body");let c=new TextDecoder,d="";try{for(;;){let a=await r(b);if(a.done)break;d+=c.decode(a.value,{stream:!0})}return d+c.decode()}catch(a){try{await b.cancel()}catch{}throw a}}async function t(a,b){try{var c,e;let f;if(!(a?.headers?.get("content-type")||"").toLowerCase().includes("text/event-stream")){let e=await a.clone().json();return c=new Response(JSON.stringify(e),{status:a.status,statusText:a.statusText,headers:m(a.headers)}),"openai"===b?function(a,b){if(Array.isArray(a?.choices)&&a.choices.length>1)return{kind:"none",replay:b};let c=a?.choices?.[0]?.message,e=Array.isArray(c?.tool_calls)?c.tool_calls:[],f=[],g=!1;for(let a=0;a<e.length;a+=1)e[a]?.function?.name===d.mS?f.push(o(e[a].id,n(e[a].function?.arguments))):g=!0;return 0===f.length?{kind:"none",replay:b}:g||"string"==typeof c?.content&&c.content.trim()?{kind:"mixed",replay:b}:p(f,c)||{kind:"none",replay:b}}(e,c):"claude"===b?function(a,b){let c=Array.isArray(a?.content)?a.content:[],e=[],f=!1,g=!1;for(let a=0;a<c.length;a+=1){let b=c[a];b?.type==="tool_use"&&(b.name===d.mS?e.push(o(b.id,b.input||{})):g=!0),b?.type==="text"&&"string"==typeof b.text&&b.text.trim()&&(f=!0)}return 0===e.length?{kind:"none",replay:b}:g||f?{kind:"mixed",replay:b}:p(e,c)||{kind:"none",replay:b}}(e,c):{kind:"none",replay:c}}let g=await s(a);return f=h.encode(g),e=new Response(new ReadableStream({start(a){a.enqueue(f),a.close()}}),{status:a.status,statusText:a.statusText,headers:m(a.headers,!0)}),"openai"===b?function(a,b){let c=new Map,e=!1,f=!1,g=q(a);for(let a=0;a<g.length;a+=1){let b=Array.isArray(g[a]?.choices)?g[a].choices:[];b.length>1&&(f=!0);let d=b[0];Number.isInteger(d?.index)&&d.index>0&&(f=!0);let h=d?.delta;if(!h)continue;"string"==typeof h.content&&h.content.trim()&&(e=!0);let i=Array.isArray(h.tool_calls)?h.tool_calls:[];for(let a=0;a<i.length;a+=1){let b=i[a],d=Number.isInteger(b?.index)?b.index:a,e=c.get(d)||{id:"",name:"",arguments:""};"string"==typeof b?.id&&(e.id=b.id),"string"==typeof b?.function?.name&&(e.name=b.function.name),"string"==typeof b?.function?.arguments&&(e.arguments+=b.function.arguments),c.set(d,e)}}let h=[...c.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a),i=[],j=[],k=!1;for(let a of h)a.name===d.mS?(i.push(o(a.id,n(a.arguments))),j.push({id:a.id,type:"function",function:{name:d.mS,arguments:a.arguments}})):k=!0;return 0===i.length?{kind:"none",replay:b}:f||k||e?{kind:"mixed",replay:b}:p(i,{role:"assistant",content:null,tool_calls:j})||{kind:"none",replay:b}}(g,e):"claude"===b?function(a,b){let c=new Map,e=!1,f=q(a);for(let a=0;a<f.length;a+=1){let b=f[a],d=Number.isInteger(b?.index)?b.index:0,g=b?.content_block;if(b?.type==="content_block_start"&&g?.type==="tool_use"&&c.set(d,{id:g.id||"",name:g.name||"",input:""}),b?.type==="content_block_start"&&g?.type==="text"&&"string"==typeof g.text&&g.text.trim()&&(e=!0),b?.delta?.type==="text_delta"&&"string"==typeof b.delta.text&&b.delta.text.trim()&&(e=!0),b?.delta?.type==="input_json_delta"){let a=c.get(d);a&&"string"==typeof b.delta.partial_json&&(a.input+=b.delta.partial_json)}}let g=[...c.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a),h=[],i=[],j=!1;for(let a of g)if(a.name===d.mS){let b=n(a.input);h.push(o(a.id,b)),i.push({type:"tool_use",id:a.id,name:d.mS,input:b})}else j=!0;return 0===h.length?{kind:"none",replay:b}:j||e?{kind:"mixed",replay:b}:p(h,i)||{kind:"none",replay:b}}(g,e):{kind:"none",replay:e}}catch{return{kind:"none",replay:a}}}function u(a){return h.encode(a).length}function v(a){try{if(!Array.isArray(a)||0===a.length)return"No matching content found in the vault for that query.";let b=[];for(let c=0;c<a.length;c+=1){let d=a[c]||{},e=d.toolName?` from ${d.toolName}`:"";b.push(`[chunk ${c+1}${e}]
8
- ${"string"==typeof d.text?d.text:""}`)}let c=b.join("\n\n");if(u(c)<=d.El)return c;let e="\n…[truncated]";return`${(0,g.ST)(c,d.El-u(e))}${e}`}catch{return"No matching content found in the vault for that query."}}async function w(a,{conversationId:b,limit:c=5}={}){try{let h=Array.isArray(a?.messages)?a.messages:null;if(!h||!b)return 0;let j=[];for(let a=0;a<h.length&&a<1e3;a+=1){let k=h[a],l=[...function(a){let b=[],c=Array.isArray(a?.tool_calls)?a.tool_calls:[];for(let a=0;a<c.length&&b.length<100;a+=1){let e=c[a];e?.function?.name===d.mS&&"string"==typeof e.id&&b.push({id:e.id,args:n(e.function.arguments)})}return b}(k),...function(a){let b=[],c=Array.isArray(a?.content)?a.content:[];for(let a=0;a<c.length&&b.length<100;a+=1){let e=c[a];e?.type==="tool_use"&&e.name===d.mS&&"string"==typeof e.id&&b.push({id:e.id,args:e.input||{}})}return b}(k)];for(let d=0;d<l.length;d+=1){var e,g;let k=l[d],m=function(a,b,c){for(let d=b;d<a.length&&d<1e3;d+=1){let b=a[d];if(b?.role==="tool"&&b.tool_call_id===c)return{target:b,content:b.content}}return null}(h,a+1,k.id)||function(a,b,c){for(let d=b;d<a.length&&d<1e3;d+=1){let b=Array.isArray(a[d]?.content)?a[d].content:[];for(let a=0;a<b.length;a+=1){let d=b[a];if(d?.type==="tool_result"&&d.tool_use_id===c)return{target:d,content:d.content}}}return null}(h,a+1,k.id);if(!m||(e=m.target,g=m.content,!(e?.is_error===!0||e?.status==="error"||i.test(function(a){try{if("string"==typeof a)return a;return JSON.stringify(a)||""}catch{return""}}(g)))))continue;let n=await (0,f.$s)({conversationId:b,query:k.args?.query,vaultId:k.args?.vault_id,limit:c});j.push({target:m.target,content:v(n)})}}for(let a=0;a<j.length;a+=1)j[a].target.content=j[a].content;return j.length}catch{return 0}}async function x({dispatch:a,body:b,wire:c,conversationId:d,searchLimit:g=5,log:h=null}){let i=null,j=null,k=b,l=0;try{for(let b=0;b<5;b+=1){let m=await a(k,{vaultInternal:b>0});i||(i=m);let n=await t(m,c);if(j||(j=n.replay||i),"call"!==n.kind)return l>0&&h?.info?.("VAULT",`served ${l} vault search(es)`),n.replay||m;let o=Array.isArray(n.calls)?n.calls:[],p=[];for(let a=0;a<o.length;a+=1){let b=await (0,f.$s)({conversationId:d,query:o[a].query,vaultId:o[a].vaultId,limit:g});p.push(v(b)),l+=1,(0,e.VS)()}k=function(a,b,c,d){let e=Array.isArray(c?.calls)?c.calls:[];if(!a||!Array.isArray(a.messages)||0===e.length||!c.assistantRaw)throw Error("invalid vault turn");let f=Array.isArray(d)?d:[],g=[...a.messages];if("openai"===b){g.push(c.assistantRaw);for(let a=0;a<e.length;a+=1)g.push({role:"tool",tool_call_id:e[a].callId,content:f[a]??""})}else if("claude"===b){let a=e.map((a,b)=>({type:"tool_result",tool_use_id:a.callId,content:f[b]??""}));g.push({role:"assistant",content:c.assistantRaw},{role:"user",content:a})}else throw Error("unsupported vault wire");return{...a,messages:g}}(k,c,n,p)}return await a(k,{vaultInternal:!1})}catch{if(j)return j;if(i)return i;try{return await a(b,{vaultInternal:!1})}catch{return new Response(null,{status:502})}}}}};
7
+ `)),a.enqueue(f.encode("data: [DONE]\n\n")),a.close()}});return new Response(h,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}(!!c.stream,e)}(0,u.lg)(f),(0,u.LH)(f,h)}b&&(c.messages=(0,u.Jl)(c.messages))}}catch(a){v.warn?.("FEEDBACK",`capture/strip failed (ignored): ${a?.message||a}`)}let R=await (0,j.getComboModels)(e);if(R){let d=z.comboStrategies||{},f=d[e]?.fallbackStrategy||z.comboStrategy||"fallback";if("fusion"===f)return v.info("CHAT",`Combo "${e}" with ${R.length} models (strategy: fusion)`),(0,n.vt)({body:c,models:R,handleSingleModel:(c,d,e)=>{let f=!0===e?{isPanel:!0}:e||{},g=b;if(f.isPanel&&b){let{tools:a,tool_choice:c,...d}=b.body||{};g={...b,body:d}}return N(c,d,g,a,y,{...f,signal:f.signal||null})},log:v,comboName:e,judgeModel:d[e]?.judgeModel,tuning:d[e]?.fusionTuning,abortSignal:a?.signal||null,childComboDepth:1});if("auto"===f){let f=d[e]||{},g=!0===f.feedbackAsk,h=null;if(g)try{let b=(0,s.t)(new URL(a.url).pathname,c),d=(0,u.Mc)(c.messages),e=(0,u.EN)(y);h={apiKeyHash:e,conversationFp:(0,u.sO)(d.firstUserText,e),openAiWire:"openai"===b,gateOk:!(c.tools&&c.tools.length||c.functions&&c.functions.length)&&Number(d.userTurns)>=2,feedbackAsk:!0}}catch{h=null}let i=f.routerModel;if(i&&await (0,j.getComboModels)(i))return v.warn("CHAT",`Auto routerModel is a combo (${i}) — rejected`),(0,m.yj)(r.gx.BAD_REQUEST,`routerModel cannot be a combo ("${i}"). Use a single provider/model.`);let k=[];for(let a of R)a!==i&&k.push(a);let l={};for(let a of k)try{l[a]=await (0,x.w)(a)}catch{l[a]={}}return v.info("CHAT",`Combo "${e}" with ${k.length} workers (strategy: auto)`),(0,o.EA)({body:c,models:[...k,...R.includes(i)?[i]:[]],handleSingleModel:(c,d,e)=>N(c,d,b,a,y,{...e||{},comboDepth:0}),log:v,comboName:e,strategy:f,loadLearning:G,loadStats:H,loadGlobalStats:a=>(0,E.PO)(`gstats:${a}`,()=>(0,D.cX)(a),15e3),loadClusterP50:(a,b,c)=>(0,E.PO)(`p50:${a}:${b}:${c}`,()=>(0,D._6)(a,b,c)),loadProviderLatency:I,loadProviderUsage:J,loadProviderQuota:K,recordEvent:a=>(0,D.ex)(a),applyJudgeScore:(a,b)=>(0,D.Vp)(a,b),autoDepth:0,clientAbortSignal:a?.signal||null,feedbackCtx:h,workerCaps:l})}let g=z.comboStickyRoundRobinLimit,h=d[e]||{},i=!1!==h.capacityAutoSwitch,k=h.providerStrategy&&"off"!==h.providerStrategy?await L(h):null;return v.info("CHAT",`Combo "${e}" with ${R.length} models (strategy: ${f}, sticky: ${g}, capacitySwitch: ${i})`),(0,n.Pr)({body:c,models:R,handleSingleModel:(c,d,e)=>N(c,d,b,a,y,e),log:v,comboName:e,comboStrategy:f,comboStickyLimit:g,autoSwitch:i,...k||{},abortSignal:a?.signal||null,childComboDepth:1})}let S=null;try{S=(0,s.t)(new URL(a.url).pathname,c)}catch{}if(!(z.tokenSaver?.vault&&Array.isArray(c.tools)&&c.tools.length>0&&("openai"===S||"claude"===S)))return N(c,e,b,a,y,{signal:a?.signal||null,preferredConnectionId:O,strictPreferredConnection:P,allowNativeClaudeOAuth:!0});try{let d=(0,u.Bk)(c.messages,(0,u.EN)(y));if(!d)return N(c,e,b,a,y,{signal:a?.signal||null,preferredConnectionId:O,strictPreferredConnection:P,allowNativeClaudeOAuth:!0});await (0,t.Xy)(c,{conversationId:d}),(0,t.Ag)(c,S);let f=Number(z.tokenSaver?.vaultSearchLimit??5);return await (0,t.SS)({dispatch:(c,f)=>N(c,e,b,a,y,{signal:a?.signal||null,preferredConnectionId:O,strictPreferredConnection:P,allowNativeClaudeOAuth:!0,vaultInternal:!!f?.vaultInternal,vaultStore:!0,vaultConversationId:d}),body:c,wire:S,conversationId:d,searchLimit:f,log:v})}catch{return N(c,e,b,a,y,{signal:a?.signal||null,preferredConnectionId:O,strictPreferredConnection:P,allowNativeClaudeOAuth:!0})}}async function N(a,b,c=null,d=null,e=null,g=null){let i=await (0,j.mA)(b),p=g?.autoDepth||0,q=g?.comboDepth||0;if(!i.provider){let f=await (0,j.getComboModels)(b);if(f){let i=await (0,h.mt)(),k=i.comboStrategies||{},l=k[b]?.fallbackStrategy||i.comboStrategy||"fallback";if("auto"!==l&&q>=r.wg)return v.warn("CHAT",`Combo nesting limit at "${b}" (depth ${q})`),(0,m.yj)(r.gx.BAD_REQUEST,`Combo nesting too deep (>${r.wg}) at "${b}"`);if("fusion"===l)return v.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: fusion)`),(0,n.vt)({body:a,models:f,handleSingleModel:(a,b,f)=>{let h=!0===f?{isPanel:!0}:f||{},i=c;if(h.isPanel&&c){let{tools:a,tool_choice:b,...d}=c.body||{};i={...c,body:d}}return N(a,b,i,d,e,{...g||{},...h,signal:h.signal||g?.signal||null})},log:v,comboName:b,judgeModel:k[b]?.judgeModel,tuning:k[b]?.fusionTuning,abortSignal:d?.signal||g?.signal||null,childComboDepth:q+1});if("auto"===l){if(p>=2)return v.warn("CHAT",`Auto combo recursion limit at "${b}" (depth ${p})`),(0,m.yj)(r.gx.BAD_REQUEST,`Auto combo recursion limit — "${b}" cannot nest further`);let g=k[b]||{},h=!0===g.feedbackAsk,i=null;if(h)try{let b=(0,s.t)(new URL(d.url).pathname,a),c=(0,u.Mc)(a.messages),f=(0,u.EN)(e);i={apiKeyHash:f,conversationFp:(0,u.sO)(c.firstUserText,f),openAiWire:"openai"===b,gateOk:!(a.tools&&a.tools.length||a.functions&&a.functions.length)&&Number(c.userTurns)>=2,feedbackAsk:!0}}catch{i=null}let l=g.routerModel;if(l&&await (0,j.getComboModels)(l))return(0,m.yj)(r.gx.BAD_REQUEST,`routerModel cannot be a combo ("${l}")`);let n=[];for(let a of f)a!==l&&n.push(a);let t={};for(let a of n)try{t[a]=await (0,x.w)(a)}catch{t[a]={}}return v.info("CHAT",`Combo "${b}" with ${n.length} workers (strategy: auto, depth=${p})`),(0,o.EA)({body:a,models:[...n,...f.includes(l)?[l]:[]],handleSingleModel:(a,b,f)=>N(a,b,c,d,e,{...f||{},comboDepth:q}),log:v,comboName:b,strategy:g,loadLearning:G,loadStats:H,loadGlobalStats:a=>(0,E.PO)(`gstats:${a}`,()=>(0,D.cX)(a),15e3),loadClusterP50:(a,b,c)=>(0,E.PO)(`p50:${a}:${b}:${c}`,()=>(0,D._6)(a,b,c)),loadProviderLatency:I,loadProviderUsage:J,loadProviderQuota:K,recordEvent:a=>(0,D.ex)(a),applyJudgeScore:(a,b)=>(0,D.Vp)(a,b),autoDepth:p,clientAbortSignal:d?.signal||null,feedbackCtx:i,workerCaps:t})}let t=i.comboStickyRoundRobinLimit,w=k[b]||{},y=!1!==w.capacityAutoSwitch,z=w.providerStrategy&&"off"!==w.providerStrategy?await L(w):null;return v.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: ${l}, sticky: ${t}, capacitySwitch: ${y})`),(0,n.Pr)({body:a,models:f,handleSingleModel:(a,b,f)=>N(a,b,c,d,e,f),log:v,comboName:b,comboStrategy:l,comboStickyLimit:t,autoSwitch:y,...z||{},abortSignal:d?.signal||g?.signal||null,childComboDepth:q+1})}return v.warn("CHAT","Invalid model format",{model:b}),(0,m.yj)(r.gx.BAD_REQUEST,"Invalid model format")}let{provider:t,model:w}=i;b!==`${t}/${w}`?v.info("ROUTING",`${b} → ${t}/${w}`):v.info("ROUTING",`Provider: ${t}, Model: ${w}`);let A=d?.headers?.get("user-agent")||"",B=new Set,F=null,M=null,O=(0,C.M)({request:d,provider:t,allowNativeOAuth:g?.allowNativeClaudeOAuth===!0});for(;;){let b=O||await (0,f.c1)(t,B,w,{preferredConnectionId:g?.preferredConnectionId||null,strictPreferredConnection:g?.strictPreferredConnection===!0});if(!b||b.allRateLimited){if(b?.allRateLimited){let a=F||b.lastError||"Unavailable",c=M||Number(b.lastErrorCode)||r.gx.SERVICE_UNAVAILABLE;return v.warn("CHAT",`[${t}/${w}] ${a} (${b.retryAfterHuman})`),(0,m.wO)(c,`[${t}/${w}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(0===B.size)return v.warn("AUTH",`No active credentials for provider: ${t}`),(0,m.yj)(r.gx.NOT_FOUND,`No active credentials for provider: ${t}`);return v.warn("CHAT","No more accounts available",{provider:t}),(0,m.yj)(M||r.gx.SERVICE_UNAVAILABLE,F||"All accounts unavailable")}v.info("AUTH",`\x1b[32mUsing ${t} account: ${b.connectionName}\x1b[0m`);let i=b.ephemeral?b:await (0,y.eU)(t,b);if(("antigravity"===t||"gemini-cli"===t)&&!i.projectId){let a=await (0,z.eG)(b.connectionId,i.accessToken);a&&(i.projectId=a,(0,y.vN)(b.connectionId,{projectId:a}).catch(()=>{}))}let j=await (0,h.mt)(),n=(j.providerThinking||{})[t]||null,o="function"==typeof structuredClone?structuredClone(a):JSON.parse(JSON.stringify(a)),p=g?.sourceFormatOverride||(d?.url?(0,s.t)(new URL(d.url).pathname,a):null),q=!!g?.bypassPromptFilters,u=await (0,k.w)({body:{...o,model:`${t}/${w}`},modelInfo:{provider:t,model:w},credentials:i,log:v,clientRawRequest:c,connectionId:b.connectionId,userAgent:A,apiKey:e,ccFilterNaming:!!j.ccFilterNaming,rtkEnabled:!q&&!!j.rtkEnabled,vaultEnabled:!q&&!!g?.vaultStore&&!!j.tokenSaver?.vault,vaultThresholdKB:j.tokenSaver?.vaultThresholdKB??8,vaultTtlHours:j.tokenSaver?.vaultTtlHours??24,vaultConversationId:g?.vaultConversationId??null,headroomEnabled:!q&&!!j.headroomEnabled,headroomUrl:j.headroomUrl||l.ag,headroomCompressUserMessages:!q&&!!j.headroomCompressUserMessages,cavemanEnabled:!q&&!!j.cavemanEnabled,cavemanLevel:j.cavemanLevel||"full",ponytailEnabled:!q&&!!j.ponytailEnabled,ponytailLevel:j.ponytailLevel||"full",providerThinking:n,sourceFormatOverride:p,bypassNativePassthrough:!!g?.bypassNativePassthrough,vaultInternal:!!g?.vaultInternal,abortSignal:g?.signal||null,onCredentialsRefreshed:async a=>{b.ephemeral||await (0,y.vN)(b.connectionId,{...a,existingProviderSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{b.ephemeral||await (0,f.Pt)(b.connectionId,b,w)},onUpstreamEmptyExhausted:async(a,c)=>{b.ephemeral||await (0,f.vk)(b.connectionId,502,"string"==typeof a?a:a?.message||"empty stream",t,w,c)}});if(u.success||b.ephemeral)return u.response;let{shouldFallback:x}=await (0,f.vk)(b.connectionId,u.status,u.error,t,w,u.resetsAtMs);if(x){v.warn("AUTH",`Account ${b.connectionName} unavailable (${u.status}), trying fallback`),B.add(b.connectionId),F=u.error,M=u.status;continue}return u.response}}[e,k]=F.then?(await F)():F,(0,D.tu)(a=>{(0,p.aW)(a),a?((0,E.Y3)(`stats:${a}:`),(0,E.Y3)(`learning:${a}`),(0,o.a8)(a)):(0,E.Y3)()}),d()}catch(a){d(a)}})},80238:(a,b,c)=>{c.d(b,{Pt:()=>n,Tr:()=>o,c1:()=>l,kI:()=>p,vk:()=>m});var d=c(44776),e=c(39326),f=c(49263),g=c(87252),h=c(40615),i=c(7803),j=c(1486);let k=new Map;async function l(a,b=null,c=null,g={}){var j;let m,n,o,p,q=b instanceof Set?b:b?new Set([b]):new Set,r=g?.preferredConnectionId||null,s=g?.strictPreferredConnection===!0,t=(0,h.rs)(a);return j=async()=>{let b;if(h.IS[t]?.noAuth){let a=((await (0,d.mt)()).providerStrategies||{})[t]||{},b=await (0,e.B)({proxyPoolId:a.proxyPoolId||""});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl,connectionNoProxy:b.connectionNoProxy,connectionProxyPoolId:b.proxyPoolId||null,vercelRelayUrl:b.vercelRelayUrl||""}}}let g=await (0,d.getProviderConnections)({provider:t,isActive:!0});if(i.debug("AUTH",`${a} | total connections: ${g.length}, excludeIds: ${q.size>0?[...q].join(","):"none"}, model: ${c||"any"}`),0===g.length)return i.warn("AUTH",`No credentials for ${a}`),null;let j=s&&r?g.filter(a=>a.id===r):g;if(0===j.length)return i.warn("AUTH",`${a} | requested connection is unavailable`),null;let k=j.filter(a=>!(q.has(a.id)||(0,f.Bl)(a,c)));if(i.debug("AUTH",`${a} | available: ${k.length}/${j.length}`),j.forEach(a=>{let b=q.has(a.id),d=(0,f.Bl)(a,c);if(b||d){let e=(0,f.kJ)(a);i.debug("AUTH",` → ${a.id?.slice(0,8)} | ${b?"excluded":""} ${d?`modelLocked(${c}) until ${e}`:""}`)}}),0===k.length){let b=j.filter(a=>(0,f.Bl)(a,c)),d=b.map(a=>(0,f.kJ)(a)).filter(Boolean).sort()[0]||null;if(d){let e=b[0];return i.warn("AUTH",`${a} | all ${j.length} accounts locked for ${c||"all"} (${(0,f.Qo)(d)}) | lastError=${e?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:d,retryAfterHuman:(0,f.Qo)(d),lastError:e?.lastError||null,lastErrorCode:e?.errorCode||null}}return i.warn("AUTH",`${a} | all ${j.length} accounts unavailable`),null}let l=await (0,d.mt)(),m=(l.providerStrategies||{})[t]||{},n=m.fallbackStrategy||l.fallbackStrategy||"fill-first";if(r&&(b=k.find(a=>a.id===r))&&i.info("AUTH",`${a} | pinned to ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`),b);else if("round-robin"===n){let a=m.stickyRoundRobinLimit||l.stickyRoundRobinLimit||3,c=[...k].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=c?.consecutiveUseCount||0;c&&c.lastUsedAt&&e<a?(b=c,await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(b.consecutiveUseCount||0)+1})):(b=[...k].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else b=k[0];let o=await (0,e.B)(b.providerSpecificData||{});return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,idToken:b.idToken,expiresAt:b.expiresAt,expiresIn:b.expiresIn,lastRefreshAt:b.lastRefreshAt,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:o.connectionProxyEnabled,connectionProxyUrl:o.connectionProxyUrl,connectionNoProxy:o.connectionNoProxy,connectionProxyPoolId:o.proxyPoolId||null,vercelRelayUrl:o.vercelRelayUrl||""},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b}},n=k.get(t)||Promise.resolve(),o=new Promise(a=>{m=a}),p=n.then(()=>o,()=>o),k.set(t,p),(async()=>{await n.catch(()=>{});try{return await j()}finally{m(),k.get(t)===p&&k.delete(t)}})()}async function m(a,b,c,e=null,h=null,j=null){let k,l,n;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};let o=(await (0,d.getProviderConnections)({provider:e})).find(b=>b.id===a),p=o?.backoffLevel||0;if(j&&j>Date.now()?(k=!0,l=Math.min(j-Date.now(),g.fh),n=0):{shouldFallback:k,cooldownMs:l,newBackoffLevel:n}=(0,f.hk)(b,c,p),!k)return{shouldFallback:!1,cooldownMs:0};let q="string"==typeof c?c.slice(0,100):"Provider error",r=(0,f.S5)(h,l);await (0,d.updateProviderConnection)(a,{...r,testStatus:"unavailable",lastError:q,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:n??p});let s=Object.keys(r)[0],t=o?.displayName||o?.name||o?.email||a.slice(0,8);return i.warn("AUTH",`${t} locked ${s} for ${Math.round(l/1e3)}s [${b}]`),e&&b&&q&&console.error(`❌ ${e} [${b}]: ${q}`),{shouldFallback:!0,cooldownMs:l}}async function n(a,b,c=null){if(!a||"noauth"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function o(a){return(0,j.d)(a.headers)}async function p(a){return!!a&&await (0,d.ek)(a)}},86187:(a,b,c)=>{c.d(b,{Ag:()=>l,SS:()=>x,Xy:()=>w});var d=c(12197),e=c(54070),f=c(12407),g=c(66573);let h=new TextEncoder,i=/unknown tool|no tool named|tool not found|not a (valid|recognized) tool|is not available|error/i;function j(){return{type:"object",properties:{vault_id:{type:"string",description:"The vault id from the placeholder, e.g. vlt_abc123."},query:{type:"string",description:"What to look for in the stored content."}},required:["query"]}}function k(){return"Search the Switchboard conversation vault for the full content of a tool result that was externalized to save context. Provide the vault_id shown in the placeholder and a query describing what you need."}function l(a,b){try{if(!Array.isArray(a?.tools))return!1;for(let b=0;b<a.tools.length;b+=1){var c;if(c=a.tools[b],(c?.function?.name||c?.name||"")===d.mS)return!1}if("openai"===b)a.tools.push({type:"function",function:{name:d.mS,description:k(),parameters:j()}});else{if("claude"!==b)return!1;a.tools.push({name:d.mS,description:k(),input_schema:j()})}return!0}catch{return!1}}function m(a,b=!1){let c=new Headers(a);return c.delete("content-length"),b&&c.delete("content-encoding"),c}function n(a){try{let b=JSON.parse(a||"{}");return b&&"object"==typeof b?b:{}}catch{return{}}}function o(a,b){return"string"==typeof a&&a?{callId:a,query:b?.query,vaultId:b?.vault_id}:null}function p(a,b){if(!Array.isArray(a)||0===a.length||!b||a.some(a=>!a))return null;let c=a[0];return{kind:"call",callId:c.callId,query:c.query,vaultId:c.vaultId,calls:a,assistantRaw:b}}function q(a){let b=[],c=a.split(/\r?\n/);for(let a=0;a<c.length;a+=1){if(!c[a].startsWith("data:"))continue;let d=c[a].slice(5).trim();if(d&&"[DONE]"!==d)try{b.push(JSON.parse(d))}catch{}}return b}async function r(a){let b=null;try{let c=new Promise((a,c)=>{b=setTimeout(()=>c(Error("vault stream idle")),2e4)});return await Promise.race([a.read(),c])}finally{b&&clearTimeout(b)}}async function s(a){let b=a.clone().body?.getReader();if(!b)throw Error("missing stream body");let c=new TextDecoder,d="";try{for(;;){let a=await r(b);if(a.done)break;d+=c.decode(a.value,{stream:!0})}return d+c.decode()}catch(a){try{await b.cancel()}catch{}throw a}}async function t(a,b){try{var c,e;let f;if(!(a?.headers?.get("content-type")||"").toLowerCase().includes("text/event-stream")){let e=await a.clone().json();return c=new Response(JSON.stringify(e),{status:a.status,statusText:a.statusText,headers:m(a.headers)}),"openai"===b?function(a,b){if(Array.isArray(a?.choices)&&a.choices.length>1)return{kind:"none",replay:b};let c=a?.choices?.[0]?.message,e=Array.isArray(c?.tool_calls)?c.tool_calls:[],f=[],g=!1;for(let a=0;a<e.length;a+=1)e[a]?.function?.name===d.mS?f.push(o(e[a].id,n(e[a].function?.arguments))):g=!0;return 0===f.length?{kind:"none",replay:b}:g||"string"==typeof c?.content&&c.content.trim()?{kind:"mixed",replay:b}:p(f,c)||{kind:"none",replay:b}}(e,c):"claude"===b?function(a,b){let c=Array.isArray(a?.content)?a.content:[],e=[],f=!1,g=!1;for(let a=0;a<c.length;a+=1){let b=c[a];b?.type==="tool_use"&&(b.name===d.mS?e.push(o(b.id,b.input||{})):g=!0),b?.type==="text"&&"string"==typeof b.text&&b.text.trim()&&(f=!0)}return 0===e.length?{kind:"none",replay:b}:g||f?{kind:"mixed",replay:b}:p(e,c)||{kind:"none",replay:b}}(e,c):{kind:"none",replay:c}}let g=await s(a);return f=h.encode(g),e=new Response(new ReadableStream({start(a){a.enqueue(f),a.close()}}),{status:a.status,statusText:a.statusText,headers:m(a.headers,!0)}),"openai"===b?function(a,b){let c=new Map,e=!1,f=!1,g=q(a);for(let a=0;a<g.length;a+=1){let b=Array.isArray(g[a]?.choices)?g[a].choices:[];b.length>1&&(f=!0);let d=b[0];Number.isInteger(d?.index)&&d.index>0&&(f=!0);let h=d?.delta;if(!h)continue;"string"==typeof h.content&&h.content.trim()&&(e=!0);let i=Array.isArray(h.tool_calls)?h.tool_calls:[];for(let a=0;a<i.length;a+=1){let b=i[a],d=Number.isInteger(b?.index)?b.index:a,e=c.get(d)||{id:"",name:"",arguments:""};"string"==typeof b?.id&&(e.id=b.id),"string"==typeof b?.function?.name&&(e.name=b.function.name),"string"==typeof b?.function?.arguments&&(e.arguments+=b.function.arguments),c.set(d,e)}}let h=[...c.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a),i=[],j=[],k=!1;for(let a of h)a.name===d.mS?(i.push(o(a.id,n(a.arguments))),j.push({id:a.id,type:"function",function:{name:d.mS,arguments:a.arguments}})):k=!0;return 0===i.length?{kind:"none",replay:b}:f||k||e?{kind:"mixed",replay:b}:p(i,{role:"assistant",content:null,tool_calls:j})||{kind:"none",replay:b}}(g,e):"claude"===b?function(a,b){let c=new Map,e=!1,f=q(a);for(let a=0;a<f.length;a+=1){let b=f[a],d=Number.isInteger(b?.index)?b.index:0,g=b?.content_block;if(b?.type==="content_block_start"&&g?.type==="tool_use"&&c.set(d,{id:g.id||"",name:g.name||"",input:""}),b?.type==="content_block_start"&&g?.type==="text"&&"string"==typeof g.text&&g.text.trim()&&(e=!0),b?.delta?.type==="text_delta"&&"string"==typeof b.delta.text&&b.delta.text.trim()&&(e=!0),b?.delta?.type==="input_json_delta"){let a=c.get(d);a&&"string"==typeof b.delta.partial_json&&(a.input+=b.delta.partial_json)}}let g=[...c.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a),h=[],i=[],j=!1;for(let a of g)if(a.name===d.mS){let b=n(a.input);h.push(o(a.id,b)),i.push({type:"tool_use",id:a.id,name:d.mS,input:b})}else j=!0;return 0===h.length?{kind:"none",replay:b}:j||e?{kind:"mixed",replay:b}:p(h,i)||{kind:"none",replay:b}}(g,e):{kind:"none",replay:e}}catch{return{kind:"none",replay:a}}}function u(a){return h.encode(a).length}function v(a){try{if(!Array.isArray(a)||0===a.length)return"No matching content found in the vault for that query.";let b=[];for(let c=0;c<a.length;c+=1){let d=a[c]||{},e=d.toolName?` from ${d.toolName}`:"";b.push(`[chunk ${c+1}${e}]
8
+ ${"string"==typeof d.text?d.text:""}`)}let c=b.join("\n\n");if(u(c)<=d.El)return c;let e="\n…[truncated]";return`${(0,g.ST)(c,d.El-u(e))}${e}`}catch{return"No matching content found in the vault for that query."}}async function w(a,{conversationId:b,limit:c=5}={}){try{let h=Array.isArray(a?.messages)?a.messages:null;if(!h||!b)return 0;let j=[];for(let a=0;a<h.length&&a<1e3;a+=1){let k=h[a],l=[...function(a){let b=[],c=Array.isArray(a?.tool_calls)?a.tool_calls:[];for(let a=0;a<c.length&&b.length<100;a+=1){let e=c[a];e?.function?.name===d.mS&&"string"==typeof e.id&&b.push({id:e.id,args:n(e.function.arguments)})}return b}(k),...function(a){let b=[],c=Array.isArray(a?.content)?a.content:[];for(let a=0;a<c.length&&b.length<100;a+=1){let e=c[a];e?.type==="tool_use"&&e.name===d.mS&&"string"==typeof e.id&&b.push({id:e.id,args:e.input||{}})}return b}(k)];for(let d=0;d<l.length;d+=1){var e,g;let k=l[d],m=function(a,b,c){for(let d=b;d<a.length&&d<1e3;d+=1){let b=a[d];if(b?.role==="tool"&&b.tool_call_id===c)return{target:b,content:b.content}}return null}(h,a+1,k.id)||function(a,b,c){for(let d=b;d<a.length&&d<1e3;d+=1){let b=Array.isArray(a[d]?.content)?a[d].content:[];for(let a=0;a<b.length;a+=1){let d=b[a];if(d?.type==="tool_result"&&d.tool_use_id===c)return{target:d,content:d.content}}}return null}(h,a+1,k.id);if(!m||(e=m.target,g=m.content,!(e?.is_error===!0||e?.status==="error"||i.test(function(a){try{if("string"==typeof a)return a;return JSON.stringify(a)||""}catch{return""}}(g)))))continue;let n=await (0,f.$s)({conversationId:b,query:k.args?.query,vaultId:k.args?.vault_id,limit:c});j.push({target:m.target,content:v(n)})}}for(let a=0;a<j.length;a+=1)j[a].target.content=j[a].content;return j.length}catch{return 0}}async function x({dispatch:a,body:b,wire:c,conversationId:d,searchLimit:g=5,log:h=null}){let i=null,j=null,k=b,l=0;try{for(let b=0;b<5;b+=1){let m=await a(k,{vaultInternal:b>0});i||(i=m);let n=await t(m,c);if(j||(j=n.replay||i),"call"!==n.kind)return l>0&&h?.info?.("VAULT",`served ${l} vault search(es)`),n.replay||m;let o=Array.isArray(n.calls)?n.calls:[],p=[];for(let a=0;a<o.length;a+=1){let b=await (0,f.$s)({conversationId:d,query:o[a].query,vaultId:o[a].vaultId,limit:g});p.push(v(b)),l+=1,(0,e.VS)()}k=function(a,b,c,d){let e=Array.isArray(c?.calls)?c.calls:[];if(!a||!Array.isArray(a.messages)||0===e.length||!c.assistantRaw)throw Error("invalid vault turn");let f=Array.isArray(d)?d:[],g=[...a.messages];if("openai"===b){g.push(c.assistantRaw);for(let a=0;a<e.length;a+=1)g.push({role:"tool",tool_call_id:e[a].callId,content:f[a]??""})}else if("claude"===b){let a=e.map((a,b)=>({type:"tool_result",tool_use_id:a.callId,content:f[b]??""}));g.push({role:"assistant",content:c.assistantRaw},{role:"user",content:a})}else throw Error("unsupported vault wire");return{...a,messages:g}}(k,c,n,p)}return await a(k,{vaultInternal:!1})}catch{if(j)return j;if(i)return i;try{return await a(b,{vaultInternal:!1})}catch{return new Response(null,{status:502})}}}},91686:(a,b,c)=>{c.d(b,{M:()=>e});var d=c(68393);function e({request:a,provider:b,allowNativeOAuth:c=!1}){if(!c||"anthropic"!==b||!a?.headers||!(0,d.i6)(a.headers))return null;let f=a.headers.get("authorization")||"";if(!f.startsWith("Bearer "))return null;let g=f.slice(7).trim();return g?{id:"claude-native-oauth",connectionId:"claude-native-oauth",connectionName:"Claude Code subscription",accessToken:g,ephemeral:!0,providerSpecificData:{}}:null}},97004:(a,b,c)=>{c.d(b,{G:()=>e});var d=c(68658);async function e(a,b,c){if(!a?.requireApiKey)return null;let{isValidApiKey:e,log:f,errorResponse:g,HTTP_STATUS:h,request:i,hasValidCliToken:j}=c;if(i&&(0,d.v5)(i))return null;if(i&&"function"==typeof j)try{if(await j(i))return null}catch{}return b?await e(b)?null:(f?.warn?.("AUTH","Invalid API key (requireApiKey=true)"),g(h.UNAUTHORIZED,"Invalid API key")):(f?.warn?.("AUTH","Missing API key (requireApiKey=true)"),g(h.UNAUTHORIZED,"Missing API key"))}}};
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/U_PuL5EYuLNHl2YOb_uZL/_buildManifest.js","static/U_PuL5EYuLNHl2YOb_uZL/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-57b54315eb9fa808.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-c66b3d8325973459.js","static/chunks/main-app-e5d01a79c4922432.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/O7tk63SVbhMmVH3A8sNna/_buildManifest.js","static/O7tk63SVbhMmVH3A8sNna/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-57b54315eb9fa808.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-c66b3d8325973459.js","static/chunks/main-app-e5d01a79c4922432.js"],rootMainFilesTree:{},pages:{"/_app":[]}};