zevairouter 1.0.62 → 1.0.65

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 (400) hide show
  1. package/CHANGELOG.md +31 -8
  2. package/README.md +58 -10
  3. package/README.zh-CN.md +37 -0
  4. package/cli/app/.next-cli-build/BUILD_ID +1 -1
  5. package/cli/app/.next-cli-build/app-path-routes-manifest.json +20 -20
  6. package/cli/app/.next-cli-build/build-manifest.json +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_client-reference-manifest.js +1 -1
  9. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  10. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  11. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  12. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  13. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
  14. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  15. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  16. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  17. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  18. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  19. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  20. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  21. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  22. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  23. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  24. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  25. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  26. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  27. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  28. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  29. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
  30. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  31. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  32. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  33. package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  34. package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
  35. package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  36. package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  37. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  38. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  39. package/cli/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  40. package/cli/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  41. package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  42. package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  43. package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
  44. package/cli/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  45. package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  46. package/cli/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  47. package/cli/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +3 -3
  48. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  49. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  50. package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  51. package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
  52. package/cli/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  53. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  54. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  55. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js.nft.json +1 -1
  56. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js.nft.json +1 -1
  57. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js.nft.json +1 -1
  58. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  59. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  60. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/route.js.nft.json +1 -1
  61. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/latest/route.js.nft.json +1 -1
  62. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/route.js.nft.json +1 -1
  63. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  64. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  65. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js.nft.json +1 -1
  66. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js.nft.json +1 -1
  67. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js.nft.json +1 -1
  68. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js +1 -1
  69. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  70. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  71. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  72. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js +1 -1
  73. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js.nft.json +1 -1
  74. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js +1 -1
  75. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js.nft.json +1 -1
  76. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
  77. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
  78. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  79. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  80. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/route.js.nft.json +1 -1
  81. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/latest/route.js.nft.json +1 -1
  82. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  83. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  84. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  85. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js.nft.json +1 -1
  86. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js.nft.json +1 -1
  87. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js.nft.json +1 -1
  88. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  89. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  90. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  91. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js.nft.json +1 -1
  92. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js.nft.json +1 -1
  93. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js.nft.json +1 -1
  94. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  95. package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  96. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  97. package/cli/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  98. package/cli/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  99. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js.nft.json +1 -1
  100. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js.nft.json +1 -1
  101. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js.nft.json +1 -1
  102. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js.nft.json +1 -1
  103. package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js.nft.json +1 -1
  104. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  105. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  106. package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
  107. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  108. package/cli/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  109. package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  110. package/cli/app/.next-cli-build/server/app/callback.html +1 -1
  111. package/cli/app/.next-cli-build/server/app/callback.rsc +3 -3
  112. package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  113. package/cli/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  114. package/cli/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +3 -3
  115. package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  116. package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  117. package/cli/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  118. package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
  119. package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +5 -5
  120. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +2 -2
  121. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation.segment.rsc +1 -1
  122. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  123. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  124. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +5 -5
  125. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_head.segment.rsc +1 -1
  126. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_index.segment.rsc +3 -3
  127. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +1 -1
  128. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  129. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  130. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  131. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  132. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  133. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  134. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  135. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  136. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
  137. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  138. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  139. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
  140. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  141. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  142. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  143. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  144. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  145. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  146. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
  147. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  148. package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  149. package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
  150. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  151. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  152. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  153. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  154. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  155. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  156. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
  157. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  158. package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
  159. package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +5 -5
  160. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +2 -2
  161. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context.segment.rsc +1 -1
  162. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  163. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  164. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +5 -5
  165. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_head.segment.rsc +1 -1
  166. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_index.segment.rsc +3 -3
  167. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +1 -1
  168. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  169. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
  170. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  171. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  172. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  173. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  174. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  175. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  176. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
  177. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  178. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  179. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  180. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  181. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  182. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  183. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  184. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  185. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  186. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  187. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +3 -3
  188. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  189. package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  190. package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
  191. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  192. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  193. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  194. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  195. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
  196. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  197. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
  198. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  199. package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
  200. package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +5 -5
  201. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +2 -2
  202. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground.segment.rsc +1 -1
  203. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  204. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  205. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +5 -5
  206. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_head.segment.rsc +1 -1
  207. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_index.segment.rsc +3 -3
  208. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +1 -1
  209. package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  210. package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  211. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  212. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  213. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  214. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  215. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  216. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  217. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
  218. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  219. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  220. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  221. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  222. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  223. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  224. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  225. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  226. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  227. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  228. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
  229. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  230. package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  231. package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  232. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  233. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  234. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  235. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  236. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  237. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  238. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
  239. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  240. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  241. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
  242. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  243. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  244. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  245. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  246. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  247. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  248. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
  249. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  250. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  251. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
  252. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  253. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  254. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  255. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  256. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
  257. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  258. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +3 -3
  259. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  260. package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  261. package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
  262. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  263. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  264. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  265. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  266. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  267. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  268. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
  269. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  270. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  271. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  272. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
  273. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
  274. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  275. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
  276. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  277. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  278. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  279. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  280. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  281. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  282. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
  283. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  284. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  285. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  286. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  287. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
  288. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  289. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +3 -3
  290. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  291. package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  292. package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  293. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  294. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  295. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  296. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  297. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  298. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  299. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
  300. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  301. package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  302. package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  303. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  304. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  305. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  306. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  307. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  308. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  309. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
  310. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  311. package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
  312. package/cli/app/.next-cli-build/server/app/dashboard.rsc +5 -5
  313. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  314. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  315. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  316. package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
  317. package/cli/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  318. package/cli/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +3 -3
  319. package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  320. package/cli/app/.next-cli-build/server/app/index.html +1 -1
  321. package/cli/app/.next-cli-build/server/app/index.rsc +3 -3
  322. package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  323. package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  324. package/cli/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  325. package/cli/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +3 -3
  326. package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  327. package/cli/app/.next-cli-build/server/app/landing/page.js +1 -1
  328. package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  329. package/cli/app/.next-cli-build/server/app/landing.html +1 -1
  330. package/cli/app/.next-cli-build/server/app/landing.rsc +4 -4
  331. package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  332. package/cli/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  333. package/cli/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +3 -3
  334. package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  335. package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
  336. package/cli/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  337. package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  338. package/cli/app/.next-cli-build/server/app/login.html +1 -1
  339. package/cli/app/.next-cli-build/server/app/login.rsc +4 -4
  340. package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  341. package/cli/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  342. package/cli/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +3 -3
  343. package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  344. package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  345. package/cli/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  346. package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  347. package/cli/app/.next-cli-build/server/app-paths-manifest.json +20 -20
  348. package/cli/app/.next-cli-build/server/chunks/3110.js +1 -1
  349. package/cli/app/.next-cli-build/server/chunks/3407.js +1 -1
  350. package/cli/app/.next-cli-build/server/chunks/4746.js +1 -1
  351. package/cli/app/.next-cli-build/server/chunks/5681.js +1 -1
  352. package/cli/app/.next-cli-build/server/chunks/5949.js +8 -3
  353. package/cli/app/.next-cli-build/server/chunks/6896.js +1 -1
  354. package/cli/app/.next-cli-build/server/chunks/7276.js +1 -1
  355. package/cli/app/.next-cli-build/server/chunks/8157.js +1 -1
  356. package/cli/app/.next-cli-build/server/chunks/8371.js +1 -1
  357. package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  358. package/cli/app/.next-cli-build/server/pages/404.html +1 -1
  359. package/cli/app/.next-cli-build/server/pages/500.html +1 -1
  360. package/cli/app/.next-cli-build/static/chunks/{3702-3049f543449956ae.js → 3702-a3e0eb456327db63.js} +1 -1
  361. package/cli/app/.next-cli-build/static/chunks/app/landing/page-6621ec8b157e77cc.js +1 -0
  362. package/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/src/lib/terminal/ptyBridge.py +163 -0
  363. package/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/src/lib/terminal/ptyBridge.py +163 -0
  364. package/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/src/lib/terminal/ptyBridge.py +163 -0
  365. package/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/src/lib/terminal/ptyBridge.py +163 -0
  366. package/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/src/lib/terminal/ptyBridge.py +163 -0
  367. package/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/src/lib/terminal/ptyBridge.py +163 -0
  368. package/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/src/lib/terminal/ptyBridge.py +163 -0
  369. package/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/src/lib/terminal/ptyBridge.py +163 -0
  370. package/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/src/lib/terminal/ptyBridge.py +163 -0
  371. package/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/src/lib/terminal/ptyBridge.py +163 -0
  372. package/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/cli/app/src/lib/terminal/ptyBridge.py +163 -0
  373. package/cli/app/cli/hooks/camoufoxRuntime.js +227 -24
  374. package/cli/app/cli/hooks/cloakbrowserRuntime.js +0 -7
  375. package/cli/app/package.json +1 -1
  376. package/cli/app/src/lib/oauth/services/displayEnv.js +134 -0
  377. package/cli/hooks/camoufoxRuntime.js +227 -24
  378. package/cli/hooks/cloakbrowserRuntime.js +0 -7
  379. package/cli/package.json +1 -1
  380. package/i18n/README.ja-JP.md +19 -1191
  381. package/i18n/README.ru.md +19 -1293
  382. package/i18n/README.vi.md +19 -1292
  383. package/i18n/README.zh-CN.md +19 -1288
  384. package/open-sse/config/kiroConstants.js +1 -1
  385. package/package.json +1 -1
  386. package/src/app/landing/components/Features.js +2 -2
  387. package/src/app/landing/components/HeroSection.js +1 -1
  388. package/src/app/landing/components/HowItWorks.js +2 -2
  389. package/src/app/landing/page.js +3 -3
  390. package/src/lib/network/outboundProxy.js +37 -23
  391. package/src/lib/oauth/services/bulkImportBrowserEngine.js +219 -22
  392. package/src/lib/oauth/services/codebuddyCnBulkImportManager.js +161 -72
  393. package/src/lib/oauth/services/codebuddyCnPhoneAutomation.js +95 -41
  394. package/src/lib/oauth/services/kiroBulkImportManager.js +18 -13
  395. package/src/mitm/manager.js +1 -1
  396. package/src/shared/constants/providers.js +4 -4
  397. package/cli/app/.next-cli-build/static/chunks/app/landing/page-77b3f78b93a8d0c7.js +0 -1
  398. package/cli/app/src/lib/oauth/services/bulkImportBrowserEngine.js +0 -325
  399. /package/cli/app/.next-cli-build/static/{4qzgXNlTatuSwREqjg1Tx → UogfdHPvWmU8zuWF5IR-t}/_buildManifest.js +0 -0
  400. /package/cli/app/.next-cli-build/static/{4qzgXNlTatuSwREqjg1Tx → UogfdHPvWmU8zuWF5IR-t}/_ssgManifest.js +0 -0
