zevairouter 1.0.51 → 1.0.53

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 (945) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/cli/app/.next-cli-build/BUILD_ID +1 -1
  3. package/cli/app/.next-cli-build/app-path-routes-manifest.json +26 -23
  4. package/cli/app/.next-cli-build/build-manifest.json +2 -2
  5. package/cli/app/.next-cli-build/routes-manifest.json +18 -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 +3 -3
  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 +2 -2
  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 +3 -3
  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 +3 -3
  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/terminal/page.js +4 -4
  51. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
  52. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  53. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  54. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  55. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  56. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  57. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  58. package/cli/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  59. package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  60. package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
  61. package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  62. package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  63. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  64. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  65. package/cli/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  66. package/cli/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  67. package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  68. package/cli/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  69. package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  70. package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
  71. package/cli/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  72. package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  73. package/cli/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  74. package/cli/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  75. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  76. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  77. package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  78. package/cli/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  79. package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  80. package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  81. package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  82. package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  83. package/cli/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  84. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +2 -2
  85. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  86. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  87. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
  88. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  89. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js +1 -1
  90. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  91. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
  92. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  93. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  94. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  95. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  96. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  97. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  98. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +1 -1
  99. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  100. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  101. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  102. package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  103. package/cli/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  104. package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js +1 -1
  105. package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js +1 -1
  106. package/cli/app/.next-cli-build/server/app/api/context/route.js +1 -1
  107. package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js +1 -1
  108. package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  109. package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  110. package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  111. package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  112. package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  113. package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  114. package/cli/app/.next-cli-build/server/app/api/health/route.js +1 -1
  115. package/cli/app/.next-cli-build/server/app/api/init/route.js +1 -1
  116. package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  117. package/cli/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  118. package/cli/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  119. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  120. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
  121. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  122. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  123. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  124. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  125. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  126. package/cli/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  127. package/cli/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  128. package/cli/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  129. package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  130. package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
  131. package/cli/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  132. package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  133. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js +1 -1
  134. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  135. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js +1 -1
  136. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js +1 -1
  137. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js +1 -1
  138. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/cancel/route.js +1 -1
  139. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  140. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/route.js +1 -1
  141. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/latest/route.js +1 -1
  142. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/route.js +1 -1
  143. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js +1 -1
  144. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  145. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js +1 -1
  146. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js +1 -1
  147. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js +1 -1
  148. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js +1 -1
  149. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js +1 -1
  150. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js +1 -1
  151. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  152. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js +1 -1
  153. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js +1 -1
  154. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
  155. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js +1 -1
  156. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js +1 -1
  157. package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  158. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  159. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  160. package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  161. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route.js +1 -1
  162. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  163. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/route.js +1 -1
  164. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/latest/route.js +1 -1
  165. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
  166. package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  167. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  168. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js +1 -1
  169. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  170. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js +1 -1
  171. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js +1 -1
  172. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js +1 -1
  173. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  174. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  175. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  176. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js +1 -1
  177. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  178. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js +1 -1
  179. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js +1 -1
  180. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js +1 -1
  181. package/cli/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  182. package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  183. package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  184. package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  185. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  186. package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  187. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  188. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  189. package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js +1 -1
  190. package/cli/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  191. package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  192. package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  193. package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  194. package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  195. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  196. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  197. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  198. package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  199. package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  200. package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  201. package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  202. package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  203. package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  204. package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  205. package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js +1 -1
  206. package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
  207. package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  208. package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  209. package/cli/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  210. package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  211. package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  212. package/cli/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  213. package/cli/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  214. package/cli/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  215. package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js +1 -0
  216. package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js.nft.json +1 -0
  217. package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route_client-reference-manifest.js +1 -0
  218. package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js +1 -0
  219. package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js.nft.json +1 -0
  220. package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route_client-reference-manifest.js +1 -0
  221. package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js +1 -0
  222. package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js.nft.json +1 -0
  223. package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route_client-reference-manifest.js +1 -0
  224. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js +2 -2
  225. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js.nft.json +1 -1
  226. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js +2 -2
  227. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js.nft.json +1 -1
  228. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js +2 -2
  229. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js.nft.json +1 -1
  230. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js +4 -4
  231. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js.nft.json +1 -1
  232. package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js +2 -2
  233. package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js.nft.json +1 -1
  234. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  235. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  236. package/cli/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  237. package/cli/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  238. package/cli/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  239. package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  240. package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  241. package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  242. package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  243. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  244. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  245. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  246. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  247. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  248. package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js +1 -1
  249. package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  250. package/cli/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  251. package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  252. package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  253. package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  254. package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  255. package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  256. package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  257. package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  258. package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  259. package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  260. package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  261. package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  262. package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  263. package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  264. package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  265. package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  266. package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  267. package/cli/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  268. package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  269. package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  270. package/cli/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  271. package/cli/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  272. package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  273. package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  274. package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  275. package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
  276. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  277. package/cli/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  278. package/cli/app/.next-cli-build/server/app/callback/page.js +2 -2
  279. package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  280. package/cli/app/.next-cli-build/server/app/callback.html +1 -1
  281. package/cli/app/.next-cli-build/server/app/callback.rsc +4 -4
  282. package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  283. package/cli/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  284. package/cli/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  285. package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  286. package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  287. package/cli/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  288. package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
  289. package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +6 -6
  290. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +2 -2
  291. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation.segment.rsc +1 -1
  292. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  293. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  294. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +6 -6
  295. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_head.segment.rsc +1 -1
  296. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_index.segment.rsc +4 -4
  297. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +2 -2
  298. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  299. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  300. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  301. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  302. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  303. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  304. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  305. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  306. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  307. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  308. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  309. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  310. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  311. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  312. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  313. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  314. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  315. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  316. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  317. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  318. package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  319. package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  320. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  321. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  322. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  323. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  324. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  325. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  326. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  327. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  328. package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
  329. package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +6 -6
  330. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +2 -2
  331. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context.segment.rsc +1 -1
  332. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  333. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  334. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +6 -6
  335. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_head.segment.rsc +1 -1
  336. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_index.segment.rsc +4 -4
  337. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +2 -2
  338. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  339. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
  340. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  341. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  342. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  343. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  344. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  345. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  346. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  347. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  348. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  349. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  350. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  351. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  352. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  353. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  354. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  355. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  356. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  357. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  358. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  359. package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  360. package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  361. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  362. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  363. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  364. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  365. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  366. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  367. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  368. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  369. package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
  370. package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +6 -6
  371. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +2 -2
  372. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground.segment.rsc +1 -1
  373. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  374. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  375. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +6 -6
  376. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_head.segment.rsc +1 -1
  377. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_index.segment.rsc +4 -4
  378. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +2 -2
  379. package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  380. package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
  381. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  382. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  383. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  384. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  385. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  386. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  387. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  388. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  389. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  390. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  391. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  392. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  393. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  394. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  395. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  396. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  397. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  398. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  399. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  400. package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  401. package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  402. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  403. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  404. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  405. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  406. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  407. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  408. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  409. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  410. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  411. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  412. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  413. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  414. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  415. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  416. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  417. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  418. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  419. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  420. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  421. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +6 -6
  422. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  423. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  424. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  425. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  426. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +6 -6
  427. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  428. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +4 -4
  429. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  430. package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  431. package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  432. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  433. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  434. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  435. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  436. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  437. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  438. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  439. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  440. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  441. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  442. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  443. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  444. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  445. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  446. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  447. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  448. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  449. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  450. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  451. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  452. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  453. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
  454. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  455. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  456. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  457. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  458. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
  459. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  460. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +4 -4
  461. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  462. package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  463. package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  464. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  465. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  466. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  467. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  468. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  469. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  470. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  471. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  472. package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  473. package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  474. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  475. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  476. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  477. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  478. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  479. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  480. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  481. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  482. package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
  483. package/cli/app/.next-cli-build/server/app/dashboard.rsc +6 -6
  484. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  485. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  486. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  487. package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
  488. package/cli/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  489. package/cli/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  490. package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  491. package/cli/app/.next-cli-build/server/app/index.html +1 -1
  492. package/cli/app/.next-cli-build/server/app/index.rsc +4 -4
  493. package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  494. package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  495. package/cli/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  496. package/cli/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  497. package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  498. package/cli/app/.next-cli-build/server/app/landing/page.js +2 -2
  499. package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  500. package/cli/app/.next-cli-build/server/app/landing.html +1 -1
  501. package/cli/app/.next-cli-build/server/app/landing.rsc +4 -4
  502. package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  503. package/cli/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  504. package/cli/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  505. package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  506. package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  507. package/cli/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  508. package/cli/app/.next-cli-build/server/app/login/page.js +2 -2
  509. package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  510. package/cli/app/.next-cli-build/server/app/login.html +1 -1
  511. package/cli/app/.next-cli-build/server/app/login.rsc +5 -5
  512. package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  513. package/cli/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  514. package/cli/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  515. package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  516. package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  517. package/cli/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  518. package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  519. package/cli/app/.next-cli-build/server/app/page.js +2 -2
  520. package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  521. package/cli/app/.next-cli-build/server/app-paths-manifest.json +26 -23
  522. package/cli/app/.next-cli-build/server/chunks/3407.js +1 -1
  523. package/cli/app/.next-cli-build/server/chunks/412.js +1 -1
  524. package/cli/app/.next-cli-build/server/chunks/4746.js +1 -1
  525. package/cli/app/.next-cli-build/server/chunks/6896.js +1 -1
  526. package/cli/app/.next-cli-build/server/chunks/7276.js +1 -1
  527. package/cli/app/.next-cli-build/server/functions-config-manifest.json +3 -0
  528. package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  529. package/cli/app/.next-cli-build/server/middleware.js +3 -3
  530. package/cli/app/.next-cli-build/server/pages/404.html +1 -1
  531. package/cli/app/.next-cli-build/server/pages/500.html +1 -1
  532. package/cli/app/.next-cli-build/static/KZ2mKpiM-80Yd5c6nmIun/_buildManifest.js +1 -0
  533. package/cli/app/.next-cli-build/static/chunks/{3702-926afc1c4cf26274.js → 3702-f8a85fe02d121762.js} +1 -1
  534. package/cli/app/.next-cli-build/static/chunks/5497-dd4fed7ea355e6ad.js +7 -0
  535. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/terminal/page-72854e35a9d5f79d.js +4 -0
  536. package/cli/app/.next-cli-build/static/chunks/app/_global-error/page-681acef8f1a284f5.js +1 -0
  537. package/cli/app/.next-cli-build/static/chunks/app/api/auth/login/route-681acef8f1a284f5.js +1 -0
  538. package/cli/app/.next-cli-build/static/chunks/app/api/auth/logout/route-681acef8f1a284f5.js +1 -0
  539. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-681acef8f1a284f5.js +1 -0
  540. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-681acef8f1a284f5.js +1 -0
  541. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-681acef8f1a284f5.js +1 -0
  542. package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-681acef8f1a284f5.js +1 -0
  543. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-681acef8f1a284f5.js +1 -0
  544. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-681acef8f1a284f5.js +1 -0
  545. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-681acef8f1a284f5.js +1 -0
  546. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-681acef8f1a284f5.js +1 -0
  547. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-681acef8f1a284f5.js +1 -0
  548. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-681acef8f1a284f5.js +1 -0
  549. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-681acef8f1a284f5.js +1 -0
  550. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-681acef8f1a284f5.js +1 -0
  551. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-681acef8f1a284f5.js +1 -0
  552. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-681acef8f1a284f5.js +1 -0
  553. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-681acef8f1a284f5.js +1 -0
  554. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-681acef8f1a284f5.js +1 -0
  555. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-681acef8f1a284f5.js +1 -0
  556. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-681acef8f1a284f5.js +1 -0
  557. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-681acef8f1a284f5.js +1 -0
  558. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-681acef8f1a284f5.js +1 -0
  559. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-681acef8f1a284f5.js +1 -0
  560. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-681acef8f1a284f5.js +1 -0
  561. package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-681acef8f1a284f5.js +1 -0
  562. package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-681acef8f1a284f5.js +1 -0
  563. package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-681acef8f1a284f5.js +1 -0
  564. package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-681acef8f1a284f5.js +1 -0
  565. package/cli/app/.next-cli-build/static/chunks/app/api/context/route-681acef8f1a284f5.js +1 -0
  566. package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/chat/completions/route-681acef8f1a284f5.js +1 -0
  567. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-681acef8f1a284f5.js +1 -0
  568. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-681acef8f1a284f5.js +1 -0
  569. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-681acef8f1a284f5.js +1 -0
  570. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/start/route-681acef8f1a284f5.js +1 -0
  571. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/status/route-681acef8f1a284f5.js +1 -0
  572. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-681acef8f1a284f5.js +1 -0
  573. package/cli/app/.next-cli-build/static/chunks/app/api/health/route-681acef8f1a284f5.js +1 -0
  574. package/cli/app/.next-cli-build/static/chunks/app/api/init/route-681acef8f1a284f5.js +1 -0
  575. package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-681acef8f1a284f5.js +1 -0
  576. package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-681acef8f1a284f5.js +1 -0
  577. package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-681acef8f1a284f5.js +1 -0
  578. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-681acef8f1a284f5.js +1 -0
  579. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-681acef8f1a284f5.js +1 -0
  580. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-681acef8f1a284f5.js +1 -0
  581. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-681acef8f1a284f5.js +1 -0
  582. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-681acef8f1a284f5.js +1 -0
  583. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-681acef8f1a284f5.js +1 -0
  584. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-681acef8f1a284f5.js +1 -0
  585. package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-681acef8f1a284f5.js +1 -0
  586. package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-681acef8f1a284f5.js +1 -0
  587. package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-681acef8f1a284f5.js +1 -0
  588. package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-681acef8f1a284f5.js +1 -0
  589. package/cli/app/.next-cli-build/static/chunks/app/api/models/route-681acef8f1a284f5.js +1 -0
  590. package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-681acef8f1a284f5.js +1 -0
  591. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-681acef8f1a284f5.js +1 -0
  592. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-681acef8f1a284f5.js +1 -0
  593. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-681acef8f1a284f5.js +1 -0
  594. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-681acef8f1a284f5.js +1 -0
  595. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-681acef8f1a284f5.js +1 -0
  596. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-681acef8f1a284f5.js +1 -0
  597. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/cancel/route-681acef8f1a284f5.js +1 -0
  598. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/manual/[workerId]/route-681acef8f1a284f5.js +1 -0
  599. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/route-681acef8f1a284f5.js +1 -0
  600. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/latest/route-681acef8f1a284f5.js +1 -0
  601. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/route-681acef8f1a284f5.js +1 -0
  602. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-681acef8f1a284f5.js +1 -0
  603. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-681acef8f1a284f5.js +1 -0
  604. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-681acef8f1a284f5.js +1 -0
  605. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-681acef8f1a284f5.js +1 -0
  606. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-681acef8f1a284f5.js +1 -0
  607. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-681acef8f1a284f5.js +1 -0
  608. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-681acef8f1a284f5.js +1 -0
  609. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-681acef8f1a284f5.js +1 -0
  610. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-681acef8f1a284f5.js +1 -0
  611. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-681acef8f1a284f5.js +1 -0
  612. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-681acef8f1a284f5.js +1 -0
  613. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-681acef8f1a284f5.js +1 -0
  614. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-681acef8f1a284f5.js +1 -0
  615. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-681acef8f1a284f5.js +1 -0
  616. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-681acef8f1a284f5.js +1 -0
  617. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-681acef8f1a284f5.js +1 -0
  618. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-681acef8f1a284f5.js +1 -0
  619. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-681acef8f1a284f5.js +1 -0
  620. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route-681acef8f1a284f5.js +1 -0
  621. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route-681acef8f1a284f5.js +1 -0
  622. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/route-681acef8f1a284f5.js +1 -0
  623. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/latest/route-681acef8f1a284f5.js +1 -0
  624. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-681acef8f1a284f5.js +1 -0
  625. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-681acef8f1a284f5.js +1 -0
  626. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-681acef8f1a284f5.js +1 -0
  627. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-681acef8f1a284f5.js +1 -0
  628. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-681acef8f1a284f5.js +1 -0
  629. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-681acef8f1a284f5.js +1 -0
  630. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-681acef8f1a284f5.js +1 -0
  631. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-681acef8f1a284f5.js +1 -0
  632. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-681acef8f1a284f5.js +1 -0
  633. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-681acef8f1a284f5.js +1 -0
  634. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-681acef8f1a284f5.js +1 -0
  635. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-681acef8f1a284f5.js +1 -0
  636. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-681acef8f1a284f5.js +1 -0
  637. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-681acef8f1a284f5.js +1 -0
  638. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-681acef8f1a284f5.js +1 -0
  639. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-681acef8f1a284f5.js +1 -0
  640. package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-681acef8f1a284f5.js +1 -0
  641. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-681acef8f1a284f5.js +1 -0
  642. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-681acef8f1a284f5.js +1 -0
  643. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-681acef8f1a284f5.js +1 -0
  644. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-681acef8f1a284f5.js +1 -0
  645. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-681acef8f1a284f5.js +1 -0
  646. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-681acef8f1a284f5.js +1 -0
  647. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-681acef8f1a284f5.js +1 -0
  648. package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-681acef8f1a284f5.js +1 -0
  649. package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-681acef8f1a284f5.js +1 -0
  650. package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-681acef8f1a284f5.js +1 -0
  651. package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-681acef8f1a284f5.js +1 -0
  652. package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-681acef8f1a284f5.js +1 -0
  653. package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-681acef8f1a284f5.js +1 -0
  654. package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-681acef8f1a284f5.js +1 -0
  655. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-681acef8f1a284f5.js +1 -0
  656. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-681acef8f1a284f5.js +1 -0
  657. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-681acef8f1a284f5.js +1 -0
  658. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-681acef8f1a284f5.js +1 -0
  659. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-681acef8f1a284f5.js +1 -0
  660. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-681acef8f1a284f5.js +1 -0
  661. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-681acef8f1a284f5.js +1 -0
  662. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-681acef8f1a284f5.js +1 -0
  663. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-681acef8f1a284f5.js +1 -0
  664. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-681acef8f1a284f5.js +1 -0
  665. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-681acef8f1a284f5.js +1 -0
  666. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-681acef8f1a284f5.js +1 -0
  667. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-681acef8f1a284f5.js +1 -0
  668. package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-681acef8f1a284f5.js +1 -0
  669. package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-681acef8f1a284f5.js +1 -0
  670. package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-681acef8f1a284f5.js +1 -0
  671. package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-681acef8f1a284f5.js +1 -0
  672. package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-681acef8f1a284f5.js +1 -0
  673. package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-681acef8f1a284f5.js +1 -0
  674. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/setup/route-681acef8f1a284f5.js +1 -0
  675. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/status/route-681acef8f1a284f5.js +1 -0
  676. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/unlock/route-681acef8f1a284f5.js +1 -0
  677. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/input/route-681acef8f1a284f5.js +1 -0
  678. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/resize/route-681acef8f1a284f5.js +1 -0
  679. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/route-681acef8f1a284f5.js +1 -0
  680. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/stream/route-681acef8f1a284f5.js +1 -0
  681. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/route-681acef8f1a284f5.js +1 -0
  682. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-681acef8f1a284f5.js +1 -0
  683. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-681acef8f1a284f5.js +1 -0
  684. package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-681acef8f1a284f5.js +1 -0
  685. package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-681acef8f1a284f5.js +1 -0
  686. package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-681acef8f1a284f5.js +1 -0
  687. package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-681acef8f1a284f5.js +1 -0
  688. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-681acef8f1a284f5.js +1 -0
  689. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-681acef8f1a284f5.js +1 -0
  690. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-681acef8f1a284f5.js +1 -0
  691. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-681acef8f1a284f5.js +1 -0
  692. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-681acef8f1a284f5.js +1 -0
  693. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-681acef8f1a284f5.js +1 -0
  694. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-681acef8f1a284f5.js +1 -0
  695. package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-681acef8f1a284f5.js +1 -0
  696. package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-681acef8f1a284f5.js +1 -0
  697. package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-681acef8f1a284f5.js +1 -0
  698. package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-681acef8f1a284f5.js +1 -0
  699. package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-681acef8f1a284f5.js +1 -0
  700. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-681acef8f1a284f5.js +1 -0
  701. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-681acef8f1a284f5.js +1 -0
  702. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-681acef8f1a284f5.js +1 -0
  703. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-681acef8f1a284f5.js +1 -0
  704. package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-681acef8f1a284f5.js +1 -0
  705. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-681acef8f1a284f5.js +1 -0
  706. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-681acef8f1a284f5.js +1 -0
  707. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-681acef8f1a284f5.js +1 -0
  708. package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-681acef8f1a284f5.js +1 -0
  709. package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-681acef8f1a284f5.js +1 -0
  710. package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-681acef8f1a284f5.js +1 -0
  711. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-681acef8f1a284f5.js +1 -0
  712. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-681acef8f1a284f5.js +1 -0
  713. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-681acef8f1a284f5.js +1 -0
  714. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-681acef8f1a284f5.js +1 -0
  715. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-681acef8f1a284f5.js +1 -0
  716. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-681acef8f1a284f5.js +1 -0
  717. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-681acef8f1a284f5.js +1 -0
  718. package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-681acef8f1a284f5.js +1 -0
  719. package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-681acef8f1a284f5.js +1 -0
  720. package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-681acef8f1a284f5.js +1 -0
  721. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-681acef8f1a284f5.js +1 -0
  722. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-681acef8f1a284f5.js +1 -0
  723. package/cli/app/.next-cli-build/static/chunks/app/api/version/route-681acef8f1a284f5.js +1 -0
  724. package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-681acef8f1a284f5.js +1 -0
  725. package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-681acef8f1a284f5.js +1 -0
  726. package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-681acef8f1a284f5.js +1 -0
  727. package/cli/app/.next-cli-build/static/chunks/app/page-681acef8f1a284f5.js +1 -0
  728. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-681acef8f1a284f5.js +1 -0
  729. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-681acef8f1a284f5.js +1 -0
  730. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-681acef8f1a284f5.js +1 -0
  731. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-681acef8f1a284f5.js +1 -0
  732. package/cli/app/.next-cli-build/static/css/25b75dd7b7f4eb0d.css +1 -0
  733. package/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/src/lib/terminal/ptyBridge.py +163 -0
  734. package/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/src/lib/terminal/ptyBridge.py +163 -0
  735. package/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/src/lib/terminal/ptyBridge.py +163 -0
  736. package/cli/app/package.json +1 -1
  737. package/cli/package.json +1 -1
  738. package/package.json +1 -1
  739. package/src/app/(dashboard)/dashboard/terminal/TerminalPageClient.js +273 -27
  740. package/src/app/api/auth/logout/route.js +2 -0
  741. package/src/app/api/settings/route.js +9 -3
  742. package/src/app/api/terminal/auth/setup/route.js +72 -0
  743. package/src/app/api/terminal/auth/status/route.js +27 -0
  744. package/src/app/api/terminal/auth/unlock/route.js +69 -0
  745. package/src/dashboardGuard.js +34 -5
  746. package/src/lib/auth/terminalSession.js +62 -0
  747. package/src/shared/components/Header.js +1 -1
  748. package/cli/app/.next-cli-build/static/KQ64jZ4j5lNOTZstAI3zB/_buildManifest.js +0 -1
  749. package/cli/app/.next-cli-build/static/chunks/5497-f4d3cd399f5d9718.js +0 -7
  750. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/terminal/page-6a5df47510051a5f.js +0 -4
  751. package/cli/app/.next-cli-build/static/chunks/app/_global-error/page-36eea29d57f959c4.js +0 -1
  752. package/cli/app/.next-cli-build/static/chunks/app/api/auth/login/route-36eea29d57f959c4.js +0 -1
  753. package/cli/app/.next-cli-build/static/chunks/app/api/auth/logout/route-36eea29d57f959c4.js +0 -1
  754. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-36eea29d57f959c4.js +0 -1
  755. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-36eea29d57f959c4.js +0 -1
  756. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-36eea29d57f959c4.js +0 -1
  757. package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-36eea29d57f959c4.js +0 -1
  758. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-36eea29d57f959c4.js +0 -1
  759. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-36eea29d57f959c4.js +0 -1
  760. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-36eea29d57f959c4.js +0 -1
  761. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-36eea29d57f959c4.js +0 -1
  762. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-36eea29d57f959c4.js +0 -1
  763. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-36eea29d57f959c4.js +0 -1
  764. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-36eea29d57f959c4.js +0 -1
  765. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-36eea29d57f959c4.js +0 -1
  766. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-36eea29d57f959c4.js +0 -1
  767. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-36eea29d57f959c4.js +0 -1
  768. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-36eea29d57f959c4.js +0 -1
  769. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-36eea29d57f959c4.js +0 -1
  770. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-36eea29d57f959c4.js +0 -1
  771. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-36eea29d57f959c4.js +0 -1
  772. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-36eea29d57f959c4.js +0 -1
  773. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-36eea29d57f959c4.js +0 -1
  774. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-36eea29d57f959c4.js +0 -1
  775. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-36eea29d57f959c4.js +0 -1
  776. package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-36eea29d57f959c4.js +0 -1
  777. package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-36eea29d57f959c4.js +0 -1
  778. package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-36eea29d57f959c4.js +0 -1
  779. package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-36eea29d57f959c4.js +0 -1
  780. package/cli/app/.next-cli-build/static/chunks/app/api/context/route-36eea29d57f959c4.js +0 -1
  781. package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/chat/completions/route-36eea29d57f959c4.js +0 -1
  782. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-36eea29d57f959c4.js +0 -1
  783. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-36eea29d57f959c4.js +0 -1
  784. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-36eea29d57f959c4.js +0 -1
  785. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/start/route-36eea29d57f959c4.js +0 -1
  786. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/status/route-36eea29d57f959c4.js +0 -1
  787. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-36eea29d57f959c4.js +0 -1
  788. package/cli/app/.next-cli-build/static/chunks/app/api/health/route-36eea29d57f959c4.js +0 -1
  789. package/cli/app/.next-cli-build/static/chunks/app/api/init/route-36eea29d57f959c4.js +0 -1
  790. package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-36eea29d57f959c4.js +0 -1
  791. package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-36eea29d57f959c4.js +0 -1
  792. package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-36eea29d57f959c4.js +0 -1
  793. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-36eea29d57f959c4.js +0 -1
  794. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-36eea29d57f959c4.js +0 -1
  795. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-36eea29d57f959c4.js +0 -1
  796. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-36eea29d57f959c4.js +0 -1
  797. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-36eea29d57f959c4.js +0 -1
  798. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-36eea29d57f959c4.js +0 -1
  799. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-36eea29d57f959c4.js +0 -1
  800. package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-36eea29d57f959c4.js +0 -1
  801. package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-36eea29d57f959c4.js +0 -1
  802. package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-36eea29d57f959c4.js +0 -1
  803. package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-36eea29d57f959c4.js +0 -1
  804. package/cli/app/.next-cli-build/static/chunks/app/api/models/route-36eea29d57f959c4.js +0 -1
  805. package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-36eea29d57f959c4.js +0 -1
  806. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-36eea29d57f959c4.js +0 -1
  807. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-36eea29d57f959c4.js +0 -1
  808. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-36eea29d57f959c4.js +0 -1
  809. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-36eea29d57f959c4.js +0 -1
  810. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-36eea29d57f959c4.js +0 -1
  811. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-36eea29d57f959c4.js +0 -1
  812. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/cancel/route-36eea29d57f959c4.js +0 -1
  813. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/manual/[workerId]/route-36eea29d57f959c4.js +0 -1
  814. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/route-36eea29d57f959c4.js +0 -1
  815. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/latest/route-36eea29d57f959c4.js +0 -1
  816. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/route-36eea29d57f959c4.js +0 -1
  817. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-36eea29d57f959c4.js +0 -1
  818. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-36eea29d57f959c4.js +0 -1
  819. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-36eea29d57f959c4.js +0 -1
  820. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-36eea29d57f959c4.js +0 -1
  821. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-36eea29d57f959c4.js +0 -1
  822. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-36eea29d57f959c4.js +0 -1
  823. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-36eea29d57f959c4.js +0 -1
  824. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-36eea29d57f959c4.js +0 -1
  825. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-36eea29d57f959c4.js +0 -1
  826. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-36eea29d57f959c4.js +0 -1
  827. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-36eea29d57f959c4.js +0 -1
  828. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-36eea29d57f959c4.js +0 -1
  829. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-36eea29d57f959c4.js +0 -1
  830. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-36eea29d57f959c4.js +0 -1
  831. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-36eea29d57f959c4.js +0 -1
  832. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-36eea29d57f959c4.js +0 -1
  833. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-36eea29d57f959c4.js +0 -1
  834. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-36eea29d57f959c4.js +0 -1
  835. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route-36eea29d57f959c4.js +0 -1
  836. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route-36eea29d57f959c4.js +0 -1
  837. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/route-36eea29d57f959c4.js +0 -1
  838. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/latest/route-36eea29d57f959c4.js +0 -1
  839. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-36eea29d57f959c4.js +0 -1
  840. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-36eea29d57f959c4.js +0 -1
  841. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-36eea29d57f959c4.js +0 -1
  842. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-36eea29d57f959c4.js +0 -1
  843. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-36eea29d57f959c4.js +0 -1
  844. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-36eea29d57f959c4.js +0 -1
  845. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-36eea29d57f959c4.js +0 -1
  846. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-36eea29d57f959c4.js +0 -1
  847. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-36eea29d57f959c4.js +0 -1
  848. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-36eea29d57f959c4.js +0 -1
  849. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-36eea29d57f959c4.js +0 -1
  850. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-36eea29d57f959c4.js +0 -1
  851. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-36eea29d57f959c4.js +0 -1
  852. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-36eea29d57f959c4.js +0 -1
  853. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-36eea29d57f959c4.js +0 -1
  854. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-36eea29d57f959c4.js +0 -1
  855. package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-36eea29d57f959c4.js +0 -1
  856. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-36eea29d57f959c4.js +0 -1
  857. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-36eea29d57f959c4.js +0 -1
  858. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-36eea29d57f959c4.js +0 -1
  859. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-36eea29d57f959c4.js +0 -1
  860. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-36eea29d57f959c4.js +0 -1
  861. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-36eea29d57f959c4.js +0 -1
  862. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-36eea29d57f959c4.js +0 -1
  863. package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-36eea29d57f959c4.js +0 -1
  864. package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-36eea29d57f959c4.js +0 -1
  865. package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-36eea29d57f959c4.js +0 -1
  866. package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-36eea29d57f959c4.js +0 -1
  867. package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-36eea29d57f959c4.js +0 -1
  868. package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-36eea29d57f959c4.js +0 -1
  869. package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-36eea29d57f959c4.js +0 -1
  870. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-36eea29d57f959c4.js +0 -1
  871. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-36eea29d57f959c4.js +0 -1
  872. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-36eea29d57f959c4.js +0 -1
  873. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-36eea29d57f959c4.js +0 -1
  874. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-36eea29d57f959c4.js +0 -1
  875. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-36eea29d57f959c4.js +0 -1
  876. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-36eea29d57f959c4.js +0 -1
  877. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-36eea29d57f959c4.js +0 -1
  878. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-36eea29d57f959c4.js +0 -1
  879. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-36eea29d57f959c4.js +0 -1
  880. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-36eea29d57f959c4.js +0 -1
  881. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-36eea29d57f959c4.js +0 -1
  882. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-36eea29d57f959c4.js +0 -1
  883. package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-36eea29d57f959c4.js +0 -1
  884. package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-36eea29d57f959c4.js +0 -1
  885. package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-36eea29d57f959c4.js +0 -1
  886. package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-36eea29d57f959c4.js +0 -1
  887. package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-36eea29d57f959c4.js +0 -1
  888. package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-36eea29d57f959c4.js +0 -1
  889. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/input/route-36eea29d57f959c4.js +0 -1
  890. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/resize/route-36eea29d57f959c4.js +0 -1
  891. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/route-36eea29d57f959c4.js +0 -1
  892. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/stream/route-36eea29d57f959c4.js +0 -1
  893. package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/route-36eea29d57f959c4.js +0 -1
  894. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-36eea29d57f959c4.js +0 -1
  895. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-36eea29d57f959c4.js +0 -1
  896. package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-36eea29d57f959c4.js +0 -1
  897. package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-36eea29d57f959c4.js +0 -1
  898. package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-36eea29d57f959c4.js +0 -1
  899. package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-36eea29d57f959c4.js +0 -1
  900. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-36eea29d57f959c4.js +0 -1
  901. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-36eea29d57f959c4.js +0 -1
  902. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-36eea29d57f959c4.js +0 -1
  903. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-36eea29d57f959c4.js +0 -1
  904. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-36eea29d57f959c4.js +0 -1
  905. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-36eea29d57f959c4.js +0 -1
  906. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-36eea29d57f959c4.js +0 -1
  907. package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-36eea29d57f959c4.js +0 -1
  908. package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-36eea29d57f959c4.js +0 -1
  909. package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-36eea29d57f959c4.js +0 -1
  910. package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-36eea29d57f959c4.js +0 -1
  911. package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-36eea29d57f959c4.js +0 -1
  912. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-36eea29d57f959c4.js +0 -1
  913. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-36eea29d57f959c4.js +0 -1
  914. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-36eea29d57f959c4.js +0 -1
  915. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-36eea29d57f959c4.js +0 -1
  916. package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-36eea29d57f959c4.js +0 -1
  917. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-36eea29d57f959c4.js +0 -1
  918. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-36eea29d57f959c4.js +0 -1
  919. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-36eea29d57f959c4.js +0 -1
  920. package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-36eea29d57f959c4.js +0 -1
  921. package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-36eea29d57f959c4.js +0 -1
  922. package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-36eea29d57f959c4.js +0 -1
  923. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-36eea29d57f959c4.js +0 -1
  924. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-36eea29d57f959c4.js +0 -1
  925. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-36eea29d57f959c4.js +0 -1
  926. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-36eea29d57f959c4.js +0 -1
  927. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-36eea29d57f959c4.js +0 -1
  928. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-36eea29d57f959c4.js +0 -1
  929. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-36eea29d57f959c4.js +0 -1
  930. package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-36eea29d57f959c4.js +0 -1
  931. package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-36eea29d57f959c4.js +0 -1
  932. package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-36eea29d57f959c4.js +0 -1
  933. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-36eea29d57f959c4.js +0 -1
  934. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-36eea29d57f959c4.js +0 -1
  935. package/cli/app/.next-cli-build/static/chunks/app/api/version/route-36eea29d57f959c4.js +0 -1
  936. package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-36eea29d57f959c4.js +0 -1
  937. package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-36eea29d57f959c4.js +0 -1
  938. package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-36eea29d57f959c4.js +0 -1
  939. package/cli/app/.next-cli-build/static/chunks/app/page-36eea29d57f959c4.js +0 -1
  940. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-36eea29d57f959c4.js +0 -1
  941. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-36eea29d57f959c4.js +0 -1
  942. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-36eea29d57f959c4.js +0 -1
  943. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-36eea29d57f959c4.js +0 -1
  944. package/cli/app/.next-cli-build/static/css/3d806a84eaca2701.css +0 -1
  945. /package/cli/app/.next-cli-build/static/{KQ64jZ4j5lNOTZstAI3zB → KZ2mKpiM-80Yd5c6nmIun}/_ssgManifest.js +0 -0
