zevairouter 1.0.195 → 1.0.196

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 (993) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/cli/app/.next-cli-build/BUILD_ID +1 -1
  3. package/cli/app/.next-cli-build/app-path-routes-manifest.json +9 -8
  4. package/cli/app/.next-cli-build/build-manifest.json +2 -2
  5. package/cli/app/.next-cli-build/routes-manifest.json +6 -0
  6. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js +2 -2
  7. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
  8. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  9. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  11. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  12. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  13. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  14. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  15. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  16. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  17. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  18. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js +2 -2
  19. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
  20. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  21. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  22. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +3 -3
  23. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  24. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  25. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  26. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  27. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  28. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  29. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  30. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  31. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  32. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  33. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  34. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js +2 -2
  35. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  36. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  37. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  38. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  39. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  40. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  41. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  42. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  43. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  44. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  45. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  46. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +2 -2
  47. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  48. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  49. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  50. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js +2 -2
  51. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  52. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  53. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  54. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js +3 -3
  55. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
  56. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  57. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  58. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  59. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  60. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  61. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  62. package/cli/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  63. package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  64. package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
  65. package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  66. package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  67. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  68. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  69. package/cli/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  70. package/cli/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  71. package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  72. package/cli/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  73. package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  74. package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
  75. package/cli/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  76. package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  77. package/cli/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  78. package/cli/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +3 -3
  79. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  80. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  81. package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  82. package/cli/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  83. package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  84. package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  85. package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  86. package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  87. package/cli/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  88. package/cli/app/.next-cli-build/server/app/api/cache/stats/route.js +1 -1
  89. package/cli/app/.next-cli-build/server/app/api/changelog/route.js +1 -1
  90. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +3 -3
  91. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  92. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  93. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
  94. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  95. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js +1 -1
  96. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  97. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
  98. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  99. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  100. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  101. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  102. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  103. package/cli/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +1 -1
  104. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  105. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +1 -1
  106. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  107. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  108. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  109. package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  110. package/cli/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  111. package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js +1 -1
  112. package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js +1 -1
  113. package/cli/app/.next-cli-build/server/app/api/context/route.js +1 -1
  114. package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js +1 -1
  115. package/cli/app/.next-cli-build/server/app/api/dashboard/cli-tools/keys/route.js +1 -1
  116. package/cli/app/.next-cli-build/server/app/api/dashboard/media/[operation]/route.js +1 -1
  117. package/cli/app/.next-cli-build/server/app/api/dashboard/media/videos/[id]/route.js +1 -1
  118. package/cli/app/.next-cli-build/server/app/api/headroom/enable/route.js +1 -0
  119. package/cli/app/.next-cli-build/server/app/api/headroom/enable/route.js.nft.json +1 -0
  120. package/cli/app/.next-cli-build/server/app/api/headroom/enable/route_client-reference-manifest.js +1 -0
  121. package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  122. package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  123. package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  124. package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  125. package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  126. package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  127. package/cli/app/.next-cli-build/server/app/api/health/ready/route.js +1 -1
  128. package/cli/app/.next-cli-build/server/app/api/health/route.js +1 -1
  129. package/cli/app/.next-cli-build/server/app/api/init/route.js +1 -1
  130. package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js +1 -1
  131. package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  132. package/cli/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  133. package/cli/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  134. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  135. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
  136. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  137. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  138. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  139. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  140. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  141. package/cli/app/.next-cli-build/server/app/api/metrics/route.js +2 -2
  142. package/cli/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  143. package/cli/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  144. package/cli/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  145. package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  146. package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
  147. package/cli/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  148. package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  149. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js +1 -1
  150. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  151. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js +1 -1
  152. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js +1 -1
  153. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js +1 -1
  154. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js +1 -1
  155. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  156. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js +1 -1
  157. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js +1 -1
  158. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js +1 -1
  159. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js +1 -1
  160. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  161. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js +1 -1
  162. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js +1 -1
  163. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js +1 -1
  164. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js +1 -1
  165. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js +1 -1
  166. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js +1 -1
  167. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  168. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js +1 -1
  169. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js +1 -1
  170. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
  171. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js +1 -1
  172. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js +1 -1
  173. package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  174. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  175. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  176. package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  177. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route.js +1 -1
  178. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  179. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/route.js +1 -1
  180. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/latest/route.js +1 -1
  181. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
  182. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-token/route.js +1 -1
  183. package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  184. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  185. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  186. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js +1 -1
  187. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  188. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js +1 -1
  189. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js +1 -1
  190. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js +1 -1
  191. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  192. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  193. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  194. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  195. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js +1 -1
  196. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  197. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js +1 -1
  198. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js +1 -1
  199. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js +1 -1
  200. package/cli/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  201. package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  202. package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  203. package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  204. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  205. package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  206. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  207. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  208. package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js +1 -1
  209. package/cli/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  210. package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  211. package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  212. package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  213. package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  214. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  215. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  216. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  217. package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  218. package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  219. package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  220. package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  221. package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  222. package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  223. package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  224. package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  225. package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
  226. package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  227. package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  228. package/cli/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  229. package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  230. package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  231. package/cli/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  232. package/cli/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  233. package/cli/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  234. package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js +1 -1
  235. package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js +1 -1
  236. package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js +1 -1
  237. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js +1 -1
  238. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js +1 -1
  239. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js +1 -1
  240. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js +2 -2
  241. package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js +1 -1
  242. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  243. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  244. package/cli/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  245. package/cli/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  246. package/cli/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  247. package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  248. package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  249. package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  250. package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  251. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  252. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  253. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  254. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  255. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  256. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  257. package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js +1 -1
  258. package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  259. package/cli/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  260. package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  261. package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  262. package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  263. package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  264. package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  265. package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  266. package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  267. package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  268. package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  269. package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  270. package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  271. package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  272. package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  273. package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  274. package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  275. package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  276. package/cli/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  277. package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  278. package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  279. package/cli/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  280. package/cli/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  281. package/cli/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  282. package/cli/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  283. package/cli/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  284. package/cli/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  285. package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  286. package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  287. package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  288. package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
  289. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  290. package/cli/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  291. package/cli/app/.next-cli-build/server/app/callback/page.js +2 -2
  292. package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  293. package/cli/app/.next-cli-build/server/app/callback.html +1 -1
  294. package/cli/app/.next-cli-build/server/app/callback.rsc +3 -3
  295. package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  296. package/cli/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  297. package/cli/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +3 -3
  298. package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  299. package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  300. package/cli/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  301. package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
  302. package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +5 -5
  303. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +2 -2
  304. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation.segment.rsc +1 -1
  305. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  306. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  307. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +5 -5
  308. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_head.segment.rsc +1 -1
  309. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_index.segment.rsc +3 -3
  310. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +1 -1
  311. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  312. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  313. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  314. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  315. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  316. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  317. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  318. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  319. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
  320. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  321. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  322. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
  323. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  324. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  325. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  326. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  327. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  328. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  329. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
  330. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  331. package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  332. package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
  333. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  334. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  335. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  336. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  337. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  338. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  339. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
  340. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  341. package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
  342. package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +5 -5
  343. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +2 -2
  344. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context.segment.rsc +1 -1
  345. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  346. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  347. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +5 -5
  348. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_head.segment.rsc +1 -1
  349. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_index.segment.rsc +3 -3
  350. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +1 -1
  351. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  352. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
  353. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  354. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  355. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  356. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  357. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  358. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  359. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
  360. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  361. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  362. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  363. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  364. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  365. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  366. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  367. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  368. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  369. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  370. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +3 -3
  371. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  372. package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  373. package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
  374. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  375. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  376. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  377. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  378. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
  379. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  380. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
  381. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  382. package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
  383. package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +5 -5
  384. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +2 -2
  385. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground.segment.rsc +1 -1
  386. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  387. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  388. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +5 -5
  389. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_head.segment.rsc +1 -1
  390. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_index.segment.rsc +3 -3
  391. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +1 -1
  392. package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  393. package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  394. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  395. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  396. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  397. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  398. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  399. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  400. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
  401. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  402. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  403. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  404. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  405. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  406. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  407. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  408. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  409. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  410. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  411. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
  412. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  413. package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  414. package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  415. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  416. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  417. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  418. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  419. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  420. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  421. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
  422. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  423. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  424. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
  425. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  426. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  427. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  428. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  429. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  430. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  431. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
  432. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  433. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  434. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
  435. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  436. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  437. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  438. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  439. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
  440. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  441. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +3 -3
  442. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  443. package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  444. package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
  445. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  446. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  447. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  448. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  449. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  450. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  451. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
  452. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  453. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  454. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  455. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  456. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing.segment.rsc +1 -1
  457. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +1 -1
  458. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  459. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  460. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  461. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  462. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
  463. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  464. package/cli/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  465. package/cli/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
  466. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  467. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  468. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  469. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  470. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
  471. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  472. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +3 -3
  473. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  474. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  475. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
  476. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  477. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  478. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  479. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  480. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
  481. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  482. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +3 -3
  483. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  484. package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  485. package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  486. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  487. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  488. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  489. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  490. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  491. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  492. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
  493. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  494. package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  495. package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  496. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  497. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  498. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  499. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  500. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  501. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  502. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
  503. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  504. package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
  505. package/cli/app/.next-cli-build/server/app/dashboard.rsc +5 -5
  506. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  507. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  508. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  509. package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
  510. package/cli/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  511. package/cli/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +3 -3
  512. package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  513. package/cli/app/.next-cli-build/server/app/index.html +1 -1
  514. package/cli/app/.next-cli-build/server/app/index.rsc +3 -3
  515. package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  516. package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  517. package/cli/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  518. package/cli/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +3 -3
  519. package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  520. package/cli/app/.next-cli-build/server/app/landing/page.js +2 -2
  521. package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  522. package/cli/app/.next-cli-build/server/app/landing.html +1 -1
  523. package/cli/app/.next-cli-build/server/app/landing.rsc +4 -4
  524. package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  525. package/cli/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  526. package/cli/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +3 -3
  527. package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  528. package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
  529. package/cli/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  530. package/cli/app/.next-cli-build/server/app/login/page.js +2 -2
  531. package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  532. package/cli/app/.next-cli-build/server/app/login.html +1 -1
  533. package/cli/app/.next-cli-build/server/app/login.rsc +4 -4
  534. package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  535. package/cli/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  536. package/cli/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +3 -3
  537. package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  538. package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  539. package/cli/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  540. package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  541. package/cli/app/.next-cli-build/server/app/page.js +2 -2
  542. package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  543. package/cli/app/.next-cli-build/server/app/provider-icons/[provider]/route.js +2 -2
  544. package/cli/app/.next-cli-build/server/app-paths-manifest.json +9 -8
  545. package/cli/app/.next-cli-build/server/chunks/1131.js +1 -1
  546. package/cli/app/.next-cli-build/server/chunks/2732.js +2 -1
  547. package/cli/app/.next-cli-build/server/chunks/3949.js +1 -1
  548. package/cli/app/.next-cli-build/server/chunks/4827.js +1 -1
  549. package/cli/app/.next-cli-build/server/chunks/7276.js +1 -1
  550. package/cli/app/.next-cli-build/server/chunks/7319.js +3 -2
  551. package/cli/app/.next-cli-build/server/chunks/8306.js +1 -1
  552. package/cli/app/.next-cli-build/server/functions-config-manifest.json +10 -0
  553. package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  554. package/cli/app/.next-cli-build/server/middleware.js +1 -1
  555. package/cli/app/.next-cli-build/server/pages/404.html +1 -1
  556. package/cli/app/.next-cli-build/server/pages/500.html +1 -1
  557. package/cli/app/.next-cli-build/static/chunks/{620-bc5b5a93e7ab3b73.js → 620-e966358a12fdaeb6.js} +1 -1
  558. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-09cb95da6d976082.js +1 -0
  559. package/cli/app/.next-cli-build/static/chunks/app/_global-error/page-3c4f5e0ab9b5451e.js +1 -0
  560. package/cli/app/.next-cli-build/static/chunks/app/api/auth/login/route-3c4f5e0ab9b5451e.js +1 -0
  561. package/cli/app/.next-cli-build/static/chunks/app/api/auth/logout/route-3c4f5e0ab9b5451e.js +1 -0
  562. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-3c4f5e0ab9b5451e.js +1 -0
  563. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-3c4f5e0ab9b5451e.js +1 -0
  564. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-3c4f5e0ab9b5451e.js +1 -0
  565. package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-3c4f5e0ab9b5451e.js +1 -0
  566. package/cli/app/.next-cli-build/static/chunks/app/api/cache/stats/route-3c4f5e0ab9b5451e.js +1 -0
  567. package/cli/app/.next-cli-build/static/chunks/app/api/changelog/route-3c4f5e0ab9b5451e.js +1 -0
  568. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-3c4f5e0ab9b5451e.js +1 -0
  569. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-3c4f5e0ab9b5451e.js +1 -0
  570. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-3c4f5e0ab9b5451e.js +1 -0
  571. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-3c4f5e0ab9b5451e.js +1 -0
  572. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-3c4f5e0ab9b5451e.js +1 -0
  573. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-3c4f5e0ab9b5451e.js +1 -0
  574. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-3c4f5e0ab9b5451e.js +1 -0
  575. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-3c4f5e0ab9b5451e.js +1 -0
  576. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-3c4f5e0ab9b5451e.js +1 -0
  577. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-3c4f5e0ab9b5451e.js +1 -0
  578. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-3c4f5e0ab9b5451e.js +1 -0
  579. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-3c4f5e0ab9b5451e.js +1 -0
  580. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-3c4f5e0ab9b5451e.js +1 -0
  581. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-3c4f5e0ab9b5451e.js +1 -0
  582. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-3c4f5e0ab9b5451e.js +1 -0
  583. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-3c4f5e0ab9b5451e.js +1 -0
  584. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-3c4f5e0ab9b5451e.js +1 -0
  585. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-3c4f5e0ab9b5451e.js +1 -0
  586. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-3c4f5e0ab9b5451e.js +1 -0
  587. package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-3c4f5e0ab9b5451e.js +1 -0
  588. package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-3c4f5e0ab9b5451e.js +1 -0
  589. package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-3c4f5e0ab9b5451e.js +1 -0
  590. package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-3c4f5e0ab9b5451e.js +1 -0
  591. package/cli/app/.next-cli-build/static/chunks/app/api/context/route-3c4f5e0ab9b5451e.js +1 -0
  592. package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/chat/completions/route-3c4f5e0ab9b5451e.js +1 -0
  593. package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/cli-tools/keys/route-3c4f5e0ab9b5451e.js +1 -0
  594. package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/media/[operation]/route-3c4f5e0ab9b5451e.js +1 -0
  595. package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/media/videos/[id]/route-3c4f5e0ab9b5451e.js +1 -0
  596. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/enable/route-3c4f5e0ab9b5451e.js +1 -0
  597. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-3c4f5e0ab9b5451e.js +1 -0
  598. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-3c4f5e0ab9b5451e.js +1 -0
  599. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-3c4f5e0ab9b5451e.js +1 -0
  600. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/start/route-3c4f5e0ab9b5451e.js +1 -0
  601. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/status/route-3c4f5e0ab9b5451e.js +1 -0
  602. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-3c4f5e0ab9b5451e.js +1 -0
  603. package/cli/app/.next-cli-build/static/chunks/app/api/health/ready/route-3c4f5e0ab9b5451e.js +1 -0
  604. package/cli/app/.next-cli-build/static/chunks/app/api/health/route-3c4f5e0ab9b5451e.js +1 -0
  605. package/cli/app/.next-cli-build/static/chunks/app/api/init/route-3c4f5e0ab9b5451e.js +1 -0
  606. package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-3c4f5e0ab9b5451e.js +1 -0
  607. package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-3c4f5e0ab9b5451e.js +1 -0
  608. package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-3c4f5e0ab9b5451e.js +1 -0
  609. package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-3c4f5e0ab9b5451e.js +1 -0
  610. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-3c4f5e0ab9b5451e.js +1 -0
  611. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-3c4f5e0ab9b5451e.js +1 -0
  612. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-3c4f5e0ab9b5451e.js +1 -0
  613. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-3c4f5e0ab9b5451e.js +1 -0
  614. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-3c4f5e0ab9b5451e.js +1 -0
  615. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-3c4f5e0ab9b5451e.js +1 -0
  616. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-3c4f5e0ab9b5451e.js +1 -0
  617. package/cli/app/.next-cli-build/static/chunks/app/api/metrics/route-3c4f5e0ab9b5451e.js +1 -0
  618. package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-3c4f5e0ab9b5451e.js +1 -0
  619. package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-3c4f5e0ab9b5451e.js +1 -0
  620. package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-3c4f5e0ab9b5451e.js +1 -0
  621. package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-3c4f5e0ab9b5451e.js +1 -0
  622. package/cli/app/.next-cli-build/static/chunks/app/api/models/route-3c4f5e0ab9b5451e.js +1 -0
  623. package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-3c4f5e0ab9b5451e.js +1 -0
  624. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-3c4f5e0ab9b5451e.js +1 -0
  625. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-3c4f5e0ab9b5451e.js +1 -0
  626. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-3c4f5e0ab9b5451e.js +1 -0
  627. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-3c4f5e0ab9b5451e.js +1 -0
  628. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-3c4f5e0ab9b5451e.js +1 -0
  629. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-3c4f5e0ab9b5451e.js +1 -0
  630. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route-3c4f5e0ab9b5451e.js +1 -0
  631. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route-3c4f5e0ab9b5451e.js +1 -0
  632. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route-3c4f5e0ab9b5451e.js +1 -0
  633. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/latest/route-3c4f5e0ab9b5451e.js +1 -0
  634. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/route-3c4f5e0ab9b5451e.js +1 -0
  635. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-3c4f5e0ab9b5451e.js +1 -0
  636. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-3c4f5e0ab9b5451e.js +1 -0
  637. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-3c4f5e0ab9b5451e.js +1 -0
  638. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-3c4f5e0ab9b5451e.js +1 -0
  639. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-3c4f5e0ab9b5451e.js +1 -0
  640. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-3c4f5e0ab9b5451e.js +1 -0
  641. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-3c4f5e0ab9b5451e.js +1 -0
  642. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-3c4f5e0ab9b5451e.js +1 -0
  643. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-3c4f5e0ab9b5451e.js +1 -0
  644. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-3c4f5e0ab9b5451e.js +1 -0
  645. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-3c4f5e0ab9b5451e.js +1 -0
  646. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-3c4f5e0ab9b5451e.js +1 -0
  647. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-3c4f5e0ab9b5451e.js +1 -0
  648. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-3c4f5e0ab9b5451e.js +1 -0
  649. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-3c4f5e0ab9b5451e.js +1 -0
  650. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-3c4f5e0ab9b5451e.js +1 -0
  651. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-3c4f5e0ab9b5451e.js +1 -0
  652. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-3c4f5e0ab9b5451e.js +1 -0
  653. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route-3c4f5e0ab9b5451e.js +1 -0
  654. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route-3c4f5e0ab9b5451e.js +1 -0
  655. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/route-3c4f5e0ab9b5451e.js +1 -0
  656. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/latest/route-3c4f5e0ab9b5451e.js +1 -0
  657. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-3c4f5e0ab9b5451e.js +1 -0
  658. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-token/route-3c4f5e0ab9b5451e.js +1 -0
  659. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-3c4f5e0ab9b5451e.js +1 -0
  660. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-3c4f5e0ab9b5451e.js +1 -0
  661. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-3c4f5e0ab9b5451e.js +1 -0
  662. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-3c4f5e0ab9b5451e.js +1 -0
  663. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-3c4f5e0ab9b5451e.js +1 -0
  664. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-3c4f5e0ab9b5451e.js +1 -0
  665. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-3c4f5e0ab9b5451e.js +1 -0
  666. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-3c4f5e0ab9b5451e.js +1 -0
  667. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-3c4f5e0ab9b5451e.js +1 -0
  668. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-3c4f5e0ab9b5451e.js +1 -0
  669. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-3c4f5e0ab9b5451e.js +1 -0
  670. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-3c4f5e0ab9b5451e.js +1 -0
  671. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-3c4f5e0ab9b5451e.js +1 -0
  672. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-3c4f5e0ab9b5451e.js +1 -0
  673. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-3c4f5e0ab9b5451e.js +1 -0
  674. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-3c4f5e0ab9b5451e.js +1 -0
  675. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-3c4f5e0ab9b5451e.js +1 -0
  676. package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-3c4f5e0ab9b5451e.js +1 -0
  677. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-3c4f5e0ab9b5451e.js +1 -0
  678. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-3c4f5e0ab9b5451e.js +1 -0
  679. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-3c4f5e0ab9b5451e.js +1 -0
  680. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-3c4f5e0ab9b5451e.js +1 -0
  681. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-3c4f5e0ab9b5451e.js +1 -0
  682. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-3c4f5e0ab9b5451e.js +1 -0
  683. package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-3c4f5e0ab9b5451e.js +1 -0
  684. package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-3c4f5e0ab9b5451e.js +1 -0
  685. package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-3c4f5e0ab9b5451e.js +1 -0
  686. package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-3c4f5e0ab9b5451e.js +1 -0
  687. package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-3c4f5e0ab9b5451e.js +1 -0
  688. package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-3c4f5e0ab9b5451e.js +1 -0
  689. package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-3c4f5e0ab9b5451e.js +1 -0
  690. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-3c4f5e0ab9b5451e.js +1 -0
  691. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-3c4f5e0ab9b5451e.js +1 -0
  692. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-3c4f5e0ab9b5451e.js +1 -0
  693. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-3c4f5e0ab9b5451e.js +1 -0
  694. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-3c4f5e0ab9b5451e.js +1 -0
  695. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-3c4f5e0ab9b5451e.js +1 -0
  696. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-3c4f5e0ab9b5451e.js +1 -0
  697. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-3c4f5e0ab9b5451e.js +1 -0
  698. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-3c4f5e0ab9b5451e.js +1 -0
  699. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-3c4f5e0ab9b5451e.js +1 -0
  700. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-3c4f5e0ab9b5451e.js +1 -0
  701. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-3c4f5e0ab9b5451e.js +1 -0
  702. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-3c4f5e0ab9b5451e.js +1 -0
  703. package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-3c4f5e0ab9b5451e.js +1 -0
  704. package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-3c4f5e0ab9b5451e.js +1 -0
  705. package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-3c4f5e0ab9b5451e.js +1 -0
  706. package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-3c4f5e0ab9b5451e.js +1 -0
  707. package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-3c4f5e0ab9b5451e.js +1 -0
  708. package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-3c4f5e0ab9b5451e.js +1 -0
  709. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/setup/route-3c4f5e0ab9b5451e.js +1 -0
  710. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/status/route-3c4f5e0ab9b5451e.js +1 -0
  711. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/unlock/route-3c4f5e0ab9b5451e.js +1 -0
  712. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/input/route-3c4f5e0ab9b5451e.js +1 -0
  713. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/resize/route-3c4f5e0ab9b5451e.js +1 -0
  714. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/route-3c4f5e0ab9b5451e.js +1 -0
  715. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/stream/route-3c4f5e0ab9b5451e.js +1 -0
  716. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/route-3c4f5e0ab9b5451e.js +1 -0
  717. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-3c4f5e0ab9b5451e.js +1 -0
  718. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-3c4f5e0ab9b5451e.js +1 -0
  719. package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-3c4f5e0ab9b5451e.js +1 -0
  720. package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-3c4f5e0ab9b5451e.js +1 -0
  721. package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-3c4f5e0ab9b5451e.js +1 -0
  722. package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-3c4f5e0ab9b5451e.js +1 -0
  723. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-3c4f5e0ab9b5451e.js +1 -0
  724. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-3c4f5e0ab9b5451e.js +1 -0
  725. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-3c4f5e0ab9b5451e.js +1 -0
  726. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-3c4f5e0ab9b5451e.js +1 -0
  727. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-3c4f5e0ab9b5451e.js +1 -0
  728. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-3c4f5e0ab9b5451e.js +1 -0
  729. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-3c4f5e0ab9b5451e.js +1 -0
  730. package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-3c4f5e0ab9b5451e.js +1 -0
  731. package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-3c4f5e0ab9b5451e.js +1 -0
  732. package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-3c4f5e0ab9b5451e.js +1 -0
  733. package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-3c4f5e0ab9b5451e.js +1 -0
  734. package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-3c4f5e0ab9b5451e.js +1 -0
  735. package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-3c4f5e0ab9b5451e.js +1 -0
  736. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-3c4f5e0ab9b5451e.js +1 -0
  737. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-3c4f5e0ab9b5451e.js +1 -0
  738. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-3c4f5e0ab9b5451e.js +1 -0
  739. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-3c4f5e0ab9b5451e.js +1 -0
  740. package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-3c4f5e0ab9b5451e.js +1 -0
  741. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-3c4f5e0ab9b5451e.js +1 -0
  742. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-3c4f5e0ab9b5451e.js +1 -0
  743. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-3c4f5e0ab9b5451e.js +1 -0
  744. package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-3c4f5e0ab9b5451e.js +1 -0
  745. package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-3c4f5e0ab9b5451e.js +1 -0
  746. package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-3c4f5e0ab9b5451e.js +1 -0
  747. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-3c4f5e0ab9b5451e.js +1 -0
  748. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-3c4f5e0ab9b5451e.js +1 -0
  749. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-3c4f5e0ab9b5451e.js +1 -0
  750. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-3c4f5e0ab9b5451e.js +1 -0
  751. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-3c4f5e0ab9b5451e.js +1 -0
  752. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-3c4f5e0ab9b5451e.js +1 -0
  753. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-3c4f5e0ab9b5451e.js +1 -0
  754. package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-3c4f5e0ab9b5451e.js +1 -0
  755. package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-3c4f5e0ab9b5451e.js +1 -0
  756. package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-3c4f5e0ab9b5451e.js +1 -0
  757. package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-3c4f5e0ab9b5451e.js +1 -0
  758. package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-3c4f5e0ab9b5451e.js +1 -0
  759. package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-3c4f5e0ab9b5451e.js +1 -0
  760. package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-3c4f5e0ab9b5451e.js +1 -0
  761. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-3c4f5e0ab9b5451e.js +1 -0
  762. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-3c4f5e0ab9b5451e.js +1 -0
  763. package/cli/app/.next-cli-build/static/chunks/app/api/version/route-3c4f5e0ab9b5451e.js +1 -0
  764. package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-3c4f5e0ab9b5451e.js +1 -0
  765. package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-3c4f5e0ab9b5451e.js +1 -0
  766. package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-3c4f5e0ab9b5451e.js +1 -0
  767. package/cli/app/.next-cli-build/static/chunks/app/page-3c4f5e0ab9b5451e.js +1 -0
  768. package/cli/app/.next-cli-build/static/chunks/app/provider-icons/[provider]/route-3c4f5e0ab9b5451e.js +1 -0
  769. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-3c4f5e0ab9b5451e.js +1 -0
  770. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-3c4f5e0ab9b5451e.js +1 -0
  771. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-3c4f5e0ab9b5451e.js +1 -0
  772. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-3c4f5e0ab9b5451e.js +1 -0
  773. package/cli/app/.next-cli-build/static/yGO9zGr3Yg7o-gWG2pKxr/_buildManifest.js +1 -0
  774. package/cli/app/CHANGELOG.md +5 -0
  775. package/cli/app/package.json +1 -1
  776. package/cli/package.json +1 -1
  777. package/package.json +1 -1
  778. package/cli/app/.next-cli-build/static/-qJ_VGWlUoIkTB1NnXhpW/_buildManifest.js +0 -1
  779. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-640a7d448c2e99ff.js +0 -1
  780. package/cli/app/.next-cli-build/static/chunks/app/_global-error/page-fa930ad780d3fadd.js +0 -1
  781. package/cli/app/.next-cli-build/static/chunks/app/api/auth/login/route-fa930ad780d3fadd.js +0 -1
  782. package/cli/app/.next-cli-build/static/chunks/app/api/auth/logout/route-fa930ad780d3fadd.js +0 -1
  783. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-fa930ad780d3fadd.js +0 -1
  784. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-fa930ad780d3fadd.js +0 -1
  785. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-fa930ad780d3fadd.js +0 -1
  786. package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-fa930ad780d3fadd.js +0 -1
  787. package/cli/app/.next-cli-build/static/chunks/app/api/cache/stats/route-fa930ad780d3fadd.js +0 -1
  788. package/cli/app/.next-cli-build/static/chunks/app/api/changelog/route-fa930ad780d3fadd.js +0 -1
  789. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-fa930ad780d3fadd.js +0 -1
  790. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-fa930ad780d3fadd.js +0 -1
  791. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-fa930ad780d3fadd.js +0 -1
  792. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-fa930ad780d3fadd.js +0 -1
  793. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-fa930ad780d3fadd.js +0 -1
  794. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-fa930ad780d3fadd.js +0 -1
  795. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-fa930ad780d3fadd.js +0 -1
  796. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-fa930ad780d3fadd.js +0 -1
  797. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-fa930ad780d3fadd.js +0 -1
  798. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-fa930ad780d3fadd.js +0 -1
  799. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-fa930ad780d3fadd.js +0 -1
  800. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-fa930ad780d3fadd.js +0 -1
  801. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-fa930ad780d3fadd.js +0 -1
  802. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-fa930ad780d3fadd.js +0 -1
  803. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-fa930ad780d3fadd.js +0 -1
  804. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-fa930ad780d3fadd.js +0 -1
  805. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-fa930ad780d3fadd.js +0 -1
  806. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-fa930ad780d3fadd.js +0 -1
  807. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-fa930ad780d3fadd.js +0 -1
  808. package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-fa930ad780d3fadd.js +0 -1
  809. package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-fa930ad780d3fadd.js +0 -1
  810. package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-fa930ad780d3fadd.js +0 -1
  811. package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-fa930ad780d3fadd.js +0 -1
  812. package/cli/app/.next-cli-build/static/chunks/app/api/context/route-fa930ad780d3fadd.js +0 -1
  813. package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/chat/completions/route-fa930ad780d3fadd.js +0 -1
  814. package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/cli-tools/keys/route-fa930ad780d3fadd.js +0 -1
  815. package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/media/[operation]/route-fa930ad780d3fadd.js +0 -1
  816. package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/media/videos/[id]/route-fa930ad780d3fadd.js +0 -1
  817. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-fa930ad780d3fadd.js +0 -1
  818. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-fa930ad780d3fadd.js +0 -1
  819. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-fa930ad780d3fadd.js +0 -1
  820. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/start/route-fa930ad780d3fadd.js +0 -1
  821. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/status/route-fa930ad780d3fadd.js +0 -1
  822. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-fa930ad780d3fadd.js +0 -1
  823. package/cli/app/.next-cli-build/static/chunks/app/api/health/ready/route-fa930ad780d3fadd.js +0 -1
  824. package/cli/app/.next-cli-build/static/chunks/app/api/health/route-fa930ad780d3fadd.js +0 -1
  825. package/cli/app/.next-cli-build/static/chunks/app/api/init/route-fa930ad780d3fadd.js +0 -1
  826. package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-fa930ad780d3fadd.js +0 -1
  827. package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-fa930ad780d3fadd.js +0 -1
  828. package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-fa930ad780d3fadd.js +0 -1
  829. package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-fa930ad780d3fadd.js +0 -1
  830. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-fa930ad780d3fadd.js +0 -1
  831. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-fa930ad780d3fadd.js +0 -1
  832. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-fa930ad780d3fadd.js +0 -1
  833. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-fa930ad780d3fadd.js +0 -1
  834. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-fa930ad780d3fadd.js +0 -1
  835. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-fa930ad780d3fadd.js +0 -1
  836. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-fa930ad780d3fadd.js +0 -1
  837. package/cli/app/.next-cli-build/static/chunks/app/api/metrics/route-fa930ad780d3fadd.js +0 -1
  838. package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-fa930ad780d3fadd.js +0 -1
  839. package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-fa930ad780d3fadd.js +0 -1
  840. package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-fa930ad780d3fadd.js +0 -1
  841. package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-fa930ad780d3fadd.js +0 -1
  842. package/cli/app/.next-cli-build/static/chunks/app/api/models/route-fa930ad780d3fadd.js +0 -1
  843. package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-fa930ad780d3fadd.js +0 -1
  844. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-fa930ad780d3fadd.js +0 -1
  845. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-fa930ad780d3fadd.js +0 -1
  846. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-fa930ad780d3fadd.js +0 -1
  847. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-fa930ad780d3fadd.js +0 -1
  848. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-fa930ad780d3fadd.js +0 -1
  849. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-fa930ad780d3fadd.js +0 -1
  850. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route-fa930ad780d3fadd.js +0 -1
  851. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route-fa930ad780d3fadd.js +0 -1
  852. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route-fa930ad780d3fadd.js +0 -1
  853. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/latest/route-fa930ad780d3fadd.js +0 -1
  854. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/route-fa930ad780d3fadd.js +0 -1
  855. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-fa930ad780d3fadd.js +0 -1
  856. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-fa930ad780d3fadd.js +0 -1
  857. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-fa930ad780d3fadd.js +0 -1
  858. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-fa930ad780d3fadd.js +0 -1
  859. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-fa930ad780d3fadd.js +0 -1
  860. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-fa930ad780d3fadd.js +0 -1
  861. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-fa930ad780d3fadd.js +0 -1
  862. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-fa930ad780d3fadd.js +0 -1
  863. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-fa930ad780d3fadd.js +0 -1
  864. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-fa930ad780d3fadd.js +0 -1
  865. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-fa930ad780d3fadd.js +0 -1
  866. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-fa930ad780d3fadd.js +0 -1
  867. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-fa930ad780d3fadd.js +0 -1
  868. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-fa930ad780d3fadd.js +0 -1
  869. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-fa930ad780d3fadd.js +0 -1
  870. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-fa930ad780d3fadd.js +0 -1
  871. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-fa930ad780d3fadd.js +0 -1
  872. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-fa930ad780d3fadd.js +0 -1
  873. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route-fa930ad780d3fadd.js +0 -1
  874. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route-fa930ad780d3fadd.js +0 -1
  875. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/route-fa930ad780d3fadd.js +0 -1
  876. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/latest/route-fa930ad780d3fadd.js +0 -1
  877. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-fa930ad780d3fadd.js +0 -1
  878. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-token/route-fa930ad780d3fadd.js +0 -1
  879. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-fa930ad780d3fadd.js +0 -1
  880. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-fa930ad780d3fadd.js +0 -1
  881. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-fa930ad780d3fadd.js +0 -1
  882. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-fa930ad780d3fadd.js +0 -1
  883. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-fa930ad780d3fadd.js +0 -1
  884. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-fa930ad780d3fadd.js +0 -1
  885. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-fa930ad780d3fadd.js +0 -1
  886. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-fa930ad780d3fadd.js +0 -1
  887. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-fa930ad780d3fadd.js +0 -1
  888. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-fa930ad780d3fadd.js +0 -1
  889. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-fa930ad780d3fadd.js +0 -1
  890. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-fa930ad780d3fadd.js +0 -1
  891. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-fa930ad780d3fadd.js +0 -1
  892. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-fa930ad780d3fadd.js +0 -1
  893. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-fa930ad780d3fadd.js +0 -1
  894. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-fa930ad780d3fadd.js +0 -1
  895. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-fa930ad780d3fadd.js +0 -1
  896. package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-fa930ad780d3fadd.js +0 -1
  897. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-fa930ad780d3fadd.js +0 -1
  898. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-fa930ad780d3fadd.js +0 -1
  899. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-fa930ad780d3fadd.js +0 -1
  900. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-fa930ad780d3fadd.js +0 -1
  901. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-fa930ad780d3fadd.js +0 -1
  902. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-fa930ad780d3fadd.js +0 -1
  903. package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-fa930ad780d3fadd.js +0 -1
  904. package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-fa930ad780d3fadd.js +0 -1
  905. package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-fa930ad780d3fadd.js +0 -1
  906. package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-fa930ad780d3fadd.js +0 -1
  907. package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-fa930ad780d3fadd.js +0 -1
  908. package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-fa930ad780d3fadd.js +0 -1
  909. package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-fa930ad780d3fadd.js +0 -1
  910. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-fa930ad780d3fadd.js +0 -1
  911. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-fa930ad780d3fadd.js +0 -1
  912. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-fa930ad780d3fadd.js +0 -1
  913. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-fa930ad780d3fadd.js +0 -1
  914. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-fa930ad780d3fadd.js +0 -1
  915. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-fa930ad780d3fadd.js +0 -1
  916. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-fa930ad780d3fadd.js +0 -1
  917. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-fa930ad780d3fadd.js +0 -1
  918. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-fa930ad780d3fadd.js +0 -1
  919. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-fa930ad780d3fadd.js +0 -1
  920. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-fa930ad780d3fadd.js +0 -1
  921. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-fa930ad780d3fadd.js +0 -1
  922. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-fa930ad780d3fadd.js +0 -1
  923. package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-fa930ad780d3fadd.js +0 -1
  924. package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-fa930ad780d3fadd.js +0 -1
  925. package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-fa930ad780d3fadd.js +0 -1
  926. package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-fa930ad780d3fadd.js +0 -1
  927. package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-fa930ad780d3fadd.js +0 -1
  928. package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-fa930ad780d3fadd.js +0 -1
  929. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/setup/route-fa930ad780d3fadd.js +0 -1
  930. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/status/route-fa930ad780d3fadd.js +0 -1
  931. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/unlock/route-fa930ad780d3fadd.js +0 -1
  932. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/input/route-fa930ad780d3fadd.js +0 -1
  933. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/resize/route-fa930ad780d3fadd.js +0 -1
  934. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/route-fa930ad780d3fadd.js +0 -1
  935. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/stream/route-fa930ad780d3fadd.js +0 -1
  936. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/route-fa930ad780d3fadd.js +0 -1
  937. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-fa930ad780d3fadd.js +0 -1
  938. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-fa930ad780d3fadd.js +0 -1
  939. package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-fa930ad780d3fadd.js +0 -1
  940. package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-fa930ad780d3fadd.js +0 -1
  941. package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-fa930ad780d3fadd.js +0 -1
  942. package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-fa930ad780d3fadd.js +0 -1
  943. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-fa930ad780d3fadd.js +0 -1
  944. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-fa930ad780d3fadd.js +0 -1
  945. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-fa930ad780d3fadd.js +0 -1
  946. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-fa930ad780d3fadd.js +0 -1
  947. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-fa930ad780d3fadd.js +0 -1
  948. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-fa930ad780d3fadd.js +0 -1
  949. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-fa930ad780d3fadd.js +0 -1
  950. package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-fa930ad780d3fadd.js +0 -1
  951. package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-fa930ad780d3fadd.js +0 -1
  952. package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-fa930ad780d3fadd.js +0 -1
  953. package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-fa930ad780d3fadd.js +0 -1
  954. package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-fa930ad780d3fadd.js +0 -1
  955. package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-fa930ad780d3fadd.js +0 -1
  956. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-fa930ad780d3fadd.js +0 -1
  957. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-fa930ad780d3fadd.js +0 -1
  958. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-fa930ad780d3fadd.js +0 -1
  959. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-fa930ad780d3fadd.js +0 -1
  960. package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-fa930ad780d3fadd.js +0 -1
  961. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-fa930ad780d3fadd.js +0 -1
  962. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-fa930ad780d3fadd.js +0 -1
  963. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-fa930ad780d3fadd.js +0 -1
  964. package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-fa930ad780d3fadd.js +0 -1
  965. package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-fa930ad780d3fadd.js +0 -1
  966. package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-fa930ad780d3fadd.js +0 -1
  967. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-fa930ad780d3fadd.js +0 -1
  968. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-fa930ad780d3fadd.js +0 -1
  969. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-fa930ad780d3fadd.js +0 -1
  970. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-fa930ad780d3fadd.js +0 -1
  971. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-fa930ad780d3fadd.js +0 -1
  972. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-fa930ad780d3fadd.js +0 -1
  973. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-fa930ad780d3fadd.js +0 -1
  974. package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-fa930ad780d3fadd.js +0 -1
  975. package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-fa930ad780d3fadd.js +0 -1
  976. package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-fa930ad780d3fadd.js +0 -1
  977. package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-fa930ad780d3fadd.js +0 -1
  978. package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-fa930ad780d3fadd.js +0 -1
  979. package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-fa930ad780d3fadd.js +0 -1
  980. package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-fa930ad780d3fadd.js +0 -1
  981. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-fa930ad780d3fadd.js +0 -1
  982. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-fa930ad780d3fadd.js +0 -1
  983. package/cli/app/.next-cli-build/static/chunks/app/api/version/route-fa930ad780d3fadd.js +0 -1
  984. package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-fa930ad780d3fadd.js +0 -1
  985. package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-fa930ad780d3fadd.js +0 -1
  986. package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-fa930ad780d3fadd.js +0 -1
  987. package/cli/app/.next-cli-build/static/chunks/app/page-fa930ad780d3fadd.js +0 -1
  988. package/cli/app/.next-cli-build/static/chunks/app/provider-icons/[provider]/route-fa930ad780d3fadd.js +0 -1
  989. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-fa930ad780d3fadd.js +0 -1
  990. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-fa930ad780d3fadd.js +0 -1
  991. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-fa930ad780d3fadd.js +0 -1
  992. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-fa930ad780d3fadd.js +0 -1
  993. /package/cli/app/.next-cli-build/static/{-qJ_VGWlUoIkTB1NnXhpW → yGO9zGr3Yg7o-gWG2pKxr}/_ssgManifest.js +0 -0