@@ -1,9 +1,16 @@
1
1
  // Ensure camoufox-js (optional stealth Firefox engine) is installed AND its
2
- // browser binary is downloaded. The package is in optionalDependencies, so
3
- // `npm install -g zevairouter` may legitimately ship without it (e.g. when npm
4
- // skipped optional install on a constrained network). When the user picks
5
- // Camoufox in the bulk-import modal we install lazily \u2014 same shape as the
6
- // sqlite/playwright runtime helpers \u2014 instead of failing the worker.
2
+ // browser binary is downloaded + kept in sync with the JS package.
3
+ //
4
+ // Failure mode we fix for end users (Mac + Ubuntu/Linux + Windows):
5
+ // camoufox-js emits fingerprint keys (e.g. audio:seed) that an *old* cached
6
+ // Camoufox binary rejects "Unknown property audio:seed in config".
7
+ //
8
+ // Strategy:
9
+ // 1) Install camoufox-js into ~/.zevai/runtime when missing
10
+ // 2) On every process first-use: if binary missing OR package version changed
11
+ // OR no zevai stamp, run `camoufox-js fetch` (no-op when already current)
12
+ // 3) Export force-refresh so launch can recover after Unknown-property errors
13
+ // 4) Linux: best-effort install of GUI libs via playwright install-deps
7
14
  const { spawnSync } = require("child_process");
