zevairouter 1.0.90 → 1.0.91

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 (549) hide show
  1. package/cli/app/.next-cli-build/BUILD_ID +1 -1
  2. package/cli/app/.next-cli-build/app-path-routes-manifest.json +7 -7
  3. package/cli/app/.next-cli-build/build-manifest.json +2 -2
  4. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js.nft.json +1 -1
  5. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
  6. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  7. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  8. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +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.js.nft.json +1 -1
  11. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  12. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  13. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  14. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  15. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  16. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js.nft.json +1 -1
  17. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
  18. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  19. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  20. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  21. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  22. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  23. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  24. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  25. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  26. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  27. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  28. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  29. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  30. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  31. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  32. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
  33. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  34. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  35. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  36. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  37. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  38. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  39. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  40. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  41. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  42. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  43. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  44. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  45. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  46. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  47. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  48. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js.nft.json +1 -1
  49. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
  50. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  51. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  52. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  53. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  54. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  55. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  56. package/cli/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  57. package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  58. package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
  59. package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  60. package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  61. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  62. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  63. package/cli/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  64. package/cli/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  65. package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  66. package/cli/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  67. package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  68. package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
  69. package/cli/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  70. package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  71. package/cli/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  72. package/cli/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +3 -3
  73. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  74. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  75. package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  76. package/cli/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  77. package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  78. package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  79. package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  80. package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  81. package/cli/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  82. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  83. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  84. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  85. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  86. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  87. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js.nft.json +1 -1
  88. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  89. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  90. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  91. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  92. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  93. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  94. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  95. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  96. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  97. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  98. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  99. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  100. package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  101. package/cli/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  102. package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js.nft.json +1 -1
  103. package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js.nft.json +1 -1
  104. package/cli/app/.next-cli-build/server/app/api/context/route.js.nft.json +1 -1
  105. package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js.nft.json +1 -1
  106. package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  107. package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  108. package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  109. package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  110. package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  111. package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  112. package/cli/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  113. package/cli/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  114. package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  115. package/cli/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  116. package/cli/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  117. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  118. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  119. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  120. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  121. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  122. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  123. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  124. package/cli/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  125. package/cli/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  126. package/cli/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  127. package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  128. package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
  129. package/cli/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  130. package/cli/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  131. package/cli/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  132. package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  133. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  134. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  135. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js.nft.json +1 -1
  136. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js.nft.json +1 -1
  137. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js.nft.json +1 -1
  138. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  139. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  140. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/route.js.nft.json +1 -1
  141. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/latest/route.js.nft.json +1 -1
  142. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/route.js.nft.json +1 -1
  143. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js +1 -1
  144. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  145. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  146. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  147. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js +1 -1
  148. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js.nft.json +1 -1
  149. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js +1 -1
  150. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js.nft.json +1 -1
  151. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js +1 -1
  152. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js.nft.json +1 -1
  153. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  154. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  155. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js.nft.json +1 -1
  156. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js.nft.json +1 -1
  157. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js.nft.json +1 -1
  158. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js.nft.json +1 -1
  159. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js.nft.json +1 -1
  160. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  161. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  162. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js.nft.json +1 -1
  163. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js.nft.json +1 -1
  164. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
  165. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js.nft.json +1 -1
  166. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js.nft.json +1 -1
  167. package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  168. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  169. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  170. package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  171. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  172. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  173. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/route.js.nft.json +1 -1
  174. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/latest/route.js.nft.json +1 -1
  175. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  176. package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  177. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  178. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  179. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  180. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js.nft.json +1 -1
  181. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js.nft.json +1 -1
  182. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js.nft.json +1 -1
  183. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  184. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  185. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  186. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  187. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  188. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js.nft.json +1 -1
  189. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js.nft.json +1 -1
  190. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js.nft.json +1 -1
  191. package/cli/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  192. package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  193. package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  194. package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  195. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  196. package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  197. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  198. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  199. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  200. package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js.nft.json +1 -1
  201. package/cli/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  202. package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  203. package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  204. package/cli/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  205. package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  206. package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  207. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  208. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  209. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  210. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  211. package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  212. package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  213. package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  214. package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  215. package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  216. package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  217. package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  218. package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  219. package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  220. package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  221. package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  222. package/cli/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  223. package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  224. package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  225. package/cli/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  226. package/cli/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  227. package/cli/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  228. package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js.nft.json +1 -1
  229. package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js.nft.json +1 -1
  230. package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js.nft.json +1 -1
  231. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js.nft.json +1 -1
  232. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js.nft.json +1 -1
  233. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js.nft.json +1 -1
  234. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js.nft.json +1 -1
  235. package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js.nft.json +1 -1
  236. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  237. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  238. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  239. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  240. package/cli/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  241. package/cli/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  242. package/cli/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  243. package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  244. package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  245. package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  246. package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  247. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  248. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  249. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  250. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  251. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  252. package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js.nft.json +1 -1
  253. package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  254. package/cli/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  255. package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  256. package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  257. package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  258. package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  259. package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  260. package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  261. package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  262. package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  263. package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  264. package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  265. package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  266. package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  267. package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  268. package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  269. package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  270. package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  271. package/cli/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  272. package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  273. package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  274. package/cli/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  275. package/cli/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  276. package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  277. package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  278. package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  279. package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
  280. package/cli/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  281. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  282. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  283. package/cli/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  284. package/cli/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  285. package/cli/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  286. package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  287. package/cli/app/.next-cli-build/server/app/callback.html +1 -1
  288. package/cli/app/.next-cli-build/server/app/callback.rsc +3 -3
  289. package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  290. package/cli/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  291. package/cli/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +3 -3
  292. package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  293. package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  294. package/cli/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  295. package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
  296. package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +5 -5
  297. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +2 -2
  298. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation.segment.rsc +1 -1
  299. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  300. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  301. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +5 -5
  302. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_head.segment.rsc +1 -1
  303. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_index.segment.rsc +3 -3
  304. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +1 -1
  305. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  306. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  307. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  308. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  309. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  310. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  311. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  312. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  313. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
  314. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  315. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  316. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
  317. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  318. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  319. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  320. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  321. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  322. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  323. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
  324. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  325. package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  326. package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
  327. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  328. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  329. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  330. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  331. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  332. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  333. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
  334. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  335. package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
  336. package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +5 -5
  337. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +2 -2
  338. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context.segment.rsc +1 -1
  339. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  340. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  341. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +5 -5
  342. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_head.segment.rsc +1 -1
  343. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_index.segment.rsc +3 -3
  344. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +1 -1
  345. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  346. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
  347. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  348. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  349. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  350. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  351. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  352. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  353. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
  354. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  355. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  356. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  357. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  358. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  359. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  360. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  361. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  362. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  363. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  364. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +3 -3
  365. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  366. package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  367. package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
  368. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  369. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  370. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  371. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  372. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
  373. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  374. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
  375. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  376. package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
  377. package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +5 -5
  378. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +2 -2
  379. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground.segment.rsc +1 -1
  380. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  381. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  382. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +5 -5
  383. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_head.segment.rsc +1 -1
  384. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_index.segment.rsc +3 -3
  385. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +1 -1
  386. package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  387. package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  388. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  389. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  390. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  391. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  392. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  393. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  394. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
  395. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  396. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  397. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  398. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  399. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  400. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  401. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  402. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  403. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  404. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  405. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
  406. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  407. package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  408. package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  409. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  410. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  411. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  412. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  413. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  414. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  415. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
  416. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  417. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  418. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
  419. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  420. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  421. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  422. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  423. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  424. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  425. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
  426. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  427. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  428. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
  429. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  430. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  431. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  432. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  433. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
  434. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  435. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +3 -3
  436. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  437. package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  438. package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
  439. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  440. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  441. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  442. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  443. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  444. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  445. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
  446. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  447. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  448. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  449. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  450. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
  451. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
  452. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  453. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
  454. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  455. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  456. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  457. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  458. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  459. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  460. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
  461. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  462. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  463. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  464. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  465. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
  466. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  467. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +3 -3
  468. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  469. package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  470. package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  471. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  472. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  473. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  474. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  475. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  476. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  477. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
  478. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  479. package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  480. package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  481. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  482. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  483. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  484. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  485. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  486. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  487. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
  488. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  489. package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
  490. package/cli/app/.next-cli-build/server/app/dashboard.rsc +5 -5
  491. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  492. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  493. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  494. package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
  495. package/cli/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  496. package/cli/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +3 -3
  497. package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  498. package/cli/app/.next-cli-build/server/app/index.html +1 -1
  499. package/cli/app/.next-cli-build/server/app/index.rsc +3 -3
  500. package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  501. package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  502. package/cli/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  503. package/cli/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +3 -3
  504. package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  505. package/cli/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  506. package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  507. package/cli/app/.next-cli-build/server/app/landing.html +1 -1
  508. package/cli/app/.next-cli-build/server/app/landing.rsc +3 -3
  509. package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
  510. package/cli/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  511. package/cli/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +3 -3
  512. package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  513. package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  514. package/cli/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  515. package/cli/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  516. package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  517. package/cli/app/.next-cli-build/server/app/login.html +1 -1
  518. package/cli/app/.next-cli-build/server/app/login.rsc +4 -4
  519. package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  520. package/cli/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  521. package/cli/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +3 -3
  522. package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  523. package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  524. package/cli/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  525. package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  526. package/cli/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  527. package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  528. package/cli/app/.next-cli-build/server/app-paths-manifest.json +7 -7
  529. package/cli/app/.next-cli-build/server/chunks/1019.js +1 -0
  530. package/cli/app/.next-cli-build/server/chunks/3155.js +1 -1
  531. package/cli/app/.next-cli-build/server/chunks/3407.js +1 -1
  532. package/cli/app/.next-cli-build/server/chunks/4746.js +1 -1
  533. package/cli/app/.next-cli-build/server/chunks/6896.js +1 -1
  534. package/cli/app/.next-cli-build/server/chunks/8157.js +1 -1
  535. package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  536. package/cli/app/.next-cli-build/server/pages/404.html +1 -1
  537. package/cli/app/.next-cli-build/server/pages/500.html +1 -1
  538. package/cli/app/.next-cli-build/static/chunks/{3702-6c413110833a0c10.js → 3702-30e147d7f8aa1b1e.js} +1 -1
  539. 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/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/cli/app/src/lib/terminal/ptyBridge.py +163 -0
  540. 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/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
  541. 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/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
  542. 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/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
  543. package/cli/app/package.json +1 -1
  544. package/cli/package.json +1 -1
  545. package/package.json +1 -1
  546. package/src/lib/oauth/services/cloudflareAiBulkImportManager.js +166 -83
  547. package/src/lib/oauth/services/kiroGoogleAutomation.js +306 -52
  548. /package/cli/app/.next-cli-build/static/{2bqOfNlrEKL_p8ckmSn98 → DeYkfR7AtoBKt2sT-D-8h}/_buildManifest.js +0 -0
  549. /package/cli/app/.next-cli-build/static/{2bqOfNlrEKL_p8ckmSn98 → DeYkfR7AtoBKt2sT-D-8h}/_ssgManifest.js +0 -0
