zevairouter 1.0.229 → 1.0.231

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 (636) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/cli/app/.next-cli-build/BUILD_ID +1 -1
  3. package/cli/app/.next-cli-build/app-path-routes-manifest.json +13 -13
  4. package/cli/app/.next-cli-build/build-manifest.json +2 -2
  5. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js.nft.json +1 -1
  6. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
  7. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +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.js.nft.json +1 -1
  10. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  11. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  12. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  13. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  14. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  15. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  16. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  17. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js.nft.json +1 -1
  18. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
  19. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  20. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  21. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  22. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  23. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  24. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  25. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  26. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  27. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  28. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  29. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  30. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  31. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  32. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  33. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
  34. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  35. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  36. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  37. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  38. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  39. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  40. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  41. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  42. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  43. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  44. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  45. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  46. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  47. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  48. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  49. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
  50. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  51. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  52. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  53. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js.nft.json +1 -1
  54. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
  55. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  56. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  57. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  58. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  59. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  60. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  61. package/cli/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  62. package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  63. package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
  64. package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  65. package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  66. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  67. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  68. package/cli/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  69. package/cli/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  70. package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  71. package/cli/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  72. package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  73. package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
  74. package/cli/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  75. package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  76. package/cli/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  77. package/cli/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +3 -3
  78. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  79. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  80. package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  81. package/cli/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  82. package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  83. package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  84. package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  85. package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  86. package/cli/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  87. package/cli/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  88. package/cli/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  89. package/cli/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  90. package/cli/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  91. package/cli/app/.next-cli-build/server/app/api/cache/stats/route.js.nft.json +1 -1
  92. package/cli/app/.next-cli-build/server/app/api/changelog/route.js.nft.json +1 -1
  93. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  94. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  95. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  96. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  97. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  98. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js.nft.json +1 -1
  99. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  100. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  101. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  102. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  103. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  104. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  105. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  106. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  107. package/cli/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  108. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  109. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  110. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  111. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  112. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  113. package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  114. package/cli/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  115. package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js.nft.json +1 -1
  116. package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js.nft.json +1 -1
  117. package/cli/app/.next-cli-build/server/app/api/context/route.js.nft.json +1 -1
  118. package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js.nft.json +1 -1
  119. package/cli/app/.next-cli-build/server/app/api/dashboard/cli-tools/keys/route.js.nft.json +1 -1
  120. package/cli/app/.next-cli-build/server/app/api/dashboard/media/[operation]/route.js.nft.json +1 -1
  121. package/cli/app/.next-cli-build/server/app/api/dashboard/media/videos/[id]/route.js.nft.json +1 -1
  122. package/cli/app/.next-cli-build/server/app/api/headroom/enable/route.js.nft.json +1 -1
  123. package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  124. package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  125. package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  126. package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  127. package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  128. package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  129. package/cli/app/.next-cli-build/server/app/api/health/ready/route.js.nft.json +1 -1
  130. package/cli/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  131. package/cli/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  132. package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  133. package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  134. package/cli/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  135. package/cli/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  136. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  137. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  138. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  139. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  140. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  141. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  142. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  143. package/cli/app/.next-cli-build/server/app/api/metrics/route.js.nft.json +1 -1
  144. package/cli/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  145. package/cli/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  146. package/cli/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  147. package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  148. package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
  149. package/cli/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  150. package/cli/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  151. package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  152. package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  153. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js +1 -1
  154. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  155. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  156. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  157. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js +1 -1
  158. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js.nft.json +1 -1
  159. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js +1 -1
  160. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js.nft.json +1 -1
  161. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js +1 -1
  162. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js.nft.json +1 -1
  163. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js +1 -1
  164. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  165. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  166. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  167. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js +1 -1
  168. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js.nft.json +1 -1
  169. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js +1 -1
  170. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js.nft.json +1 -1
  171. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js +1 -1
  172. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js.nft.json +1 -1
  173. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js +1 -1
  174. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  175. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  176. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  177. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js +1 -1
  178. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js.nft.json +1 -1
  179. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js +1 -1
  180. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js.nft.json +1 -1
  181. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js +1 -1
  182. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js.nft.json +1 -1
  183. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js.nft.json +1 -1
  184. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js.nft.json +1 -1
  185. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js +1 -1
  186. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  187. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  188. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  189. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js +1 -1
  190. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js.nft.json +1 -1
  191. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js +1 -1
  192. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js.nft.json +1 -1
  193. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
  194. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
  195. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js.nft.json +1 -1
  196. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js.nft.json +1 -1
  197. package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  198. package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  199. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  200. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  201. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  202. package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  203. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route.js +1 -1
  204. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  205. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  206. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  207. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/route.js +1 -1
  208. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/route.js.nft.json +1 -1
  209. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/latest/route.js +1 -1
  210. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/latest/route.js.nft.json +1 -1
  211. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
  212. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  213. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-token/route.js +1 -1
  214. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-token/route.js.nft.json +1 -1
  215. package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  216. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  217. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  218. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  219. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js +1 -1
  220. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  221. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  222. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  223. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js +1 -1
  224. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js.nft.json +1 -1
  225. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js +1 -1
  226. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js.nft.json +1 -1
  227. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js +1 -1
  228. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js.nft.json +1 -1
  229. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  230. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  231. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  232. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  233. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  234. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  235. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  236. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js +1 -1
  237. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  238. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  239. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  240. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js +1 -1
  241. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js.nft.json +1 -1
  242. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js +1 -1
  243. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js.nft.json +1 -1
  244. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js +1 -1
  245. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js.nft.json +1 -1
  246. package/cli/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  247. package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  248. package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  249. package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  250. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  251. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  252. package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  253. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  254. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  255. package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js.nft.json +1 -1
  256. package/cli/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  257. package/cli/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  258. package/cli/app/.next-cli-build/server/app/api/providers/codebuddy/discover-models/route.js.nft.json +1 -1
  259. package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  260. package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  261. package/cli/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  262. package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  263. package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  264. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  265. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  266. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  267. package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  268. package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  269. package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  270. package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  271. package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  272. package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  273. package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  274. package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  275. package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  276. package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  277. package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  278. package/cli/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  279. package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  280. package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  281. package/cli/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  282. package/cli/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  283. package/cli/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  284. package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js.nft.json +1 -1
  285. package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js.nft.json +1 -1
  286. package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js.nft.json +1 -1
  287. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js.nft.json +1 -1
  288. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js.nft.json +1 -1
  289. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js.nft.json +1 -1
  290. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js.nft.json +1 -1
  291. package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js.nft.json +1 -1
  292. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  293. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  294. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  295. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  296. package/cli/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  297. package/cli/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  298. package/cli/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  299. package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  300. package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  301. package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  302. package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  303. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  304. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  305. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  306. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  307. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  308. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  309. package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js.nft.json +1 -1
  310. package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  311. package/cli/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  312. package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  313. package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  314. package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  315. package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  316. package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  317. package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  318. package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  319. package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  320. package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  321. package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  322. package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  323. package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  324. package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  325. package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  326. package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  327. package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  328. package/cli/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  329. package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  330. package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  331. package/cli/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  332. package/cli/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  333. package/cli/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  334. package/cli/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  335. package/cli/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  336. package/cli/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  337. package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  338. package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  339. package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  340. package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
  341. package/cli/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  342. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  343. package/cli/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  344. package/cli/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  345. package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  346. package/cli/app/.next-cli-build/server/app/callback.html +1 -1
  347. package/cli/app/.next-cli-build/server/app/callback.rsc +3 -3
  348. package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  349. package/cli/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  350. package/cli/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +3 -3
  351. package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  352. package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  353. package/cli/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  354. package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
  355. package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +5 -5
  356. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +2 -2
  357. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation.segment.rsc +1 -1
  358. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  359. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  360. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +5 -5
  361. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_head.segment.rsc +1 -1
  362. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_index.segment.rsc +3 -3
  363. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +1 -1
  364. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  365. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  366. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  367. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  368. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  369. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  370. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  371. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  372. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
  373. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  374. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  375. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
  376. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  377. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  378. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  379. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  380. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  381. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  382. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
  383. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  384. package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  385. package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
  386. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  387. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  388. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  389. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  390. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  391. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  392. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
  393. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  394. package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
  395. package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +5 -5
  396. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +2 -2
  397. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context.segment.rsc +1 -1
  398. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  399. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  400. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +5 -5
  401. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_head.segment.rsc +1 -1
  402. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_index.segment.rsc +3 -3
  403. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +1 -1
  404. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  405. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
  406. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  407. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  408. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  409. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  410. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  411. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  412. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
  413. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  414. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  415. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  416. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  417. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  418. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  419. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  420. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  421. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  422. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  423. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +3 -3
  424. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  425. package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  426. package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
  427. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  428. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  429. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  430. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  431. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
  432. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  433. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
  434. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  435. package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
  436. package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +5 -5
  437. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +2 -2
  438. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground.segment.rsc +1 -1
  439. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  440. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  441. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +5 -5
  442. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_head.segment.rsc +1 -1
  443. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_index.segment.rsc +3 -3
  444. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +1 -1
  445. package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  446. package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  447. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  448. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  449. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  450. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  451. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  452. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  453. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
  454. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  455. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  456. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  457. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  458. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  459. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  460. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  461. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  462. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  463. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  464. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
  465. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  466. package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  467. package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  468. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  469. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  470. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  471. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  472. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  473. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  474. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
  475. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  476. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  477. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
  478. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  479. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  480. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  481. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  482. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  483. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  484. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
  485. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  486. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  487. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
  488. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  489. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  490. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  491. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  492. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
  493. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  494. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +3 -3
  495. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  496. package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  497. package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
  498. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  499. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  500. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  501. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  502. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  503. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  504. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
  505. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  506. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  507. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  508. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  509. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing.segment.rsc +1 -1
  510. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +1 -1
  511. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  512. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  513. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  514. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  515. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
  516. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  517. package/cli/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  518. package/cli/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
  519. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  520. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  521. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  522. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  523. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
  524. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  525. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +3 -3
  526. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  527. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  528. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
  529. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  530. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  531. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  532. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  533. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
  534. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  535. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +3 -3
  536. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  537. package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  538. package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  539. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  540. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  541. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  542. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  543. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  544. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  545. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
  546. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  547. package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  548. package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  549. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  550. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  551. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  552. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  553. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  554. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  555. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
  556. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  557. package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
  558. package/cli/app/.next-cli-build/server/app/dashboard.rsc +5 -5
  559. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  560. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  561. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  562. package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
  563. package/cli/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  564. package/cli/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +3 -3
  565. package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  566. package/cli/app/.next-cli-build/server/app/index.html +1 -1
  567. package/cli/app/.next-cli-build/server/app/index.rsc +3 -3
  568. package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  569. package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  570. package/cli/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  571. package/cli/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +3 -3
  572. package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  573. package/cli/app/.next-cli-build/server/app/landing/page.js +1 -1
  574. package/cli/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  575. package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  576. package/cli/app/.next-cli-build/server/app/landing.html +1 -1
  577. package/cli/app/.next-cli-build/server/app/landing.rsc +4 -4
  578. package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  579. package/cli/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  580. package/cli/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +3 -3
  581. package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  582. package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
  583. package/cli/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  584. package/cli/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  585. package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  586. package/cli/app/.next-cli-build/server/app/login.html +1 -1
  587. package/cli/app/.next-cli-build/server/app/login.rsc +4 -4
  588. package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  589. package/cli/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  590. package/cli/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +3 -3
  591. package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  592. package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  593. package/cli/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  594. package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  595. package/cli/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  596. package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  597. package/cli/app/.next-cli-build/server/app/provider-icons/[provider]/route.js.nft.json +1 -1
  598. package/cli/app/.next-cli-build/server/app-paths-manifest.json +13 -13
  599. package/cli/app/.next-cli-build/server/chunks/1131.js +1 -1
  600. package/cli/app/.next-cli-build/server/chunks/2898.js +43 -0
  601. package/cli/app/.next-cli-build/server/chunks/2995.js +1 -0
  602. package/cli/app/.next-cli-build/server/chunks/3405.js +1 -0
  603. package/cli/app/.next-cli-build/server/chunks/3949.js +1 -1
  604. package/cli/app/.next-cli-build/server/chunks/412.js +1 -1
  605. package/cli/app/.next-cli-build/server/chunks/4177.js +1 -1
  606. package/cli/app/.next-cli-build/server/chunks/4621.js +5 -5
  607. package/cli/app/.next-cli-build/server/chunks/4827.js +1 -1
  608. package/cli/app/.next-cli-build/server/chunks/492.js +1 -1
  609. package/cli/app/.next-cli-build/server/chunks/5295.js +1 -1
  610. package/cli/app/.next-cli-build/server/chunks/5307.js +1 -1
  611. package/cli/app/.next-cli-build/server/chunks/5330.js +5 -5
  612. package/cli/app/.next-cli-build/server/chunks/5681.js +1 -1
  613. package/cli/app/.next-cli-build/server/chunks/6492.js +1 -1
  614. package/cli/app/.next-cli-build/server/chunks/7319.js +5 -5
  615. package/cli/app/.next-cli-build/server/chunks/7634.js +1 -1
  616. package/cli/app/.next-cli-build/server/chunks/8306.js +1 -1
  617. package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  618. package/cli/app/.next-cli-build/server/pages/404.html +1 -1
  619. package/cli/app/.next-cli-build/server/pages/500.html +1 -1
  620. package/cli/app/.next-cli-build/static/chunks/1a258343-d982be3d64c66e5c.js +1 -0
  621. package/cli/app/.next-cli-build/static/chunks/5497-1fed305d293f7dc6.js +7 -0
  622. package/cli/app/.next-cli-build/static/chunks/620-918925c181383bfe.js +1 -0
  623. package/cli/app/.next-cli-build/static/chunks/app/landing/page-30ffb960e68fba1a.js +1 -0
  624. package/cli/app/CHANGELOG.md +14 -0
  625. package/cli/app/package.json +1 -1
  626. package/cli/package.json +1 -1
  627. package/package.json +1 -1
  628. package/cli/app/.next-cli-build/server/chunks/3245.js +0 -1
  629. package/cli/app/.next-cli-build/server/chunks/4566.js +0 -1
  630. package/cli/app/.next-cli-build/server/chunks/5470.js +0 -43
  631. package/cli/app/.next-cli-build/static/chunks/1a258343-bc0b514c079d8898.js +0 -1
  632. package/cli/app/.next-cli-build/static/chunks/5497-c3974d52121cda7d.js +0 -7
  633. package/cli/app/.next-cli-build/static/chunks/620-d5750da145dbbfd9.js +0 -1
  634. package/cli/app/.next-cli-build/static/chunks/app/landing/page-e65c4905b4bff9af.js +0 -1
  635. /package/cli/app/.next-cli-build/static/{QWjr6nKkgES0WSIxp2Hs8 → yn20LAPlvaApmWnx4jxLR}/_buildManifest.js +0 -0
  636. /package/cli/app/.next-cli-build/static/{QWjr6nKkgES0WSIxp2Hs8 → yn20LAPlvaApmWnx4jxLR}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- exports.id=3245,exports.ids=[3245],exports.modules={13808:(a,b,c)=>{"use strict";c.d(b,{$N:()=>f,OK:()=>g,Zl:()=>h,lz:()=>i});var d=c(55511),e=c.n(d);function f(a=32){return e().randomBytes(a).toString("base64url")}function g(a){return e().createHash("sha256").update(a).digest("base64url")}function h(){return e().randomBytes(32).toString("base64url")}function i(a=32){let b=f(a),c=g(b);return{codeVerifier:b,codeChallenge:c,state:h()}}},52060:(a,b,c)=>{"use strict";c.d(b,{A:()=>d,C:()=>e});let d="2.135.0",e=`CLI/${d} CodeBuddy/${d}`},62409:(a,b,c)=>{"use strict";c.d(b,{v:()=>g});var d=c(92990),e=c(13808);let f="https://prod.us-east-1.auth.desktop.kiro.dev";class g{createSocialAuthorization(a){if(!a||!["google","github"].includes(a))throw Error("Invalid provider. Use 'google' or 'github'");let{codeVerifier:b,codeChallenge:c,state:d}=(0,e.lz)();return{authUrl:this.buildSocialLoginUrl(a,c,d),state:d,codeVerifier:b,codeChallenge:c,provider:a}}async registerClient(a="us-east-1"){(0,d.S6)(a);let b=`https://oidc.${a}.amazonaws.com/client/register`,c=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientName:d.Tx.clientName,clientType:d.Tx.clientType,scopes:d.Tx.scopes,grantTypes:d.Tx.grantTypes,issuerUrl:d.Tx.issuerUrl})});if(!c.ok){let a=await c.text();throw Error(`Failed to register client: ${a}`)}let e=await c.json();return{clientId:e.clientId,clientSecret:e.clientSecret,clientSecretExpiresAt:e.clientSecretExpiresAt}}async startDeviceAuthorization(a,b,c,e="us-east-1"){(0,d.S6)(e);let f=`https://oidc.${e}.amazonaws.com/device_authorization`,g=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:a,clientSecret:b,startUrl:c})});if(!g.ok){let a=await g.text();throw Error(`Failed to start device authorization: ${a}`)}let h=await g.json();return{deviceCode:h.deviceCode,userCode:h.userCode,verificationUri:h.verificationUri,verificationUriComplete:h.verificationUriComplete,expiresIn:h.expiresIn,interval:h.interval||5}}async pollDeviceToken(a,b,c,e="us-east-1"){(0,d.S6)(e);let f=`https://oidc.${e}.amazonaws.com/token`,g=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:a,clientSecret:b,deviceCode:c,grantType:"urn:ietf:params:oauth:grant-type:device_code"})}),h=await g.json();return!g.ok||h.error?{success:!1,error:h.error,errorDescription:h.error_description,pending:"authorization_pending"===h.error||"slow_down"===h.error}:{success:!0,tokens:{accessToken:h.accessToken,refreshToken:h.refreshToken,expiresIn:h.expiresIn,tokenType:h.tokenType}}}buildSocialLoginUrl(a,b,c){return`${f}/login?idp=${"google"===a?"Google":"Github"}&redirect_uri=${encodeURIComponent("kiro://kiro.kiroAgent/authenticate-success")}&code_challenge=${b}&code_challenge_method=S256&state=${c}&prompt=select_account`}async exchangeSocialCode(a,b){let c=await fetch(`${f}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:a,code_verifier:b,redirect_uri:"kiro://kiro.kiroAgent/authenticate-success"})});if(!c.ok){let a=await c.text();throw Error(`Token exchange failed: ${a}`)}let d=await c.json();return{accessToken:d.accessToken,refreshToken:d.refreshToken,profileArn:d.profileArn,expiresIn:d.expiresIn||3600}}async refreshToken(a,b={}){let{authMethod:c,clientId:e,clientSecret:g,region:h}=b;if(e&&g){let b=h||"us-east-1";(0,d.S6)(b);let c=`https://oidc.${b}.amazonaws.com/token`,f=await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:e,clientSecret:g,refreshToken:a,grantType:"refresh_token"})});if(!f.ok){let a=await f.text();throw Error(`Token refresh failed: ${a}`)}let i=await f.json();return{accessToken:i.accessToken,refreshToken:i.refreshToken||a,expiresIn:i.expiresIn}}let i=await fetch(`${f}/refreshToken`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:a})});if(!i.ok){let a=await i.text();throw Error(`Token refresh failed: ${a}`)}let j=await i.json();return{accessToken:j.accessToken,refreshToken:j.refreshToken||a,profileArn:j.profileArn,expiresIn:j.expiresIn||3600}}async validateImportToken(a){if(!a.startsWith("aorAAAAAG"))throw Error("Invalid token format. Token should start with aorAAAAAG...");try{let b=await this.refreshToken(a);return{accessToken:b.accessToken,refreshToken:b.refreshToken||a,profileArn:b.profileArn,expiresIn:b.expiresIn,authMethod:"imported"}}catch(a){throw Error(`Token validation failed: ${a.message}`)}}async listAvailableProfiles(a,b="us-east-1"){(0,d.S6)(b);let c=`https://codewhisperer.${b}.amazonaws.com`,e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.ListAvailableProfiles",Authorization:`Bearer ${a}`,Accept:"application/json"},body:JSON.stringify({maxResults:10})});if(!e.ok){let a=await e.text();throw Error(`Failed to list profiles: ${a}`)}let f=await e.json(),g=Array.isArray(f?.profiles)?f.profiles:[],h=a=>a?.arn||a?.profileArn||null,i=g.find(a=>h(a)?.split(":")[3]===b)||g[0];return h(i)}async validateApiKey(a,b="us-east-1"){if(!a||"string"!=typeof a||!a.trim())throw Error("API key is required");let c=a.trim(),d=null;try{d=await this.listAvailableProfiles(c,b)}catch(a){throw Error(`API key validation failed: ${a.message}`)}return{accessToken:c,refreshToken:null,profileArn:d,region:b,authMethod:"api_key"}}async listAvailableModels(a,b){let c=await fetch("https://codewhisperer.us-east-1.amazonaws.com",{method:"POST",headers:{"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.ListAvailableModels",Authorization:`Bearer ${a}`,Accept:"application/json"},body:JSON.stringify({origin:"AI_EDITOR",profileArn:b})});if(!c.ok){let a=await c.text();throw Error(`Failed to list models: ${a}`)}return((await c.json()).models||[]).map(a=>({id:a.modelId,name:a.modelName||a.modelId,description:a.description,rateMultiplier:a.rateMultiplier,rateUnit:a.rateUnit,maxInputTokens:a.tokenLimits?.maxInputTokens||0}))}extractEmailFromJWT(a){try{let b=a.split(".");if(3!==b.length)return null;let c=b[1];for(;c.length%4;)c+="=";let d=JSON.parse(atob(c.replace(/-/g,"+").replace(/_/g,"/")));return d.email||d.preferred_username||d.sub}catch{return null}}}},73159:(a,b,c)=>{"use strict";c.d(b,{Ue:()=>j,oT:()=>k,qF:()=>h});let d="https://auth.x.ai",e="/oauth2/authorize",f="/oauth2/token",g="/.well-known/openid-configuration",h="openid profile email offline_access grok-cli:access api:access",i="/callback",j=96,k={clientId:"b1a00492-073a-47ea-816f-4c329264a828",issuer:d,authEndpointPath:e,tokenEndpointPath:f,discoveryPath:g,authorizeUrl:`${d}${e}`,tokenUrl:`${d}${f}`,discoveryUrl:`${d}${g}`,scope:h,apiBaseUrl:"https://api.x.ai/v1",redirectUri:`http://127.0.0.1:56121${i}`,loopbackPort:56121,callbackPath:i,pkceVerifierBytes:96,refreshLeadSeconds:300,userAgent:"grok-cli/zevairouter",codeChallengeMethod:"S256"}},78335:()=>{},92990:(a,b,c)=>{"use strict";c.d(b,{DI:()=>i,Hp:()=>k,LT:()=>j,MZ:()=>v,Nl:()=>B,Nu:()=>p,OV:()=>h,S6:()=>s,Td:()=>y,Tx:()=>q,WN:()=>t,Ww:()=>D,YT:()=>n,ZL:()=>m,cD:()=>o,f7:()=>A,hF:()=>l,lB:()=>w,ne:()=>C,qp:()=>z,t:()=>u,w1:()=>x});var d=c(21820),e=c(73159),f=c(52060);function g(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let h={clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256"},i={clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",deviceCodeUrl:"https://auth.openai.com/api/accounts/deviceauth/usercode",deviceTokenUrl:"https://auth.openai.com/api/accounts/deviceauth/token",deviceVerificationUrl:"https://auth.openai.com/codex/device",deviceRedirectUri:"https://auth.openai.com/deviceauth/callback",scope:"openid profile email offline_access",codeChallengeMethod:"S256",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}},j={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"]},k={clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256"},l={openApiBaseUrl:"https://openapi.qoder.sh",centerBaseUrl:"https://center.qoder.sh",chatBaseUrl:"https://api3.qoder.sh",deviceTokenUrl:"https://openapi.qoder.sh/api/v1/deviceToken/poll",refreshUrl:"https://center.qoder.sh/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.sh/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.sh/api/v2/quota/usage",loginUrl:"https://qoder.com/device/selectAccounts"},m={clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"}},n={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",loadCodeAssistApiClient:"google-cloud-sdk vscode_cloudshelleditor/0.1",loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:g(),pluginType:2})};function o(){return{ideType:9,platform:g(),pluginType:2}}let p={clientId:"Iv1.b507a08c87ecfe98",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},q={ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},r=/^[a-z]{2}-[a-z]+-\d{1,2}$/;function s(a){if("string"!=typeof a||!r.test(a))throw Error("Invalid region");return a}let t={apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetDefaultModelNudgeData",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.1.0",clientType:"ide",tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"},dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}},u={clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token"},v={apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},w={appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},x={appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenUrl:"https://api.cline.bot/api/v1/auth/token",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},y={webAppUrl:"https://app.kimchi.dev",validationUrl:"https://api.cast.ai/v1/llm/openai/supported-providers",userInfoUrl:"https://app.kimchi.dev/api/v1/me",modelsUrl:"https://llm.kimchi.dev/v1/models/metadata?include_in_cli=true"},z={clientId:"b1a00492-073a-47ea-816f-4c329264a828",deviceCodeUrl:"https://auth.x.ai/oauth2/device/code",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token",scope:e.qF,referrer:"grok-build",refreshLeadMs:3e5},A={defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"},B={baseUrl:"https://www.codebuddy.ai",stateUrl:"https://www.codebuddy.ai/v2/plugin/auth/state",tokenUrl:"https://www.codebuddy.ai/v2/plugin/auth/token",accountUrl:"https://www.codebuddy.ai/v2/plugin/login/account",accountsUrl:"https://www.codebuddy.ai/v2/plugin/accounts",refreshUrl:"https://www.codebuddy.ai/v2/plugin/auth/token/refresh",userAgent:f.C,domain:"www.codebuddy.ai",platform:"CLI",pollInterval:5e3},C={baseUrl:"https://www.codebuddy.cn",stateUrl:"https://www.codebuddy.cn/v2/plugin/auth/state",tokenUrl:"https://www.codebuddy.cn/v2/plugin/auth/token",accountUrl:"https://www.codebuddy.cn/v2/plugin/login/account",accountsUrl:"https://www.codebuddy.cn/v2/plugin/accounts",refreshUrl:"https://www.codebuddy.cn/v2/plugin/auth/token/refresh",userAgent:f.C,domain:"www.codebuddy.cn",platform:"CLI",pollInterval:5e3},D=3e5},96487:()=>{}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=4566,exports.ids=[1998,4566,4720],exports.modules={13868:(a,b,c)=>{c.d(b,{Q6:()=>R,cO:()=>L,go:()=>O,hn:()=>E,KY:()=>S,kF:()=>s,$w:()=>C});var d=c(55511),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(49120),j=c(71998),k=c(20116),l=c(90715),m=c(62409),n=c(82506);let o=new Set(["success","failed","failed_invalid_credentials","failed_exchange","failed_timeout","failed_restricted","failed_browser_blocked","cancelled"]),p=h().join(i.DATA_DIR,"kiro-bulk-import"),q=h().join(p,"meta.json"),r=new Set(["queued","running","needs_manual"]);function s(){return new Date().toISOString()}function t(a=p){f().mkdirSync(a,{recursive:!0})}function u(a,b=p){return t(b),h().join(b,`${a}.json`)}function v(a){try{if(!f().existsSync(a))return null;return JSON.parse(f().readFileSync(a,"utf8"))}catch{return null}}function w(a,b){t(h().dirname(a));let c=`${a}.${process.pid}.tmp`;f().writeFileSync(c,JSON.stringify(b,null,2),"utf8"),f().renameSync(c,a)}function x(a,b=p){return t(b),h().join(b,`${a}.resume.enc`)}function y(){return(0,d.createHash)("sha256").update(String(function(){if(process.env.BULK_IMPORT_RESUME_SECRET)return process.env.BULK_IMPORT_RESUME_SECRET;let a=h().join(i.DATA_DIR,"bulk-import-resume-key");try{return f().readFileSync(a,"utf8").trim()}catch{}try{t(i.DATA_DIR);let b=(0,d.randomBytes)(32).toString("hex");return f().writeFileSync(a,b,{mode:384}),b}catch{return(0,d.randomBytes)(32).toString("hex")}}())).digest()}function z(a){try{f().existsSync(a)&&f().rmSync(a)}catch{}}function A(a=q){return v(a)?.latestJobId||null}function B(a){if((0,k.uT)(a))return Math.min(8,Math.max(1,(0,k.q)()));let b=Number.parseInt(a,10);return Number.isFinite(b)?Math.min(8,Math.max(1,b)):4}function C(a=[]){let b=Array.isArray(a)?a:[],c=[],d=[];return b.forEach((a,b)=>{let e=String(a||"").trim();if(!e||e.startsWith("#"))return;let f="",g="";if(e.includes("|")){let[a="",...b]=e.split("|");f=a.trim(),g=b.join("|").trim()}else if(e.includes(" ")){let a=e.indexOf(" ");f=e.substring(0,a).trim(),g=e.substring(a+1).trim()}else if(e.includes(":")){let a=e.indexOf(":"),b=e.substring(0,a).trim();b.includes("@")&&(f=b,g=e.substring(a+1).trim())}f&&g?c.push({line:b+1,email:f,password:g}):d.push(b+1)}),{parsed:c,invalidLines:d}}function D(a){return{total:a.length,queued:a.filter(a=>"queued"===a.status).length,running:a.filter(a=>"running"===a.status).length,success:a.filter(a=>"success"===a.status).length,failed:a.filter(a=>"failed"===a.status||"failed_invalid_credentials"===a.status||"failed_exchange"===a.status||"failed_timeout"===a.status||"failed_restricted"===a.status||"failed_browser_blocked"===a.status).length,needs_manual:a.filter(a=>"needs_manual"===a.status).length}}function E(a,b,c="info"){return{id:(0,d.randomUUID)(),at:s(),step:a,message:b,level:c}}function F(a,b,c,d="info"){let e=E(b,c,d);return a.currentStep=b,a.updatedAt=e.at,a.logs=a.logs||[],a.logs.push(e),a.logs.length>40&&a.logs.splice(0,a.logs.length-40),e}function G(a){return a.flatMap(a=>(a.logs||[]).map(b=>({...b,message:(0,l.yr)(b.message),email:a.email,line:a.line,workerId:a.workerId||null,status:a.status}))).sort((a,b)=>String(a.at).localeCompare(String(b.at))).slice(-80)}function H(a){if(!a)return null;try{return new URL(a),(0,l.Eq)(a)}catch{return a.length>20?`${a.slice(0,10)}***${a.slice(-10)}`:a}}function I(a){return{email:a.email,status:a.status,error:(0,l.yr)(a.error)||null,connectionId:a.connectionId||null,workerId:a.workerId||null,line:a.line,proxyUrl:H(a.proxyUrl)||null,currentStep:a.currentStep||null,updatedAt:a.updatedAt||null,logs:(a.logs||[]).slice(-20).map(a=>({...a,message:(0,l.yr)(a.message)})),manualSessionAvailable:!!a.manualSession?.page&&"needs_manual"===a.status,manualSessionOpened:!!a.manualSession?.opened}}function J(a,b={}){return{jobId:a.jobId,status:a.status,summary:D(a.accounts),concurrency:a.concurrency,createdAt:a.createdAt,startedAt:a.startedAt,finishedAt:a.finishedAt,accounts:a.accounts.map(I),activity:G(a.accounts),error:(0,l.yr)(a.error)||null,preview:b.preview||null}}function K(a){if(!a||r.has(a.status))return!1;let b=a.finishedAt?Date.parse(a.finishedAt):NaN;return!!Number.isFinite(b)&&Date.now()-b<=18e5}function L(a,b={}){return a?{found:!0,stale:!1,recoverable:r.has(a.status)||K(a),job:a}:{found:!1,stale:!!b.stale,recoverable:!1,job:null}}async function M(a){let{launchBulkImportBrowser:b}=await Promise.all([c.e(7774),c.e(5949)]).then(c.bind(c,75949)),d=process.env.ZEVAI_KIRO_HEADLESS;return b({engine:a?.engine||"cloakbrowser",headless:"1"===d||"true"===d,windowSize:{width:1280,height:900}})}async function N(a){let{exchangeAndSaveKiroSocialConnection:b}=await c.e(4136).then(c.bind(c,34136));return b(a)}async function O(a,b,e={}){let f,g,h=b,i=null,{DEFAULT_CONTEXT_CLOSE_TIMEOUT_MS:j,DEFAULT_CONTEXT_CREATE_TIMEOUT_MS:k,newStealthContext:l,withAutomationTimeout:m}=await Promise.all([c.e(7774),c.e(5949)]).then(c.bind(c,75949)),n=Number.isFinite(e.timeoutMs)&&e.timeoutMs>0?e.timeoutMs:k,o=Number.isFinite(e.closeTimeoutMs)&&e.closeTimeoutMs>0?e.closeTimeoutMs:j,p="codebuddy-cn"===e.profile&&!0===e.nativeCloakProfile;if(b){let{ensureSocksHttpBridge:a,isSocksProxyUrl:d}=await c.e(6652).then(c.bind(c,76652));d(b)&&(i=await m(a(b),{timeoutMs:n,message:`SOCKS proxy bridge timed out after ${Math.round(n/1e3)}s`,code:"SOCKS_BRIDGE_TIMEOUT",onLateResolve:a=>a?.release?.()}),i?.httpProxyUrl&&(h=i.httpProxyUrl))}let q=function(a){if(!a)return null;let b=String(a).trim();if(!b)return null;try{let a=new URL(b),c=(a.protocol||"http:").replace(/:$/,"")||"http",d={server:`${c}://${a.hostname}${a.port?`:${a.port}`:""}`};return a.username&&(d.username=decodeURIComponent(a.username)),a.password&&(d.password=decodeURIComponent(a.password)),d}catch{return{server:b}}}(h),r=q?{proxy:q}:{},s=!p&&(!0===e.randomizeFingerprint||null!=e.fingerprintSeed),t=null;if(s)try{let{buildAccountFingerprint:a,compactAccountFingerprint:b}=await Promise.all([c.e(7774),c.e(5949)]).then(c.bind(c,75949));t=a(e.fingerprintSeed??(0,d.randomUUID)()),!0===e.lowMemory&&(t=b(t)),r.viewport={...t.viewport},r.deviceScaleFactor=t.deviceScaleFactor,r.fingerprint={hardwareConcurrency:t.hardwareConcurrency,deviceMemory:t.deviceMemory,maxTouchPoints:t.maxTouchPoints,screen:t.screen}}catch{t=null}if(r.viewport||p||(r.viewport={width:1280,height:900}),r.ignoreHTTPSErrors=!0,"codebuddy-cn"===e.profile&&!p){let a="china"===String(e.region||"").toLowerCase();r.locale="zh-CN",r.languages=["zh-CN","zh","en-US","en"],r.timezoneId=a?"Asia/Shanghai":"Asia/Hong_Kong",r.geolocation=a?{longitude:121.4737,latitude:31.2304}:{longitude:114.1694,latitude:22.3193},r.permissions=["geolocation"],r.extraHTTPHeaders={...r.extraHTTPHeaders||{},"Accept-Language":"zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7"}}e.locale&&(r.locale=e.locale),e.timezoneId&&(r.timezoneId=e.timezoneId),e.geolocation&&(r.geolocation=e.geolocation),Array.isArray(e.languages)&&(r.languages=e.languages),e.viewport&&(r.viewport=e.viewport),"number"==typeof e.deviceScaleFactor&&(r.deviceScaleFactor=e.deviceScaleFactor),e.extraHTTPHeaders&&(r.extraHTTPHeaders={...r.extraHTTPHeaders||{},...e.extraHTTPHeaders});try{f=await m(l(a,r),{timeoutMs:n,message:`Browser context creation timed out after ${Math.round(n/1e3)}s`,code:"BROWSER_CONTEXT_TIMEOUT",onLateResolve:a=>m(a?.close?.(),{timeoutMs:o,message:`Late browser context close timed out after ${Math.round(o/1e3)}s`,code:"BROWSER_CONTEXT_CLOSE_TIMEOUT"}).catch(()=>null)})}catch(a){throw await i?.release().catch(()=>null),a}let u=f.close.bind(f),v=null;f.close=(...a)=>(v||(v=m(Promise.resolve().then(()=>u(...a)),{timeoutMs:o,message:`Browser context close timed out after ${Math.round(o/1e3)}s`,code:"BROWSER_CONTEXT_CLOSE_TIMEOUT"}).finally(()=>i?.release().catch(()=>null))),v);try{g=await m(f.newPage(),{timeoutMs:n,message:`Browser page creation timed out after ${Math.round(n/1e3)}s`,code:"BROWSER_PAGE_TIMEOUT"})}catch(a){throw await f.close().catch(()=>null),a}try{await g.route(/facebook\.net|hotjar|clarity\.ms|hm\.baidu|sentry\.io|browser\.sentry-cdn|doubleclick\.net/i,a=>a.abort())}catch{}return{context:f,page:g}}async function P(a){let b,d,e,f,g=a?.manualSession;if(!g?.context)return!1;let h=g.context,i=g.page;try{b=await Promise.all([c.e(7774),c.e(5949)]).then(c.bind(c,75949))}catch{return!1}let j=null,k="";try{j=await b.withAutomationTimeout(Promise.resolve().then(()=>h.storageState()),{timeoutMs:b.DEFAULT_CONTEXT_CLOSE_TIMEOUT_MS,message:"Browser storage-state capture timed out",code:"BROWSER_STORAGE_STATE_TIMEOUT"})}catch{j=null}try{k=i?.url?.()||""}catch{k=""}try{d=await b.launchBulkImportBrowser({headless:!1,windowSize:{width:1280,height:900}})}catch{return!1}try{e=await b.withAutomationTimeout(b.newStealthContext(d,{viewport:null,...j?{storageState:j}:{}}),{timeoutMs:b.DEFAULT_CONTEXT_CREATE_TIMEOUT_MS,message:"Headed browser context creation timed out",code:"BROWSER_CONTEXT_TIMEOUT",onLateResolve:a=>b.withAutomationTimeout(Promise.resolve().then(()=>a?.close?.()),{timeoutMs:b.DEFAULT_CONTEXT_CLOSE_TIMEOUT_MS,message:"Late headed browser context close timed out",code:"BROWSER_CONTEXT_CLOSE_TIMEOUT"}).catch(()=>null)})}catch{return await b.forceCloseBrowser(d).catch(()=>null),!1}let l=e.close.bind(e),m=null;e.close=(...a)=>(m||(m=b.withAutomationTimeout(Promise.resolve().then(()=>l(...a)),{timeoutMs:b.DEFAULT_CONTEXT_CLOSE_TIMEOUT_MS,message:"Headed browser context close timed out",code:"BROWSER_CONTEXT_CLOSE_TIMEOUT"})),m);try{f=await b.withAutomationTimeout(e.newPage(),{timeoutMs:b.DEFAULT_CONTEXT_CREATE_TIMEOUT_MS,message:"Headed browser page creation timed out",code:"BROWSER_PAGE_TIMEOUT"})}catch{return await e.close().catch(()=>null),await b.forceCloseBrowser(d).catch(()=>null),!1}if(k)try{await f.goto(k,{waitUntil:"domcontentloaded",timeout:2e4})}catch{}if(a.manualSession!==g)return await e.close().catch(()=>null),await b.forceCloseBrowser(d).catch(()=>null),!1;let n=g.rebind;if(g.context=e,g.page=f,g.headedBrowser={close:()=>b.forceCloseBrowser(d)},"function"==typeof n)try{await n({context:e,page:f})}catch{}return Promise.resolve().then(()=>h.close()).catch(()=>null),!0}async function Q(a,{account:b}={}){if(!a)return!1;try{let d=a.context?.(),e=d?.browser?.(),f=function(a){if(!a)return!1;let b=a._options||a._initializer||{};return"boolean"!=typeof b.headless||b.headless}(e);if(e)try{let{getBulkImportBrowserHeadless:a}=await Promise.all([c.e(7774),c.e(5949)]).then(c.bind(c,75949)),b=a(e);"boolean"==typeof b&&(f=b)}catch{}if(b&&f&&await P(b))return await b.manualSession.page.bringToFront?.().catch(()=>null),!0;if(!d?.newCDPSession)return await a.bringToFront?.().catch(()=>null),!0;let g=await d.newCDPSession(a),h=null;try{let a=await g.send("Target.getTargetInfo"),b=a?.targetInfo?.targetId,c=await g.send("Browser.getWindowForTarget",b?{targetId:b}:{});h=c?.windowId??null}catch{h=null}return null!=h&&await g.send("Browser.setWindowBounds",{windowId:h,bounds:{windowState:"normal",left:80,top:80,width:1280,height:960}}).catch(()=>null),await a.bringToFront?.().catch(()=>null),await g.detach?.().catch(()=>null),!0}catch{return await a.bringToFront?.().catch(()=>null),!0}}class R{constructor({browserLauncher:a=M,googleAutomation:b=n.Th,socialExchange:c=N,kiroServiceFactory:d=()=>new m.v,storageName:e="kiro-bulk-import"}={}){this.browserLauncher=a,this.googleAutomation=b,this.socialExchange=c,this.kiroServiceFactory=d,this.storageDir=h().join(i.DATA_DIR,e),this.metaFile=h().join(this.storageDir,"meta.json"),this.jobs=new Map,this.latestJobId=A(this.metaFile)}buildPersistedSnapshot(a){return J(a,{preview:a.lastPreview||null})}readPersistedJob(a){return a?v(u(a,this.storageDir)):null}writePersistedJob(a,b){a&&b&&w(u(a,this.storageDir),b)}persistLatestJobId(a){!function(a,b=q){w(b,{latestJobId:a||null,updatedAt:s()})}(a,this.metaFile)}persistResumeBlob(a){try{!function(a,b){try{let c,e,g,i,j;t(h().dirname(a));let k=`${a}.${process.pid}.tmp`;f().writeFileSync(k,JSON.stringify((c=(0,d.randomBytes)(12),e=(0,d.createCipheriv)("aes-256-gcm",y(),c),g=Buffer.from(JSON.stringify(b),"utf8"),i=Buffer.concat([e.update(g),e.final()]),j=e.getAuthTag(),{v:1,alg:"aes-256-gcm",iv:c.toString("base64"),tag:j.toString("base64"),data:i.toString("base64")})),{mode:384}),f().renameSync(k,a)}catch{}}(x(a.jobId,this.storageDir),{jobId:a.jobId,concurrency:a.concurrency,proxyPoolMode:a.proxyPoolMode,proxyUrls:a.proxyUrls||[],createdAt:a.createdAt,accounts:a.accounts.map(a=>({line:a.line,email:a.email,password:a.password}))})}catch{}}hydrateInterruptedJob(a){if(!a||this.jobs.has(a))return!1;let b=v(u(a,this.storageDir));if(!b||!r.has(b.status))return!1;let c=function(a){let b=v(a);if(!b)return null;if(!b||"aes-256-gcm"!==b.alg||!b.iv||!b.tag||!b.data)return null;try{let a=(0,d.createDecipheriv)("aes-256-gcm",y(),Buffer.from(b.iv,"base64"));a.setAuthTag(Buffer.from(b.tag,"base64"));let c=Buffer.concat([a.update(Buffer.from(b.data,"base64")),a.final()]);return JSON.parse(c.toString("utf8"))}catch{return null}}(x(a,this.storageDir));if(!c||!Array.isArray(c.accounts)||0===c.accounts.length)return this.markJobInterrupted(a,b),!1;let e=new Map(c.accounts.map(a=>[a.line,a.password])),f=new Map(c.accounts.map(a=>[a.line,a.email])),g=b.createdAt||c.createdAt||s(),h=(b.accounts||[]).map(a=>{let b=o.has(a.status),c=Array.isArray(a.logs)?[...a.logs]:[],d={line:a.line,email:a.email||f.get(a.line)||"",password:b?void 0:e.get(a.line)??null,proxyUrl:null,status:a.status,error:a.error||null,connectionId:a.connectionId||null,workerId:b&&a.workerId||null,manualSession:null,runtimeSession:null,currentStep:a.currentStep||null,updatedAt:a.updatedAt||g,logs:c};return b||(d.status="queued",d.currentStep="queued",d.error=null,d.logs.push(E("resumed","Re-queued after a server restart to continue automatically"))),d}),i={jobId:a,status:"running",concurrency:B(c.concurrency),proxyPoolMode:c.proxyPoolMode||"none",proxyUrls:Array.isArray(c.proxyUrls)?c.proxyUrls:[],createdAt:g,startedAt:b.startedAt||g,finishedAt:null,error:null,cancelRequested:!1,browser:null,nextIndex:0,manualFollowups:new Set,persistPromise:Promise.resolve(),lastPreview:b.preview||null,lastPreviewCapturedAt:0,accounts:h};return(this.jobs.set(a,i),this.latestJobId||(this.latestJobId=a),h.some(a=>"queued"===a.status))?this.runJob(a):(i.status="completed",i.finishedAt=s(),this.persistJobSnapshot(i,{forcePreview:!1}),z(x(a,this.storageDir))),!0}markJobInterrupted(a,b){let c="Job was interrupted by a server restart and could not be auto-resumed (saved credentials were unavailable). Please start a new bulk login.",d=(b.accounts||[]).map(a=>{if(o.has(a.status))return a;let b=Array.isArray(a.logs)?[...a.logs]:[];return b.push(E("failed",c,"error")),{...a,status:"failed",error:c,currentStep:"failed",updatedAt:s(),manualSessionAvailable:!1,logs:b}}),e={...b,status:"failed",error:b.error||c,finishedAt:b.finishedAt||s(),accounts:d,summary:D(d),activity:G(d)};try{w(u(a,this.storageDir),e)}catch{}z(x(a,this.storageDir))}async startJob({accounts:a,concurrency:b,proxyPoolMode:e,proxyPoolId:f,engine:g}={}){let{parsed:h,invalidLines:i}=C(a);if(!h.length){let a=i.length>0?"Invalid account format. Use one account per line: gmail@example.com|password":"At least one account entry is required",b={error:a};throw i.length>0&&(b.invalidLines=i),Object.assign(Error(a),b)}if(i.length>0){let a="Invalid account format. Use one account per line: gmail@example.com|password";throw Object.assign(Error(a),{error:a,invalidLines:i})}let k=[];if("all"===e)k=(await (0,j.ui)({isActive:!0})).map(a=>a.proxyUrl).filter(Boolean);else if("single"===e&&f){let a=await (0,j.hr)(f);a?.isActive&&a?.proxyUrl&&(k=[a.proxyUrl])}let l=(0,d.randomUUID)(),m=s();this.hydrateInterruptedJob(this.latestJobId);let n=[...this.jobs.values()].find(a=>r.has(a.status));if(n)throw Object.assign(Error("A bulk import job is already active"),{error:"A bulk import job is already active",code:"BULK_IMPORT_ACTIVE",jobId:n.jobId});let o=g;try{let{normalizeBulkImportEngine:a}=await Promise.all([c.e(7774),c.e(5949)]).then(c.bind(c,75949));o=a(g)}catch{o=g||"cloakbrowser"}let p={jobId:l,status:"running",concurrency:B(b),engine:o,proxyPoolMode:e||"none",proxyUrls:k,createdAt:m,startedAt:m,finishedAt:null,error:null,cancelRequested:!1,browser:null,nextIndex:0,manualFollowups:new Set,persistPromise:Promise.resolve(),lastPreview:null,lastPreviewCapturedAt:0,accounts:h.map(a=>({line:a.line,email:a.email,password:a.password,proxyUrl:null,status:"queued",error:null,connectionId:null,workerId:null,manualSession:null,runtimeSession:null,currentStep:"queued",updatedAt:m,logs:[E("queued","Queued and waiting for an available worker")]}))};return this.jobs.set(l,p),this.latestJobId=l,this.persistLatestJobId(l),await this.persistJobSnapshot(p,{forcePreview:!1}),this.persistResumeBlob(p),this.runJob(l),J(p)}getJob(a){this.hydrateInterruptedJob(a);let b=this.jobs.get(a);return b?J(b,{preview:b.lastPreview||null}):v(u(a,this.storageDir))}async getJobWithPreview(a){this.hydrateInterruptedJob(a);let b=this.jobs.get(a);if(!b)return v(u(a,this.storageDir));let c=await this.capturePreview(b);return b.lastPreview=c||b.lastPreview||null,await this.persistJobSnapshot(b,{forcePreview:!1}),J(b,{preview:b.lastPreview||null})}async getLatestJobWithPreview({includeRecentTerminal:a=!1}={}){let b=this.latestJobId||A(this.metaFile);if(!b)return null;let c=await this.getJobWithPreview(b);return c&&(r.has(c.status)||a&&K(c))?c:null}cancelJob(a){let b=this.jobs.get(a);if(!b)return v(u(a,this.storageDir));for(let a of(b.cancelRequested=!0,b.accounts||[]))if("queued"===a.status||"running"===a.status||"needs_manual"===a.status){let b=a.manualSession,d=a.runtimeSession,e=b?.context||d?.context||null,f=b?.headedBrowser||null,g=b?.ownedBrowser||null;e&&e.close().catch(()=>null),f&&f.close().catch(()=>null),g&&Promise.all([c.e(7774),c.e(5949)]).then(c.bind(c,75949)).then(({forceCloseBrowser:a})=>a(g)).catch(()=>g.close().catch(()=>null)),a.manualSession=null,a.runtimeSession=null,this.finalizeAccount(a,"cancelled",{error:"Job cancelled",step:"cancelled",message:"Job cancelled by user"})}if(b.browser){let a=b.browser;b.browser=null,Promise.all([c.e(7774),c.e(5949)]).then(c.bind(c,75949)).then(({forceCloseBrowser:b})=>b(a)).catch(()=>a.close().catch(()=>null))}return("queued"===b.status||"running"===b.status)&&(b.status="cancelled",b.finishedAt=b.finishedAt||s()),this.persistJobSnapshot(b,{forcePreview:!0}),J(b)}async openManualSession(a,b){let c=this.jobs.get(a);if(!c)return null;let d=Number.parseInt(b,10),e=c.accounts.find(a=>a.workerId===d&&"needs_manual"===a.status&&a.manualSession?.page);if(!e)return{ok:!1,error:"Manual session not found for this worker",job:J(c)};let f=e.manualSession,g=await Q(f.page,{account:e});return e.manualSession!==f?(f.headedBrowser&&(await Promise.resolve(f.context?.close?.()).catch(()=>null),await Promise.resolve(f.headedBrowser.close?.()).catch(()=>null)),{ok:!1,error:"Manual session ended while the browser window was opening",job:J(c)}):(f.opened=g,f.openedAt=g?f.openedAt||s():f.openedAt||null,await this.persistJobSnapshot(c,{forcePreview:!0}),{ok:!0,job:J(c),account:I(e)})}dequeueAccount(a,b){for(;a.nextIndex<a.accounts.length;){let c=a.accounts[a.nextIndex];if(a.nextIndex+=1,"queued"===c.status)return c.status="running",c.workerId=b,c.error=null,a.proxyUrls?.length&&(c.proxyUrl=a.proxyUrls[(a.nextIndex-1)%a.proxyUrls.length]),F(c,"worker_assigned",`Worker ${b} picked up this account${c.proxyUrl?` (proxy: ${H(c.proxyUrl)})`:""}`),this.persistJobSnapshot(a,{forcePreview:!1}),c}return null}finalizeAccount(a,b,c={}){return a.status=b,a.error=c.error||null,a.connectionId=c.connectionId||null,(c.step||c.message)&&F(a,c.step||b,c.message||c.error||b.replaceAll("_"," ")),a}setAccountStep(a,b,c,d="info"){F(a,b,c,d)}async persistJobSnapshot(a,{forcePreview:b=!1}={}){if(!a)return;let c=async()=>{if(b||Date.now()-(a.lastPreviewCapturedAt||0)>=1500){let b=await this.capturePreview(a);b&&(a.lastPreview=b),a.lastPreviewCapturedAt=Date.now()}this.writePersistedJob(a.jobId,this.buildPersistedSnapshot(a))};a.persistPromise=Promise.resolve(a.persistPromise).catch(()=>null).then(c).catch(b=>{a.lastPersistError=b?.message||String(b)}),await a.persistPromise}async capturePreview(a){let b=a.accounts.find(a=>"running"===a.status&&a.runtimeSession?.page)||a.accounts.find(a=>"needs_manual"===a.status&&a.manualSession?.page);if(!b)return null;let c=b.runtimeSession?.page||b.manualSession?.page;if(!c)return null;try{let a=await c.screenshot({type:"jpeg",quality:55,fullPage:!1,animations:"disabled",caret:"hide"});return{email:b.email||null,phone:b.phone||null,workerId:b.workerId||null,status:b.status,step:b.currentStep||null,updatedAt:b.updatedAt||s(),imageData:`data:image/jpeg;base64,${a.toString("base64")}`}}catch{return{email:b.email||null,phone:b.phone||null,workerId:b.workerId||null,status:b.status,step:b.currentStep||null,updatedAt:b.updatedAt||s(),imageData:null}}}async runManualFollowup(a,b,c,d,e,f){let g=(async()=>{let c=async()=>{let a=b.manualSession,c=a?.context||d,e=a?.headedBrowser||null;c&&await c.close().catch(()=>null),e&&await e.close().catch(()=>null)};try{let c=await e;if(a.cancelRequested){this.finalizeAccount(b,"cancelled",{error:"Job cancelled",step:"cancelled",message:"Job cancelled while waiting for manual completion"}),await this.persistJobSnapshot(a,{forcePreview:!0});return}this.setAccountStep(b,"exchanging_tokens","Exchanging Kiro callback for OAuth tokens"),await this.persistJobSnapshot(a,{forcePreview:!0});let{connection:d}=await this.socialExchange({code:c.code,codeVerifier:f,provider:"google"});this.finalizeAccount(b,"success",{connectionId:d.id,step:"connection_saved",message:"Kiro connection saved successfully"}),await this.persistJobSnapshot(a,{forcePreview:!0})}catch(c){a.cancelRequested?this.finalizeAccount(b,"cancelled",{error:"Job cancelled",step:"cancelled",message:"Job cancelled while waiting for manual completion"}):this.finalizeAccount(b,"failed_exchange",{error:c.message||"Manual assist flow failed during token exchange.",step:"exchange_failed",message:c.message||"Manual assist flow failed during token exchange."}),await this.persistJobSnapshot(a,{forcePreview:!0})}finally{await c(),b.manualSession=null,b.runtimeSession=null,a.manualFollowups.delete(g),await this.persistJobSnapshot(a,{forcePreview:!0})}})();a.manualFollowups.add(g)}async processAccount(a,b,c){if(a.cancelRequested||!a.browser)return void this.finalizeAccount(b,"cancelled",{error:"Job cancelled"});let d=this.kiroServiceFactory().createSocialAuthorization("google"),e=null;try{let f=await O(a.browser,b.proxyUrl);e=f.context;let{page:g}=f,h=(0,n.zZ)(e,g);b.runtimeSession={context:e,page:g},this.setAccountStep(b,"preparing_worker",`Worker ${c} is preparing a browser context`),await this.persistJobSnapshot(a,{forcePreview:!0});let i=await this.googleAutomation({page:g,authUrl:d.authUrl,email:b.email,password:b.password,callbackPromise:h,onStep:(c,d)=>{this.setAccountStep(b,c,d),this.persistJobSnapshot(a,{forcePreview:!1})}});if("success"===i.status){this.setAccountStep(b,"exchanging_tokens","Exchanging Kiro callback for OAuth tokens"),await this.persistJobSnapshot(a,{forcePreview:!0});let{connection:c}=await this.socialExchange({code:i.code,codeVerifier:d.codeVerifier,provider:"google"});this.finalizeAccount(b,"success",{connectionId:c.id,step:"connection_saved",message:"Kiro connection saved successfully"}),b.runtimeSession=null,await e?.close().catch(()=>null),await this.persistJobSnapshot(a,{forcePreview:!0});return}if("needs_manual"===i.status){b.manualSession={context:e,page:g,opened:!1,openedAt:null,rebind:"function"==typeof h?.rebind?h.rebind:null},this.setAccountStep(b,"awaiting_manual","Waiting for manual completion in the browser session"),this.finalizeAccount(b,"needs_manual",{error:i.error,step:"awaiting_manual",message:i.error}),await this.persistJobSnapshot(a,{forcePreview:!0}),await this.runManualFollowup(a,b,c,e,h,d.codeVerifier);return}let j=o.has(i.status)?i.status:"failed";this.finalizeAccount(b,j,{error:i.error||"Kiro Google automation failed.",step:j,message:i.error||"Kiro Google automation failed."}),b.runtimeSession=null,await e?.close().catch(()=>null),await this.persistJobSnapshot(a,{forcePreview:!0})}catch(c){this.finalizeAccount(b,"failed",{error:c.message||"Unexpected Kiro bulk import failure.",step:"failed",message:c.message||"Unexpected Kiro bulk import failure."}),b.runtimeSession=null,await e?.close().catch(()=>null),await this.persistJobSnapshot(a,{forcePreview:!0})}finally{b.password=void 0}}async runWorker(a,b){for(;!a.cancelRequested;){let c=this.dequeueAccount(a,b);if(!c)return;await this.processAccount(a,c,b)}}shouldPrelaunchBrowser(a){return!0}async runJob(a){let b=this.jobs.get(a);if(b)try{let{DEFAULT_BROWSER_LAUNCH_TIMEOUT_MS:a,forceCloseBrowser:d,withAutomationTimeout:e}=await Promise.all([c.e(7774),c.e(5949)]).then(c.bind(c,75949));if(this.shouldPrelaunchBrowser(b)){let c=Promise.resolve().then(()=>this.browserLauncher(b));b.browser=await e(c,{timeoutMs:a,message:`Automation browser launch timed out after ${Math.round(a/1e3)}s`,code:"BROWSER_LAUNCH_TIMEOUT",onLateResolve:a=>d(a)})}b.accounts.forEach(a=>{"queued"===a.status&&1===(a.logs||[]).length&&this.setAccountStep(a,"waiting_for_worker","Waiting for a free worker")}),await this.persistJobSnapshot(b,{forcePreview:!1});let f=Math.min(b.concurrency,Math.max(b.accounts.length,1)),g=Array.from({length:f},(a,c)=>this.runWorker(b,c+1));await Promise.allSettled(g),b.manualFollowups.size>0&&await Promise.allSettled([...b.manualFollowups]),b.cancelRequested?(b.status="cancelled",b.accounts.forEach(a=>{("queued"===a.status||"running"===a.status||"needs_manual"===a.status)&&this.finalizeAccount(a,"cancelled",{error:"Job cancelled",step:"cancelled",message:"Job cancelled before completion"})})):b.status="completed",await this.persistJobSnapshot(b,{forcePreview:!0})}catch(a){b.status="failed",b.error=a.message||"Failed to start Kiro bulk import job.",b.accounts.forEach(a=>{("queued"===a.status||"running"===a.status)&&(this.finalizeAccount(a,"failed",{error:b.error,step:"failed",message:b.error}),a.password=void 0)}),await this.persistJobSnapshot(b,{forcePreview:!0})}finally{if(b.browser){let a=b.browser;b.browser=null;try{let{forceCloseBrowser:b}=await Promise.all([c.e(7774),c.e(5949)]).then(c.bind(c,75949));await b(a)}catch{await a.close().catch(()=>null)}}b.finishedAt=s(),await this.persistJobSnapshot(b,{forcePreview:!0}),z(x(b.jobId,this.storageDir))}}}function S(){return(!globalThis.__kiroBulkImportSingleton&&(globalThis.__kiroBulkImportSingleton={manager:new R}),globalThis.__kiroBulkImportSingleton).manager}},20116:(a,b,c)=>{c.d(b,{q:()=>h,si:()=>g,uT:()=>i});var d=c(21820),e=c.n(d);function f(a){return Number.isFinite(a)?Math.max(0,Math.floor(a)):0}function g(){let a=[];try{a=e().cpus()||[]}catch{a=[]}let b=0,c=0;try{b=e().totalmem()}catch{b=0}try{c=e().freemem()}catch{c=0}let d=Array.isArray(a)?a.length:0,f=a[0]?.model?String(a[0].model).trim():null,g=b/0x40000000,h=c/0x40000000,i="unknown",j="unknown";try{i=e().platform()}catch{}try{j=e().arch()}catch{}return{cpuCount:d,cpuModel:f,totalMemBytes:b,totalMemGb:g,freeMemBytes:c,freeMemGb:h,platform:i,arch:j}}function h(){return function(a=null){let b=a||g(),{cpuCount:c,totalMemGb:d}=b,e=f(d/4),h=f(c/2),i="fallback",j=0;return e>0&&h>0?(j=Math.min(e,h),i=e<=h?"ram":"cpu"):e>0?(j=e,i="ram"):h>0?(j=h,i="cpu"):(j=4,i="fallback"),{recommended:Math.min(8,Math.max(1,j||4)),limitedBy:i,ramBudget:e,cpuBudget:h,minWorkers:1,maxWorkers:8,ramGbPerWorker:4,cpuDivisor:2,specs:b}}().recommended}function i(a){return!0===a||"string"==typeof a&&"auto"===a.trim().toLowerCase()}Object.freeze({RAM_GB_PER_WORKER:4,CPU_DIVISOR:2,SAFE_MIN_WORKERS:1,SAFE_MAX_WORKERS:8,FALLBACK_WORKERS:4})},47293:(a,b,c)=>{c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(50122);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,Iu:()=>d.Iu,Kg:()=>d.Kg,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.getModelAliases,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.deleteModelAlias,getProviderConnections:()=>d.getProviderConnections,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},82506:(a,b,c)=>{c.d(b,{$K:()=>ae,Jl:()=>S,PB:()=>ao,Th:()=>aq,i_:()=>ab,np:()=>aa,rk:()=>ap,vN:()=>ar,zZ:()=>an});let d='input[type="email"], input[autocomplete="username"], input#identifierId, input[name="identifier"], input[name="Email"], input[type="text"][autofocus], input[aria-label*="Email" i], input[aria-label*="email" i], input[aria-label*="phone" i], input[aria-label*="telepon" i]',e='input[type="password"], input[name="Passwd"], input[name="password"], input[aria-label*="Password" i], input[aria-label*="password" i], input[aria-label*="Sandi" i], input[aria-label*="kata sandi" i]',f=['button:has-text("Next")','button:has-text("Berikutnya")','button:has-text("Continue")','div[role="button"]:has-text("Next")','div[role="button"]:has-text("Berikutnya")',"#identifierNext button","#passwordNext button"],g=["#submit_approve_access","#submit_approve_access button","#confirm",'form#tos_form input[type="submit"]','button[jsname]:has-text("Allow")','button:has-text("Allow")','[role="button"]:has-text("Allow")','input[type="submit"][value="Allow"]','input[type="button"][value="Allow"]','button[jsname]:has-text("Izinkan")','button:has-text("Izinkan")','[role="button"]:has-text("Izinkan")','button:has-text("Continue")','button:has-text("Next")','button:has-text("Yes")','button:has-text("Accept")','button:has-text("Lanjutkan")','button:has-text("Berikutnya")','button:has-text("Setuju")','button:has-text("Saya mengerti")','button:has-text("Oke")','button:has-text("OK")','button:has-text("Got it")','button:has-text("I understand")','div[role="button"]:has-text("Continue")','div[role="button"]:has-text("Next")','div[role="button"]:has-text("Allow")','div[role="button"]:has-text("Lanjutkan")','div[role="button"]:has-text("Berikutnya")','div[role="button"]:has-text("Izinkan")','div[role="button"]:has-text("Setuju")','div[role="button"]:has-text("Saya mengerti")','div[role="button"]:has-text("Oke")','div[role="button"]:has-text("OK")','div[role="button"]:has-text("Got it")','div[role="button"]:has-text("I understand")','input[type="button"][value="Saya mengerti"]','input[type="submit"][value="Saya mengerti"]'],h=['button:has-text("Skip")','button:has-text("Lewati")','button:has-text("Not now")','button:has-text("Bukan sekarang")','button:has-text("No thanks")','button:has-text("Tidak sekarang")','div[role="button"]:has-text("Skip")','div[role="button"]:has-text("Not now")'],i=["#social-google","a#social-google",'a:has-text("Sign in with Google")','a:has-text("Sign up with Google")','a:has-text("Log in with Google")','a:has-text("Login with Google")','a:has-text("Continue with Google")','a:has-text("Sign in with Google")','button:has-text("Sign up with Google")','button:has-text("Log in with Google")','button:has-text("Login with Google")','button:has-text("Continue with Google")','button:has-text("Sign in with Google")','button[aria-label*="Continue with Google" i]','button[aria-label*="Google" i]','button:has-text("Google")','a:has-text("Google")','div[role="button"]:has-text("Continue with Google")','div[role="button"]:has-text("Login with Google")','div[role="button"]:has-text("Google")','span:has-text("Continue with Google")','span:has-text("Login with Google")','span:has-text("Google")','[aria-label*="Google" i]','[data-provider*="google" i]','button:has-text("Login with Google")','button:has-text("Continue with Google")','[data-testid*="google" i]'],j=["#onetrust-accept-btn-handler","#onetrust-reject-all-handler","#accept-recommended-btn-handler",'button:has-text("Allow All")','button:has-text("Reject All")','button:has-text("Accept All")','button:has-text("Accept all")','button:has-text("Confirm My Choices")'],k=["#agree-policy-account","#agree-policy","#agree-policy-sso",'input[type="checkbox"][id*="agree" i]','input[type="checkbox"][name*="agree" i]','input[type="checkbox"][id*="policy" i]','input[type="checkbox"][name*="policy" i]','input[type="checkbox"][id*="terms" i]','input[type="checkbox"][name*="terms" i]','.login-checkbox input[type="checkbox"]','[class*="checkbox"] input[type="checkbox"]','[class*="agree"] input[type="checkbox"]','input[type="checkbox"]'],l=['.ui-dialog button:has-text("Confirm")','dialog button:has-text("Confirm")','button:has-text("Confirm")','button:has-text("I agree")','button:has-text("Agree")','button:has-text("同意")','button:has-text("确认")'],m=['button:has-text("Continue")','[role="button"]:has-text("Continue")','button:has-text("Get started")','button:has-text("GET STARTED")','input[type="submit"][value="GET STARTED"]','button:has-text("Start")','button:has-text("Confirm")','button:has-text("Done")','button:has-text("Next")','button:has-text("Skip")','button:has-text("Not now")','button:has-text("Save")','button:has-text("Create")','button:has-text("Enter")','button:has-text("Launch")','button:has-text("Use CodeBuddy")','button:has-text("Go to CodeBuddy")'],n=["select",'[role="combobox"]','.page-region [role="combobox"]',".page-region .t-select",'.page-region [class*="t-select"]','.page-region [class*="select"]',".page-region input[placeholder]",'button:has-text("Region")','[role="button"]:has-text("Region")','button:has-text("Select region")','[role="button"]:has-text("Select region")','button:has-text("Data region")','[aria-label*="region" i]','[placeholder*="region" i]'],o=["text=/^Indonesia$/i","text=/^ID$/i","text=/^Singapore$/i","text=/^SG$/i","text=/^Japan$/i","text=/^JP$/i","text=/^Thailand$/i","text=/^TH$/i","text=/^Global$/i","text=/^International$/i","text=/^United States$/i","text=/^US$/i","text=/^Asia Pacific$/i","text=/^Hong Kong$/i","text=/^Default$/i"],p=[{selector:'input[name*="workspace" i]',value:"Default"},{selector:'input[placeholder*="workspace" i]',value:"Default"},{selector:'input[name*="team" i]',value:"Default"},{selector:'input[placeholder*="team" i]',value:"Default"},{selector:'input[name*="name" i]',value:"Default"},{selector:'input[placeholder*="name" i]',value:"Default"}],q=["wrong password","incorrect password","couldn't find your google account","couldn’t find your google account","enter a valid email","couldn’t sign you in","couldn't sign you in","invalid email or password","password is incorrect"],r=["2-step verification","2-step verification required","verify it’s you","verify it's you","check your phone","confirm it’s you","confirm it's you","recovery email","recovery phone","suspicious sign-in prevented","unusual activity detected","captcha","i'm not a robot","im not a robot","not a robot","recaptcha","select all images","select all squares","try again later","browser or app may not be secure","try using a different browser","couldn’t sign you in","couldn't sign you in","this browser or app may not be secure"],s=["restricted","account has been restricted","account is restricted","account has been suspended","account is suspended","account has been disabled","account is disabled","account has been banned","account is banned","access denied","account blocked","your account has been","violation of terms","terms of service violation","temporarily locked","permanently locked","account locked","akun dibatasi","akun diblokir","akun ditangguhkan"],t=["welcome to your new google account","selamat datang di akun google baru anda","welcome to your new account","selamat datang di akun baru","privacy and terms","privasi dan persyaratan","personalize your google services","personalisasikan layanan google anda","add recovery phone","tambahkan nomor telepon pemulihan","choose your settings","pilih setelan anda"],u=["welcome to your new account","selamat datang di akun baru","your administrator decides which","administrator anda memutuskan layanan","your organisation administrator manages","your organization administrator manages"];function v(a){if(!a||!a.startsWith("kiro://kiro.kiroAgent/authenticate-success"))return null;let b=a.indexOf("?"),c=new URLSearchParams(b>=0?a.slice(b+1):""),d=c.get("code"),e=c.get("state");return d?{callbackUrl:a,code:d,state:e}:null}function w(a){let b="function"==typeof a.frames?a.frames():[];return[a,...b.filter(b=>b!==a.mainFrame?.())]}async function x(a,b){for(let c of w(a))for(let a of b){let b=c.locator(a).first();if(await b.count().catch(()=>0)&&await b.isVisible().catch(()=>!1))return await b.click({timeout:5e3}).catch(()=>null),!0}return!1}async function y(a,b){for(let c of w(a))for(let a of b){let b=c.locator(a).first();if(await b.count().catch(()=>0)){if((await b.scrollIntoViewIfNeeded().catch(()=>null),await b.isVisible().catch(()=>!1)&&await b.isEnabled().catch(()=>!0))&&await b.click({timeout:5e3}).then(()=>!0).catch(()=>!1))return!0}}return!1}async function z(a,b){for(let c of w(a)){let a=c.locator(b).first();if(await a.count().catch(()=>0)&&await a.isVisible().catch(()=>!1))return a}return null}async function A(a,b,{timeout:c=15e3,pollInterval:d=150}={}){let e=Date.now()+c;for(;Date.now()<e;){let c=await z(a,b);if(c)return c;let f=e-Date.now();if(f<=0)break;await new Promise(a=>setTimeout(a,Math.min(d,f)))}return null}function B(a=50){return new Promise(b=>setTimeout(b,a))}async function C(a,{timeout:b=8e3,interval:c=100}={}){let d=Date.now()+b;for(;Date.now()<d;){try{if(await a())return!0}catch{}await B(c)}return!1}function D(a){try{let b=new URL(a).hostname;return"accounts.google.com"===b||b.endsWith(".accounts.google.com")||/^accounts\.google\./i.test(b)}catch{return!1}}async function E(a,{fromUrl:b="",urlMatch:c=null,selector:d=null,timeout:e=8e3}={}){let f=b||a.url?.()||"";return C(async()=>{let b=a.url?.()||"";return!!(c&&("function"==typeof c&&c(b)||c instanceof RegExp&&c.test(b))||b&&b!==f&&!b.startsWith("about:")||d&&await z(a,d))||!1},{timeout:e,interval:80})}async function F(a,b,{timeout:c=15e3}={}){if(!a||null==b)return!1;try{await a.click({timeout:3e3})}catch{}try{if(await a.fill(String(b),{timeout:Math.min(c,8e3)}),await a.inputValue().catch(()=>"")===b)return!0}catch{}try{await a.fill("",{timeout:2e3})}catch{}try{let d=Math.floor(15+20*Math.random());await a.type(String(b),{delay:d,timeout:c})}catch{try{await a.fill(String(b),{timeout:c})}catch{return!1}}let d="";try{d=await a.inputValue()}catch{d=""}return d===b}async function G(a){let b=[];for(let c of w(a))try{b.push(await c.evaluate(()=>document.body?.innerText||""))}catch{}return b.join("\n")}function H(a,b){let c=String(a||"").toLowerCase();return b.some(a=>c.includes(a))}function I(a){try{let b=new URL(a.url());return"accounts.google.com"===b.hostname||b.hostname.endsWith(".accounts.google.com")||/^accounts\.google\./i.test(b.hostname)}catch{return!1}}function J(a){return/grok|cloudflare/i.test(String(a||""))}function K(a){try{let b=new URL(a||"");return"dash.cloudflare.com"===b.hostname&&b.pathname.includes("/login")}catch{return!1}}function L(a){try{let b=new URL(a||""),c=b.hostname||"";return("accounts.x.ai"===c||"auth.x.ai"===c||c.endsWith(".x.ai"))&&/\/oauth2\/device\/done\/?$/i.test(b.pathname)}catch{return!1}}function M(a,b=""){return!!L(a.url?.()||"")||!!ad(a)&&/device authorized/i.test(String(b||""))&&/you can close (?:this )?window/i.test(String(b||""))}function N(a,b="provider"){let c=`Authorization failed for ${b}`,d=String(a?.message||c),e=a?.name==="TimeoutError"||/timed?\s*out|timeout/i.test(d);return{status:e?"failed_timeout":"failed",step:e?"oauth_timeout":"oauth_failed",message:e?`Timed out waiting for ${b} authorization`:`${b} authorization failed: ${d}`,error:d}}async function O(a,b){if(L(a.url?.()||""))return!1;for(let c of j)try{let d=a.locator(c).first();if(await d.isVisible({timeout:100}).catch(()=>!1)){if(!await d.click({timeout:2e3,noWaitAfter:!0}).then(()=>!0).catch(()=>!1))continue;if(!await C(async()=>!await d.isVisible({timeout:50}).catch(()=>!1),{timeout:800,interval:50}))return!1;return b?.("dismissing_cookies","Dismissed cookie / privacy banner"),!0}}catch{}return!!await a.evaluate(()=>{try{let a=a=>{if(!(a instanceof HTMLElement))return!1;let b=window.getComputedStyle(a);return"none"!==b.display&&"hidden"!==b.visibility&&0!==Number(b.opacity||"1")&&a.getClientRects().length>0},b=document.querySelector("#onetrust-banner-sdk"),c=document.querySelector("#onetrust-accept-btn-handler");if(!a(b)&&!a(c))return!1;if("function"==typeof window.OneTrust?.AllowAll)return window.OneTrust.AllowAll(),!0;if(a(c))return c.click(),!0}catch{}return!1}).catch(()=>!1)&&!!await C(async()=>!await a.evaluate(()=>{let a=a=>{if(!(a instanceof HTMLElement))return!1;let b=window.getComputedStyle(a);return"none"!==b.display&&"hidden"!==b.visibility&&0!==Number(b.opacity||"1")&&a.getClientRects().length>0};return a(document.querySelector("#onetrust-banner-sdk"))||a(document.querySelector("#onetrust-accept-btn-handler"))}).catch(()=>!1),{timeout:800,interval:50})&&(b?.("dismissing_cookies","Dismissed cookie / privacy banner"),!0)}async function P(a){return!!function(a){try{let b=new URL(a.url());if(b.pathname.startsWith("/not-supported")||b.pathname.includes("/signin/rejected")||b.pathname.includes("/rejected")||"about.google"===b.hostname||b.hostname.endsWith(".about.google"))return!0}catch{}return!1}(a)||H(await G(a).catch(()=>""),["browser or app may not be secure","try using a different browser","couldn't sign you in","couldn’t sign you in","this browser or app may not be secure","browser is not secure"])}function Q(a){return!!(a&&a.__zevaiSettled)}async function R(a,b,{maxWaitMs:c=2e4,successPromise:d=null}={}){let e=Date.now(),f="";for(d&&"function"==typeof d.then&&(d.__zevaiSettledHooked||(d.__zevaiSettledHooked=!0,d.then(()=>{d.__zevaiSettled=!0},()=>{d.__zevaiSettled=!0})));Date.now()-e<c;){if(Q(d))return b?.("waiting_google_redirect","OAuth callback already received — leaving interstitial wait"),!1;let c=a.url?.()||"",e=String(await G(a).catch(()=>"")).trim(),g=/\/accounts\/SetSID/i.test(c),h=/\/AccountChooser/i.test(c),i=e.length<30;if(!(g||i&&/accounts\.google\./i.test(c))&&!h)return!1;if(c!==f&&(b?.("waiting_google_redirect",`Waiting for Google redirect (url=${c.slice(0,120)} empty=${i})`),f=c),h&&await y(a,["div[data-identifier]","div[data-email]","li[data-identifier]",'div[role="link"]','div[role="button"]'])){b?.("selecting_google_account","Selected account from Google AccountChooser"),await E(a,{timeout:5e3});continue}let j=[a.waitForNavigation({waitUntil:"domcontentloaded",timeout:3e3}).catch(()=>null),B(400)];d&&!Q(d)&&j.push(d.then(()=>null).catch(()=>null)),await Promise.race(j)}return!0}function S(a){try{let b=new URL(a.url()).hostname||"";return/codebuddy\.(ai|cn)$/.test(b)||b.endsWith(".codebuddy.ai")||b.endsWith(".codebuddy.cn")||"accounts.x.ai"===b||"auth.x.ai"===b||b.endsWith(".x.ai")||"grok.com"===b||b.endsWith(".grok.com")||"dash.cloudflare.com"===b||b.endsWith(".cloudflare.com")||"qoder.com"===b||b.endsWith(".qoder.com")}catch{return!1}}async function T(a,b){if(!I(a))return!1;let c=await G(a);return!!/wants to access|ingin mengakses|akses ke akun google|allow/i.test(c)&&(await a.evaluate(()=>{let a=document.scrollingElement||document.documentElement||document.body;a&&(a.scrollTop=a.scrollHeight),window.scrollTo(0,document.body?.scrollHeight||document.documentElement?.scrollHeight||0)}).catch(()=>null),await a.waitForTimeout(300),!!await y(a,g)&&(b("approving_google_consent","Approving Google OAuth consent"),await a.waitForTimeout(1e3),!0))}async function U(a,b){let c=String(b||"");if(!H(c,t))return!1;if(await a.evaluate(()=>{let a=document.scrollingElement||document.documentElement||document.body;a&&(a.scrollTop=a.scrollHeight),window.scrollTo(0,document.body?.scrollHeight||document.documentElement?.scrollHeight||0)}).catch(()=>null),await a.waitForTimeout(500),H(c,u)){if(await y(a,g))return await a.waitForTimeout(700),!0;if(await a.evaluate(()=>{let a=[document.getElementById("confirm"),document.querySelector('form#tos_form input[type="submit"]'),document.querySelector('input[type="submit"][value="Saya mengerti"]'),document.querySelector('input[type="submit"][value="I understand"]')].filter(Boolean)[0];return!!a&&(a.scrollIntoView({block:"center"}),a.click(),!0)}).catch(()=>!1)||await a.evaluate(()=>{let a=document.getElementById("tos_form");return!!a&&(a.submit(),!0)}).catch(()=>!1))return await a.waitForTimeout(800),!0}return!!(await y(a,h)||await y(a,g))&&(await a.waitForTimeout(700),!0)}async function V(a){let b=/global|international|singapore|united states|^us$|asia|hong kong|default/i;for(let c of w(a)){let a=c.locator("select"),d=await a.count().catch(()=>0);for(let c=0;c<d;c+=1){let d=a.nth(c),e=await d.isVisible().catch(()=>!1),f=await d.isEnabled().catch(()=>!0);if(!e||!f)continue;let g=await d.evaluate((a,b)=>{let c=RegExp(b,"i"),d=[...a.options].filter(a=>!a.disabled&&""!==a.value),e=d.find(a=>c.test(`${a.label} ${a.textContent} ${a.value}`));return(e||d[0])?.value||""},b.source).catch(()=>"");if(g&&await d.selectOption(g).then(()=>!0).catch(()=>!1))return!0}}return!1}async function W(a){let b=!1;for(let c of w(a))for(let{selector:a,value:d}of p){let e=c.locator(a).first();if(!await e.count().catch(()=>0))continue;let f=await e.isVisible().catch(()=>!1),g=await e.isEnabled().catch(()=>!0);!(!f||!g||await e.inputValue().catch(()=>""))&&await e.fill(d,{timeout:5e3}).then(()=>!0).catch(()=>!1)&&(b=!0)}return b}async function X(a,b){await b.scrollIntoViewIfNeeded().catch(()=>null);let c=await b.isVisible().catch(()=>!1),d=await b.isEnabled().catch(()=>!0);if(!c||!d)return!1;let e=await b.boundingBox().catch(()=>null);if(!e||e.width<=0||e.height<=0)return!1;let f=e.x+e.width/2,g=e.y+e.height/2;return await a.mouse.move(f,g),await a.mouse.down(),await a.mouse.up(),!0}async function Y(a,b,c){for(let d of w(a)){let e=d.locator(b),f=Math.min(await e.count().catch(()=>0),80),g=[];for(let a=0;a<f;a+=1){let b=e.nth(a);if(!await b.isVisible().catch(()=>!1))continue;let c=(await b.innerText({timeout:1e3}).catch(()=>"")||await b.textContent({timeout:1e3}).catch(()=>"")||"").trim();c&&g.push({locator:b,text:c})}for(let b of c){let c=g.find(a=>b.test(a.text));if(c&&await X(a,c.locator).catch(()=>!1))return c.text}if(g[0]&&await X(a,g[0].locator).catch(()=>!1))return g[0].text}return""}async function Z(a,b){for(let c of w(a))for(let d of b){let b=c.locator(d),e=Math.min(await b.count().catch(()=>0),20);for(let c=0;c<e;c+=1){let d=b.nth(c);if(await X(a,d).catch(()=>!1))return!0}}return!1}async function $(a,b){if(!S(a)||I(a))return!1;let c=await a.evaluate(async()=>{let a=document.body?.innerText||"";if(!(document.querySelector(".page-region")||/select\s+region|region|country|area|get started|complete/i.test(a)))return null;try{let a=await fetch("https://www.codebuddy.ai/console/login/account",{method:"POST",credentials:"include",headers:{accept:"application/json, text/plain, */*","content-type":"application/json","x-requested-with":"XMLHttpRequest","x-domain":window.location.hostname||"www.codebuddy.ai"},referrer:"https://www.codebuddy.ai/register/user/complete",body:JSON.stringify({attributes:{countryCode:["62"],countryFullName:["Indonesia"],countryName:["ID"]}})}),b=await a.text().catch(()=>""),c=null;try{c=b?JSON.parse(b):null}catch{c={raw:b}}if(a.ok&&(!c||0===c.code||200===c.code||void 0===c.code))return{action:"submitted_via_api"};return{action:"api_failed",status:a.status,code:c?.code,message:c?.msg||c?.message||b||`HTTP ${a.status}`}}catch(a){return{action:"api_failed",message:a?.message||"region submit request failed"}}}).catch(()=>null);return!!c?.action&&("submitted_via_api"===c.action?(b("submitting_codebuddy_region","Submitted CodeBuddy region via account API"),await a.waitForTimeout(1500),!0):(b("codebuddy_region_api_failed",c.message?`CodeBuddy region API submit failed: ${c.message}`:"CodeBuddy region API submit failed"),!1))}async function _(a,b){if(!S(a)||I(a)||!await a.locator(".page-region").first().count().then(Boolean).catch(()=>!1))return!1;let c=[/indonesia|^id$|\u5370\u5ea6\u5c3c\u897f\u4e9a/i,/singapore|^sg$|\u65b0\u52a0\u5761/i,/japan|^jp$|\u65e5\u672c/i,/thailand|^th$|\u6cf0\u56fd/i,/global|international|default/i];if(await Z(a,[".page-region [class*='28B894']",".page-region button:has-text('Get started')",".page-region button:has-text('Start')",".page-region button:has-text('Submit')",".page-region button:has-text('Continue')",".page-region [role='button']:has-text('Get started')",".page-region [role='button']:has-text('Start')",".page-region [role='button']:has-text('Submit')",".page-region [role='button']:has-text('Continue')"]))return b("submitting_codebuddy_region","Submitted CodeBuddy region selection"),await a.waitForTimeout(1200),!0;let d=await Y(a,"ul.dropdown-section li, .dropdown-section li, [role='option'], .t-select-option, [class*='option']",c);if(d)return b("selecting_codebuddy_region",`Selected CodeBuddy region: ${d}`),await a.waitForTimeout(900),!0;if(!await Z(a,[".page-region .t-select",".page-region [class*='t-select']",".page-region [role='combobox']",".page-region input[placeholder]",".page-region [class*='select']",".page-region [class*='cursor-pointer']"]))return!1;b("opening_codebuddy_region_selector","Opening CodeBuddy region selector"),await a.waitForTimeout(600);let e=await Y(a,"ul.dropdown-section li, .dropdown-section li, [role='option'], .t-select-option, [class*='option']",c);return e&&(b("selecting_codebuddy_region",`Selected CodeBuddy region: ${e}`),await a.waitForTimeout(900)),!0}async function aa(a,b){if(!S(a)||I(a))return!1;if(await $(a,b)||await _(a,b))return!0;for(let c of w(a)){let d=await c.evaluate(()=>{let a=a=>{if(!(a instanceof HTMLElement))return!1;let b=window.getComputedStyle(a);if("hidden"===b.visibility||"none"===b.display||0===Number(b.opacity))return!1;let c=a.getBoundingClientRect();return c.width>0&&c.height>0},b=document.querySelector(".page-region"),c=document.body?.innerText||"";if(!(b||/select\s+region|region|country|area|get started|complete/i.test(c)))return null;let d=a=>{for(let b of(a.scrollIntoView({block:"center",inline:"center"}),["pointerdown","mousedown","pointerup","mouseup","click"]))a.dispatchEvent(new MouseEvent(b,{bubbles:!0,cancelable:!0,view:window,buttons:+!!b.endsWith("down")}))},e=[/indonesia|^id$|\u5370\u5ea6\u5c3c\u897f\u4e9a/i,/singapore|^sg$|\u65b0\u52a0\u5761/i,/japan|^jp$|\u65e5\u672c/i,/thailand|^th$|\u6cf0\u56fd/i,/global|international|default/i],f=b||document.body,g=["button","[role='button']","input[type='submit']",".t-button","[class*='button']","[class*='28B894']"],h=[...f.querySelectorAll(g.join(","))].filter(a).filter(a=>{let b=`${a.innerText||""} ${a.getAttribute("aria-label")||""} ${a.getAttribute("value")||""}`,c=a.getAttribute("class")||"";return/submit|start|continue|confirm|done|get started|complete|\u5b8c\u6210|\u5f00\u59cb|\u786e\u5b9a|\u4e0b\u4e00\u6b65/i.test(b)||c.includes("28B894")});if(h.length)return d(h[0]),{action:"submitted"};let i=["ul.dropdown-section li",".dropdown-section li","[role='option']",".t-select-option","[class*='option']","[class*='dropdown'] li"],j=[...document.querySelectorAll(i.join(","))].filter(a).filter(a=>(a.innerText||a.textContent||"").trim());if(j.length){let a=e.map(a=>j.find(b=>a.test((b.innerText||b.textContent||"").trim()))).find(Boolean)||j[0],b=(a.innerText||a.textContent||"").trim();return d(a),{action:"selected",label:b}}let k=["[role='combobox']",".t-select","[class*='t-select']","[class*='select']","input[placeholder]",".text-sm","[class*='cursor-pointer']"],l=[...f.querySelectorAll(k.join(","))].filter(a).filter(a=>{let b=`${a.innerText||""} ${a.getAttribute("placeholder")||""} ${a.getAttribute("aria-label")||""}`;return/region|country|area|select|placeholder|\u5730\u533a|\u56fd\u5bb6|\u9009\u62e9/i.test(b)||a.matches?.(".t-select,[class*='t-select'],input[placeholder],[class*='select']")});return l.length?(d(l[0]),{action:"opened"}):null}).catch(()=>null);if(d?.action){if("selected"===d.action)return b("selecting_codebuddy_region",`Selected CodeBuddy region${d.label?`: ${d.label}`:""}`),await a.waitForTimeout(700),!0;if("submitted"===d.action)return b("submitting_codebuddy_region","Submitted CodeBuddy region selection"),await a.waitForTimeout(1200),!0;return b("opening_codebuddy_region_selector","Opening CodeBuddy region selector"),await a.waitForTimeout(700),!0}}return!1}async function ab(a,b){if(!S(a)||I(a))return!1;let c=await a.evaluate(async()=>{let a=new URL(window.location.href);if(!/\/started\/?$/.test(a.pathname))return null;let b=a.searchParams.get("platform")||"CLI",c=a.searchParams.get("state");if(!c)return null;for(let a of[...new Set([window.location.hostname||"www.codebuddy.ai"].filter(Boolean))]){let d=new URL("/console/auth/login",window.location.origin);d.searchParams.set("platform",b),d.searchParams.set("state",c),d.searchParams.set("domain",a);try{let b=await fetch(d.toString(),{method:"GET",credentials:"include",redirect:"manual",headers:{"x-requested-with":"XMLHttpRequest","X-Domain":a}});if("opaqueredirect"===b.type||b.status>=300&&b.status<400)return{action:"attempted",domain:a,message:"redirected"};let c=await b.text(),e=null;try{e=c?JSON.parse(c):null}catch{e={raw:c}}if(b.ok&&(!e||0===e.code||200===e.code||void 0===e.code))return{action:"authorized",domain:a};if(b.ok)return{action:"attempted",domain:a,code:e?.code,message:e?.msg||e?.message||""}}catch(a){}}return{action:"failed"}}).catch(()=>null);return!!c?.action&&"failed"!==c.action&&("authorized"===c.action?b("authorizing_codebuddy_cli_state","Authorized CodeBuddy CLI login state"):b("authorizing_codebuddy_cli_state",c.message?`Attempted CodeBuddy CLI login state authorization: ${c.message}`:"Attempted CodeBuddy CLI login state authorization"),await a.waitForTimeout(1200),!0)}async function ac(a){try{for(let b of[/continue with google/i,/sign in with google/i,/sign up with google/i,/^google$/i]){let c=a.getByRole("button",{name:b}).first();if(await c.isVisible({timeout:300}).catch(()=>!1))return!0;let d=a.getByRole("link",{name:b}).first();if(await d.isVisible({timeout:200}).catch(()=>!1))return!0}}catch{}for(let b of i)try{let c=a.locator(b).first();if(await c.isVisible({timeout:200}).catch(()=>!1))return!0}catch{}return!1}function ad(a){try{let b=new URL(a.url()).hostname||"";return"accounts.x.ai"===b||"auth.x.ai"===b||b.endsWith(".x.ai")||"grok.com"===b||b.endsWith(".grok.com")}catch{return!1}}async function ae(a,b,c){if(!S(a)||I(a))return!1;if(await y(a,l))return b("accepting_provider_privacy_dialog",`Confirmed ${c} privacy or terms dialog`),await a.waitForTimeout(800),!0;if(await ab(a,b)||await aa(a,b))return!0;if(!ad(a)){if(await V(a))return b("selecting_provider_region",`Selected ${c} region`),await a.waitForTimeout(700),!0;if(await y(a,n))return b("opening_provider_region_selector",`Opening ${c} region selector`),await a.waitForTimeout(500),await y(a,o)&&(b("selecting_provider_region",`Selected ${c} region`),await a.waitForTimeout(700)),!0;if(await y(a,o))return b("selecting_provider_region",`Selected ${c} region`),await a.waitForTimeout(700),!0;if(await W(a))return b("filling_provider_onboarding",`Filled ${c} onboarding defaults`),await a.waitForTimeout(500),!0}if(ad(a))return!1;try{let b=new URL(a.url()).hostname||"";if("dash.cloudflare.com"===b||b.endsWith(".cloudflare.com"))return!1}catch{}return!await ac(a)&&!!await y(a,m)&&(b("continuing_provider_onboarding",`Continuing ${c} onboarding`),await a.waitForTimeout(1e3),!0)}async function af(a,b,{alreadyAuthed:c=!1}={}){if(!ad(a)||await ac(a))return!1;let d=await G(a).catch(()=>"");if(/device authorized|you can close|invalid action/i.test(d)||!(/enter the code shown in your terminal/i.test(d)||/only enter this code if you just initiated/i.test(d)||/sign in to grok/i.test(d)&&/continue/i.test(d)&&!/login with/i.test(d)))return!1;let e=a.url?.()||"",f=!1;try{let b=a.getByRole("button",{name:/^Continue$/i}).first();await b.isVisible({timeout:300}).catch(()=>!1)&&(await b.click({timeout:5e3}),f=!0)}catch{}return f||(f=await y(a,['button[type="submit"]:has-text("Continue")','button:has-text("Continue")'])),!!f&&(b?.(c?"confirming_device_code_after_login":"confirming_device_code",c?"Confirmed device user code on xAI after Google sign-in":"Confirmed device user code on xAI"),await E(a,{fromUrl:e,urlMatch:a=>/sign-in|login|oauth/i.test(a)&&a!==e,selector:[...i.slice(0,8),'button:has-text("Login with Google")','button:has-text("Login with email")','button:has-text("Allow")','button:has-text("Authorize")'].join(", "),timeout:1e4}),!0)}async function ag(a,b){return!!await b.isEnabled().catch(()=>!0)&&(await b.scrollIntoViewIfNeeded().catch(()=>null),!!await b.click({timeout:2500,force:!0,noWaitAfter:!0}).then(()=>!0).catch(()=>!1)||X(a,b).catch(()=>!1))}async function ah(a){for(let b of[/continue with google/i,/login with google/i,/log in with google/i,/sign up with google/i,/sign in with google/i,/^google$/i]){try{let c=a.getByRole("button",{name:b}).first();if(await c.isVisible({timeout:250}).catch(()=>!1)&&await ag(a,c))return!0}catch{}try{let c=a.getByRole("link",{name:b}).first();if(await c.isVisible({timeout:200}).catch(()=>!1)&&await ag(a,c))return!0}catch{}}try{let b=a.locator('button[aria-label*="Google" i]').first();if(await b.isVisible({timeout:200}).catch(()=>!1)&&await ag(a,b))return!0}catch{}try{let b=a.locator('button:has-text("Google")').first();if(await b.isVisible({timeout:150}).catch(()=>!1)&&await ag(a,b))return!0}catch{}return!1}async function ai(a,b){for(let c of w(a))for(let d of k)try{let e=c.locator(d).first();if(!await e.count().catch(()=>0)||!await e.isVisible().catch(()=>!1))continue;if(await e.isChecked().catch(()=>!1))return!1;if(await e.check({force:!0,timeout:3e3}).then(()=>!0).catch(()=>!1)||await e.click({force:!0,timeout:3e3}).then(()=>!0).catch(()=>!1))return b?.("accepting_provider_terms","Accepted provider terms for Google login"),await C(async()=>{try{let b=a.getByRole("button",{name:/google/i}).first();return await b.isVisible().catch(()=>!1)&&await b.isEnabled().catch(()=>!0)}catch{return!0}},{timeout:2e3,interval:80}),!0}catch{}return!1}async function aj(a,b,{allowGoogleClick:c=!0}={}){if(I(a))return!1;if(await O(a,b),await y(a,l))return b("accepting_provider_privacy_dialog","Confirmed provider privacy agreement dialog"),!0;let e=await ai(a,b);if(!c)return e;let f=await ah(a);if(!f)for(let b of i.slice(0,16))try{let c=a.locator(b).first();if(await c.isVisible({timeout:100}).catch(()=>!1)&&await ag(a,c)){f=!0;break}}catch{}if(f){b("selecting_google_login","Selecting Google login"),await y(a,l)&&b("accepting_provider_privacy_dialog","Confirmed provider privacy agreement dialog");let c=K(a.url?.()||"");if(await E(a,{urlMatch:a=>D(a),selector:d,timeout:c?1e4:12e3})||I(a))b("google_login_page","Reached Google sign-in after provider SSO");else try{let c=a.context?.(),d=c?.pages?.()||[];for(let a=d.length-1;a>=0;a-=1){let c=d[a],e=c.url?.()||"";if(D(e)){b("google_login_popup","Google sign-in opened in a popup");break}}}catch{}return!0}return e}async function ak(a,b){if(!ad(a)||await ac(a))return!1;for(let c of[/^(Allow|Authorize|Approve|Confirm)$/i,/^(Allow|Authorize|Approve)\b/i])try{let d=a.getByRole("button",{name:c}).first();if(await d.isVisible({timeout:200}).catch(()=>!1)){let a=await d.innerText().catch(()=>"")||"";if(/google/i.test(a))continue;return await d.click({timeout:3e3,noWaitAfter:!0}),b?.("approving_consent","Approving xAI device authorization"),!0}}catch{}return!1}async function al(a,{seenGoogleAuth:b,passwordSubmittedAt:c}={}){return!(ad(a)||K(a.url?.()||""))&&(!!I(a)||!!(b&&c&&!await ac(a)))}async function am(a,b){if(!function(a){try{let b=new URL(a.url()).hostname||"";return"qoder.com"===b||b.endsWith(".qoder.com")}catch{return!1}}(a))return!1;for(let c of[a.getByRole("button",{name:/^Continue$/i}).first(),a.locator('button:has-text("Continue")').first(),a.getByRole("link",{name:/^Continue$/i}).first(),a.locator('a:has-text("Continue")').first()])try{if(await c.isVisible({timeout:250}).catch(()=>!1)&&await ag(a,c))return b?.("approving_qoder_device","Approving Qoder device sign-in (Continue)"),!0}catch{}return!1}function an(a,b,c=9e5){let d,e,f=new Promise((a,b)=>{d=a,e=b}),g=!1,h=a,i=new Set,j=new Map,k=setTimeout(()=>{l(null,Error("Timed out waiting for Kiro callback"))},c);function l(a,b=null){if(!g){for(let a of(g=!0,clearTimeout(k),j.values()))for(let b of a)try{b()}catch{}j.clear(),i.clear(),b?e(b):d(a)}}function m(a){let b=v(a||"");return b&&l(b),!!b}function n(a){try{m(a?.url?.()||"");let b="function"==typeof a?.headers?a.headers():null,c=b?.location||b?.Location||"";c&&m(c)}catch{}}function o(a,b){if(!a||i.has(a))return;i.add(a);let c=a=>m(a?.url?.()||""),d=a=>m(a?.url?.()||""),e=a=>m(a?.url?.()||""),f=a=>n(a),j=()=>m(a.url?.()||""),k=()=>{a.context?.()===h&&l(null,Error("Browser session closed while waiting for Kiro callback"))};a.on("framenavigated",c),a.on("request",d),a.on("requestfailed",e),a.on("response",f),a.on("domcontentloaded",j),a.on("load",j),a.on("close",k),b.push(()=>{a.off("framenavigated",c),a.off("request",d),a.off("requestfailed",e),a.off("response",f),a.off("domcontentloaded",j),a.off("load",j),a.off("close",k)}),(async()=>{try{if(g)return;let c=a.context?.();if(!c?.newCDPSession)return;let d=await c.newCDPSession(a);await d.send("Network.enable").catch(()=>null);let e=a=>{try{let b=a?.response?.headers||{},c=b.location||b.Location||"";c&&m(c),m(a?.response?.url||"")}catch{}},f=a=>{try{m(a?.request?.url||"")}catch{}};d.on("Network.responseReceived",e),d.on("Network.requestWillBeSent",f),b.push(()=>{try{d.off?.("Network.responseReceived",e)}catch{}try{d.off?.("Network.requestWillBeSent",f)}catch{}d.detach?.().catch(()=>null)})}catch{}})();let o=v(a.url?.()||"");o&&l(o)}function p(a,b){if(g||j.has(a))return;let c=[];j.set(a,c);let d=a=>o(a,c),e=()=>{a===h&&l(null,Error("Browser context closed while waiting for Kiro callback"))},f=a=>m(a?.url?.()||""),i=a=>m(a?.url?.()||""),k=a=>n(a);a.on("page",d),a.on("close",e),a.on("request",f),a.on("requestfailed",i),a.on("response",k),c.push(()=>a.off("page",d)),c.push(()=>a.off("close",e)),c.push(()=>a.off("request",f)),c.push(()=>a.off("requestfailed",i)),c.push(()=>a.off("response",k)),b&&o(b,c)}return p(a,b),f.rebind=({context:a,page:b}={})=>{a&&(h=a,p(a,b))},f.abort=(a="Job cancelled")=>{l(null,Error(a))},f}function ao(a,b,{prefix:c,timeoutMs:d=9e5}={}){let e,f,g=new Promise((a,b)=>{e=a,f=b}),h=!1,i=new Set,j=new Map,k=setTimeout(()=>{l(null,Error("Timed out waiting for OAuth callback"))},d);function l(a,b=null){if(!h){for(let a of(h=!0,clearTimeout(k),j.values()))for(let b of a)try{b()}catch{}j.clear(),b?f(b):e(a)}}function m(a,b){if(!a||i.has(a))return;i.add(a);let d=a=>{let b=function(a,b){if(!a||!b||!a.startsWith(b))return null;let c=a.indexOf("?"),d=new URLSearchParams(c>=0?a.slice(c+1):""),e=d.get("code"),f=d.get("state");return e?{callbackUrl:a,code:e,state:f}:null}(a||"",c);b&&l(b)},e=a=>d(a?.url?.()||""),f=a=>d(a?.url?.()||""),g=a=>d(a?.url?.()||""),h=()=>d(a.url?.()||"");a.on("framenavigated",e),a.on("request",f),a.on("requestfailed",g),a.on("domcontentloaded",h),a.on("load",h),b.push(()=>{a.off("framenavigated",e),a.off("request",f),a.off("requestfailed",g),a.off("domcontentloaded",h),a.off("load",h)}),d(a.url?.()||"")}function n(a,b){if(h||j.has(a))return;let c=[];j.set(a,c);let d=a=>m(a,c);a.on("page",d),c.push(()=>a.off("page",d)),b&&m(b,c)}return n(a,b),g.rebind=({context:a,page:b}={})=>{a&&n(a,b)},g}async function ap({page:a,authUrl:b,email:c,password:h,successPromise:i,shortTimeoutMs:j=9e4,serviceLabel:k="provider",openingStep:l="opening_google_oauth",openingMessage:m="Opening Google OAuth page",successStep:n="oauth_success_received",successMessage:o="OAuth success received",onStep:p,skipGoto:t=!1,expectGoogleSoon:u=!1}){let v=Date.now(),w=(a,b)=>{p?.(a,b)},y=a=>({maxWaitMs:a,successPromise:i}),D=0,L=0,Q=0,V=!1,W=0,X=!1,Y=!1,Z=0,$=0,_=0,aa=!1,ab=J(k)?6e3:18e3,ad=J(k)?12e3:8e3,ag=J(k)?3e3:8e3,ah=J(k),ai=ah?4e3:25e3,an=ah?120:500,ao=t&&I(a);t?ao?w("google_login_page","Already on Google sign-in — filling credentials"):u?(w("waiting_google_redirect","Waiting for Google after provider SSO click"),await C(()=>I(a),{timeout:25e3,interval:100})?(ao=!0,Q=Date.now(),w("google_login_page","Reached Google sign-in after provider SSO")):w("google_redirect_slow","Google redirect slow — will retry SSO click")):(w(l,m),await O(a,w)):(w(l,m),await a.goto(b,{waitUntil:"domcontentloaded",timeout:6e4}),await O(a,w));let aq=K(a.url?.()||"")||/cloudflare/i.test(String(k||""));if(!ao){await C(async()=>!!(I(a)||await z(a,'button[aria-label*="Google" i], button:has-text("Continue with Google"), button:has-text("Login with Google"), button:has-text("Google")')||!aq&&await z(a,d)||!aq&&await z(a,'button:has-text("Continue")')),{timeout:ah?8e3:12e3,interval:80}),ah||await R(a,w,y(8e3));for(let b=0;b<(ah||aq?8:2)&&!I(a);b+=1)if(await O(a,w),!await af(a,w)){if(await aj(a,w)){if(Q=Date.now(),I(a))break;await B(50);continue}await C(async()=>I(a)||await ac(a)||/enter the code|login with google|continue with google/i.test(await G(a).catch(()=>"")),{timeout:600,interval:80})||await B(80)}ah||await R(a,w,y(6e3))}if(I(a)){V=!0;let b=await A(a,d,{timeout:1e4});b&&(w("entering_email","Entering Google email"),await F(b,c)?(w("submitting_email","Submitting email"),await x(a,f),L=Date.now(),await E(a,{selector:e,timeout:ah?8e3:12e3}),ah||await R(a,w,y(8e3))):w("email_fill_failed","Could not fill the Google email field; will retry in the polling loop"))}else S(a)&&w("waiting_for_google_sso",`Provider page still open (${(a.url?.()||"").slice(0,80)}) — will keep selecting Google login`);for(;Date.now()-v<j;){let j=await Promise.race([i.then(a=>({kind:"success",result:a})).catch(a=>({kind:"success_error",error:a})),new Promise(a=>setTimeout(()=>a(null),an))]);if(j?.kind==="success")return w(n,o),{status:"success",...j.result};if(j?.kind==="success_error"){let a=N(j.error,k);return w(a.step,a.message),{status:a.status,error:a.error}}if(ah&&V&&D&&/cloudflare/i.test(String(k||"")))try{let b=new URL(a.url?.()||"");if("dash.cloudflare.com"===b.hostname&&!b.pathname.includes("/login")&&!b.href.includes("oidcJwt")){w("waiting_cf_harvest","On Cloudflare dashboard — waiting for Workers AI token harvest");let a=await Promise.race([i.then(a=>({kind:"success",result:a})).catch(a=>({kind:"success_error",error:a})),B(2e3).then(()=>null)]);if(a?.kind==="success")return w(n,o),{status:"success",...a.result};if(a?.kind==="success_error"){let b=N(a.error,k);return w(b.step,b.message),{status:b.status,error:b.error}}continue}}catch{}if(await R(a,w,y(ah?2500:8e3)))continue;if(await T(a,w)){ah?await E(a,{timeout:4e3}):await R(a,w,y(12e3));continue}if(await P(a)){let b=a.url?.()||"";return w("browser_blocked_by_google",`Google blocked this browser (url=${b.slice(0,120)}). Use headed CloakBrowser (Xvfb on Linux).`),{status:"failed_browser_blocked",error:'Google blocked the automated browser ("This browser or app may not be secure" / signin rejected). Kiro bulk must use headed CloakBrowser (Xvfb on Linux), not headless Chrome.'}}let l=await G(a);if(M(a,l)){aa||(w("waiting_xai_release","xAI device authorized in browser — waiting for the token endpoint"),aa=!0),await B(1e3);continue}if(H(l,q))return w("invalid_credentials","Google rejected the supplied email or password"),{status:"failed_invalid_credentials",error:"Google rejected the supplied email or password."};if(H(l,s))return w("account_restricted","Account is restricted, suspended, or banned by the provider"),{status:"failed_restricted",error:"Account is restricted, suspended, or banned. Skipping."};if(H(l,r)){let a=/captcha|recaptcha|not a robot|select all images|select all squares/i.test(l);return w(a?"google_captcha":"manual_assist_required",a?"Google CAPTCHA / bot check":"Google requested CAPTCHA, 2FA, or recovery verification"),{status:"needs_manual",error:a?"Google CAPTCHA (bot check). Not fixed by lowering workers — use headed CloakBrowser with Xvfb, a residential proxy, and avoid blocking Google domains. Open manual assist to solve CAPTCHA once.":"Manual assist required in the browser session (CAPTCHA, 2FA, recovery, or suspicious-login challenge)."}}if(await U(a,l)){w("google_onboarding","Accepted Google onboarding or privacy prompt");continue}if(S(a)&&(/rate[_ ]?limit/i.test(l)||/error=rate_limited/i.test(a.url?.()||"")))return w("device_rate_limited","xAI device authorization rate-limited"),{status:"failed",error:"xAI rate-limited device authorization. Wait a few minutes and retry (too many rapid device-code attempts)."};if(S(a)&&/invalid action|invalid[_ ]?code|code (has )?expired|expired code/i.test(l)&&b&&V&&_<3&&Date.now()-$>4e3){_+=1,$=Date.now(),W=0,X=!1,Y=!1,w("device_invalid_reopen",`Device page error — reopening auth URL (${_}/3)`),await a.goto(b,{waitUntil:"domcontentloaded",timeout:6e4}).catch(()=>null),await C(async()=>await z(a,'button:has-text("Continue"), button:has-text("Allow"), button:has-text("Authorize")')||await ac(a),{timeout:4e3,interval:80});continue}let m=!!(V&&D);if((!m||!Y)&&await af(a,w,{alreadyAuthed:m})){m&&(Y=!0);continue}let p=!m&&(!Q||Date.now()-Q>ag);if(await aj(a,w,{allowGoogleClick:p})){p&&(Q=Date.now());continue}if(m&&!X&&Date.now()-W>3e3&&await ak(a,w)){W=Date.now(),X=!0;continue}if(m&&Date.now()-Z>3e3&&await am(a,w)){Z=Date.now();continue}if(await ae(a,w,k))continue;if(I(a)){V=!0;let b=await z(a,e);if(b){let c=Date.now()-D;if(D&&c<ab){w("waiting_after_password",`Password already submitted ${Math.round(c/1e3)}s ago — waiting for Google redirect`),await R(a,w,y(ah?2e3:6e3));continue}if(w("entering_password","Entering Google password"),await F(b,h)){w("submitting_password","Submitting password");let b=a.url?.()||"";await x(a,f),D=Date.now(),await Promise.race([a.waitForNavigation({waitUntil:"domcontentloaded",timeout:ah?6e3:1e4}).catch(()=>null),E(a,{fromUrl:b,timeout:ah?6e3:1e4}),i.then(()=>null).catch(()=>null)]),await R(a,w,y(ai))}else w("password_fill_failed","Could not fill the Google password field; retrying loop"),await B(100);continue}let g=await z(a,d);if(g){let b=Date.now()-L;if(L&&b<ad){w("waiting_after_email",`Email already submitted ${Math.round(b/1e3)}s ago — waiting for password/next screen`),await E(a,{selector:e,timeout:Math.max(200,ad-b)});continue}w("entering_email","Entering Google email"),await F(g,c)?(w("submitting_email","Submitting email"),await x(a,f),L=Date.now(),await E(a,{selector:e,timeout:ah?6e3:1e4})):(w("email_fill_failed","Could not fill the Google email field; retrying loop"),await B(80));continue}}await O(a,w);let t=(()=>{try{let b=new URL(a.url()).hostname||"";return"dash.cloudflare.com"===b||b.endsWith(".cloudflare.com")}catch{return!1}})();if(await al(a,{seenGoogleAuth:V,passwordSubmittedAt:D})&&await x(a,g)){w("approving_consent",`Approving Google or ${k} consent`),W=Date.now(),await E(a,{timeout:ah?2e3:4e3});continue}if(t&&!V&&await aj(a,w)){Q=Date.now();continue}if(Math.floor((Date.now()-v)/5e3)!==Math.floor((Date.now()-v-an)/5e3)){let b=a.url?.()||"",c=String(l||await G(a).catch(()=>"")).slice(0,100).replace(/\s+/g," ");w("waiting_for_next_screen",`Waiting for the next Google or ${k} screen (url=${b.slice(0,100)} body=${c})`)}else w("waiting_for_next_screen",`Waiting for the next Google or ${k} screen`);await B(an)}if(await P(a))return w("browser_blocked_by_google","Google blocked browser at end of automation window"),{status:"failed_browser_blocked",error:'Google blocked the automated browser ("This browser or app may not be secure"). Use headed CloakBrowser (Xvfb).'};let ar=a.url?.()||"",as=String(await G(a).catch(()=>"")).slice(0,120).replace(/\s+/g," ");return w("manual_assist_required",`Flow did not complete ${k} authorization automatically (url=${ar.slice(0,100)} body=${as})`),{status:"needs_manual",error:`Manual assist required — ${k} authorization did not finish automatically (last url: ${ar.slice(0,140)}). If you see "browser may not be secure", use headed CloakBrowser.`}}async function aq({page:a,authUrl:b,email:c,password:d,callbackPromise:e,shortTimeoutMs:f=9e4,onStep:g}){return ap({page:a,authUrl:b,email:c,password:d,successPromise:e,shortTimeoutMs:f,serviceLabel:"Kiro",openingStep:"opening_google_oauth",openingMessage:"Opening Google OAuth page",successStep:"kiro_callback_received",successMessage:"Kiro callback received",onStep:g})}let ar={waitForFirstVisibleLocator:A,fillInputResilient:F,parseSelectorList:function(a){return String(a||"").split(",").map(a=>a.trim()).filter(Boolean)},getFirstVisibleLocator:z,waitForPageAdvance:E,waitUntil:C,handleXaiDeviceCodeConfirm:af,GOOGLE_LOGIN_BUTTON_SELECTORS:i,isGrokish:J,isXaiDeviceDonePage:M,classifyAuthorizationFailure:N,shouldUseGenericApprove:al,dismissCookieBanners:O,clickGoogleLoginRole:ah,isCloudflareLoginUrl:K}},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,Iu:()=>d.Iu,K1:()=>d.K1,KJ:()=>d.KJ,KK:()=>d.KK,Kg:()=>d.Kg,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,ME:()=>d.ME,Mc:()=>d.Mc,NR:()=>d.NR,Op:()=>d.Op,PX:()=>d.PX,Pb:()=>d.Pb,Pc:()=>d.Pc,QI:()=>d.QI,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,dK:()=>d.dK,deleteModelAlias:()=>d.fv,ek:()=>d.ek,fK:()=>d.fK,getModelAliases:()=>d.OM,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,p3:()=>d.p3,qd:()=>d.qd,r4:()=>d.r4,tV:()=>d.tV,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yW:()=>d.yW,yg:()=>d.yg,zP:()=>d.zP,zY:()=>d.zY});var d=c(93999)},90715:(a,b,c)=>{c.d(b,{Eq:()=>r,eK:()=>u,js:()=>v,yr:()=>s});let d=["id","provider","authType","name","displayName","email","priority","globalPriority","defaultModel","isActive","testStatus","status","lastTested","lastError","lastErrorAt","lastErrorType","errorType","errorCode","statusCode","providerErrorCode","rateLimitedUntil","expiresAt","expiresIn","tokenType","scope","projectId","lastUsedAt","consecutiveUseCount","consecutiveAuthFailures","backoffLevel","autoDisabledAt","autoDisabledReason","failureClass","upstreamRequestId","failureResetAt","quarantinedAt","quarantineReason","manuallyReenabledAt","createdAt","updatedAt"],e=["baseUrl","azureEndpoint","deployment","apiVersion","organization","accountId","region","projectId","resourceUrl","proxyPoolId","connectionProxyEnabled","connectionProxyUrl","connectionNoProxy","githubLogin","githubName","githubEmail","githubUserId","username","firstName","lastName","authMethod","authKind","chatgptAccountId","chatgptPlanType","uid","enterpriseId","userId","organizationId","profileArn","startUrl","machineId","subscriptionTier","hasGrokCodeAccess","domain","refreshExpiresAt","refreshExpiresIn","tokenType","email","name","expireTime","nodeName","prefix","apiType","enabledModels","spaceId","spaceViewId","notionUserId","clientVersion","cell","spaceName","userName","userEmail","timezone"],f=["model","providerErrorCode","reason","lockedAt","resetsAt"],g=new Set(["baseUrl","azureEndpoint","resourceUrl","startUrl","connectionProxyUrl"]),h=new Set(["lastError","autoDisabledReason","failureClass","providerErrorCode","upstreamRequestId","quarantineReason"]),i=new Set(["not_attempted","succeeded","transient_failed","rejected"]),j=/(?:api[_-]?key|access[_-]?token|auth|credential|password|secret|signature|token)/i,k=/([?&](?:api[_-]?key|access[_-]?token|auth|credential|password|secret|signature|token)=)[^&#\s;,]+/gi,l=/(\b(?:api[_-]?key|access[_-]?token|authorization|auth|credential|password|passwd|secret|signature|token)\b["']?\s*[:=]\s*)(?!(?:Bearer|Basic)\b)(?:"[^"]*"|'[^']*'|[^\s,;&}]+)/gi,m=/\b(Bearer|Basic)\s+[a-z\d._~+\/-]+=*/gi,n=/([a-z][a-z\d+.-]*:\/\/)[^@\s/]+@/gi,o=/(^|[\s("'`])[^:@/\s]+:[^@/\s]+@/gi,p=["id","name","noProxy","type","isActive","strictProxy","testStatus","lastTestedAt","lastError","createdAt","updatedAt","boundConnectionCount"];function q(a){return null===a||["string","number","boolean"].includes(typeof a)?a:Array.isArray(a)&&a.every(a=>null===a||["string","number","boolean"].includes(typeof a))?[...a]:void 0}function r(a){if("string"!=typeof a||!a)return a;if(/^[a-z][a-z\d+.-]*:\/\//i.test(a))try{let b=new URL(a);for(let a of(b.username&&(b.username="***"),b.password&&(b.password="***"),b.searchParams.keys()))j.test(a)&&b.searchParams.set(a,"***");return b.toString()}catch{}return a.replace(n,"$1***:***@").replace(o,"$1***:***@").replace(k,"$1***").replace(l,"$1***")}function s(a){return"string"==typeof a&&a?a.replace(n,"$1***:***@").replace(o,"$1***:***@").replace(k,"$1***").replace(l,"$1***").replace(m,"$1 ***"):a}function t(a){return"string"==typeof a?s(a):Array.isArray(a)?a.map(a=>"string"==typeof a?s(a):a):a}function u(a,{revealProxyUrl:b=!1}={}){if(!a||"object"!=typeof a)return{};let c={};for(let b of p){let d=q(a[b]);void 0!==d&&(c[b]=d)}let d=q(a.proxyUrl);return"string"==typeof d&&(c.proxyUrl=b?d:r(d)),void 0!==c.lastError&&(c.lastError=t(c.lastError)),c}function v(a){if(!a||"object"!=typeof a)return{};let b={};for(let c of d){let d=q(a[c]);void 0!==d&&(b[c]=h.has(c)?t(d):d)}for(let[c,d]of Object.entries(a)){if(!c.startsWith("modelLock_"))continue;let a=q(d);void 0!==a&&(b[c]=a)}let c=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b={};for(let c of f){let d=q(a[c]);void 0!==d&&(b[c]="reason"===c?t(d):d)}return Object.keys(b).length>0?b:void 0}(a.modelLockReason);c&&(b.modelLockReason=c);let j=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b={};for(let c of["initialStatus","retryStatus"]){let d=a[c];(null===d||Number.isInteger(d)&&d>=0&&d<=599)&&(b[c]=d)}return"boolean"==typeof a.refreshAttempted&&(b.refreshAttempted=a.refreshAttempted),i.has(a.refreshOutcome)&&(b.refreshOutcome=a.refreshOutcome),Object.keys(b).length>0?b:void 0}(a.authLifecycle);j&&(b.authLifecycle=j);let k=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b={};for(let c of e){let d=q(a[c]);void 0!==d&&(b[c]=g.has(c)?r(d):d)}return b}(a.providerSpecificData);return k&&(b.providerSpecificData=k),b}}};
@@ -1,43 +0,0 @@
1
- "use strict";exports.id=5470,exports.ids=[5470],exports.modules={13808:(a,b,c)=>{c.d(b,{$N:()=>f,OK:()=>g,Zl:()=>h,lz:()=>i});var d=c(55511),e=c.n(d);function f(a=32){return e().randomBytes(a).toString("base64url")}function g(a){return e().createHash("sha256").update(a).digest("base64url")}function h(){return e().randomBytes(32).toString("base64url")}function i(a=32){let b=f(a),c=g(b);return{codeVerifier:b,codeChallenge:c,state:h()}}},22898:(a,b,c)=>{c.d(b,{Hd:()=>k,IF:()=>p,Pd:()=>g,Y0:()=>o,ZP:()=>u,_V:()=>t,cn:()=>l,dR:()=>m,jl:()=>w,nu:()=>x,uw:()=>v});var d=c(81630),e=c.n(d),f=c(1932);function g(a,b=null){return new Promise((c,d)=>{let g=e().createServer((b,c)=>{let d=new f.URL(b.url,"http://localhost");if("/callback"===d.pathname||"/auth/callback"===d.pathname){let b=Object.fromEntries(d.searchParams);c.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),c.end(`<!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <title>Authentication Successful</title>
6
- <style>
7
- body { font-family: system-ui; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #f5f5f5; }
8
- .container { text-align: center; padding: 2rem; background: white; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
9
- .success { color: #22c55e; font-size: 3rem; }
10
- h1 { margin: 1rem 0; }
11
- p { color: #666; }
12
- #countdown { font-weight: bold; }
13
- </style>
14
- </head>
15
- <body>
16
- <div class="container">
17
- <div class="success">&#10003;</div>
18
- <h1>Authentication Successful</h1>
19
- <p id="message">Closing in <span id="countdown">3</span> seconds...</p>
20
- </div>
21
- <script>
22
- let count = 3;
23
- const countdown = document.getElementById("countdown");
24
- const message = document.getElementById("message");
25
- const timer = setInterval(() => {
26
- count--;
27
- countdown.textContent = count;
28
- if (count <= 0) {
29
- clearInterval(timer);
30
- window.close();
31
- setTimeout(() => {
32
- message.textContent = "Please close this tab manually.";
33
- }, 500);
34
- }
35
- }, 1000);
36
- </script>
37
- </body>
38
- </html>`),a(b)}else c.writeHead(404),c.end("Not found")});g.listen(b||0,"127.0.0.1",()=>{let{port:a}=g.address();c({server:g,port:a,close:()=>g.close()})}),g.on("error",a=>{"EADDRINUSE"===a.code&&b?d(Error(`Port ${b} is already in use. Please close other applications using this port.`)):d(a)})})}let h=null,i=null,j=new Map;function k({state:a,codeVerifier:b,redirectUri:c}){return!!a&&!!b&&!!c&&(j.set(a,{codeVerifier:b,redirectUri:c,status:"pending",createdAt:Date.now()}),!0)}function l(a){return j.get(a)||null}function m(a){j.delete(a)}function n(a,b){let c=a?"Authentication Successful":"Authentication Failed";return`<!DOCTYPE html>
39
- <html><head><meta charset="utf-8"><title>${c}</title>
40
- <style>body{font-family:system-ui;display:flex;justify-content:center;align-items:center;height:100vh;margin:0;background:#f5f5f5}.c{text-align:center;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.i{color:${a?"#22c55e":"#ef4444"};font-size:3rem}h1{margin:1rem 0}p{color:#666}</style>
41
- </head><body><div class="c"><div class="i">${a?"&#10003;":"&#10007;"}</div><h1>${c}</h1><p>${b}</p><p>Closing in <span id="cd">3</span>s...</p>
42
- <script>let n=3;const c=document.getElementById("cd");const t=setInterval(()=>{n--;c.textContent=n;if(n<=0){clearInterval(t);window.close();}},1000);</script>
43
- </div></body></html>`}function o(a){return new Promise(b=>{if(h)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new f.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let g=e.searchParams.get("code"),h=e.searchParams.get("state"),i=e.searchParams.get("error"),k=h?j.get(h):null;if(k){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!g)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(5433),c.e(3477),c.e(2557),c.e(6306),c.e(7634),c.e(1130),c.e(3110),c.e(4795),c.e(5330),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),f=await a("codex",g,k.redirectUri,k.codeVerifier,h),j=await b({provider:"codex",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});k.status="done",k.connectionId=j.id,k.email=j.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!0,"You can close this window."))}catch(a){k.status="error",k.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!1,a.message))}finally{p()}return}let l=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:l}),d.end(),p()});d.listen(1455,"127.0.0.1",()=>{h=d,i=setTimeout(()=>p(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function p(){i&&(clearTimeout(i),i=null),h&&(h.close(),h=null)}let q=null,r=null,s=new Map;function t({state:a,codeVerifier:b,redirectUri:c}){return!!a&&!!b&&!!c&&(s.set(a,{codeVerifier:b,redirectUri:c,status:"pending",createdAt:Date.now()}),!0)}function u(a){return s.get(a)||null}function v(a){s.delete(a)}function w(a){return new Promise(b=>{if(q)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new f.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let g=e.searchParams.get("code"),h=e.searchParams.get("state"),i=e.searchParams.get("error"),j=h?s.get(h):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!g)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(5433),c.e(3477),c.e(2557),c.e(6306),c.e(7634),c.e(1130),c.e(3110),c.e(4795),c.e(5330),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),f=await a("xai",g,j.redirectUri,j.codeVerifier,h),k=await b({provider:"xai",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});j.status="done",j.connectionId=k.id,j.email=k.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!0,"You can close this window."))}catch(a){j.status="error",j.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!1,a.message))}finally{x()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),x()});d.listen(56121,"127.0.0.1",()=>{q=d,r=setTimeout(()=>x(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function x(){r&&(clearTimeout(r),r=null),q&&(q.close(),q=null)}},73159:(a,b,c)=>{c.d(b,{Ue:()=>j,oT:()=>k,qF:()=>h});let d="https://auth.x.ai",e="/oauth2/authorize",f="/oauth2/token",g="/.well-known/openid-configuration",h="openid profile email offline_access grok-cli:access api:access",i="/callback",j=96,k={clientId:"b1a00492-073a-47ea-816f-4c329264a828",issuer:d,authEndpointPath:e,tokenEndpointPath:f,discoveryPath:g,authorizeUrl:`${d}${e}`,tokenUrl:`${d}${f}`,discoveryUrl:`${d}${g}`,scope:h,apiBaseUrl:"https://api.x.ai/v1",redirectUri:`http://127.0.0.1:56121${i}`,loopbackPort:56121,callbackPath:i,pkceVerifierBytes:96,refreshLeadSeconds:300,userAgent:"grok-cli/zevairouter",codeChallengeMethod:"S256"}},92990:(a,b,c)=>{c.d(b,{DI:()=>i,Hp:()=>k,LT:()=>j,MZ:()=>v,Nl:()=>B,Nu:()=>p,OV:()=>h,S6:()=>s,Td:()=>y,Tx:()=>q,WN:()=>t,Ww:()=>D,YT:()=>n,ZL:()=>m,cD:()=>o,f7:()=>A,hF:()=>l,lB:()=>w,ne:()=>C,qp:()=>z,t:()=>u,w1:()=>x});var d=c(21820),e=c(73159),f=c(52060);function g(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let h={clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256"},i={clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",deviceCodeUrl:"https://auth.openai.com/api/accounts/deviceauth/usercode",deviceTokenUrl:"https://auth.openai.com/api/accounts/deviceauth/token",deviceVerificationUrl:"https://auth.openai.com/codex/device",deviceRedirectUri:"https://auth.openai.com/deviceauth/callback",scope:"openid profile email offline_access",codeChallengeMethod:"S256",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}},j={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"]},k={clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256"},l={openApiBaseUrl:"https://openapi.qoder.sh",centerBaseUrl:"https://center.qoder.sh",chatBaseUrl:"https://api3.qoder.sh",deviceTokenUrl:"https://openapi.qoder.sh/api/v1/deviceToken/poll",refreshUrl:"https://center.qoder.sh/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.sh/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.sh/api/v2/quota/usage",loginUrl:"https://qoder.com/device/selectAccounts"},m={clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"}},n={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",loadCodeAssistApiClient:"google-cloud-sdk vscode_cloudshelleditor/0.1",loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:g(),pluginType:2})};function o(){return{ideType:9,platform:g(),pluginType:2}}let p={clientId:"Iv1.b507a08c87ecfe98",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},q={ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},r=/^[a-z]{2}-[a-z]+-\d{1,2}$/;function s(a){if("string"!=typeof a||!r.test(a))throw Error("Invalid region");return a}let t={apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetDefaultModelNudgeData",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.1.0",clientType:"ide",tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"},dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}},u={clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token"},v={apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},w={appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},x={appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenUrl:"https://api.cline.bot/api/v1/auth/token",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},y={webAppUrl:"https://app.kimchi.dev",validationUrl:"https://api.cast.ai/v1/llm/openai/supported-providers",userInfoUrl:"https://app.kimchi.dev/api/v1/me",modelsUrl:"https://llm.kimchi.dev/v1/models/metadata?include_in_cli=true"},z={clientId:"b1a00492-073a-47ea-816f-4c329264a828",deviceCodeUrl:"https://auth.x.ai/oauth2/device/code",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token",scope:e.qF,referrer:"grok-build",refreshLeadMs:3e5},A={defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"},B={baseUrl:"https://www.codebuddy.ai",stateUrl:"https://www.codebuddy.ai/v2/plugin/auth/state",tokenUrl:"https://www.codebuddy.ai/v2/plugin/auth/token",accountUrl:"https://www.codebuddy.ai/v2/plugin/login/account",accountsUrl:"https://www.codebuddy.ai/v2/plugin/accounts",refreshUrl:"https://www.codebuddy.ai/v2/plugin/auth/token/refresh",userAgent:f.C,domain:"www.codebuddy.ai",platform:"CLI",pollInterval:5e3},C={baseUrl:"https://www.codebuddy.cn",stateUrl:"https://www.codebuddy.cn/v2/plugin/auth/state",tokenUrl:"https://www.codebuddy.cn/v2/plugin/auth/token",accountUrl:"https://www.codebuddy.cn/v2/plugin/login/account",accountsUrl:"https://www.codebuddy.cn/v2/plugin/accounts",refreshUrl:"https://www.codebuddy.cn/v2/plugin/auth/token/refresh",userAgent:f.C,domain:"www.codebuddy.cn",platform:"CLI",pollInterval:5e3},D=3e5}};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3862],{81750:(e,t,n)=>{n.d(t,{Gc:()=>tb,H2:()=>tM,h7:()=>ex});var o,r,a=n(95155),i=n(12115),l=n(69684),s=n(6793),d=n(82282),c=n(94907);n(47650);let u=(0,i.createContext)(null),g=u.Provider,f=s.xc.error001("react");function p(e,t){let n=(0,i.useContext)(u);if(null===n)throw Error(f);return(0,d.n)(n,e,t)}function h(){let e=(0,i.useContext)(u);if(null===e)throw Error(f);return(0,i.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}let m={display:"none"},y={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},b="react-flow__node-desc",x="react-flow__edge-desc",v=e=>e.ariaLiveMessage,S=e=>e.ariaLabelConfig;function w({rfId:e}){let t=p(v);return(0,a.jsx)("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:y,children:t})}function C({rfId:e,disableKeyboardA11y:t}){let n=p(S);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{id:`${b}-${e}`,style:m,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),(0,a.jsx)("div",{id:`${x}-${e}`,style:m,children:n["edge.a11yDescription.default"]}),!t&&(0,a.jsx)(w,{rfId:e})]})}let E=(0,i.forwardRef)(({position:e="top-left",children:t,className:n,style:o,...r},i)=>{let s=`${e}`.split("-");return(0,a.jsx)("div",{className:(0,l.A)(["react-flow__panel",n,...s]),style:o,ref:i,...r,children:t})});function N({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:(0,a.jsx)(E,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:(0,a.jsx)("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}E.displayName="Panel";let k=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},M=e=>e.id;function P(e,t){return(0,c.x)(e.selectedNodes.map(M),t.selectedNodes.map(M))&&(0,c.x)(e.selectedEdges.map(M),t.selectedEdges.map(M))}function D({onSelectionChange:e}){let t=h(),{selectedNodes:n,selectedEdges:o}=p(k,P);return(0,i.useEffect)(()=>{let r={nodes:n,edges:o};e?.(r),t.getState().onSelectionChangeHandlers.forEach(e=>e(r))},[n,o,e]),null}let j=e=>!!e.onSelectionChangeHandlers;function A({onSelectionChange:e}){let t=p(j);return e||t?(0,a.jsx)(D,{onSelectionChange:e}):null}let O=[0,0],I={x:0,y:0,zoom:1},R=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode","rfId"],_=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),L={translateExtent:s.ZO,nodeOrigin:O,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function z(e){let{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:r,setTranslateExtent:a,setNodeExtent:l,reset:d,setDefaultNodesAndEdges:u}=p(_,c.x),g=h();(0,i.useEffect)(()=>(u(e.defaultNodes,e.defaultEdges),()=>{f.current=L,d()}),[]);let f=(0,i.useRef)(L);return(0,i.useEffect)(()=>{for(let i of R){let d=e[i];d!==f.current[i]&&void 0!==e[i]&&("nodes"===i?t(d):"edges"===i?n(d):"minZoom"===i?o(d):"maxZoom"===i?r(d):"translateExtent"===i?a(d):"nodeExtent"===i?l(d):"ariaLabelConfig"===i?g.setState({ariaLabelConfig:(0,s.Q6)(d)}):"fitView"===i?g.setState({fitViewQueued:d}):"fitViewOptions"===i?g.setState({fitViewOptions:d}):g.setState({[i]:d}))}f.current=e},R.map(t=>e[t])),null}function B(){return"u"<typeof window||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}let V="u">typeof document?document:null;function $(e=null,t={target:V,actInsideInputWithModifier:!0}){let[n,o]=(0,i.useState)(!1),r=(0,i.useRef)(!1),a=(0,i.useRef)(new Set([])),[l,d]=(0,i.useMemo)(()=>{if(null!==e){let t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.replace("+","\n").replace("\n\n","\n+").split("\n")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return(0,i.useEffect)(()=>{let n=t?.target??V,i=t?.actInsideInputWithModifier??!0;if(null!==e){let e=e=>{if(r.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!r.current||r.current&&!i)&&(0,s.v5)(e))return!1;let n=F(e.code,d);if(a.current.add(e[n]),H(l,a.current,!1)){let n=e.composedPath?.()?.[0]||e.target,a=n?.nodeName==="BUTTON"||n?.nodeName==="A";!1!==t.preventDefault&&(r.current||!a)&&e.preventDefault(),o(!0)}},c=e=>{let t=F(e.code,d);H(l,a.current,!0)?(o(!1),a.current.clear()):a.current.delete(e[t]),"Meta"===e.key&&a.current.clear(),r.current=!1},u=()=>{a.current.clear(),o(!1)};return n?.addEventListener("keydown",e),n?.addEventListener("keyup",c),window.addEventListener("blur",u),window.addEventListener("contextmenu",u),()=>{n?.removeEventListener("keydown",e),n?.removeEventListener("keyup",c),window.removeEventListener("blur",u),window.removeEventListener("contextmenu",u)}}},[e,o]),n}function H(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function F(e,t){return t.includes(e)?"code":"key"}function T(e,t){let n=[],o=new Map,r=[];for(let t of e)if("add"===t.type){r.push(t);continue}else if("remove"===t.type||"replace"===t.type)o.set(t.id,[t]);else{let e=o.get(t.id);e?e.push(t):o.set(t.id,[t])}for(let e of t){let t=o.get(e.id);if(!t){n.push(e);continue}if("remove"===t[0].type)continue;if("replace"===t[0].type){n.push({...t[0].item});continue}let r={...e};for(let e of t){var a=e,i=r;switch(a.type){case"select":i.selected=a.selected;break;case"position":void 0!==a.position&&(i.position=a.position),void 0!==a.dragging&&(i.dragging=a.dragging);break;case"dimensions":void 0!==a.dimensions&&(i.measured={...a.dimensions},a.setAttributes&&((!0===a.setAttributes||"width"===a.setAttributes)&&(i.width=a.dimensions.width),(!0===a.setAttributes||"height"===a.setAttributes)&&(i.height=a.dimensions.height))),"boolean"==typeof a.resizing&&(i.resizing=a.resizing)}}n.push(r)}return r.length&&r.forEach(e=>{void 0!==e.index?n.splice(e.index,0,{...e.item}):n.push({...e.item})}),n}function Z(e,t){return{id:e,type:"select",selected:t}}function X(e,t=new Set,n=!1){let o=[];for(let[r,a]of e){let e=t.has(r);(void 0!==a.selected||e)&&a.selected!==e&&(n&&(a.selected=e),o.push(Z(a.id,e)))}return o}function K({items:e=[],lookup:t}){let n=[],o=new Map(e.map(e=>[e.id,e]));for(let[o,r]of e.entries()){let e=t.get(r.id),a=e?.internals?.userNode??e;void 0!==a&&a!==r&&n.push({id:r.id,item:r,type:"replace"}),void 0===a&&n.push({item:r,type:"add",index:o})}for(let[e]of t)void 0===o.get(e)&&n.push({id:e,type:"remove"});return n}function W(e){return{id:e.id,type:"remove"}}let Y=(0,s.kr)("React Flow","https://reactflow.dev/"),Q=e=>(0,s.oB)(e);function U(e){return(0,i.forwardRef)(e)}let q="u">typeof window?i.useLayoutEffect:i.useEffect;function G(e){let[t,n]=(0,i.useState)(BigInt(0)),[o]=(0,i.useState)(()=>{var e;let t;return e=()=>n(e=>e+BigInt(1)),t=[],{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}});return q(()=>{let t=o.get();t.length&&(e(t),o.reset())},[t]),o}let J=(0,i.createContext)(null);function ee({children:e}){let t=h(),n=G((0,i.useCallback)(e=>{let{nodes:n=[],setNodes:o,hasDefaultNodes:r,onNodesChange:a,nodeLookup:i,fitViewQueued:l,onNodesChangeMiddlewareMap:s}=t.getState(),d=n;for(let t of e)d="function"==typeof t?t(d):t;let c=K({items:d,lookup:i});for(let e of s.values())c=e(c);r&&o(d),c.length>0?a?.(c):l&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:n,setNodes:o}=t.getState();e&&o(n)})},[])),o=G((0,i.useCallback)(e=>{let{edges:n=[],setEdges:o,hasDefaultEdges:r,onEdgesChange:a,edgeLookup:i}=t.getState(),l=n;for(let t of e)l="function"==typeof t?t(l):t;r?o(l):a&&a(K({items:l,lookup:i}))},[])),r=(0,i.useMemo)(()=>({nodeQueue:n,edgeQueue:o}),[]);return(0,a.jsx)(J.Provider,{value:r,children:e})}let et=e=>!!e.panZoom;function en(){let e,t=(e=h(),(0,i.useMemo)(()=>({zoomIn:async t=>{let{panZoom:n}=e.getState();return!!n&&n.scaleBy(1.2,t)},zoomOut:async t=>{let{panZoom:n}=e.getState();return!!n&&n.scaleBy(1/1.2,t)},zoomTo:async(t,n)=>{let{panZoom:o}=e.getState();return!!o&&o.scaleTo(t,n)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[o,r,a],panZoom:i}=e.getState();return!!i&&(await i.setViewport({x:t.x??o,y:t.y??r,zoom:t.zoom??a},n),!0)},getViewport:()=>{let[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},setCenter:async(t,n,o)=>e.getState().setCenter(t,n,o),fitBounds:async(t,n)=>{let{width:o,height:r,minZoom:a,maxZoom:i,panZoom:l}=e.getState(),d=(0,s.R4)(t,o,r,a,i,n?.padding??.1);return!!l&&(await l.setViewport(d,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0)},screenToFlowPosition:(t,n={})=>{let{transform:o,snapGrid:r,snapToGrid:a,domNode:i}=e.getState();if(!i)return t;let{x:l,y:d}=i.getBoundingClientRect(),c={x:t.x-l,y:t.y-d},u=n.snapGrid??r,g=n.snapToGrid??a;return(0,s.Ff)(c,o,g,u)},flowToScreenPosition:t=>{let{transform:n,domNode:o}=e.getState();if(!o)return t;let{x:r,y:a}=o.getBoundingClientRect(),i=(0,s.zj)(t,n);return{x:i.x+r,y:i.y+a}}}),[])),n=h(),o=function(){let e=(0,i.useContext)(J);if(!e)throw Error("useBatchContext must be used within a BatchProvider");return e}(),r=p(et),a=(0,i.useMemo)(()=>{let e=e=>n.getState().nodeLookup.get(e),t=e=>{o.nodeQueue.push(e)},r=e=>{o.edgeQueue.push(e)},a=e=>{let{nodeLookup:t,nodeOrigin:o}=n.getState(),r=Q(e)?e:t.get(e.id),a=r.parentId?(0,s.us)(r.position,r.measured,r.parentId,t,o):r.position,i={...r,position:a,width:r.measured?.width??r.width,height:r.measured?.height??r.height};return(0,s.kM)(i)},i=(e,n,o={replace:!1})=>{t(t=>t.map(t=>{if(t.id===e){let e="function"==typeof n?n(t):n;return o.replace&&Q(e)?e:{...t,...e}}return t}))},l=(e,t,n={replace:!1})=>{r(o=>o.map(o=>{if(o.id===e){let e="function"==typeof t?t(o):t;return n.replace&&(0,s.b$)(e)?e:{...o,...e}}return o}))};return{getNodes:()=>n.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{let{edges:e=[]}=n.getState();return e.map(e=>({...e}))},getEdge:e=>n.getState().edgeLookup.get(e),setNodes:t,setEdges:r,addNodes:e=>{let t=Array.isArray(e)?e:[e];o.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];o.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:t=[],transform:o}=n.getState(),[r,a,i]=o;return{nodes:e.map(e=>({...e})),edges:t.map(e=>({...e})),viewport:{x:r,y:a,zoom:i}}},deleteElements:async({nodes:e=[],edges:t=[]})=>{let{nodes:o,edges:r,onNodesDelete:a,onEdgesDelete:i,triggerNodeChanges:l,triggerEdgeChanges:d,onDelete:c,onBeforeDelete:u}=n.getState(),{nodes:g,edges:f}=await (0,s.Tq)({nodesToRemove:e,edgesToRemove:t,nodes:o,edges:r,onBeforeDelete:u}),p=f.length>0,h=g.length>0;if(p){let e=f.map(W);i?.(f),d(e)}if(h){let e=g.map(W);a?.(g),l(e)}return(h||p)&&c?.({nodes:g,edges:f}),{deletedNodes:g,deletedEdges:f}},getIntersectingNodes:(e,t=!0,o)=>{let r=(0,s.mW)(e),i=r?e:a(e),l=void 0!==o;return i?(o||n.getState().nodes).filter(o=>{let a=n.getState().nodeLookup.get(o.id);if(a&&!r&&(o.id===e.id||!a.internals.positionAbsolute))return!1;let d=(0,s.kM)(l?o:a),c=(0,s.X6)(d,i);return t&&c>0||c>=d.width*d.height||c>=i.width*i.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{let o=(0,s.mW)(e)?e:a(e);if(!o)return!1;let r=(0,s.X6)(o,t);return n&&r>0||r>=t.width*t.height||r>=o.width*o.height},updateNode:i,updateNodeData:(e,t,n={replace:!1})=>{i(e,e=>{let o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},updateEdge:l,updateEdgeData:(e,t,n={replace:!1})=>{l(e,e=>{let o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},getNodesBounds:e=>{let{nodeLookup:t,nodeOrigin:o}=n.getState();return(0,s.Jo)(e,{nodeLookup:t,nodeOrigin:o})},getHandleConnections:({type:e,id:t,nodeId:o})=>Array.from(n.getState().connectionLookup.get(`${o}-${e}${t?`-${t}`:""}`)?.values()??[]),getNodeConnections:({type:e,handleId:t,nodeId:o})=>Array.from(n.getState().connectionLookup.get(`${o}${e?t?`-${e}-${t}`:`-${e}`:""}`)?.values()??[]),fitView:async e=>{let t=n.getState().fitViewResolver??(0,s.YN)();return n.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:t}),o.nodeQueue.push(e=>[...e]),t.promise}}},[]);return(0,i.useMemo)(()=>({...a,...t,viewportInitialized:r}),[r])}let eo=e=>e.selected,er="u">typeof window?window:void 0,ea={position:"absolute",width:"100%",height:"100%",top:0,left:0},ei=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function el({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:o=!1,panOnScrollSpeed:r=.5,panOnScrollMode:l=s.ny.Free,zoomOnDoubleClick:d=!0,panOnDrag:u=!0,defaultViewport:g,translateExtent:f,minZoom:m,maxZoom:y,zoomActivationKeyCode:b,preventScrolling:x=!0,children:v,noWheelClassName:S,noPanClassName:w,onViewportChange:C,isControlledViewport:E,paneClickDistance:N,selectionOnDrag:k}){let M,P=h(),D=(0,i.useRef)(null),{userSelectionActive:j,lib:A,connectionInProgress:O}=p(ei,c.x),I=$(b),R=(0,i.useRef)();M=h(),(0,i.useEffect)(()=>{let e=()=>{if(!D.current||!(D.current.checkVisibility?.()??!0))return!1;let e=(0,s.Eo)(D.current);(0===e.height||0===e.width)&&M.getState().onError?.("004",s.xc.error004()),M.setState({width:e.width||500,height:e.height||500})};if(D.current){e(),window.addEventListener("resize",e);let t=new ResizeObserver(()=>e());return t.observe(D.current),()=>{window.removeEventListener("resize",e),t&&D.current&&t.unobserve(D.current)}}},[]);let _=(0,i.useCallback)(e=>{C?.({x:e[0],y:e[1],zoom:e[2]}),E||P.setState({transform:e})},[C,E]);return(0,i.useEffect)(()=>{if(D.current){R.current=(0,s.kO)({domNode:D.current,minZoom:m,maxZoom:y,translateExtent:f,viewport:g,onDraggingChange:e=>P.setState(t=>t.paneDragging===e?t:{paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:o}=P.getState();o?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:o}=P.getState();o?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:o}=P.getState();o?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=R.current.getViewport();return P.setState({panZoom:R.current,transform:[e,t,n],domNode:D.current.closest(".react-flow")}),()=>{R.current?.destroy()}}},[]),(0,i.useEffect)(()=>{R.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:o,panOnScrollSpeed:r,panOnScrollMode:l,zoomOnDoubleClick:d,panOnDrag:u,zoomActivationKeyPressed:I,preventScrolling:x,noPanClassName:w,userSelectionActive:j,noWheelClassName:S,lib:A,onTransformChange:_,connectionInProgress:O,selectionOnDrag:k,paneClickDistance:N})},[e,t,n,o,r,l,d,u,I,x,w,j,S,A,_,O,k,N]),(0,a.jsx)("div",{className:"react-flow__renderer",ref:D,style:ea,children:v})}let es=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function ed(){let{userSelectionActive:e,userSelectionRect:t}=p(es,c.x);return e&&t?(0,a.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}let ec=(e,t)=>n=>{n.target===t.current&&e?.(n)},eu=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function eg({isSelecting:e,selectionKeyPressed:t,selectionMode:n=s.Qc.Full,panOnDrag:o,autoPanOnSelection:r,paneClickDistance:d,selectionOnDrag:u,onSelectionStart:g,onSelectionEnd:f,onPaneClick:m,onPaneContextMenu:y,onPaneScroll:b,onPaneMouseEnter:x,onPaneMouseMove:v,onPaneMouseLeave:S,children:w}){let C=(0,i.useRef)(0),E=h(),{userSelectionActive:N,elementsSelectable:k,dragging:M,connectionInProgress:P,panBy:D,autoPanSpeed:j}=p(eu,c.x),A=k&&(e||N),O=(0,i.useRef)(null),I=(0,i.useRef)(),R=(0,i.useRef)(new Set),_=(0,i.useRef)(new Set),L=(0,i.useRef)(!1),z=(0,i.useRef)({x:0,y:0}),B=(0,i.useRef)(!1),V=e=>{if(L.current||P){L.current=!1;return}m?.(e),E.getState().resetSelectedElements(),E.setState({nodesSelectionActive:!1})};function $(e,t){let{userSelectionRect:o}=E.getState();if(!o)return;let{transform:r,nodeLookup:a,edgeLookup:i,connectionLookup:l,triggerNodeChanges:d,triggerEdgeChanges:c,defaultEdgeOptions:u}=E.getState(),g={x:o.startX,y:o.startY},{x:f,y:p}=(0,s.zj)(g,r),h={startX:g.x,startY:g.y,x:e<f?e:f,y:t<p?t:p,width:Math.abs(e-f),height:Math.abs(t-p)},m=R.current,y=_.current;R.current=new Set((0,s.U$)(a,h,r,n===s.Qc.Partial,!0).map(e=>e.id)),_.current=new Set;let b=u?.selectable??!0;for(let e of R.current){let t=l.get(e);if(t)for(let{edgeId:e}of t.values()){let t=i.get(e);t&&(t.selectable??b)&&_.current.add(e)}}(0,s._s)(m,R.current)||d(X(a,R.current,!0)),(0,s._s)(y,_.current)||c(X(i,_.current)),E.setState({userSelectionRect:h,userSelectionActive:!0,nodesSelectionActive:!1})}let H=()=>{cancelAnimationFrame(C.current),C.current=0,B.current=!1};(0,i.useEffect)(()=>()=>H(),[]);let F=!0===o||Array.isArray(o)&&o.includes(0);return(0,a.jsxs)("div",{className:(0,l.A)(["react-flow__pane",{draggable:F,dragging:M,selection:e}]),onClick:A?void 0:ec(V,O),onContextMenu:ec(e=>{Array.isArray(o)&&o?.includes(2)?e.preventDefault():y?.(e)},O),onWheel:ec(b?e=>b(e):void 0,O),onPointerEnter:A?void 0:x,onPointerMove:A?e=>{let{userSelectionRect:n,transform:o,resetSelectedElements:a}=E.getState();if(!I.current||!n)return;let{x:i,y:l}=(0,s.q1)(e.nativeEvent,I.current);z.current={x:i,y:l};let c=(0,s.zj)({x:n.startX,y:n.startY},o);if(!L.current){if(Math.hypot(i-c.x,l-c.y)<=(t?0:d))return;a(),g?.(e)}L.current=!0,B.current||(!function e(){if(!r||!I.current)return;let[t,n]=(0,s._7)(z.current,I.current,j);D({x:t,y:n}).then(t=>{if(!L.current||!t){C.current=requestAnimationFrame(e);return}let{x:n,y:o}=z.current;$(n,o),C.current=requestAnimationFrame(e)})}(),B.current=!0),$(i,l)}:v,onPointerUp:A?e=>{0===e.button&&(e.target?.releasePointerCapture?.(e.pointerId),!N&&e.target===O.current&&E.getState().userSelectionRect&&V?.(e),E.setState({userSelectionActive:!1,userSelectionRect:null}),L.current&&(f?.(e),E.setState({nodesSelectionActive:R.current.size>0})),H())}:void 0,onPointerCancel:A?e=>{e.target?.releasePointerCapture?.(e.pointerId),H()}:void 0,onPointerDownCapture:A?n=>{let{domNode:o,transform:r}=E.getState();if(I.current=o?.getBoundingClientRect(),!I.current)return;let a=n.target===O.current;if(!a&&n.target.closest(".nokey")||!e||!(u&&a||t)||0!==n.button||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),L.current=!1;let{x:i,y:l}=(0,s.q1)(n.nativeEvent,I.current),d=(0,s.Ff)({x:i,y:l},r);E.setState({userSelectionRect:{width:0,height:0,startX:d.x,startY:d.y,x:i,y:l}}),a||(n.stopPropagation(),n.preventDefault())}:void 0,onClickCapture:A?e=>{L.current&&(e.stopPropagation(),L.current=!1)}:void 0,onPointerLeave:S,ref:O,style:ea,children:[w,(0,a.jsx)(ed,{})]})}function ef({id:e,store:t,unselect:n=!1,nodeRef:o}){let{addSelectedNodes:r,unselectNodesAndEdges:a,multiSelectionActive:i,nodeLookup:l,onError:d}=t.getState(),c=l.get(e);c?(t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&i)&&(a({nodes:[c],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):r([e])):d?.("012",s.xc.error012(e))}function ep({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:o,nodeId:r,isSelectable:a,nodeClickDistance:l}){let d=h(),[c,u]=(0,i.useState)(!1),g=(0,i.useRef)();return(0,i.useEffect)(()=>{g.current=(0,s.I$)({getStoreItems:()=>d.getState(),onNodeMouseDown:t=>{ef({id:t,store:d,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),(0,i.useEffect)(()=>{if(!t&&e.current&&g.current)return g.current.update({noDragClassName:n,handleSelector:o,domNode:e.current,isSelectable:a,nodeId:r,nodeClickDistance:l}),()=>{g.current?.destroy()}},[n,o,t,a,e,r,l]),c}function eh(){let e=h();return(0,i.useCallback)(t=>{let{nodeExtent:n,snapToGrid:o,snapGrid:r,nodesDraggable:a,onError:i,updateNodePositions:l,nodeLookup:d,nodeOrigin:c}=e.getState(),u=new Map,g=e=>e.selected&&(e.draggable||a&&void 0===e.draggable),f=o?r[0]:5,p=o?r[1]:5,h=t.direction.x*f*t.factor,m=t.direction.y*p*t.factor;for(let[,e]of d){if(!g(e))continue;let t={x:e.internals.positionAbsolute.x+h,y:e.internals.positionAbsolute.y+m};o&&(t=(0,s.s_)(t,r));let{position:a,positionAbsolute:l}=(0,s.aE)({nodeId:e.id,nextPosition:t,nodeLookup:d,nodeExtent:n,nodeOrigin:c,onError:i});e.position=a,e.internals.positionAbsolute=l,u.set(e.id,e)}l(u)},[])}let em=(0,i.createContext)(null),ey=em.Provider;em.Consumer;let eb=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),ex=(0,i.memo)(U(function({type:e="source",position:t=s.yX.Top,isValidConnection:n,isConnectable:o=!0,isConnectableStart:r=!0,isConnectableEnd:d=!0,id:u,onConnect:g,children:f,className:m,onMouseDown:y,onTouchStart:b,...x},v){let S=u||null,w="target"===e,C=h(),E=(0,i.useContext)(em),{connectOnClick:N,noPanClassName:k,rfId:M}=p(eb,c.x),{connectingFrom:P,connectingTo:D,clickConnecting:j,isPossibleEndHandle:A,connectionInProcess:O,clickConnectionInProcess:I,valid:R}=p(t=>{let{connectionClickStartHandle:n,connectionMode:o,connection:r}=t,{fromHandle:a,toHandle:i,isValid:l}=r,d=i?.nodeId===E&&i?.id===S&&i?.type===e;return{connectingFrom:a?.nodeId===E&&a?.id===S&&a?.type===e,connectingTo:d,clickConnecting:n?.nodeId===E&&n?.id===S&&n?.type===e,isPossibleEndHandle:o===s.WZ.Strict?a?.type!==e:E!==a?.nodeId||S!==a?.id,connectionInProcess:!!a,clickConnectionInProcess:!!n,valid:d&&l}},c.x);E||C.getState().onError?.("010",s.xc.error010());let _=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:o}=C.getState(),r={...t,...e};if(o){let{edges:e,setEdges:t,onError:n}=C.getState();t(function(e,t,n={}){return(0,s.rN)(e,t,{...n,onError:n.onError??Y})}(r,e,{onError:n}))}n?.(r),g?.(r)},L=e=>{if(!E)return;let t=(0,s.Er)(e.nativeEvent);if(r&&(t&&0===e.button||!t)){let t=C.getState();s.aQ.onPointerDown(e.nativeEvent,{handleDomNode:e.currentTarget,autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:w,handleId:S,nodeId:E,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:(...e)=>C.getState().onConnectEnd?.(...e),updateConnection:t.updateConnection,onConnect:_,isValidConnection:n||((...e)=>C.getState().isValidConnection?.(...e)??!0),getTransform:()=>C.getState().transform,getFromHandle:()=>C.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?y?.(e):b?.(e)};return(0,a.jsx)("div",{"data-handleid":S,"data-nodeid":E,"data-handlepos":t,"data-id":`${M}-${E}-${S}-${e}`,className:(0,l.A)(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",k,m,{source:!w,target:w,connectable:o,connectablestart:r,connectableend:d,clickconnecting:j,connectingfrom:P,connectingto:D,valid:R,connectionindicator:o&&(!O||A)&&(O||I?d:r)}]),onMouseDown:L,onTouchStart:L,onClick:N?t=>{let{onClickConnectStart:o,onClickConnectEnd:a,connectionClickStartHandle:i,connectionMode:l,isValidConnection:d,lib:c,rfId:u,nodeLookup:g,connection:f}=C.getState();if(!E||!i&&!r)return;if(!i){o?.(t.nativeEvent,{nodeId:E,handleId:S,handleType:e}),C.setState({connectionClickStartHandle:{nodeId:E,type:e,id:S}});return}let p=(0,s.oj)(t.target),h=n||d,{connection:m,isValid:y}=s.aQ.isValid(t.nativeEvent,{handle:{nodeId:E,id:S,type:e},connectionMode:l,fromNodeId:i.nodeId,fromHandleId:i.id||null,fromType:i.type,isValidConnection:h,flowId:u,doc:p,lib:c,nodeLookup:g});y&&m&&_(m);let b=structuredClone(f);delete b.inProgress,b.toPosition=b.toHandle?b.toHandle.position:null,a?.(t,b),C.setState({connectionClickStartHandle:null})}:void 0,ref:v,...x,children:f})})),ev={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},eS={input:function({data:e,isConnectable:t,sourcePosition:n=s.yX.Bottom}){return(0,a.jsxs)(a.Fragment,{children:[e?.label,(0,a.jsx)(ex,{type:"source",position:n,isConnectable:t})]})},default:function({data:e,isConnectable:t,targetPosition:n=s.yX.Top,sourcePosition:o=s.yX.Bottom}){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ex,{type:"target",position:n,isConnectable:t}),e?.label,(0,a.jsx)(ex,{type:"source",position:o,isConnectable:t})]})},output:function({data:e,isConnectable:t,targetPosition:n=s.yX.Top}){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ex,{type:"target",position:n,isConnectable:t}),e?.label]})},group:function(){return null}},ew=e=>{let{width:t,height:n,x:o,y:r}=(0,s.aZ)(e.nodeLookup,{filter:e=>!!e.selected});return{width:(0,s.kf)(t)?t:null,height:(0,s.kf)(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${r}px)`}};function eC({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let o=h(),{width:r,height:s,transformString:d,userSelectionActive:u}=p(ew,c.x),g=eh(),f=(0,i.useRef)(null);(0,i.useEffect)(()=>{n||f.current?.focus({preventScroll:!0})},[n]);let m=!u&&null!==r&&null!==s;if(ep({nodeRef:f,disabled:!m}),!m)return null;let y=e?t=>{e(t,o.getState().nodes.filter(e=>e.selected))}:void 0;return(0,a.jsx)("div",{className:(0,l.A)(["react-flow__nodesselection","react-flow__container",t]),style:{transform:d},children:(0,a.jsx)("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:y,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(ev,e.key)&&(e.preventDefault(),g({direction:ev[e.key],factor:e.shiftKey?4:1}))},style:{width:r,height:s}})})}let eE="u">typeof window?window:void 0,eN=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function ek({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:l,onPaneScroll:s,paneClickDistance:d,deleteKeyCode:u,selectionKeyCode:g,selectionOnDrag:f,selectionMode:m,onSelectionStart:y,onSelectionEnd:b,multiSelectionKeyCode:x,panActivationKeyCode:v,zoomActivationKeyCode:S,elementsSelectable:w,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:N,panOnScrollSpeed:k,panOnScrollMode:M,zoomOnDoubleClick:P,panOnDrag:D,autoPanOnSelection:j,defaultViewport:A,translateExtent:O,minZoom:I,maxZoom:R,preventScrolling:_,onSelectionContextMenu:L,noWheelClassName:z,noPanClassName:B,disableKeyboardA11y:V,onViewportChange:H,isControlledViewport:F}){let{nodesSelectionActive:T,userSelectionActive:Z}=p(eN,c.x),X=$(g,{target:eE}),K=$(v,{target:eE}),W=K||D,Y=K||N,Q=f&&!0!==W,U=X||Z||Q;return!function({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=h(),{deleteElements:o}=en(),r=$(e,{actInsideInputWithModifier:!1}),a=$(t,{target:er});(0,i.useEffect)(()=>{if(r){let{edges:e,nodes:t}=n.getState();o({nodes:t.filter(eo),edges:e.filter(eo)}),n.setState({nodesSelectionActive:!1})}},[r]),(0,i.useEffect)(()=>{n.setState({multiSelectionActive:a})},[a])}({deleteKeyCode:u,multiSelectionKeyCode:x}),(0,a.jsx)(el,{onPaneContextMenu:l,elementsSelectable:w,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:Y,panOnScrollSpeed:k,panOnScrollMode:M,zoomOnDoubleClick:P,panOnDrag:!X&&W,defaultViewport:A,translateExtent:O,minZoom:I,maxZoom:R,zoomActivationKeyCode:S,preventScrolling:_,noWheelClassName:z,noPanClassName:B,onViewportChange:H,isControlledViewport:F,paneClickDistance:d,selectionOnDrag:Q,children:(0,a.jsxs)(eg,{onSelectionStart:y,onSelectionEnd:b,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:l,onPaneScroll:s,panOnDrag:W,autoPanOnSelection:j,isSelecting:!!U,selectionMode:m,selectionKeyPressed:X,paneClickDistance:d,selectionOnDrag:Q,children:[e,T&&(0,a.jsx)(eC,{onSelectionContextMenu:L,noPanClassName:B,disableKeyboardA11y:V})]})})}ek.displayName="FlowRenderer";let eM=(0,i.memo)(ek),eP=e=>e.updateNodeInternals;var eD=(0,i.memo)(function({id:e,onClick:t,onMouseEnter:n,onMouseMove:o,onMouseLeave:r,onContextMenu:d,onDoubleClick:u,nodesDraggable:g,elementsSelectable:f,nodesConnectable:m,nodesFocusable:y,resizeObserver:x,noDragClassName:v,noPanClassName:S,disableKeyboardA11y:w,rfId:C,nodeTypes:E,nodeClickDistance:N,onError:k}){let{node:M,internals:P,isParent:D}=p(t=>{let n=t.nodeLookup.get(e),o=t.parentLookup.has(e);return{node:n,internals:n.internals,isParent:o}},c.x),j=M.type||"default",A=E?.[j]||eS[j];void 0===A&&(k?.("003",s.xc.error003(j)),j="default",A=E?.default||eS.default);let O=!!(M.draggable||g&&void 0===M.draggable),I=!!(M.selectable||f&&void 0===M.selectable),R=!!(M.connectable||m&&void 0===M.connectable),_=!!(M.focusable||y&&void 0===M.focusable),L=h(),z=(0,s.QE)(M),B=function({node:e,nodeType:t,hasDimensions:n,resizeObserver:o}){let r=h(),a=(0,i.useRef)(null),l=(0,i.useRef)(null),s=(0,i.useRef)(e.sourcePosition),d=(0,i.useRef)(e.targetPosition),c=(0,i.useRef)(t),u=n&&!!e.internals.handleBounds;return(0,i.useEffect)(()=>{!a.current||e.hidden||u&&l.current===a.current||(l.current&&o?.unobserve(l.current),o?.observe(a.current),l.current=a.current)},[u,e.hidden]),(0,i.useEffect)(()=>()=>{l.current&&(o?.unobserve(l.current),l.current=null)},[]),(0,i.useEffect)(()=>{if(a.current){let n=c.current!==t,o=s.current!==e.sourcePosition,i=d.current!==e.targetPosition;(n||o||i)&&(c.current=t,s.current=e.sourcePosition,d.current=e.targetPosition,r.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),a}({node:M,nodeType:j,hasDimensions:z,resizeObserver:x}),V=ep({nodeRef:B,disabled:M.hidden||!O,noDragClassName:v,handleSelector:M.dragHandle,nodeId:e,isSelectable:I,nodeClickDistance:N}),$=eh();if(M.hidden)return null;let H=(0,s.uD)(M),F=void 0===M.internals.handleBounds?{width:M.width??M.initialWidth??M.style?.width,height:M.height??M.initialHeight??M.style?.height}:{width:M.width??M.style?.width,height:M.height??M.style?.height},T=I||O||t||n||o||r,Z=n?e=>n(e,{...P.userNode}):void 0,X=o?e=>o(e,{...P.userNode}):void 0,K=r?e=>r(e,{...P.userNode}):void 0,W=d?e=>d(e,{...P.userNode}):void 0,Y=u?e=>u(e,{...P.userNode}):void 0;return(0,a.jsx)("div",{className:(0,l.A)(["react-flow__node",`react-flow__node-${j}`,{[S]:O},M.className,{selected:M.selected,selectable:I,parent:D,draggable:O,dragging:V}]),ref:B,style:{zIndex:P.z,transform:`translate(${P.positionAbsolute.x}px,${P.positionAbsolute.y}px)`,pointerEvents:T?"all":"none",visibility:z?"visible":"hidden",...M.style,...F},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:Z,onMouseMove:X,onMouseLeave:K,onContextMenu:W,onClick:n=>{let{selectNodesOnDrag:o,nodeDragThreshold:r}=L.getState();I&&(!o||!O||r>0)&&ef({id:e,store:L,nodeRef:B}),t&&t(n,{...P.userNode})},onDoubleClick:Y,onKeyDown:_?t=>{if(!(0,s.v5)(t.nativeEvent)&&!w){if(s.tn.includes(t.key)&&I)ef({id:e,store:L,unselect:"Escape"===t.key,nodeRef:B});else if(O&&M.selected&&Object.prototype.hasOwnProperty.call(ev,t.key)){t.preventDefault();let{ariaLabelConfig:e}=L.getState();L.setState({ariaLiveMessage:e["node.a11yDescription.ariaLiveMessage"]({direction:t.key.replace("Arrow","").toLowerCase(),x:~~P.positionAbsolute.x,y:~~P.positionAbsolute.y})}),$({direction:ev[t.key],factor:t.shiftKey?4:1})}}}:void 0,tabIndex:_?0:void 0,onFocus:_?()=>{if(w||!B.current?.matches(":focus-visible"))return;let{transform:t,width:n,height:o,autoPanOnNodeFocus:r,setCenter:a}=L.getState();!r||(0,s.U$)(new Map([[e,M]]),{x:0,y:0,width:n,height:o},t,!0).length>0||a(M.position.x+H.width/2,M.position.y+H.height/2,{zoom:t[2]})}:void 0,role:M.ariaRole??(_?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${b}-${C}`,"aria-label":M.ariaLabel,...M.domAttributes,children:(0,a.jsx)(ey,{value:e,children:(0,a.jsx)(A,{id:e,data:M.data,type:j,positionAbsoluteX:P.positionAbsolute.x,positionAbsoluteY:P.positionAbsolute.y,selected:M.selected??!1,selectable:I,draggable:O,deletable:M.deletable??!0,isConnectable:R,sourcePosition:M.sourcePosition,targetPosition:M.targetPosition,dragging:V,dragHandle:M.dragHandle,zIndex:P.z,parentId:M.parentId,...H})})})});let ej=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function eA(e){var t;let{nodesDraggable:n,nodesConnectable:o,nodesFocusable:r,elementsSelectable:l,onError:d}=p(ej,c.x),u=(t=e.onlyRenderVisibleElements,p((0,i.useCallback)(e=>t?(0,s.U$)(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(e=>e.id):Array.from(e.nodeLookup.keys()),[t]),c.x)),g=function(){let e=p(eP),[t]=(0,i.useState)(()=>"u"<typeof ResizeObserver?null:new ResizeObserver(t=>{let n=new Map;t.forEach(e=>{let t=e.target.getAttribute("data-id");n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return(0,i.useEffect)(()=>()=>{t?.disconnect()},[t]),t}();return(0,a.jsx)("div",{className:"react-flow__nodes",style:ea,children:u.map(t=>(0,a.jsx)(eD,{id:t,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:g,nodesDraggable:n,nodesConnectable:o,nodesFocusable:r,elementsSelectable:l,nodeClickDistance:e.nodeClickDistance,onError:d},t))})}eA.displayName="NodeRenderer";let eO=(0,i.memo)(eA),eI={[s.TG.Arrow]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e}};return(0,a.jsx)("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[s.TG.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,a.jsx)("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},eR=({id:e,type:t,color:n,width:o=12.5,height:r=12.5,markerUnits:l="strokeWidth",strokeWidth:d,orient:c="auto-start-reverse"})=>{let u,g=(u=h(),(0,i.useMemo)(()=>Object.prototype.hasOwnProperty.call(eI,t)?eI[t]:(u.getState().onError?.("009",s.xc.error009(t)),null),[t]));return g?(0,a.jsx)("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:l,orient:c,refX:"0",refY:"0",children:(0,a.jsx)(g,{color:n,strokeWidth:d})}):null},e_=({defaultColor:e,rfId:t})=>{let n=p(e=>e.edges),o=p(e=>e.defaultEdgeOptions),r=(0,i.useMemo)(()=>(0,s.Hm)(n,{id:t,defaultColor:e,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[n,o,t,e]);return r.length?(0,a.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,a.jsx)("defs",{children:r.map(e=>(0,a.jsx)(eR,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})}):null};e_.displayName="MarkerDefinitions";var eL=(0,i.memo)(e_);function ez({x:e,y:t,label:n,labelStyle:o,labelShowBg:r=!0,labelBgStyle:s,labelBgPadding:d=[2,4],labelBgBorderRadius:c=2,children:u,className:g,...f}){let[p,h]=(0,i.useState)({x:1,y:0,width:0,height:0}),m=(0,l.A)(["react-flow__edge-textwrapper",g]),y=(0,i.useRef)(null);return((0,i.useEffect)(()=>{if(y.current){let e=y.current.getBBox();h({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n)?(0,a.jsxs)("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:m,visibility:p.width?"visible":"hidden",...f,children:[r&&(0,a.jsx)("rect",{width:p.width+2*d[0],x:-d[0],y:-d[1],height:p.height+2*d[1],className:"react-flow__edge-textbg",style:s,rx:c,ry:c}),(0,a.jsx)("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:y,style:o,children:n}),u]}):null}ez.displayName="EdgeText";let eB=(0,i.memo)(ez);function eV({path:e,labelX:t,labelY:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:d,labelBgPadding:c,labelBgBorderRadius:u,interactionWidth:g=20,...f}){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("path",{...f,d:e,fill:"none",className:(0,l.A)(["react-flow__edge-path",f.className])}),g?(0,a.jsx)("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:g,className:"react-flow__edge-interaction"}):null,o&&(0,s.kf)(t)&&(0,s.kf)(n)?(0,a.jsx)(eB,{x:t,y:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:d,labelBgPadding:c,labelBgBorderRadius:u}):null]})}function e$({pos:e,x1:t,y1:n,x2:o,y2:r}){return e===s.yX.Left||e===s.yX.Right?[.5*(t+o),n]:[t,.5*(n+r)]}function eH({sourceX:e,sourceY:t,sourcePosition:n=s.yX.Bottom,targetX:o,targetY:r,targetPosition:a=s.yX.Top}){let[i,l]=e$({pos:n,x1:e,y1:t,x2:o,y2:r}),[d,c]=e$({pos:a,x1:o,y1:r,x2:e,y2:t}),[u,g,f,p]=(0,s.e_)({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:i,sourceControlY:l,targetControlX:d,targetControlY:c});return[`M${e},${t} C${i},${l} ${d},${c} ${o},${r}`,u,g,f,p]}function eF(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,sourcePosition:l,targetPosition:s,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:m,markerStart:y,interactionWidth:b})=>{let[x,v,S]=eH({sourceX:n,sourceY:o,sourcePosition:l,targetX:r,targetY:i,targetPosition:s}),w=e.isInternal?void 0:t;return(0,a.jsx)(eV,{id:w,path:x,labelX:v,labelY:S,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:m,markerStart:y,interactionWidth:b})})}let eT=eF({isInternal:!1}),eZ=eF({isInternal:!0});function eX(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,sourcePosition:h=s.yX.Bottom,targetPosition:m=s.yX.Top,markerEnd:y,markerStart:b,pathOptions:x,interactionWidth:v})=>{let[S,w,C]=(0,s.oN)({sourceX:n,sourceY:o,sourcePosition:h,targetX:r,targetY:i,targetPosition:m,borderRadius:x?.borderRadius,offset:x?.offset,stepPosition:x?.stepPosition}),E=e.isInternal?void 0:t;return(0,a.jsx)(eV,{id:E,path:S,labelX:w,labelY:C,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,markerEnd:y,markerStart:b,interactionWidth:v})})}eT.displayName="SimpleBezierEdge",eZ.displayName="SimpleBezierEdgeInternal";let eK=eX({isInternal:!1}),eW=eX({isInternal:!0});function eY(e){return(0,i.memo)(({id:t,...n})=>{let o=e.isInternal?void 0:t;return(0,a.jsx)(eK,{...n,id:o,pathOptions:(0,i.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}eK.displayName="SmoothStepEdge",eW.displayName="SmoothStepEdgeInternal";let eQ=eY({isInternal:!1}),eU=eY({isInternal:!0});function eq(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,markerEnd:h,markerStart:m,interactionWidth:y})=>{let[b,x,v]=(0,s.ah)({sourceX:n,sourceY:o,targetX:r,targetY:i}),S=e.isInternal?void 0:t;return(0,a.jsx)(eV,{id:S,path:b,labelX:x,labelY:v,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,markerEnd:h,markerStart:m,interactionWidth:y})})}eQ.displayName="StepEdge",eU.displayName="StepEdgeInternal";let eG=eq({isInternal:!1}),eJ=eq({isInternal:!0});function e0(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,sourcePosition:l=s.yX.Bottom,targetPosition:d=s.yX.Top,label:c,labelStyle:u,labelShowBg:g,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:h,style:m,markerEnd:y,markerStart:b,pathOptions:x,interactionWidth:v})=>{let[S,w,C]=(0,s.Fp)({sourceX:n,sourceY:o,sourcePosition:l,targetX:r,targetY:i,targetPosition:d,curvature:x?.curvature}),E=e.isInternal?void 0:t;return(0,a.jsx)(eV,{id:E,path:S,labelX:w,labelY:C,label:c,labelStyle:u,labelShowBg:g,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:h,style:m,markerEnd:y,markerStart:b,interactionWidth:v})})}eG.displayName="StraightEdge",eJ.displayName="StraightEdgeInternal";let e1=e0({isInternal:!1}),e3=e0({isInternal:!0});e1.displayName="BezierEdge",e3.displayName="BezierEdgeInternal";let e2={default:e3,straight:eJ,step:eU,smoothstep:eW,simplebezier:eZ},e4={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},e5="react-flow__edgeupdater";function e6({position:e,centerX:t,centerY:n,radius:o=10,onMouseDown:r,onMouseEnter:i,onMouseOut:d,type:c}){return(0,a.jsx)("circle",{onMouseDown:r,onMouseEnter:i,onMouseOut:d,className:(0,l.A)([e5,`${e5}-${c}`]),cx:e===s.yX.Left?t-o:e===s.yX.Right?t+o:t,cy:e===s.yX.Top?n-o:e===s.yX.Bottom?n+o:n,r:o,stroke:"transparent",fill:"transparent"})}function e7({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:o,sourceY:r,targetX:i,targetY:l,sourcePosition:d,targetPosition:c,onReconnect:u,onReconnectStart:g,onReconnectEnd:f,setReconnecting:p,setUpdateHover:m}){let y=h(),b=(e,t)=>{if(0!==e.button)return;let{autoPanOnConnect:o,domNode:r,connectionMode:a,connectionRadius:i,lib:l,onConnectStart:d,cancelConnection:c,nodeLookup:h,rfId:m,panBy:b,updateConnection:x}=y.getState(),v="target"===t.type;s.aQ.onPointerDown(e.nativeEvent,{autoPanOnConnect:o,connectionMode:a,connectionRadius:i,domNode:r,handleId:t.id,nodeId:t.nodeId,nodeLookup:h,isTarget:v,edgeUpdaterType:t.type,lib:l,flowId:m,cancelConnection:c,panBy:b,isValidConnection:(...e)=>y.getState().isValidConnection?.(...e)??!0,onConnect:e=>u?.(n,e),onConnectStart:(o,r)=>{p(!0),g?.(e,n,t.type),d?.(o,r)},onConnectEnd:(...e)=>y.getState().onConnectEnd?.(...e),onReconnectEnd:(e,o)=>{p(!1),f?.(e,n,t.type,o)},updateConnection:x,getTransform:()=>y.getState().transform,getFromHandle:()=>y.getState().connection.fromHandle,dragThreshold:y.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},x=()=>m(!0),v=()=>m(!1);return(0,a.jsxs)(a.Fragment,{children:[(!0===e||"source"===e)&&(0,a.jsx)(e6,{position:d,centerX:o,centerY:r,radius:t,onMouseDown:e=>b(e,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),onMouseEnter:x,onMouseOut:v,type:"source"}),(!0===e||"target"===e)&&(0,a.jsx)(e6,{position:c,centerX:i,centerY:l,radius:t,onMouseDown:e=>b(e,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),onMouseEnter:x,onMouseOut:v,type:"target"})]})}var e8=(0,i.memo)(function({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:o,onClick:r,onDoubleClick:d,onContextMenu:u,onMouseEnter:g,onMouseMove:f,onMouseLeave:m,reconnectRadius:y,onReconnect:b,onReconnectStart:v,onReconnectEnd:S,rfId:w,edgeTypes:C,noPanClassName:E,onError:N,disableKeyboardA11y:k}){let M=p(t=>t.edgeLookup.get(e)),P=p(e=>e.defaultEdgeOptions),D=(M=P?{...P,...M}:M).type||"default",j=C?.[D]||e2[D];void 0===j&&(N?.("011",s.xc.error011(D)),D="default",j=C?.default||e2.default);let A=!!(M.focusable||t&&void 0===M.focusable),O=void 0!==b&&(M.reconnectable||n&&void 0===M.reconnectable),I=!!(M.selectable||o&&void 0===M.selectable),R=(0,i.useRef)(null),[_,L]=(0,i.useState)(!1),[z,B]=(0,i.useState)(!1),V=h(),{zIndex:$,sourceX:H,sourceY:F,targetX:T,targetY:Z,sourcePosition:X,targetPosition:K}=p((0,i.useCallback)(t=>{let n=t.nodeLookup.get(M.source),o=t.nodeLookup.get(M.target);if(!n||!o)return{zIndex:M.zIndex,...e4};let r=(0,s.b5)({id:e,sourceNode:n,targetNode:o,sourceHandle:M.sourceHandle||null,targetHandle:M.targetHandle||null,connectionMode:t.connectionMode,onError:N});return{zIndex:(0,s.qX)({selected:M.selected,zIndex:M.zIndex,sourceNode:n,targetNode:o,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode}),...r||e4}},[M.source,M.target,M.sourceHandle,M.targetHandle,M.selected,M.zIndex]),c.x),W=(0,i.useMemo)(()=>M.markerStart?`url('#${(0,s.aW)(M.markerStart,w)}')`:void 0,[M.markerStart,w]),Y=(0,i.useMemo)(()=>M.markerEnd?`url('#${(0,s.aW)(M.markerEnd,w)}')`:void 0,[M.markerEnd,w]);if(M.hidden||null===H||null===F||null===T||null===Z)return null;let Q=d?e=>{d(e,{...M})}:void 0,U=u?e=>{u(e,{...M})}:void 0,q=g?e=>{g(e,{...M})}:void 0,G=f?e=>{f(e,{...M})}:void 0,J=m?e=>{m(e,{...M})}:void 0;return(0,a.jsx)("svg",{style:{zIndex:$},children:(0,a.jsxs)("g",{className:(0,l.A)(["react-flow__edge",`react-flow__edge-${D}`,M.className,E,{selected:M.selected,animated:M.animated,inactive:!I&&!r,updating:_,selectable:I}]),onClick:t=>{let{addSelectedEdges:n,unselectNodesAndEdges:o,multiSelectionActive:a}=V.getState();I&&(V.setState({nodesSelectionActive:!1}),M.selected&&a?(o({nodes:[],edges:[M]}),R.current?.blur()):n([e])),r&&r(t,M)},onDoubleClick:Q,onContextMenu:U,onMouseEnter:q,onMouseMove:G,onMouseLeave:J,onKeyDown:A?t=>{if(!k&&s.tn.includes(t.key)&&I){let{unselectNodesAndEdges:n,addSelectedEdges:o}=V.getState();"Escape"===t.key?(R.current?.blur(),n({edges:[M]})):o([e])}}:void 0,tabIndex:A?0:void 0,role:M.ariaRole??(A?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":null===M.ariaLabel?void 0:M.ariaLabel||`Edge from ${M.source} to ${M.target}`,"aria-describedby":A?`${x}-${w}`:void 0,ref:R,...M.domAttributes,children:[!z&&(0,a.jsx)(j,{id:e,source:M.source,target:M.target,type:M.type,selected:M.selected,animated:M.animated,selectable:I,deletable:M.deletable??!0,label:M.label,labelStyle:M.labelStyle,labelShowBg:M.labelShowBg,labelBgStyle:M.labelBgStyle,labelBgPadding:M.labelBgPadding,labelBgBorderRadius:M.labelBgBorderRadius,sourceX:H,sourceY:F,targetX:T,targetY:Z,sourcePosition:X,targetPosition:K,data:M.data,style:M.style,sourceHandleId:M.sourceHandle,targetHandleId:M.targetHandle,markerStart:W,markerEnd:Y,pathOptions:"pathOptions"in M?M.pathOptions:void 0,interactionWidth:M.interactionWidth}),O&&(0,a.jsx)(e7,{edge:M,isReconnectable:O,reconnectRadius:y,onReconnect:b,onReconnectStart:v,onReconnectEnd:S,sourceX:H,sourceY:F,targetX:T,targetY:Z,sourcePosition:X,targetPosition:K,setUpdateHover:L,setReconnecting:B})]})})});let e9=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function te({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:o,noPanClassName:r,onReconnect:l,onEdgeContextMenu:d,onEdgeMouseEnter:u,onEdgeMouseMove:g,onEdgeMouseLeave:f,onEdgeClick:h,reconnectRadius:m,onEdgeDoubleClick:y,onReconnectStart:b,onReconnectEnd:x,disableKeyboardA11y:v}){let{edgesFocusable:S,edgesReconnectable:w,elementsSelectable:C,onError:E}=p(e9,c.x),N=p((0,i.useCallback)(e=>{if(!t)return e.edges.map(e=>e.id);let n=[];if(e.width&&e.height)for(let t of e.edges){let o=e.nodeLookup.get(t.source),r=e.nodeLookup.get(t.target);o&&r&&(0,s.uj)({sourceNode:o,targetNode:r,width:e.width,height:e.height,transform:e.transform})&&n.push(t.id)}return n},[t]),c.x);return(0,a.jsxs)("div",{className:"react-flow__edges",children:[(0,a.jsx)(eL,{defaultColor:e,rfId:n}),N.map(e=>(0,a.jsx)(e8,{id:e,edgesFocusable:S,edgesReconnectable:w,elementsSelectable:C,noPanClassName:r,onReconnect:l,onContextMenu:d,onMouseEnter:u,onMouseMove:g,onMouseLeave:f,onClick:h,reconnectRadius:m,onDoubleClick:y,onReconnectStart:b,onReconnectEnd:x,rfId:n,onError:E,edgeTypes:o,disableKeyboardA11y:v},e))]})}te.displayName="EdgeRenderer";let tt=(0,i.memo)(te),tn=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function to({children:e}){let t=p(tn);return(0,a.jsx)("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}let tr=e=>e.panZoom?.syncViewport;function ta(e){return e.connection.inProgress?{...e.connection,to:(0,s.Ff)(e.connection.to,e.transform)}:{...e.connection}}let ti=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function tl({containerStyle:e,style:t,type:n,component:o}){let{nodesConnectable:r,width:i,height:d,isValid:u,inProgress:g}=p(ti,c.x);return i&&r&&g?(0,a.jsx)("svg",{style:e,width:i,height:d,className:"react-flow__connectionline react-flow__container",children:(0,a.jsx)("g",{className:(0,l.A)(["react-flow__connection",(0,s.HF)(u)]),children:(0,a.jsx)(ts,{style:t,type:n,CustomComponent:o,isValid:u})})}):null}let ts=({style:e,type:t=s.Do.Bezier,CustomComponent:n,isValid:o})=>{let{inProgress:r,from:i,fromNode:l,fromHandle:d,fromPosition:u,to:g,toNode:f,toHandle:h,toPosition:m,pointer:y}=p(ta,c.x);if(!r)return;if(n)return(0,a.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:l,fromHandle:d,fromX:i.x,fromY:i.y,toX:g.x,toY:g.y,fromPosition:u,toPosition:m,connectionStatus:(0,s.HF)(o),toNode:f,toHandle:h,pointer:y});let b="",x={sourceX:i.x,sourceY:i.y,sourcePosition:u,targetX:g.x,targetY:g.y,targetPosition:m};switch(t){case s.Do.Bezier:[b]=(0,s.Fp)(x);break;case s.Do.SimpleBezier:[b]=eH(x);break;case s.Do.Step:[b]=(0,s.oN)({...x,borderRadius:0});break;case s.Do.SmoothStep:[b]=(0,s.oN)(x);break;default:[b]=(0,s.ah)(x)}return(0,a.jsx)("path",{d:b,fill:"none",className:"react-flow__connection-path",style:e})};ts.displayName="ConnectionLine";let td={};function tc(e=td){(0,i.useRef)(e),h(),(0,i.useEffect)(()=>{},[e])}function tu({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:o,onEdgeClick:r,onNodeDoubleClick:l,onEdgeDoubleClick:s,onNodeMouseEnter:d,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:g,onSelectionContextMenu:f,onSelectionStart:m,onSelectionEnd:y,connectionLineType:b,connectionLineStyle:x,connectionLineComponent:v,connectionLineContainerStyle:S,selectionKeyCode:w,selectionOnDrag:C,selectionMode:E,multiSelectionKeyCode:N,panActivationKeyCode:k,zoomActivationKeyCode:M,deleteKeyCode:P,onlyRenderVisibleElements:D,elementsSelectable:j,defaultViewport:A,translateExtent:O,minZoom:I,maxZoom:R,preventScrolling:_,defaultMarkerColor:L,zoomOnScroll:z,zoomOnPinch:B,panOnScroll:V,panOnScrollSpeed:$,panOnScrollMode:H,zoomOnDoubleClick:F,panOnDrag:T,autoPanOnSelection:Z,onPaneClick:X,onPaneMouseEnter:K,onPaneMouseMove:W,onPaneMouseLeave:Y,onPaneScroll:Q,onPaneContextMenu:U,paneClickDistance:q,nodeClickDistance:G,onEdgeContextMenu:J,onEdgeMouseEnter:ee,onEdgeMouseMove:et,onEdgeMouseLeave:eo,reconnectRadius:er,onReconnect:ea,onReconnectStart:ei,onReconnectEnd:el,noDragClassName:es,noWheelClassName:ed,noPanClassName:ec,disableKeyboardA11y:eu,nodeExtent:eg,rfId:ef,viewport:ep,onViewportChange:eh}){let em,ey,eb,ex;return tc(e),tc(t),h(),(0,i.useRef)(!1),(0,i.useEffect)(()=>{},[]),em=en(),ey=(0,i.useRef)(!1),(0,i.useEffect)(()=>{!ey.current&&em.viewportInitialized&&n&&(setTimeout(()=>n(em),1),ey.current=!0)},[n,em.viewportInitialized]),eb=p(tr),ex=h(),(0,i.useEffect)(()=>{ep&&(eb?.(ep),ex.setState({transform:[ep.x,ep.y,ep.zoom]}))},[ep,eb]),(0,a.jsx)(eM,{onPaneClick:X,onPaneMouseEnter:K,onPaneMouseMove:W,onPaneMouseLeave:Y,onPaneContextMenu:U,onPaneScroll:Q,paneClickDistance:q,deleteKeyCode:P,selectionKeyCode:w,selectionOnDrag:C,selectionMode:E,onSelectionStart:m,onSelectionEnd:y,multiSelectionKeyCode:N,panActivationKeyCode:k,zoomActivationKeyCode:M,elementsSelectable:j,zoomOnScroll:z,zoomOnPinch:B,zoomOnDoubleClick:F,panOnScroll:V,panOnScrollSpeed:$,panOnScrollMode:H,panOnDrag:T,autoPanOnSelection:Z,defaultViewport:A,translateExtent:O,minZoom:I,maxZoom:R,onSelectionContextMenu:f,preventScrolling:_,noDragClassName:es,noWheelClassName:ed,noPanClassName:ec,disableKeyboardA11y:eu,onViewportChange:eh,isControlledViewport:!!ep,children:(0,a.jsxs)(to,{children:[(0,a.jsx)(tt,{edgeTypes:t,onEdgeClick:r,onEdgeDoubleClick:s,onReconnect:ea,onReconnectStart:ei,onReconnectEnd:el,onlyRenderVisibleElements:D,onEdgeContextMenu:J,onEdgeMouseEnter:ee,onEdgeMouseMove:et,onEdgeMouseLeave:eo,reconnectRadius:er,defaultMarkerColor:L,noPanClassName:ec,disableKeyboardA11y:eu,rfId:ef}),(0,a.jsx)(tl,{style:x,type:b,component:v,containerStyle:S}),(0,a.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,a.jsx)(eO,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:g,nodeClickDistance:G,onlyRenderVisibleElements:D,noPanClassName:ec,noDragClassName:es,disableKeyboardA11y:eu,nodeExtent:eg,rfId:ef}),(0,a.jsx)("div",{className:"react-flow__viewport-portal"})]})})}tu.displayName="GraphView";let tg=(0,i.memo)(tu),tf=(0,s.kr)("React Flow","https://reactflow.dev/"),tp=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:a,fitView:i,fitViewOptions:l,minZoom:d=.5,maxZoom:c=2,nodeOrigin:u,nodeExtent:g,zIndexMode:f="basic"}={})=>{let p=new Map,h=new Map,m=new Map,y=new Map,b=o??t??[],x=n??e??[],v=u??[0,0],S=g??s.ZO;(0,s.qn)(m,y,b);let{nodesInitialized:w}=(0,s.bi)(x,p,h,{nodeOrigin:v,nodeExtent:S,zIndexMode:f}),C=[0,0,1];if(i&&r&&a){let e=(0,s.aZ)(p,{filter:e=>!!((e.width||e.initialWidth)&&(e.height||e.initialHeight))}),{x:t,y:n,zoom:o}=(0,s.R4)(e,r,a,d,c,l?.padding??.1);C=[t,n,o]}return{rfId:"1",width:r??0,height:a??0,transform:C,nodes:x,nodesInitialized:w,nodeLookup:p,parentLookup:h,edges:b,edgeLookup:y,connectionLookup:m,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==n,hasDefaultEdges:void 0!==o,panZoom:null,minZoom:d,maxZoom:c,translateExtent:s.ZO,nodeExtent:S,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:s.WZ.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:v,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:i??!1,fitViewOptions:l,fitViewResolver:null,connection:{...s.bK},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:tf,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:s.tM,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}};function th({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:o,initialWidth:r,initialHeight:l,initialMinZoom:c,initialMaxZoom:u,initialFitViewOptions:f,fitView:p,nodeOrigin:h,nodeExtent:m,zIndexMode:y,children:b}){let[x]=(0,i.useState)(()=>(({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:a,fitView:i,fitViewOptions:l,minZoom:c,maxZoom:u,nodeOrigin:g,nodeExtent:f,zIndexMode:p})=>(0,d.h)((d,h)=>{async function m(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:o,width:r,height:a,minZoom:i,maxZoom:l}=h();t&&(await (0,s.IO)({nodes:e,width:r,height:a,panZoom:t,minZoom:i,maxZoom:l},n),o?.resolve(!0),d({fitViewResolver:null}))}return{...tp({nodes:e,edges:t,width:r,height:a,fitView:i,fitViewOptions:l,minZoom:c,maxZoom:u,nodeOrigin:g,nodeExtent:f,defaultNodes:n,defaultEdges:o,zIndexMode:p}),setNodes:e=>{let{nodeLookup:t,parentLookup:n,nodeOrigin:o,elevateNodesOnSelect:r,fitViewQueued:a,zIndexMode:i,nodesSelectionActive:l}=h(),{nodesInitialized:c,hasSelectedNodes:u}=(0,s.bi)(e,t,n,{nodeOrigin:o,nodeExtent:f,elevateNodesOnSelect:r,checkEquality:!0,zIndexMode:i}),g=l&&u;a&&c?(m(),d({nodes:e,nodesInitialized:c,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:g})):d({nodes:e,nodesInitialized:c,nodesSelectionActive:g})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=h();(0,s.qn)(t,n,e),d({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=h();t(e),d({hasDefaultNodes:!0})}if(t){let{setEdges:e}=h();e(t),d({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:o,domNode:r,nodeOrigin:a,nodeExtent:i,debug:l,fitViewQueued:c,zIndexMode:u}=h(),{changes:g,updatedInternals:f}=(0,s.uL)(e,n,o,r,a,i,u);f&&((0,s.vS)(n,o,{nodeOrigin:a,nodeExtent:i,zIndexMode:u}),c?(m(),d({fitViewQueued:!1,fitViewOptions:void 0})):d({}),g?.length>0&&(l&&console.log("React Flow: trigger node changes",g),t?.(g)))},updateNodePositions:(e,t=!1)=>{let n=[],o=[],{nodeLookup:r,triggerNodeChanges:a,connection:i,updateConnection:l,onNodesChangeMiddlewareMap:d}=h();for(let[a,d]of e){let e=r.get(a),c=!!(e?.expandParent&&e?.parentId&&d?.position),u={id:a,type:"position",position:c?{x:Math.max(0,d.position.x),y:Math.max(0,d.position.y)}:d.position,dragging:t};if(e&&i.inProgress&&i.fromNode.id===e.id){let t=(0,s.M_)(e,i.fromHandle,s.yX.Left,!0);l({...i,from:t})}c&&e.parentId&&n.push({id:a,parentId:e.parentId,rect:{...d.internals.positionAbsolute,width:d.measured.width??0,height:d.measured.height??0}}),o.push(u)}if(n.length>0){let{parentLookup:e,nodeOrigin:t}=h(),a=(0,s.r8)(n,r,e,t);o.push(...a)}for(let e of d.values())o=e(o);a(o)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:o,hasDefaultNodes:r,debug:a}=h();e?.length&&(r&&n(T(e,o)),a&&console.log("React Flow: trigger node changes",e),t?.(e))},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:o,hasDefaultEdges:r,debug:a}=h();e?.length&&(r&&n(T(e,o)),a&&console.log("React Flow: trigger edge changes",e),t?.(e))},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:r,triggerEdgeChanges:a}=h();t?r(e.map(e=>Z(e,!0))):(r(X(o,new Set([...e]),!0)),a(X(n)))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:r,triggerEdgeChanges:a}=h();t?a(e.map(e=>Z(e,!0))):(a(X(n,new Set([...e]))),r(X(o,new Set,!0)))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{let{edges:n,nodes:o,nodeLookup:r,triggerNodeChanges:a,triggerEdgeChanges:i}=h(),l=[];for(let t of e||o){if(!t.selected)continue;let e=r.get(t.id);e&&(e.selected=!1),l.push(Z(t.id,!1))}let s=[];for(let e of t||n)e.selected&&s.push(Z(e.id,!1));a(l),i(s)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=h();t?.setScaleExtent([e,n]),d({minZoom:e})},setMaxZoom:e=>{let{panZoom:t,minZoom:n}=h();t?.setScaleExtent([n,e]),d({maxZoom:e})},setTranslateExtent:e=>{h().panZoom?.setTranslateExtent(e),d({translateExtent:e})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:o,elementsSelectable:r}=h();if(!r)return;let a=t.reduce((e,t)=>t.selected?[...e,Z(t.id,!1)]:e,[]),i=e.reduce((e,t)=>t.selected?[...e,Z(t.id,!1)]:e,[]);n(a),o(i)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:o,nodeOrigin:r,elevateNodesOnSelect:a,nodeExtent:i,zIndexMode:l}=h();(e[0][0]!==i[0][0]||e[0][1]!==i[0][1]||e[1][0]!==i[1][0]||e[1][1]!==i[1][1])&&((0,s.bi)(t,n,o,{nodeOrigin:r,nodeExtent:e,elevateNodesOnSelect:a,checkEquality:!1,zIndexMode:l}),d({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:o,panZoom:r,translateExtent:a}=h();return(0,s.No)({delta:e,panZoom:r,transform:t,translateExtent:a,width:n,height:o})},setCenter:async(e,t,n)=>{let{width:o,height:r,maxZoom:a,panZoom:i}=h();if(!i)return!1;let l=void 0!==n?.zoom?n.zoom:a;return await i.setViewport({x:o/2-e*l,y:r/2-t*l,zoom:l},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0},cancelConnection:()=>{d({connection:{...s.bK}})},updateConnection:e=>{d({connection:e})},reset:()=>d({...tp()})}},Object.is))({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:l,fitView:p,minZoom:c,maxZoom:u,fitViewOptions:f,nodeOrigin:h,nodeExtent:m,zIndexMode:y}));return(0,a.jsx)(g,{value:x,children:(0,a.jsx)(ee,{children:b})})}function tm({children:e,nodes:t,edges:n,defaultNodes:o,defaultEdges:r,width:l,height:s,fitView:d,fitViewOptions:c,minZoom:g,maxZoom:f,nodeOrigin:p,nodeExtent:h,zIndexMode:m}){return(0,i.useContext)(u)?(0,a.jsx)(a.Fragment,{children:e}):(0,a.jsx)(th,{initialNodes:t,initialEdges:n,defaultNodes:o,defaultEdges:r,initialWidth:l,initialHeight:s,fitView:d,initialFitViewOptions:c,initialMinZoom:g,initialMaxZoom:f,nodeOrigin:p,nodeExtent:h,zIndexMode:m,children:e})}let ty={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var tb=U(function({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,className:r,nodeTypes:d,edgeTypes:c,onNodeClick:u,onEdgeClick:g,onInit:f,onMove:p,onMoveStart:h,onMoveEnd:m,onConnect:y,onConnectStart:b,onConnectEnd:x,onClickConnectStart:v,onClickConnectEnd:S,onNodeMouseEnter:w,onNodeMouseMove:E,onNodeMouseLeave:k,onNodeContextMenu:M,onNodeDoubleClick:P,onNodeDragStart:D,onNodeDrag:j,onNodeDragStop:R,onNodesDelete:_,onEdgesDelete:L,onDelete:V,onSelectionChange:$,onSelectionDragStart:H,onSelectionDrag:F,onSelectionDragStop:T,onSelectionContextMenu:Z,onSelectionStart:X,onSelectionEnd:K,onBeforeDelete:W,connectionMode:Y,connectionLineType:Q=s.Do.Bezier,connectionLineStyle:U,connectionLineComponent:q,connectionLineContainerStyle:G,deleteKeyCode:J="Backspace",selectionKeyCode:ee="Shift",selectionOnDrag:et=!1,selectionMode:en=s.Qc.Full,panActivationKeyCode:eo="Space",multiSelectionKeyCode:er=(0,s.Ue)()?"Meta":"Control",zoomActivationKeyCode:ea=(0,s.Ue)()?"Meta":"Control",snapToGrid:ei,snapGrid:el,onlyRenderVisibleElements:es=!1,selectNodesOnDrag:ed,nodesDraggable:ec,autoPanOnNodeFocus:eu,nodesConnectable:eg,nodesFocusable:ef,nodeOrigin:ep=O,edgesFocusable:eh,edgesReconnectable:em,elementsSelectable:ey=!0,defaultViewport:eb=I,minZoom:ex=.5,maxZoom:ev=2,translateExtent:eS=s.ZO,preventScrolling:ew=!0,nodeExtent:eC,defaultMarkerColor:eE="#b1b1b7",zoomOnScroll:eN=!0,zoomOnPinch:ek=!0,panOnScroll:eM=!1,panOnScrollSpeed:eP=.5,panOnScrollMode:eD=s.ny.Free,zoomOnDoubleClick:ej=!0,panOnDrag:eA=!0,onPaneClick:eO,onPaneMouseEnter:eI,onPaneMouseMove:eR,onPaneMouseLeave:e_,onPaneScroll:eL,onPaneContextMenu:ez,paneClickDistance:eB=1,nodeClickDistance:eV=0,children:e$,onReconnect:eH,onReconnectStart:eF,onReconnectEnd:eT,onEdgeContextMenu:eZ,onEdgeDoubleClick:eX,onEdgeMouseEnter:eK,onEdgeMouseMove:eW,onEdgeMouseLeave:eY,reconnectRadius:eQ=10,onNodesChange:eU,onEdgesChange:eq,noDragClassName:eG="nodrag",noWheelClassName:eJ="nowheel",noPanClassName:e0="nopan",fitView:e1,fitViewOptions:e3,connectOnClick:e2,attributionPosition:e4,proOptions:e5,defaultEdgeOptions:e6,elevateNodesOnSelect:e7=!0,elevateEdgesOnSelect:e8=!1,disableKeyboardA11y:e9=!1,autoPanOnConnect:te,autoPanOnNodeDrag:tt,autoPanOnSelection:tn=!0,autoPanSpeed:to,connectionRadius:tr,isValidConnection:ta,onError:ti,style:tl,id:ts,nodeDragThreshold:td,connectionDragThreshold:tc,viewport:tu,onViewportChange:tf,width:tp,height:th,colorMode:tb="light",debug:tx,onScroll:tv,ariaLabelConfig:tS,zIndexMode:tw="basic",...tC},tE){let tN=ts||"1",tk=function(e){let[t,n]=(0,i.useState)("system"===e?null:e);return(0,i.useEffect)(()=>{if("system"!==e)return void n(e);let t=B(),o=()=>n(t?.matches?"dark":"light");return o(),t?.addEventListener("change",o),()=>{t?.removeEventListener("change",o)}},[e]),null!==t?t:B()?.matches?"dark":"light"}(tb),tM=(0,i.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),tv?.(e)},[tv]);return(0,a.jsx)("div",{"data-testid":"rf__wrapper",...tC,onScroll:tM,style:{...tl,...ty},ref:tE,className:(0,l.A)(["react-flow",r,tk]),id:ts,role:"application",children:(0,a.jsxs)(tm,{nodes:e,edges:t,width:tp,height:th,fitView:e1,fitViewOptions:e3,minZoom:ex,maxZoom:ev,nodeOrigin:ep,nodeExtent:eC,zIndexMode:tw,children:[(0,a.jsx)(z,{nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:y,onConnectStart:b,onConnectEnd:x,onClickConnectStart:v,onClickConnectEnd:S,nodesDraggable:ec,autoPanOnNodeFocus:eu,nodesConnectable:eg,nodesFocusable:ef,edgesFocusable:eh,edgesReconnectable:em,elementsSelectable:ey,elevateNodesOnSelect:e7,elevateEdgesOnSelect:e8,minZoom:ex,maxZoom:ev,nodeExtent:eC,onNodesChange:eU,onEdgesChange:eq,snapToGrid:ei,snapGrid:el,connectionMode:Y,translateExtent:eS,connectOnClick:e2,defaultEdgeOptions:e6,fitView:e1,fitViewOptions:e3,onNodesDelete:_,onEdgesDelete:L,onDelete:V,onNodeDragStart:D,onNodeDrag:j,onNodeDragStop:R,onSelectionDrag:F,onSelectionDragStart:H,onSelectionDragStop:T,onMove:p,onMoveStart:h,onMoveEnd:m,noPanClassName:e0,nodeOrigin:ep,rfId:tN,autoPanOnConnect:te,autoPanOnNodeDrag:tt,autoPanSpeed:to,onError:ti,connectionRadius:tr,isValidConnection:ta,selectNodesOnDrag:ed,nodeDragThreshold:td,connectionDragThreshold:tc,onBeforeDelete:W,debug:tx,ariaLabelConfig:tS,zIndexMode:tw}),(0,a.jsx)(tg,{onInit:f,onNodeClick:u,onEdgeClick:g,onNodeMouseEnter:w,onNodeMouseMove:E,onNodeMouseLeave:k,onNodeContextMenu:M,onNodeDoubleClick:P,nodeTypes:d,edgeTypes:c,connectionLineType:Q,connectionLineStyle:U,connectionLineComponent:q,connectionLineContainerStyle:G,selectionKeyCode:ee,selectionOnDrag:et,selectionMode:en,deleteKeyCode:J,multiSelectionKeyCode:er,panActivationKeyCode:eo,zoomActivationKeyCode:ea,onlyRenderVisibleElements:es,defaultViewport:eb,translateExtent:eS,minZoom:ex,maxZoom:ev,preventScrolling:ew,zoomOnScroll:eN,zoomOnPinch:ek,zoomOnDoubleClick:ej,panOnScroll:eM,panOnScrollSpeed:eP,panOnScrollMode:eD,panOnDrag:eA,autoPanOnSelection:tn,onPaneClick:eO,onPaneMouseEnter:eI,onPaneMouseMove:eR,onPaneMouseLeave:e_,onPaneScroll:eL,onPaneContextMenu:ez,paneClickDistance:eB,nodeClickDistance:eV,onSelectionContextMenu:Z,onSelectionStart:X,onSelectionEnd:K,onReconnect:eH,onReconnectStart:eF,onReconnectEnd:eT,onEdgeContextMenu:eZ,onEdgeDoubleClick:eX,onEdgeMouseEnter:eK,onEdgeMouseMove:eW,onEdgeMouseLeave:eY,reconnectRadius:eQ,defaultMarkerColor:eE,noDragClassName:eG,noWheelClassName:eJ,noPanClassName:e0,rfId:tN,disableKeyboardA11y:e9,nodeExtent:eC,viewport:tu,onViewportChange:tf}),(0,a.jsx)(A,{onSelectionChange:$}),e$,(0,a.jsx)(N,{proOptions:e5,position:e4}),(0,a.jsx)(C,{rfId:tN,disableKeyboardA11y:e9})]})})});function tx(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,a.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function tv(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,a.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function tS(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,a.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function tw(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,a.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function tC(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,a.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function tE({children:e,className:t,...n}){return(0,a.jsx)("button",{type:"button",className:(0,l.A)(["react-flow__controls-button",t]),...n,children:e})}s.xc.error014(),(o=r||(r={})).Lines="lines",o.Dots="dots",o.Cross="cross",r.Dots,r.Lines,r.Cross;let tN=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function tk({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:i,onZoomOut:s,onFitView:d,onInteractiveChange:u,className:g,children:f,position:m="bottom-left",orientation:y="vertical","aria-label":b}){let x=h(),{isInteractive:v,minZoomReached:S,maxZoomReached:w,ariaLabelConfig:C}=p(tN,c.x),{zoomIn:N,zoomOut:k,fitView:M}=en();return(0,a.jsxs)(E,{className:(0,l.A)(["react-flow__controls","horizontal"===y?"horizontal":"vertical",g]),position:m,style:e,"data-testid":"rf__controls","aria-label":b??C["controls.ariaLabel"],children:[t&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(tE,{onClick:()=>{N(),i?.()},className:"react-flow__controls-zoomin",title:C["controls.zoomIn.ariaLabel"],"aria-label":C["controls.zoomIn.ariaLabel"],disabled:w,children:(0,a.jsx)(tx,{})}),(0,a.jsx)(tE,{onClick:()=>{k(),s?.()},className:"react-flow__controls-zoomout",title:C["controls.zoomOut.ariaLabel"],"aria-label":C["controls.zoomOut.ariaLabel"],disabled:S,children:(0,a.jsx)(tv,{})})]}),n&&(0,a.jsx)(tE,{className:"react-flow__controls-fitview",onClick:()=>{M(r),d?.()},title:C["controls.fitView.ariaLabel"],"aria-label":C["controls.fitView.ariaLabel"],children:(0,a.jsx)(tS,{})}),o&&(0,a.jsx)(tE,{className:"react-flow__controls-interactive",onClick:()=>{x.setState({nodesDraggable:!v,nodesConnectable:!v,elementsSelectable:!v}),u?.(!v)},title:C["controls.interactive.ariaLabel"],"aria-label":C["controls.interactive.ariaLabel"],children:v?(0,a.jsx)(tC,{}):(0,a.jsx)(tw,{})}),f]})}tk.displayName="Controls";let tM=(0,i.memo)(tk),tP=(0,i.memo)(function({id:e,x:t,y:n,width:o,height:r,style:i,color:s,strokeColor:d,strokeWidth:c,className:u,borderRadius:g,shapeRendering:f,selected:p,onClick:h}){let{background:m,backgroundColor:y}=i||{};return(0,a.jsx)("rect",{className:(0,l.A)(["react-flow__minimap-node",{selected:p},u]),x:t,y:n,rx:g,ry:g,width:o,height:r,style:{fill:s||m||y,stroke:d,strokeWidth:c},shapeRendering:f,onClick:h?t=>h(t,e):void 0})}),tD=e=>e.nodes.map(e=>e.id),tj=e=>e instanceof Function?e:()=>e,tA=(0,i.memo)(function({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:o,nodeBorderRadius:r,nodeStrokeWidth:i,shapeRendering:l,NodeComponent:d,onClick:u}){let{node:g,x:f,y:h,width:m,height:y}=p(t=>{let n=t.nodeLookup.get(e);if(!n)return{node:void 0,x:0,y:0,width:0,height:0};let o=n.internals.userNode,{x:r,y:a}=n.internals.positionAbsolute,{width:i,height:l}=(0,s.uD)(o);return{node:o,x:r,y:a,width:i,height:l}},c.x);return g&&!g.hidden&&(0,s.QE)(g)?(0,a.jsx)(d,{x:f,y:h,width:m,height:y,style:g.style,selected:!!g.selected,className:o(g),color:t(g),borderRadius:r,strokeColor:n(g),strokeWidth:i,shapeRendering:l,onClick:u,id:g.id}):null});s.xN.Line,s.xN.Handle}}]);