8
15
  const { createRequire } = require("module");
9
16
  const fs = require("fs");
@@ -14,6 +21,9 @@ const { runNpmInstall, getRuntimeDir, getRuntimeNodeModules } = require("./sqlit
14
21
 
15
22
  const CAMOUFOX_PACKAGE = "camoufox-js";
16
23
  const CAMOUFOX_VERSION = "^0.11.0";
24
+ // Bump when we need every install to re-check binary even if package version
25
+ // string is unchanged (e.g. known bad binary fingerprints).
26
+ const BINARY_POLICY = "v2-audio-seed";
17
27
 
18
28
  // This helper is reached through webpack-bundled server code, which rewrites
19
29
  // bare `require(...)` into its own module registry — so `require("camoufox-js")`
@@ -37,6 +47,7 @@ function getRuntimeRequire() {
37
47
  }
38
48
 
39
49
  let cachedReady = null;
50
+ let binaryCheckedThisProcess = false;
40
51
 
41
52
  function tryRequireCamoufox() {
42
53
  // 1) Direct absolute-path resolution via a runtime-anchored createRequire —
@@ -62,6 +73,34 @@ function tryRequireCamoufox() {
62
73
  return null;
63
74
  }
64
75
 
76
+ function findCamoufoxPackageDir() {
77
+ try {
78
+ const rreq = getRuntimeRequire();
79
+ const candidate = path.join(getRuntimeNodeModules(), CAMOUFOX_PACKAGE);
80
+ if (fs.existsSync(path.join(candidate, "package.json"))) return candidate;
81
+ if (rreq) {
82
+ try {
83
+ return path.dirname(rreq.resolve(`${CAMOUFOX_PACKAGE}/package.json`));
84
+ } catch {}
85
+ }
86
+ } catch {}
87
+ try {
88
+ return path.dirname(nodeRequire.resolve(`${CAMOUFOX_PACKAGE}/package.json`));
89
+ } catch {}
90
+ return null;
91
+ }
92
+
93
+ function getCamoufoxJsPackageVersion() {
94
+ try {
95
+ const dir = findCamoufoxPackageDir();
96
+ if (!dir) return null;
97
+ const pkg = JSON.parse(fs.readFileSync(path.join(dir, "package.json"), "utf8"));
98
+ return String(pkg.version || "").trim() || null;
99
+ } catch {
100
+ return null;
101
+ }
102
+ }
103
+
65
104
  function findCamoufoxCli() {
66
105
  const candidates = [];
67
106
  // camoufox-js ships its CLI entry as dist/__main__.js (there is no cli.js).
@@ -73,6 +112,8 @@ function findCamoufoxCli() {
73
112
  try {
74
113
  candidates.push(path.join(getRuntimeNodeModules(), CAMOUFOX_PACKAGE, ...rel));
75
114
  } catch {}
115
+ const pkgDir = findCamoufoxPackageDir();
116
+ if (pkgDir) candidates.push(path.join(pkgDir, ...rel));
76
117
  for (const candidate of candidates) {
77
118
  if (candidate && fs.existsSync(candidate)) return candidate;
78
119
  }
@@ -92,6 +133,10 @@ function getCamoufoxBinaryDir() {
92
133
  return path.join(homeDir, ".cache", "camoufox");
93
134
  }
94
135
 
136
+ function getStampPath() {
137
+ return path.join(getCamoufoxBinaryDir(), ".zevai-binary-stamp.json");
138
+ }
139
+
95
140
  // The launch binary camoufox-js resolves per OS (dist/pkgman.js LAUNCH_FILE),
96
141
  // relative to the install dir. Linux is the primary target (Ubuntu VPS).
97
142
  function getCamoufoxLaunchBinary() {
@@ -109,6 +154,70 @@ function isCamoufoxBinaryAvailable() {
109
154
  }
110
155
  }
111
156
 
157
+ function getInstalledBinaryVersion() {
158
+ try {
159
+ const versionPath = path.join(getCamoufoxBinaryDir(), "version.json");
160
+ if (!fs.existsSync(versionPath)) return null;
161
+ const data = JSON.parse(fs.readFileSync(versionPath, "utf8"));
162
+ if (!data?.version) return null;
163
+ return `${data.version}${data.release ? `-${data.release}` : ""}`;
164
+ } catch {
165
+ return null;
166
+ }
167
+ }
168
+
169
+ function readBinaryStamp() {
170
+ try {
171
+ const p = getStampPath();
172
+ if (!fs.existsSync(p)) return null;
173
+ return JSON.parse(fs.readFileSync(p, "utf8"));
174
+ } catch {
175
+ return null;
176
+ }
177
+ }
178
+
179
+ function writeBinaryStamp({ packageVersion, binaryVersion } = {}) {
180
+ try {
181
+ const dir = getCamoufoxBinaryDir();
182
+ fs.mkdirSync(dir, { recursive: true });
183
+ const stamp = {
184
+ policy: BINARY_POLICY,
185
+ packageVersion: packageVersion || getCamoufoxJsPackageVersion(),
186
+ binaryVersion: binaryVersion || getInstalledBinaryVersion(),
187
+ platform: process.platform,
188
+ arch: process.arch,
189
+ fetchedAt: new Date().toISOString(),
190
+ };
191
+ fs.writeFileSync(getStampPath(), JSON.stringify(stamp, null, 2));
192
+ return stamp;
193
+ } catch {
194
+ return null;
195
+ }
196
+ }
197
+
198
+ /**
199
+ * Decide whether we should run `camoufox-js fetch`.
200
+ * - Missing binary → yes
201
+ * - No stamp (legacy installs, Mac beta.24 era) → yes (fetch is no-op if current)
202
+ * - Package version or policy changed → yes
203
+ * - force → yes
204
+ */
205
+ function shouldFetchCamoufoxBinary({ force = false } = {}) {
206
+ if (force) return true;
207
+ if (process.env.ZEVAI_CAMOUFOX_SKIP_FETCH === "1") return false;
208
+ if (!isCamoufoxBinaryAvailable()) return true;
209
+ if (!getInstalledBinaryVersion()) return true;
210
+
211
+ const stamp = readBinaryStamp();
212
+ if (!stamp) return true;
213
+
214
+ const pkgVer = getCamoufoxJsPackageVersion();
215
+ if (pkgVer && stamp.packageVersion && stamp.packageVersion !== pkgVer) return true;
216
+ if (stamp.policy !== BINARY_POLICY) return true;
217
+
218
+ return false;
219
+ }
220
+
112
221
  function ensureCamoufoxPackage({ silent = false } = {}) {
113
222
  const mod = tryRequireCamoufox();
114
223
  if (mod) return { ok: true, module: mod };
@@ -140,15 +249,30 @@ function fetchCamoufoxBinary({ silent = false, timeout = 600_000 } = {}) {
140
249
  if (!cliPath) {
141
250
  return { ok: false, reason: "camoufox-js cli script not found after install" };
142
251
  }
143
- if (!silent) console.log("\u23f3 Downloading Camoufox browser binary (first run, ~150MB)...");
252
+ if (!silent) {
253
+ console.log(
254
+ isCamoufoxBinaryAvailable()
255
+ ? "\u23f3 Checking/updating Camoufox browser binary (keeps fingerprint config compatible)..."
256
+ : "\u23f3 Downloading Camoufox browser binary (first run, ~150–300MB)..."
257
+ );
258
+ }
144
259
  const res = spawnSync(process.execPath, [cliPath, "fetch"], {
145
260
  stdio: silent ? ["ignore", "pipe", "pipe"] : "inherit",
146
261
  timeout,
147
262
  encoding: "utf8",
263
+ env: {
264
+ ...process.env,
265
+ // Never skip: users hit audio:seed / unknown property when binary lags.
266
+ PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: undefined,
267
+ },
148
268
  });
149
269
  if (res.status === 0) {
270
+ writeBinaryStamp({
271
+ packageVersion: getCamoufoxJsPackageVersion(),
272
+ binaryVersion: getInstalledBinaryVersion(),
273
+ });
150
274
  if (!silent) console.log("\u2705 Camoufox browser ready");
151
- return { ok: true };
275
+ return { ok: true, binaryVersion: getInstalledBinaryVersion() };
152
276
  }
153
277
  const stderr = String(res.stderr || "");
154
278
  let reason = "unknown error";
@@ -159,6 +283,66 @@ function fetchCamoufoxBinary({ silent = false, timeout = 600_000 } = {}) {
159
283
  return { ok: false, reason };
160
284
  }
161
285
 
286
+ /**
287
+ * Ensure binary exists and matches current camoufox-js expectations.
288
+ * Safe to call often: after the first successful check this process, subsequent
289
+ * calls are free unless force=true.
290
+ */
291
+ function ensureCamoufoxBinary({ silent = false, force = false } = {}) {
292
+ if (!force && binaryCheckedThisProcess && isCamoufoxBinaryAvailable()) {
293
+ return { ok: true, skipped: "already-checked", binaryVersion: getInstalledBinaryVersion() };
294
+ }
295
+
296
+ if (!shouldFetchCamoufoxBinary({ force })) {
297
+ // Stamp already valid — still write stamp if somehow missing binary version field
298
+ if (!readBinaryStamp()) {
299
+ writeBinaryStamp();
300
+ }
301
+ binaryCheckedThisProcess = true;
302
+ return { ok: true, skipped: "up-to-date", binaryVersion: getInstalledBinaryVersion() };
303
+ }
304
+
305
+ const fetched = fetchCamoufoxBinary({ silent });
306
+ if (!fetched.ok) {
307
+ // If we already have *some* binary, degrade gracefully — launch path will
308
+ // sanitize unsupported fingerprint keys. Only hard-fail when missing entirely.
309
+ if (isCamoufoxBinaryAvailable()) {
310
+ if (!silent) {
311
+ console.log(
312
+ `\u26a0 Camoufox binary update failed (${fetched.reason}); using existing binary with config sanitization.`
313
+ );
314
+ }
315
+ binaryCheckedThisProcess = true;
316
+ return {
317
+ ok: true,
318
+ degraded: true,
319
+ reason: fetched.reason,
320
+ binaryVersion: getInstalledBinaryVersion(),
321
+ };
322
+ }
323
+ return fetched;
324
+ }
325
+
326
+ binaryCheckedThisProcess = true;
327
+ return fetched;
328
+ }
329
+
330
+ /**
331
+ * Force re-download after launch errors like "Unknown property audio:seed".
332
+ * Clears process cache so the next ensure re-checks.
333
+ */
334
+ function refreshCamoufoxBinary({ silent = false } = {}) {
335
+ binaryCheckedThisProcess = false;
336
+ cachedReady = null;
337
+ try {
338
+ const stamp = getStampPath();
339
+ if (fs.existsSync(stamp)) fs.unlinkSync(stamp);
340
+ } catch {
341
+ // ignore
342
+ }
343
+ return ensureCamoufoxBinary({ silent, force: true });
344
+ }
345
+
162
346
  function findPlaywrightCli() {
163
347
  const candidates = [];
164
348
  for (const pkg of ["playwright", "playwright-core"]) {
@@ -184,7 +368,11 @@ function findPlaywrightCli() {
184
368
  function ensureLinuxBrowserDeps({ silent = false } = {}) {
185
369
  if (process.platform !== "linux") return { ok: true, skipped: "not-linux" };
186
370
  if (typeof process.getuid === "function" && process.getuid() !== 0) {
187
- if (!silent) console.log("\u2139 Skipping auto-install of Camoufox system libs (not root). If Camoufox fails to launch, run: npx playwright install-deps firefox");
371
+ if (!silent) {
372
+ console.log(
373
+ "\u2139 Skipping auto-install of Camoufox system libs (not root). If Camoufox fails to launch, run: npx playwright install-deps firefox"
374
+ );
375
+ }
188
376
  return { ok: true, skipped: "not-root" };
189
377
  }
190
378
  const cliPath = findPlaywrightCli();
@@ -199,37 +387,41 @@ function ensureLinuxBrowserDeps({ silent = false } = {}) {
199
387
  if (!silent) console.log("\u2705 Camoufox system libraries ready");
200
388
  return { ok: true };
201
389
  }
202
- if (!silent) console.log("\u26a0 Could not auto-install system libs; if Camoufox fails to launch run: npx playwright install-deps firefox");
390
+ if (!silent) {
391
+ console.log(
392
+ "\u26a0 Could not auto-install system libs; if Camoufox fails to launch run: npx playwright install-deps firefox"
393
+ );
394
+ }
203
395
  return { ok: false, reason: String(res.stderr || "").trim().split(/\r?\n/).pop()?.slice(0, 200) };
204
396
  }
205
397
 
206
- function ensureCamoufoxRuntime({ silent = false } = {}) {
207
- if (cachedReady === true) return { ok: true };
398
+ function ensureCamoufoxRuntime({ silent = false, forceBinaryRefresh = false } = {}) {
399
+ if (cachedReady === true && !forceBinaryRefresh) {
400
+ return { ok: true, module: tryRequireCamoufox() };
401
+ }
208
402
 
209
403
  const pkg = ensureCamoufoxPackage({ silent });
210
404
  if (!pkg.ok) {
211
405
  cachedReady = false;
212
406
  const error = new Error(
213
407
  `Camoufox engine not available. ${pkg.reason}. ` +
214
- `Install manually with "npm install -g camoufox-js && npx camoufox-js fetch", then retry. ` +
215
- `You can also switch back to the Chromium engine in the bulk-import modal.`
408
+ `Install manually with "npm install -g camoufox-js && npx camoufox-js fetch", then retry. ` +
409
+ `You can also switch back to the Chromium engine in the bulk-import modal.`
216
410
  );
217
411
  error.code = "CAMOUFOX_PACKAGE_MISSING";
218
412
  return { ok: false, error };
219
413
  }
220
414
 
221
- if (!isCamoufoxBinaryAvailable()) {
222
- const fetched = fetchCamoufoxBinary({ silent });
223
- if (!fetched.ok) {
224
- cachedReady = false;
225
- const error = new Error(
226
- `Camoufox browser binary not downloaded. ${fetched.reason}. ` +
415
+ const binary = ensureCamoufoxBinary({ silent, force: forceBinaryRefresh });
416
+ if (!binary.ok) {
417
+ cachedReady = false;
418
+ const error = new Error(
419
+ `Camoufox browser binary not downloaded. ${binary.reason}. ` +
227
420
  `Run "npx camoufox-js fetch" manually, then retry. ` +
228
421
  `You can also switch back to the Chromium engine in the bulk-import modal.`
229
- );
230
- error.code = "CAMOUFOX_BINARY_MISSING";
231
- return { ok: false, error };
232
- }
422
+ );
423
+ error.code = "CAMOUFOX_BINARY_MISSING";
424
+ return { ok: false, error };
233
425
  }
234
426
 
235
427
  // Ensure Linux GUI libraries are present (idempotent). Runs even when the
@@ -238,7 +430,12 @@ function ensureCamoufoxRuntime({ silent = false } = {}) {
238
430
  ensureLinuxBrowserDeps({ silent });
239
431
 
240
432
  cachedReady = true;
241
- return { ok: true, module: pkg.module };
433
+ return {
434
+ ok: true,
435
+ module: pkg.module,
436
+ binaryVersion: binary.binaryVersion || getInstalledBinaryVersion(),
437
+ binaryDegraded: Boolean(binary.degraded),
438
+ };
242
439
  }
243
440
 
244
441
  function loadCamoufoxModule() {
@@ -247,11 +444,17 @@ function loadCamoufoxModule() {
247
444
 
248
445
  function resetCache() {
249
446
  cachedReady = null;
447
+ binaryCheckedThisProcess = false;
250
448
  }
251
449
 
252
450
  module.exports = {
253
451
  ensureCamoufoxRuntime,
452
+ ensureCamoufoxBinary,
453
+ refreshCamoufoxBinary,
254
454
  loadCamoufoxModule,
255
455
  isCamoufoxBinaryAvailable,
456
+ getInstalledBinaryVersion,
457
+ getCamoufoxJsPackageVersion,
458
+ getCamoufoxBinaryDir,
256
459
  resetCache,
257
460
  };
@@ -53,13 +53,6 @@ function tryRequireCloakbrowser() {
53
53
  return nodeRequire(candidate);
54
54
  }
55
55
  } catch {}
56
- try {
57
- const home = process.env.HOME || process.env.USERPROFILE || "";
58
- const aurix = path.join(home, ".aurix/agent/node_modules", CLOAKBROWSER_PACKAGE);
59
- if (fs.existsSync(path.join(aurix, "package.json"))) {
60
- return nodeRequire(aurix);
61
- }
62
- } catch {}
63
56
  return null;
64
57
  }
65
58
 
package/cli/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zevairouter-cli",
3
- "version": "1.0.62",
3
+ "version": "1.0.65",
4
4
  "description": "ZevaiRouter CLI - Start and manage ZevaiRouter server",
5
5
  "bin": {
6
6
  "zevai": "./cli.js"