@@ -104,6 +104,9 @@ const GOOGLE_LOGIN_BUTTON_SELECTORS = [
104
104
  'button:has-text("Login with Google")',
105
105
  'button:has-text("Continue with Google")',
106
106
  'button:has-text("Sign in with Google")',
107
+ // Cloudflare dash: visible label is just "Google", aria is "Continue with Google"
108
+ 'button[aria-label*="Continue with Google" i]',
109
+ 'button[aria-label*="Google" i]',
107
110
  'button:has-text("Google")',
108
111
  'a:has-text("Google")',
109
112
  'div[role="button"]:has-text("Continue with Google")',
@@ -112,7 +115,7 @@ const GOOGLE_LOGIN_BUTTON_SELECTORS = [
112
115
  'span:has-text("Continue with Google")',
113
116
  'span:has-text("Login with Google")',
114
117
  'span:has-text("Google")',
115
- '[aria-label*="Google"]',
118
+ '[aria-label*="Google" i]',
116
119
  '[data-provider*="google" i]',
117
120
  // xAI / Grok device + account pages
118
121
  'button:has-text("Login with Google")',
@@ -120,6 +123,18 @@ const GOOGLE_LOGIN_BUTTON_SELECTORS = [
120
123
  '[data-testid*="google" i]',
121
124
  ];
122
125
 
126
+ /** OneTrust / cookie walls that block the first Google click (Cloudflare login). */
127
+ const COOKIE_DISMISS_SELECTORS = [
128
+ '#onetrust-accept-btn-handler',
129
+ '#onetrust-reject-all-handler',
130
+ '#accept-recommended-btn-handler',
131
+ 'button:has-text("Allow All")',
132
+ 'button:has-text("Reject All")',
133
+ 'button:has-text("Accept All")',
134
+ 'button:has-text("Accept all")',
135
+ 'button:has-text("Confirm My Choices")',
136
+ ];
137
+
123
138
  const TERMS_CHECKBOX_SELECTORS = [
124
139
  '#agree-policy-account',
125
140
  '#agree-policy',
@@ -565,6 +580,61 @@ function isGrokish(serviceLabel) {
565
580
  return /grok|cloudflare/i.test(String(serviceLabel || ""));
566
581
  }
567
582
 
583
+ function isCloudflareLoginUrl(url) {
584
+ try {
585
+ const u = new URL(url || "");
586
+ return u.hostname === "dash.cloudflare.com" && u.pathname.includes("/login");
587
+ } catch {
588
+ return false;
589
+ }
590
+ }
591
+
592
+ async function dismissCookieBanners(page, reportStep) {
593
+ // Cookie / OneTrust modals steal the first clicks (CF login shows "Allow All").
594
+ // Fast path: one scan — must stay cheap because the main automation loop
595
+ // calls this on every tick (dashboard harvest must not burn 2s here).
596
+ for (const selector of COOKIE_DISMISS_SELECTORS) {
597
+ try {
598
+ const loc = page.locator(selector).first();
599
+ if (await loc.isVisible({ timeout: 100 }).catch(() => false)) {
600
+ // noWaitAfter: banner click must not wait on any incidental navigation
601
+ await loc.click({ timeout: 2_000, noWaitAfter: true }).catch(() => null);
602
+ reportStep?.("dismissing_cookies", "Dismissed cookie / privacy banner");
603
+ return true;
604
+ }
605
+ } catch {
606
+ /* next */
607
+ }
608
+ }
609
+ const viaApi = await page.evaluate(() => {
610
+ try {
611
+ if (typeof window.OneTrust?.AllowAll === "function") {
612
+ const banner = document.querySelector(
613
+ "#onetrust-banner-sdk, #onetrust-consent-sdk, #onetrust-accept-btn-handler",
614
+ );
615
+ // Only invoke when a banner is actually present — AllowAll on every
616
+ // loop tick is wasteful and can re-open consent UI.
617
+ if (!banner) return false;
618
+ window.OneTrust.AllowAll();
619
+ return true;
620
+ }
621
+ const btn = document.querySelector("#onetrust-accept-btn-handler");
622
+ if (btn && btn.offsetParent !== null) {
623
+ btn.click();
624
+ return true;
625
+ }
626
+ } catch {
627
+ /* ignore */
628
+ }
629
+ return false;
630
+ }).catch(() => false);
631
+ if (viaApi) {
632
+ reportStep?.("dismissing_cookies", "Dismissed cookie / privacy banner");
633
+ return true;
634
+ }
635
+ return false;
636
+ }
637
+
568
638
  // Google bounces flagged (headless) browsers:
569
639
  // - myaccount.google.com/not-supported
570
640
  // - accounts.google.com/v3/signin/rejected ("This browser or app may not be secure")
@@ -1357,6 +1427,17 @@ async function handleProviderOnboarding(page, reportStep, serviceLabel) {
1357
1427
  return false;
1358
1428
  }
1359
1429
 
1430
+ // Cloudflare dashboard / login: "Allow All" cookie + "Sign in" must not be
1431
+ // treated as provider onboarding Continues.
1432
+ try {
1433
+ const host = new URL(page.url()).hostname || "";
1434
+ if (host === "dash.cloudflare.com" || host.endsWith(".cloudflare.com")) {
1435
+ return false;
1436
+ }
1437
+ } catch {
1438
+ /* ignore */
1439
+ }
1440
+
1360
1441
  // If Google SSO is still offered, do not mash generic Continue.
1361
1442
  if (await providerHasGoogleLogin(page)) {
1362
1443
  return false;
@@ -1430,13 +1511,33 @@ async function handleXaiDeviceCodeConfirm(page, reportStep, { alreadyAuthed = fa
1430
1511
  return true;
1431
1512
  }
1432
1513
 
1514
+ /**
1515
+ * Click a Google SSO control without waiting for the cross-origin navigation.
1516
+ *
1517
+ * Playwright's default click() waits for navigations started by the action.
1518
+ * CF → accounts.google.com through a residential proxy often exceeds 5s, so the
1519
+ * click "fails" even though OAuth already started — then we re-click for 30–40s.
1520
+ */
1521
+ async function clickSsoControl(page, locator) {
1522
+ const enabled = await locator.isEnabled().catch(() => true);
1523
+ if (!enabled) return false;
1524
+ await locator.scrollIntoViewIfNeeded().catch(() => null);
1525
+ const clicked = await locator
1526
+ .click({ timeout: 2_500, force: true, noWaitAfter: true })
1527
+ .then(() => true)
1528
+ .catch(() => false);
1529
+ if (clicked) return true;
1530
+ // Trusted mouse path (also does not wait on navigation).
1531
+ return clickLocatorCenter(page, locator).catch(() => false);
1532
+ }
1533
+
1433
1534
  async function clickGoogleLoginRole(page) {
1434
- // Role-based matches are more reliable on SPA auth shells (xAI, etc.)
1435
- // than CSS :has-text alone — especially when the label is nested.
1535
+ // Role-based matches are more reliable on SPA auth shells (xAI, CF, etc.)
1536
+ // than CSS :has-text alone — especially when the label is nested / aria-only.
1436
1537
  const roleNames = [
1538
+ /continue with google/i,
1437
1539
  /login with google/i,
1438
1540
  /log in with google/i,
1439
- /continue with google/i,
1440
1541
  /sign up with google/i,
1441
1542
  /sign in with google/i,
1442
1543
  /^google$/i,
@@ -1445,10 +1546,7 @@ async function clickGoogleLoginRole(page) {
1445
1546
  try {
1446
1547
  const btn = page.getByRole("button", { name }).first();
1447
1548
  if (await btn.isVisible({ timeout: 250 }).catch(() => false)) {
1448
- const enabled = await btn.isEnabled().catch(() => true);
1449
- if (!enabled) continue;
1450
- await btn.click({ timeout: 5_000 });
1451
- return true;
1549
+ if (await clickSsoControl(page, btn)) return true;
1452
1550
  }
1453
1551
  } catch {
1454
1552
  /* next */
@@ -1456,13 +1554,30 @@ async function clickGoogleLoginRole(page) {
1456
1554
  try {
1457
1555
  const link = page.getByRole("link", { name }).first();
1458
1556
  if (await link.isVisible({ timeout: 200 }).catch(() => false)) {
1459
- await link.click({ timeout: 5_000 });
1460
- return true;
1557
+ if (await clickSsoControl(page, link)) return true;
1461
1558
  }
1462
1559
  } catch {
1463
1560
  /* next */
1464
1561
  }
1465
1562
  }
1563
+ // Cloudflare: button text "Google", aria-label "Continue with Google"
1564
+ try {
1565
+ const ariaBtn = page.locator('button[aria-label*="Google" i]').first();
1566
+ if (await ariaBtn.isVisible({ timeout: 200 }).catch(() => false)) {
1567
+ if (await clickSsoControl(page, ariaBtn)) return true;
1568
+ }
1569
+ } catch {
1570
+ /* ignore */
1571
+ }
1572
+ // Last resort: CSS text match with noWaitAfter
1573
+ try {
1574
+ const textBtn = page.locator('button:has-text("Google")').first();
1575
+ if (await textBtn.isVisible({ timeout: 150 }).catch(() => false)) {
1576
+ if (await clickSsoControl(page, textBtn)) return true;
1577
+ }
1578
+ } catch {
1579
+ /* ignore */
1580
+ }
1466
1581
  return false;
1467
1582
  }
1468
1583
 
@@ -1508,6 +1623,8 @@ async function ensureProviderTermsChecked(page, reportStep) {
1508
1623
  async function handleProviderLoginGate(page, reportStep, { allowGoogleClick = true } = {}) {
1509
1624
  if (isGoogleAuthPage(page)) return false;
1510
1625
 
1626
+ await dismissCookieBanners(page, reportStep);
1627
+
1511
1628
  const confirmedExistingDialog = await clickFirstActionable(page, PRIVACY_CONFIRM_BUTTON_SELECTORS);
1512
1629
  if (confirmedExistingDialog) {
1513
1630
  reportStep("accepting_provider_privacy_dialog", "Confirmed provider privacy agreement dialog");
@@ -1525,8 +1642,25 @@ async function handleProviderLoginGate(page, reportStep, { allowGoogleClick = tr
1525
1642
 
1526
1643
  // Prefer explicit Google SSO over generic Continue (device code pages
1527
1644
  // often have both — clicking Continue without a session yields invalid_code).
1645
+ // Cloudflare: click Google SSO only — never the CF email "Sign in" form.
1528
1646
  const clickedGoogleRole = await clickGoogleLoginRole(page);
1529
- const clickedGoogle = clickedGoogleRole || await clickFirstActionable(page, GOOGLE_LOGIN_BUTTON_SELECTORS);
1647
+ let clickedGoogle = clickedGoogleRole;
1648
+ if (!clickedGoogle) {
1649
+ // Selector fallback with noWaitAfter (clickFirstActionable waits on nav — bad for SSO).
1650
+ for (const selector of GOOGLE_LOGIN_BUTTON_SELECTORS.slice(0, 16)) {
1651
+ try {
1652
+ const loc = page.locator(selector).first();
1653
+ if (await loc.isVisible({ timeout: 100 }).catch(() => false)) {
1654
+ if (await clickSsoControl(page, loc)) {
1655
+ clickedGoogle = true;
1656
+ break;
1657
+ }
1658
+ }
1659
+ } catch {
1660
+ /* next */
1661
+ }
1662
+ }
1663
+ }
1530
1664
  if (clickedGoogle) {
1531
1665
  reportStep("selecting_google_login", "Selecting Google login");
1532
1666
 
@@ -1536,10 +1670,12 @@ async function handleProviderLoginGate(page, reportStep, { allowGoogleClick = tr
1536
1670
  }
1537
1671
 
1538
1672
  // Wait for OAuth redirect to Google (or email field) — event-driven.
1673
+ // CF→Google through proxy can take a few seconds; click already returned (noWaitAfter).
1674
+ const onCf = isCloudflareLoginUrl(page.url?.() || "");
1539
1675
  const reached = await waitForPageAdvance(page, {
1540
1676
  urlMatch: (u) => isGoogleHostname(u),
1541
1677
  selector: EMAIL_INPUT_SELECTOR,
1542
- timeout: 12_000,
1678
+ timeout: onCf ? 10_000 : 12_000,
1543
1679
  });
1544
1680
  if (reached || isGoogleAuthPage(page)) {
1545
1681
  reportStep("google_login_page", "Reached Google sign-in after provider SSO");
@@ -1879,6 +2015,10 @@ export async function runGoogleAccountAutomation({
1879
2015
  successStep = "oauth_success_received",
1880
2016
  successMessage = "OAuth success received",
1881
2017
  onStep,
2018
+ /** When true, skip page.goto(authUrl) — caller already navigated (e.g. CF pre-click Google). */
2019
+ skipGoto = false,
2020
+ /** Caller already clicked Google SSO; wait for accounts.google.com before re-clicking. */
2021
+ expectGoogleSoon = false,
1882
2022
  }) {
1883
2023
  const startTime = Date.now();
1884
2024
  const reportStep = (step, message) => {
@@ -1897,7 +2037,9 @@ export async function runGoogleAccountAutomation({
1897
2037
  let deviceInvalidReopenCount = 0;
1898
2038
  // Cooldowns prevent double-submit only — not artificial pacing.
1899
2039
  const PASSWORD_RESUBMIT_COOLDOWN_MS = isGrokish(serviceLabel) ? 6_000 : 18_000;
1900
- const EMAIL_RESUBMIT_COOLDOWN_MS = isGrokish(serviceLabel) ? 3_000 : 8_000;
2040
+ // Longer email cooldown for fast bulk — Google identifier page can sit 5–10s
2041
+ // after Next; re-typing the whole email wastes another 10–15s.
2042
+ const EMAIL_RESUBMIT_COOLDOWN_MS = isGrokish(serviceLabel) ? 12_000 : 8_000;
1901
2043
  const GOOGLE_SSO_COOLDOWN_MS = isGrokish(serviceLabel) ? 3_000 : 8_000;
1902
2044
  // Don't hammer Allow — xAI rate_limits rapid device posts.
1903
2045
  const DEVICE_APPROVE_COOLDOWN_MS = 3_000;
@@ -1909,46 +2051,90 @@ export async function runGoogleAccountAutomation({
1909
2051
  // Loop poll: race successPromise — keep tiny so fast networks aren't stalled.
1910
2052
  const loopTickMs = isGrokFlow ? 120 : 500;
1911
2053
 
1912
- reportStep(openingStep, openingMessage);
1913
- await page.goto(authUrl, { waitUntil: "domcontentloaded", timeout: 60_000 });
1914
- // Wait for interactive UI (Continue / Google / email), not a fixed sleep.
1915
- await waitUntil(
1916
- async () =>
1917
- isGoogleAuthPage(page)
1918
- || (await getFirstVisibleLocator(page, 'button:has-text("Continue"), button:has-text("Login with Google"), button:has-text("Google")'))
1919
- || (await getFirstVisibleLocator(page, EMAIL_INPUT_SELECTOR)),
1920
- { timeout: isGrokFlow ? 6_000 : 12_000, interval: 80 },
1921
- );
1922
- if (!isGrokFlow) {
1923
- await waitThroughGoogleInterstitials(page, reportStep, interstitialOpts(8_000));
1924
- }
1925
-
1926
- // Provider shells (xAI device, CodeBuddy, …) must pick Google SSO first.
1927
- // Never type credentials into provider user_code / email fields.
1928
- // xAI: confirm device user_code first, then Google SSO — event-driven retries.
1929
- for (let attempt = 0; attempt < (isGrokFlow ? 6 : 2); attempt += 1) {
1930
- if (isGoogleAuthPage(page)) break;
1931
- if (await handleXaiDeviceCodeConfirm(page, reportStep)) {
1932
- continue;
1933
- }
1934
- if (await handleProviderLoginGate(page, reportStep)) {
2054
+ let alreadyOnGoogle = skipGoto && isGoogleAuthPage(page);
2055
+ if (!skipGoto) {
2056
+ reportStep(openingStep, openingMessage);
2057
+ await page.goto(authUrl, { waitUntil: "domcontentloaded", timeout: 60_000 });
2058
+ await dismissCookieBanners(page, reportStep);
2059
+ } else if (alreadyOnGoogle) {
2060
+ reportStep("google_login_page", "Already on Google sign-in — filling credentials");
2061
+ } else if (expectGoogleSoon) {
2062
+ // CF (etc.) already clicked Google — wait for redirect, do NOT re-goto / re-click yet.
2063
+ reportStep("waiting_google_redirect", "Waiting for Google after provider SSO click");
2064
+ const reached = await waitUntil(() => isGoogleAuthPage(page), {
2065
+ timeout: 25_000,
2066
+ interval: 100,
2067
+ });
2068
+ if (reached) {
2069
+ alreadyOnGoogle = true;
1935
2070
  googleLoginSelectedAt = Date.now();
1936
- if (isGoogleAuthPage(page)) break;
1937
- // Gate already waited for Google URL; only brief yield if still on provider.
1938
- await yieldMs(50);
1939
- continue;
2071
+ reportStep("google_login_page", "Reached Google sign-in after provider SSO");
2072
+ } else {
2073
+ reportStep("google_redirect_slow", "Google redirect slow — will retry SSO click");
1940
2074
  }
1941
- // SPA not ready — poll for buttons, don't sleep 600ms blindly.
1942
- const ready = await waitUntil(
1943
- async () =>
1944
- (await providerHasGoogleLogin(page))
1945
- || /enter the code|login with google|continue/i.test(await readPageText(page).catch(() => "")),
1946
- { timeout: 800, interval: 80 },
2075
+ } else {
2076
+ reportStep(openingStep, openingMessage);
2077
+ await dismissCookieBanners(page, reportStep);
2078
+ }
2079
+
2080
+ // Cloudflare login always shows email/password fields — do NOT treat those as
2081
+ // "ready for Google email fill". Wait for Google SSO button / Google page only.
2082
+ const onCfLogin = isCloudflareLoginUrl(page.url?.() || "") || /cloudflare/i.test(String(serviceLabel || ""));
2083
+
2084
+ if (!alreadyOnGoogle) {
2085
+ await waitUntil(
2086
+ async () => {
2087
+ if (isGoogleAuthPage(page)) return true;
2088
+ if (await getFirstVisibleLocator(
2089
+ page,
2090
+ 'button[aria-label*="Google" i], button:has-text("Continue with Google"), button:has-text("Login with Google"), button:has-text("Google")',
2091
+ )) {
2092
+ return true;
2093
+ }
2094
+ if (!onCfLogin && (await getFirstVisibleLocator(page, EMAIL_INPUT_SELECTOR))) {
2095
+ return true;
2096
+ }
2097
+ if (!onCfLogin && (await getFirstVisibleLocator(page, 'button:has-text("Continue")'))) {
2098
+ return true;
2099
+ }
2100
+ return false;
2101
+ },
2102
+ { timeout: isGrokFlow ? 8_000 : 12_000, interval: 80 },
1947
2103
  );
1948
- if (!ready) await yieldMs(100);
1949
- }
1950
- if (!isGrokFlow) {
1951
- await waitThroughGoogleInterstitials(page, reportStep, interstitialOpts(6_000));
2104
+ if (!isGrokFlow) {
2105
+ await waitThroughGoogleInterstitials(page, reportStep, interstitialOpts(8_000));
2106
+ }
2107
+
2108
+ // Provider shells (xAI device, CodeBuddy, Cloudflare, …) must pick Google SSO first.
2109
+ // Never type credentials into provider email fields (CF has its own email/password).
2110
+ for (let attempt = 0; attempt < (isGrokFlow || onCfLogin ? 8 : 2); attempt += 1) {
2111
+ if (isGoogleAuthPage(page)) break;
2112
+ await dismissCookieBanners(page, reportStep);
2113
+ if (await handleXaiDeviceCodeConfirm(page, reportStep)) {
2114
+ continue;
2115
+ }
2116
+ if (await handleProviderLoginGate(page, reportStep)) {
2117
+ googleLoginSelectedAt = Date.now();
2118
+ if (isGoogleAuthPage(page)) break;
2119
+ // Gate already waited for Google URL; only brief yield if still on provider.
2120
+ await yieldMs(50);
2121
+ continue;
2122
+ }
2123
+ // SPA not ready — poll for Google SSO (not CF email form).
2124
+ const ready = await waitUntil(
2125
+ async () =>
2126
+ isGoogleAuthPage(page)
2127
+ || (await providerHasGoogleLogin(page))
2128
+ || /enter the code|login with google|continue with google/i.test(
2129
+ await readPageText(page).catch(() => ""),
2130
+ ),
2131
+ { timeout: 600, interval: 80 },
2132
+ );
2133
+ if (!ready) await yieldMs(80);
2134
+ }
2135
+ if (!isGrokFlow) {
2136
+ await waitThroughGoogleInterstitials(page, reportStep, interstitialOpts(6_000));
2137
+ }
1952
2138
  }
1953
2139
 
1954
2140
  // Only fill Google email once we are actually on accounts.google.com.
@@ -2003,6 +2189,50 @@ export async function runGoogleAccountAutomation({
2003
2189
  };
2004
2190
  }
2005
2191
 
2192
+ // Cloudflare: after Google password, land on dash — park on harvest promise.
2193
+ // Do NOT thrash cookie dismiss / generic Approve (starves token API work).
2194
+ if (
2195
+ isGrokFlow
2196
+ && seenGoogleAuth
2197
+ && passwordSubmittedAt
2198
+ && /cloudflare/i.test(String(serviceLabel || ""))
2199
+ ) {
2200
+ try {
2201
+ const u = new URL(page.url?.() || "");
2202
+ const onDash =
2203
+ u.hostname === "dash.cloudflare.com"
2204
+ && !u.pathname.includes("/login")
2205
+ && !u.href.includes("oidcJwt");
2206
+ if (onDash) {
2207
+ reportStep(
2208
+ "waiting_cf_harvest",
2209
+ "On Cloudflare dashboard — waiting for Workers AI token harvest",
2210
+ );
2211
+ // Yield the page: only race success (longer tick while harvesting).
2212
+ const parked = await Promise.race([
2213
+ successPromise
2214
+ .then((result) => ({ kind: "success", result }))
2215
+ .catch((error) => ({ kind: "success_error", error })),
2216
+ yieldMs(2_000).then(() => null),
2217
+ ]);
2218
+ if (parked?.kind === "success") {
2219
+ reportStep(successStep, successMessage);
2220
+ return { status: "success", ...parked.result };
2221
+ }
2222
+ if (parked?.kind === "success_error") {
2223
+ reportStep("oauth_timeout", `Timed out waiting for ${serviceLabel} authorization`);
2224
+ return {
2225
+ status: "failed_timeout",
2226
+ error: parked.error?.message || `Timed out waiting for ${serviceLabel} authorization`,
2227
+ };
2228
+ }
2229
+ continue;
2230
+ }
2231
+ } catch {
2232
+ /* fall through */
2233
+ }
2234
+ }
2235
+
2006
2236
  // Unblock SetSID / empty Google interstitials before other handlers
2007
2237
  const waited = await waitThroughGoogleInterstitials(
2008
2238
  page,
@@ -2236,10 +2466,26 @@ export async function runGoogleAccountAutomation({
2236
2466
 
2237
2467
  // On xAI before Google login, APPROVE selectors match "Continue with Google"
2238
2468
  // via :has-text("Continue") and wreck the device code → Invalid action loop.
2469
+ // On Cloudflare login, "Allow All" cookies + "Sign in" must not be mashed.
2470
+ await dismissCookieBanners(page, reportStep);
2471
+ const onCfHost = (() => {
2472
+ try {
2473
+ const h = new URL(page.url()).hostname || "";
2474
+ return h === "dash.cloudflare.com" || h.endsWith(".cloudflare.com");
2475
+ } catch {
2476
+ return false;
2477
+ }
2478
+ })();
2239
2479
  const mayGenericApprove =
2240
2480
  isGoogleAuthPage(page)
2241
- || (seenGoogleAuth && passwordSubmittedAt && !(await providerHasGoogleLogin(page)));
2242
- if (mayGenericApprove) {
2481
+ || (
2482
+ seenGoogleAuth
2483
+ && passwordSubmittedAt
2484
+ && !(await providerHasGoogleLogin(page))
2485
+ && !isCloudflareLoginUrl(page.url?.() || "")
2486
+ );
2487
+ if (mayGenericApprove && !isCloudflareLoginUrl(page.url?.() || "")) {
2488
+ // Avoid OneTrust "Allow All" as if it were OAuth approve when still mid-flow
2243
2489
  const clickedApprove = await clickFirstVisible(page, APPROVE_BUTTON_SELECTORS);
2244
2490
  if (clickedApprove) {
2245
2491
  reportStep("approving_consent", `Approving Google or ${serviceLabel} consent`);
@@ -2248,6 +2494,11 @@ export async function runGoogleAccountAutomation({
2248
2494
  continue;
2249
2495
  }
2250
2496
  }
2497
+ // Cloudflare login stuck: keep hammering Google SSO only
2498
+ if (onCfHost && !seenGoogleAuth && (await handleProviderLoginGate(page, reportStep))) {
2499
+ googleLoginSelectedAt = Date.now();
2500
+ continue;
2501
+ }
2251
2502
 
2252
2503
  // Periodic diagnostics so jobs aren't opaque "waiting" spam
2253
2504
  if (Math.floor((Date.now() - startTime) / 5000) !== Math.floor((Date.now() - startTime - loopTickMs) / 5000)) {
@@ -2331,4 +2582,7 @@ export const __test__ = {
2331
2582
  handleXaiDeviceCodeConfirm,
2332
2583
  GOOGLE_LOGIN_BUTTON_SELECTORS,
2333
2584
  isGrokish,
2585
+ dismissCookieBanners,
2586
+ clickGoogleLoginRole,
2587
+ isCloudflareLoginUrl,
2334
2588
  };