@@ -1 +1,2 @@
1
- exports.id=2732,exports.ids=[2732],exports.modules={3894:(a,b,c)=>{"use strict";c.d(b,{F_:()=>g,Nc:()=>h,Qh:()=>t,Su:()=>q,ag:()=>o,kI:()=>p,rl:()=>u,sy:()=>s});var d=c(79646),e=c(33873),f=c.n(e);let g=["code","ml"],h={code:["tree-sitter","tree-sitter-language-pack"],ml:["torch","huggingface-hub"]},i="win32"===process.platform,j=i?"where":"which",k=i?[`${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"],l=[...k,process.env.PATH||""].filter(Boolean).join(f().delimiter),m=["python3.13","python3.12","python3.11","python3.10","python3","python"],n=new Set(["localhost","127.0.0.1","::1","[::1]","0.0.0.0"]),o=process.env.HEADROOM_URL||"http://localhost:8787";function p(){try{let a=(0,d.execSync)(`${j} headroom`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:l}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}function q(){let a=null;for(let b of function(){let a=[],b=p();if(b){let c=f().dirname(b);for(let b of i?["python.exe","python3.exe"]:["python3","python3.13","python"])a.push(f().join(c,b))}for(let b of k)if(b)for(let c of m)a.push(f().join(b,i?`${c}.exe`:c));return a.push(...m),a}())try{let c=(0,d.execSync)(`${b} --version`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:l}}).toString().trim().match(/(\d+)\.(\d+)/);if(!c)continue;let[e,f]=[parseInt(c[1],10),parseInt(c[2],10)];if(!(e>3||3===e&&f>=10))continue;a||(a=b);try{return(0,d.execFileSync)(b,["-m","pip","show","headroom-ai"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:l}}),b}catch{}}catch{}return a}async function r(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 s(a){try{let b=new URL(a);return n.has(b.hostname)}catch{return!1}}async function t(a){let b=p(),c=q(),d=!!b,e=await r(a),f=s(a),g=d?u(c):{installed:!1,version:null,extras:{code:!1,ml:!1}};return{installed:d,path:b,running:e,python:c,localUrl:f,canStart:d&&f,version:g.version,extras:g.extras}}function u(a){let b=a||q();if(!b)return{installed:!1,version:null,extras:{code:!1,ml:!1}};try{let a=(0,d.execFileSync)(b,["-m","pip","list","--format=json","--disable-pip-version-check"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:l}}).toString(),c=JSON.parse(a),e=new Set(c.map(a=>String(a.name||"").toLowerCase()));if(!e.has("headroom-ai"))return{installed:!1,version:null,extras:{code:!1,ml:!1}};let f=c.find(a=>a.name?.toLowerCase()==="headroom-ai")?.version||null,i={};for(let a of g)i[a]=h[a].some(a=>e.has(a));return{installed:!0,version:f,extras:i}}catch{return{installed:!1,version:null,extras:{code:!1,ml:!1}}}}},33016:(a,b,c)=>{"use strict";c.d(b,{BS:()=>s,HI:()=>y,Ic:()=>x,ZT:()=>v,cx:()=>u,ow:()=>t,sW:()=>z});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(79646),i=c(49120),j=c(3894);let k=g().join(i.DATA_DIR,"headroom"),l=g().join(k,"proxy.pid"),m=g().join(k,"proxy.log"),n=g().join(k,"install.log");function o(){e().existsSync(k)||e().mkdirSync(k,{recursive:!0})}function p(){try{if(e().existsSync(l))return parseInt(e().readFileSync(l,"utf8"),10)}catch{}return null}function q(a=null){try{if(!e().existsSync(l)||null!=a&&p()!==a)return;e().unlinkSync(l)}catch{}}function r(a){if(!a||"number"!=typeof a)return!1;try{return process.kill(a,0),!0}catch{return!1}}function s(){let a=p();return a&&r(a)?a:null}async function t({port:a=8787,codeAware:b=!1,kompress:c=!0}={}){let d,f=Number(a)>0&&65536>Number(a)?Number(a):8787,g=(0,j.kI)();if(!g){let a=Error("Headroom CLI not installed");throw a.code="NOT_INSTALLED",a}let i=s();if(i)return{pid:i,alreadyRunning:!0};o();let k=e().openSync(m,"a"),n=["proxy","--port",String(f),...function({codeAware:a,kompress:b}={}){let c=[];return a&&c.push("--code-aware"),!1===b&&c.push("--disable-kompress"),c}({codeAware:b,kompress:c})];try{d=(0,h.spawn)(g,n,{stdio:["ignore",k,k],detached:!0,windowsHide:!0,env:{...process.env}})}catch(a){throw e().closeSync(k),a}let p=()=>{};if(d.once("error",p),!d.pid){e().closeSync(k);let a=Error("Failed to spawn headroom proxy");throw a.code="SPAWN_FAILED",a}try{var u;u=d.pid,o(),e().writeFileSync(l,String(u))}catch(a){try{d.kill("SIGTERM")}catch{}throw e().closeSync(k),a}return d.unref(),await new Promise((a,b)=>{d.removeListener("error",p);let c=!1,f=!0,g=()=>{if(f){f=!1;try{e().closeSync(k)}catch{}}},h=a=>{c||(c=!0,clearTimeout(i),q(d.pid),g(),b(a))},i=setTimeout(()=>{r(d.pid)?(c=!0,g(),a()):h(Error("headroom proxy exited during startup — see proxy.log"))},8e3);d.once("error",a=>{h(a)}),d.once("exit",a=>{if(clearTimeout(i),q(d.pid),g(),c)return;let b=Error(`headroom proxy exited early (code=${a}) — see proxy.log`);b.code="EARLY_EXIT",h(b)})}),{pid:d.pid,alreadyRunning:!1}}function u(){let a=s();if(!a)return{stopped:!1,reason:"not_running"};try{process.kill(a,"SIGTERM");let b=setTimeout(()=>{if(r(a))try{process.kill(a,"SIGKILL")}catch{}},2e3);return b.unref?.(),q(),{stopped:!0,pid:a}}catch(b){q();let a=Error(`Failed to stop headroom proxy: ${b.message}`);throw a.code="STOP_FAILED",a}}async function v(a={}){let b=s();if(b){try{process.kill(b,"SIGTERM")}catch{}for(let a=0;a<30&&r(b);a++)await new Promise(a=>setTimeout(a,100));if(r(b)){try{process.kill(b,"SIGKILL")}catch{}await new Promise(a=>setTimeout(a,300))}q()}return t(a)}function w(a,b,{label:c,errorCode:d,onSuccess:f}){let g;o();let i=e().openSync(n,"w");try{g=(0,h.spawn)(a,b,{stdio:["ignore",i,i],windowsHide:!0,env:{...process.env}})}catch(a){throw e().closeSync(i),a}return new Promise((a,b)=>{let h=!1,j=(c,d=null)=>{if(!h){h=!0;try{e().closeSync(i)}catch{}if(c)return void b(c);try{a(d())}catch(a){b(a)}}};g.once("error",a=>j(a)),g.once("exit",a=>{if(0===a)return void j(null,f);let b=Error(`${c} exited with code=${a} — see headroom/install.log`);b.code=d,j(b)})})}async function x(a=[]){let b=Array.isArray(a)?a.filter(a=>j.F_.includes(a)):[],c=(0,j.Su)();if(!c){let a=Error("Python >= 3.10 not found");throw a.code="NO_PYTHON",a}if(!(0,j.kI)()){let a=Error("headroom-ai not installed (run `pip install headroom-ai[proxy]` first)");throw a.code="NOT_INSTALLED",a}let d=["proxy",...b].join(","),e=`headroom-ai[${d}]`;return w(c,["-m","pip","install","--upgrade",e],{label:"pip install",errorCode:"INSTALL_FAILED",onSuccess:()=>({success:!0,code:0,spec:e,extras:b,...(0,j.rl)(c)})})}async function y(a=[]){let b=Array.isArray(a)?a.filter(a=>j.F_.includes(a)):[],c=(0,j.Su)();if(!c){let a=Error("Python >= 3.10 not found");throw a.code="NO_PYTHON",a}let d=[...new Set(b.flatMap(a=>j.Nc[a]||[]))];if(0===d.length){let a=Error("No valid extras to remove");throw a.code="INVALID_EXTRAS",a}return w(c,["-m","pip","uninstall","-y",...d],{label:"pip uninstall",errorCode:"UNINSTALL_FAILED",onSuccess:()=>({success:!0,code:0,removed:d,extras:b,...(0,j.rl)(c)})})}function z(a=15){try{if(!e().existsSync(n))return"";return e().readFileSync(n,"utf8").split(/\r?\n/).filter(Boolean).slice(-a).join("\n")}catch{return""}}},78335:()=>{},96487:()=>{}};
1
+ exports.id=2732,exports.ids=[2732],exports.modules={3894:(a,b,c)=>{"use strict";c.d(b,{F_:()=>j,Nc:()=>k,Qh:()=>C,Sj:()=>A,Su:()=>z,Sy:()=>m,YH:()=>n,ag:()=>u,kI:()=>y,rC:()=>x,rl:()=>D,sy:()=>B});var d=c(79646),e=c(29021),f=c.n(e),g=c(33873),h=c.n(g),i=c(49120);let j=["code","ml"],k={code:["tree-sitter","tree-sitter-language-pack"],ml:["torch","huggingface-hub"]},l=h().join(i.DATA_DIR,"headroom"),m=h().join(l,"python"),n=h().join(l,"runtime.json"),o="win32"===process.platform,p=o?"where":"which",q=o?[`${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"],r=[...q,process.env.PATH||""].filter(Boolean).join(h().delimiter),s=["python3.13","python3.12","python3.11","python3.10","python3","python"],t=new Set(["localhost","127.0.0.1","::1","[::1]","0.0.0.0"]),u=process.env.HEADROOM_URL||"http://localhost:8787";function v(a){let b=String(a||"").trim();if(!b)return null;if(h().isAbsolute(b))return f().existsSync(b)?b:null;try{let a=(0,d.execFileSync)(p,[b],{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:r}}).toString().trim(),c=a?a.split(/\r?\n/)[0].trim():"";return c&&f().existsSync(c)?c:null}catch{return null}}function w(){return v("headroom")}function x(){try{let a=JSON.parse(f().readFileSync(n,"utf8")),b=v(a.python);if(!b||!f().existsSync(h().join(m,"headroom")))return null;return{python:b,siteDir:m,runtimeFile:n}}catch{return null}}function y(){let a=x();return a?a.runtimeFile:w()}function z(){let a=x();if(a)return a.python;let b=null;for(let a of function(){let a=[],b=x();b&&a.push(b.python);let c=w();if(c){let b=h().dirname(c);for(let c of o?["python.exe","python3.exe"]:["python3","python3.13","python"])a.push(h().join(b,c))}for(let b of q)if(b)for(let c of s)a.push(h().join(b,o?`${c}.exe`:c));return a.push(...s),a}()){let c=v(a);if(c)try{let a=(0,d.execFileSync)(c,["--version"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:r}}).toString().trim().match(/(\d+)\.(\d+)/);if(!a)continue;let[e,f]=[parseInt(a[1],10),parseInt(a[2],10)];if(!(e>3||3===e&&f>=10))continue;b||(b=c);try{return(0,d.execFileSync)(c,["-m","pip","show","headroom-ai"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:r}}),c}catch{}}catch{}}return b}async function A(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 B(a){try{let b=new URL(a);return["http:","https:"].includes(b.protocol)&&t.has(b.hostname)}catch{return!1}}async function C(a){let b=x(),c=y(),d=z(),e=!!c,f=await A(a),g=B(a),h=e?D(d):{installed:!1,version:null,extras:{code:!1,ml:!1}};return{installed:e,managedInstalled:!!b,path:c,running:f,python:d,localUrl:g,canStart:!!d&&g,version:h.version,extras:h.extras}}function D(a){let b=a||z();if(!b)return{installed:!1,version:null,extras:{code:!1,ml:!1}};try{let a=x(),c=a?["-c","import importlib.metadata as m,json,sys; print(json.dumps([{'name': d.metadata.get('Name', ''), 'version': d.version} for d in m.distributions(path=[sys.argv[1]])]))",a.siteDir]:["-m","pip","list","--format=json","--disable-pip-version-check"],e=(0,d.execFileSync)(b,c,{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:r}}).toString(),f=JSON.parse(e),g=new Set(f.map(a=>String(a.name||"").toLowerCase()));if(!g.has("headroom-ai"))return{installed:!1,version:null,extras:{code:!1,ml:!1}};let h=f.find(a=>a.name?.toLowerCase()==="headroom-ai")?.version||null,i={};for(let a of j)i[a]=k[a].some(a=>g.has(a));return{installed:!0,version:h,extras:i}}catch{return{installed:!1,version:null,extras:{code:!1,ml:!1}}}}},33016:(a,b,c)=>{"use strict";c.d(b,{BS:()=>u,HI:()=>C,Ic:()=>B,Ol:()=>x,ZT:()=>z,cx:()=>y,sW:()=>D});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(79646),i=c(49120),j=c(3894);let k=g().join(i.DATA_DIR,"headroom"),l=g().join(k,"proxy.pid"),m=g().join(k,"proxy.log"),n=g().join(k,"install.log"),o=new Set(["localhost","127.0.0.1","::1","0.0.0.0"]),p=null;function q(){e().existsSync(k)||e().mkdirSync(k,{recursive:!0})}function r(){try{if(e().existsSync(l))return parseInt(e().readFileSync(l,"utf8"),10)}catch{}return null}function s(a=null){try{if(!e().existsSync(l)||null!=a&&r()!==a)return;e().unlinkSync(l)}catch{}}function t(a){if(!a||"number"!=typeof a)return!1;try{return process.kill(a,0),!0}catch{return!1}}function u(){let a=r();return a&&t(a)?a:null}async function v(){let a=(0,j.rC)();if(a)return{success:!0,alreadyInstalled:!0,path:a.runtimeFile,...(0,j.rl)(a.python)};let b=(0,j.Su)();if(!b){let a=Error("Python >= 3.10 not found");throw a.code="NO_PYTHON",a}let c="headroom-ai[proxy]";return e().rmSync(j.Sy,{recursive:!0,force:!0}),e().rmSync(j.YH,{force:!0}),q(),A(b,["-m","pip","install","--upgrade","--disable-pip-version-check","--ignore-installed","--target",j.Sy,c],{label:"pip install",errorCode:"INSTALL_FAILED",onSuccess:()=>{if(!e().existsSync(g().join(j.Sy,"headroom"))){let a=Error("Headroom package was not created in the managed runtime");throw a.code="INSTALL_NOT_FOUND",a}e().writeFileSync(j.YH,`${JSON.stringify({python:b},null,2)}
2
+ `,{mode:384});let a=(0,j.rC)();if(!a){let a=Error("Headroom installed, but its managed runtime is unavailable");throw a.code="INSTALL_NOT_FOUND",a}return{success:!0,alreadyInstalled:!1,spec:c,path:a.runtimeFile,...(0,j.rl)(b)}}})}async function w({host:a="127.0.0.1",port:b=8787,codeAware:c=!1,kompress:d=!0}={}){let f,g=Number(b)>0&&65536>Number(b)?Number(b):8787,i=String(a||"").replace(/^\[|\]$/g,"").toLowerCase(),k=o.has(i)?i:"127.0.0.1",n=(0,j.rC)(),p=n?.python||(0,j.kI)();if(!p){let a=Error("Headroom CLI not installed");throw a.code="NOT_INSTALLED",a}let r=u();if(r)return{pid:r,alreadyRunning:!0};q();let v=e().openSync(m,"a"),x=["proxy","--host",k,"--port",String(g),...function({codeAware:a,kompress:b}={}){let c=[];return a&&c.push("--code-aware"),!1===b&&c.push("--disable-kompress"),c}({codeAware:c,kompress:d})],y=n?["-c","import sys; sys.path.insert(0, sys.argv.pop(1)); from headroom.cli import main; main()",n.siteDir,...x]:x;try{f=(0,h.spawn)(p,y,{stdio:["ignore",v,v],detached:!0,windowsHide:!0,env:{...process.env}})}catch(a){throw e().closeSync(v),a}let z=()=>{};if(f.once("error",z),!f.pid){e().closeSync(v);let a=Error("Failed to spawn headroom proxy");throw a.code="SPAWN_FAILED",a}try{var A;A=f.pid,q(),e().writeFileSync(l,String(A))}catch(a){try{f.kill("SIGTERM")}catch{}throw e().closeSync(v),a}return f.unref(),await new Promise((a,b)=>{f.removeListener("error",z);let c=!1,d=!0,g=()=>{if(d){d=!1;try{e().closeSync(v)}catch{}}},h=a=>{c||(c=!0,clearTimeout(i),s(f.pid),g(),b(a))},i=setTimeout(()=>{t(f.pid)?(c=!0,g(),a()):h(Error("headroom proxy exited during startup — see proxy.log"))},8e3);f.once("error",a=>{h(a)}),f.once("exit",a=>{if(clearTimeout(i),s(f.pid),g(),c)return;let b=Error(`headroom proxy exited early (code=${a}) — see proxy.log`);b.code="EARLY_EXIT",h(b)})}),{pid:f.pid,alreadyRunning:!1}}async function x(a={},{restartIfRunning:b=!1}={}){let c=(0,j.rC)()?null:await (p||(p=v().finally(()=>{p=null})));return{...b&&u()?await z(a):await w(a),installedNow:c?.alreadyInstalled===!1,install:c}}function y(){let a=u();if(!a)return{stopped:!1,reason:"not_running"};try{process.kill(a,"SIGTERM");let b=setTimeout(()=>{if(t(a))try{process.kill(a,"SIGKILL")}catch{}},2e3);return b.unref?.(),s(),{stopped:!0,pid:a}}catch(b){s();let a=Error(`Failed to stop headroom proxy: ${b.message}`);throw a.code="STOP_FAILED",a}}async function z(a={}){let b=u();if(b){try{process.kill(b,"SIGTERM")}catch{}for(let a=0;a<30&&t(b);a++)await new Promise(a=>setTimeout(a,100));if(t(b)){try{process.kill(b,"SIGKILL")}catch{}await new Promise(a=>setTimeout(a,300))}s()}return w(a)}function A(a,b,{label:c,errorCode:d,onSuccess:f,env:g=process.env,timeoutMs:i=6e5}){let j;q();let k=e().openSync(n,"w");try{j=(0,h.spawn)(a,b,{stdio:["ignore",k,k],windowsHide:!0,env:{...g}})}catch(a){throw e().closeSync(k),a}return new Promise((a,b)=>{let g=!1,h=setTimeout(()=>{try{j.kill("SIGKILL")}catch{}let a=Error(`${c} timed out — see headroom/install.log`);a.code="INSTALL_TIMEOUT",l(a)},i);h.unref?.();let l=(c,d=null)=>{if(!g){g=!0,clearTimeout(h);try{e().closeSync(k)}catch{}if(c)return void b(c);try{a(d())}catch(a){b(a)}}};j.once("error",a=>l(a)),j.once("exit",a=>{if(0===a)return void l(null,f);let b=Error(`${c} exited with code=${a} — see headroom/install.log`);b.code=d,l(b)})})}async function B(a=[]){let b=Array.isArray(a)?a.filter(a=>j.F_.includes(a)):[],c=(0,j.Su)();if(!c){let a=Error("Python >= 3.10 not found");throw a.code="NO_PYTHON",a}if(!(0,j.kI)()){let a=Error("headroom-ai not installed (run `pip install headroom-ai[proxy]` first)");throw a.code="NOT_INSTALLED",a}let d=["proxy",...b].join(","),e=`headroom-ai[${d}]`,f=(0,j.rC)();return A(c,["-m","pip","install","--upgrade",...f?["--ignore-installed","--target",f.siteDir]:[],e],{label:"pip install",errorCode:"INSTALL_FAILED",onSuccess:()=>({success:!0,code:0,spec:e,extras:b,...(0,j.rl)(c)})})}async function C(a=[]){let b=Array.isArray(a)?a.filter(a=>j.F_.includes(a)):[],c=(0,j.Su)();if(!c){let a=Error("Python >= 3.10 not found");throw a.code="NO_PYTHON",a}let d=[...new Set(b.flatMap(a=>j.Nc[a]||[]))];if(0===d.length){let a=Error("No valid extras to remove");throw a.code="INVALID_EXTRAS",a}let e=["-m","pip","uninstall","-y",...d],f=(0,j.rC)();return A(c,e,{label:"pip uninstall",errorCode:"UNINSTALL_FAILED",env:f?{...process.env,PYTHONPATH:[f.siteDir,process.env.PYTHONPATH].filter(Boolean).join(g().delimiter)}:process.env,onSuccess:()=>({success:!0,code:0,removed:d,extras:b,...(0,j.rl)(c)})})}function D(a=15){try{if(!e().existsSync(n))return"";return e().readFileSync(n,"utf8").split(/\r?\n/).filter(Boolean).slice(-a).join("\n")}catch{return""}}},78335:()=>{},96487:()=>{}};
@@ -2,4 +2,4 @@ exports.id=3949,exports.ids=[3949],exports.modules={12897:(a,b,c)=>{"use strict"
2
2
  ${b?.stderr||""}
3
3
  ${b?.message||""}`),/(?:invalid choice|unknown (?:command|subcommand)|unrecognized (?:argument|command)|no such command)/i.test(a))return null;throw new u(`Failed to discover the active Hermes ${e} path`,{code:"HERMES_PATH_DISCOVERY_FAILED",status:422})}return function(a,{platform:b,label:c}){let d="win32"===b?i().win32:i().posix,e=String(a??""),f=e.endsWith("\r\n")?e.slice(0,-2):e.endsWith("\n")?e.slice(0,-1):e;if(!(f.length>0&&f.length<=32768&&f===f.trim()&&!/[\u0000-\u001f\u007f]/.test(f)&&d.isAbsolute(f)))throw new u(`Hermes returned an invalid ${c} path`,{code:"HERMES_PATH_INVALID",status:422});return d.normalize(f)}(f?.stdout,{platform:c,label:e})},f=await e("path","config");if(!f)return b;let g=await e("env-path","environment");if(!g)return b;let h="win32"===c?i().win32:i().posix;if(y(h.dirname(f),c)!==y(h.dirname(g),c))throw new u("Hermes config and environment paths use different profiles",{code:"HERMES_PATH_INVALID",status:422});return{...b,configDir:h.dirname(f),configPath:f,envPath:g}}async function X({env:a=process.env,platform:b=n().platform(),homedir:c=n().homedir(),access:d=g().access,realpath:e=g().realpath,runVersion:f=U}={}){let h="win32"===b?l.constants.F_OK:l.constants.X_OK;for(let g of function({env:a,platform:b,homedir:c}){let d="win32"===b?i().win32:i().posix,e=x({env:a,platform:b,homedir:c}).configDir,f="win32"===b?["hermes.exe","hermes"]:["hermes"],g=String(a.PATH||"").split(d.delimiter).map(a=>a.trim().replace(/^"|"$/g,"")).filter(Boolean).flatMap(a=>f.map(b=>d.resolve(a,b)));return"win32"===b?g.push(d.join(e,"hermes-agent","venv","Scripts","hermes.exe")):(g.push(d.join(e,"hermes-agent","venv","bin","hermes")),g.push(d.join(c,".local","bin","hermes")),g.push("/usr/local/bin/hermes"),a.PREFIX&&g.push(d.join(a.PREFIX,"bin","hermes"))),[...new Set(g)]}({env:a,platform:b,homedir:c})){try{await d(g,h)}catch{continue}for(let a of[["--version"],["version"]])try{let b=await f(g,a),c=function(a){let b=S(a).match(/(?:^|\r?\n)\s*Hermes Agent\s+v?(\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?)(?:\s|$)/i);return b?.[1]||null}(`${b?.stdout||""}
4
4
  ${b?.stderr||""}`);if(!c)continue;let d=g;try{d=await e(g)}catch{}return{installed:!0,binaryPath:d,version:c}}catch{}}return{installed:!1,binaryPath:null,version:null}}var Y=c(30869),Z=c(24424);let $="zevairouter-host",_=Promise.resolve();function aa(a){let b=String(a??"");if(!/^[0-9]+$/.test(b))return null;let c=Number(b);return Number.isSafeInteger(c)&&c>=1&&c<=65535?c:null}function ab(a){let b=_.then(a,a);return _=b.catch(()=>{}),b}function ac(a,b){return{installationTarget:$,platform:process.platform,configDir:a.configDir,configPath:a.configPath,envPath:a.envPath,binaryPath:b?.binaryPath||null,version:b?.version||null,supported:!!(b?.installed&&T(b.version)),localBaseUrl:function(){let a=aa(process.env.PORT)??aa(Y.h0.appPort);if(null===a)throw Error("ZevaiRouter app port configuration is invalid");return`http://127.0.0.1:${a}/v1`}()}}function ad(a,b=!1){return{available:a,restorable:b,conflict:a&&!b}}function ae(a,b){return a instanceof u?j.NextResponse.json({error:a.message,code:a.code,installationTarget:$},{status:a.status}):a instanceof SyntaxError?j.NextResponse.json({error:"Request body must be valid JSON",code:"INVALID_HERMES_SETTINGS",installationTarget:$},{status:400}):(console.error(b,a instanceof Error?a.message:a),j.NextResponse.json({error:b,code:"HERMES_IO_ERROR",installationTarget:$},{status:500}))}async function af(a,b){let c;try{let d;c=await g().open(a,"r");let e=await c.stat();if(!e.isFile())throw new u("Hermes settings path is not a regular file",{code:"HERMES_PATH_INVALID",status:422});if(e.size>b)throw new u("Hermes settings file is too large to update safely",{code:"HERMES_FILE_TOO_LARGE",status:422});let f=Buffer.allocUnsafe(b+1),h=0;for(;h<f.length;){let{bytesRead:a}=await c.read(f,h,f.length-h,h);if(0===a)break;h+=a}if(h>b)throw new u("Hermes settings file is too large to update safely",{code:"HERMES_FILE_TOO_LARGE",status:422});let i=f.subarray(0,h);try{d=new TextDecoder("utf-8",{fatal:!0}).decode(i)}catch{throw new u("Hermes settings file is not valid UTF-8",{code:"HERMES_FILE_ENCODING_INVALID",status:422})}return{exists:!0,text:d,mode:511&e.mode,uid:"win32"===process.platform?null:e.uid,gid:"win32"===process.platform?null:e.gid}}catch(a){if(a?.code==="ENOENT")return{exists:!1,text:"",mode:null,uid:null,gid:null};throw a}finally{c&&await c.close().catch(()=>{})}}async function ag(a){try{let b=await g().stat(a,{bigint:!0});if(!b.isFile())throw new u("Hermes backup path is not a regular file",{code:"HERMES_PATH_INVALID",status:422});return{exists:!0,dev:b.dev,ino:b.ino,size:b.size,mode:b.mode,uid:b.uid,gid:b.gid,mtimeNs:b.mtimeNs,ctimeNs:b.ctimeNs}}catch(a){if(a?.code==="ENOENT")return{exists:!1};throw a}}async function ah(a,b){let c=await ag(a);if(!["exists","dev","ino","size","mode","uid","gid","mtimeNs","ctimeNs"].every(a=>c[a]===b[a]))throw new u("Hermes backup changed while it was being discarded",{code:"HERMES_CONFIG_CHANGED",status:409})}async function ai(a){let b;if("win32"!==process.platform)try{b=await g().open(a,"r"),await b.sync()}catch(a){if(!["EBADF","EINVAL","ENOTSUP"].includes(a?.code))throw a}finally{b&&await b.close().catch(()=>{})}}async function aj(a,b,c,{uid:d=null,gid:f=null}={}){let h,j=i().dirname(a);await g().mkdir(j,{recursive:!0,mode:448});let k=i().join(j,`.${i().basename(a)}.${process.pid}.${(0,e.randomUUID)()}.tmp`);try{h=await g().open(k,"wx",c),await h.writeFile(b,"utf8"),"win32"!==process.platform&&Number.isInteger(d)&&Number.isInteger(f)&&(d!==process.getuid()||f!==process.getgid())&&await h.chown(d,f),await h.chmod(c),await h.sync(),await h.close(),h=null,await g().rename(k,a),await ai(j)}finally{h&&await h.close().catch(()=>{}),await g().unlink(k).catch(()=>{})}}async function ak(a){try{await g().unlink(a),await ai(i().dirname(a))}catch(a){if(a?.code!=="ENOENT")throw a}}async function al(a,b){let{exists:c,text:d,mode:e}=b;c?await aj(a,d,e??384,b):await ak(a)}async function am(a,b,c){let d=await af(a,c);if(d.exists!==b.exists||d.text!==b.text||d.mode!==b.mode||d.uid!==b.uid||d.gid!==b.gid)throw new u("Hermes settings changed while the operation was in progress",{code:"HERMES_CONFIG_CHANGED",status:409})}function an(a,b){return a.exists===b.exists&&(!a.exists||a.text===b.text&&a.mode===b.mode&&(null===b.uid||a.uid===b.uid)&&(null===b.gid||a.gid===b.gid))}function ao(a,b){return null!==a?a:"win32"===process.platform?null:b()}async function ap(a,b,c,d){try{let e=await af(a,d),f=an(e,c),g=an(e,b);return f&&await al(a,b),f||g}catch{return!1}}async function aq(a){let b=await af(a.backupPath,262144);return{snapshot:b,backup:b.exists?function(a){let b;try{b=JSON.parse(a)}catch{throw new u("Hermes ZevaiRouter backup is not valid JSON",{code:"HERMES_BACKUP_INVALID",status:409})}if(!(b?.version===1&&b.paths&&"string"==typeof b.paths.configPath&&"string"==typeof b.paths.envPath&&"boolean"==typeof b.before?.configFileExisted&&"boolean"==typeof b.before?.envFileExisted&&Q(b.before.configMode)&&Q(b.before.envMode)&&P(b.before.model)&&"boolean"==typeof b.before?.env?.exists&&(!b.before.env.exists||"string"==typeof b.before.env.line)&&P(b.applied?.model)&&"string"==typeof b.applied?.envHash&&Q(b.applied?.configMode)&&Q(b.applied?.envMode)))throw new u("Hermes ZevaiRouter backup has an unsupported format",{code:"HERMES_BACKUP_INVALID",status:409});return b}(b.text):null}}async function ar(a,b,c){try{let{backup:d}=await aq(a);if(!d)return ad(!1);let e=R(d,{configText:b.text,envText:c.text,configPath:a.configPath,envPath:a.envPath,configMode:b.mode,envMode:c.mode});return ad(!0,e)}catch{return ad(!0,!1)}}function as(a){if(!function(a,{platform:b=n().platform()}={}){let c=[a.configPath,a.envPath,a.backupPath].map(a=>y(a,b));return new Set(c).size===c.length}(a))throw new u("Hermes config, environment, and backup paths must be different",{code:"HERMES_PATH_INVALID",status:422})}async function at(a){try{return await g().realpath(a)}catch(a){if(a?.code!=="ENOENT")throw a}try{if((await g().lstat(a)).isSymbolicLink())throw new u("Hermes settings path is a dangling symbolic link",{code:"HERMES_PATH_INVALID",status:422})}catch(a){if(a?.code!=="ENOENT")throw a}let b=i().dirname(a),c=[i().basename(a)];for(;;){try{let a=await g().realpath(b);return i().join(a,...c)}catch(a){if(a?.code!=="ENOENT")throw a}let d=i().dirname(b);if(d===b)return a;c.unshift(i().basename(b)),b=d}}async function au(a){let[b,c,d]=await Promise.all([at(a.configPath),at(a.envPath),at(a.backupPath)]);return{...a,configDir:i().dirname(b),configPath:b,envPath:c,backupPath:d}}async function av({useBackupPathsWhenUnavailable:a=!1}={}){let b,c=await X(),d=x();if(c.installed)b=await W({installation:c,fallbackPaths:d});else if(a){let a=await au(d);try{let{backup:c}=await aq(a);b=c?function(a,b){if([b?.paths?.configPath,b?.paths?.envPath].some(a=>"string"!=typeof a||!i().isAbsolute(a)||/[\u0000-\u001f\u007f]/.test(a)))throw new u("Hermes backup contains invalid settings paths",{code:"HERMES_BACKUP_INVALID",status:409});return{...a,configDir:i().dirname(b.paths.configPath),configPath:b.paths.configPath,envPath:b.paths.envPath}}(d,c):d}catch{b=d}}else b=d;let e=await au(b);return as(e),{installation:c,paths:e}}async function aw(){try{let{installation:a,paths:b}=await av({useBackupPathsWhenUnavailable:!0}),c=await af(b.configPath,5242880),d=await af(b.envPath,1048576),e=await ar(b,c,d);if(!a.installed)return j.NextResponse.json({installed:!1,...ac(b,a),settings:{model:null},hasZevai:!1,backup:e,message:"Hermes Agent is not installed on the ZevaiRouter host"});let f=function(a){let b=A(a),c=b.get("model",!0);if(!(0,p.jh)(c))return{model:null,hasZevai:!1};let d=C(b)?.model,e=a=>{let b=d?.[a];return"string"==typeof b?b:null},f=e("provider"),g=e("base_url"),h=e("api_key"),i=e("api_mode"),j=null;try{let a=new URL(g);["http:","https:"].includes(a.protocol)&&(a.username="",a.password="",a.search="",a.hash="",j=a.toString().replace(/\/$/,""))}catch{}let k={default:e("default"),provider:f,base_url:j,api_mode:i},l=!1;try{l=["http:","https:"].includes(new URL(g).protocol)}catch{}return{model:k,hasZevai:("custom"===f||f?.startsWith("custom:"))&&l&&h===s&&"chat_completions"===i}}(c.text);return j.NextResponse.json({installed:!0,...ac(b,a),settings:{model:f.model},hasZevai:f.hasZevai,backup:e})}catch(a){return ae(a,"Failed to inspect Hermes settings on the ZevaiRouter host")}}async function ax(a){return ab(async()=>{try{var b;let c=function(a){let b;(!a||"object"!=typeof a||Array.isArray(a))&&v("Request body must be an object");let c=z(a.model,"model",512);(c.toLowerCase().endsWith("/model-id")||/[<>]/.test(c))&&v("model must be a real model identifier, not a placeholder");let d=z(a.apiKey,"apiKey",8192);/^[A-Za-z0-9._~+/=@:%-]+$/.test(d)||v("apiKey contains unsupported characters");let e=z(a.baseUrl,"baseUrl",2048);try{b=new URL(e)}catch{v("baseUrl must be a valid URL")}b&&["http:","https:"].includes(b.protocol)&&b.hostname||v("baseUrl must use http or https"),(b.username||b.password||b.search||b.hash)&&v("baseUrl must not include credentials, a query, or a fragment");let f=b.pathname.replace(/\/+$/,"");return b.pathname=/\/v1$/i.test(f)?`${f.slice(0,-3)}/v1`:`${f}/v1`,{model:c,apiKey:d,baseUrl:b.toString().replace(/\/$/,"")}}(await a.json()),{installation:d,paths:e}=await av();if(!d.installed)throw new u("Hermes Agent is not installed on the ZevaiRouter host",{code:"HERMES_NOT_INSTALLED",status:409});if(!T(d.version))throw new u("Hermes Agent 0.4.0 or newer is required for ZevaiRouter-managed API keys",{code:"HERMES_VERSION_UNSUPPORTED",status:422});let f=await af(e.configPath,5242880),g=await af(e.envPath,1048576),h=await aq(e),i=h.backup;if(i&&!R(i,{configText:f.text,envText:g.text,configPath:e.configPath,envPath:e.envPath,configMode:f.mode,envMode:g.mode}))throw new u("Hermes settings changed after the previous ZevaiRouter Apply; reset or reconcile them first",{code:"HERMES_CONFIG_CHANGED",status:409});let k=function(a,{model:b,baseUrl:c}){let d=A(a),e=F(d),f=d.get("model",!0);for(let[a,e]of((0,p.jh)(f)||(f=H(d,"model",{})),Object.entries({default:b,provider:"custom",base_url:c,api_key:s,api_mode:"chat_completions"})))H(f,a,e);return{text:d.toString(),before:e,applied:F(d)}}(f.text,c),l=function(a,b){let c=M(a),d=c?{exists:!0,line:c.content}:{exists:!1},e=`${r}=${b}`,f=J(a);if(c)f[c.index]=`${e}${L(c.line)}`;else{if(f.length>0&&!/(?:\r\n|\n|\r)$/.test(f.at(-1))){let b=a.includes("\r\n")?"\r\n":"\n";f[f.length-1]+=b}let b=a.includes("\r\n")?"\r\n":"\n";f.push(`${e}${b}`)}return{text:f.join(""),before:d,appliedHash:N(e)}}(g.text,c.apiKey),m=(b=function({paths:a,priorBackup:b=null,configFileExisted:c,envFileExisted:d,configMode:e,envMode:f,configBefore:g,envBefore:h,configApplied:i,envAppliedHash:j,configAppliedMode:k,envAppliedMode:l,now:m=new Date}){return{version:1,createdAt:b?.createdAt||m.toISOString(),updatedAt:m.toISOString(),paths:{configPath:a.configPath,envPath:a.envPath},before:b?.before||{configFileExisted:c,envFileExisted:d,configMode:e,envMode:f,model:g,env:h},applied:{model:i,envHash:j,configMode:k,envMode:l}}}({paths:e,priorBackup:i,configFileExisted:f.exists,envFileExisted:g.exists,configMode:f.mode,envMode:g.mode,configBefore:k.before,envBefore:l.before,configApplied:k.applied,envAppliedHash:l.appliedHash,configAppliedMode:"win32"===process.platform?null:f.mode??384,envAppliedMode:"win32"===process.platform?null:384}),`${JSON.stringify(b,null,2)}
5
- `);if(Buffer.byteLength(m,"utf8")>262144)throw new u("Hermes managed settings are too large to back up safely",{code:"HERMES_BACKUP_TOO_LARGE",status:422});await am(e.configPath,f,5242880),await am(e.envPath,g,1048576),await am(e.backupPath,h.snapshot,262144);let n={exists:!0,text:m,mode:384,uid:ao(h.snapshot.uid,()=>process.getuid()),gid:ao(h.snapshot.gid,()=>process.getgid())},o={exists:!0,text:k.text,mode:f.mode??384,uid:ao(f.uid,()=>process.getuid()),gid:ao(f.gid,()=>process.getgid())},q={exists:!0,text:l.text,mode:384,uid:ao(g.uid,()=>process.getuid()),gid:ao(g.gid,()=>process.getgid())};try{await al(e.backupPath,n),await al(e.configPath,o),await al(e.envPath,q)}catch(d){let a=await ap(e.envPath,g,q,1048576),b=await ap(e.configPath,f,o,5242880),c=!!a&&!!b&&await ap(e.backupPath,h.snapshot,n,262144);throw a&&b&&c||console.error("Hermes Apply rollback could not safely restore every file"),d}return j.NextResponse.json({success:!0,message:"Hermes settings applied on the ZevaiRouter host",...ac(e,d),backup:ad(!0,!0)})}catch(a){return ae(a,"Failed to update Hermes settings on the ZevaiRouter host")}})}async function ay(a){return ab(async()=>{try{if(a?.url&&"1"===new URL(a.url,"http://localhost").searchParams.get("discard")){let a=await au(x());as(a);let b=await ag(a.backupPath);if(!b.exists)throw new u("No ZevaiRouter Hermes backup is available to discard",{code:"HERMES_BACKUP_NOT_FOUND",status:404});return await ah(a.backupPath,b),await ak(a.backupPath),j.NextResponse.json({success:!0,discarded:!0,message:"Hermes backup discarded; config and environment settings were not changed",installationTarget:$,configPath:a.configPath,envPath:a.envPath,backup:ad(!1)})}let{paths:b}=await av({useBackupPathsWhenUnavailable:!0}),c=await af(b.configPath,5242880),d=await af(b.envPath,1048576),e=await aq(b);if(!e.backup)throw new u("No ZevaiRouter Hermes backup is available to restore",{code:"HERMES_BACKUP_NOT_FOUND",status:404});let f=e.backup;if(!R(f,{configText:c.text,envText:d.text,configPath:b.configPath,envPath:b.envPath,configMode:c.mode,envMode:d.mode}))throw new u("Hermes managed settings changed after ZevaiRouter applied them",{code:"HERMES_CONFIG_CHANGED",status:409});let g=I(c.text,f.before.model,f.applied.model),h=O(d.text,f.before.env,f.applied.envHash),i={exists:f.before.configFileExisted||"{}"!==g.trim(),text:g,mode:f.before.configMode??384,uid:c.uid,gid:c.gid},k={exists:f.before.envFileExisted||h.trim().length>0,text:h,mode:f.before.envMode??384,uid:d.uid,gid:d.gid};await am(b.configPath,c,5242880),await am(b.envPath,d,1048576),await am(b.backupPath,e.snapshot,262144);try{await al(b.configPath,i),await al(b.envPath,k),await ak(b.backupPath)}catch(f){let a=await ap(b.envPath,d,k,1048576),e=await ap(b.configPath,c,i,5242880);throw a&&e||console.error("Hermes Reset rollback could not safely restore every file"),f}return j.NextResponse.json({success:!0,message:"Previous Hermes settings restored on the ZevaiRouter host",installationTarget:$,configPath:b.configPath,envPath:b.envPath,backup:ad(!1)})}catch(b){let a=ae(b,"Failed to restore Hermes settings on the ZevaiRouter host");if(b instanceof u&&"HERMES_CONFIG_CHANGED"===b.code)return j.NextResponse.json({error:b.message,code:b.code,installationTarget:$,backup:ad(!0,!1)},{status:b.status});return a}})}(0,Z.D)([aw,ax,ay]),(0,d.A)(aw,"00ba3352bae61e90fe842da8971769749305cc5ce8",null),(0,d.A)(ax,"40634a43bd5ceded48b51bd424b01b8e681a76eed0",null),(0,d.A)(ay,"40f13f03b31ba8f5619033b52eaea86644ad879468",null)},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,X3:()=>j,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(75681),f=c(81329);d.version;let g={npmPackageName:"zevairouter",installCmd:"npm i -g zevairouter",installCmdLatest:"npm i -g zevairouter@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:1997},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.5",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}},j={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"zevairouter","version":"1.0.195","description":"Self-hosted AI router: many providers, one OpenAI-compatible /v1 endpoint and dashboard","bin":{"zevai":"cli/cli.js"},"files":["cli/cli.js","cli/app/","cli/hooks/","cli/src/","cli/package.json","cli/README.md","cli/LICENSE","scripts/start-standalone.mjs","README.md","README.zh-CN.md","DOCKER.md","LICENSE","CHANGELOG.md"],"scripts":{"dev":"next dev --webpack --port 1997","build":"node scripts/build-app.mjs","start":"node ./scripts/start-standalone.mjs","dev:bun":"bun --bun next dev --webpack --port 1997","build:bun":"bun --bun next build --webpack","start:bun":"bun ./.next/standalone/server.js","lint":"eslint .","test":"vitest run --config tests/vitest.config.js","build:cli":"node cli/scripts/build-cli.js","audit:package":"node cli/scripts/audit-package.mjs","smoke:package":"node cli/scripts/smoke-package.mjs","release":"node cli/scripts/release.js","prepack":"npm run build:cli && npm run audit:package","postinstall":"node cli/hooks/postinstall.js"},"dependencies":{"next":"16.2.12","node-machine-id":"1.1.12","react":"19.2.4","react-dom":"19.2.4","sql.js":"1.14.1","yaml":"2.9.0"},"comment_optional_runtime":"Optional packages are installed into ~/.zevai/runtime instead of the published tarball. Automation uses CloakBrowser with playwright-core; ZEVAI_MINIMAL_POSTINSTALL=1 skips its browser download. Other lazy runtimes are better-sqlite3, node-pty, and systray2.","overrides":{"body-parser":"^2.3.0","brace-expansion":"5.0.9","dompurify":"^3.4.12","ip-address":"^10.4.0","postcss":"^8.5.10","sharp":"^0.35.0"},"comment_overrides":"Security floors for transitive dependencies. ESLint\'s legacy minimatch is a private, source-pinned 3.1.5 compatibility package backed by brace-expansion 5.0.9; modern minimatch uses 5.0.9 directly. Monaco still pins an old DOMPurify; Express and Next may resolve vulnerable body-parser/sharp releases. Recheck and remove overrides once parent packages require fixed versions.","devDependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","@tailwindcss/postcss":"^4.1.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","@xterm/xterm":"^6.0.0","@xyflow/react":"^12.10.1","bcryptjs":"^3.0.3","better-sqlite3":"^12.6.2","chalk":"^4.1.2","minimatch":"file:vendor/minimatch3-secure","confbox":"^0.2.4","dompurify":"^3.4.12","esbuild":"^0.28.1","eslint":"^9","eslint-config-next":"16.2.9","express":"^5.2.1","http-proxy-middleware":"^3.0.7","jose":"^6.1.3","marked":"^18.0.1","material-symbols":"^0.45.1","monaco-editor":"^0.55.1","node-forge":"^1.3.3","open":"^11.0.0","ora":"^9.1.0","postcss":"^8.5.10","prop-types":"^15.8.1","react-is":"^19.2.7","recharts":"^3.7.0","selfsigned":"^5.5.0","socks":"^2.8.9","socks-proxy-agent":"^10.1.0","tailwindcss":"^4","undici":"^8.10.0","uuid":"^14.0.1","vitest":"^4.1.10","zustand":"^5.0.10"},"engines":{"node":">=22.5.0"},"keywords":["zevairouter","zevai","ai","router","proxy","kiro","codebuddy","claude","openai","api","quota","automation"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Verifiedlabs/zevairouter.git"},"bugs":{"url":"https://github.com/Verifiedlabs/zevairouter/issues"},"homepage":"https://github.com/Verifiedlabs/zevairouter"}')},78335:()=>{},81329:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},96487:()=>{}};
5
+ `);if(Buffer.byteLength(m,"utf8")>262144)throw new u("Hermes managed settings are too large to back up safely",{code:"HERMES_BACKUP_TOO_LARGE",status:422});await am(e.configPath,f,5242880),await am(e.envPath,g,1048576),await am(e.backupPath,h.snapshot,262144);let n={exists:!0,text:m,mode:384,uid:ao(h.snapshot.uid,()=>process.getuid()),gid:ao(h.snapshot.gid,()=>process.getgid())},o={exists:!0,text:k.text,mode:f.mode??384,uid:ao(f.uid,()=>process.getuid()),gid:ao(f.gid,()=>process.getgid())},q={exists:!0,text:l.text,mode:384,uid:ao(g.uid,()=>process.getuid()),gid:ao(g.gid,()=>process.getgid())};try{await al(e.backupPath,n),await al(e.configPath,o),await al(e.envPath,q)}catch(d){let a=await ap(e.envPath,g,q,1048576),b=await ap(e.configPath,f,o,5242880),c=!!a&&!!b&&await ap(e.backupPath,h.snapshot,n,262144);throw a&&b&&c||console.error("Hermes Apply rollback could not safely restore every file"),d}return j.NextResponse.json({success:!0,message:"Hermes settings applied on the ZevaiRouter host",...ac(e,d),backup:ad(!0,!0)})}catch(a){return ae(a,"Failed to update Hermes settings on the ZevaiRouter host")}})}async function ay(a){return ab(async()=>{try{if(a?.url&&"1"===new URL(a.url,"http://localhost").searchParams.get("discard")){let a=await au(x());as(a);let b=await ag(a.backupPath);if(!b.exists)throw new u("No ZevaiRouter Hermes backup is available to discard",{code:"HERMES_BACKUP_NOT_FOUND",status:404});return await ah(a.backupPath,b),await ak(a.backupPath),j.NextResponse.json({success:!0,discarded:!0,message:"Hermes backup discarded; config and environment settings were not changed",installationTarget:$,configPath:a.configPath,envPath:a.envPath,backup:ad(!1)})}let{paths:b}=await av({useBackupPathsWhenUnavailable:!0}),c=await af(b.configPath,5242880),d=await af(b.envPath,1048576),e=await aq(b);if(!e.backup)throw new u("No ZevaiRouter Hermes backup is available to restore",{code:"HERMES_BACKUP_NOT_FOUND",status:404});let f=e.backup;if(!R(f,{configText:c.text,envText:d.text,configPath:b.configPath,envPath:b.envPath,configMode:c.mode,envMode:d.mode}))throw new u("Hermes managed settings changed after ZevaiRouter applied them",{code:"HERMES_CONFIG_CHANGED",status:409});let g=I(c.text,f.before.model,f.applied.model),h=O(d.text,f.before.env,f.applied.envHash),i={exists:f.before.configFileExisted||"{}"!==g.trim(),text:g,mode:f.before.configMode??384,uid:c.uid,gid:c.gid},k={exists:f.before.envFileExisted||h.trim().length>0,text:h,mode:f.before.envMode??384,uid:d.uid,gid:d.gid};await am(b.configPath,c,5242880),await am(b.envPath,d,1048576),await am(b.backupPath,e.snapshot,262144);try{await al(b.configPath,i),await al(b.envPath,k),await ak(b.backupPath)}catch(f){let a=await ap(b.envPath,d,k,1048576),e=await ap(b.configPath,c,i,5242880);throw a&&e||console.error("Hermes Reset rollback could not safely restore every file"),f}return j.NextResponse.json({success:!0,message:"Previous Hermes settings restored on the ZevaiRouter host",installationTarget:$,configPath:b.configPath,envPath:b.envPath,backup:ad(!1)})}catch(b){let a=ae(b,"Failed to restore Hermes settings on the ZevaiRouter host");if(b instanceof u&&"HERMES_CONFIG_CHANGED"===b.code)return j.NextResponse.json({error:b.message,code:b.code,installationTarget:$,backup:ad(!0,!1)},{status:b.status});return a}})}(0,Z.D)([aw,ax,ay]),(0,d.A)(aw,"00ba3352bae61e90fe842da8971769749305cc5ce8",null),(0,d.A)(ax,"40634a43bd5ceded48b51bd424b01b8e681a76eed0",null),(0,d.A)(ay,"40f13f03b31ba8f5619033b52eaea86644ad879468",null)},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,X3:()=>j,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(75681),f=c(81329);d.version;let g={npmPackageName:"zevairouter",installCmd:"npm i -g zevairouter",installCmdLatest:"npm i -g zevairouter@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:1997},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.5",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}},j={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"zevairouter","version":"1.0.196","description":"Self-hosted AI router: many providers, one OpenAI-compatible /v1 endpoint and dashboard","bin":{"zevai":"cli/cli.js"},"files":["cli/cli.js","cli/app/","cli/hooks/","cli/src/","cli/package.json","cli/README.md","cli/LICENSE","scripts/start-standalone.mjs","README.md","README.zh-CN.md","DOCKER.md","LICENSE","CHANGELOG.md"],"scripts":{"dev":"next dev --webpack --port 1997","build":"node scripts/build-app.mjs","start":"node ./scripts/start-standalone.mjs","dev:bun":"bun --bun next dev --webpack --port 1997","build:bun":"bun --bun next build --webpack","start:bun":"bun ./.next/standalone/server.js","lint":"eslint .","test":"vitest run --config tests/vitest.config.js","build:cli":"node cli/scripts/build-cli.js","audit:package":"node cli/scripts/audit-package.mjs","smoke:package":"node cli/scripts/smoke-package.mjs","release":"node cli/scripts/release.js","prepack":"npm run build:cli && npm run audit:package","postinstall":"node cli/hooks/postinstall.js"},"dependencies":{"next":"16.2.12","node-machine-id":"1.1.12","react":"19.2.4","react-dom":"19.2.4","sql.js":"1.14.1","yaml":"2.9.0"},"comment_optional_runtime":"Optional packages are installed into ~/.zevai/runtime instead of the published tarball. Automation uses CloakBrowser with playwright-core; ZEVAI_MINIMAL_POSTINSTALL=1 skips its browser download. Other lazy runtimes are better-sqlite3, node-pty, and systray2.","overrides":{"body-parser":"^2.3.0","brace-expansion":"5.0.9","dompurify":"^3.4.12","ip-address":"^10.4.0","postcss":"^8.5.10","sharp":"^0.35.0"},"comment_overrides":"Security floors for transitive dependencies. ESLint\'s legacy minimatch is a private, source-pinned 3.1.5 compatibility package backed by brace-expansion 5.0.9; modern minimatch uses 5.0.9 directly. Monaco still pins an old DOMPurify; Express and Next may resolve vulnerable body-parser/sharp releases. Recheck and remove overrides once parent packages require fixed versions.","devDependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","@tailwindcss/postcss":"^4.1.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","@xterm/xterm":"^6.0.0","@xyflow/react":"^12.10.1","bcryptjs":"^3.0.3","better-sqlite3":"^12.6.2","chalk":"^4.1.2","minimatch":"file:vendor/minimatch3-secure","confbox":"^0.2.4","dompurify":"^3.4.12","esbuild":"^0.28.1","eslint":"^9","eslint-config-next":"16.2.9","express":"^5.2.1","http-proxy-middleware":"^3.0.7","jose":"^6.1.3","marked":"^18.0.1","material-symbols":"^0.45.1","monaco-editor":"^0.55.1","node-forge":"^1.3.3","open":"^11.0.0","ora":"^9.1.0","postcss":"^8.5.10","prop-types":"^15.8.1","react-is":"^19.2.7","recharts":"^3.7.0","selfsigned":"^5.5.0","socks":"^2.8.9","socks-proxy-agent":"^10.1.0","tailwindcss":"^4","undici":"^8.10.0","uuid":"^14.0.1","vitest":"^4.1.10","zustand":"^5.0.10"},"engines":{"node":">=22.5.0"},"keywords":["zevairouter","zevai","ai","router","proxy","kiro","codebuddy","claude","openai","api","quota","automation"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Verifiedlabs/zevairouter.git"},"bugs":{"url":"https://github.com/Verifiedlabs/zevairouter/issues"},"homepage":"https://github.com/Verifiedlabs/zevairouter"}')},78335:()=>{},81329:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},96487:()=>{}};
@@ -1 +1 @@
1
- exports.id=4827,exports.ids=[4827],exports.modules={15754:(a,b,c)=>{"use strict";let d=c(29021),{execFileSync:e}=c(79646),f="win32"===process.platform,g="linux"===process.platform;function h(a){return Number.isInteger(a)&&a>0&&a<=4194304}function i(a,b){try{return e(a,b,{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:5e3,windowsHide:!0})}catch{return null}}function j(a,b){if("string"!=typeof a||/[\r\n]/.test(a.trim()))return null;let c=a.trim(),d=c.indexOf(" ("),e=c.lastIndexOf(") ");if(d<1||e<=d+2||Number(c.slice(0,d))!==b)return null;let f=c.slice(e+2).split(/\s+/),g=f[19];return f.length<20||!/^\d+$/.test(g)?null:g}function k(a){if(!h(a))return null;if(g){let b=null;try{b=d.readFileSync(`/proc/${a}/stat`,"utf8")}catch{return null}let c=j(b,a);return c?`${a}:${c}`:null}if(f){let b=String(i("powershell",["-NonInteractive","-NoProfile","-Command",`(Get-Process -Id ${a} -ErrorAction Stop).StartTime.Ticks`])||"").trim();return/^\d+$/.test(b)?`${a}:${b}`:null}let b=String(i("ps",["-o","lstart=","-p",String(a)])||"").split(/\r?\n/).filter(a=>a.trim());if(1!==b.length)return null;let c=b[0].trim();return c?`${a}:${c}`:null}function l(a){if(!h(a))return null;if(f)return String(i("powershell",["-NonInteractive","-NoProfile","-Command",`(Get-CimInstance Win32_Process -Filter "ProcessId=${a}").CommandLine`])||"").trim()||null;let b=String(i("ps",["-o","command=","-p",String(a)])||"").split(/\r?\n/).filter(a=>a.trim());return 1!==b.length?null:b[0].trim()||null}function m(a){if(!h(a))return!1;try{return process.kill(a,0),!0}catch(a){return"EPERM"===a.code||"EACCES"===a.code}}function n(a){let b;try{b=d.readFileSync(a,"utf8").trim()}catch{return null}if(!b)return null;if(/^\d+$/.test(b)){let a=Number(b);return h(a)?{pid:a,startToken:null,kind:null,legacy:!0}:null}try{let a=JSON.parse(b),c=Number(a?.pid);if(!h(c))return null;return{pid:c,startToken:"string"==typeof a.startToken&&a.startToken?a.startToken:null,kind:"string"==typeof a.kind?a.kind:null,legacy:!1}}catch{return null}}a.exports={isValidPid:h,isProcessAlive:m,readProcessStartToken:k,readProcessCommand:l,writePidFile:function(a,b,{kind:c="process"}={}){let e=Number(b);if(!h(e))return!1;let f={v:1,kind:c,pid:e,startToken:k(e),platform:process.platform,writtenAt:new Date().toISOString()};try{let b=`${a}.${process.pid}.tmp`;return d.writeFileSync(b,JSON.stringify(f)),d.renameSync(b,a),!0}catch{return!1}},readPidFile:n,resolveVerifiedPid:function(a,{commandPattern:b=null}={}){let c=n(a);if(!c)return{pid:null,reason:"no_pid_file"};if(!m(c.pid))return{pid:null,reason:"not_running",pidFileStale:!0};let d=k(c.pid);if(c.startToken)return d?d!==c.startToken?{pid:null,reason:"pid_recycled",pidFileStale:!0}:{pid:c.pid,reason:"verified_start_token"}:{pid:null,reason:"identity_unreadable"};if(!b)return{pid:null,reason:"identity_unverifiable"};let e=l(c.pid);return e?b.test(e)?{pid:c.pid,reason:"verified_command"}:{pid:null,reason:"command_mismatch",pidFileStale:!0}:{pid:null,reason:"identity_unreadable"}},removePidFile:function(a){try{d.rmSync(a,{force:!0})}catch{}},parseLinuxStartTime:j}},21719:(a,b,c)=>{"use strict";c.d(b,{g:()=>n,l:()=>m});var d=c(79646),e=c(33873),f=c.n(e),g=c(29021),h=c.n(g),i=c(21820),j=c.n(i),k=c(30869),l=c(15754);async function m({excludePids:a=[]}={}){!function(){try{let a=f().join("win32"===process.platform?f().join(process.env.APPDATA||"","zevai"):f().join(j().homedir(),".zevai"),"mitm",".mitm.pid"),{pid:b}=(0,l.resolveVerifiedPid)(a,{commandPattern:/(mitm[\\/]server\.js|mitm[\\/]+server\b)/i});if(!b)return void(0,l.removePidFile)(a);if("win32"===process.platform)try{(0,d.execSync)(`taskkill /F /T /PID ${b}`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{try{(0,d.execSync)(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${b} -Force"`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{}}else try{(0,d.execSync)(`sudo -n kill -9 ${b} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{try{process.kill(b,"SIGKILL")}catch{}}(0,l.removePidFile)(a)}catch{}}();let b=function(a=[]){let b=[],c=process.platform,e=new Set([process.pid,...Array.isArray(a)?a:[]].filter(a=>null!=a).map(String));if("win32"===c){try{(0,d.execSync)('powershell -NonInteractive -WindowStyle Hidden -Command "Get-WmiObject Win32_Process -Filter \'Name=\\"node.exe\\"\' | Select-Object ProcessId,CommandLine | ConvertTo-Csv -NoTypeInformation"',{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").slice(1).filter(a=>a.trim()).forEach(a=>{let c=a.toLowerCase();if(c.includes("zevai")||c.includes("next-server")||c.includes("\\bin\\app\\")||c.includes("/bin/app/")||c.includes("cli.js")){let c=a.match(/^"(\d+)"/);c&&c[1]&&!e.has(c[1])&&b.push(c[1])}})}catch{}for(let a of["cloudflared","tray_windows_release"])try{let c=`powershell -NonInteractive -WindowStyle Hidden -Command "Get-Process ${a} -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Id"`;(0,d.execSync)(c,{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").forEach(a=>{let c=a.trim();!c||isNaN(c)||e.has(c)||b.push(c)})}catch{}}else try{(0,d.execSync)("ps aux 2>/dev/null",{encoding:"utf8",timeout:5e3}).split("\n").forEach(a=>{if(a.includes("zevai")||a.includes("next-server")||a.includes("cloudflared")||a.includes("/bin/app/")||a.includes("tray_darwin")||a.includes("tray_linux")){let c=a.trim().split(/\s+/)[1];!c||isNaN(c)||e.has(c)||b.push(c)}})}catch{}return b}(a),c=process.platform;b.forEach(a=>{try{"win32"===c?(0,d.execSync)(`taskkill /F /PID ${a} 2>nul`,{stdio:"ignore",shell:!0,windowsHide:!0,timeout:3e3}):(0,d.execSync)(`kill -9 ${a} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{}}),b.length>0&&await new Promise(a=>setTimeout(a,1500))}async function n(a=k.h0.npmPackageName){let b=function(a){try{if(!a||!h().existsSync(a))return a;let b=f().join(process.env.DATA_DIR?process.env.DATA_DIR:"win32"===process.platform?f().join(process.env.APPDATA||f().join(j().homedir(),"AppData","Roaming"),"zevai"):f().join(j().homedir(),".zevai"),"runtime","updater"),c=f().join(b,"updater.js");if(h().existsSync(c))try{if(h().statSync(a).size===h().statSync(c).size)return c}catch{}return h().mkdirSync(b,{recursive:!0}),h().copyFileSync(a,c),c}catch{return a}}(function(){if(process.env.UPDATER_SCRIPT_PATH&&h().existsSync(process.env.UPDATER_SCRIPT_PATH))return process.env.UPDATER_SCRIPT_PATH;let a=f().join(process.cwd(),"src","lib","updater","updater.js");if(h().existsSync(a))return a;let b=f().join(process.cwd(),"..","src","lib","updater","updater.js");return h().existsSync(b)?b:a}()),c="1"===process.env.TRAY_MODE,e={cmd:"win32"===process.platform?"npx.cmd":"npx",args:[k.h0.npmPackageName]},g=String(process.env.PORT||k.h0.appPort||1997),i=c?[...e.args,"--tray","--skip-update"]:[...e.args,"--port",g,"--no-browser","--skip-update","--log"],l=(0,d.spawn)(process.execPath,[b],{detached:!0,stdio:"ignore",windowsHide:!0,env:function(a={}){let b={...process.env,...a};return delete b.ZEVAI_LAUNCHD_JOB,delete b.XPC_SERVICE_NAME,b}({UPDATER_PKG_NAME:a||"zevairouter",UPDATER_PORT:String(k.h0.statusPort),UPDATER_TAIL_LINES:String(k.h0.statusLogTailLines),UPDATER_RETRIES:String(k.h0.installRetries),UPDATER_RETRY_DELAY_MS:String(k.h0.installRetryDelayMs),UPDATER_LINGER_MS:String(k.h0.lingerAfterDoneMs),UPDATER_WAIT_MIN_MS:String(k.h0.waitForExitMinMs),UPDATER_WAIT_MAX_MS:String(k.h0.waitForExitMaxMs),UPDATER_WAIT_CHECK_MS:String(k.h0.waitForExitCheckMs),UPDATER_APP_PORT:g,UPDATER_RELAUNCH:"1",UPDATER_RELAUNCH_CMD:e.cmd,UPDATER_RELAUNCH_ARGS:JSON.stringify(i),ZEVAI_SERVER_MODE:c?"":"1"})});l.unref();try{await m({excludePids:[l.pid]})}catch{}return setTimeout(()=>process.exit(0),k.h0.exitDelayMs),l.pid}},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,X3:()=>j,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(75681),f=c(81329);d.version;let g={npmPackageName:"zevairouter",installCmd:"npm i -g zevairouter",installCmdLatest:"npm i -g zevairouter@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:1997},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.5",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}},j={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"zevairouter","version":"1.0.195","description":"Self-hosted AI router: many providers, one OpenAI-compatible /v1 endpoint and dashboard","bin":{"zevai":"cli/cli.js"},"files":["cli/cli.js","cli/app/","cli/hooks/","cli/src/","cli/package.json","cli/README.md","cli/LICENSE","scripts/start-standalone.mjs","README.md","README.zh-CN.md","DOCKER.md","LICENSE","CHANGELOG.md"],"scripts":{"dev":"next dev --webpack --port 1997","build":"node scripts/build-app.mjs","start":"node ./scripts/start-standalone.mjs","dev:bun":"bun --bun next dev --webpack --port 1997","build:bun":"bun --bun next build --webpack","start:bun":"bun ./.next/standalone/server.js","lint":"eslint .","test":"vitest run --config tests/vitest.config.js","build:cli":"node cli/scripts/build-cli.js","audit:package":"node cli/scripts/audit-package.mjs","smoke:package":"node cli/scripts/smoke-package.mjs","release":"node cli/scripts/release.js","prepack":"npm run build:cli && npm run audit:package","postinstall":"node cli/hooks/postinstall.js"},"dependencies":{"next":"16.2.12","node-machine-id":"1.1.12","react":"19.2.4","react-dom":"19.2.4","sql.js":"1.14.1","yaml":"2.9.0"},"comment_optional_runtime":"Optional packages are installed into ~/.zevai/runtime instead of the published tarball. Automation uses CloakBrowser with playwright-core; ZEVAI_MINIMAL_POSTINSTALL=1 skips its browser download. Other lazy runtimes are better-sqlite3, node-pty, and systray2.","overrides":{"body-parser":"^2.3.0","brace-expansion":"5.0.9","dompurify":"^3.4.12","ip-address":"^10.4.0","postcss":"^8.5.10","sharp":"^0.35.0"},"comment_overrides":"Security floors for transitive dependencies. ESLint\'s legacy minimatch is a private, source-pinned 3.1.5 compatibility package backed by brace-expansion 5.0.9; modern minimatch uses 5.0.9 directly. Monaco still pins an old DOMPurify; Express and Next may resolve vulnerable body-parser/sharp releases. Recheck and remove overrides once parent packages require fixed versions.","devDependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","@tailwindcss/postcss":"^4.1.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","@xterm/xterm":"^6.0.0","@xyflow/react":"^12.10.1","bcryptjs":"^3.0.3","better-sqlite3":"^12.6.2","chalk":"^4.1.2","minimatch":"file:vendor/minimatch3-secure","confbox":"^0.2.4","dompurify":"^3.4.12","esbuild":"^0.28.1","eslint":"^9","eslint-config-next":"16.2.9","express":"^5.2.1","http-proxy-middleware":"^3.0.7","jose":"^6.1.3","marked":"^18.0.1","material-symbols":"^0.45.1","monaco-editor":"^0.55.1","node-forge":"^1.3.3","open":"^11.0.0","ora":"^9.1.0","postcss":"^8.5.10","prop-types":"^15.8.1","react-is":"^19.2.7","recharts":"^3.7.0","selfsigned":"^5.5.0","socks":"^2.8.9","socks-proxy-agent":"^10.1.0","tailwindcss":"^4","undici":"^8.10.0","uuid":"^14.0.1","vitest":"^4.1.10","zustand":"^5.0.10"},"engines":{"node":">=22.5.0"},"keywords":["zevairouter","zevai","ai","router","proxy","kiro","codebuddy","claude","openai","api","quota","automation"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Verifiedlabs/zevairouter.git"},"bugs":{"url":"https://github.com/Verifiedlabs/zevairouter/issues"},"homepage":"https://github.com/Verifiedlabs/zevairouter"}')},78335:()=>{},81329:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},96487:()=>{}};
1
+ exports.id=4827,exports.ids=[4827],exports.modules={15754:(a,b,c)=>{"use strict";let d=c(29021),{execFileSync:e}=c(79646),f="win32"===process.platform,g="linux"===process.platform;function h(a){return Number.isInteger(a)&&a>0&&a<=4194304}function i(a,b){try{return e(a,b,{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:5e3,windowsHide:!0})}catch{return null}}function j(a,b){if("string"!=typeof a||/[\r\n]/.test(a.trim()))return null;let c=a.trim(),d=c.indexOf(" ("),e=c.lastIndexOf(") ");if(d<1||e<=d+2||Number(c.slice(0,d))!==b)return null;let f=c.slice(e+2).split(/\s+/),g=f[19];return f.length<20||!/^\d+$/.test(g)?null:g}function k(a){if(!h(a))return null;if(g){let b=null;try{b=d.readFileSync(`/proc/${a}/stat`,"utf8")}catch{return null}let c=j(b,a);return c?`${a}:${c}`:null}if(f){let b=String(i("powershell",["-NonInteractive","-NoProfile","-Command",`(Get-Process -Id ${a} -ErrorAction Stop).StartTime.Ticks`])||"").trim();return/^\d+$/.test(b)?`${a}:${b}`:null}let b=String(i("ps",["-o","lstart=","-p",String(a)])||"").split(/\r?\n/).filter(a=>a.trim());if(1!==b.length)return null;let c=b[0].trim();return c?`${a}:${c}`:null}function l(a){if(!h(a))return null;if(f)return String(i("powershell",["-NonInteractive","-NoProfile","-Command",`(Get-CimInstance Win32_Process -Filter "ProcessId=${a}").CommandLine`])||"").trim()||null;let b=String(i("ps",["-o","command=","-p",String(a)])||"").split(/\r?\n/).filter(a=>a.trim());return 1!==b.length?null:b[0].trim()||null}function m(a){if(!h(a))return!1;try{return process.kill(a,0),!0}catch(a){return"EPERM"===a.code||"EACCES"===a.code}}function n(a){let b;try{b=d.readFileSync(a,"utf8").trim()}catch{return null}if(!b)return null;if(/^\d+$/.test(b)){let a=Number(b);return h(a)?{pid:a,startToken:null,kind:null,legacy:!0}:null}try{let a=JSON.parse(b),c=Number(a?.pid);if(!h(c))return null;return{pid:c,startToken:"string"==typeof a.startToken&&a.startToken?a.startToken:null,kind:"string"==typeof a.kind?a.kind:null,legacy:!1}}catch{return null}}a.exports={isValidPid:h,isProcessAlive:m,readProcessStartToken:k,readProcessCommand:l,writePidFile:function(a,b,{kind:c="process"}={}){let e=Number(b);if(!h(e))return!1;let f={v:1,kind:c,pid:e,startToken:k(e),platform:process.platform,writtenAt:new Date().toISOString()};try{let b=`${a}.${process.pid}.tmp`;return d.writeFileSync(b,JSON.stringify(f)),d.renameSync(b,a),!0}catch{return!1}},readPidFile:n,resolveVerifiedPid:function(a,{commandPattern:b=null}={}){let c=n(a);if(!c)return{pid:null,reason:"no_pid_file"};if(!m(c.pid))return{pid:null,reason:"not_running",pidFileStale:!0};let d=k(c.pid);if(c.startToken)return d?d!==c.startToken?{pid:null,reason:"pid_recycled",pidFileStale:!0}:{pid:c.pid,reason:"verified_start_token"}:{pid:null,reason:"identity_unreadable"};if(!b)return{pid:null,reason:"identity_unverifiable"};let e=l(c.pid);return e?b.test(e)?{pid:c.pid,reason:"verified_command"}:{pid:null,reason:"command_mismatch",pidFileStale:!0}:{pid:null,reason:"identity_unreadable"}},removePidFile:function(a){try{d.rmSync(a,{force:!0})}catch{}},parseLinuxStartTime:j}},21719:(a,b,c)=>{"use strict";c.d(b,{g:()=>n,l:()=>m});var d=c(79646),e=c(33873),f=c.n(e),g=c(29021),h=c.n(g),i=c(21820),j=c.n(i),k=c(30869),l=c(15754);async function m({excludePids:a=[]}={}){!function(){try{let a=f().join("win32"===process.platform?f().join(process.env.APPDATA||"","zevai"):f().join(j().homedir(),".zevai"),"mitm",".mitm.pid"),{pid:b}=(0,l.resolveVerifiedPid)(a,{commandPattern:/(mitm[\\/]server\.js|mitm[\\/]+server\b)/i});if(!b)return void(0,l.removePidFile)(a);if("win32"===process.platform)try{(0,d.execSync)(`taskkill /F /T /PID ${b}`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{try{(0,d.execSync)(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${b} -Force"`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{}}else try{(0,d.execSync)(`sudo -n kill -9 ${b} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{try{process.kill(b,"SIGKILL")}catch{}}(0,l.removePidFile)(a)}catch{}}();let b=function(a=[]){let b=[],c=process.platform,e=new Set([process.pid,...Array.isArray(a)?a:[]].filter(a=>null!=a).map(String));if("win32"===c){try{(0,d.execSync)('powershell -NonInteractive -WindowStyle Hidden -Command "Get-WmiObject Win32_Process -Filter \'Name=\\"node.exe\\"\' | Select-Object ProcessId,CommandLine | ConvertTo-Csv -NoTypeInformation"',{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").slice(1).filter(a=>a.trim()).forEach(a=>{let c=a.toLowerCase();if(c.includes("zevai")||c.includes("next-server")||c.includes("\\bin\\app\\")||c.includes("/bin/app/")||c.includes("cli.js")){let c=a.match(/^"(\d+)"/);c&&c[1]&&!e.has(c[1])&&b.push(c[1])}})}catch{}for(let a of["cloudflared","tray_windows_release"])try{let c=`powershell -NonInteractive -WindowStyle Hidden -Command "Get-Process ${a} -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Id"`;(0,d.execSync)(c,{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").forEach(a=>{let c=a.trim();!c||isNaN(c)||e.has(c)||b.push(c)})}catch{}}else try{(0,d.execSync)("ps aux 2>/dev/null",{encoding:"utf8",timeout:5e3}).split("\n").forEach(a=>{if(a.includes("zevai")||a.includes("next-server")||a.includes("cloudflared")||a.includes("/bin/app/")||a.includes("tray_darwin")||a.includes("tray_linux")){let c=a.trim().split(/\s+/)[1];!c||isNaN(c)||e.has(c)||b.push(c)}})}catch{}return b}(a),c=process.platform;b.forEach(a=>{try{"win32"===c?(0,d.execSync)(`taskkill /F /PID ${a} 2>nul`,{stdio:"ignore",shell:!0,windowsHide:!0,timeout:3e3}):(0,d.execSync)(`kill -9 ${a} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{}}),b.length>0&&await new Promise(a=>setTimeout(a,1500))}async function n(a=k.h0.npmPackageName){let b=function(a){try{if(!a||!h().existsSync(a))return a;let b=f().join(process.env.DATA_DIR?process.env.DATA_DIR:"win32"===process.platform?f().join(process.env.APPDATA||f().join(j().homedir(),"AppData","Roaming"),"zevai"):f().join(j().homedir(),".zevai"),"runtime","updater"),c=f().join(b,"updater.js");if(h().existsSync(c))try{if(h().statSync(a).size===h().statSync(c).size)return c}catch{}return h().mkdirSync(b,{recursive:!0}),h().copyFileSync(a,c),c}catch{return a}}(function(){if(process.env.UPDATER_SCRIPT_PATH&&h().existsSync(process.env.UPDATER_SCRIPT_PATH))return process.env.UPDATER_SCRIPT_PATH;let a=f().join(process.cwd(),"src","lib","updater","updater.js");if(h().existsSync(a))return a;let b=f().join(process.cwd(),"..","src","lib","updater","updater.js");return h().existsSync(b)?b:a}()),c="1"===process.env.TRAY_MODE,e={cmd:"win32"===process.platform?"npx.cmd":"npx",args:[k.h0.npmPackageName]},g=String(process.env.PORT||k.h0.appPort||1997),i=c?[...e.args,"--tray","--skip-update"]:[...e.args,"--port",g,"--no-browser","--skip-update","--log"],l=(0,d.spawn)(process.execPath,[b],{detached:!0,stdio:"ignore",windowsHide:!0,env:function(a={}){let b={...process.env,...a};return delete b.ZEVAI_LAUNCHD_JOB,delete b.XPC_SERVICE_NAME,b}({UPDATER_PKG_NAME:a||"zevairouter",UPDATER_PORT:String(k.h0.statusPort),UPDATER_TAIL_LINES:String(k.h0.statusLogTailLines),UPDATER_RETRIES:String(k.h0.installRetries),UPDATER_RETRY_DELAY_MS:String(k.h0.installRetryDelayMs),UPDATER_LINGER_MS:String(k.h0.lingerAfterDoneMs),UPDATER_WAIT_MIN_MS:String(k.h0.waitForExitMinMs),UPDATER_WAIT_MAX_MS:String(k.h0.waitForExitMaxMs),UPDATER_WAIT_CHECK_MS:String(k.h0.waitForExitCheckMs),UPDATER_APP_PORT:g,UPDATER_RELAUNCH:"1",UPDATER_RELAUNCH_CMD:e.cmd,UPDATER_RELAUNCH_ARGS:JSON.stringify(i),ZEVAI_SERVER_MODE:c?"":"1"})});l.unref();try{await m({excludePids:[l.pid]})}catch{}return setTimeout(()=>process.exit(0),k.h0.exitDelayMs),l.pid}},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,X3:()=>j,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(75681),f=c(81329);d.version;let g={npmPackageName:"zevairouter",installCmd:"npm i -g zevairouter",installCmdLatest:"npm i -g zevairouter@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:1997},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.5",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}},j={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"zevairouter","version":"1.0.196","description":"Self-hosted AI router: many providers, one OpenAI-compatible /v1 endpoint and dashboard","bin":{"zevai":"cli/cli.js"},"files":["cli/cli.js","cli/app/","cli/hooks/","cli/src/","cli/package.json","cli/README.md","cli/LICENSE","scripts/start-standalone.mjs","README.md","README.zh-CN.md","DOCKER.md","LICENSE","CHANGELOG.md"],"scripts":{"dev":"next dev --webpack --port 1997","build":"node scripts/build-app.mjs","start":"node ./scripts/start-standalone.mjs","dev:bun":"bun --bun next dev --webpack --port 1997","build:bun":"bun --bun next build --webpack","start:bun":"bun ./.next/standalone/server.js","lint":"eslint .","test":"vitest run --config tests/vitest.config.js","build:cli":"node cli/scripts/build-cli.js","audit:package":"node cli/scripts/audit-package.mjs","smoke:package":"node cli/scripts/smoke-package.mjs","release":"node cli/scripts/release.js","prepack":"npm run build:cli && npm run audit:package","postinstall":"node cli/hooks/postinstall.js"},"dependencies":{"next":"16.2.12","node-machine-id":"1.1.12","react":"19.2.4","react-dom":"19.2.4","sql.js":"1.14.1","yaml":"2.9.0"},"comment_optional_runtime":"Optional packages are installed into ~/.zevai/runtime instead of the published tarball. Automation uses CloakBrowser with playwright-core; ZEVAI_MINIMAL_POSTINSTALL=1 skips its browser download. Other lazy runtimes are better-sqlite3, node-pty, and systray2.","overrides":{"body-parser":"^2.3.0","brace-expansion":"5.0.9","dompurify":"^3.4.12","ip-address":"^10.4.0","postcss":"^8.5.10","sharp":"^0.35.0"},"comment_overrides":"Security floors for transitive dependencies. ESLint\'s legacy minimatch is a private, source-pinned 3.1.5 compatibility package backed by brace-expansion 5.0.9; modern minimatch uses 5.0.9 directly. Monaco still pins an old DOMPurify; Express and Next may resolve vulnerable body-parser/sharp releases. Recheck and remove overrides once parent packages require fixed versions.","devDependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","@tailwindcss/postcss":"^4.1.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","@xterm/xterm":"^6.0.0","@xyflow/react":"^12.10.1","bcryptjs":"^3.0.3","better-sqlite3":"^12.6.2","chalk":"^4.1.2","minimatch":"file:vendor/minimatch3-secure","confbox":"^0.2.4","dompurify":"^3.4.12","esbuild":"^0.28.1","eslint":"^9","eslint-config-next":"16.2.9","express":"^5.2.1","http-proxy-middleware":"^3.0.7","jose":"^6.1.3","marked":"^18.0.1","material-symbols":"^0.45.1","monaco-editor":"^0.55.1","node-forge":"^1.3.3","open":"^11.0.0","ora":"^9.1.0","postcss":"^8.5.10","prop-types":"^15.8.1","react-is":"^19.2.7","recharts":"^3.7.0","selfsigned":"^5.5.0","socks":"^2.8.9","socks-proxy-agent":"^10.1.0","tailwindcss":"^4","undici":"^8.10.0","uuid":"^14.0.1","vitest":"^4.1.10","zustand":"^5.0.10"},"engines":{"node":">=22.5.0"},"keywords":["zevairouter","zevai","ai","router","proxy","kiro","codebuddy","claude","openai","api","quota","automation"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Verifiedlabs/zevairouter.git"},"bugs":{"url":"https://github.com/Verifiedlabs/zevairouter/issues"},"homepage":"https://github.com/Verifiedlabs/zevairouter"}')},78335:()=>{},81329:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},96487:()=>{}};
@@ -3,7 +3,7 @@ MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA8iMH5c02LilrsERw9t6Pv5Nc
3
3
  4k6Pz1EaDicBMpdpxKduSZu5OANqUq8er4GM95omAGIOPOh+Nx0spthYA2BqGz+l
4
4
  6HRkPJ7S236FZz73In/KVuLnwI8JJ2CbuJap8kvheCCZpmAWpb/cPx/3Vr/J6I17
5
5
  XcW+ML9FoCI6AOvOzwIDAQAB
6
- -----END PUBLIC KEY-----`},39006:a=>{a.exports=JSON.parse('{"name":"zevairouter","version":"1.0.195","description":"Self-hosted AI router: many providers, one OpenAI-compatible /v1 endpoint and dashboard","bin":{"zevai":"cli/cli.js"},"files":["cli/cli.js","cli/app/","cli/hooks/","cli/src/","cli/package.json","cli/README.md","cli/LICENSE","scripts/start-standalone.mjs","README.md","README.zh-CN.md","DOCKER.md","LICENSE","CHANGELOG.md"],"scripts":{"dev":"next dev --webpack --port 1997","build":"node scripts/build-app.mjs","start":"node ./scripts/start-standalone.mjs","dev:bun":"bun --bun next dev --webpack --port 1997","build:bun":"bun --bun next build --webpack","start:bun":"bun ./.next/standalone/server.js","lint":"eslint .","test":"vitest run --config tests/vitest.config.js","build:cli":"node cli/scripts/build-cli.js","audit:package":"node cli/scripts/audit-package.mjs","smoke:package":"node cli/scripts/smoke-package.mjs","release":"node cli/scripts/release.js","prepack":"npm run build:cli && npm run audit:package","postinstall":"node cli/hooks/postinstall.js"},"dependencies":{"next":"16.2.12","node-machine-id":"1.1.12","react":"19.2.4","react-dom":"19.2.4","sql.js":"1.14.1","yaml":"2.9.0"},"comment_optional_runtime":"Optional packages are installed into ~/.zevai/runtime instead of the published tarball. Automation uses CloakBrowser with playwright-core; ZEVAI_MINIMAL_POSTINSTALL=1 skips its browser download. Other lazy runtimes are better-sqlite3, node-pty, and systray2.","overrides":{"body-parser":"^2.3.0","brace-expansion":"5.0.9","dompurify":"^3.4.12","ip-address":"^10.4.0","postcss":"^8.5.10","sharp":"^0.35.0"},"comment_overrides":"Security floors for transitive dependencies. ESLint\'s legacy minimatch is a private, source-pinned 3.1.5 compatibility package backed by brace-expansion 5.0.9; modern minimatch uses 5.0.9 directly. Monaco still pins an old DOMPurify; Express and Next may resolve vulnerable body-parser/sharp releases. Recheck and remove overrides once parent packages require fixed versions.","devDependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","@tailwindcss/postcss":"^4.1.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","@xterm/xterm":"^6.0.0","@xyflow/react":"^12.10.1","bcryptjs":"^3.0.3","better-sqlite3":"^12.6.2","chalk":"^4.1.2","minimatch":"file:vendor/minimatch3-secure","confbox":"^0.2.4","dompurify":"^3.4.12","esbuild":"^0.28.1","eslint":"^9","eslint-config-next":"16.2.9","express":"^5.2.1","http-proxy-middleware":"^3.0.7","jose":"^6.1.3","marked":"^18.0.1","material-symbols":"^0.45.1","monaco-editor":"^0.55.1","node-forge":"^1.3.3","open":"^11.0.0","ora":"^9.1.0","postcss":"^8.5.10","prop-types":"^15.8.1","react-is":"^19.2.7","recharts":"^3.7.0","selfsigned":"^5.5.0","socks":"^2.8.9","socks-proxy-agent":"^10.1.0","tailwindcss":"^4","undici":"^8.10.0","uuid":"^14.0.1","vitest":"^4.1.10","zustand":"^5.0.10"},"engines":{"node":">=22.5.0"},"keywords":["zevairouter","zevai","ai","router","proxy","kiro","codebuddy","claude","openai","api","quota","automation"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Verifiedlabs/zevairouter.git"},"bugs":{"url":"https://github.com/Verifiedlabs/zevairouter/issues"},"homepage":"https://github.com/Verifiedlabs/zevairouter"}')},52007:(a,b,c)=>{c.d(b,{av:()=>o,gK:()=>m});var d=c(55511),e=c(39609);let f="https://llm.kimchi.dev",g=new Set([429,500,502,503,504]),h=new Map,i=new Map;function j(a){return(("string"==typeof a?a.trim():"")||f).replace(/\/+$/,"")}function k(a){return a?.accessToken||a?.apiKey||a?.providerSpecificData?.apiKey||null}function l(a){if(!a||"object"!=typeof a)return null;let b=a.slug||a.id||a.model||a.name;if("string"!=typeof b||""===b.trim())return null;let c=Array.isArray(a.input_modalities)?a.input_modalities.filter(a=>"text"===a||"image"===a):[],d=a.limits&&"object"==typeof a.limits?a.limits:{},e=Number(d.context_window||a.contextLength||a.context_length)||void 0,f=Number(d.max_output_tokens||a.maxOutputTokens||a.max_output_tokens)||void 0,g="string"==typeof a.provider?a.provider:"",h=!0===a.reasoning,i=Array.isArray(c)&&c.includes("image")?"imageToText":"llm",j={...a,id:b.trim(),name:String(a.display_name||a.displayName||a.name||b).trim(),provider:g,upstreamProvider:g,reasoning:h,inputModalities:c,kind:i,type:i,capabilities:{vision:c.includes("image"),reasoning:h,...e?{contextWindow:e}:{},...f?{maxOutput:f}:{},...g?{upstreamProvider:g}:{}},...e?{contextLength:e}:{},...f?{maxOutputTokens:f}:{}};return"anthropic"===g&&(j.compat={supportsReasoningEffort:!1,cacheControlFormat:"anthropic"}),j}function m(a){if("string"!=typeof a||""===a.trim())return null;let b=a.includes("/")?a.split("/").pop():a;return i.get(b)||i.get(b.toLowerCase())||null}async function n(a,b,c={}){let d=`${j(b)}/v1/models/metadata?include_in_cli=true`,f=new AbortController,h=setTimeout(()=>f.abort(Error("Kimchi models fetch timeout")),2e4),i=c.signal?AbortSignal.any([c.signal,f.signal]):f.signal;try{let b=await (0,e.proxyAwareFetch)(d,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${a}`,"User-Agent":"kimchi/0.1.40"},cache:"no-store",signal:i},c.proxyOptions||null);if(!b.ok){let a=Error(`Kimchi models ${b.status}: ${b.statusText}`);throw a.status=b.status,a.retryable=g.has(b.status),a}let f=await b.json();return Array.isArray(f?.models)?f.models:[]}finally{clearTimeout(h)}}async function o(a,b={}){let c,e,g,m=k(a);if(!m)return null;let p=a?.providerSpecificData?.kimchiEndpoint||b.endpoint||f,q=(g=(e=a?.providerSpecificData||{}).userId||e.username||a?.refreshToken||k(a)||"anonymous",(0,d.createHash)("sha256").update(`kimchi:${j(p)}:${g}`).digest("hex")),r=Date.now();if(!b.forceRefresh){let a=h.get(q);if(a&&a.expiresAt>r)return a}try{c=await n(m,p,b)}catch(a){return b.log?.warn?.("KIMCHI_MODELS",a.message),null}let s=c.map(l).filter(Boolean);if(0===s.length)return null;for(let a of s||[])a?.id&&(i.set(a.id,a),i.set(a.id.toLowerCase(),a));let t={expiresAt:Date.now()+3e5,models:s,rawModels:c};return h.set(q,t),t}},53225:(a,b,c)=>{c.d(b,{EV:()=>l,X5:()=>k});var d=c(55511),e=c(39609),f=c(78085),g=c(30022);let h=new Map,i=new Map;async function j(a,b,c=null){let d,h,i={userId:(h=a?.providerSpecificData||{}).userId,authToken:a.accessToken,name:a.displayName||"",email:a.email||"",machineId:h.machineId||""};if(!i.userId||!i.authToken)return null;let k={Accept:"application/json","Accept-Encoding":"identity",...(0,f.d)(Buffer.alloc(0),g.t6,i)},l=new AbortController,m=null,n=null;try{m=setTimeout(()=>l.abort("timeout"),15e3),b&&"function"==typeof b.addEventListener&&(b.aborted?l.abort(b.reason):(n=()=>l.abort(b.reason),b.addEventListener("abort",n))),d=await (0,e.proxyAwareFetch)(g.t6,{method:"GET",headers:k,signal:l.signal},c)}finally{m&&clearTimeout(m),b&&n&&b.removeEventListener("abort",n)}if(!d.ok)return null;let o=await d.json().catch(()=>null);if(!o||!Array.isArray(o.chat))return null;let p=[],q=new Map;for(let a of o.chat){if(!a||"object"!=typeof a)continue;let b=a.key;if(!b||(q.set(b,a),!1===a.enable))continue;let c=a.display_name||b,d=Number(a.max_input_tokens)||131072;p.push({id:b,name:`${c}`,contextLength:d,isVL:!!a.is_vl,isReasoning:!!a.is_reasoning,maxOutputTokens:Number(a.max_output_tokens)||0,description:a.description||""})}return{models:p,rawConfigs:q}}async function k(a,b,c={}){let d=await l(a,c);if(!d)return null;let e=d.rawConfigs.get(b);return e?{...e,key:b}:null}async function l(a,b={}){let c;if(!a?.accessToken||!(a.providerSpecificData||{}).userId)return null;let e=(c=(a?.providerSpecificData||{}).userId||a?.refreshToken||a?.accessToken||"anonymous",(0,d.createHash)("sha256").update(`qoder:${c}`).digest("hex")),f=Date.now();if(!b.forceRefresh){let a=h.get(e);if(a&&a.expiresAt>f)return a}let g=i.get(e);if(g&&!b.forceRefresh)return g;let k=(async()=>{let c=await j(a,b.signal,b.proxyOptions);if(!c)return null;let d={expiresAt:Date.now()+36e5,models:c.models,rawConfigs:c.rawConfigs,fetched:!0};return h.set(e,d),d})();i.set(e,k);try{return await k}finally{i.get(e)===k&&i.delete(e)}}},78085:(a,b,c)=>{c.d(b,{d:()=>i});var d=c(55511),e=c.n(d),f=c(47293),g=c(30022);function h(a){return e().createHash("md5").update(a).digest("hex")}function i(a,b,c){var d;let i,j;if(!c?.userId)throw Error("cosy: user id is empty");if(!c?.authToken)throw Error("cosy: auth token is empty");let k=Buffer.isBuffer(a)?a:"string"==typeof a?Buffer.from(a,"latin1"):Buffer.from(a||[]),{cosyKey:l,info:m}=(d={uid:c.userId,security_oauth_token:c.authToken,name:c.name||"",aid:"",email:c.email||""},i=(0,f.A)().slice(0,16),j=function(a,b){var c;let d,f,g=Buffer.from(b,"utf8");if(16!==g.length)throw Error(`aes key must be 16 bytes, got ${g.length}`);let h=g.subarray(0,16),i=e().createCipheriv("aes-128-cbc",g,h);i.setAutoPadding(!1);let j=(d=16-(c=Buffer.from(a,"utf8")).length%16,f=Buffer.alloc(c.length+d,d),c.copy(f,0),f);return Buffer.concat([i.update(j),i.final()]).toString("base64")}(JSON.stringify(d),i),{cosyKey:e().publicEncrypt({key:g.pr,padding:e().constants.RSA_PKCS1_PADDING},Buffer.from(i,"utf8")).toString("base64"),info:j}),n=String(Math.floor(Date.now()/1e3)),o=JSON.stringify({version:"v1",requestId:(0,f.A)(),info:m,cosyVersion:g.cT,ideVersion:""}),p=Buffer.from(o,"utf8").toString("base64"),q=function(a){let b;try{b=new URL(a).pathname||""}catch{return""}return b.startsWith("/algo")?b.slice(5):b}(b),r=`${p}
6
+ -----END PUBLIC KEY-----`},39006:a=>{a.exports=JSON.parse('{"name":"zevairouter","version":"1.0.196","description":"Self-hosted AI router: many providers, one OpenAI-compatible /v1 endpoint and dashboard","bin":{"zevai":"cli/cli.js"},"files":["cli/cli.js","cli/app/","cli/hooks/","cli/src/","cli/package.json","cli/README.md","cli/LICENSE","scripts/start-standalone.mjs","README.md","README.zh-CN.md","DOCKER.md","LICENSE","CHANGELOG.md"],"scripts":{"dev":"next dev --webpack --port 1997","build":"node scripts/build-app.mjs","start":"node ./scripts/start-standalone.mjs","dev:bun":"bun --bun next dev --webpack --port 1997","build:bun":"bun --bun next build --webpack","start:bun":"bun ./.next/standalone/server.js","lint":"eslint .","test":"vitest run --config tests/vitest.config.js","build:cli":"node cli/scripts/build-cli.js","audit:package":"node cli/scripts/audit-package.mjs","smoke:package":"node cli/scripts/smoke-package.mjs","release":"node cli/scripts/release.js","prepack":"npm run build:cli && npm run audit:package","postinstall":"node cli/hooks/postinstall.js"},"dependencies":{"next":"16.2.12","node-machine-id":"1.1.12","react":"19.2.4","react-dom":"19.2.4","sql.js":"1.14.1","yaml":"2.9.0"},"comment_optional_runtime":"Optional packages are installed into ~/.zevai/runtime instead of the published tarball. Automation uses CloakBrowser with playwright-core; ZEVAI_MINIMAL_POSTINSTALL=1 skips its browser download. Other lazy runtimes are better-sqlite3, node-pty, and systray2.","overrides":{"body-parser":"^2.3.0","brace-expansion":"5.0.9","dompurify":"^3.4.12","ip-address":"^10.4.0","postcss":"^8.5.10","sharp":"^0.35.0"},"comment_overrides":"Security floors for transitive dependencies. ESLint\'s legacy minimatch is a private, source-pinned 3.1.5 compatibility package backed by brace-expansion 5.0.9; modern minimatch uses 5.0.9 directly. Monaco still pins an old DOMPurify; Express and Next may resolve vulnerable body-parser/sharp releases. Recheck and remove overrides once parent packages require fixed versions.","devDependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","@tailwindcss/postcss":"^4.1.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","@xterm/xterm":"^6.0.0","@xyflow/react":"^12.10.1","bcryptjs":"^3.0.3","better-sqlite3":"^12.6.2","chalk":"^4.1.2","minimatch":"file:vendor/minimatch3-secure","confbox":"^0.2.4","dompurify":"^3.4.12","esbuild":"^0.28.1","eslint":"^9","eslint-config-next":"16.2.9","express":"^5.2.1","http-proxy-middleware":"^3.0.7","jose":"^6.1.3","marked":"^18.0.1","material-symbols":"^0.45.1","monaco-editor":"^0.55.1","node-forge":"^1.3.3","open":"^11.0.0","ora":"^9.1.0","postcss":"^8.5.10","prop-types":"^15.8.1","react-is":"^19.2.7","recharts":"^3.7.0","selfsigned":"^5.5.0","socks":"^2.8.9","socks-proxy-agent":"^10.1.0","tailwindcss":"^4","undici":"^8.10.0","uuid":"^14.0.1","vitest":"^4.1.10","zustand":"^5.0.10"},"engines":{"node":">=22.5.0"},"keywords":["zevairouter","zevai","ai","router","proxy","kiro","codebuddy","claude","openai","api","quota","automation"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Verifiedlabs/zevairouter.git"},"bugs":{"url":"https://github.com/Verifiedlabs/zevairouter/issues"},"homepage":"https://github.com/Verifiedlabs/zevairouter"}')},52007:(a,b,c)=>{c.d(b,{av:()=>o,gK:()=>m});var d=c(55511),e=c(39609);let f="https://llm.kimchi.dev",g=new Set([429,500,502,503,504]),h=new Map,i=new Map;function j(a){return(("string"==typeof a?a.trim():"")||f).replace(/\/+$/,"")}function k(a){return a?.accessToken||a?.apiKey||a?.providerSpecificData?.apiKey||null}function l(a){if(!a||"object"!=typeof a)return null;let b=a.slug||a.id||a.model||a.name;if("string"!=typeof b||""===b.trim())return null;let c=Array.isArray(a.input_modalities)?a.input_modalities.filter(a=>"text"===a||"image"===a):[],d=a.limits&&"object"==typeof a.limits?a.limits:{},e=Number(d.context_window||a.contextLength||a.context_length)||void 0,f=Number(d.max_output_tokens||a.maxOutputTokens||a.max_output_tokens)||void 0,g="string"==typeof a.provider?a.provider:"",h=!0===a.reasoning,i=Array.isArray(c)&&c.includes("image")?"imageToText":"llm",j={...a,id:b.trim(),name:String(a.display_name||a.displayName||a.name||b).trim(),provider:g,upstreamProvider:g,reasoning:h,inputModalities:c,kind:i,type:i,capabilities:{vision:c.includes("image"),reasoning:h,...e?{contextWindow:e}:{},...f?{maxOutput:f}:{},...g?{upstreamProvider:g}:{}},...e?{contextLength:e}:{},...f?{maxOutputTokens:f}:{}};return"anthropic"===g&&(j.compat={supportsReasoningEffort:!1,cacheControlFormat:"anthropic"}),j}function m(a){if("string"!=typeof a||""===a.trim())return null;let b=a.includes("/")?a.split("/").pop():a;return i.get(b)||i.get(b.toLowerCase())||null}async function n(a,b,c={}){let d=`${j(b)}/v1/models/metadata?include_in_cli=true`,f=new AbortController,h=setTimeout(()=>f.abort(Error("Kimchi models fetch timeout")),2e4),i=c.signal?AbortSignal.any([c.signal,f.signal]):f.signal;try{let b=await (0,e.proxyAwareFetch)(d,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${a}`,"User-Agent":"kimchi/0.1.40"},cache:"no-store",signal:i},c.proxyOptions||null);if(!b.ok){let a=Error(`Kimchi models ${b.status}: ${b.statusText}`);throw a.status=b.status,a.retryable=g.has(b.status),a}let f=await b.json();return Array.isArray(f?.models)?f.models:[]}finally{clearTimeout(h)}}async function o(a,b={}){let c,e,g,m=k(a);if(!m)return null;let p=a?.providerSpecificData?.kimchiEndpoint||b.endpoint||f,q=(g=(e=a?.providerSpecificData||{}).userId||e.username||a?.refreshToken||k(a)||"anonymous",(0,d.createHash)("sha256").update(`kimchi:${j(p)}:${g}`).digest("hex")),r=Date.now();if(!b.forceRefresh){let a=h.get(q);if(a&&a.expiresAt>r)return a}try{c=await n(m,p,b)}catch(a){return b.log?.warn?.("KIMCHI_MODELS",a.message),null}let s=c.map(l).filter(Boolean);if(0===s.length)return null;for(let a of s||[])a?.id&&(i.set(a.id,a),i.set(a.id.toLowerCase(),a));let t={expiresAt:Date.now()+3e5,models:s,rawModels:c};return h.set(q,t),t}},53225:(a,b,c)=>{c.d(b,{EV:()=>l,X5:()=>k});var d=c(55511),e=c(39609),f=c(78085),g=c(30022);let h=new Map,i=new Map;async function j(a,b,c=null){let d,h,i={userId:(h=a?.providerSpecificData||{}).userId,authToken:a.accessToken,name:a.displayName||"",email:a.email||"",machineId:h.machineId||""};if(!i.userId||!i.authToken)return null;let k={Accept:"application/json","Accept-Encoding":"identity",...(0,f.d)(Buffer.alloc(0),g.t6,i)},l=new AbortController,m=null,n=null;try{m=setTimeout(()=>l.abort("timeout"),15e3),b&&"function"==typeof b.addEventListener&&(b.aborted?l.abort(b.reason):(n=()=>l.abort(b.reason),b.addEventListener("abort",n))),d=await (0,e.proxyAwareFetch)(g.t6,{method:"GET",headers:k,signal:l.signal},c)}finally{m&&clearTimeout(m),b&&n&&b.removeEventListener("abort",n)}if(!d.ok)return null;let o=await d.json().catch(()=>null);if(!o||!Array.isArray(o.chat))return null;let p=[],q=new Map;for(let a of o.chat){if(!a||"object"!=typeof a)continue;let b=a.key;if(!b||(q.set(b,a),!1===a.enable))continue;let c=a.display_name||b,d=Number(a.max_input_tokens)||131072;p.push({id:b,name:`${c}`,contextLength:d,isVL:!!a.is_vl,isReasoning:!!a.is_reasoning,maxOutputTokens:Number(a.max_output_tokens)||0,description:a.description||""})}return{models:p,rawConfigs:q}}async function k(a,b,c={}){let d=await l(a,c);if(!d)return null;let e=d.rawConfigs.get(b);return e?{...e,key:b}:null}async function l(a,b={}){let c;if(!a?.accessToken||!(a.providerSpecificData||{}).userId)return null;let e=(c=(a?.providerSpecificData||{}).userId||a?.refreshToken||a?.accessToken||"anonymous",(0,d.createHash)("sha256").update(`qoder:${c}`).digest("hex")),f=Date.now();if(!b.forceRefresh){let a=h.get(e);if(a&&a.expiresAt>f)return a}let g=i.get(e);if(g&&!b.forceRefresh)return g;let k=(async()=>{let c=await j(a,b.signal,b.proxyOptions);if(!c)return null;let d={expiresAt:Date.now()+36e5,models:c.models,rawConfigs:c.rawConfigs,fetched:!0};return h.set(e,d),d})();i.set(e,k);try{return await k}finally{i.get(e)===k&&i.delete(e)}}},78085:(a,b,c)=>{c.d(b,{d:()=>i});var d=c(55511),e=c.n(d),f=c(47293),g=c(30022);function h(a){return e().createHash("md5").update(a).digest("hex")}function i(a,b,c){var d;let i,j;if(!c?.userId)throw Error("cosy: user id is empty");if(!c?.authToken)throw Error("cosy: auth token is empty");let k=Buffer.isBuffer(a)?a:"string"==typeof a?Buffer.from(a,"latin1"):Buffer.from(a||[]),{cosyKey:l,info:m}=(d={uid:c.userId,security_oauth_token:c.authToken,name:c.name||"",aid:"",email:c.email||""},i=(0,f.A)().slice(0,16),j=function(a,b){var c;let d,f,g=Buffer.from(b,"utf8");if(16!==g.length)throw Error(`aes key must be 16 bytes, got ${g.length}`);let h=g.subarray(0,16),i=e().createCipheriv("aes-128-cbc",g,h);i.setAutoPadding(!1);let j=(d=16-(c=Buffer.from(a,"utf8")).length%16,f=Buffer.alloc(c.length+d,d),c.copy(f,0),f);return Buffer.concat([i.update(j),i.final()]).toString("base64")}(JSON.stringify(d),i),{cosyKey:e().publicEncrypt({key:g.pr,padding:e().constants.RSA_PKCS1_PADDING},Buffer.from(i,"utf8")).toString("base64"),info:j}),n=String(Math.floor(Date.now()/1e3)),o=JSON.stringify({version:"v1",requestId:(0,f.A)(),info:m,cosyVersion:g.cT,ideVersion:""}),p=Buffer.from(o,"utf8").toString("base64"),q=function(a){let b;try{b=new URL(a).pathname||""}catch{return""}return b.startsWith("/algo")?b.slice(5):b}(b),r=`${p}
7
7
  ${l}
8
8
  ${n}
9
9
  ${k.toString("latin1")}