@@ -13,17 +13,145 @@ export default function TerminalPageClient() {
13
13
  const termRef = useRef(null);
14
14
  const fitRef = useRef(null);
15
15
  const sessionIdRef = useRef("");
16
- const modeRef = useRef(""); // pty | pty-python | pipe
16
+ const modeRef = useRef("");
17
17
  const esRef = useRef(null);
18
18
  const writeQueueRef = useRef([]);
19
19
  const flushTimerRef = useRef(null);
20
20
  const disposedRef = useRef(false);
21
- const lineBufRef = useRef(""); // local line buffer for pipe mode
21
+ const lineBufRef = useRef("");
22
+
23
+ // gate: checking | setup | unlock | open
24
+ const [gate, setGate] = useState("checking");
25
+ const [gateError, setGateError] = useState("");
26
+ const [gateBusy, setGateBusy] = useState(false);
27
+ const [password, setPassword] = useState("");
28
+ const [confirm, setConfirm] = useState("");
29
+ const [currentTerminalPassword, setCurrentTerminalPassword] = useState("");
22
30
 
23
31
  const [status, setStatus] = useState("connecting");
24
32
  const [statusText, setStatusText] = useState("Starting shell…");
25
33
  const [meta, setMeta] = useState({ shell: "", mode: "" });
26
34
 
35
+ const checkGate = useCallback(async () => {
36
+ setGateError("");
37
+ try {
38
+ const res = await fetch("/api/terminal/auth/status", {
39
+ cache: "no-store",
40
+ credentials: "same-origin",
41
+ });
42
+ const data = await res.json().catch(() => ({}));
43
+ if (res.status === 403) {
44
+ setGateError(data?.error || "Access forbidden.");
45
+ setGate("unlock");
46
+ return;
47
+ }
48
+ if (res.status === 401) {
49
+ setGateError("Log in to the dashboard first.");
50
+ setGate("unlock");
51
+ return;
52
+ }
53
+ if (!data.configured) {
54
+ setGate("setup");
55
+ return;
56
+ }
57
+ if (data.unlocked) {
58
+ setGate("open");
59
+ return;
60
+ }
61
+ setGate("unlock");
62
+ } catch (error) {
63
+ setGateError(error?.message || "Failed to check terminal lock");
64
+ setGate("unlock");
65
+ }
66
+ }, []);
67
+
68
+ useEffect(() => {
69
+ checkGate();
70
+ }, [checkGate]);
71
+
72
+ const handleSetup = async (event) => {
73
+ event.preventDefault();
74
+ setGateBusy(true);
75
+ setGateError("");
76
+ try {
77
+ const res = await fetch("/api/terminal/auth/setup", {
78
+ method: "POST",
79
+ headers: { "Content-Type": "application/json" },
80
+ credentials: "same-origin",
81
+ body: JSON.stringify({
82
+ password,
83
+ confirm,
84
+ currentTerminalPassword: currentTerminalPassword || undefined,
85
+ }),
86
+ });
87
+ const data = await res.json().catch(() => ({}));
88
+ if (!res.ok) {
89
+ setGateError(data.error || "Setup failed");
90
+ return;
91
+ }
92
+ setPassword("");
93
+ setConfirm("");
94
+ setCurrentTerminalPassword("");
95
+ setGate("open");
96
+ } catch (error) {
97
+ setGateError(error?.message || "Setup failed");
98
+ } finally {
99
+ setGateBusy(false);
100
+ }
101
+ };
102
+
103
+ const handleUnlock = async (event) => {
104
+ event.preventDefault();
105
+ setGateBusy(true);
106
+ setGateError("");
107
+ try {
108
+ const res = await fetch("/api/terminal/auth/unlock", {
109
+ method: "POST",
110
+ headers: { "Content-Type": "application/json" },
111
+ credentials: "same-origin",
112
+ body: JSON.stringify({ password }),
113
+ });
114
+ const data = await res.json().catch(() => ({}));
115
+ if (!res.ok) {
116
+ setGateError(data.error || "Unlock failed");
117
+ return;
118
+ }
119
+ setPassword("");
120
+ setGate("open");
121
+ } catch (error) {
122
+ setGateError(error?.message || "Unlock failed");
123
+ } finally {
124
+ setGateBusy(false);
125
+ }
126
+ };
127
+
128
+ const handleLock = async () => {
129
+ try {
130
+ await fetch("/api/terminal/auth/unlock", {
131
+ method: "DELETE",
132
+ credentials: "same-origin",
133
+ });
134
+ } catch {
135
+ /* ignore */
136
+ }
137
+ // Kill live session if any
138
+ const sid = sessionIdRef.current;
139
+ sessionIdRef.current = "";
140
+ if (sid) {
141
+ fetch(`/api/terminal/session/${sid}`, {
142
+ method: "DELETE",
143
+ credentials: "same-origin",
144
+ keepalive: true,
145
+ }).catch(() => {});
146
+ }
147
+ if (esRef.current) {
148
+ try { esRef.current.close(); } catch { /* ignore */ }
149
+ esRef.current = null;
150
+ }
151
+ setPassword("");
152
+ setGate("unlock");
153
+ };
154
+
27
155
  const flushInput = useCallback(async () => {
28
156
  const sessionId = sessionIdRef.current;
29
157
  if (!sessionId || writeQueueRef.current.length === 0) return;
@@ -39,8 +167,10 @@ export default function TerminalPageClient() {
39
167
  credentials: "same-origin",
40
168
  });
41
169
  if (!res.ok && termRef.current) {
42
- // Surface auth/local-only failures so typing doesn't feel "dead"
43
- if (res.status === 403 || res.status === 401) {
170
+ if (res.status === 423) {
171
+ termRef.current.write("\r\n\x1b[31m[terminal locked]\x1b[0m\r\n");
172
+ setGate("unlock");
173
+ } else if (res.status === 403 || res.status === 401) {
44
174
  termRef.current.write(`\r\n\x1b[31m[input blocked: ${res.status}]\x1b[0m\r\n`);
45
175
  }
46
176
  }
@@ -62,10 +192,6 @@ export default function TerminalPageClient() {
62
192
  [flushInput]
63
193
  );
64
194
 
65
- /**
66
- * Pipe mode has no remote echo — edit a local line and only send on Enter.
67
- * PTY modes stream every keystroke and rely on shell echo.
68
- */
69
195
  const handleTermData = useCallback(
70
196
  (data) => {
71
197
  const term = termRef.current;
@@ -78,7 +204,6 @@ export default function TerminalPageClient() {
78
204
  return;
79
205
  }
80
206
 
81
- // Ctrl+C
82
207
  if (data === "\u0003") {
83
208
  lineBufRef.current = "";
84
209
  term.write("^C\r\n");
@@ -86,7 +211,6 @@ export default function TerminalPageClient() {
86
211
  return;
87
212
  }
88
213
 
89
- // Enter
90
214
  if (data === "\r" || data === "\n" || data === "\r\n") {
91
215
  const line = lineBufRef.current;
92
216
  lineBufRef.current = "";
@@ -95,7 +219,6 @@ export default function TerminalPageClient() {
95
219
  return;
96
220
  }
97
221
 
98
- // Backspace / DEL
99
222
  if (data === "\u007f" || data === "\b") {
100
223
  if (lineBufRef.current.length > 0) {
101
224
  lineBufRef.current = lineBufRef.current.slice(0, -1);
@@ -104,13 +227,12 @@ export default function TerminalPageClient() {
104
227
  return;
105
228
  }
106
229
 
107
- // Ignore other control / escape sequences in line mode
108
230
  if (data.charCodeAt(0) < 32 || data.startsWith("\x1b")) {
109
231
  return;
110
232
  }
111
233
 
112
234
  lineBufRef.current += data;
113
- term.write(data); // local echo
235
+ term.write(data);
114
236
  },
115
237
  [queueInput]
116
238
  );
@@ -225,9 +347,8 @@ export default function TerminalPageClient() {
225
347
 
226
348
  if (res.status === 403) {
227
349
  setStatus("forbidden");
228
- setStatusText("Localhost only");
229
- term.writeln("\x1b[33mTerminal is restricted to localhost (security).\x1b[0m");
230
- term.writeln("Open the dashboard on this machine (http://127.0.0.1:1997) to use the shell.");
350
+ setStatusText("Forbidden");
351
+ term.writeln("\x1b[33mTerminal access forbidden.\x1b[0m");
231
352
  return;
232
353
  }
233
354
 
@@ -238,6 +359,13 @@ export default function TerminalPageClient() {
238
359
  return;
239
360
  }
240
361
 
362
+ if (res.status === 423) {
363
+ setStatus("error");
364
+ setStatusText("Locked");
365
+ setGate("unlock");
366
+ return;
367
+ }
368
+
241
369
  const data = await res.json().catch(() => ({}));
242
370
  if (!res.ok || !data?.session?.id) {
243
371
  setStatus("error");
@@ -280,7 +408,10 @@ export default function TerminalPageClient() {
280
408
  await startSession(term, fit);
281
409
  }, [startSession]);
282
410
 
411
+ // Only mount xterm after unlock
283
412
  useEffect(() => {
413
+ if (gate !== "open") return undefined;
414
+
284
415
  disposedRef.current = false;
285
416
  const host = hostRef.current;
286
417
  if (!host) return undefined;
@@ -325,15 +456,12 @@ export default function TerminalPageClient() {
325
456
  term.loadAddon(fit);
326
457
  term.loadAddon(links);
327
458
  term.open(host);
328
- // Make the terminal surface focusable / clickable
329
459
  try {
330
460
  host.tabIndex = 0;
331
461
  const ta = host.querySelector("textarea");
332
462
  if (ta) {
333
463
  ta.tabIndex = 0;
334
464
  ta.setAttribute("autocomplete", "off");
335
- ta.setAttribute("autocorrect", "off");
336
- ta.setAttribute("autocapitalize", "off");
337
465
  ta.setAttribute("spellcheck", "false");
338
466
  }
339
467
  } catch {
@@ -369,7 +497,6 @@ export default function TerminalPageClient() {
369
497
  ro?.observe(host);
370
498
  window.addEventListener("resize", onResize);
371
499
 
372
- // Defer focus — layout may still be settling
373
500
  requestAnimationFrame(() => {
374
501
  try {
375
502
  fit.fit();
@@ -422,7 +549,7 @@ export default function TerminalPageClient() {
422
549
  termRef.current = null;
423
550
  fitRef.current = null;
424
551
  };
425
- }, [handleTermData, sendResize, startSession, focusTerm]);
552
+ }, [gate, handleTermData, sendResize, startSession, focusTerm]);
426
553
 
427
554
  const statusColor =
428
555
  status === "ready"
@@ -433,6 +560,121 @@ export default function TerminalPageClient() {
433
560
  ? "bg-amber-500"
434
561
  : "bg-red-500";
435
562
 
563
+ if (gate === "checking") {
564
+ return (
565
+ <div className="flex h-full min-h-0 w-full items-center justify-center bg-[#0d0d0d] text-sm text-white/50">
566
+ Checking terminal lock…
567
+ </div>
568
+ );
569
+ }
570
+
571
+ if (gate === "setup" || gate === "unlock") {
572
+ const isSetup = gate === "setup";
573
+ return (
574
+ <div className="flex h-full min-h-0 w-full flex-col items-center justify-center bg-[#0d0d0d] px-4">
575
+ <div className="w-full max-w-md rounded-2xl border border-white/10 bg-white/[0.03] p-6 shadow-xl">
576
+ <div className="mb-4 flex items-center gap-3">
577
+ <div className="flex size-10 items-center justify-center rounded-xl bg-[color:var(--brand,#E56A4A)]/15 text-[color:var(--brand,#E56A4A)]">
578
+ <span className="material-symbols-outlined text-[22px]">
579
+ {isSetup ? "key" : "lock"}
580
+ </span>
581
+ </div>
582
+ <div>
583
+ <h1 className="text-base font-semibold text-white/95">
584
+ {isSetup ? "Set terminal password" : "Unlock terminal"}
585
+ </h1>
586
+ <p className="text-xs text-white/45">
587
+ {isSetup
588
+ ? "Separate from dashboard password — double protection for the host shell."
589
+ : "Dashboard login is not enough. Enter your terminal password."}
590
+ </p>
591
+ </div>
592
+ </div>
593
+
594
+ <form onSubmit={isSetup ? handleSetup : handleUnlock} className="space-y-3">
595
+ {isSetup && currentTerminalPassword !== undefined && (
596
+ // current only needed when rotating — hide on first setup (no configured pw)
597
+ null
598
+ )}
599
+ {isSetup ? (
600
+ <>
601
+ <label className="block space-y-1">
602
+ <span className="text-[11px] font-medium uppercase tracking-wide text-white/40">
603
+ New terminal password
604
+ </span>
605
+ <input
606
+ type="password"
607
+ autoFocus
608
+ autoComplete="new-password"
609
+ value={password}
610
+ onChange={(e) => setPassword(e.target.value)}
611
+ className="w-full rounded-lg border border-white/10 bg-black/40 px-3 py-2.5 text-sm text-white outline-none focus:border-[color:var(--brand,#E56A4A)]/60"
612
+ placeholder="Min 6 characters"
613
+ required
614
+ minLength={6}
615
+ />
616
+ </label>
617
+ <label className="block space-y-1">
618
+ <span className="text-[11px] font-medium uppercase tracking-wide text-white/40">
619
+ Confirm
620
+ </span>
621
+ <input
622
+ type="password"
623
+ autoComplete="new-password"
624
+ value={confirm}
625
+ onChange={(e) => setConfirm(e.target.value)}
626
+ className="w-full rounded-lg border border-white/10 bg-black/40 px-3 py-2.5 text-sm text-white outline-none focus:border-[color:var(--brand,#E56A4A)]/60"
627
+ placeholder="Repeat password"
628
+ required
629
+ minLength={6}
630
+ />
631
+ </label>
632
+ <p className="text-[11px] leading-relaxed text-white/35">
633
+ Must <strong className="text-white/55">not</strong> match the dashboard password.
634
+ Cookie unlock lasts ~4 hours on this browser.
635
+ </p>
636
+ </>
637
+ ) : (
638
+ <label className="block space-y-1">
639
+ <span className="text-[11px] font-medium uppercase tracking-wide text-white/40">
640
+ Terminal password
641
+ </span>
642
+ <input
643
+ type="password"
644
+ autoFocus
645
+ autoComplete="current-password"
646
+ value={password}
647
+ onChange={(e) => setPassword(e.target.value)}
648
+ className="w-full rounded-lg border border-white/10 bg-black/40 px-3 py-2.5 text-sm text-white outline-none focus:border-[color:var(--brand,#E56A4A)]/60"
649
+ placeholder="••••••••"
650
+ required
651
+ />
652
+ </label>
653
+ )}
654
+
655
+ {gateError ? (
656
+ <p className="rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-xs text-red-300">
657
+ {gateError}
658
+ </p>
659
+ ) : null}
660
+
661
+ <button
662
+ type="submit"
663
+ disabled={gateBusy}
664
+ className="w-full rounded-lg bg-[color:var(--brand,#E56A4A)] px-3 py-2.5 text-sm font-semibold text-white transition hover:brightness-110 disabled:opacity-50"
665
+ >
666
+ {gateBusy ? "Please wait…" : isSetup ? "Save & open terminal" : "Unlock"}
667
+ </button>
668
+ </form>
669
+
670
+ <p className="mt-4 text-center text-[11px] text-white/30">
671
+ Protected by dashboard login + terminal password
672
+ </p>
673
+ </div>
674
+ </div>
675
+ );
676
+ }
677
+
436
678
  return (
437
679
  <div className="flex h-full min-h-0 w-full flex-col bg-[#0d0d0d]">
438
680
  <div className="flex shrink-0 items-center justify-between gap-3 border-b border-white/10 px-4 py-2.5">
@@ -448,6 +690,14 @@ export default function TerminalPageClient() {
448
690
  </span>
449
691
  </div>
450
692
  <div className="flex items-center gap-2">
693
+ <button
694
+ type="button"
695
+ onClick={handleLock}
696
+ className="rounded-lg border border-white/10 bg-white/5 px-3 py-1.5 text-xs font-medium text-white/70 transition hover:border-white/20 hover:text-white"
697
+ title="Lock terminal (require password again)"
698
+ >
699
+ Lock
700
+ </button>
451
701
  <button
452
702
  type="button"
453
703
  onClick={handleRestart}
@@ -459,15 +709,11 @@ export default function TerminalPageClient() {
459
709
  </div>
460
710
 
461
711
  <div className="relative min-h-0 flex-1" onMouseDown={focusTerm}>
462
- <div
463
- ref={hostRef}
464
- className="absolute inset-0 px-2 py-2 outline-none"
465
- // Click to focus the xterm textarea so keystrokes reach onData
466
- />
712
+ <div ref={hostRef} className="absolute inset-0 px-2 py-2 outline-none" />
467
713
  </div>
468
714
 
469
715
  <div className="shrink-0 border-t border-white/10 px-4 py-1.5 text-[11px] text-white/35">
470
- Localhost only · click the black area then type · idle sessions close after 30m
716
+ Dashboard login + terminal password · click the black area then type · idle sessions close after 30m
471
717
  </div>
472
718
  </div>
473
719
  );
@@ -1,10 +1,12 @@
1
1
  import { NextResponse } from "next/server";
2
2
  import { cookies } from "next/headers";
3
3
  import { clearDashboardAuthCookie } from "@/lib/auth/dashboardSession";
4
+ import { clearTerminalUnlockCookie } from "@/lib/auth/terminalSession";
4
5
 
5
6
  export async function POST() {
6
7
  const cookieStore = await cookies();
7
8
  clearDashboardAuthCookie(cookieStore);
9
+ clearTerminalUnlockCookie(cookieStore);
8
10
  cookieStore.delete("oidc_state");
9
11
  cookieStore.delete("oidc_nonce");
10
12
  cookieStore.delete("oidc_code_verifier");
@@ -14,7 +14,7 @@ const SETTINGS_RESPONSE_HEADERS = {
14
14
  export async function GET() {
15
15
  try {
16
16
  const settings = await getSettings();
17
- const { password, oidcClientSecret, fiveSimApiKey, ...safeSettings } = settings;
17
+ const { password, oidcClientSecret, fiveSimApiKey, terminalPassword, ...safeSettings } = settings;
18
18
  safeSettings.oidcConfigured = !!(safeSettings.oidcIssuerUrl && safeSettings.oidcClientId && oidcClientSecret);
19
19
  safeSettings.fiveSimApiKeyConfigured = !!fiveSimApiKey;
20
20
 
@@ -25,7 +25,8 @@ export async function GET() {
25
25
  ...safeSettings,
26
26
  enableRequestLogs,
27
27
  enableTranslator,
28
- hasPassword: !!password
28
+ hasPassword: !!password,
29
+ hasTerminalPassword: !!terminalPassword,
29
30
  }, { headers: SETTINGS_RESPONSE_HEADERS });
30
31
  } catch (error) {
31
32
  console.log("Error getting settings:", error);
@@ -78,6 +79,10 @@ export async function PATCH(request) {
78
79
  }
79
80
  }
80
81
 
82
+ // Never accept raw terminal password via generic PATCH — use /api/terminal/auth/setup
83
+ delete body.terminalPassword;
84
+ delete body.hasTerminalPassword;
85
+
81
86
  const settings = await updateSettings(body);
82
87
 
83
88
  // Apply outbound proxy settings immediately (no restart required)
@@ -98,9 +103,10 @@ export async function PATCH(request) {
98
103
  resetComboRotation();
99
104
  }
100
105
 
101
- const { password, oidcClientSecret, fiveSimApiKey, ...safeSettings } = settings;
106
+ const { password, oidcClientSecret, fiveSimApiKey, terminalPassword, ...safeSettings } = settings;
102
107
  safeSettings.oidcConfigured = !!(safeSettings.oidcIssuerUrl && safeSettings.oidcClientId && oidcClientSecret);
103
108
  safeSettings.fiveSimApiKeyConfigured = !!fiveSimApiKey;
109
+ safeSettings.hasTerminalPassword = !!terminalPassword;
104
110
  return NextResponse.json(safeSettings, { headers: SETTINGS_RESPONSE_HEADERS });
105
111
  } catch (error) {
106
112
  console.log("Error updating settings:", error);
@@ -0,0 +1,72 @@
1
+ import { NextResponse } from "next/server";
2
+ import bcrypt from "bcryptjs";
3
+ import { cookies } from "next/headers";
4
+ import { getSettings, updateSettings } from "@/lib/localDb";
5
+ import { setTerminalUnlockCookie } from "@/lib/auth/terminalSession";
6
+
7
+ export const dynamic = "force-dynamic";
8
+ export const runtime = "nodejs";
9
+
10
+ async function matchesDashboardPassword(plain, settings) {
11
+ if (!plain) return false;
12
+ if (settings.password) {
13
+ try {
14
+ return await bcrypt.compare(plain, settings.password);
15
+ } catch {
16
+ return false;
17
+ }
18
+ }
19
+ const initial = process.env.INITIAL_PASSWORD || "123456";
20
+ return plain === initial;
21
+ }
22
+
23
+ /**
24
+ * First-time (or rotate) terminal password.
25
+ * Body: { password, confirm, currentTerminalPassword? }
26
+ * Password MUST differ from dashboard password.
27
+ */
28
+ export async function POST(request) {
29
+ try {
30
+ const body = await request.json().catch(() => ({}));
31
+ const password = String(body?.password || "");
32
+ const confirm = String(body?.confirm || "");
33
+ const currentTerminalPassword = String(body?.currentTerminalPassword || "");
34
+
35
+ if (password.length < 6) {
36
+ return NextResponse.json({ error: "Terminal password must be at least 6 characters." }, { status: 400 });
37
+ }
38
+ if (password !== confirm) {
39
+ return NextResponse.json({ error: "Passwords do not match." }, { status: 400 });
40
+ }
41
+
42
+ const settings = await getSettings();
43
+
44
+ if (await matchesDashboardPassword(password, settings)) {
45
+ return NextResponse.json(
46
+ { error: "Terminal password must be different from the dashboard password." },
47
+ { status: 400 }
48
+ );
49
+ }
50
+
51
+ // Rotating: require current terminal password
52
+ if (settings.terminalPassword) {
53
+ if (!currentTerminalPassword) {
54
+ return NextResponse.json({ error: "Current terminal password required." }, { status: 400 });
55
+ }
56
+ const ok = await bcrypt.compare(currentTerminalPassword, settings.terminalPassword);
57
+ if (!ok) {
58
+ return NextResponse.json({ error: "Current terminal password is incorrect." }, { status: 401 });
59
+ }
60
+ }
61
+
62
+ const hash = await bcrypt.hash(password, 10);
63
+ await updateSettings({ terminalPassword: hash });
64
+
65
+ const cookieStore = await cookies();
66
+ await setTerminalUnlockCookie(cookieStore, request);
67
+
68
+ return NextResponse.json({ ok: true, configured: true, unlocked: true });
69
+ } catch (error) {
70
+ return NextResponse.json({ error: error.message || "setup failed" }, { status: 500 });
71
+ }
72
+ }
@@ -0,0 +1,27 @@
1
+ import { NextResponse } from "next/server";
2
+ import { cookies } from "next/headers";
3
+ import { getSettings } from "@/lib/localDb";
4
+ import { verifyTerminalUnlockToken } from "@/lib/auth/terminalSession";
5
+
6
+ export const dynamic = "force-dynamic";
7
+ export const runtime = "nodejs";
8
+
9
+ export async function GET() {
10
+ try {
11
+ const settings = await getSettings();
12
+ const configured = !!settings.terminalPassword;
13
+ const cookieStore = await cookies();
14
+ const unlocked = configured
15
+ ? await verifyTerminalUnlockToken(cookieStore.get("terminal_token")?.value)
16
+ : false;
17
+
18
+ return NextResponse.json({
19
+ configured,
20
+ unlocked,
21
+ // Always required once feature is present — setup first, then unlock
22
+ required: true,
23
+ });
24
+ } catch (error) {
25
+ return NextResponse.json({ error: error.message || "status failed" }, { status: 500 });
26
+ }
27
+ }
@@ -0,0 +1,69 @@
1
+ import { NextResponse } from "next/server";
2
+ import bcrypt from "bcryptjs";
3
+ import { cookies } from "next/headers";
4
+ import { getSettings } from "@/lib/localDb";
5
+ import {
6
+ setTerminalUnlockCookie,
7
+ clearTerminalUnlockCookie,
8
+ } from "@/lib/auth/terminalSession";
9
+ import { checkLock, recordFail, recordSuccess, getClientIp } from "@/lib/auth/loginLimiter";
10
+
11
+ export const dynamic = "force-dynamic";
12
+ export const runtime = "nodejs";
13
+
14
+ export async function POST(request) {
15
+ try {
16
+ const ip = getClientIp(request);
17
+ const lock = checkLock(ip);
18
+ if (lock.locked) {
19
+ return NextResponse.json(
20
+ { error: `Too many failed attempts. Try again in ${lock.retryAfter}s.`, retryAfter: lock.retryAfter },
21
+ { status: 429, headers: { "Retry-After": String(lock.retryAfter) } }
22
+ );
23
+ }
24
+
25
+ const body = await request.json().catch(() => ({}));
26
+ const password = String(body?.password || "");
27
+ const settings = await getSettings();
28
+
29
+ if (!settings.terminalPassword) {
30
+ return NextResponse.json(
31
+ { error: "Terminal password not configured. Set one first.", code: "NOT_CONFIGURED" },
32
+ { status: 400 }
33
+ );
34
+ }
35
+
36
+ const ok = await bcrypt.compare(password, settings.terminalPassword);
37
+ if (!ok) {
38
+ const { remainingBeforeLock } = recordFail(ip);
39
+ const postLock = checkLock(ip);
40
+ if (postLock.locked) {
41
+ return NextResponse.json(
42
+ { error: `Too many failed attempts. Try again in ${postLock.retryAfter}s.`, retryAfter: postLock.retryAfter },
43
+ { status: 429, headers: { "Retry-After": String(postLock.retryAfter) } }
44
+ );
45
+ }
46
+ return NextResponse.json(
47
+ { error: `Invalid terminal password. ${remainingBeforeLock} attempt(s) left.`, remainingBeforeLock },
48
+ { status: 401 }
49
+ );
50
+ }
51
+
52
+ recordSuccess(ip);
53
+ const cookieStore = await cookies();
54
+ await setTerminalUnlockCookie(cookieStore, request);
55
+ return NextResponse.json({ ok: true, unlocked: true });
56
+ } catch (error) {
57
+ return NextResponse.json({ error: error.message || "unlock failed" }, { status: 500 });
58
+ }
59
+ }
60
+
61
+ export async function DELETE() {
62
+ try {
63
+ const cookieStore = await cookies();
64
+ clearTerminalUnlockCookie(cookieStore);
65
+ return NextResponse.json({ ok: true, unlocked: false });
66
+ } catch (error) {
67
+ return NextResponse.json({ error: error.message || "lock failed" }, { status: 500 });
68
+ }
69
+ }