@rabbi696/ezrouter 0.6.7 → 0.6.9

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 (960) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +6 -6
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/required-server-files.json +2 -1
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/convoy/page.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/convoy/page.js.nft.json +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/convoy/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/keys/page.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/keys/page.js.nft.json +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/keys/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/page.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/servers/page.js +2 -2
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/servers/page.js.nft.json +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/servers/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +3 -3
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +5 -5
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-health/page.js +2 -2
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-health/page.js.nft.json +1 -1
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-health/page_client-reference-manifest.js +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  85. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  86. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  87. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  88. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  89. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  90. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  91. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  92. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  94. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  95. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  96. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  97. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  98. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  99. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  100. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  101. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  102. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  103. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  105. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  106. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  107. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  108. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  109. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  110. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  111. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  112. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  113. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  116. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  124. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
  126. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
  132. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/changelog/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli/providers/codex/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/cli/providers/codex/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/codex-native/models/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/codex-native/models/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/codex-native/readiness/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/codex-native/readiness/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/combos/export/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/combos/export/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/combos/import/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/combos/import/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/combos/test/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/combos/test/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/convoy/rules/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/internal/codex-native/lease/[action]/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/internal/codex-native/lease/[action]/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/mcp-gateway/instances/[id]/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/mcp-gateway/instances/[id]/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/mcp-gateway/instances/[id]/test/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/mcp-gateway/instances/[id]/test/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/mcp-gateway/instances/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/mcp-gateway/instances/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/mcp-gateway/keys/[id]/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/mcp-gateway/keys/[id]/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/mcp-gateway/keys/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/mcp-gateway/keys/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/mcp-gateway/message/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/mcp-gateway/message/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/mcp-gateway/oauth/[id]/[action]/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/mcp-gateway/oauth/[id]/[action]/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/mcp-gateway/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/mcp-gateway/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/mcp-gateway/sse/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/callback/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/oauth/callback/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  265. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  273. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  275. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  277. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  282. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  286. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/providers/[id]/refresh-profile/route.js +1 -1
  292. package/app/.next-cli-build/server/app/api/providers/[id]/refresh-profile/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +1 -1
  314. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/routing-health/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/routing-health/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  337. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  339. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/token-saver/stats/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/token-saver/stats/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/token-saver/stream/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/token-saver/stream/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/tool-disclosure/stats/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  350. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  372. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  376. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/usage/error-logs/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  379. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  380. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  381. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  385. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  386. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  387. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  389. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/usage/stream/route.js +1 -1
  391. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  392. package/app/.next-cli-build/server/app/api/v1/alpha/search/route.js +1 -1
  393. package/app/.next-cli-build/server/app/api/v1/alpha/search/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  395. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  397. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  398. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  399. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  401. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  403. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  404. package/app/.next-cli-build/server/app/api/v1/codex/alpha/search/route.js +1 -1
  405. package/app/.next-cli-build/server/app/api/v1/codex/alpha/search/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/v1/codex/images/edits/route.js +1 -1
  407. package/app/.next-cli-build/server/app/api/v1/codex/images/edits/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/api/v1/codex/images/generations/route.js +1 -1
  409. package/app/.next-cli-build/server/app/api/v1/codex/images/generations/route.js.nft.json +1 -1
  410. package/app/.next-cli-build/server/app/api/v1/codex/memories/trace_summarize/route.js +1 -1
  411. package/app/.next-cli-build/server/app/api/v1/codex/memories/trace_summarize/route.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/api/v1/codex/models/route.js +1 -1
  413. package/app/.next-cli-build/server/app/api/v1/codex/models/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/api/v1/codex/responses/compact/route.js +1 -1
  415. package/app/.next-cli-build/server/app/api/v1/codex/responses/compact/route.js.nft.json +1 -1
  416. package/app/.next-cli-build/server/app/api/v1/codex/responses/route.js +1 -1
  417. package/app/.next-cli-build/server/app/api/v1/codex/responses/route.js.nft.json +1 -1
  418. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  419. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +3 -3
  421. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  422. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  423. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  424. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  425. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
  426. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
  427. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  428. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  429. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  430. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  431. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  432. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  433. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  434. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  435. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  436. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  437. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  438. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  439. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  440. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  441. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  442. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  443. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  444. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  445. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  446. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  447. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  448. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  449. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  450. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  451. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  452. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  453. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  454. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  455. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  456. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  457. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  458. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  459. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  460. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  461. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  462. package/app/.next-cli-build/server/app/callback.html +1 -1
  463. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  464. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  465. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  466. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  467. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  468. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  469. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  470. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  471. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  472. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  473. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  474. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  475. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  476. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  477. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  478. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  479. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  480. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  481. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  482. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  483. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  484. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  485. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  486. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  487. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  488. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  489. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  490. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  491. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  492. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  493. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  494. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  495. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  496. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  497. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  498. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  499. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  500. package/app/.next-cli-build/server/app/dashboard/convoy.html +1 -1
  501. package/app/.next-cli-build/server/app/dashboard/convoy.rsc +6 -6
  502. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy/__PAGE__.segment.rsc +2 -2
  503. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy.segment.rsc +1 -1
  504. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  505. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  506. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_full.segment.rsc +6 -6
  507. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_head.segment.rsc +1 -1
  508. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_index.segment.rsc +4 -4
  509. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_tree.segment.rsc +2 -2
  510. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  511. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
  512. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  513. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  514. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  515. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  516. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  517. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  518. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  519. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  520. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.html +1 -1
  521. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.rsc +6 -6
  522. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway/keys/__PAGE__.segment.rsc +2 -2
  523. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway/keys.segment.rsc +1 -1
  524. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway.segment.rsc +1 -1
  525. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  526. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  527. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/_full.segment.rsc +6 -6
  528. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/_head.segment.rsc +1 -1
  529. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/_index.segment.rsc +4 -4
  530. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/_tree.segment.rsc +2 -2
  531. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.html +1 -1
  532. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.rsc +6 -6
  533. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway/servers/__PAGE__.segment.rsc +2 -2
  534. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway/servers.segment.rsc +1 -1
  535. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway.segment.rsc +1 -1
  536. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  537. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  538. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/_full.segment.rsc +6 -6
  539. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/_head.segment.rsc +1 -1
  540. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/_index.segment.rsc +4 -4
  541. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/_tree.segment.rsc +2 -2
  542. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.html +1 -1
  543. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.rsc +6 -6
  544. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway/__PAGE__.segment.rsc +2 -2
  545. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway.segment.rsc +1 -1
  546. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  547. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  548. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/_full.segment.rsc +6 -6
  549. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/_head.segment.rsc +1 -1
  550. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/_index.segment.rsc +4 -4
  551. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/_tree.segment.rsc +2 -2
  552. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  553. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  554. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  555. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  556. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  557. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  558. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  559. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  560. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  561. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  562. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  563. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  564. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  565. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  566. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  567. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  568. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  569. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  570. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  571. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  572. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  573. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  574. package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
  575. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  576. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  577. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  578. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  579. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  580. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  581. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  582. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  583. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  584. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  585. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  586. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  587. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  588. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  589. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  590. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  591. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  592. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  593. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  594. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  595. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  596. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  597. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  598. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  599. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  600. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  601. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  602. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  603. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  604. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  605. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  606. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  607. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  608. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  609. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  610. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  611. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  612. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  613. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  614. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  615. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +6 -6
  616. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  617. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  618. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  619. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  620. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +6 -6
  621. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  622. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +4 -4
  623. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  624. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  625. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  626. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  627. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  628. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  629. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  630. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  631. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  632. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  633. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  634. package/app/.next-cli-build/server/app/dashboard/routing-health.html +1 -1
  635. package/app/.next-cli-build/server/app/dashboard/routing-health.rsc +6 -6
  636. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health/__PAGE__.segment.rsc +2 -2
  637. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health.segment.rsc +1 -1
  638. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  639. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  640. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_full.segment.rsc +6 -6
  641. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_head.segment.rsc +1 -1
  642. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_index.segment.rsc +4 -4
  643. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_tree.segment.rsc +2 -2
  644. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  645. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  646. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  647. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  648. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  649. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  650. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  651. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  652. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  653. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  654. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  655. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  656. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  657. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  658. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  659. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  660. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  661. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  662. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  663. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  664. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  665. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  666. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  667. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  668. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
  669. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  670. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  671. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  672. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  673. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
  674. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  675. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +4 -4
  676. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  677. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  678. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  679. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  680. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  681. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  682. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  683. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  684. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  685. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  686. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  687. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  688. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  689. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  690. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  691. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  692. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  693. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  694. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  695. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  696. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  697. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  698. package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
  699. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  700. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  701. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  702. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
  703. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  704. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  705. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  706. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  707. package/app/.next-cli-build/server/app/index.html +1 -1
  708. package/app/.next-cli-build/server/app/index.rsc +4 -4
  709. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  710. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  711. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  712. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  713. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  714. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  715. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  716. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  717. package/app/.next-cli-build/server/app/landing.html +1 -1
  718. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  719. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  720. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  721. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  722. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  723. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  724. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  725. package/app/.next-cli-build/server/app/login/page.js +1 -1
  726. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  727. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  728. package/app/.next-cli-build/server/app/login.html +1 -1
  729. package/app/.next-cli-build/server/app/login.rsc +5 -5
  730. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  731. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  732. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  733. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  734. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  735. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  736. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  737. package/app/.next-cli-build/server/app/page.js +1 -1
  738. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  739. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  740. package/app/.next-cli-build/server/app-paths-manifest.json +6 -6
  741. package/app/.next-cli-build/server/chunks/1133.js +1 -1
  742. package/app/.next-cli-build/server/chunks/1253.js +1 -1
  743. package/app/.next-cli-build/server/chunks/1273.js +1 -1
  744. package/app/.next-cli-build/server/chunks/1522.js +1 -1
  745. package/app/.next-cli-build/server/chunks/1764.js +225 -0
  746. package/app/.next-cli-build/server/chunks/1847.js +1 -1
  747. package/app/.next-cli-build/server/chunks/2021.js +1 -1
  748. package/app/.next-cli-build/server/chunks/2269.js +1 -1
  749. package/app/.next-cli-build/server/chunks/2348.js +1 -1
  750. package/app/.next-cli-build/server/chunks/2461.js +1 -0
  751. package/app/.next-cli-build/server/chunks/2750.js +1 -31
  752. package/app/.next-cli-build/server/chunks/2898.js +3 -3
  753. package/app/.next-cli-build/server/chunks/3216.js +1 -0
  754. package/app/.next-cli-build/server/chunks/3245.js +1 -1
  755. package/app/.next-cli-build/server/chunks/3252.js +1 -0
  756. package/app/.next-cli-build/server/chunks/3547.js +1 -1
  757. package/app/.next-cli-build/server/chunks/3583.js +2 -2
  758. package/app/.next-cli-build/server/chunks/369.js +25 -25
  759. package/app/.next-cli-build/server/chunks/3814.js +55 -5
  760. package/app/.next-cli-build/server/chunks/3886.js +1 -1
  761. package/app/.next-cli-build/server/chunks/3977.js +2 -2
  762. package/app/.next-cli-build/server/chunks/412.js +3 -3
  763. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  764. package/app/.next-cli-build/server/chunks/4208.js +252 -0
  765. package/app/.next-cli-build/server/chunks/436.js +1 -0
  766. package/app/.next-cli-build/server/chunks/4646.js +1 -1
  767. package/app/.next-cli-build/server/chunks/4807.js +1 -1
  768. package/app/.next-cli-build/server/chunks/4827.js +1 -1
  769. package/app/.next-cli-build/server/chunks/4878.js +1 -1
  770. package/app/.next-cli-build/server/chunks/5130.js +1 -1
  771. package/app/.next-cli-build/server/chunks/5614.js +1 -0
  772. package/app/.next-cli-build/server/chunks/576.js +1 -1
  773. package/app/.next-cli-build/server/chunks/5849.js +1 -1
  774. package/app/.next-cli-build/server/chunks/5875.js +1 -1
  775. package/app/.next-cli-build/server/chunks/5948.js +1 -0
  776. package/app/.next-cli-build/server/chunks/615.js +1 -1
  777. package/app/.next-cli-build/server/chunks/6502.js +28 -0
  778. package/app/.next-cli-build/server/chunks/6816.js +1 -1
  779. package/app/.next-cli-build/server/chunks/6958.js +1 -1
  780. package/app/.next-cli-build/server/chunks/717.js +1 -0
  781. package/app/.next-cli-build/server/chunks/7239.js +3 -3
  782. package/app/.next-cli-build/server/chunks/7353.js +1 -1
  783. package/app/.next-cli-build/server/chunks/7512.js +31 -0
  784. package/app/.next-cli-build/server/chunks/7677.js +1 -1
  785. package/app/.next-cli-build/server/chunks/7716.js +1 -1
  786. package/app/.next-cli-build/server/chunks/7775.js +1 -1
  787. package/app/.next-cli-build/server/chunks/7828.js +1 -1
  788. package/app/.next-cli-build/server/chunks/8129.js +1 -1
  789. package/app/.next-cli-build/server/chunks/823.js +1 -1
  790. package/app/.next-cli-build/server/chunks/8243.js +4 -4
  791. package/app/.next-cli-build/server/chunks/8306.js +1 -1
  792. package/app/.next-cli-build/server/chunks/8421.js +1 -1
  793. package/app/.next-cli-build/server/chunks/8459.js +1 -1
  794. package/app/.next-cli-build/server/chunks/8851.js +55 -5
  795. package/app/.next-cli-build/server/chunks/8946.js +1 -1
  796. package/app/.next-cli-build/server/chunks/8976.js +1 -1
  797. package/app/.next-cli-build/server/chunks/9062.js +1 -1
  798. package/app/.next-cli-build/server/chunks/9303.js +1 -1
  799. package/app/.next-cli-build/server/chunks/9485.js +1 -1
  800. package/app/.next-cli-build/server/chunks/9865.js +1 -1
  801. package/app/.next-cli-build/server/instrumentation.js +1 -1
  802. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  803. package/app/.next-cli-build/server/middleware.js +3 -3
  804. package/app/.next-cli-build/server/pages/404.html +1 -1
  805. package/app/.next-cli-build/server/pages/500.html +1 -1
  806. package/app/.next-cli-build/static/chunks/1321-dbf1d5923ed96850.js +1 -0
  807. package/app/.next-cli-build/static/chunks/5497-3d7a0fb93236c34a.js +17 -0
  808. package/app/.next-cli-build/static/chunks/8105-24cfa2e10ca68766.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-8236097df15d7be9.js → page-3dee12d2790214bb.js} +2 -2
  810. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-85950757e9505005.js → page-63e73261a2a83714.js} +1 -1
  811. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-470053d319956aa3.js +27 -0
  812. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-60e7605e27ff50d0.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-358e8cfbab53f6f1.js +1 -0
  814. package/app/.next-cli-build/static/css/0eff34602d3e892b.css +1 -0
  815. package/app/CHANGELOG.md +80 -0
  816. package/app/node_modules/@aws/lambda-invoke-store/dist-cjs/invoke-store.js +131 -0
  817. package/app/node_modules/@aws/lambda-invoke-store/package.json +55 -0
  818. package/app/node_modules/@aws-sdk/core/client.js +5 -0
  819. package/app/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +984 -0
  820. package/app/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +349 -0
  821. package/app/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +2949 -0
  822. package/app/node_modules/@aws-sdk/core/httpAuthSchemes.js +5 -0
  823. package/app/node_modules/@aws-sdk/core/package.json +146 -0
  824. package/app/node_modules/@aws-sdk/core/protocols.js +5 -0
  825. package/app/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-cjs/index.js +202 -0
  826. package/app/node_modules/@aws-sdk/credential-provider-cognito-identity/dist-cjs/loadCognitoIdentity-v413cIIq.js +4 -0
  827. package/app/node_modules/@aws-sdk/credential-provider-cognito-identity/package.json +59 -0
  828. package/app/node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js +39 -0
  829. package/app/node_modules/@aws-sdk/credential-provider-env/package.json +63 -0
  830. package/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js +179 -0
  831. package/app/node_modules/@aws-sdk/credential-provider-http/package.json +75 -0
  832. package/app/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +229 -0
  833. package/app/node_modules/@aws-sdk/credential-provider-ini/package.json +73 -0
  834. package/app/node_modules/@aws-sdk/credential-provider-login/dist-cjs/index.js +290 -0
  835. package/app/node_modules/@aws-sdk/credential-provider-login/package.json +66 -0
  836. package/app/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +166 -0
  837. package/app/node_modules/@aws-sdk/credential-provider-node/package.json +71 -0
  838. package/app/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js +76 -0
  839. package/app/node_modules/@aws-sdk/credential-provider-process/package.json +63 -0
  840. package/app/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js +192 -0
  841. package/app/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/loadSso-BGYXHf8s.js +3 -0
  842. package/app/node_modules/@aws-sdk/credential-provider-sso/package.json +67 -0
  843. package/app/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js +58 -0
  844. package/app/node_modules/@aws-sdk/credential-provider-web-identity/package.json +71 -0
  845. package/app/node_modules/@aws-sdk/credential-providers/dist-cjs/index.js +284 -0
  846. package/app/node_modules/@aws-sdk/credential-providers/dist-cjs/loadSts-C4jOcYxJ.js +3 -0
  847. package/app/node_modules/@aws-sdk/credential-providers/package.json +85 -0
  848. package/app/node_modules/@aws-sdk/nested-clients/cognito-identity.js +5 -0
  849. package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +616 -0
  850. package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +590 -0
  851. package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +468 -0
  852. package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +674 -0
  853. package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +878 -0
  854. package/app/node_modules/@aws-sdk/nested-clients/package.json +121 -0
  855. package/app/node_modules/@aws-sdk/nested-clients/signin.js +5 -0
  856. package/app/node_modules/@aws-sdk/nested-clients/sso-oidc.js +5 -0
  857. package/app/node_modules/@aws-sdk/nested-clients/sso.js +5 -0
  858. package/app/node_modules/@aws-sdk/nested-clients/sts.js +5 -0
  859. package/app/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js +155 -0
  860. package/app/node_modules/@aws-sdk/signature-v4-multi-region/package.json +60 -0
  861. package/app/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +158 -0
  862. package/app/node_modules/@aws-sdk/token-providers/package.json +69 -0
  863. package/app/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js +372 -0
  864. package/app/node_modules/@aws-sdk/xml-builder/package.json +63 -0
  865. package/app/node_modules/@smithy/core/cbor.js +5 -0
  866. package/app/node_modules/@smithy/core/checksum.js +5 -0
  867. package/app/node_modules/@smithy/core/client.js +5 -0
  868. package/app/node_modules/@smithy/core/config.js +5 -0
  869. package/app/node_modules/@smithy/core/dist-cjs/index.js +344 -0
  870. package/app/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +2565 -0
  871. package/app/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.js +577 -0
  872. package/app/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +1156 -0
  873. package/app/node_modules/@smithy/core/dist-cjs/submodules/config/index.js +779 -0
  874. package/app/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +878 -0
  875. package/app/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +924 -0
  876. package/app/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +1058 -0
  877. package/app/node_modules/@smithy/core/dist-cjs/submodules/retry/index.js +848 -0
  878. package/app/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +701 -0
  879. package/app/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +1765 -0
  880. package/app/node_modules/@smithy/core/dist-cjs/submodules/transport/index.js +189 -0
  881. package/app/node_modules/@smithy/core/endpoints.js +5 -0
  882. package/app/node_modules/@smithy/core/event-streams.js +5 -0
  883. package/app/node_modules/@smithy/core/package.json +258 -0
  884. package/app/node_modules/@smithy/core/protocols.js +5 -0
  885. package/app/node_modules/@smithy/core/retry.js +5 -0
  886. package/app/node_modules/@smithy/core/schema.js +5 -0
  887. package/app/node_modules/@smithy/core/serde.js +5 -0
  888. package/app/node_modules/@smithy/core/transport.js +5 -0
  889. package/app/node_modules/@smithy/credential-provider-imds/dist-cjs/index.js +370 -0
  890. package/app/node_modules/@smithy/credential-provider-imds/package.json +57 -0
  891. package/app/node_modules/@smithy/node-http-handler/dist-cjs/index.js +859 -0
  892. package/app/node_modules/@smithy/node-http-handler/package.json +56 -0
  893. package/app/node_modules/@smithy/signature-v4/dist-cjs/index.js +582 -0
  894. package/app/node_modules/@smithy/signature-v4/package.json +53 -0
  895. package/app/node_modules/@smithy/types/dist-cjs/index.js +96 -0
  896. package/app/node_modules/@smithy/types/package.json +50 -0
  897. package/app/node_modules/bowser/es5.js +1 -0
  898. package/app/node_modules/bowser/package.json +93 -0
  899. package/app/package.json +3 -1
  900. package/app/public/CHANGELOG.md +80 -0
  901. package/app/public/i18n/literals/ar.json +103 -2
  902. package/app/public/i18n/literals/bn.json +103 -2
  903. package/app/public/i18n/literals/cs.json +104 -3
  904. package/app/public/i18n/literals/da.json +103 -2
  905. package/app/public/i18n/literals/de.json +104 -3
  906. package/app/public/i18n/literals/el.json +103 -2
  907. package/app/public/i18n/literals/es.json +102 -1
  908. package/app/public/i18n/literals/fa.json +117 -3
  909. package/app/public/i18n/literals/fi.json +103 -2
  910. package/app/public/i18n/literals/fr.json +104 -3
  911. package/app/public/i18n/literals/he.json +103 -2
  912. package/app/public/i18n/literals/hi.json +104 -3
  913. package/app/public/i18n/literals/hu.json +103 -2
  914. package/app/public/i18n/literals/id.json +103 -1
  915. package/app/public/i18n/literals/it.json +104 -3
  916. package/app/public/i18n/literals/ja.json +102 -1
  917. package/app/public/i18n/literals/km.json +103 -1
  918. package/app/public/i18n/literals/ko.json +103 -2
  919. package/app/public/i18n/literals/nl.json +103 -2
  920. package/app/public/i18n/literals/no.json +103 -2
  921. package/app/public/i18n/literals/pl.json +103 -2
  922. package/app/public/i18n/literals/pt-BR.json +101 -2
  923. package/app/public/i18n/literals/pt-PT.json +103 -2
  924. package/app/public/i18n/literals/ro.json +105 -4
  925. package/app/public/i18n/literals/ru.json +104 -3
  926. package/app/public/i18n/literals/sv.json +104 -3
  927. package/app/public/i18n/literals/th.json +101 -3
  928. package/app/public/i18n/literals/tl.json +104 -3
  929. package/app/public/i18n/literals/tr.json +108 -9
  930. package/app/public/i18n/literals/uk.json +103 -2
  931. package/app/public/i18n/literals/ur.json +103 -2
  932. package/app/public/i18n/literals/vi.json +103 -2
  933. package/app/public/i18n/literals/zh-CN.json +99 -1
  934. package/app/public/i18n/literals/zh-TW.json +103 -2
  935. package/app/public/providers/bedrock.png +0 -0
  936. package/app/server.js +1 -1
  937. package/app/src/mitm/server.js +30 -30
  938. package/cli.js +41 -0
  939. package/package.json +1 -1
  940. package/src/cli/menus/combos.js +4 -1
  941. package/app/.next-cli-build/server/chunks/1744.js +0 -221
  942. package/app/.next-cli-build/server/chunks/2892.js +0 -1
  943. package/app/.next-cli-build/server/chunks/3148.js +0 -51
  944. package/app/.next-cli-build/server/chunks/4924.js +0 -300
  945. package/app/.next-cli-build/server/chunks/5224.js +0 -1
  946. package/app/.next-cli-build/server/chunks/6330.js +0 -1
  947. package/app/.next-cli-build/server/chunks/6892.js +0 -1
  948. package/app/.next-cli-build/server/chunks/7603.js +0 -1
  949. package/app/.next-cli-build/server/chunks/8299.js +0 -1
  950. package/app/.next-cli-build/server/chunks/880.js +0 -30
  951. package/app/.next-cli-build/server/chunks/9217.js +0 -1
  952. package/app/.next-cli-build/static/chunks/1321-b8a4f80390cd3ea3.js +0 -1
  953. package/app/.next-cli-build/static/chunks/5497-a4fcd9746123edae.js +0 -17
  954. package/app/.next-cli-build/static/chunks/8105-914b0eb9e3a50b9d.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-11a1a4053a30913f.js +0 -27
  956. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-679ec0628cd9d54f.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-6f16a27a86240648.js +0 -1
  958. package/app/.next-cli-build/static/css/23be8b98c2bbb37d.css +0 -1
  959. /package/app/.next-cli-build/static/{caISOCVUmfRaqJe0JjnZh → oyS1XiDjniuGAbO4WH-Hr}/_buildManifest.js +0 -0
  960. /package/app/.next-cli-build/static/{caISOCVUmfRaqJe0JjnZh → oyS1XiDjniuGAbO4WH-Hr}/_ssgManifest.js +0 -0
@@ -47,11 +47,11 @@ exports.id=7239,exports.ids=[7239,9718],exports.modules={8578:(a,b,c)=>{"use str
47
47
  ${c}\r
48
48
  `;n(q,a,e),await l("ipconfig /flushdns | Out-Null")}else{let a=g.readFileSync(q,"utf8").replace(/[\r\n\s]+$/g,""),c=d.map(a=>`127.0.0.1 ${a}`).join("\n"),e=`${a}
49
49
  ${c}
50
- `.replace(/'/g,"'\\''");await t(`printf '%s' '${e}' | tee ${q} > /dev/null`,b),await u(b)}i(`🌐 DNS ${a}: ✅ added ${d.join(", ")}`)}catch(a){throw Error(a.message?.includes("incorrect password")?"Wrong sudo password":`Failed to add DNS entry: ${a.message}`)}}async function x(a,b){let c=k[a];if(!c)throw Error(`Unknown tool: ${a}`);let d=c.filter(a=>v(a));if(0===d.length)return void i(`🌐 DNS ${a}: already inactive`);try{if(o){let a=g.readFileSync(q,"utf8"),b=a.split(/\r?\n/).filter(a=>!d.some(b=>a.includes(b))).join("\r\n").replace(/[\r\n\s]+$/g,"")+"\r\n";n(q,a,b),await l("ipconfig /flushdns | Out-Null")}else{let a=(g.readFileSync(q,"utf8").split(/\r?\n/).filter(a=>!d.some(b=>a.includes(b))).join("\n").replace(/[\r\n\s]+$/g,"")+"\n").replace(/'/g,"'\\''");await t(`printf '%s' '${a}' | tee ${q} > /dev/null`,b),await u(b)}i(`🌐 DNS ${a}: ✅ removed ${d.join(", ")}`)}catch(a){throw Error(a.message?.includes("incorrect password")?"Wrong sudo password":`Failed to remove DNS entry: ${a.message}`)}}async function y(a){for(let b of Object.keys(k))try{await x(b,a)}catch(a){j(`DNS ${b}: failed to remove — ${a.message}`)}}a.exports={TOOL_HOSTS:k,addDNSEntry:w,removeDNSEntry:x,removeAllDNSEntries:y,removeAllDNSEntriesSync:function(){try{if(!g.existsSync(q))return;let a=Object.values(k).flat(),b=g.readFileSync(q,"utf8"),c=o?"\r\n":"\n",d=b.split(/\r?\n/).filter(b=>!a.some(a=>b.includes(a))).join(c).replace(/[\r\n\s]+$/g,"")+c;if(d===b)return;if(g.writeFileSync(q,d,"utf8"),o)try{f("ipconfig /flushdns",{windowsHide:!0,stdio:"ignore"})}catch{}else if(p)try{f("dscacheutil -flushcache && killall -HUP mDNSResponder",{stdio:"ignore"})}catch{}else try{f("resolvectl flush-caches 2>/dev/null || true",{stdio:"ignore"})}catch{}}catch{}},execWithPassword:t,isSudoAvailable:r,canRunSudoWithoutPassword:s,isSudoPasswordRequired:function(){return!o&&r()&&!s()},checkDNSEntry:v,checkAllDNSStatus:function(){try{let a=g.readFileSync(q,"utf8"),b={};for(let[c,d]of Object.entries(k))b[c]=d.every(b=>a.includes(b));return b}catch{return Object.fromEntries(Object.keys(k).map(a=>[a,!1]))}}}},78335:()=>{},82193:(a,b,c)=>{"use strict";let d=c(29021),e=c(33873),f=c(21820),g="ezrouter";function h(){return"win32"===process.platform?e.join(process.env.APPDATA||e.join(f.homedir(),"AppData","Roaming"),g):e.join(f.homedir(),`.${g}`)}let i=function(){let a=process.env.DATA_DIR;if(!a)return h();try{return d.mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${g}`),h();throw b}}(),j=e.join(i,"mitm");a.exports={DATA_DIR:i,MITM_DIR:j}},85341:a=>{"use strict";a.exports={TOOL_HOSTS:{antigravity:["daily-cloudcode-pa.googleapis.com","cloudcode-pa.googleapis.com"],copilot:["api.individual.githubcopilot.com"],kiro:["runtime.us-east-1.kiro.dev","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com"],cursor:["api2.cursor.sh"]}}},87777:(a,b,c)=>{"use strict";let d=c(29021),e=c(33873),f=c(74075),{DATA_DIR:g}=c(82193),{LOG_BLACKLIST_URL_PARTS:h}=c(17511);function i(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}let j=e.join(g,"logs","mitm");d.existsSync(j)||d.mkdirSync(j,{recursive:!0});let k=/^\s*(\{\s*\}|\[\s*\]|null)?\s*$/;function l(a,b=80){return String(a).replace(/[^a-zA-Z0-9]/g,"_").substring(0,b)}function m(a){return!!a&&h.some(b=>a.includes(b))}a.exports={log:a=>console.log(`[${i()}] [MITM] ${a}`),err:a=>console.error(`[${i()}] ❌ [MITM] ${a}`),dumpRequest:function(a,b,c="raw"){if(m(a.url))return null;try{let f=new Date().toISOString().replace(/[:.]/g,"-"),g=l((a.headers.host||"")+a.url),h=e.join(j,`${f}_${c}_${g}.req.json`),i=null;try{i=JSON.parse(b.toString())}catch{}return d.writeFileSync(h,JSON.stringify({method:a.method,url:a.url,host:a.headers.host,headers:a.headers,body:i??b.toString("utf8")},null,2)),h}catch{return null}},createResponseDumper:function(a,b="raw"){if(m(a.url))return null;let c=new Date().toISOString().replace(/[:.]/g,"-"),g=l((a.headers.host||"")+a.url),h=e.join(j,`${c}_${b}_${g}.res.txt`),i=0,n={},o=[];return{writeHeader:(a,b)=>{i=a,n=b||{}},writeChunk:a=>{null!=a&&o.push(Buffer.isBuffer(a)?a:Buffer.from(a))},end:()=>{try{let a=Buffer.concat(o),b=n["content-encoding"]||n["Content-Encoding"],c=(function(a,b){if(!a||0===a.length)return a;try{let c=(b||"").toLowerCase();if(c.includes("gzip"))return f.gunzipSync(a);if(c.includes("br"))return f.brotliDecompressSync(a);if(c.includes("deflate"))return f.inflateSync(a)}catch{}return a})(a,b).toString("utf8");if(k.test(c))return;let e={...n};delete e["content-encoding"],delete e["Content-Encoding"];let g=`STATUS: ${i}
50
+ `.replace(/'/g,"'\\''");await t(`printf '%s' '${e}' | tee ${q} > /dev/null`,b),await u(b)}i(`🌐 DNS ${a}: ✅ added ${d.join(", ")}`)}catch(a){throw Error(a.message?.includes("incorrect password")?"Wrong sudo password":`Failed to add DNS entry: ${a.message}`)}}async function x(a,b){let c=k[a];if(!c)throw Error(`Unknown tool: ${a}`);let d=c.filter(a=>v(a));if(0===d.length)return void i(`🌐 DNS ${a}: already inactive`);try{if(o){let a=g.readFileSync(q,"utf8"),b=a.split(/\r?\n/).filter(a=>!d.some(b=>a.includes(b))).join("\r\n").replace(/[\r\n\s]+$/g,"")+"\r\n";n(q,a,b),await l("ipconfig /flushdns | Out-Null")}else{let a=(g.readFileSync(q,"utf8").split(/\r?\n/).filter(a=>!d.some(b=>a.includes(b))).join("\n").replace(/[\r\n\s]+$/g,"")+"\n").replace(/'/g,"'\\''");await t(`printf '%s' '${a}' | tee ${q} > /dev/null`,b),await u(b)}i(`🌐 DNS ${a}: ✅ removed ${d.join(", ")}`)}catch(a){throw Error(a.message?.includes("incorrect password")?"Wrong sudo password":`Failed to remove DNS entry: ${a.message}`)}}async function y(a){for(let b of Object.keys(k))try{await x(b,a)}catch(a){j(`DNS ${b}: failed to remove — ${a.message}`)}}a.exports={TOOL_HOSTS:k,addDNSEntry:w,removeDNSEntry:x,removeAllDNSEntries:y,removeAllDNSEntriesSync:function(){try{if(!g.existsSync(q))return;let a=Object.values(k).flat(),b=g.readFileSync(q,"utf8"),c=o?"\r\n":"\n",d=b.split(/\r?\n/).filter(b=>!a.some(a=>b.includes(a))).join(c).replace(/[\r\n\s]+$/g,"")+c;if(d===b)return;try{g.writeFileSync(q,d,"utf8")}catch(b){if(o)try{let b=`$h='${q}'; $t=@(${a.map(a=>`'${a}'`).join(",")}); $c=(Get-Content -LiteralPath $h | Where-Object { $l=$_; -not ($t | Where-Object { $l -match [regex]::Escape($_) }) }); Set-Content -LiteralPath $h -Value $c; ipconfig /flushdns`,c=Buffer.from(b,"utf16le").toString("base64");f(`powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -EncodedCommand ${c}`,{windowsHide:!0,stdio:"ignore"})}catch{}}if(o)try{f("ipconfig /flushdns",{windowsHide:!0,stdio:"ignore"})}catch{}else if(p)try{f("dscacheutil -flushcache && killall -HUP mDNSResponder",{stdio:"ignore"})}catch{}else try{f("resolvectl flush-caches 2>/dev/null || true",{stdio:"ignore"})}catch{}}catch{}},execWithPassword:t,isSudoAvailable:r,canRunSudoWithoutPassword:s,isSudoPasswordRequired:function(){return!o&&r()&&!s()},checkDNSEntry:v,checkAllDNSStatus:function(){try{let a=g.readFileSync(q,"utf8"),b={};for(let[c,d]of Object.entries(k))b[c]=d.every(b=>a.includes(b));return b}catch{return Object.fromEntries(Object.keys(k).map(a=>[a,!1]))}}}},78335:()=>{},82193:(a,b,c)=>{"use strict";let d=c(29021),e=c(33873),f=c(21820),g="ezrouter";function h(){return"win32"===process.platform?e.join(process.env.APPDATA||e.join(f.homedir(),"AppData","Roaming"),g):e.join(f.homedir(),`.${g}`)}let i=function(){let a=process.env.DATA_DIR;if(!a)return h();try{return d.mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${g}`),h();throw b}}(),j=e.join(i,"mitm");a.exports={DATA_DIR:i,MITM_DIR:j}},85341:a=>{"use strict";a.exports={TOOL_HOSTS:{antigravity:["daily-cloudcode-pa.googleapis.com","cloudcode-pa.googleapis.com"],copilot:["api.individual.githubcopilot.com"],kiro:["runtime.us-east-1.kiro.dev","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com"],cursor:["api2.cursor.sh"]}}},87777:(a,b,c)=>{"use strict";let d=c(29021),e=c(33873),f=c(74075),{DATA_DIR:g}=c(82193),{LOG_BLACKLIST_URL_PARTS:h}=c(17511);function i(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}let j=e.join(g,"logs","mitm");d.existsSync(j)||d.mkdirSync(j,{recursive:!0});let k=/^\s*(\{\s*\}|\[\s*\]|null)?\s*$/;function l(a,b=80){return String(a).replace(/[^a-zA-Z0-9]/g,"_").substring(0,b)}function m(a){return!!a&&h.some(b=>a.includes(b))}a.exports={log:a=>console.log(`[${i()}] [MITM] ${a}`),err:a=>console.error(`[${i()}] ❌ [MITM] ${a}`),dumpRequest:function(a,b,c="raw"){if(m(a.url))return null;try{let f=new Date().toISOString().replace(/[:.]/g,"-"),g=l((a.headers.host||"")+a.url),h=e.join(j,`${f}_${c}_${g}.req.json`),i=null;try{i=JSON.parse(b.toString())}catch{}return d.writeFileSync(h,JSON.stringify({method:a.method,url:a.url,host:a.headers.host,headers:a.headers,body:i??b.toString("utf8")},null,2)),h}catch{return null}},createResponseDumper:function(a,b="raw"){if(m(a.url))return null;let c=new Date().toISOString().replace(/[:.]/g,"-"),g=l((a.headers.host||"")+a.url),h=e.join(j,`${c}_${b}_${g}.res.txt`),i=0,n={},o=[];return{writeHeader:(a,b)=>{i=a,n=b||{}},writeChunk:a=>{null!=a&&o.push(Buffer.isBuffer(a)?a:Buffer.from(a))},end:()=>{try{let a=Buffer.concat(o),b=n["content-encoding"]||n["Content-Encoding"],c=(function(a,b){if(!a||0===a.length)return a;try{let c=(b||"").toLowerCase();if(c.includes("gzip"))return f.gunzipSync(a);if(c.includes("br"))return f.brotliDecompressSync(a);if(c.includes("deflate"))return f.inflateSync(a)}catch{}return a})(a,b).toString("utf8");if(k.test(c))return;let e={...n};delete e["content-encoding"],delete e["Content-Encoding"];let g=`STATUS: ${i}
51
51
  HEADERS: ${JSON.stringify(e,null,2)}
52
52
  ---BODY---
53
- ${c}`;d.writeFileSync(h,g)}catch{}},file:h}},clearDumpDir:function(){try{if(!d.existsSync(j))return;for(let a of d.readdirSync(j))try{d.rmSync(e.join(j,a),{recursive:!0,force:!0})}catch{}}catch{}}}},89718:(a,b,c)=>{"use strict";c.d(b,{$e:()=>d.$e,CF:()=>d.CF,CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,Ko:()=>d.Ko,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q6:()=>d.Q6,Q_:()=>d.Q_,Qu:()=>d.Qu,RT:()=>d.RT,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,__:()=>d.__,aQ:()=>d.aQ,bI:()=>d.bI,c:()=>d.c,dA:()=>d.dA,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,lk:()=>d.lk,mV:()=>d.mV,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,pO:()=>d.pO,qr:()=>d.qr,r4:()=>d.r4,sZ:()=>d.sZ,t$:()=>d.t$,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,xN:()=>d.xN,y7:()=>d.y7,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(6816)},96182:(a,b,c)=>{"use strict";let{exec:d,spawn:e,execSync:f}=c(79646),g=c(33873),h=c(29021),i=c(21820),j=c(91645),k=c(55591),l=c(55511),{addDNSEntry:m,removeDNSEntry:n,removeAllDNSEntries:o,removeAllDNSEntriesSync:p,checkAllDNSStatus:q,TOOL_HOSTS:r,isSudoAvailable:s,isSudoPasswordRequired:t}=c(66936),{isAdmin:u}=c(64809),v="win32"===process.platform,w="darwin"===process.platform,{generateCert:x}=c(26033),{installCert:y,uninstallCert:z}=c(9631),{isCertExpired:A}=c(8578),{DATA_DIR:B,MITM_DIR:C}=c(82193),{log:D,err:E}=c(87777),{LSOF_BIN:F}=c(17511),G="http://localhost:20126";function H(a){return null==a||""===a?"''":`'${String(a).replace(/'/g,"'\\''")}'`}async function I(){if(!aa)return G;try{let a=await aa(),b=a&&null!=a.mitmRouterBaseUrl?String(a.mitmRouterBaseUrl).trim():"";if(!b)return G;let c=new URL(b);if("http:"!==c.protocol&&"https:"!==c.protocol)return G;return b.replace(/\/+$/,"")}catch{return G}}let J=g.join(C,".mitm.pid"),K=g.join(C,".mitm.lock"),L=[5e3,1e4,2e4,3e4,6e4],M=0,N=0,O=!1;function P(){if(process.env.MITM_SERVER_PATH)return process.env.MITM_SERVER_PATH;let a=g.join(__dirname,"server.js");if(h.existsSync(a))return a;let b=g.join(process.cwd(),"src","mitm","server.js");if(h.existsSync(b))return b;let c=g.join(process.cwd(),"..","src","mitm","server.js");return h.existsSync(c)?c:b}function Q(a){try{if(!a||!h.existsSync(a)||!a.includes(`${g.sep}node_modules${g.sep}`))return a;let b=g.join(B,"runtime","mitm"),c=g.join(b,"server.js");if(h.existsSync(c))try{if(h.statSync(a).size===h.statSync(c).size)return c}catch{}return h.mkdirSync(b,{recursive:!0}),h.copyFileSync(a,c),c}catch(b){try{D(`[MITM] runtime copy failed: ${b.message}`)}catch{}return a}}let R=Q(P()),S="aes-256-gcm",T="9router-mitm-pwd",U=null,V=null;function W(){return globalThis.__mitmSudoPassword||null}function X(a){globalThis.__mitmSudoPassword=a}function Y(a){try{return process.kill(a,0),!0}catch(a){return"EACCES"===a.code}}function Z(a,b=!1,e=null){if(v)d(`taskkill ${b?"/F ":""}/PID ${a}`,{windowsHide:!0},()=>{});else{let f=b?"SIGKILL":"SIGTERM",g=`pkill -${f} -P ${a} 2>/dev/null; kill -${f} ${a} 2>/dev/null`;if(e||s()){let{execWithPassword:a}=c(66936);a(g,e||"").catch(()=>d(g,{windowsHide:!0},()=>{}))}else d(g,{windowsHide:!0},()=>{})}}let $=null;function _(){if($)return $;try{let{machineIdSync:a}=c(19713),b=a();$=l.createHash("sha256").update(b+T).digest()}catch{$=l.createHash("sha256").update(T).digest()}return $}let aa=null,ab=null;async function ac(a,b){if(ab)try{let c,d,e,f,g,h={mitmEnabled:a};b&&(c=_(),d=l.randomBytes(12),e=l.createCipheriv(S,c,d),f=Buffer.concat([e.update(b,"utf8"),e.final()]),g=e.getAuthTag(),h.mitmSudoEncrypted=`${d.toString("hex")}:${g.toString("hex")}:${f.toString("hex")}`),await ab(h)}catch(a){E(`Failed to save settings: ${a.message}`)}}async function ad(){if(ab)try{await ab({mitmSudoEncrypted:null})}catch(a){E(`Failed to clear encrypted password: ${a.message}`)}}async function ae(){if(!aa)return null;try{let a=await aa();if(!a.mitmSudoEncrypted)return null;return function(a){try{let[b,c,d]=a.split(":");if(!b||!c||!d)return null;let e=_(),f=l.createDecipheriv(S,e,Buffer.from(b,"hex"));return f.setAuthTag(Buffer.from(c,"hex")),f.update(Buffer.from(d,"hex"))+f.final("utf8")}catch{return null}}(a.mitmSudoEncrypted)}catch{return null}}async function af(a,b){if(ab&&aa)try{let c={...(await aa()).dnsToolEnabled||{},[a]:b};await ab({dnsToolEnabled:c})}catch(a){E(`Failed to save DNS state: ${a.message}`)}}async function ag(){if(!aa)return{};try{return(await aa()).dnsToolEnabled||{}}catch{return{}}}async function ah(a){let b=await ag(),c=a||W()||await ae();for(let[a,d]of Object.entries(b))if(d&&r[a])try{await m(a,c)}catch(b){E(`DNS ${a}: restore failed — ${b.message}`)}}async function ai(){return v?u():!(!u()&&t())||!!(W()||await ae())}function aj(a){return new Promise(a=>{v?d('powershell -NonInteractive -WindowStyle Hidden -Command "$c = Get-NetTCPConnection -LocalPort 443 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1; if ($c) { $c.OwningProcess } else { 0 }"',{windowsHide:!0},(b,c)=>{if(b)return a(null);let e=parseInt(c.trim(),10);if(!e||e<=4)return a(null);d(`tasklist /FI "PID eq ${e}" /FO CSV /NH`,{windowsHide:!0},(b,c)=>{let d=c?.match(/"([^"]+)"/);a({pid:e,name:d?d[1]:"unknown"})})}):d(`${F} -nP -iTCP:443 -sTCP:LISTEN -t`,{windowsHide:!0},(b,c)=>{if(b||!c?.trim())return a(null);let e=parseInt(c.trim().split("\n")[0],10);if(!e||isNaN(e))return a(null);d(`ps -p ${e} -o comm=`,{windowsHide:!0},(b,c)=>{a({pid:e,name:c?.trim()||"unknown"})})})})}async function ak(a){if(U&&!U.killed){try{U.kill("SIGKILL")}catch{}U=null,V=null}try{if(h.existsSync(J)){let b=parseInt(h.readFileSync(J,"utf-8").trim(),10);b&&Y(b)&&(Z(b,!0,a),await new Promise(a=>setTimeout(a,500))),h.unlinkSync(J)}}catch{}if(!v&&R)try{let b=R.replace(/'/g,"'\\''");if(a||s()){let{execWithPassword:d}=c(66936);await d(`pkill -SIGKILL -f "${b}" 2>/dev/null || true`,a||"").catch(()=>{})}else d(`pkill -SIGKILL -f "${b}" 2>/dev/null || true`,{windowsHide:!0},()=>{});await new Promise(a=>setTimeout(a,500))}catch{}}async function al(){let a=null!==U&&!U.killed,b=V;if(!a)try{if(h.existsSync(J)){let c=parseInt(h.readFileSync(J,"utf-8").trim(),10);c&&Y(c)?(a=!0,b=c):h.unlinkSync(J)}}catch{}let d=q(),e=g.join(C,"rootCA.crt"),f=h.existsSync(e),{checkCertInstalled:i}=c(9631),j=!!f&&await i(e);return{running:a,pid:b,certExists:f,certTrusted:j,dnsStatus:d}}async function am(a){if(O)return;if(O=!0,Date.now()-N>=6e4&&(M=0),M>=5){E("Max restart attempts reached. Giving up."),O=!1;return}let b=L[Math.min(M,L.length-1)];M++,D(`Restarting in ${b/1e3}s... (${M}/5)`),await new Promise(a=>setTimeout(a,b));try{let b=aa?await aa():null;if(b&&!b.mitmEnabled){D("MITM disabled, skipping restart"),O=!1;return}let c=W()||await ae();if(!c&&!v){E("No cached password, cannot auto-restart"),O=!1;return}await ao(a,c),D("\uD83D\uDD04 Restarted successfully"),M=0,O=!1}catch(b){E(`Restart attempt ${M}/5 failed: ${b.message}`),O=!1,am(a)}}async function an(a,b){if(a&&a.pid){if(v)try{f(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${a.pid} -Force -ErrorAction SilentlyContinue"`,{windowsHide:!0})}catch{}else try{let{execWithPassword:d}=c(66936);b||s()?await d(`kill -9 ${a.pid}`,b||""):f(`kill -9 ${a.pid}`,{windowsHide:!0})}catch{}await new Promise(a=>setTimeout(a,800))}}async function ao(a,b,l=!1){if(!U||U.killed)try{if(h.existsSync(J)){let a=parseInt(h.readFileSync(J,"utf-8").trim(),10);if(a&&Y(a))return V=a,D(`♻️ Reusing existing process (PID: ${a})`),await ac(!0,b),b&&X(b),{running:!0,pid:a};h.unlinkSync(J)}}catch{}if(U&&!U.killed)throw Error("MITM server is already running");try{h.writeFileSync(K,String(process.pid),{flag:"wx"})}catch(a){if("EEXIST"===a.code){let a=!1;try{let b=parseInt(h.readFileSync(K,"utf-8").trim(),10);a=!b||!Y(b)}catch{a=!0}if(!a)throw Error("MITM server is already starting (lock contention)");try{h.unlinkSync(K)}catch{}h.writeFileSync(K,String(process.pid),{flag:"wx"})}else throw a}try{if(await ak(b),!v){let a=await new Promise(a=>{let b=j.createServer();b.once("error",b=>{"EADDRINUSE"===b.code?a("in-use"):a("no-permission")}),b.once("listening",()=>{b.close(()=>a("free"))}),b.listen(443,"127.0.0.1")});if("in-use"===a||"no-permission"===a){let a=await aj(b);if(a){let c=a.name.includes("/")?a.name.split("/").filter(Boolean).pop():a.name;if(l)D(`Killing process on port 443 (PID ${a.pid}, name=${c})...`),await an(a,b);else{let b=Error(`Port 443 is already in use by "${c}" (PID ${a.pid}).`);throw b.code="PORT_443_BUSY",b.portOwner={pid:a.pid,name:c},b}}}}let m=g.join(C,"rootCA.crt"),n=g.join(C,"rootCA.key"),o=h.existsSync(m)&&h.existsSync(n);if(!o||A(m)){if(o){D("\uD83D\uDD10 Cert expired — uninstalling old cert...");let a=b||W()||await ae();try{await z(a,m)}catch{}}D("\uD83D\uDD10 Generating Root CA..."),await x()}let{checkCertInstalled:p}=c(9631),r=await p(m),u=!v&&!w&&!s();if(r)D("\uD83D\uDD10 Cert: already trusted ✅");else{D("\uD83D\uDD10 Cert: not trusted → installing...");let a=b||W()||await ae();if(u)D(`🔐 Cert: skipping system trust (no sudo). Install ${m} as a trusted CA on machines that use this proxy.`);else{if(!a&&t())throw Error("Sudo password required to install Root CA certificate");try{await y(a,m),D("\uD83D\uDD10 Cert: ✅ trusted")}catch(a){throw Error(`Failed to trust certificate: ${a.message}`)}}}let B=R;if((!B||!h.existsSync(B))&&(D(`[MITM] server.js missing at ${B} → recopying`),!(B=Q(P()))||!h.existsSync(B)))throw Error(`MITM server.js not found at ${B}. Reinstall EzRouter.`);let G=await I();if(D(`🚀 Starting server... (router: ${G})`),v){let c=await aj(b);if(c)if(l)D(`Killing process on port 443 (PID ${c.pid}, name=${c.name})...`),await an(c,b);else{let a=Error(`Port 443 is already in use by "${c.name}" (PID ${c.pid}).`);throw a.code="PORT_443_BUSY",a.portOwner={pid:c.pid,name:c.name},a}U=e(process.execPath,[B],{detached:!1,windowsHide:!0,cwd:i.tmpdir(),stdio:["ignore","pipe","pipe"],env:{...process.env,ROUTER_API_KEY:a,NODE_ENV:"production",MITM_ROUTER_BASE:G}}),ab&&await ab({mitmCertInstalled:!0}).catch(()=>{})}else if(s()){let c=[`HOME=${H(i.homedir())}`,`ROUTER_API_KEY=${H(a)}`,`MITM_ROUTER_BASE=${H(G)}`,"NODE_ENV=production",H(process.execPath),H(B)].join(" ");(U=e("sudo",["-S","-E","sh","-c",c],{detached:!1,windowsHide:!0,stdio:["pipe","pipe","pipe"]})).stdin.write(`${b}
54
- `),U.stdin.end()}else U=e(process.execPath,[B],{detached:!1,windowsHide:!0,cwd:i.tmpdir(),stdio:["ignore","pipe","pipe"],env:{...process.env,ROUTER_API_KEY:a,NODE_ENV:"production",MITM_ROUTER_BASE:G}});if(U&&(V=U.pid,h.writeFileSync(J,String(V)),N=Date.now()),w){let a=g.join(C,"rootCA.crt");h.existsSync(a)&&d(`launchctl setenv NODE_EXTRA_CA_CERTS "${a}"`,{windowsHide:!0},b=>{b?D(`[launchctl] Failed to set NODE_EXTRA_CA_CERTS: ${b.message}`):D(`[launchctl] NODE_EXTRA_CA_CERTS set to ${a}`)})}else if(v){let a=g.join(C,"rootCA.crt");h.existsSync(a)&&d(`setx NODE_EXTRA_CA_CERTS "${a}"`,{windowsHide:!0},a=>{a?D(`[setx] Failed to set NODE_EXTRA_CA_CERTS: ${a.message}`):D("[setx] NODE_EXTRA_CA_CERTS set for current user")})}let L=null;U&&(U.stdout.on("data",a=>{process.stdout.write(a)}),U.stderr.on("data",a=>{let b=a.toString().trim();b&&(v||!b.includes("Password:")&&!b.includes("password for"))&&(E(b),L=b),!v&&(b.includes("incorrect password")||b.includes("no password was provided"))&&(X(null),ad(),O=!0)}),U.on("exit",b=>{D(`Server exited (code: ${b})`),U=null,V=null;try{h.unlinkSync(J)}catch{}try{h.unlinkSync(K)}catch{}0===b||O||am(a)}));let M=await function(a=443){return new Promise(b=>{let c=Date.now()+8e3,d=()=>{let e=k.request({hostname:"127.0.0.1",port:a,path:"/_mitm_health",method:"GET",rejectUnauthorized:!1},a=>{let c="";a.on("data",a=>{c+=a}),a.on("end",()=>{try{let a=JSON.parse(c);b(!0===a.ok?{ok:!0,pid:a.pid||null}:null)}catch{b(null)}})});e.on("error",()=>{Date.now()<c?setTimeout(d,500):b(null)}),e.end()};d()})}(443);if(!M){if(U&&!U.killed){try{U.kill()}catch{}U=null}let a=function(){try{if(v){let a=f('powershell -NonInteractive -WindowStyle Hidden -Command "$c = Get-NetTCPConnection -LocalPort 443 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1; if ($c) { $c.OwningProcess } else { 0 }"',{encoding:"utf8",windowsHide:!0}).trim(),b=parseInt(a,10);if(b&&b>4){let a=f(`tasklist /FI "PID eq ${b}" /FO CSV /NH`,{encoding:"utf8",windowsHide:!0}).match(/"([^"]+)"/);if(a)return a[1].replace(".exe","")}}else{let a=f(`${F} -i :443`,{encoding:"utf8",windowsHide:!0}).trim().split("\n");if(a.length>1)return a[1].split(/\s+/)[0]}}catch{}return null}(),b=a?` Port 443 already in use by ${a}.`:"",c=L||`Check sudo password or port 443 access.${b}`;throw Error(`MITM server failed to start. ${c}`)}ab&&await ab({mitmCertInstalled:!0}).catch(()=>{}),D(`✅ Server healthy (PID: ${V||M.pid})`);let S=q();for(let[a,b]of Object.entries(S))D(`🌐 DNS ${a}: ${b?"✅ active":"❌ inactive"}`);await ac(!0,b),b&&X(b);try{h.unlinkSync(K)}catch{}return{running:!0,pid:V}}catch(a){try{h.unlinkSync(K)}catch{}throw a}}async function ap(a){O=!0,M=0,D("⏹ Stopping server...");let b=U,e=b&&!b.killed?b.pid:(()=>{try{return parseInt(h.readFileSync(J,"utf-8").trim(),10)}catch{return null}})();if(e&&Y(e)&&(D(`Killing server (PID: ${e})...`),Z(e,!1,a),await new Promise(a=>setTimeout(a,1e3)),Y(e)&&Z(e,!0,a)),U=null,V=null,v){let a=g.join(process.env.SystemRoot||"C:\\Windows","System32","drivers","etc","hosts"),b=Object.values(r).flat();try{let{isAdmin:d,runElevatedPowerShell:e,quotePs:f}=c(64809);if(d()){let d=h.readFileSync(a,"utf8"),e=d.split(/\r?\n/).filter(a=>!b.some(b=>a.includes(b))).join("\r\n").replace(/[\r\n\s]+$/g,"")+"\r\n";e!==d&&h.writeFileSync(a,e,"utf8");try{c(79646).execSync("ipconfig /flushdns",{windowsHide:!0,stdio:"ignore"})}catch{}D("\uD83C\uDF10 DNS: ✅ all tool hosts removed")}else{let c=b.map(f).join(","),d=`
53
+ ${c}`;d.writeFileSync(h,g)}catch{}},file:h}},clearDumpDir:function(){try{if(!d.existsSync(j))return;for(let a of d.readdirSync(j))try{d.rmSync(e.join(j,a),{recursive:!0,force:!0})}catch{}}catch{}}}},89718:(a,b,c)=>{"use strict";c.d(b,{$e:()=>d.$e,CF:()=>d.CF,CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,Ko:()=>d.Ko,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q6:()=>d.Q6,Q_:()=>d.Q_,Qu:()=>d.Qu,RT:()=>d.RT,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,__:()=>d.__,aQ:()=>d.aQ,bI:()=>d.bI,c:()=>d.c,dA:()=>d.dA,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,lk:()=>d.lk,mV:()=>d.mV,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,pO:()=>d.pO,qr:()=>d.qr,r4:()=>d.r4,sZ:()=>d.sZ,t$:()=>d.t$,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,xN:()=>d.xN,y7:()=>d.y7,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(6816)},96182:(a,b,c)=>{"use strict";let{exec:d,spawn:e,execSync:f}=c(79646),g=c(33873),h=c(29021),i=c(21820),j=c(91645),k=c(55591),l=c(55511),{addDNSEntry:m,removeDNSEntry:n,removeAllDNSEntries:o,removeAllDNSEntriesSync:p,checkAllDNSStatus:q,TOOL_HOSTS:r,isSudoAvailable:s,isSudoPasswordRequired:t}=c(66936),{isAdmin:u}=c(64809),v="win32"===process.platform,w="darwin"===process.platform,{generateCert:x}=c(26033),{installCert:y,uninstallCert:z}=c(9631),{isCertExpired:A}=c(8578),{DATA_DIR:B,MITM_DIR:C}=c(82193),{log:D,err:E}=c(87777),{LSOF_BIN:F}=c(17511),G="http://localhost:20126";function H(a){return null==a||""===a?"''":`'${String(a).replace(/'/g,"'\\''")}'`}async function I(){if(!aa)return G;try{let a=await aa(),b=a&&null!=a.mitmRouterBaseUrl?String(a.mitmRouterBaseUrl).trim():"";if(!b)return G;let c=new URL(b);if("http:"!==c.protocol&&"https:"!==c.protocol)return G;return b.replace(/\/+$/,"")}catch{return G}}let J=g.join(C,".mitm.pid"),K=g.join(C,".mitm.lock"),L=[5e3,1e4,2e4,3e4,6e4],M=0,N=0,O=!1;function P(){if(process.env.MITM_SERVER_PATH)return process.env.MITM_SERVER_PATH;let a=g.join(__dirname,"server.js");if(h.existsSync(a))return a;let b=g.join(process.cwd(),"src","mitm","server.js");if(h.existsSync(b))return b;let c=g.join(process.cwd(),"..","src","mitm","server.js");return h.existsSync(c)?c:b}function Q(a){try{if(!a||!h.existsSync(a)||!a.includes(`${g.sep}node_modules${g.sep}`))return a;let b=g.join(B,"runtime","mitm"),c=g.join(b,"server.js");if(h.existsSync(c))try{if(h.statSync(a).size===h.statSync(c).size)return c}catch{}return h.mkdirSync(b,{recursive:!0}),h.copyFileSync(a,c),c}catch(b){try{D(`[MITM] runtime copy failed: ${b.message}`)}catch{}return a}}let R=Q(P()),S="aes-256-gcm",T="9router-mitm-pwd",U=null,V=null;function W(){return globalThis.__mitmSudoPassword||null}function X(a){globalThis.__mitmSudoPassword=a}function Y(a){try{return process.kill(a,0),!0}catch(a){return"EACCES"===a.code}}function Z(a,b=!1,e=null){if(v)d(`taskkill ${b?"/F ":""}/PID ${a}`,{windowsHide:!0},()=>{});else{let f=b?"SIGKILL":"SIGTERM",g=`pkill -${f} -P ${a} 2>/dev/null; kill -${f} ${a} 2>/dev/null`;if(e||s()){let{execWithPassword:a}=c(66936);a(g,e||"").catch(()=>d(g,{windowsHide:!0},()=>{}))}else d(g,{windowsHide:!0},()=>{})}}let $=null;function _(){if($)return $;try{let{machineIdSync:a}=c(19713),b=a();$=l.createHash("sha256").update(b+T).digest()}catch{$=l.createHash("sha256").update(T).digest()}return $}let aa=null,ab=null;async function ac(a,b){if(ab)try{let c,d,e,f,g,h={mitmEnabled:a};b&&(c=_(),d=l.randomBytes(12),e=l.createCipheriv(S,c,d),f=Buffer.concat([e.update(b,"utf8"),e.final()]),g=e.getAuthTag(),h.mitmSudoEncrypted=`${d.toString("hex")}:${g.toString("hex")}:${f.toString("hex")}`),await ab(h)}catch(a){E(`Failed to save settings: ${a.message}`)}}async function ad(){if(ab)try{await ab({mitmSudoEncrypted:null})}catch(a){E(`Failed to clear encrypted password: ${a.message}`)}}async function ae(){if(!aa)return null;try{let a=await aa();if(!a.mitmSudoEncrypted)return null;return function(a){try{let[b,c,d]=a.split(":");if(!b||!c||!d)return null;let e=_(),f=l.createDecipheriv(S,e,Buffer.from(b,"hex"));return f.setAuthTag(Buffer.from(c,"hex")),f.update(Buffer.from(d,"hex"))+f.final("utf8")}catch{return null}}(a.mitmSudoEncrypted)}catch{return null}}async function af(a,b){if(ab&&aa)try{let c={...(await aa()).dnsToolEnabled||{},[a]:b};await ab({dnsToolEnabled:c})}catch(a){E(`Failed to save DNS state: ${a.message}`)}}async function ag(){if(!aa)return{};try{return(await aa()).dnsToolEnabled||{}}catch{return{}}}async function ah(a){let b=await al();if(!b?.running){try{p()}catch{}D("DNS restore: MITM server is not running, skipping tool DNS restoration & cleaning hosts");return}let c=await ag(),d=a||W()||await ae();for(let[a,b]of Object.entries(c))if(b&&r[a])try{await m(a,d)}catch(b){E(`DNS ${a}: restore failed — ${b.message}`)}}async function ai(){return v?u():!(!u()&&t())||!!(W()||await ae())}function aj(a){return new Promise(a=>{v?d('powershell -NonInteractive -WindowStyle Hidden -Command "$c = Get-NetTCPConnection -LocalPort 443 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1; if ($c) { $c.OwningProcess } else { 0 }"',{windowsHide:!0},(b,c)=>{if(b)return a(null);let e=parseInt(c.trim(),10);if(!e||e<=4)return a(null);d(`tasklist /FI "PID eq ${e}" /FO CSV /NH`,{windowsHide:!0},(b,c)=>{let d=c?.match(/"([^"]+)"/);a({pid:e,name:d?d[1]:"unknown"})})}):d(`${F} -nP -iTCP:443 -sTCP:LISTEN -t`,{windowsHide:!0},(b,c)=>{if(b||!c?.trim())return a(null);let e=parseInt(c.trim().split("\n")[0],10);if(!e||isNaN(e))return a(null);d(`ps -p ${e} -o comm=`,{windowsHide:!0},(b,c)=>{a({pid:e,name:c?.trim()||"unknown"})})})})}async function ak(a){if(U&&!U.killed){try{U.kill("SIGKILL")}catch{}U=null,V=null}try{if(h.existsSync(J)){let b=parseInt(h.readFileSync(J,"utf-8").trim(),10);b&&Y(b)&&(Z(b,!0,a),await new Promise(a=>setTimeout(a,500))),h.unlinkSync(J)}}catch{}if(!v&&R)try{let b=R.replace(/'/g,"'\\''");if(a||s()){let{execWithPassword:d}=c(66936);await d(`pkill -SIGKILL -f "${b}" 2>/dev/null || true`,a||"").catch(()=>{})}else d(`pkill -SIGKILL -f "${b}" 2>/dev/null || true`,{windowsHide:!0},()=>{});await new Promise(a=>setTimeout(a,500))}catch{}}async function al(){let a=null!==U&&!U.killed,b=V;if(!a)try{if(h.existsSync(J)){let c=parseInt(h.readFileSync(J,"utf-8").trim(),10);c&&Y(c)?(a=!0,b=c):h.unlinkSync(J)}}catch{}let d=q(),e=g.join(C,"rootCA.crt"),f=h.existsSync(e),{checkCertInstalled:i}=c(9631),j=!!f&&await i(e);return{running:a,pid:b,certExists:f,certTrusted:j,dnsStatus:d}}async function am(a){if(O)return;if(O=!0,Date.now()-N>=6e4&&(M=0),M>=5){E("Max restart attempts reached. Giving up."),O=!1;return}let b=L[Math.min(M,L.length-1)];M++,D(`Restarting in ${b/1e3}s... (${M}/5)`),await new Promise(a=>setTimeout(a,b));try{let b=aa?await aa():null;if(b&&!b.mitmEnabled){D("MITM disabled, skipping restart"),O=!1;return}let c=W()||await ae();if(!c&&!v){E("No cached password, cannot auto-restart"),O=!1;return}await ao(a,c),D("\uD83D\uDD04 Restarted successfully"),M=0,O=!1}catch(b){E(`Restart attempt ${M}/5 failed: ${b.message}`),O=!1,am(a)}}async function an(a,b){if(a&&a.pid){if(v)try{f(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${a.pid} -Force -ErrorAction SilentlyContinue"`,{windowsHide:!0})}catch{}else try{let{execWithPassword:d}=c(66936);b||s()?await d(`kill -9 ${a.pid}`,b||""):f(`kill -9 ${a.pid}`,{windowsHide:!0})}catch{}await new Promise(a=>setTimeout(a,800))}}async function ao(a,b,l=!1){if(!U||U.killed)try{if(h.existsSync(J)){let a=parseInt(h.readFileSync(J,"utf-8").trim(),10);if(a&&Y(a))return V=a,D(`♻️ Reusing existing process (PID: ${a})`),await ac(!0,b),b&&X(b),{running:!0,pid:a};h.unlinkSync(J)}}catch{}if(U&&!U.killed)throw Error("MITM server is already running");try{h.writeFileSync(K,String(process.pid),{flag:"wx"})}catch(a){if("EEXIST"===a.code){let a=!1;try{let b=parseInt(h.readFileSync(K,"utf-8").trim(),10);a=!b||!Y(b)}catch{a=!0}if(!a)throw Error("MITM server is already starting (lock contention)");try{h.unlinkSync(K)}catch{}h.writeFileSync(K,String(process.pid),{flag:"wx"})}else throw a}try{if(await ak(b),!v){let a=await new Promise(a=>{let b=j.createServer();b.once("error",b=>{"EADDRINUSE"===b.code?a("in-use"):a("no-permission")}),b.once("listening",()=>{b.close(()=>a("free"))}),b.listen(443,"127.0.0.1")});if("in-use"===a||"no-permission"===a){let a=await aj(b);if(a){let c=a.name.includes("/")?a.name.split("/").filter(Boolean).pop():a.name;if(l)D(`Killing process on port 443 (PID ${a.pid}, name=${c})...`),await an(a,b);else{let b=Error(`Port 443 is already in use by "${c}" (PID ${a.pid}).`);throw b.code="PORT_443_BUSY",b.portOwner={pid:a.pid,name:c},b}}}}let m=g.join(C,"rootCA.crt"),n=g.join(C,"rootCA.key"),o=h.existsSync(m)&&h.existsSync(n);if(!o||A(m)){if(o){D("\uD83D\uDD10 Cert expired — uninstalling old cert...");let a=b||W()||await ae();try{await z(a,m)}catch{}}D("\uD83D\uDD10 Generating Root CA..."),await x()}let{checkCertInstalled:r}=c(9631),u=await r(m),B=!v&&!w&&!s();if(u)D("\uD83D\uDD10 Cert: already trusted ✅");else{D("\uD83D\uDD10 Cert: not trusted → installing...");let a=b||W()||await ae();if(B)D(`🔐 Cert: skipping system trust (no sudo). Install ${m} as a trusted CA on machines that use this proxy.`);else{if(!a&&t())throw Error("Sudo password required to install Root CA certificate");try{await y(a,m),D("\uD83D\uDD10 Cert: ✅ trusted")}catch(a){throw Error(`Failed to trust certificate: ${a.message}`)}}}let G=R;if((!G||!h.existsSync(G))&&(D(`[MITM] server.js missing at ${G} → recopying`),!(G=Q(P()))||!h.existsSync(G)))throw Error(`MITM server.js not found at ${G}. Reinstall EzRouter.`);let L=await I();if(D(`🚀 Starting server... (router: ${L})`),v){let c=await aj(b);if(c)if(l)D(`Killing process on port 443 (PID ${c.pid}, name=${c.name})...`),await an(c,b);else{let a=Error(`Port 443 is already in use by "${c.name}" (PID ${c.pid}).`);throw a.code="PORT_443_BUSY",a.portOwner={pid:c.pid,name:c.name},a}U=e(process.execPath,[G],{detached:!1,windowsHide:!0,cwd:i.tmpdir(),stdio:["ignore","pipe","pipe"],env:{...process.env,ROUTER_API_KEY:a,NODE_ENV:"production",MITM_ROUTER_BASE:L}}),ab&&await ab({mitmCertInstalled:!0}).catch(()=>{})}else if(s()){let c=[`HOME=${H(i.homedir())}`,`ROUTER_API_KEY=${H(a)}`,`MITM_ROUTER_BASE=${H(L)}`,"NODE_ENV=production",H(process.execPath),H(G)].join(" ");(U=e("sudo",["-S","-E","sh","-c",c],{detached:!1,windowsHide:!0,stdio:["pipe","pipe","pipe"]})).stdin.write(`${b}
54
+ `),U.stdin.end()}else U=e(process.execPath,[G],{detached:!1,windowsHide:!0,cwd:i.tmpdir(),stdio:["ignore","pipe","pipe"],env:{...process.env,ROUTER_API_KEY:a,NODE_ENV:"production",MITM_ROUTER_BASE:L}});if(U&&(V=U.pid,h.writeFileSync(J,String(V)),N=Date.now()),w){let a=g.join(C,"rootCA.crt");h.existsSync(a)&&d(`launchctl setenv NODE_EXTRA_CA_CERTS "${a}"`,{windowsHide:!0},b=>{b?D(`[launchctl] Failed to set NODE_EXTRA_CA_CERTS: ${b.message}`):D(`[launchctl] NODE_EXTRA_CA_CERTS set to ${a}`)})}else if(v){let a=g.join(C,"rootCA.crt");h.existsSync(a)&&d(`setx NODE_EXTRA_CA_CERTS "${a}"`,{windowsHide:!0},a=>{a?D(`[setx] Failed to set NODE_EXTRA_CA_CERTS: ${a.message}`):D("[setx] NODE_EXTRA_CA_CERTS set for current user")})}let M=null;U&&(U.stdout.on("data",a=>{process.stdout.write(a)}),U.stderr.on("data",a=>{let b=a.toString().trim();b&&(v||!b.includes("Password:")&&!b.includes("password for"))&&(E(b),M=b),!v&&(b.includes("incorrect password")||b.includes("no password was provided"))&&(X(null),ad(),O=!0)}),U.on("exit",b=>{try{p()}catch{}D(`Server exited (code: ${b})`),U=null,V=null;try{h.unlinkSync(J)}catch{}try{h.unlinkSync(K)}catch{}0===b||O||am(a)}));let S=await function(a=443){return new Promise(b=>{let c=Date.now()+8e3,d=()=>{let e=k.request({hostname:"127.0.0.1",port:a,path:"/_mitm_health",method:"GET",rejectUnauthorized:!1},a=>{let c="";a.on("data",a=>{c+=a}),a.on("end",()=>{try{let a=JSON.parse(c);b(!0===a.ok?{ok:!0,pid:a.pid||null}:null)}catch{b(null)}})});e.on("error",()=>{Date.now()<c?setTimeout(d,500):b(null)}),e.end()};d()})}(443);if(!S){try{p()}catch{}if(U&&!U.killed){try{U.kill()}catch{}U=null}let a=function(){try{if(v){let a=f('powershell -NonInteractive -WindowStyle Hidden -Command "$c = Get-NetTCPConnection -LocalPort 443 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1; if ($c) { $c.OwningProcess } else { 0 }"',{encoding:"utf8",windowsHide:!0}).trim(),b=parseInt(a,10);if(b&&b>4){let a=f(`tasklist /FI "PID eq ${b}" /FO CSV /NH`,{encoding:"utf8",windowsHide:!0}).match(/"([^"]+)"/);if(a)return a[1].replace(".exe","")}}else{let a=f(`${F} -i :443`,{encoding:"utf8",windowsHide:!0}).trim().split("\n");if(a.length>1)return a[1].split(/\s+/)[0]}}catch{}return null}(),b=a?` Port 443 already in use by ${a}.`:"",c=M||`Check sudo password or port 443 access.${b}`;throw Error(`MITM server failed to start. ${c}`)}ab&&await ab({mitmCertInstalled:!0}).catch(()=>{}),D(`✅ Server healthy (PID: ${V||S.pid})`);let T=q();for(let[a,b]of Object.entries(T))D(`🌐 DNS ${a}: ${b?"✅ active":"❌ inactive"}`);await ac(!0,b),b&&X(b);try{h.unlinkSync(K)}catch{}return{running:!0,pid:V}}catch(a){try{h.unlinkSync(K)}catch{}throw a}}async function ap(a){O=!0,M=0,D("⏹ Stopping server...");let b=U,e=b&&!b.killed?b.pid:(()=>{try{return parseInt(h.readFileSync(J,"utf-8").trim(),10)}catch{return null}})();if(e&&Y(e)&&(D(`Killing server (PID: ${e})...`),Z(e,!1,a),await new Promise(a=>setTimeout(a,1e3)),Y(e)&&Z(e,!0,a)),U=null,V=null,v){let a=g.join(process.env.SystemRoot||"C:\\Windows","System32","drivers","etc","hosts"),b=Object.values(r).flat();try{let{isAdmin:d,runElevatedPowerShell:e,quotePs:f}=c(64809);if(d()){let d=h.readFileSync(a,"utf8"),e=d.split(/\r?\n/).filter(a=>!b.some(b=>a.includes(b))).join("\r\n").replace(/[\r\n\s]+$/g,"")+"\r\n";e!==d&&h.writeFileSync(a,e,"utf8");try{c(79646).execSync("ipconfig /flushdns",{windowsHide:!0,stdio:"ignore"})}catch{}D("\uD83C\uDF10 DNS: ✅ all tool hosts removed")}else{let c=b.map(f).join(","),d=`
55
55
  $hosts = @(${c})
56
56
  $lines = Get-Content -LiteralPath ${f(a)}
57
57
  $filtered = $lines | Where-Object {
@@ -1 +1 @@
1
- "use strict";exports.id=7353,exports.ids=[7353],exports.modules={4739:(a,b,c)=>{c.d(b,{R:()=>e,z:()=>d});let d={USER:"user",ASSISTANT:"assistant",TOOL:"tool",SYSTEM:"system",DEVELOPER:"developer"},e={USER:"user",MODEL:"model"}},18226:(a,b,c)=>{c.d(b,{R4:()=>e.R4,BY:()=>h,a_:()=>f.a_,RV:()=>d.R,rP:()=>g,x4:()=>e.x4,bC:()=>f.bC,Du:()=>e.Du,z7:()=>d.z,m8:()=>e.m8});var d=c(4739),e=c(87694),f=c(57642);let g="unknown",h="image/png"},19956:(a,b,c)=>{c.d(b,{h:()=>d,t:()=>e});let d={OPENAI:"openai",OPENAI_RESPONSES:"openai-responses",OPENAI_RESPONSE:"openai-response",CLAUDE:"claude",GEMINI:"gemini",GEMINI_CLI:"gemini-cli",VERTEX:"vertex",CODEX:"codex",ANTIGRAVITY:"antigravity",KIRO:"kiro",CURSOR:"cursor",OLLAMA:"ollama",COMMANDCODE:"commandcode"};function e(a,b){return a.includes("/v1/responses")?d.OPENAI_RESPONSES:a.includes("/v1/messages")?d.CLAUDE:a.includes("/v1/chat/completions")&&Array.isArray(b?.input)?d.OPENAI:null}},27980:(a,b,c)=>{c.d(b,{N:()=>d});function d(a,b){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}},48644:(a,b,c)=>{c.d(b,{$J:()=>q,KZ:()=>l,S6:()=>i,Yr:()=>p,f6:()=>m,fc:()=>h,kU:()=>j,pT:()=>k,w_:()=>n});var d=c(27980),e=c(18226);let f=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","format","multipleOf","uniqueItems","contains","unevaluatedProperties","unevaluatedItems","contentSchema","prefixItems","additionalItems","default","examples","$schema","$defs","definitions","const","$ref","$comment","deprecated","readOnly","writeOnly","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","optional","deprecated","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],g=new Set(["value"]),h=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function i(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if(c.type===e.x4.TEXT)b.push({text:c.text});else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if(c.type===e.x4.INPUT_AUDIO&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if(c.type===e.x4.AUDIO_URL&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.FILE&&c.file?.file_data?.startsWith("data:")){let a=c.file.file_data,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d).split(";")[0],e=a.substring(d+1);b.push({inlineData:{mime_type:c,data:e}})}}}return b}function j(a,b=""){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a.type===e.x4.TEXT).map(a=>a.text).join(b):""}function k(a){let b=(0,d.N)(a,null);return null!==b?function a(b){if(b&&"object"==typeof b){if(Array.isArray(b))return b.map(a);let c={};for(let[d,e]of Object.entries(b))(d.startsWith("$")||"definitions"===d||d.includes("/")||d.includes("#"))&&(d=d.replace(/^[$#\/]+/,"_").replace(/[\/#$]/g,"_")),c[d]=a(e);return c}return b}(b):null}function l(){return`agent-${crypto.randomUUID()}`}function m(){return crypto.randomUUID()+Date.now().toString()}function n(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function o(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function p(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(Array.isArray(b.prefixItems)&&b.prefixItems.length>0){let a=b.prefixItems.filter(a=>a&&"null"!==a.type);b.items||1!==a.length?!b.items&&a.length>1&&(b.items={anyOf:a}):b.items=a[0],delete b.prefixItems}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=o(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=o(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.properties&&!b.type&&(b.type="object"),b.properties&&"object"==typeof b.properties&&!Array.isArray(b.properties))for(let c of Object.values(b.properties))a(c);for(let[c,d]of Object.entries(b))"properties"!==c&&d&&"object"==typeof d&&a(d)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("array"!==b.type||b.items||(b.items={type:"string"}),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}if(b.properties&&"object"==typeof b.properties&&!Array.isArray(b.properties))for(let d of Object.values(b.properties))a(d,c);for(let d of Object.keys(b)){if("properties"===d)continue;if((void 0!==b.type||void 0!==b.properties||void 0!==b.items)&&g.has(d)||c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,f),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}if(b.properties&&"object"==typeof b.properties&&!Array.isArray(b.properties))for(let c of Object.values(b.properties))a(c);for(let[c,d]of Object.entries(b))"properties"!==c&&d&&"object"==typeof d&&a(d)}}(a),!function a(b){if(b&&"object"==typeof b){if(0===Object.keys(b).length){b.type="object",b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"];return}if("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),b.properties&&"object"==typeof b.properties&&!Array.isArray(b.properties))for(let c of Object.values(b.properties))a(c);for(let[c,d]of Object.entries(b))"properties"!==c&&d&&"object"==typeof d&&a(d)}}(a)),a}function q(a){let b=[];for(let c of a||[]){if(!c?.role||!Array.isArray(c.parts))continue;let a=c.parts.filter(a=>a&&Object.keys(a).length>0);if(0===a.length)continue;let d=b.at(-1);if(d?.role===c.role){let e=d.parts.some(a=>a?.functionResponse),f=a.some(a=>a?.functionResponse),g=d.parts.some(a=>a?.text),h=a.some(a=>a?.text);"user"===c.role&&(e&&h||g&&f)?b.push({...c,parts:[...a]}):d.parts.push(...a)}else b.push({...c,parts:[...a]})}if(b.length>0&&"user"!==b[0].role&&b.unshift({role:"user",parts:[{text:"..."}]}),b.length>0&&"model"===b.at(-1).role){let a=b.at(-1).parts.filter(a=>a?.functionCall);if(a.length>0){let c=a.map(a=>({functionResponse:{...a.functionCall.id?{id:a.functionCall.id}:{},name:a.functionCall.name,response:{result:"No response provided"}}}));b.push({role:"user",parts:c})}else b.push({role:"user",parts:[{text:"Continue"}]})}return b}},57642:(a,b,c)=>{c.d(b,{Ut:()=>e,a_:()=>f,bC:()=>d,lW:()=>g,zh:()=>h});let d={STOP:"stop",LENGTH:"length",TOOL_CALLS:"tool_calls",CONTENT_FILTER:"content_filter",ERROR:"error"},e={END_TURN:"end_turn",MAX_TOKENS:"max_tokens",TOOL_USE:"tool_use",STOP_SEQUENCE:"stop_sequence"},f={STOP:"STOP",MAX_TOKENS:"MAX_TOKENS",SAFETY:"SAFETY",RECITATION:"RECITATION",BLOCKLIST:"BLOCKLIST",PROHIBITED_CONTENT:"PROHIBITED_CONTENT",SPII:"SPII",IMAGE_SAFETY:"IMAGE_SAFETY",MALFORMED_FUNCTION_CALL:"MALFORMED_FUNCTION_CALL",UNEXPECTED_TOOL_CALL:"UNEXPECTED_TOOL_CALL",FINISH_REASON_UNSPECIFIED:"FINISH_REASON_UNSPECIFIED",OTHER:"OTHER",LANGUAGE:"LANGUAGE",NO_IMAGE:"NO_IMAGE"},g=new Set([f.MALFORMED_FUNCTION_CALL,f.UNEXPECTED_TOOL_CALL,f.FINISH_REASON_UNSPECIFIED,f.OTHER,f.LANGUAGE,f.NO_IMAGE]),h=new Set([f.SAFETY,f.RECITATION,f.BLOCKLIST,f.SPII,f.IMAGE_SAFETY,f.PROHIBITED_CONTENT])},87694:(a,b,c)=>{c.d(b,{Du:()=>f,R4:()=>e,m8:()=>g,x4:()=>d});let d={TEXT:"text",IMAGE_URL:"image_url",IMAGE:"image",INPUT_AUDIO:"input_audio",AUDIO_URL:"audio_url",FILE:"file",FUNCTION:"function",EXTRA_CONTENT:"extra_content"},e={TEXT:"text",IMAGE:"image",DOCUMENT:"document",TOOL_USE:"tool_use",TOOL_RESULT:"tool_result",THINKING:"thinking",REDACTED_THINKING:"redacted_thinking",SERVER_TOOL_USE:"server_tool_use",WEB_SEARCH_TOOL_RESULT:"web_search_tool_result"},f={MESSAGE:"message",FUNCTION_CALL:"function_call",FUNCTION_CALL_OUTPUT:"function_call_output",CUSTOM_TOOL_CALL:"custom_tool_call",CUSTOM_TOOL_CALL_OUTPUT:"custom_tool_call_output",ADDITIONAL_TOOLS:"additional_tools",REASONING:"reasoning",OUTPUT_TEXT:"output_text",INPUT_TEXT:"input_text",INPUT_IMAGE:"input_image",SUMMARY_TEXT:"summary_text"},g=[d.TEXT,d.IMAGE_URL,d.IMAGE,d.INPUT_AUDIO,d.AUDIO_URL,d.FILE];d.TEXT,d.IMAGE_URL,d.IMAGE,e.TOOL_RESULT}};
1
+ "use strict";exports.id=7353,exports.ids=[7353],exports.modules={4739:(a,b,c)=>{c.d(b,{R:()=>e,z:()=>d});let d={USER:"user",ASSISTANT:"assistant",TOOL:"tool",SYSTEM:"system",DEVELOPER:"developer"},e={USER:"user",MODEL:"model"}},18226:(a,b,c)=>{c.d(b,{R4:()=>e.R4,BY:()=>h,a_:()=>f.a_,RV:()=>d.R,rP:()=>g,x4:()=>e.x4,bC:()=>f.bC,Du:()=>e.Du,z7:()=>d.z,m8:()=>e.m8});var d=c(4739),e=c(87694),f=c(57642);let g="unknown",h="image/png"},19956:(a,b,c)=>{c.d(b,{h:()=>d,t:()=>e});let d={OPENAI:"openai",OPENAI_RESPONSES:"openai-responses",OPENAI_RESPONSE:"openai-response",CLAUDE:"claude",GEMINI:"gemini",GEMINI_CLI:"gemini-cli",VERTEX:"vertex",CODEX:"codex",ANTIGRAVITY:"antigravity",KIRO:"kiro",CURSOR:"cursor",OLLAMA:"ollama",COMMANDCODE:"commandcode"};function e(a,b){return a.includes("/v1/responses")?d.OPENAI_RESPONSES:a.includes("/v1/messages")?d.CLAUDE:a.includes("/v1/chat/completions")&&Array.isArray(b?.input)?d.OPENAI:null}},27980:(a,b,c)=>{c.d(b,{N:()=>d});function d(a,b){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}},48644:(a,b,c)=>{c.d(b,{$J:()=>t,KZ:()=>l,S6:()=>i,Yr:()=>s,f6:()=>m,fc:()=>h,kU:()=>j,pT:()=>k,w_:()=>n});var d=c(27980),e=c(18226);let f=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","format","multipleOf","uniqueItems","contains","unevaluatedProperties","unevaluatedItems","contentSchema","prefixItems","additionalItems","default","examples","example","$schema","$defs","definitions","const","$ref","$comment","$id","deprecated","readOnly","writeOnly","additionalProperties","propertyNames","patternProperties","enumDescriptions","strict","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","optional","if","then","else","contentMediaType","contentEncoding","encrypted","cache_control","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],g=new Set(["value"]),h=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function i(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if(c.type===e.x4.TEXT)b.push({text:c.text});else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if(c.type===e.x4.INPUT_AUDIO&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if(c.type===e.x4.AUDIO_URL&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.FILE&&c.file?.file_data?.startsWith("data:")){let a=c.file.file_data,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d).split(";")[0],e=a.substring(d+1);b.push({inlineData:{mime_type:c,data:e}})}}}return b}function j(a,b=""){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a.type===e.x4.TEXT).map(a=>a.text).join(b):""}function k(a){let b=(0,d.N)(a,null);return null!==b?function a(b){if(b&&"object"==typeof b){if(Array.isArray(b))return b.map(a);let c={};for(let[d,e]of Object.entries(b))(d.startsWith("$")||"definitions"===d||d.includes("/")||d.includes("#"))&&(d=d.replace(/^[$#\/]+/,"_").replace(/[\/#$]/g,"_")),c[d]=a(e);return c}return b}(b):null}function l(){return`agent-${crypto.randomUUID()}`}function m(){return crypto.randomUUID()+Date.now().toString()}function n(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function o(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}let p=["properties","patternProperties","$defs","definitions","dependentSchemas"];function q(a,b){for(let[c,d]of Object.entries(a))if(d&&"object"==typeof d)if(p.includes(c))for(let a of Object.values(d))a&&"object"==typeof a&&b(a);else if(Array.isArray(d))for(let a of d)a&&"object"==typeof a&&b(a);else b(d)}let r=["items","additionalItems","contains","if","then","else","not","propertyNames","unevaluatedItems","contentSchema"];function s(a){return a&&"object"==typeof a&&(!function a(b){if(!b||"object"!=typeof b)return;let c=a=>"string"==typeof a?{type:a}:a;for(let a of r)"string"==typeof b[a]&&(b[a]=c(b[a]));for(let a of p){let d=b[a];if(!(!d||"object"!=typeof d||Array.isArray(d)))for(let[a,b]of Object.entries(d))"string"==typeof b&&(d[a]=c(b))}"string"==typeof b.additionalProperties&&(b.additionalProperties=c(b.additionalProperties)),q(b,a)}(a),!function a(b){b&&"object"==typeof b&&(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),q(b,a))}(a),!function a(b){b&&"object"==typeof b&&(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),q(b,a))}(a),!function a(b){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let c of b)a(c);return}if(b.properties&&"object"==typeof b.properties&&!Array.isArray(b.properties))for(let[a,c]of Object.entries(b.properties))"string"==typeof c&&(b.properties[a]={type:"object"===c?"object":c});for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}q(b,a)}}(a),!function a(b){if(b&&"object"==typeof b){if(Array.isArray(b.prefixItems)&&b.prefixItems.length>0){let a=b.prefixItems.filter(a=>a&&"null"!==a.type);b.items||1!==a.length?!b.items&&a.length>1&&(b.items={anyOf:a}):b.items=a[0],delete b.prefixItems}q(b,a)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=o(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=o(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}q(b,a)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}q(b,a)}}(a),!function a(b){b&&"object"==typeof b&&(b.properties&&!b.type&&(b.type="object"),q(b,a))}(a),!function a(b){b&&"object"==typeof b&&("array"!==b.type||b.items||(b.items={type:"string"}),q(b,a))}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}if(b.properties&&"object"==typeof b.properties&&!Array.isArray(b.properties))for(let d of Object.values(b.properties))a(d,c);for(let d of Object.keys(b)){if("properties"===d)continue;if((void 0!==b.type||void 0!==b.properties||void 0!==b.items)&&g.has(d)||c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,f),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}q(b,a)}}(a),!function a(b){if(b&&"object"==typeof b){if(0===Object.keys(b).length){b.type="object",b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"];return}"object"===b.type&&(!b.properties||"object"!=typeof b.properties||Array.isArray(b.properties)||0===Object.keys(b.properties).length)&&(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),q(b,a)}}(a)),a}function t(a){let b=[];for(let c of a||[]){if(!c?.role||!Array.isArray(c.parts))continue;let a=c.parts.filter(a=>a&&Object.keys(a).length>0);if(0===a.length)continue;let d=b.at(-1);if(d?.role===c.role){let e=d.parts.some(a=>a?.functionResponse),f=a.some(a=>a?.functionResponse),g=d.parts.some(a=>a?.text),h=a.some(a=>a?.text);"user"===c.role&&(e&&h||g&&f)?b.push({...c,parts:[...a]}):d.parts.push(...a)}else b.push({...c,parts:[...a]})}if(b.length>0&&"user"!==b[0].role&&b.unshift({role:"user",parts:[{text:"..."}]}),b.length>0&&"model"===b.at(-1).role){let a=b.at(-1).parts.filter(a=>a?.functionCall);if(a.length>0){let c=a.map(a=>({functionResponse:{...a.functionCall.id?{id:a.functionCall.id}:{},name:a.functionCall.name,response:{result:"No response provided"}}}));b.push({role:"user",parts:c})}else b.push({role:"user",parts:[{text:"Continue"}]})}return b}},57642:(a,b,c)=>{c.d(b,{Ut:()=>e,a_:()=>f,bC:()=>d,lW:()=>g,zh:()=>h});let d={STOP:"stop",LENGTH:"length",TOOL_CALLS:"tool_calls",CONTENT_FILTER:"content_filter",ERROR:"error"},e={END_TURN:"end_turn",MAX_TOKENS:"max_tokens",TOOL_USE:"tool_use",STOP_SEQUENCE:"stop_sequence"},f={STOP:"STOP",MAX_TOKENS:"MAX_TOKENS",SAFETY:"SAFETY",RECITATION:"RECITATION",BLOCKLIST:"BLOCKLIST",PROHIBITED_CONTENT:"PROHIBITED_CONTENT",SPII:"SPII",IMAGE_SAFETY:"IMAGE_SAFETY",MALFORMED_FUNCTION_CALL:"MALFORMED_FUNCTION_CALL",UNEXPECTED_TOOL_CALL:"UNEXPECTED_TOOL_CALL",FINISH_REASON_UNSPECIFIED:"FINISH_REASON_UNSPECIFIED",OTHER:"OTHER",LANGUAGE:"LANGUAGE",NO_IMAGE:"NO_IMAGE"},g=new Set([f.MALFORMED_FUNCTION_CALL,f.UNEXPECTED_TOOL_CALL,f.FINISH_REASON_UNSPECIFIED,f.OTHER,f.LANGUAGE,f.NO_IMAGE]),h=new Set([f.SAFETY,f.RECITATION,f.BLOCKLIST,f.SPII,f.IMAGE_SAFETY,f.PROHIBITED_CONTENT])},87694:(a,b,c)=>{c.d(b,{Du:()=>f,R4:()=>e,m8:()=>g,x4:()=>d});let d={TEXT:"text",IMAGE_URL:"image_url",IMAGE:"image",INPUT_AUDIO:"input_audio",AUDIO_URL:"audio_url",FILE:"file",FUNCTION:"function",EXTRA_CONTENT:"extra_content"},e={TEXT:"text",IMAGE:"image",DOCUMENT:"document",TOOL_USE:"tool_use",TOOL_RESULT:"tool_result",THINKING:"thinking",REDACTED_THINKING:"redacted_thinking",SERVER_TOOL_USE:"server_tool_use",WEB_SEARCH_TOOL_RESULT:"web_search_tool_result"},f={MESSAGE:"message",FUNCTION_CALL:"function_call",FUNCTION_CALL_OUTPUT:"function_call_output",CUSTOM_TOOL_CALL:"custom_tool_call",CUSTOM_TOOL_CALL_OUTPUT:"custom_tool_call_output",ADDITIONAL_TOOLS:"additional_tools",REASONING:"reasoning",OUTPUT_TEXT:"output_text",INPUT_TEXT:"input_text",INPUT_IMAGE:"input_image",SUMMARY_TEXT:"summary_text"},g=[d.TEXT,d.IMAGE_URL,d.IMAGE,d.INPUT_AUDIO,d.AUDIO_URL,d.FILE];d.TEXT,d.IMAGE_URL,d.IMAGE,e.TOOL_RESULT}};
@@ -0,0 +1,31 @@
1
+ "use strict";exports.id=7512,exports.ids=[7512],exports.modules={52750:(a,b,c)=>{c.d(b,{M:()=>C,q:()=>D});let d=/^(?:( )+|\t+)/,e="space";function f(a,b){let c=new Map,f=0,g,h;for(let i of a.split(/\n/g)){if(!i)continue;let a=i.match(d);if(null===a)f=0,g="";else{let d=a[0].length,i=a[1]?e:"tab";if(b&&i===e&&1===d)continue;i!==g&&(f=0),g=i;let j=1,k=0,l=d-f;if(f=d,0===l)j=0,k=1;else{let a=Math.abs(l);if(b&&i===e&&1===a)continue;h=(i===e?"s":"t")+String(a)}let m=c.get(h);c.set(h,void 0===m?[1,0]:[m[0]+j,m[1]+k])}}return c}let g=Symbol.for("__confbox_fmt__"),h=/^(\s+)/,i=/(\s+)$/;var j=class extends Error{line;column;codeblock;constructor(a,b){let[c,d]=function(a,b){let c=a.slice(0,b).split(/\r\n|\n|\r/g);return[c.length,c.pop().length+1]}(b.toml,b.ptr),e=function(a,b,c){let d=a.split(/\r\n|\n|\r/g),e="",f=(0|Math.log10(b+1))+1;for(let a=b-1;a<=b+1;a++){let g=d[a-1];g&&(e+=a.toString().padEnd(f," "),e+=": ",e+=g,e+=`
2
+ `,a===b&&(e+=" ".repeat(f+c+2),e+=`^
3
+ `))}return e}(b.toml,c,d);super(`Invalid TOML document: ${a}
4
+
5
+ ${e}`,b),this.line=c,this.column=d,this.codeblock=e}};function k(a,b=0,c=a.length){let d=a.indexOf(`
6
+ `,b);return a[d-1]===`\r`&&d--,d<=c?d:-1}function l(a,b){for(let c=b;c<a.length;c++){let d=a[c];if(d===`
7
+ `)return c;if(d===`\r`&&a[c+1]===`
8
+ `)return c+1;if(d<" "&&" "!==d||""===d)throw new j("control characters are not allowed in comments",{toml:a,ptr:b})}return a.length}function m(a,b,c,d){let e;for(;" "===(e=a[b])||" "===e||!c&&(e===`
9
+ `||e===`\r`&&a[b+1]===`
10
+ `);)b++;return d||"#"!==e?b:m(a,l(a,b),c)}function n(a,b){let c=a[b],d=c===a[b+1]&&a[b+1]===a[b+2]?a.slice(b,b+3):c;b+=d.length-1;do b=a.indexOf(d,++b);while(b>-1&&"'"!==c&&function(a,b){let c=0;for(;"\\"===a[b-++c];);return--c&&c%2}(a,b));return b>-1&&(b+=d.length,d.length>1&&(a[b]===c&&b++,a[b]===c&&b++)),b}let o=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;var p=class a extends Date{#a=!1;#b=!1;#c=null;constructor(a){let b=!0,c=!0,d="Z";if("string"==typeof a){let e=a.match(o);e?(e[1]||(b=!1,a=`0000-01-01T${a}`),(c=!!e[2])&&" "===a[10]&&(a=a.replace(" ","T")),e[2]&&+e[2]>23?a="":(d=e[3]||null,a=a.toUpperCase(),!d&&c&&(a+="Z"))):a=""}super(a),isNaN(this.getTime())||(this.#a=b,this.#b=c,this.#c=d)}isDateTime(){return this.#a&&this.#b}isLocal(){return!this.#a||!this.#b||!this.#c}isDate(){return this.#a&&!this.#b}isTime(){return this.#b&&!this.#a}isValid(){return this.#a||this.#b}toISOString(){let a=super.toISOString();if(this.isDate())return a.slice(0,10);if(this.isTime())return a.slice(11,23);if(null===this.#c)return a.slice(0,-1);if("Z"===this.#c)return a;let b=60*this.#c.slice(1,3)+ +this.#c.slice(4,6);return b="-"===this.#c[0]?b:-b,new Date(this.getTime()-6e4*b).toISOString().slice(0,-1)+this.#c}static wrapAsOffsetDateTime(b,c="Z"){let d=new a(b);return d.#c=c,d}static wrapAsLocalDateTime(b){let c=new a(b);return c.#c=null,c}static wrapAsLocalDate(b){let c=new a(b);return c.#b=!1,c.#c=null,c}static wrapAsLocalTime(b){let c=new a(b);return c.#a=!1,c.#c=null,c}};let q=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,r=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,s=/^[+-]?0[0-9_]/,t=/^[0-9a-f]{2,8}$/i,u={b:"\b",t:" ",n:`
11
+ `,f:"\f",r:`\r`,e:"\x1b",'"':'"',"\\":"\\"};function v(a,b=0,c=a.length){let d="'"===a[b],e=a[b++]===a[b]&&a[b]===a[b+1];e&&(c-=2,a[b+=2]===`\r`&&b++,a[b]===`
12
+ `&&b++);let f=0,g,h="",i=b;for(;b<c-1;){let c=a[b++];if(c===`
13
+ `||c===`\r`&&a[b]===`
14
+ `){if(!e)throw new j("newlines are not allowed in strings",{toml:a,ptr:b-1})}else if(c<" "&&" "!==c||""===c)throw new j("control characters are not allowed in strings",{toml:a,ptr:b-1});if(g){if(g=!1,"x"===c||"u"===c||"U"===c){let d=a.slice(b,b+="x"===c?2:"u"===c?4:8);if(!t.test(d))throw new j("invalid unicode escape",{toml:a,ptr:f});try{h+=String.fromCodePoint(parseInt(d,16))}catch{throw new j("invalid unicode escape",{toml:a,ptr:f})}}else if(e&&(c===`
15
+ `||" "===c||" "===c||c===`\r`)){if(b=m(a,b-1,!0),a[b]!==`
16
+ `&&a[b]!==`\r`)throw new j("invalid escape: only line-ending whitespace may be escaped",{toml:a,ptr:f});b=m(a,b)}else if(c in u)h+=u[c];else throw new j("unrecognized escape sequence",{toml:a,ptr:f});i=b}else d||"\\"!==c||(f=b-1,g=!0,h+=a.slice(i,f))}return h+a.slice(i,c-1)}let w=/^[a-zA-Z0-9-_]+[ \t]*$/;function x(a,b,c="="){let d=b-1,e=[],f=a.indexOf(c,b);if(f<0)throw new j("incomplete key-value: cannot find end of key",{toml:a,ptr:b});do{let g=a[b=++d];if(" "!==g&&" "!==g)if('"'===g||"'"===g){if(g===a[b+1]&&g===a[b+2])throw new j("multiline strings are not allowed in keys",{toml:a,ptr:b});let h=n(a,b);if(h<0)throw new j("unfinished string encountered",{toml:a,ptr:b});d=a.indexOf(".",h);let i=a.slice(h,d<0||d>f?f:d),l=k(i);if(l>-1)throw new j("newlines are not allowed in keys",{toml:a,ptr:b+d+l});if(i.trimStart())throw new j("found extra tokens after the string part",{toml:a,ptr:h});if(f<h&&(f=a.indexOf(c,h))<0)throw new j("incomplete key-value: cannot find end of key",{toml:a,ptr:b});e.push(v(a,b,h))}else{d=a.indexOf(".",b);let c=a.slice(b,d<0||d>f?f:d);if(!w.test(c))throw new j("only letter, numbers, dashes and underscores are allowed in keys",{toml:a,ptr:b});e.push(c.trimEnd())}}while(d+1&&d<f);return[e,m(a,f+1,!0,!0)]}function y(a,b,c,d){let e=b,f=c,g,h=!1,i;for(let b=0;b<a.length;b++){if(b){if(e=h?e[g]:e[g]={},f=(i=f[g]).c,0===d&&(1===i.t||2===i.t))return null;if(2===i.t){let a=e.length-1;e=e[a],f=f[a].c}}if((h=Object.hasOwn(e,g=a[b]))&&f[g]?.t===0&&f[g]?.d)return null;h||("__proto__"===g&&(Object.defineProperty(e,g,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(f,g,{enumerable:!0,configurable:!0,writable:!0})),f[g]={t:b<a.length-1&&2===d?3:d,d:!1,i:0,c:{}})}if((i=f[g]).t!==d&&(1!==d||3!==i.t)||(2===d&&(i.d||(i.d=!0,e[g]=[]),e[g].push(e={}),i.c[i.i++]=i={t:1,d:!1,i:0,c:{}}),i.d))return null;if(i.d=!0,1===d)e=h?e[g]:e[g]={};else if(0===d&&h)return null;return[g,e,i.c]}let z=/^[a-z0-9-_]+$/i;function A(a){let b=typeof a;if("object"===b){if(Array.isArray(a))return"array";if(a instanceof Date)return"date"}return b}function B(a){return JSON.stringify(a).replace(/\x7f/g,"\\u007f")}function C(a){var b;let c=function(a,{maxDepth:b=1e3,integersAsBigInt:c}={}){let d={},e={},f=d,g=e;for(let h=m(a,0);h<a.length;){if("["===a[h]){let b="["===a[++h],c=x(a,h+=+b,"]");if(b){if("]"!==a[c[1]-1])throw new j("expected end of table declaration",{toml:a,ptr:c[1]-1});c[1]++}let i=y(c[0],d,e,b?2:1);if(!i)throw new j("trying to redefine an already defined table or value",{toml:a,ptr:h});g=i[2],f=i[1],h=c[1]}else{let d=x(a,h),e=y(d[0],f,g,0);if(!e)throw new j("trying to redefine an already defined table or value",{toml:a,ptr:h});let i=function a(b,c,d,e,f){var g;let h,i,o;if(0===e)throw new j("document contains excessively nested structures. aborting.",{toml:b,ptr:c});let t=b[c];if("["===t||"{"===t){let[g,h]="["===t?function(b,c,d,e){let f=[],g;for(c++;"]"!==(g=b[c++])&&g;)if(","===g)throw new j("expected value, found comma",{toml:b,ptr:c-1});else if("#"===g)c=l(b,c);else if(" "!==g&&" "!==g&&g!==`
17
+ `&&g!==`\r`){let g=a(b,c-1,"]",d-1,e);f.push(g[0]),c=g[1]}if(!g)throw new j("unfinished array encountered",{toml:b,ptr:c});return[f,c]}(b,c,e,f):function(b,c,d,e){let f={},g=new Set,h;for(c++;"}"!==(h=b[c++])&&h;)if(","===h)throw new j("expected value, found comma",{toml:b,ptr:c-1});else if("#"===h)c=l(b,c);else if(" "!==h&&" "!==h&&h!==`
18
+ `&&h!==`\r`){let h,i=f,k=!1,[l,m]=x(b,c-1);for(let a=0;a<l.length;a++){if(a&&(i=k?i[h]:i[h]={}),(k=Object.hasOwn(i,h=l[a]))&&("object"!=typeof i[h]||g.has(i[h])))throw new j("trying to redefine an already defined value",{toml:b,ptr:c});k||"__proto__"!==h||Object.defineProperty(i,h,{enumerable:!0,configurable:!0,writable:!0})}if(k)throw new j("trying to redefine an already defined value",{toml:b,ptr:c});let[n,o]=a(b,m,"}",d-1,e);g.add(n),i[h]=n,c=o}if(!h)throw new j("unfinished table encountered",{toml:b,ptr:c});return[f,c]}(b,c,e,f);if(d){if(h=m(b,h),","===b[h])h++;else if(b[h]!==d)throw new j("expected comma or end of structure",{toml:b,ptr:h})}return[g,h]}if('"'===t||"'"===t){h=n(b,c);let a=v(b,c,h);if(d){if(h=m(b,h),b[h]&&","!==b[h]&&b[h]!==d&&b[h]!==`
19
+ `&&b[h]!==`\r`)throw new j("unexpected character encountered",{toml:b,ptr:h});h+=+(","===b[h])}return[a,h]}h=function(a,b,c,d=!1){if(!c)return(b=k(a,b))<0?a.length:b;for(let e=b;e<a.length;e++){let b=a[e];if("#"===b)e=k(a,e);else if(","===b)return e+1;else if(b===c||d&&(b===`
20
+ `||b===`\r`&&a[e+1]===`
21
+ `))return e}throw new j("cannot find end of structure",{toml:a,ptr:b})}(b,c,d);let u=(g=h-(","===b[h-1]),(o=(i=b.slice(c,g)).indexOf("#"))>-1&&(l(b,o),i=i.slice(0,o)),[i.trimEnd(),o]);if(!u[0])throw new j("incomplete key-value declaration: no value specified",{toml:b,ptr:c});return d&&u[1]>-1&&(h=m(b,c+u[1]),h+=+(","===b[h])),[function(a,b,c,d){if("true"===a)return!0;if("false"===a)return!1;if("-inf"===a)return-1/0;if("inf"===a||"+inf"===a)return 1/0;if("nan"===a||"+nan"===a||"-nan"===a)return NaN;if("-0"===a)return d?0n:0;let e=q.test(a);if(e||r.test(a)){if(s.test(a))throw new j("leading zeroes are not allowed",{toml:b,ptr:c});let f=+(a=a.replace(/_/g,""));if(isNaN(f))throw new j("invalid number",{toml:b,ptr:c});if(e){if((e=!Number.isSafeInteger(f))&&!d)throw new j("integer value cannot be represented losslessly",{toml:b,ptr:c});(e||!0===d)&&(f=BigInt(a))}return f}let f=new p(a);if(!f.isValid())throw new j("invalid value",{toml:b,ptr:c});return f}(u[0],b,c,f),h]}(a,d[1],void 0,b,c);e[1][e[0]]=i[0],h=i[1]}if(h=m(a,h,!0),a[h]&&a[h]!==`
22
+ `&&a[h]!==`\r`)throw new j("each key-value declaration must be followed by an end-of-line",{toml:a,ptr:h});h=m(a,h)}return d}(a);return b={preserveIndentation:!1},c&&"object"==typeof c&&Object.defineProperty(c,g,{enumerable:!1,configurable:!0,writable:!0,value:function(a,b={}){return{sample:void 0===b.indent&&!1!==b.preserveIndentation&&a.slice(0,b?.sampleSize||1024),whiteSpace:!1===b.preserveWhitespace?void 0:{start:h.exec(a)?.[0]||"",end:i.exec(a)?.[0]||""}}}(a,b)}),c}function D(a){let b=function(a,b){if(!a||"object"!=typeof a||!(g in a))return{indent:b?.indent??2,whitespace:{start:"",end:""}};let c=a[g];return{indent:b?.indent||function(a){var b,c;if("string"!=typeof a)throw TypeError("Expected a string");let d=f(a,!0);0===d.size&&(d=f(a,!1));let g=function(a){let b,c=0,d=0;for(let[e,[f,g]]of a)(f>c||f===c&&g>d)&&(c=f,d=g,b=e);return b}(d),h,i=0,j="";return void 0!==g&&({type:h,amount:i}={type:"s"===g[0]?e:"tab",amount:Number(g.slice(1))},b=h,c=i,j=(b===e?" ":" ").repeat(c)),{amount:i,type:h,indent:j}}(c.sample||"").indent,whitespace:c.whiteSpace||{start:"",end:""}}}(a,{preserveIndentation:!1}),c=function(a,{maxDepth:b=1e3,numbersAsFloat:c=!1}={}){if("object"!==A(a))throw TypeError("stringify can only be called with an object");let d=function a(b,c,d,e,f){if(0===e)throw Error("Could not stringify the object: maximum object depth exceeded");let g="",h="",i=Object.keys(c);for(let b=0;b<i.length;b++){let j=i[b];if(null!==c[j]&&void 0!==c[j]){let b=A(c[j]);if("symbol"===b||"function"===b)throw TypeError(`cannot serialize values of type '${b}'`);let i=z.test(j)?j:B(j);if("array"===b&&function(a){for(let b=0;b<a.length;b++)if("object"!==A(a[b]))return!1;return 0!=a.length}(c[j]))h+=(h&&`
23
+ `)+function(b,c,d,e){if(0===d)throw Error("Could not stringify the object: maximum object depth exceeded");let f="";for(let g=0;g<b.length;g++)f+=`${f&&`
24
+ `}[[${c}]]
25
+ `,f+=a(0,b[g],c,d,e);return f}(c[j],d?`${d}.${i}`:i,e-1,f);else if("object"===b){let b=d?`${d}.${i}`:i;h+=(h&&`
26
+ `)+a(b,c[j],b,e-1,f)}else g+=i,g+=" = ",g+=function a(b,c,d,e){if(0===d)throw Error("Could not stringify the object: maximum object depth exceeded");if("number"===c)return isNaN(b)?"nan":b===1/0?"inf":b===-1/0?"-inf":e&&Number.isInteger(b)?b.toFixed(1):b.toString();if("bigint"===c||"boolean"===c)return b.toString();if("string"===c)return B(b);if("date"===c){if(isNaN(b.getTime()))throw TypeError("cannot serialize invalid date");return b.toISOString()}return"object"===c?function(b,c,d){let e=Object.keys(b);if(0===e.length)return"{}";let f="{ ";for(let g=0;g<e.length;g++){let h=e[g];g&&(f+=", "),f+=z.test(h)?h:B(h),f+=" = ",f+=a(b[h],A(b[h]),c-1,d)}return f+" }"}(b,d,e):"array"===c?function(b,c,d){if(0===b.length)return"[]";let e="[ ";for(let f=0;f<b.length;f++){if(f&&(e+=", "),null===b[f]||void 0===b[f])throw TypeError("arrays cannot contain null or undefined values");e+=a(b[f],A(b[f]),c-1,d)}return e+" ]"}(b,d,e):void 0}(c[j],b,e,f),g+=`
27
+ `}}return b&&(g||!h)&&(g=g?`[${b}]
28
+ ${g}`:`[${b}]`),g&&h?`${g}
29
+ ${h}`:g||h}(0,a,"",b,c);return d[d.length-1]===`
30
+ `?d:d+`
31
+ `}(a);return b.whitespace.start+c+b.whitespace.end}}};
@@ -1 +1 @@
1
- "use strict";exports.id=7677,exports.ids=[7677],exports.modules={67677:(a,b,c)=>{c.d(b,{Gh:()=>k,IF:()=>p,O9:()=>g,OF:()=>o,WL:()=>h,_6:()=>j,_L:()=>m,bC:()=>n,f5:()=>l,lm:()=>f});var d=c(19956);let e="1"===process.env.LOG_USAGE_VERBOSE,f={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"};function g(a){if(!a||"object"!=typeof a)return a;let b={...a};return void 0!==b.input_tokens&&(b.input_tokens+=2e3),void 0!==b.prompt_tokens&&(b.prompt_tokens+=2e3),void 0!==b.total_tokens?b.total_tokens+=2e3:void 0!==b.prompt_tokens&&void 0!==b.completion_tokens&&(b.total_tokens=b.prompt_tokens+b.completion_tokens),b}function h(a,b){if(!a||"object"!=typeof a)return a;let c={[d.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks"],[d.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks"],[d.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks"]},e=c[b];b===d.h.GEMINI_CLI||b===d.h.ANTIGRAVITY?e=c[d.h.GEMINI]:b===d.h.OPENAI_RESPONSE?e=c[d.h.OPENAI_RESPONSES]:e||(e=c.default);let f={};for(let b of e)void 0!==a[b]&&(f[b]=a[b]);return f}function i(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={},c=(a,c)=>{if(null==c)return;let d=Number(c);Number.isFinite(d)&&(b[a]=d)},d=(a,c)=>{if(null==c||""===c)return;let d=Number(c);Number.isFinite(d)&&d>=0&&(b[a]=d)};return(c("prompt_tokens",a?.prompt_tokens),c("completion_tokens",a?.completion_tokens),c("total_tokens",a?.total_tokens),c("cache_read_input_tokens",a?.cache_read_input_tokens),c("cache_creation_input_tokens",a?.cache_creation_input_tokens),c("cached_tokens",a?.cached_tokens),c("reasoning_tokens",a?.reasoning_tokens),d("cost_usd",a?.cost_usd),d("cost_in_usd",a?.cost_in_usd),d("cost_in_usd_ticks",a?.cost_in_usd_ticks),a?.prompt_tokens_details&&"object"==typeof a.prompt_tokens_details&&(b.prompt_tokens_details=a.prompt_tokens_details),a?.completion_tokens_details&&"object"==typeof a.completion_tokens_details&&(b.completion_tokens_details=a.completion_tokens_details),0===Object.keys(b).length)?null:b}function j(a){let b;if(!a||"object"!=typeof a||Array.isArray(a))return null;let c=a=>Number.isFinite(Number(a))?Number(a):0,d=c(a.completion_tokens??a.output_tokens),e=c(a.reasoning_tokens),f=c(a.cache_creation_input_tokens??a.prompt_tokens_details?.cache_creation_tokens),g=c(a.prompt_tokens??a.input_tokens);void 0===a.cached_tokens&&(void 0!==a.cache_read_input_tokens||void 0!==a.cache_creation_input_tokens)?g=g+(b=c(a.cache_read_input_tokens))+f:b=c(a.cached_tokens??a.prompt_tokens_details?.cached_tokens);let h={prompt_tokens:g,completion_tokens:d,total_tokens:g+d,cached_tokens:b,cache_creation_input_tokens:f},i=b=>{if(null===a[b]||void 0===a[b]||""===a[b])return;let c=Number(a[b]);Number.isFinite(c)&&c>=0&&(h[b]=c)};return i("cost_usd"),i("cost_in_usd"),i("cost_in_usd_ticks"),e>0&&(h.reasoning_tokens=e),h}function k(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function l(a){if(!a||"object"!=typeof a)return null;if("message_start"===a.type&&a.message?.usage&&"object"==typeof a.message.usage){let b=a.message.usage;return i({prompt_tokens:b.input_tokens||0,completion_tokens:b.output_tokens||0,cache_read_input_tokens:b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens,cost_usd:b.cost_usd,cost_in_usd:b.cost_in_usd,cost_in_usd_ticks:b.cost_in_usd_ticks})}if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage)return i({prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens,cost_usd:a.usage.cost_usd,cost_in_usd:a.usage.cost_in_usd,cost_in_usd_ticks:a.usage.cost_in_usd_ticks});if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage,c=b.input_tokens_details?.cached_tokens;return i({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:c,reasoning_tokens:b.output_tokens_details?.reasoning_tokens,cost_usd:b.cost_usd,cost_in_usd:b.cost_in_usd,cost_in_usd_ticks:b.cost_in_usd_ticks,prompt_tokens_details:c?{cached_tokens:c}:void 0})}if(a.usage&&"object"==typeof a.usage&&void 0!==a.usage.prompt_tokens)return i({prompt_tokens:a.usage.prompt_tokens,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens||a.usage.prompt_cache_hit_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens,cost_usd:a.usage.cost_usd,cost_in_usd:a.usage.cost_in_usd,cost_in_usd_ticks:a.usage.cost_in_usd_ticks,prompt_tokens_details:a.usage.prompt_tokens_details,completion_tokens_details:a.usage.completion_tokens_details});let b=a.usageMetadata||a.response?.usageMetadata;return b&&"object"==typeof b?i({prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,total_tokens:b.totalTokenCount,cached_tokens:b.cachedContentTokenCount,reasoning_tokens:b.thoughtsTokenCount}):!0===a.done&&"number"==typeof a.prompt_eval_count?i({prompt_tokens:a.prompt_eval_count||0,completion_tokens:a.eval_count||0,total_tokens:(a.prompt_eval_count||0)+(a.eval_count||0)}):null}function m(a,b){if(!a)return b||null;if(!b)return a;let c={...a};for(let[a,d]of Object.entries(b))"number"==typeof d&&Number.isFinite(d)?c[a]=Math.max("number"==typeof c[a]?c[a]:0,d):d&&"object"==typeof d&&(c[a]=d);return c}function n(a){if(!a||"object"!=typeof a)return 0;try{let b=JSON.stringify(a);return Math.ceil(b.length/4)}catch{return 0}}function o(a,b,c=d.h.OPENAI,e={}){return function(a,b,c,e={}){let f=!1!==e.buffer?g:a=>a;return f(c===d.h.CLAUDE?{input_tokens:a,output_tokens:b,estimated:!0}:{prompt_tokens:a,completion_tokens:b,total_tokens:a+b,estimated:!0})}(n(a),b&&!(b<=0)?Math.max(1,Math.floor(b/4)):0,c,e)}function p(a,b,c=null,d=null,g=null){if(!b||"object"!=typeof b||!e)return;let h=a?.toUpperCase()||"UNKNOWN",i=b?.prompt_tokens||b?.input_tokens||0,j=b?.completion_tokens||b?.output_tokens||0,k=d?d.slice(0,8)+"...":"unknown",l=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${f.green}[USAGE] ${h} | in=${i} | out=${j} | account=${k}${f.reset}`;b.estimated&&(l+=` ${f.yellow}(estimated)${f.reset}`);let m=b.cache_read_input_tokens||b.cached_tokens||b.prompt_tokens_details?.cached_tokens;m&&(l+=` | cache_read=${m}`);let n=b.cache_creation_input_tokens;n&&(l+=` | cache_create=${n}`);let o=b.reasoning_tokens;o&&(l+=` | reasoning=${o}`),console.log(l)}}};
1
+ "use strict";exports.id=7677,exports.ids=[7677],exports.modules={67677:(a,b,c)=>{c.d(b,{Gh:()=>n,IF:()=>s,O9:()=>h,OF:()=>r,WL:()=>i,_6:()=>m,_L:()=>p,bC:()=>q,f5:()=>o,lm:()=>g,q7:()=>l});var d=c(19956),e=c(84646);let f="1"===process.env.LOG_USAGE_VERBOSE,g={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"};function h(a){if(!a||"object"!=typeof a)return a;let b={...a};return void 0!==b.input_tokens&&(b.input_tokens+=2e3),void 0!==b.prompt_tokens&&(b.prompt_tokens+=2e3),void 0!==b.total_tokens?b.total_tokens+=2e3:void 0!==b.prompt_tokens&&void 0!==b.completion_tokens&&(b.total_tokens=b.prompt_tokens+b.completion_tokens),b}function i(a,b){if(!a||"object"!=typeof a)return a;let c={[d.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks"],[d.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks"],[d.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks","cost"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks","cost"]},e=c[b];b===d.h.GEMINI_CLI||b===d.h.ANTIGRAVITY?e=c[d.h.GEMINI]:b===d.h.OPENAI_RESPONSE?e=c[d.h.OPENAI_RESPONSES]:e||(e=c.default);let f={};for(let b of e)void 0!==a[b]&&(f[b]=a[b]);return f}function j(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={},c=(a,c)=>{if(null==c)return;let d=Number(c);Number.isFinite(d)&&(b[a]=d)},d=(a,c)=>{if(null==c||""===c)return;let d=Number(c);Number.isFinite(d)&&d>=0&&(b[a]=d)};c("prompt_tokens",a?.prompt_tokens),c("completion_tokens",a?.completion_tokens),c("total_tokens",a?.total_tokens),c("cache_read_input_tokens",a?.cache_read_input_tokens),c("cache_creation_input_tokens",a?.cache_creation_input_tokens),c("cached_tokens",a?.cached_tokens),c("reasoning_tokens",a?.reasoning_tokens),d("cost_usd",a?.cost_usd),d("cost_in_usd",a?.cost_in_usd),d("cost_in_usd_ticks",a?.cost_in_usd_ticks),a?.prompt_tokens_details&&"object"==typeof a.prompt_tokens_details&&(b.prompt_tokens_details=a.prompt_tokens_details),a?.completion_tokens_details&&"object"==typeof a.completion_tokens_details&&(b.completion_tokens_details=a.completion_tokens_details);let e=k(a?.cost);return(e&&(b.cost=e),0===Object.keys(b).length)?null:b}function k(a){if("number"==typeof a&&Number.isFinite(a))return{total:a};if(a&&"object"==typeof a){let b=Number(a.total);if(Number.isFinite(b))return{...a,total:b}}return null}function l(a,b,c){if(!a||"object"!=typeof a)return a;let d={...a},f=k(d.cost)?.total;if(!("number"==typeof f&&Number.isFinite(f)&&f>0)){let a=(0,e.getPricingForModel)(b,c);if(a){let b=m(d)||d;f=(0,e.calculateCostFromTokens)(b,a)}}if("number"==typeof f&&Number.isFinite(f)){let a=d.cost&&"object"==typeof d.cost?d.cost:{};d.cost={...a,total:f}}return d}function m(a){let b;if(!a||"object"!=typeof a||Array.isArray(a))return null;let c=a=>Number.isFinite(Number(a))?Number(a):0,d=c(a.completion_tokens??a.output_tokens),e=c(a.reasoning_tokens),f=c(a.cache_creation_input_tokens??a.prompt_tokens_details?.cache_creation_tokens),g=c(a.prompt_tokens??a.input_tokens);void 0===a.cached_tokens&&(void 0!==a.cache_read_input_tokens||void 0!==a.cache_creation_input_tokens)?g=g+(b=c(a.cache_read_input_tokens))+f:b=c(a.cached_tokens??a.prompt_tokens_details?.cached_tokens);let h={prompt_tokens:g,completion_tokens:d,total_tokens:g+d,cached_tokens:b,cache_creation_input_tokens:f},i=b=>{if(null===a[b]||void 0===a[b]||""===a[b])return;let c=Number(a[b]);Number.isFinite(c)&&c>=0&&(h[b]=c)};return i("cost_usd"),i("cost_in_usd"),i("cost_in_usd_ticks"),e>0&&(h.reasoning_tokens=e),h}function n(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function o(a){if(!a||"object"!=typeof a)return null;if("message_start"===a.type&&a.message?.usage&&"object"==typeof a.message.usage){let b=a.message.usage;return j({prompt_tokens:b.input_tokens||0,completion_tokens:b.output_tokens||0,cache_read_input_tokens:b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens,cost_usd:b.cost_usd,cost_in_usd:b.cost_in_usd,cost_in_usd_ticks:b.cost_in_usd_ticks})}if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage)return j({prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens,cost_usd:a.usage.cost_usd,cost_in_usd:a.usage.cost_in_usd,cost_in_usd_ticks:a.usage.cost_in_usd_ticks});if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage,c=b.input_tokens_details?.cached_tokens;return j({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:c,reasoning_tokens:b.output_tokens_details?.reasoning_tokens,cost_usd:b.cost_usd,cost_in_usd:b.cost_in_usd,cost_in_usd_ticks:b.cost_in_usd_ticks,prompt_tokens_details:c?{cached_tokens:c}:void 0})}if(a.usage&&"object"==typeof a.usage&&void 0!==a.usage.prompt_tokens)return j({prompt_tokens:a.usage.prompt_tokens,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens||a.usage.prompt_cache_hit_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens,cost_usd:a.usage.cost_usd,cost_in_usd:a.usage.cost_in_usd,cost_in_usd_ticks:a.usage.cost_in_usd_ticks,prompt_tokens_details:a.usage.prompt_tokens_details,completion_tokens_details:a.usage.completion_tokens_details,cost:a.usage.cost});let b=a.usageMetadata||a.response?.usageMetadata;return b&&"object"==typeof b?j({prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,total_tokens:b.totalTokenCount,cached_tokens:b.cachedContentTokenCount,reasoning_tokens:b.thoughtsTokenCount}):!0===a.done&&"number"==typeof a.prompt_eval_count?j({prompt_tokens:a.prompt_eval_count||0,completion_tokens:a.eval_count||0,total_tokens:(a.prompt_eval_count||0)+(a.eval_count||0)}):null}function p(a,b){if(!a)return b||null;if(!b)return a;let c={...a};for(let[a,d]of Object.entries(b))"number"==typeof d&&Number.isFinite(d)?c[a]=Math.max("number"==typeof c[a]?c[a]:0,d):d&&"object"==typeof d&&(c[a]=d);return c}function q(a){if(!a||"object"!=typeof a)return 0;try{let b=JSON.stringify(a);return Math.ceil(b.length/4)}catch{return 0}}function r(a,b,c=d.h.OPENAI,e={}){return function(a,b,c,e={}){let f=!1!==e.buffer?h:a=>a;return f(c===d.h.CLAUDE?{input_tokens:a,output_tokens:b,estimated:!0}:{prompt_tokens:a,completion_tokens:b,total_tokens:a+b,estimated:!0})}(q(a),b&&!(b<=0)?Math.max(1,Math.floor(b/4)):0,c,e)}function s(a,b,c=null,d=null,e=null){if(!b||"object"!=typeof b||!f)return;let h=a?.toUpperCase()||"UNKNOWN",i=b?.prompt_tokens||b?.input_tokens||0,j=b?.completion_tokens||b?.output_tokens||0,k=d?d.slice(0,8)+"...":"unknown",l=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${g.green}[USAGE] ${h} | in=${i} | out=${j} | account=${k}${g.reset}`;b.estimated&&(l+=` ${g.yellow}(estimated)${g.reset}`);let m=b.cache_read_input_tokens||b.cached_tokens||b.prompt_tokens_details?.cached_tokens;m&&(l+=` | cache_read=${m}`);let n=b.cache_creation_input_tokens;n&&(l+=` | cache_create=${n}`);let o=b.reasoning_tokens;o&&(l+=` | reasoning=${o}`),console.log(l)}}};
@@ -1 +1 @@
1
- "use strict";exports.id=7716,exports.ids=[6958,7716],exports.modules={26958:(a,b,c)=>{c.d(b,{Ah:()=>h,Pg:()=>p,installCatalogSource:()=>q,l9:()=>g});var d=c(73024),e=c(76760),f=c(53859);let g=e.join(f.n,"model-catalog.json"),h=e.join(f.n,"model-catalog-raw.json"),i={models:{},providers:{}},j=i,k=-1;function l(a){return a?(a.includes("/")?a.split("/").pop():a).toLowerCase().split(":")[0]:""}function m(){let a;try{a=d.statSync(g).mtimeMs}catch{return k=-1,j=i}if(a===k)return j;k=a;try{let a=JSON.parse(d.readFileSync(g,"utf8"));j={models:a?.models||{},providers:a?.providers||{}}}catch{j=i}return j}function n(a){return m().models[l(a)]||null}function o(a,b){let c=a&&m().providers[a];return c&&(c[b]||c[l(b)])||null}function p(){k=-1}async function q(){let{setCatalogSource:a}=await Promise.all([c.e(1253),c.e(9303)]).then(c.bind(c,19303));a({getModalities:n,getLimits:o})}},53859:(a,b,c)=>{c.d(b,{n:()=>l});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="ezrouter";function k(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}let l=function(){let a=process.env.DATA_DIR;if(!a)return k();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),k();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),k();throw b}}()},57716:(a,b,c)=>{c.d(b,{startModelCatalogSync:()=>q});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(26958);let i={image:"vision",pdf:"pdf",audio:"audioInput",video:"videoInput"},j={glm:"zai","glm-cn":"zhipuai",claude:"anthropic",gemini:"google",kimi:"moonshotai","kimi-cn":"moonshotai-cn",qwen:"alibaba","qwen-cn":"alibaba-cn",zhipu:"zhipuai",hunyuan:"tencent",doubao:"volcengine","cloudflare-ai":"cloudflare-workers-ai"},k={running:!1,lastSync:null,lastError:null,lastResult:null,etag:null},l=null;function m(a){return(a.includes("/")?a.split("/").pop():a).toLowerCase().split(":")[0]}function n(a,b){e().mkdirSync(g().dirname(a),{recursive:!0}),e().writeFileSync(`${a}.tmp`,b,"utf8"),e().renameSync(`${a}.tmp`,a)}async function o(){let[{default:a},{getCapabilitiesForModel:b,setCatalogSource:d}]=await Promise.all([c.e(7603).then(c.bind(c,57603)),Promise.all([c.e(1253),c.e(9303)]).then(c.bind(c,19303))]);d(null);let e=[];for(let c of a)for(let a of c.models||[])e.push({provider:c.id,model:a.id,contextLength:a.contextLength,current:b(c.id,a.id)});return e}async function p(){if(k.running)return null;k.running=!0;try{let a,b={accept:"application/json"};k.etag&&(b["if-none-match"]=k.etag);let c=await fetch("https://models.dev/api.json",{headers:b,signal:AbortSignal.timeout(6e4)});if(304===c.status)a={status:"unchanged"};else if(c.ok){let b=await c.json(),d=c.headers.get("etag")||null,e=await o(),{models:f,providers:g}=function(a,b){let c={},d={};for(let[b,e]of Object.entries(a)){let a={},f=new Set;for(let[b,c]of Object.entries(e?.models||{})){let e=m(b);if(a[e]=c,f.has(e))continue;f.add(e);let g=d[e]||(d[e]={total:0});for(let a of(g.total++,c?.modalities?.input||[])){let b=i[a];b&&(g[b]=(g[b]||0)+1)}}c[b]=a}let e={};for(let[a,b]of Object.entries(d)){let c={};for(let a of Object.values(i))(b[a]||0)/b.total>=.5&&(c[a]=!0);Object.keys(c).length&&(e[a]=c)}let f={};for(let{provider:d,model:e,contextLength:g,current:h}of b){let b=j[d],i=a[d]?d:b&&a[b]?b:null,k=i&&c[i]?.[m(e)];if(!k)continue;let l={},{context:n,output:o}=k.limit||{};n>0&&!g&&Math.abs(n-h.contextWindow)/h.contextWindow>.1&&(l.contextWindow=n),o>0&&Math.abs(o-h.maxOutput)/h.maxOutput>.1&&(l.maxOutput=o),Object.keys(l).length&&((f[d]||(f[d]={}))[e]=l)}return{models:e,providers:f}}(b,e),l=JSON.stringify({v:1,etag:d,syncedAt:Date.now(),models:f,providers:g});n(h.l9,l),n(h.Ah,JSON.stringify(function(a){let b={};for(let[c,d]of Object.entries(a)){let a={};for(let[b,c]of Object.entries(d?.models||{}))a[b]={i:(c?.modalities?.input||[]).filter(a=>"text"!==a),c:c?.limit?.context,o:c?.limit?.output,r:c?.reasoning||void 0};b[c]=a}return b}(b))),k.etag=d,(0,h.Pg)(),a={status:"updated",etag:d,bytes:Buffer.byteLength(l),models:Object.keys(f).length,providers:Object.keys(g).length},console.log(`[modelCatalog] ${a.models} models, ${a.providers} providers, ${(a.bytes/1024).toFixed(1)}KB`)}else throw Error(`HTTP ${c.status}`);return k.lastSync=Date.now(),k.lastError=null,k.lastResult=a,a}catch(a){return k.lastError=a?.message||String(a),console.log(`[modelCatalog] sync failed: ${k.lastError}`),null}finally{await (0,h.installCatalogSource)().catch(()=>{}),k.running=!1}}function q(){if(l||"off"===String(process.env.MODEL_CATALOG_SYNC||"").toLowerCase())return;try{k.etag=JSON.parse(e().readFileSync(h.l9,"utf8")).etag||null,k.lastSync=e().statSync(h.l9).mtimeMs}catch{k.etag=null}let a=b=>{l=setTimeout(async()=>{a(await p()?864e5:18e5)},b),l.unref?.()};a(6e4)}}};
1
+ "use strict";exports.id=7716,exports.ids=[6958,7716],exports.modules={26958:(a,b,c)=>{c.d(b,{$i:()=>i,Ah:()=>h,Pg:()=>q,installCatalogSource:()=>r,l9:()=>g});var d=c(73024),e=c(76760),f=c(53859);let g=e.join(f.n,"model-catalog.json"),h=e.join(f.n,"model-catalog-raw.json"),i=2,j={models:{},providers:{}},k=j,l=-1;function m(a){return a?(a.includes("/")?a.split("/").pop():a).toLowerCase().split(":")[0]:""}function n(){let a;try{a=d.statSync(g).mtimeMs}catch{return l=-1,k=j}if(a===l)return k;l=a;try{let a=JSON.parse(d.readFileSync(g,"utf8"));k={models:a?.models||{},providers:a?.providers||{}}}catch{k=j}return k}function o(a,b){return a&&n().models[`${a}:${m(b)}`]||null}function p(a,b){let c=a&&n().providers[a];return c&&(c[b]||c[m(b)])||null}function q(){l=-1}async function r(){let{setCatalogSource:a}=await Promise.all([c.e(1253),c.e(9303)]).then(c.bind(c,19303));a({getModalities:o,getLimits:p})}},53859:(a,b,c)=>{c.d(b,{n:()=>l});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="ezrouter";function k(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}let l=function(){let a=process.env.DATA_DIR;if(!a)return k();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),k();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),k();throw b}}()},57716:(a,b,c)=>{c.d(b,{startModelCatalogSync:()=>q});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(26958);let i={image:"vision",pdf:"pdf",audio:"audioInput",video:"videoInput"},j={glm:"zai","glm-cn":"zhipuai",claude:"anthropic",gemini:"google",kimi:"moonshotai","kimi-cn":"moonshotai-cn",qwen:"alibaba","qwen-cn":"alibaba-cn",zhipu:"zhipuai",hunyuan:"tencent",doubao:"volcengine","cloudflare-ai":"cloudflare-workers-ai"},k={running:!1,lastSync:null,lastError:null,lastResult:null,etag:null,fileVersion:null},l=null;function m(a){return(a.includes("/")?a.split("/").pop():a).toLowerCase().split(":")[0]}function n(a,b){e().mkdirSync(g().dirname(a),{recursive:!0}),e().writeFileSync(`${a}.tmp`,b,"utf8"),e().renameSync(`${a}.tmp`,a)}async function o(){let[{default:a},{getCapabilitiesForModel:b,setCatalogSource:d}]=await Promise.all([c.e(2750).then(c.bind(c,97512)),Promise.all([c.e(1253),c.e(9303)]).then(c.bind(c,19303))]);d(null);let e=[];for(let c of a)for(let a of c.models||[])e.push({provider:c.id,model:a.id,contextLength:a.contextLength,current:b(c.id,a.id)});return e}async function p(){if(k.running)return null;k.running=!0;try{let a,b={accept:"application/json"};k.etag&&k.fileVersion===h.$i&&(b["if-none-match"]=k.etag);let c=await fetch("https://models.dev/api.json",{headers:b,signal:AbortSignal.timeout(6e4)});if(304===c.status)a={status:"unchanged"};else if(c.ok){let b=await c.json(),d=c.headers.get("etag")||null,e=await o(),{models:f,providers:g}=function(a,b){let c=new Map;for(let{provider:a}of b){let b=j[a]||a,d=c.get(b);d||c.set(b,d=[]),d.includes(a)||d.push(a)}let d={},e={};for(let[b,f]of Object.entries(a)){let a=c.get(b)||[b],g={},h=new Set;for(let[c,d]of Object.entries(f?.models||{})){let f=m(c);if(g[f]=d,h.has(f))continue;h.add(f);let j={};for(let a of d?.modalities?.input||[]){let b=i[a];b&&(j[b]=!0)}if(Object.keys(j).length){for(let b of a)e[`${b}:${f}`]=j;a.includes(b)||(e[`${b}:${f}`]=j)}}d[b]=g}let f={};for(let{provider:c,model:e,contextLength:g,current:h}of b){let b=j[c],i=a[c]?c:b&&a[b]?b:null,k=i&&d[i]?.[m(e)];if(!k)continue;let l={},{context:n,output:o}=k.limit||{};n>0&&!g&&Math.abs(n-h.contextWindow)/h.contextWindow>.1&&(l.contextWindow=n),o>0&&Math.abs(o-h.maxOutput)/h.maxOutput>.1&&(l.maxOutput=o),Object.keys(l).length&&((f[c]||(f[c]={}))[e]=l)}return{models:e,providers:f}}(b,e),l=JSON.stringify({v:h.$i,etag:d,syncedAt:Date.now(),models:f,providers:g});n(h.l9,l),n(h.Ah,JSON.stringify(function(a){let b={};for(let[c,d]of Object.entries(a)){let a={};for(let[b,c]of Object.entries(d?.models||{}))a[b]={i:(c?.modalities?.input||[]).filter(a=>"text"!==a),c:c?.limit?.context,o:c?.limit?.output,r:c?.reasoning||void 0};b[c]=a}return b}(b))),k.etag=d,k.fileVersion=h.$i,(0,h.Pg)(),a={status:"updated",etag:d,bytes:Buffer.byteLength(l),models:Object.keys(f).length,providers:Object.keys(g).length},console.log(`[modelCatalog] ${a.models} models, ${a.providers} providers, ${(a.bytes/1024).toFixed(1)}KB`)}else throw Error(`HTTP ${c.status}`);return k.lastSync=Date.now(),k.lastError=null,k.lastResult=a,a}catch(a){return k.lastError=a?.message||String(a),console.log(`[modelCatalog] sync failed: ${k.lastError}`),null}finally{await (0,h.installCatalogSource)().catch(()=>{}),k.running=!1}}function q(){if(l||"off"===String(process.env.MODEL_CATALOG_SYNC||"").toLowerCase())return;try{let a=JSON.parse(e().readFileSync(h.l9,"utf8"));k.etag=a.etag||null,k.fileVersion=a.v||1,k.lastSync=e().statSync(h.l9).mtimeMs}catch{k.etag=null,k.fileVersion=null}let a=b=>{l=setTimeout(async()=>{a(await p()?864e5:18e5)},b),l.unref?.()};a(6e4)}}};
@@ -1 +1 @@
1
- "use strict";exports.id=7775,exports.ids=[7775],exports.modules={48595:(a,b,c)=>{c.d(b,{UY:()=>g,oc:()=>h});var d=c(90053),e=c(63995),f=c(78492);Object.entries(e.Q2).filter(([,a])=>a.passthroughModels).map(([a])=>a),Object.entries(f.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),d.rE;let g={maxLines:200,pollIntervalMs:1e3,streamTimeoutMs:5e3},h={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingInactiveSession:!0,inactiveMinPingIntervalMs:18e6,pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},62397:(a,b,c)=>{c.d(b,{d5:()=>d,nh:()=>e});let d="-review";function e(a){if(!a||"string"!=typeof a)return!1;let b=a.replace(/\([^()]+\)\s*$/,"").trim(),c=b.includes("/")?b.split("/").pop():b;return/^muse[-_]?spark(?:$|[-_:.\s])/i.test(c)}},63995:(a,b,c)=>{c.d(b,{Q2:()=>m});var d=c(57603);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.default.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.default.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.baseUrlField?{baseUrlField:a.baseUrlField}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.models?{models:a.models}:{},...a.authModes?{authModes:a.authModes}:{},...a.features?{features:{...a.features}}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m={...h,...i,...j,...k,...l};Object.values(m).reduce((a,b)=>(a[b.alias]=b.id,a),{}),Object.values(m).reduce((a,b)=>(a[b.id]=b.alias,a),{}),d.default.filter(a=>a.features?.usage).map(a=>a.id),d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)},67775:(a,b,c)=>{c.d(b,{initConsoleLogCapture:()=>l});var d=c(94735),e=c(48595);let f=["log","info","warn","error","debug"];global._consoleLogBufferState||(global._consoleLogBufferState={logs:[],revision:0,patched:!1,originals:{},emitter:new d.EventEmitter},global._consoleLogBufferState.emitter.setMaxListeners(50));let g=global._consoleLogBufferState;function h(){if(g.flushTimer=null,!g.pendingLines.length)return;let a=g.pendingLines.splice(0,g.pendingLines.length);g.emitter.emit("lines",a)}g.emitter||(g.emitter=new d.EventEmitter,g.emitter.setMaxListeners(50)),g.pendingLines||(g.pendingLines=[]),g.flushTimer||(g.flushTimer=null),Number.isSafeInteger(g.revision)||(g.revision=0);let i=/\x1b\[[0-9;]*m/g;function j(a){return a.replace(i,"")}function k(a){if("string"==typeof a)return j(a);if(a instanceof Error)return j(a.stack||a.message||String(a));try{return j(JSON.stringify(a))}catch{return j(String(a))}}function l(){if(!g.patched){for(let a of f)g.originals[a]=console[a],console[a]=(...b)=>{!function(a){g.logs.push(a),g.revision+=1;let b=e.UY.maxLines;g.logs.length>b&&(g.logs=g.logs.slice(-b)),g.pendingLines.push(a),g.pendingLines.length>=50?(g.flushTimer&&(clearTimeout(g.flushTimer),g.flushTimer=null),h()):g.flushTimer||(g.flushTimer=setTimeout(h,100),g.flushTimer?.unref?.())}(b.map(k).join(" ")),g.originals[a](...b)};g.patched=!0}}},68531:(a,b,c)=>{c.d(b,{h:()=>d});let d={OPENAI:"openai",OPENAI_RESPONSES:"openai-responses",OPENAI_RESPONSE:"openai-response",CLAUDE:"claude",GEMINI:"gemini",GEMINI_CLI:"gemini-cli",VERTEX:"vertex",CODEX:"codex",ANTIGRAVITY:"antigravity",KIRO:"kiro",CURSOR:"cursor",OLLAMA:"ollama",COMMANDCODE:"commandcode"}},78492:(a,b,c)=>{c.d(b,{kt:()=>k,vq:()=>f.vq});var d=c(38421),e=c(57603),f=c(15251),g=c(97915),h=c(62397);c(68531);let i=new Set(["kr","kiro"]),j=new Map;for(let[a,b]of Object.entries(f.vq)){if(!Array.isArray(b))continue;let c=new Map,d=new Map;for(let e of b)if(e?.id!=null&&(c.set(e.id,e),i.has(a))){let a=(0,g.Kq)(e.id);a!==e.id&&d.set(a,e)}j.set(a,{exact:c,normalized:d})}function k(a,b){let c=m[a]||a,d="string"==typeof b?b.match(/\([^()]+\)\s*$/):null,e=d?d[0]:"",k=e?b.slice(0,d.index).trim():b,l=function(a,b,c){if(!a)return;let d="string"==typeof b?b.replace(/\([^()]+\)\s*$/,"").trim():b,e=j.get(c);if(e){let a=e.exact.get(d);return a||(e.normalized.size?e.normalized.get(d):void 0)}let f=a.find(a=>a.id===d);if(f)return f;if(!i.has(c))return;let h=(0,g.Kq)(d);if(h!==d)return a.find(a=>a.id===h)}(f.vq[c]||f.vq[a],k,c),n=l?.upstreamModelId||l?.id;if(n){let a=n.match(/\([^()]+\)\s*$/),b=a?.[0]||"";return(b?n.slice(0,a.index).trim():n)+(e||b)}return"cx"===c&&"string"==typeof k&&k.endsWith(h.d5)?k.slice(0,-h.d5.length)+e:k+e}let l=Object.fromEntries(e.default.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),m=Object.fromEntries(Object.keys(d.xq).map(a=>[a,l[a]||a]))},90053:a=>{a.exports={rE:"0.6.7"}}};
1
+ "use strict";exports.id=7775,exports.ids=[7775],exports.modules={48595:(a,b,c)=>{c.d(b,{UY:()=>g,oc:()=>h});var d=c(90053),e=c(63995),f=c(78492);Object.entries(e.Q2).filter(([,a])=>a.passthroughModels).map(([a])=>a),Object.entries(f.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),d.rE;let g={maxLines:200,pollIntervalMs:1e3,streamTimeoutMs:5e3},h={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingInactiveSession:!0,inactiveMinPingIntervalMs:18e6,pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},63995:(a,b,c)=>{c.d(b,{Q2:()=>m});var d=c(97512);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.default.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.default.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.fastMode?{fastMode:a.fastMode}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.baseUrlField?{baseUrlField:a.baseUrlField}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.models?{models:a.models}:{},...a.authModes?{authModes:a.authModes}:{},...a.features?{features:{...a.features}}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{},...a.apiKeyOptionalWith?{apiKeyOptionalWith:a.apiKeyOptionalWith}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m={...h,...i,...j,...k,...l};Object.values(m).reduce((a,b)=>(a[b.alias]=b.id,a),{}),Object.values(m).reduce((a,b)=>(a[b.id]=b.alias,a),{}),d.default.filter(a=>a.features?.usage).map(a=>a.id),d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)},67775:(a,b,c)=>{c.d(b,{initConsoleLogCapture:()=>l});var d=c(94735),e=c(48595);let f=["log","info","warn","error","debug"];global._consoleLogBufferState||(global._consoleLogBufferState={logs:[],revision:0,patched:!1,originals:{},emitter:new d.EventEmitter},global._consoleLogBufferState.emitter.setMaxListeners(50));let g=global._consoleLogBufferState;function h(){if(g.flushTimer=null,!g.pendingLines.length)return;let a=g.pendingLines.splice(0,g.pendingLines.length);g.emitter.emit("lines",a)}g.emitter||(g.emitter=new d.EventEmitter,g.emitter.setMaxListeners(50)),g.pendingLines||(g.pendingLines=[]),g.flushTimer||(g.flushTimer=null),Number.isSafeInteger(g.revision)||(g.revision=0);let i=/\x1b\[[0-9;]*m/g;function j(a){return a.replace(i,"")}function k(a){if("string"==typeof a)return j(a);if(a instanceof Error)return j(a.stack||a.message||String(a));try{return j(JSON.stringify(a))}catch{return j(String(a))}}function l(){if(!g.patched){for(let a of f)g.originals[a]=console[a],console[a]=(...b)=>{!function(a){g.logs.push(a),g.revision+=1;let b=e.UY.maxLines;g.logs.length>b&&(g.logs=g.logs.slice(-b)),g.pendingLines.push(a),g.pendingLines.length>=50?(g.flushTimer&&(clearTimeout(g.flushTimer),g.flushTimer=null),h()):g.flushTimer||(g.flushTimer=setTimeout(h,100),g.flushTimer?.unref?.())}(b.map(k).join(" ")),g.originals[a](...b)};g.patched=!0}}},68531:(a,b,c)=>{c.d(b,{h:()=>d});let d={OPENAI:"openai",OPENAI_RESPONSES:"openai-responses",OPENAI_RESPONSE:"openai-response",CLAUDE:"claude",GEMINI:"gemini",GEMINI_CLI:"gemini-cli",VERTEX:"vertex",CODEX:"codex",ANTIGRAVITY:"antigravity",KIRO:"kiro",CURSOR:"cursor",OLLAMA:"ollama",COMMANDCODE:"commandcode"}},78492:(a,b,c)=>{c.d(b,{SM:()=>i,kt:()=>l,vq:()=>f.vq});var d=c(38421),e=c(97512),f=c(15251),g=c(97915),h=c(62397);function i(a){return f.vq[a]||[]}c(68531);let j=new Set(["kr","kiro"]),k=new Map;for(let[a,b]of Object.entries(f.vq)){if(!Array.isArray(b))continue;let c=new Map,d=new Map;for(let e of b)if(e?.id!=null&&(c.set(e.id,e),j.has(a))){let a=(0,g.Kq)(e.id);a!==e.id&&d.set(a,e)}k.set(a,{exact:c,normalized:d})}function l(a,b){let c=n[a]||a,d="string"==typeof b?b.match(/\([^()]+\)\s*$/):null,e=d?d[0]:"",i=e?b.slice(0,d.index).trim():b,l=function(a,b,c){if(!a)return;let d="string"==typeof b?b.replace(/\([^()]+\)\s*$/,"").trim():b,e=k.get(c);if(e){let a=e.exact.get(d);return a||(e.normalized.size?e.normalized.get(d):void 0)}let f=a.find(a=>a.id===d);if(f)return f;if(!j.has(c))return;let h=(0,g.Kq)(d);if(h!==d)return a.find(a=>a.id===h)}(f.vq[c]||f.vq[a],i,c),m=l?.upstreamModelId||l?.id;if(m){let a=m.match(/\([^()]+\)\s*$/),b=a?.[0]||"";return(b?m.slice(0,a.index).trim():m)+(e||b)}return"cx"===c&&"string"==typeof i&&i.endsWith(h.d5)?i.slice(0,-h.d5.length)+e:i+e}let m=Object.fromEntries(e.default.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),n=Object.fromEntries(Object.keys(d.xq).map(a=>[a,m[a]||a]))},90053:a=>{a.exports={rE:"0.6.9"}}};
@@ -1 +1 @@
1
- "use strict";exports.id=7828,exports.ids=[7828],exports.modules={15186:(a,b,c)=>{c.d(b,{Ou:()=>i,eG:()=>h});var d=c(28730);let e=new Map,f=new Map,g=null;async function h(a,b,c="gemini-cli"){if(!a||!b)return null;let d=e.get(a);if(d&&Date.now()-d.fetchedAt<36e5)return d.projectId;if(f.has(a))return f.get(a).promise;let g=new AbortController,i=(async()=>{try{let d=await j(b,g.signal,c);if(d)return e.set(a,{projectId:d,fetchedAt:Date.now()}),d;return console.warn("[ProjectId] could not fetch projectId for connection",a.slice(0,8)),null}catch(a){return console.warn(`[ProjectId] Error fetching project ID: ${a.message}`),null}finally{f.delete(a)}})();return f.set(a,{promise:i,controller:g,startedAt:Date.now()}),i}function i(a){e.delete(a)}async function j(a,b,c){let e=d.nZ[c]||d.nZ["gemini-cli"],f="antigravity"===c?d.j5:d.Ic,g=await fetch(e.loadCodeAssist,{method:"POST",headers:{...f,Authorization:`Bearer ${a}`},body:JSON.stringify({metadata:d.zv}),signal:b});if(!g.ok){let a=await g.text().catch(()=>"");throw Error(`loadCodeAssist failed: HTTP ${g.status} ${a.slice(0,200)}`)}let h=await g.json(),i=function(a){if(!a)return null;if("string"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.trim();if(b)return b}if(a.cloudaicompanionProject&&"object"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.id;if("string"==typeof b&&b.trim())return b.trim()}return null}(h);if(i)return i;let j="legacy-tier";if(Array.isArray(h.allowedTiers)){for(let a of h.allowedTiers)if(a&&"object"==typeof a&&!0===a.isDefault&&a.id&&"string"==typeof a.id&&a.id.trim()){j=a.id.trim();break}}return k(a,j,b,e,c)}async function k(a,b,c,e,f){console.log(`[ProjectId] Onboarding user with tier: ${b}`);let g={tierId:b,metadata:d.zv},h="antigravity"===f?d.j5:d.Ic,i=Number(process.env.ONBOARD_MAX_ATTEMPTS)||2,j=Number(process.env.ONBOARD_RETRY_DELAY_MS)||12e3;for(let b=1;b<=i&&!c?.aborted;b++){let d=new AbortController,f=setTimeout(()=>d.abort(),3e4),k=()=>d.abort();c?.addEventListener("abort",k);try{let c=await fetch(e.onboardUser,{method:"POST",headers:{...h,Authorization:`Bearer ${a}`},body:JSON.stringify(g),signal:d.signal});if(clearTimeout(f),!c.ok){let a=await c.text().catch(()=>"");throw Error(`onboardUser HTTP ${c.status}: ${a.slice(0,200)}`)}let k=await c.json();if(!0===k.done){let a=function(a){if(!a?.response)return null;let b=a.response.cloudaicompanionProject;if("string"==typeof b){let a=b.trim();if(a)return a}if(b&&"object"==typeof b){let a=b.id;if("string"==typeof a&&a.trim())return a.trim()}return null}(k);if(a)return console.log(`[ProjectId] Successfully onboarded, project ID: ${a}`),a;return console.warn("[ProjectId] onboardUser finished without a project ID (account not provisioned)"),null}let l=Math.floor(5e3*Math.random());console.log(`[ProjectId] Onboard attempt ${b}/${i}: not done yet, waiting...`),await new Promise(a=>setTimeout(a,j+l))}catch(d){if(clearTimeout(f),"AbortError"===d.name){if(console.warn(`[ProjectId] onboardUser attempt ${b} aborted (timeout or connection removed)`),c?.aborted)return null;continue}if(b===i)return console.warn(`[ProjectId] onboardUser failed after ${i} attempts: ${d.message}`),null;let a=Math.floor(5e3*Math.random());console.warn(`[ProjectId] onboardUser attempt ${b} failed: ${d.message}, retrying...`),await new Promise(b=>setTimeout(b,j+a))}finally{clearTimeout(f),c?.removeEventListener("abort",k)}}return null}g=setInterval(()=>{try{let a=Date.now();for(let[b,c]of e)(!c||a-c.fetchedAt>=36e5)&&e.delete(b);for(let[b,c]of f){if(!c||"number"!=typeof c.startedAt){f.delete(b);continue}if(a-c.startedAt>12e4){try{c.controller.abort()}catch(a){}f.delete(b)}}}catch(a){console.warn("[ProjectId] cleanup sweep error:",a?.message??a)}},6e5),g?.unref?.()},67828:(a,b,c)=>{c.d(b,{I9:()=>j,Wm:()=>k,checkAndRefreshToken:()=>p,go:()=>l,vN:()=>o});var d=c(7803),e=c(89718),f=c(15186),g=c(85640),h=c(18129);let i=g.oD,j=(a,b,c)=>(0,g.I9)(a,b,c,d),k=a=>(0,g.Wm)(a,d),l=a=>(0,g.go)(a,d);function m(a){return new Date(Date.now()+1e3*a).toISOString()}function n(a){if(!a)return null;let b=new Date(a);return Number.isFinite(b.getTime())?b.toISOString():null}async function o(a,b){try{let c={};if(b.accessToken&&(c.accessToken=b.accessToken),b.refreshToken&&(c.refreshToken=b.refreshToken),b.idToken&&(c.idToken=b.idToken),b.lastRefreshAt&&(c.lastRefreshAt=b.lastRefreshAt),b.expiresAt&&(c.expiresAt=b.expiresAt),b.expiresIn)c.expiresAt=m(b.expiresIn),c.expiresIn=b.expiresIn;else if(b.expiresAt){let a=n(b.expiresAt);a&&(c.expiresAt=a,c.expiresIn=Math.max(1,Math.floor((new Date(a).getTime()-Date.now())/1e3)))}if(b.providerSpecificData&&(c.providerSpecificData={...b.existingProviderSpecificData||{},...b.providerSpecificData}),b.refreshToken){let a=c.providerSpecificData||b.existingProviderSpecificData;a&&(c.providerSpecificData={...a,refreshToken:b.refreshToken})}(b.copilotToken||b.copilotTokenExpiresAt)&&(c.providerSpecificData={...c.providerSpecificData||b.existingProviderSpecificData||{},...b.copilotToken?{copilotToken:b.copilotToken}:{},...b.copilotTokenExpiresAt?{copilotTokenExpiresAt:b.copilotTokenExpiresAt}:{}}),b.projectId&&(c.projectId=b.projectId);let f=await (0,e.updateProviderConnection)(a,c);return d.info("TOKEN_REFRESH","Credentials updated in localDb",{connectionId:a,success:!!f}),!!f}catch(b){return d.error("TOKEN_REFRESH","Error updating credentials in localDb",{connectionId:a,error:b.message}),!1}}async function p(a,b,c={}){let e=c&&"function"==typeof c.needsRefresh?c:null,j=c&&"object"==typeof c&&!e?c:{},k={...b};if(!k.connectionId&&k.id&&(k.connectionId=k.id),j?.force===!0||(e?e.needsRefresh(k):(0,h.fp)(a,k))){let b=k.expiresAt?new Date(k.expiresAt).getTime():null,c=b?b-Date.now():null,e=(0,g.Og)(a);d.info("TOKEN_REFRESH","Refreshing provider credentials proactively",{provider:a,expiresIn:null===c?null:Math.round(c/1e3),refreshLeadMs:e,lastRefreshAt:k.lastRefreshAt||null});let i=await (0,h.Vq)(a,k,d);if(i?.accessToken||i?.apiKey||i?.copilotToken){let b={...i,existingProviderSpecificData:k.providerSpecificData};await o(k.connectionId,b),(k={...k,...i,expiresAt:i.expiresIn?m(i.expiresIn):n(i.expiresAt)||i.expiresAt||k.expiresAt,providerSpecificData:i.providerSpecificData?{...k.providerSpecificData,...i.providerSpecificData}:k.providerSpecificData}).projectId||function(a,b,c){("antigravity"===a||"gemini-cli"===a)&&b&&c&&((0,f.Ou)(b),"true"===process.env.EAGER_PROJECT_ID_REFRESH&&(0,f.eG)(b,c,a).then(a=>{a&&o(b,{projectId:a}).catch(a=>{d.debug("TOKEN_REFRESH","Failed to persist refreshed projectId",{connectionId:b,error:a?.message??a})})}).catch(a=>{d.debug("TOKEN_REFRESH","Failed to fetch projectId after token refresh",{connectionId:b,error:a?.message??a})}))}(a,k.connectionId,k.accessToken)}}if("github"===a){let b=k.providerSpecificData?.copilotToken,c=(k.providerSpecificData?.copilotTokenExpiresAt?1e3*k.providerSpecificData.copilotTokenExpiresAt:0)-Date.now();if(!b||c<i){let e;d.info("TOKEN_REFRESH","Copilot token expiring soon or missing, refreshing proactively",{provider:a,expiresIn:b?Math.round(c/1e3):"missing"});let f=await (e=k.accessToken,(0,g.jR)(e,d));if(f){let a={...k.providerSpecificData,copilotToken:f.token,copilotTokenExpiresAt:f.expiresAt};await o(k.connectionId,{providerSpecificData:a}),k.providerSpecificData=a,k.copilotToken=f.token}}}return k}}};
1
+ "use strict";exports.id=7828,exports.ids=[7828],exports.modules={15186:(a,b,c)=>{c.d(b,{Ou:()=>i,eG:()=>h});var d=c(28730);let e=new Map,f=new Map,g=null;async function h(a,b,c="gemini-cli"){if(!a||!b)return null;let d=e.get(a);if(d&&Date.now()-d.fetchedAt<36e5)return d.projectId;if(f.has(a))return f.get(a).promise;let g=new AbortController,i=(async()=>{try{let d=await j(b,g.signal,c);if(d)return e.set(a,{projectId:d,fetchedAt:Date.now()}),d;return console.warn("[ProjectId] could not fetch projectId for connection",a.slice(0,8)),null}catch(a){return console.warn(`[ProjectId] Error fetching project ID: ${a.message}`),null}finally{f.delete(a)}})();return f.set(a,{promise:i,controller:g,startedAt:Date.now()}),i}function i(a){e.delete(a)}async function j(a,b,c){let e=d.nZ[c]||d.nZ["gemini-cli"],f="antigravity"===c?d.j5:d.Ic,g=await fetch(e.loadCodeAssist,{method:"POST",headers:{...f,Authorization:`Bearer ${a}`},body:JSON.stringify({metadata:d.zv}),signal:b});if(!g.ok){let a=await g.text().catch(()=>"");throw Error(`loadCodeAssist failed: HTTP ${g.status} ${a.slice(0,200)}`)}let h=await g.json(),i=function(a){if(!a)return null;if("string"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.trim();if(b)return b}if(a.cloudaicompanionProject&&"object"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.id;if("string"==typeof b&&b.trim())return b.trim()}return null}(h);if(i)return i;let j="legacy-tier";if(Array.isArray(h.allowedTiers)){for(let a of h.allowedTiers)if(a&&"object"==typeof a&&!0===a.isDefault&&a.id&&"string"==typeof a.id&&a.id.trim()){j=a.id.trim();break}}return k(a,j,b,e,c)}async function k(a,b,c,e,f){console.log(`[ProjectId] Onboarding user with tier: ${b}`);let g={tierId:b,metadata:d.zv},h="antigravity"===f?d.j5:d.Ic,i=Number(process.env.ONBOARD_MAX_ATTEMPTS)||2,j=Number(process.env.ONBOARD_RETRY_DELAY_MS)||12e3;for(let b=1;b<=i&&!c?.aborted;b++){let d=new AbortController,f=setTimeout(()=>d.abort(),3e4),k=()=>d.abort();c?.addEventListener("abort",k);try{let c=await fetch(e.onboardUser,{method:"POST",headers:{...h,Authorization:`Bearer ${a}`},body:JSON.stringify(g),signal:d.signal});if(clearTimeout(f),!c.ok){let a=await c.text().catch(()=>"");throw Error(`onboardUser HTTP ${c.status}: ${a.slice(0,200)}`)}let k=await c.json();if(!0===k.done){let a=function(a){if(!a?.response)return null;let b=a.response.cloudaicompanionProject;if("string"==typeof b){let a=b.trim();if(a)return a}if(b&&"object"==typeof b){let a=b.id;if("string"==typeof a&&a.trim())return a.trim()}return null}(k);if(a)return console.log(`[ProjectId] Successfully onboarded, project ID: ${a}`),a;return console.warn("[ProjectId] onboardUser finished without a project ID (account not provisioned)"),null}let l=Math.floor(5e3*Math.random());console.log(`[ProjectId] Onboard attempt ${b}/${i}: not done yet, waiting...`),await new Promise(a=>setTimeout(a,j+l))}catch(d){if(clearTimeout(f),"AbortError"===d.name){if(console.warn(`[ProjectId] onboardUser attempt ${b} aborted (timeout or connection removed)`),c?.aborted)return null;continue}if(b===i)return console.warn(`[ProjectId] onboardUser failed after ${i} attempts: ${d.message}`),null;let a=Math.floor(5e3*Math.random());console.warn(`[ProjectId] onboardUser attempt ${b} failed: ${d.message}, retrying...`),await new Promise(b=>setTimeout(b,j+a))}finally{clearTimeout(f),c?.removeEventListener("abort",k)}}return null}g=setInterval(()=>{try{let a=Date.now();for(let[b,c]of e)(!c||a-c.fetchedAt>=36e5)&&e.delete(b);for(let[b,c]of f){if(!c||"number"!=typeof c.startedAt){f.delete(b);continue}if(a-c.startedAt>12e4){try{c.controller.abort()}catch(a){}f.delete(b)}}}catch(a){console.warn("[ProjectId] cleanup sweep error:",a?.message??a)}},6e5),g?.unref?.()},67828:(a,b,c)=>{c.d(b,{I9:()=>j,Wm:()=>k,checkAndRefreshToken:()=>p,go:()=>l,vN:()=>o});var d=c(7803),e=c(89718),f=c(15186),g=c(85640),h=c(18129);let i=g.oD,j=(a,b,c)=>(0,g.I9)(a,b,c,d),k=a=>(0,g.Wm)(a,d),l=a=>(0,g.go)(a,d);function m(a){return new Date(Date.now()+1e3*a).toISOString()}function n(a){let b=(0,h.jR)(a);return null===b?null:new Date(b).toISOString()}async function o(a,b){try{let c={};if(b.accessToken&&(c.accessToken=b.accessToken),b.refreshToken&&(c.refreshToken=b.refreshToken),b.idToken&&(c.idToken=b.idToken),b.lastRefreshAt&&(c.lastRefreshAt=b.lastRefreshAt),b.expiresAt&&(c.expiresAt=b.expiresAt),b.expiresIn)c.expiresAt=m(b.expiresIn),c.expiresIn=b.expiresIn;else if(b.expiresAt){let a=n(b.expiresAt);a&&(c.expiresAt=a,c.expiresIn=Math.max(1,Math.floor((new Date(a).getTime()-Date.now())/1e3)))}if(b.providerSpecificData&&(c.providerSpecificData={...b.existingProviderSpecificData||{},...b.providerSpecificData}),b.refreshToken){let a=c.providerSpecificData||b.existingProviderSpecificData;a&&(c.providerSpecificData={...a,refreshToken:b.refreshToken})}(b.copilotToken||b.copilotTokenExpiresAt)&&(c.providerSpecificData={...c.providerSpecificData||b.existingProviderSpecificData||{},...b.copilotToken?{copilotToken:b.copilotToken}:{},...b.copilotTokenExpiresAt?{copilotTokenExpiresAt:b.copilotTokenExpiresAt}:{}}),b.projectId&&(c.projectId=b.projectId);let f=await (0,e.updateProviderConnection)(a,c);return d.info("TOKEN_REFRESH","Credentials updated in localDb",{connectionId:a,success:!!f}),!!f}catch(b){return d.error("TOKEN_REFRESH","Error updating credentials in localDb",{connectionId:a,error:b.message}),!1}}async function p(a,b,c={}){let e=c&&"function"==typeof c.needsRefresh?c:null,j=c&&"object"==typeof c&&!e?c:{},k={...b};if(!k.connectionId&&k.id&&(k.connectionId=k.id),j?.force===!0||(e?e.needsRefresh(k):(0,h.fp)(a,k))){let b=k.expiresAt?new Date(k.expiresAt).getTime():null,c=b?b-Date.now():null,e=(0,g.Og)(a);d.info("TOKEN_REFRESH","Refreshing provider credentials proactively",{provider:a,expiresIn:null===c?null:Math.round(c/1e3),refreshLeadMs:e,lastRefreshAt:k.lastRefreshAt||null});let i=await (0,h.Vq)(a,k,d);if(i?.accessToken||i?.apiKey||i?.copilotToken){let b={...i,existingProviderSpecificData:k.providerSpecificData};await o(k.connectionId,b),(k={...k,...i,expiresAt:i.expiresIn?m(i.expiresIn):n(i.expiresAt)||i.expiresAt||k.expiresAt,providerSpecificData:i.providerSpecificData?{...k.providerSpecificData,...i.providerSpecificData}:k.providerSpecificData}).projectId||function(a,b,c){("antigravity"===a||"gemini-cli"===a)&&b&&c&&((0,f.Ou)(b),"true"===process.env.EAGER_PROJECT_ID_REFRESH&&(0,f.eG)(b,c,a).then(a=>{a&&o(b,{projectId:a}).catch(a=>{d.debug("TOKEN_REFRESH","Failed to persist refreshed projectId",{connectionId:b,error:a?.message??a})})}).catch(a=>{d.debug("TOKEN_REFRESH","Failed to fetch projectId after token refresh",{connectionId:b,error:a?.message??a})}))}(a,k.connectionId,k.accessToken)}}if("github"===a){let b=k.providerSpecificData?.copilotToken,c=(k.providerSpecificData?.copilotTokenExpiresAt?1e3*k.providerSpecificData.copilotTokenExpiresAt:0)-Date.now();if(!b||c<i){let e;d.info("TOKEN_REFRESH","Copilot token expiring soon or missing, refreshing proactively",{provider:a,expiresIn:b?Math.round(c/1e3):"missing"});let f=await (e=k.accessToken,(0,g.jR)(e,d));if(f){let a={...k.providerSpecificData,copilotToken:f.token,copilotTokenExpiresAt:f.expiresAt};await o(k.connectionId,{providerSpecificData:a}),k.providerSpecificData=a,k.copilotToken=f.token}}}return k}}};
@@ -1 +1 @@
1
- "use strict";exports.id=8129,exports.ids=[8129],exports.modules={18080:(a,b,c)=>{c.d(b,{Xj:()=>j,uo:()=>k});var d=c(92990);let e=new Set(["login.microsoftonline.com","login.microsoft.com","login.windows.net"]);function f(a){return"string"==typeof a?a.trim():""}function g(a){let b,c=f(a);if(!c)throw Error("token_endpoint is required");try{b=new URL(c)}catch{throw Error("token_endpoint must be a valid URL")}if("https:"!==b.protocol)throw Error("token_endpoint must use https");let d=b.hostname.toLowerCase();if(!e.has(d))throw Error("token_endpoint must be a Microsoft login endpoint");return b.toString()}function h(a){return Array.isArray(a)?a.map(f).filter(Boolean).join(" "):f(a)}function i(a){try{if(!a||"string"!=typeof a)return null;let b=a.split(".");if(3!==b.length)return null;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=(4-c.length%4)%4;return JSON.parse(Buffer.from(`${c}${"=".repeat(d)}`,"base64").toString("utf8"))}catch{return null}}function j(a){let b=a;if("string"==typeof b)try{b=JSON.parse(b)}catch{throw Error("CLIProxyAPI auth JSON is invalid")}if(!b||"object"!=typeof b)throw Error("CLIProxyAPI auth JSON is required");let c=f(b.auth_method||b.authMethod);if(c&&"external_idp"!==c)throw Error("Only external_idp Kiro auth is supported by this importer");let e=f(b.access_token||b.accessToken),j=f(b.refresh_token||b.refreshToken),k=f(b.client_id||b.clientId),l=g(b.token_endpoint||b.tokenEndpoint),m=f(b.profile_arn||b.profileArn),n=f(b.region)||"us-east-1",o=h(b.scopes||b.scope),p=(0,d.S6)(n);if(!e)throw Error("access_token is required");if(!j)throw Error("refresh_token is required");if(!k)throw Error("client_id is required");if(!o)throw Error("scopes is required");if(!m)throw Error("profile_arn is required");let q=i(e),r=b.email||q?.email||q?.preferred_username||q?.upn||q?.sub||null;return{accessToken:e,refreshToken:j,expiresAt:function(a){let b=a.expired||a.expires_at||a.expiresAt;if(b){let a=new Date(b).getTime();if(Number.isFinite(a))return new Date(a).toISOString()}let c=Number(a.expires_in||a.expiresIn||0);if(Number.isFinite(c)&&c>0)return new Date(Date.now()+1e3*c).toISOString();let d=i(a.access_token||a.accessToken);return d?.exp?new Date(1e3*d.exp).toISOString():new Date(Date.now()+36e5).toISOString()}(b),email:r,providerSpecificData:{profileArn:m,region:p,authMethod:"external_idp",provider:"CLIProxyAPI",clientId:k,tokenEndpoint:l,scope:o}}}function k(a,b={}){let c=f(b.clientId||b.client_id),d=g(b.tokenEndpoint||b.token_endpoint),e=h(b.scope||b.scopes);if(!a)throw Error("refresh token is required");if(!c)throw Error("clientId is required for external_idp refresh");if(!e)throw Error("scope is required for external_idp refresh");return{tokenEndpoint:d,body:new URLSearchParams({grant_type:"refresh_token",client_id:c,refresh_token:a,scope:e}),providerSpecificData:{...b,authMethod:"external_idp",clientId:c,tokenEndpoint:d,scope:e}}}},18129:(a,b,c)=>{c.d(b,{Dz:()=>i,Vq:()=>l,fp:()=>j});var d=c(85640),e=c(39141);let f=e.sr.codex?.maxRefreshAgeMs,g=new Map;function h(a){if(null==a||""===a)return null;if("number"==typeof a)return a<1e12?1e3*a:a;let b=new Date(a).getTime();return Number.isFinite(b)?b:null}function i(a,b=Date.now()){let c=h(a?.expiresAt??a?.tokenExpiresAt);if(null!==c)return c;let d=a?.expiresIn;return"number"==typeof d&&d>0?b+1e3*d:null}function j(a,b,c=Date.now()){if(!b)return!1;let g=i(b);if(null!==g&&g-c<(0,d.Og)(a))return!0;let k=e.sr[a]?.maxRefreshAgeMs;return!!(k&&b.refreshToken&&function(a,b=Date.now(),c=f){let d=h(a?.lastRefreshAt??a?.lastRefresh??a?.providerSpecificData?.lastRefreshAt);return!d||b-d>=c}(b,c,k))}async function k(a,b,c){let d,e=(d=b?.connectionId||b?.id||b?.email||b?.name||b?.refreshToken?.slice?.(-16)||"default",`${a}:${d}`),f=g.get(e);if(f)return f;let h=Promise.resolve().then(c).finally(()=>{g.delete(e)});return g.set(e,h),h}async function l(a,b,c){return b?k(a,b,async()=>{let f=await (0,d.$B)(a,b,c);return function(a,b,c,f=Date.now()){var g,h;if(!c)return null;if((0,d.jT)(c))return c;let i={},j=new Date(f).toISOString();c.accessToken&&(i.accessToken=c.accessToken),c.apiKey&&(i.apiKey=c.apiKey),c.token&&(i.token=c.token);let k=c.refreshToken??b?.refreshToken;k&&(i.refreshToken=k);let l=c.idToken??b?.idToken;return l&&(i.idToken=l),c.expiresIn?(i.expiresIn=c.expiresIn,i.expiresAt=function(a,b=Date.now()){return a?new Date(b+1e3*a).toISOString():null}(c.expiresIn,f)):c.expiresAt&&(i.expiresAt=c.expiresAt),c.projectId&&(i.projectId=c.projectId),c.providerSpecificData&&(g=b?.providerSpecificData,i.providerSpecificData=(h=c.providerSpecificData)&&"object"==typeof h?{...g||{},...h}:g),c.copilotToken&&(i.copilotToken=c.copilotToken),c.copilotTokenExpiresAt&&(i.copilotTokenExpiresAt=c.copilotTokenExpiresAt),(e.sr[a]?.trackRefreshAt||i.accessToken||i.apiKey||i.token||i.refreshToken||i.copilotToken)&&(i.lastRefreshAt=c.lastRefreshAt||j),i}(a,b,f)}):null}},21362:(a,b,c)=>{c.d(b,{J1:()=>n,ge:()=>q,Il:()=>p,XB:()=>A,SO:()=>z,Wm:()=>t,jR:()=>y,ZP:()=>G,go:()=>F,EF:()=>x,I9:()=>r,AH:()=>w,ng:()=>o,Ql:()=>v,Ms:()=>E,RM:()=>B,p9:()=>D,r_:()=>l,wt:()=>C});var d=c(31024),e=c(4630),f=c(28730),g=c(89843);let h=new Map;async function i(a,b,c,d){if(!b)return c();let e=`${a}:${b}`,f=h.get(e);if(f){if(f.promise)return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),f.promise;if(f.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),f.result;h.delete(e)}let g=(async()=>{try{let a=await c();return h.set(e,{result:a,expiresAt:Date.now()+1e4}),a}catch(a){throw h.delete(e),a}})();return h.set(e,{promise:g}),g}var j=c(18080);let k=null;async function l(a,b){return a?i("xai",a,async()=>{try{k||(k=new(await Promise.all([c.e(2898),c.e(4730)]).then(c.bind(c,84730))).XaiService);let b=await k.refreshAccessToken(a);return{accessToken:b.access_token,refreshToken:b.refresh_token||a,expiresIn:b.expires_in,idToken:b.id_token}}catch(c){b?.warn?.("TOKEN_REFRESH",`xai refresh failed: ${c?.message||c}`);let a=String(c?.message||"");if(a.includes("invalid_grant")||a.includes("invalid_request"))return{error:"invalid_grant"};return null}},b):null}let m={claude:{bodyFormat:"json",includeClientSecret:!1,url:()=>f.NA.anthropic.token,dedupKey:"claude"},qwen:{url:()=>f.NA.qwen.token,dedupKey:"qwen",parse:a=>a.resource_url?{providerSpecificData:{resourceUrl:a.resource_url}}:{}},iflow:{url:()=>f.NA.iflow.token,dedupKey:"iflow",extraHeaders:(a,b)=>({Authorization:`Basic ${btoa(`${b.clientId}:${b.clientSecret}`)}`})},github:{url:()=>f.NA.github.token,dedupKey:"github",includeClientSecret:a=>!!a?.clientSecret},kimi:{dedupKey:"kimi",extraHeaders:a=>(0,f.buildKimiHeaders)(a?.providerSpecificData?.deviceId)}};async function n(a,b,c,d){let f=e.xq[a],g=m[a]||{},h=function(a,b,c){if(c?.url)try{return c.url()}catch{}return b?.refreshUrl||e.sr[a]?.tokenUrl||null}(a,f,g);return f&&h?b?i(g.dedupKey||a,b,async()=>{try{let e,i,j,{format:k,body:l}=(e=g?.bodyFormat==="json"?"json":"form",i=g?.includeClientSecret===void 0||("function"==typeof g.includeClientSecret?g.includeClientSecret(f):g.includeClientSecret),j={grant_type:"refresh_token",refresh_token:b,client_id:f.clientId},(i&&f.clientSecret&&(j.client_secret=f.clientSecret),"json"===e)?{format:"json",body:JSON.stringify(j)}:{format:"form",body:new URLSearchParams(j)}),m={"Content-Type":"json"===k?"application/json":"application/x-www-form-urlencoded",Accept:"application/json",...g.extraHeaders&&g.extraHeaders(c,f)||{}},n=await fetch(h,{method:"POST",headers:m,body:l});if(!n.ok){let b=await n.text();return d?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:n.status,error:b}),null}let o=await n.json();return d?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!o.access_token,hasNewRefreshToken:!!o.refresh_token,expiresIn:o.expires_in}),{accessToken:o.access_token,refreshToken:o.refresh_token||b,expiresIn:o.expires_in,...g.parse&&g.parse(o)||{}}}catch(b){return d?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},d):(d?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null):(d?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null)}async function o(a,b,c){return n("kimi",a,b,c)}async function p(a,b){return a?i("cline",a,async()=>{try{let c=await fetch(e.xq.cline?.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Cline token",{status:c.status,error:a}),null}let d=await c.json(),f=d?.data||d;if(!f?.accessToken)return null;let g=f.expiresAt?Math.max(1,Math.floor((new Date(f.expiresAt).getTime()-Date.now())/1e3)):f.expiresIn||f.expires_in||3600;return{accessToken:f.accessToken,refreshToken:f.refreshToken||a,expiresIn:g}}catch(a){return b?.error?.("TOKEN_REFRESH",`Error refreshing Cline token: ${a.message}`),null}},b):null}async function q(a,b){return n("claude",a,{},b)}async function r(a,b,c,d){return a?i(`google:${b}`,a,async()=>{try{let e=await fetch(f.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!e.ok){let a=await e.text();return d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:e.status,error:a}),null}let g=await e.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return d?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},d):null}function s(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error?.code||c?.error||c?.error_code||"",e=c?.error_description||c?.message||a||"",f=`${d} ${e}`.toLowerCase();return{status:b,code:d,description:e,permanent:["refresh_token_expired","refresh_token_reused","refresh_token_invalidated","invalid_grant"].some(a=>f.includes(a))}}async function t(a,b){return a?i("codex",a,async()=>{try{let c=await fetch(f.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:e.xq.codex.clientId,grant_type:"refresh_token",refresh_token:a})});if(!c.ok){let a=await c.text(),d=s(a,c.status);if(d.permanent)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-auth required.",{status:c.status,code:d.code}),{error:"unrecoverable_refresh_error",code:d.code};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a,code:d.code,permanent:d.permanent}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,hasIdToken:!!d.id_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||a,idToken:d.id_token,expiresIn:d.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function u(a,b,d){if(a?.profileArn)return{};let e=d?.trim?.()||null;if(!e){let{fetchKiroProfileArn:a}=await Promise.all([c.e(7774),c.e(4646),c.e(1847),c.e(8851),c.e(3148),c.e(576),c.e(9865),c.e(7353),c.e(2021),c.e(7677),c.e(880),c.e(1744),c.e(369),c.e(6330)]).then(c.bind(c,74177));e=await a(b)}return e?{providerSpecificData:{profileArn:e}}:{}}async function v(a,b,c,d=null){return a?i("kiro",a,async()=>{let f=b?.authMethod,h=b?.clientId,i=b?.clientSecret,k=b?.region;if("external_idp"===f){let e;try{e=(0,j.uo)(a,b)}catch(a){return c?.warn?.("TOKEN_REFRESH",`Invalid Kiro external_idp refresh config: ${a.message}`),null}let f=await (0,g.proxyAwareFetch)(e.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:e.body},d);if(!f.ok){let a=await f.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro external_idp token",{status:f.status,error:a}),null}let h=await f.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro external_idp token",{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in,providerSpecificData:e.providerSpecificData}}if(h&&i){let e="idc"===f&&k?`https://oidc.${k}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",j=await (0,g.proxyAwareFetch)(e,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:h,clientSecret:i,refreshToken:a,grantType:"refresh_token"})},d);if(!j.ok){let a=await j.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:j.status,error:a}),null}let l=await j.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!l.accessToken,expiresIn:l.expiresIn}),{accessToken:l.accessToken,refreshToken:l.refreshToken||a,expiresIn:l.expiresIn,...await u(b,l.accessToken,l.profileArn)}}let l=await (0,g.proxyAwareFetch)(e.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:a})},d);if(!l.ok){let a=await l.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:l.status,error:a}),null}let m=await l.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!m.accessToken,expiresIn:m.expiresIn}),{accessToken:m.accessToken,refreshToken:m.refreshToken||a,expiresIn:m.expiresIn,...await u(b,m.accessToken,m.profileArn)}},c):null}async function w(a,b){return n("iflow",a,{},b)}async function x(a,b){return n("github",a,{},b)}async function y(a,b){return a?i("copilot",a,async()=>{try{let c=await fetch(e.sr.github?.copilotTokenUrl,{headers:{Authorization:`token ${a}`,"User-Agent":f.x0.USER_AGENT,"Editor-Version":`vscode/${f.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${f.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":f.x0.API_VERSION}});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!d.token,expiresAt:d.expires_at}),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}},b):null}async function z(a,b){return a?i("codebuddy-cn",a,async()=>{let c=e.sr["codebuddy-cn"]||{},d=await fetch(c.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":c.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!d.ok){let a=await d.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh CodeBuddy token",{status:d.status,error:a}),null}let f=await d.json();return 0===f.code&&f.data?.accessToken?(b?.info?.("TOKEN_REFRESH","Successfully refreshed CodeBuddy token",{hasNewAccessToken:!!f.data.accessToken,hasNewRefreshToken:!!f.data.refreshToken,expiresIn:f.data.expiresIn}),{accessToken:f.data.accessToken,refreshToken:f.data.refreshToken||a,expiresIn:f.data.expiresIn}):(b?.error?.("TOKEN_REFRESH","CodeBuddy token refresh returned no token",{code:f.code,msg:f.msg}),null)},b):null}async function A(a,b){return a?i("codebuddy-intl",a,async()=>{let c=e.sr["codebuddy-intl"]||{},d=await fetch(c.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":c.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"www.codebuddy.ai","X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!d.ok){let a=await d.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh CodeBuddy intl token",{status:d.status,error:a}),null}let f=await d.json();return 0===f.code&&f.data?.accessToken?(b?.info?.("TOKEN_REFRESH","Successfully refreshed CodeBuddy intl token",{hasNewAccessToken:!!f.data.accessToken,hasNewRefreshToken:!!f.data.refreshToken,expiresIn:f.data.expiresIn}),{accessToken:f.data.accessToken,refreshToken:f.data.refreshToken||a,expiresIn:f.data.expiresIn}):(b?.error?.("TOKEN_REFRESH","CodeBuddy intl token refresh returned no token",{code:f.code,msg:f.msg}),null)},b):null}async function B(a,b,c){if(!a)return null;let d=e.sr.trae||{},f=d.exchangeTokenUrl||d.tokenUrl;return f?i("trae",a,async()=>{try{let b,e=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"Trae/1.0.0 antigravity-cockpit-tools"},body:JSON.stringify({ClientID:d.clientId||"ono9krqynydwx5",RefreshToken:a,ClientSecret:d.clientSecret||"-",UserID:""})});if(!e.ok){let a=await e.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Trae token",{status:e.status,error:a}),null}let g=await e.json(),h=g?.Result||g?.result||g,i=h?.AccessToken||h?.accessToken;if(!i)return c?.error?.("TOKEN_REFRESH","Trae refresh returned no AccessToken",{payload:g}),null;let j=h?.RefreshToken||h?.refreshToken||a,k=h?.ExpiresAt||h?.expiresAt;if("number"==typeof k)b=Math.max(1,k-Math.floor(Date.now()/1e3));else if("string"==typeof k){let a=new Date(k).getTime()-Date.now();b=a>0?Math.floor(a/1e3):void 0}return c?.info?.("TOKEN_REFRESH","Successfully refreshed Trae token",{hasNewAccessToken:!!i,hasNewRefreshToken:j!==a,expiresIn:b}),{accessToken:i,refreshToken:j,expiresIn:b}}catch(a){return c?.error?.("TOKEN_REFRESH",`Error refreshing Trae token: ${a.message}`),null}},c):(c?.warn?.("TOKEN_REFRESH","No Trae exchangeTokenUrl configured"),null)}function C(){return null}async function D(a,b){return b?.info?.("TOKEN_REFRESH","windsurf: apiKey is long-lived (no refresh_token flow) — skipping"),null}async function E(a,b="intl",d){return a?i(`qoder:${b||"intl"}`,a,async()=>{try{let e=new(await Promise.all([c.e(8851),c.e(3912)]).then(c.bind(c,91531))).QoderService({profile:b}),f=await e.refreshDeviceToken(a);return d?.info?.("TOKEN_REFRESH","Successfully refreshed Qoder device token",{profile:b,hasNewAccessToken:!!f.accessToken,hasNewRefreshToken:!!f.refreshToken,expiresIn:f.expiresIn}),{accessToken:f.accessToken,refreshToken:f.refreshToken||a,expiresIn:f.expiresIn}}catch(c){let a=c?.status;if(d?.error?.("TOKEN_REFRESH",`Qoder device refresh failed (${b})`,{error:c?.message||String(c),status:a}),401===a||403===a)return{error:"invalid_grant",message:c?.message||"Qoder refresh rejected"};return null}},d):null}async function F(a,b){return a?i("frontier-for-all",a,async()=>{try{let c=await fetch(f.NA["frontier-for-all"].token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:e.xq["frontier-for-all"].clientId})});if(!c.ok){let a=await c.text().catch(()=>""),d=s(a,c.status);if(d.permanent)return b?.error?.("TOKEN_REFRESH","Frontier refresh token rotated or revoked. Re-login required.",{status:c.status,code:d.code}),{error:"unrecoverable_refresh_error",code:d.code};return b?.error?.("TOKEN_REFRESH","Failed to refresh Frontier token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Frontier token",{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Frontier token: ${a.message}`),null}},b):null}async function G(a,b){return a?i("cursor",a,async()=>{try{let c=await new d.q().refreshToken(a);return b?.info?.("TOKEN_REFRESH","Successfully refreshed Cursor token",{hasNewAccessToken:!!c.accessToken,hasNewRefreshToken:!!c.refreshToken,expiresIn:c.expiresIn}),c}catch(a){return b?.warn?.("TOKEN_REFRESH",`Cursor refresh failed: ${a?.message||a}`),null}},b):null}},31024:(a,b,c)=>{c.d(b,{q:()=>h});var d=c(55511),e=c.n(d),f=c(92990);function g(a){let b="string"==typeof a?a.split("."):[];if(3!==b.length||!b[1])return null;try{return JSON.parse(Buffer.from(b[1],"base64url").toString("utf8"))}catch{return null}}class h{constructor(){this.config=f.WN}getAuthorizationData(a="login"){let b=e().randomBytes(32).toString("base64url"),c=e().createHash("sha256").update(b).digest("base64url"),d=e().randomUUID(),f=new URLSearchParams({challenge:c,uuid:d,mode:a,supportsSelectedTeamLogin:"true"});return{authUrl:`${this.config.loginUrl}?${f.toString()}`,uuid:d,verifier:b,expiresIn:300}}async pollToken(a,b,c){if(!a||!b)throw Error("Cursor OAuth session is incomplete");let d=new URLSearchParams({uuid:a,verifier:b}),f=await fetch(`${this.config.pollUrl}?${d.toString()}`,{headers:{Accept:"application/json","User-Agent":"Cursor/3.12.29","x-cursor-client-type":this.config.clientType,"x-ghost-mode":"implicit-false","x-new-onboarding-completed":"false",traceparent:`00-${e().randomBytes(16).toString("hex")}-${e().randomBytes(8).toString("hex")}-01`},signal:c});if(404===f.status)return{success:!1,pending:!0,error:"authorization_pending"};if(!f.ok)throw Error(`Cursor OAuth polling failed with HTTP ${f.status}`);let g=await f.json();if(!g.accessToken||!g.refreshToken)throw Error("Cursor OAuth response was missing tokens");return{success:!0,tokens:g}}async refreshToken(a){let b;if(!a||"string"!=typeof a)throw Error("Cursor refresh token is required");for(let d=0;d<3;d+=1){var c;try{let c=await fetch(this.config.refreshUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:"{}",signal:AbortSignal.timeout(15e3)});if(c.ok){let b=await c.json();if(!b.accessToken)throw Error("Cursor refresh response was missing an access token");return this.mapTokens(b.accessToken,b.refreshToken||a)}if(429!==c.status&&c.status<500){let a=Error(`Cursor token refresh failed with HTTP ${c.status}`);throw a.retryable=!1,a}b=Error(`Cursor token refresh failed with HTTP ${c.status}`)}catch(a){if(!1===a.retryable)throw a;b=a}d<2&&await function(a){return new Promise(b=>setTimeout(b,a))}((c=d,Math.floor(300*2**c*(.8+.4*Math.random()))))}throw b||Error("Cursor token refresh failed")}mapTokens(a,b,c=null,d="oauth"){let e,f=(e=g(a),"number"==typeof e?.exp?1e3*e.exp-3e5:Date.now()+36e5),h=this.extractUserInfo(a);return{accessToken:a,refreshToken:b,...c?{machineId:c}:{},expiresAt:new Date(f).toISOString(),expiresIn:Math.max(1,Math.floor((f-Date.now())/1e3)),email:h?.email||null,providerSpecificData:{authMethod:d,...c?{machineId:c}:{},...h?.userId?{userId:h.userId}:{}}}}async validateImportToken(a,b){if(!a||"string"!=typeof a)throw Error("Access token is required");if(!b||"string"!=typeof b)throw Error("Machine ID is required");if(a.length<50)throw Error("Invalid token format. Token appears too short.");if(!/^[a-f0-9-]{32,}$/i.test(b.replace(/-/g,"")))throw Error("Invalid machine ID format. Expected UUID format.");return this.mapTokens(a,null,b,"imported")}extractUserInfo(a){let b=g(a);return b?{email:"string"==typeof b.email&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(b.email)?b.email:null,userId:b.sub||b.user_id||null}:null}getTokenStorageInstructions(){return{title:"How to import your existing Cursor session",steps:["Open Cursor IDE and make sure you're logged in",`Linux: ${this.config.tokenStoragePaths.linux}`,`macOS: ${this.config.tokenStoragePaths.macos}`,`Windows: ${this.config.tokenStoragePaths.windows}`,"Read cursorAuth/accessToken and storage.serviceMachineId from itemTable"]}}}},85640:(a,b,c)=>{c.d(b,{$B:()=>o,I9:()=>f.I9,Og:()=>i,Ql:()=>f.Ql,Sc:()=>j,Wm:()=>f.Wm,go:()=>f.go,jR:()=>f.jR,jT:()=>h,oD:()=>g,pb:()=>l,qZ:()=>p});var d=c(4630),e=c(28730),f=c(21362);let g=3e5;function h(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}function i(a){return e.Wu[a]?e.Wu[a]:"kimi-coding"===a&&e.Wu.kimi?e.Wu.kimi:g}function j(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let k=new Map;async function l(a,b){let d=a.client_email,f=k.get(d);if(f&&f.expiresAt-Date.now()>3e5)return{accessToken:f.token,expiresAt:f.expiresAt};try{let{SignJWT:f,importPKCS8:g}=await Promise.all([c.e(4433),c.e(1455)]).then(c.bind(c,71455));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let h=await g(a.private_key.replace(/\\n/g,"\n"),"RS256"),i=Math.floor(Date.now()/1e3),j=await new f({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience(e.NA.google.token).setIssuedAt(i).setExpirationTime(i+3600).sign(h),l=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:j})});if(!l.ok){let a=await l.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:m,expires_in:n}=await l.json(),o=Date.now()+(n??3600)*1e3;return k.set(d,{token:m,expiresAt:o}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:m,expiresAt:o}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}function m(a,b){let c=j(a.apiKey);return c?l(c,b):null}let n={"frontier-for-all":(a,b)=>(0,f.go)(a.refreshToken,b),"gemini-cli":(a,b)=>(0,f.I9)(a.refreshToken,d.xq["gemini-cli"].clientId,d.xq["gemini-cli"].clientSecret,b),antigravity:(a,b)=>(0,f.I9)(a.refreshToken,d.xq.antigravity.clientId,d.xq.antigravity.clientSecret,b),claude:(a,b)=>(0,f.ge)(a.refreshToken,b),codex:(a,b)=>(0,f.Wm)(a.refreshToken,b),iflow:(a,b)=>(0,f.AH)(a.refreshToken,b),github:(a,b)=>(0,f.EF)(a.refreshToken,b),kiro:(a,b)=>(0,f.Ql)(a.refreshToken,a.providerSpecificData,b),cursor:(a,b)=>(0,f.ZP)(a.refreshToken,b),xai:(a,b)=>(0,f.r_)(a.refreshToken,b),"grok-cli":(a,b)=>(0,f.r_)(a.refreshToken,b),gcli:(a,b)=>(0,f.r_)(a.refreshToken,b),"codebuddy-cn":(a,b)=>(0,f.SO)(a.refreshToken,b),"codebuddy-intl":(a,b)=>(0,f.XB)(a.refreshToken,b),trae:(a,b)=>(0,f.RM)(a.refreshToken,a,b),cline:(a,b)=>(0,f.Il)(a.refreshToken,b),clinepass:(a,b)=>(0,f.Il)(a.refreshToken,b),zed:()=>(0,f.wt)(),windsurf:(a,b)=>(0,f.p9)(a,b),kimi:(a,b)=>(0,f.ng)(a.refreshToken,a,b),"kimi-coding":(a,b)=>(0,f.ng)(a.refreshToken,a,b),vertex:m,"vertex-partner":m};async function o(a,b,c){let d=b.refreshToken||b.providerSpecificData?.refreshToken;if(!d)return null;let e=d!==b.refreshToken?{...b,refreshToken:d}:b,g=n[a];return g?g(e,c):(0,f.J1)(a,d,e,c)}async function p(a,b=3,c=null){for(let d=0;d<b;d++){if(d>0){let a=1e3*d;c?.debug?.("TOKEN_REFRESH",`Retry ${d}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await a();if(b)return b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${d+1}/${b} failed: ${a.message}`)}}return c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed`),null}}};
1
+ "use strict";exports.id=8129,exports.ids=[8129],exports.modules={18080:(a,b,c)=>{c.d(b,{Xj:()=>j,uo:()=>k});var d=c(92990);let e=new Set(["login.microsoftonline.com","login.microsoft.com","login.windows.net"]);function f(a){return"string"==typeof a?a.trim():""}function g(a){let b,c=f(a);if(!c)throw Error("token_endpoint is required");try{b=new URL(c)}catch{throw Error("token_endpoint must be a valid URL")}if("https:"!==b.protocol)throw Error("token_endpoint must use https");let d=b.hostname.toLowerCase();if(!e.has(d))throw Error("token_endpoint must be a Microsoft login endpoint");return b.toString()}function h(a){return Array.isArray(a)?a.map(f).filter(Boolean).join(" "):f(a)}function i(a){try{if(!a||"string"!=typeof a)return null;let b=a.split(".");if(3!==b.length)return null;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=(4-c.length%4)%4;return JSON.parse(Buffer.from(`${c}${"=".repeat(d)}`,"base64").toString("utf8"))}catch{return null}}function j(a){let b=a;if("string"==typeof b)try{b=JSON.parse(b)}catch{throw Error("CLIProxyAPI auth JSON is invalid")}if(!b||"object"!=typeof b)throw Error("CLIProxyAPI auth JSON is required");let c=f(b.auth_method||b.authMethod);if(c&&"external_idp"!==c)throw Error("Only external_idp Kiro auth is supported by this importer");let e=f(b.access_token||b.accessToken),j=f(b.refresh_token||b.refreshToken),k=f(b.client_id||b.clientId),l=g(b.token_endpoint||b.tokenEndpoint),m=f(b.profile_arn||b.profileArn),n=f(b.region)||"us-east-1",o=h(b.scopes||b.scope),p=(0,d.S6)(n);if(!e)throw Error("access_token is required");if(!j)throw Error("refresh_token is required");if(!k)throw Error("client_id is required");if(!o)throw Error("scopes is required");if(!m)throw Error("profile_arn is required");let q=i(e),r=b.email||q?.email||q?.preferred_username||q?.upn||q?.sub||null;return{accessToken:e,refreshToken:j,expiresAt:function(a){let b=a.expired||a.expires_at||a.expiresAt;if(b){let a=new Date(b).getTime();if(Number.isFinite(a))return new Date(a).toISOString()}let c=Number(a.expires_in||a.expiresIn||0);if(Number.isFinite(c)&&c>0)return new Date(Date.now()+1e3*c).toISOString();let d=i(a.access_token||a.accessToken);return d?.exp?new Date(1e3*d.exp).toISOString():new Date(Date.now()+36e5).toISOString()}(b),email:r,providerSpecificData:{profileArn:m,region:p,authMethod:"external_idp",provider:"CLIProxyAPI",clientId:k,tokenEndpoint:l,scope:o}}}function k(a,b={}){let c=f(b.clientId||b.client_id),d=g(b.tokenEndpoint||b.token_endpoint),e=h(b.scope||b.scopes);if(!a)throw Error("refresh token is required");if(!c)throw Error("clientId is required for external_idp refresh");if(!e)throw Error("scope is required for external_idp refresh");return{tokenEndpoint:d,body:new URLSearchParams({grant_type:"refresh_token",client_id:c,refresh_token:a,scope:e}),providerSpecificData:{...b,authMethod:"external_idp",clientId:c,tokenEndpoint:d,scope:e}}}},18129:(a,b,c)=>{c.d(b,{Dz:()=>j,Vq:()=>m,fp:()=>k,jR:()=>i});var d=c(85640),e=c(39141);let f=e.sr.codex?.maxRefreshAgeMs,g=new Map,h=/^\d+(\.\d+)?$/;function i(a){if(null==a||""===a)return null;if("number"==typeof a||"string"==typeof a&&h.test(a.trim())){let b=Number(a);return Number.isFinite(b)?b<1e12?1e3*b:b:null}let b=new Date(a).getTime();return Number.isFinite(b)?b:null}function j(a,b=Date.now()){let c=i(a?.expiresAt??a?.tokenExpiresAt);if(null!==c)return c;let d=a?.expiresIn;return"number"==typeof d&&d>0?b+1e3*d:null}function k(a,b,c=Date.now()){if(!b)return!1;let g=j(b);if(null!==g&&g-c<(0,d.Og)(a))return!0;let h=e.sr[a]?.maxRefreshAgeMs;return!!(h&&b.refreshToken&&function(a,b=Date.now(),c=f){let d=i(a?.lastRefreshAt??a?.lastRefresh??a?.providerSpecificData?.lastRefreshAt);return!d||b-d>=c}(b,c,h))}async function l(a,b,c){let d,e=(d=b?.connectionId||b?.id||b?.email||b?.name||b?.refreshToken?.slice?.(-16)||"default",`${a}:${d}`),f=g.get(e);if(f)return f;let h=Promise.resolve().then(c).finally(()=>{g.delete(e)});return g.set(e,h),h}async function m(a,b,c){return b?l(a,b,async()=>{let f=await (0,d.$B)(a,b,c);return function(a,b,c,f=Date.now()){var g,h;if(!c)return null;if((0,d.jT)(c))return c;let i={},j=new Date(f).toISOString();c.accessToken&&(i.accessToken=c.accessToken),c.apiKey&&(i.apiKey=c.apiKey),c.token&&(i.token=c.token);let k=c.refreshToken??b?.refreshToken;k&&(i.refreshToken=k);let l=c.idToken??b?.idToken;return l&&(i.idToken=l),c.expiresIn?(i.expiresIn=c.expiresIn,i.expiresAt=function(a,b=Date.now()){return a?new Date(b+1e3*a).toISOString():null}(c.expiresIn,f)):c.expiresAt&&(i.expiresAt=c.expiresAt),c.projectId&&(i.projectId=c.projectId),c.providerSpecificData&&(g=b?.providerSpecificData,i.providerSpecificData=(h=c.providerSpecificData)&&"object"==typeof h?{...g||{},...h}:g),c.copilotToken&&(i.copilotToken=c.copilotToken),c.copilotTokenExpiresAt&&(i.copilotTokenExpiresAt=c.copilotTokenExpiresAt),(e.sr[a]?.trackRefreshAt||i.accessToken||i.apiKey||i.token||i.refreshToken||i.copilotToken)&&(i.lastRefreshAt=c.lastRefreshAt||j),i}(a,b,f)}):null}},21362:(a,b,c)=>{c.d(b,{J1:()=>n,ge:()=>q,Il:()=>p,XB:()=>A,SO:()=>z,Wm:()=>t,jR:()=>y,ZP:()=>G,go:()=>F,EF:()=>x,I9:()=>r,AH:()=>w,ng:()=>o,Ql:()=>v,Ms:()=>E,RM:()=>B,p9:()=>D,r_:()=>l,wt:()=>C});var d=c(31024),e=c(4630),f=c(28730),g=c(89843);let h=new Map;async function i(a,b,c,d){if(!b)return c();let e=`${a}:${b}`,f=h.get(e);if(f){if(f.promise)return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),f.promise;if(f.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),f.result;h.delete(e)}let g=(async()=>{try{let a=await c();return h.set(e,{result:a,expiresAt:Date.now()+1e4}),a}catch(a){throw h.delete(e),a}})();return h.set(e,{promise:g}),g}var j=c(18080);let k=null;async function l(a,b){return a?i("xai",a,async()=>{try{k||(k=new(await Promise.all([c.e(2898),c.e(4730)]).then(c.bind(c,84730))).XaiService);let b=await k.refreshAccessToken(a);return{accessToken:b.access_token,refreshToken:b.refresh_token||a,expiresIn:b.expires_in,idToken:b.id_token}}catch(c){b?.warn?.("TOKEN_REFRESH",`xai refresh failed: ${c?.message||c}`);let a=String(c?.message||"");if(a.includes("invalid_grant")||a.includes("invalid_request"))return{error:"invalid_grant"};return null}},b):null}let m={claude:{bodyFormat:"json",includeClientSecret:!1,url:()=>f.NA.anthropic.token,dedupKey:"claude"},qwen:{url:()=>f.NA.qwen.token,dedupKey:"qwen",parse:a=>a.resource_url?{providerSpecificData:{resourceUrl:a.resource_url}}:{}},iflow:{url:()=>f.NA.iflow.token,dedupKey:"iflow",extraHeaders:(a,b)=>({Authorization:`Basic ${btoa(`${b.clientId}:${b.clientSecret}`)}`})},github:{url:()=>f.NA.github.token,dedupKey:"github",includeClientSecret:a=>!!a?.clientSecret},kimi:{dedupKey:"kimi",extraHeaders:a=>(0,f.buildKimiHeaders)(a?.providerSpecificData?.deviceId)}};async function n(a,b,c,d){let f=e.xq[a],g=m[a]||{},h=function(a,b,c){if(c?.url)try{return c.url()}catch{}return b?.refreshUrl||e.sr[a]?.tokenUrl||null}(a,f,g);return f&&h?b?i(g.dedupKey||a,b,async()=>{try{let e,i,j,{format:k,body:l}=(e=g?.bodyFormat==="json"?"json":"form",i=g?.includeClientSecret===void 0||("function"==typeof g.includeClientSecret?g.includeClientSecret(f):g.includeClientSecret),j={grant_type:"refresh_token",refresh_token:b,client_id:f.clientId},(i&&f.clientSecret&&(j.client_secret=f.clientSecret),"json"===e)?{format:"json",body:JSON.stringify(j)}:{format:"form",body:new URLSearchParams(j)}),m={"Content-Type":"json"===k?"application/json":"application/x-www-form-urlencoded",Accept:"application/json",...g.extraHeaders&&g.extraHeaders(c,f)||{}},n=await fetch(h,{method:"POST",headers:m,body:l});if(!n.ok){let b=await n.text();return d?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:n.status,error:b}),null}let o=await n.json();return d?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!o.access_token,hasNewRefreshToken:!!o.refresh_token,expiresIn:o.expires_in}),{accessToken:o.access_token,refreshToken:o.refresh_token||b,expiresIn:o.expires_in,...g.parse&&g.parse(o)||{}}}catch(b){return d?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},d):(d?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null):(d?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null)}async function o(a,b,c){return n("kimi",a,b,c)}async function p(a,b){return a?i("cline",a,async()=>{try{let c=await fetch(e.xq.cline?.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Cline token",{status:c.status,error:a}),null}let d=await c.json(),f=d?.data||d;if(!f?.accessToken)return null;let g=f.expiresAt?Math.max(1,Math.floor((new Date(f.expiresAt).getTime()-Date.now())/1e3)):f.expiresIn||f.expires_in||3600;return{accessToken:f.accessToken,refreshToken:f.refreshToken||a,expiresIn:g}}catch(a){return b?.error?.("TOKEN_REFRESH",`Error refreshing Cline token: ${a.message}`),null}},b):null}async function q(a,b){return n("claude",a,{},b)}async function r(a,b,c,d){return a?i(`google:${b}`,a,async()=>{try{let e=await fetch(f.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!e.ok){let a=await e.text();return d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:e.status,error:a}),null}let g=await e.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return d?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},d):null}function s(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error?.code||c?.error||c?.error_code||"",e=c?.error_description||c?.message||a||"",f=`${d} ${e}`.toLowerCase();return{status:b,code:d,description:e,permanent:["refresh_token_expired","refresh_token_reused","refresh_token_invalidated","invalid_grant"].some(a=>f.includes(a))}}async function t(a,b){return a?i("codex",a,async()=>{try{let c=await fetch(f.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:e.xq.codex.clientId,grant_type:"refresh_token",refresh_token:a})});if(!c.ok){let a=await c.text(),d=s(a,c.status);if(d.permanent)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-auth required.",{status:c.status,code:d.code}),{error:"unrecoverable_refresh_error",code:d.code};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a,code:d.code,permanent:d.permanent}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,hasIdToken:!!d.id_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||a,idToken:d.id_token,expiresIn:d.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function u(a,b,d){if(a?.profileArn)return{};let e=d?.trim?.()||null;if(!e){let{fetchKiroProfileArn:a}=await Promise.all([c.e(7774),c.e(4646),c.e(1847),c.e(8851),c.e(576),c.e(9865),c.e(7353),c.e(2021),c.e(7677),c.e(6502),c.e(1764),c.e(369),c.e(5948)]).then(c.bind(c,71907));e=await a(b)}return e?{providerSpecificData:{profileArn:e}}:{}}async function v(a,b,c,d=null){return a?i("kiro",a,async()=>{let f=b?.authMethod,h=b?.clientId,i=b?.clientSecret,k=b?.region;if("external_idp"===f){let e;try{e=(0,j.uo)(a,b)}catch(a){return c?.warn?.("TOKEN_REFRESH",`Invalid Kiro external_idp refresh config: ${a.message}`),null}let f=await (0,g.proxyAwareFetch)(e.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:e.body},d);if(!f.ok){let a=await f.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro external_idp token",{status:f.status,error:a}),null}let h=await f.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro external_idp token",{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in,providerSpecificData:e.providerSpecificData}}if(h&&i){let e="idc"===f&&k?`https://oidc.${k}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",j=await (0,g.proxyAwareFetch)(e,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:h,clientSecret:i,refreshToken:a,grantType:"refresh_token"})},d);if(!j.ok){let a=await j.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:j.status,error:a}),null}let l=await j.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!l.accessToken,expiresIn:l.expiresIn}),{accessToken:l.accessToken,refreshToken:l.refreshToken||a,expiresIn:l.expiresIn,...await u(b,l.accessToken,l.profileArn)}}let l=await (0,g.proxyAwareFetch)(e.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:a})},d);if(!l.ok){let a=await l.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:l.status,error:a}),null}let m=await l.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!m.accessToken,expiresIn:m.expiresIn}),{accessToken:m.accessToken,refreshToken:m.refreshToken||a,expiresIn:m.expiresIn,...await u(b,m.accessToken,m.profileArn)}},c):null}async function w(a,b){return n("iflow",a,{},b)}async function x(a,b){return n("github",a,{},b)}async function y(a,b){return a?i("copilot",a,async()=>{try{let c=await fetch(e.sr.github?.copilotTokenUrl,{headers:{Authorization:`token ${a}`,"User-Agent":f.x0.USER_AGENT,"Editor-Version":`vscode/${f.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${f.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":f.x0.API_VERSION}});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!d.token,expiresAt:d.expires_at}),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}},b):null}async function z(a,b){return a?i("codebuddy-cn",a,async()=>{let c=e.sr["codebuddy-cn"]||{},d=await fetch(c.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":c.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!d.ok){let a=await d.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh CodeBuddy token",{status:d.status,error:a}),null}let f=await d.json();return 0===f.code&&f.data?.accessToken?(b?.info?.("TOKEN_REFRESH","Successfully refreshed CodeBuddy token",{hasNewAccessToken:!!f.data.accessToken,hasNewRefreshToken:!!f.data.refreshToken,expiresIn:f.data.expiresIn}),{accessToken:f.data.accessToken,refreshToken:f.data.refreshToken||a,expiresIn:f.data.expiresIn}):(b?.error?.("TOKEN_REFRESH","CodeBuddy token refresh returned no token",{code:f.code,msg:f.msg}),null)},b):null}async function A(a,b){return a?i("codebuddy-intl",a,async()=>{let c=e.sr["codebuddy-intl"]||{},d=await fetch(c.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":c.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"www.codebuddy.ai","X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!d.ok){let a=await d.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh CodeBuddy intl token",{status:d.status,error:a}),null}let f=await d.json();return 0===f.code&&f.data?.accessToken?(b?.info?.("TOKEN_REFRESH","Successfully refreshed CodeBuddy intl token",{hasNewAccessToken:!!f.data.accessToken,hasNewRefreshToken:!!f.data.refreshToken,expiresIn:f.data.expiresIn}),{accessToken:f.data.accessToken,refreshToken:f.data.refreshToken||a,expiresIn:f.data.expiresIn}):(b?.error?.("TOKEN_REFRESH","CodeBuddy intl token refresh returned no token",{code:f.code,msg:f.msg}),null)},b):null}async function B(a,b,c){if(!a)return null;let d=e.sr.trae||{},f=d.exchangeTokenUrl||d.tokenUrl;return f?i("trae",a,async()=>{try{let b,e=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"Trae/1.0.0 antigravity-cockpit-tools"},body:JSON.stringify({ClientID:d.clientId||"ono9krqynydwx5",RefreshToken:a,ClientSecret:d.clientSecret||"-",UserID:""})});if(!e.ok){let a=await e.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Trae token",{status:e.status,error:a}),null}let g=await e.json(),h=g?.Result||g?.result||g,i=h?.AccessToken||h?.accessToken;if(!i)return c?.error?.("TOKEN_REFRESH","Trae refresh returned no AccessToken",{payload:g}),null;let j=h?.RefreshToken||h?.refreshToken||a,k=h?.ExpiresAt||h?.expiresAt;if("number"==typeof k)b=Math.max(1,k-Math.floor(Date.now()/1e3));else if("string"==typeof k){let a=new Date(k).getTime()-Date.now();b=a>0?Math.floor(a/1e3):void 0}return c?.info?.("TOKEN_REFRESH","Successfully refreshed Trae token",{hasNewAccessToken:!!i,hasNewRefreshToken:j!==a,expiresIn:b}),{accessToken:i,refreshToken:j,expiresIn:b}}catch(a){return c?.error?.("TOKEN_REFRESH",`Error refreshing Trae token: ${a.message}`),null}},c):(c?.warn?.("TOKEN_REFRESH","No Trae exchangeTokenUrl configured"),null)}function C(){return null}async function D(a,b){return b?.info?.("TOKEN_REFRESH","windsurf: apiKey is long-lived (no refresh_token flow) — skipping"),null}async function E(a,b="intl",d){return a?i(`qoder:${b||"intl"}`,a,async()=>{try{let e=new(await Promise.all([c.e(4646),c.e(1847),c.e(8851),c.e(3912)]).then(c.bind(c,91531))).QoderService({profile:b}),f=await e.refreshDeviceToken(a);return d?.info?.("TOKEN_REFRESH","Successfully refreshed Qoder device token",{profile:b,hasNewAccessToken:!!f.accessToken,hasNewRefreshToken:!!f.refreshToken,expiresIn:f.expiresIn}),{accessToken:f.accessToken,refreshToken:f.refreshToken||a,expiresIn:f.expiresIn}}catch(c){let a=c?.status;if(d?.error?.("TOKEN_REFRESH",`Qoder device refresh failed (${b})`,{error:c?.message||String(c),status:a}),401===a||403===a)return{error:"invalid_grant",message:c?.message||"Qoder refresh rejected"};return null}},d):null}async function F(a,b){return a?i("frontier-for-all",a,async()=>{try{let c=await fetch(f.NA["frontier-for-all"].token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:e.xq["frontier-for-all"].clientId})});if(!c.ok){let a=await c.text().catch(()=>""),d=s(a,c.status);if(d.permanent)return b?.error?.("TOKEN_REFRESH","Frontier refresh token rotated or revoked. Re-login required.",{status:c.status,code:d.code}),{error:"unrecoverable_refresh_error",code:d.code};return b?.error?.("TOKEN_REFRESH","Failed to refresh Frontier token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Frontier token",{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Frontier token: ${a.message}`),null}},b):null}async function G(a,b){return a?i("cursor",a,async()=>{try{let c=await new d.q().refreshToken(a);return b?.info?.("TOKEN_REFRESH","Successfully refreshed Cursor token",{hasNewAccessToken:!!c.accessToken,hasNewRefreshToken:!!c.refreshToken,expiresIn:c.expiresIn}),c}catch(a){return b?.warn?.("TOKEN_REFRESH",`Cursor refresh failed: ${a?.message||a}`),null}},b):null}},31024:(a,b,c)=>{c.d(b,{q:()=>h});var d=c(55511),e=c.n(d),f=c(92990);function g(a){let b="string"==typeof a?a.split("."):[];if(3!==b.length||!b[1])return null;try{return JSON.parse(Buffer.from(b[1],"base64url").toString("utf8"))}catch{return null}}class h{constructor(){this.config=f.WN}getAuthorizationData(a="login"){let b=e().randomBytes(32).toString("base64url"),c=e().createHash("sha256").update(b).digest("base64url"),d=e().randomUUID(),f=new URLSearchParams({challenge:c,uuid:d,mode:a,supportsSelectedTeamLogin:"true"});return{authUrl:`${this.config.loginUrl}?${f.toString()}`,uuid:d,verifier:b,expiresIn:300}}async pollToken(a,b,c){if(!a||!b)throw Error("Cursor OAuth session is incomplete");let d=new URLSearchParams({uuid:a,verifier:b}),f=await fetch(`${this.config.pollUrl}?${d.toString()}`,{headers:{Accept:"application/json","User-Agent":"Cursor/3.12.29","x-cursor-client-type":this.config.clientType,"x-ghost-mode":"implicit-false","x-new-onboarding-completed":"false",traceparent:`00-${e().randomBytes(16).toString("hex")}-${e().randomBytes(8).toString("hex")}-01`},signal:c});if(404===f.status)return{success:!1,pending:!0,error:"authorization_pending"};if(!f.ok)throw Error(`Cursor OAuth polling failed with HTTP ${f.status}`);let g=await f.json();if(!g.accessToken||!g.refreshToken)throw Error("Cursor OAuth response was missing tokens");return{success:!0,tokens:g}}async refreshToken(a){let b;if(!a||"string"!=typeof a)throw Error("Cursor refresh token is required");for(let d=0;d<3;d+=1){var c;try{let c=await fetch(this.config.refreshUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:"{}",signal:AbortSignal.timeout(15e3)});if(c.ok){let b=await c.json();if(!b.accessToken)throw Error("Cursor refresh response was missing an access token");return this.mapTokens(b.accessToken,b.refreshToken||a)}if(429!==c.status&&c.status<500){let a=Error(`Cursor token refresh failed with HTTP ${c.status}`);throw a.retryable=!1,a}b=Error(`Cursor token refresh failed with HTTP ${c.status}`)}catch(a){if(!1===a.retryable)throw a;b=a}d<2&&await function(a){return new Promise(b=>setTimeout(b,a))}((c=d,Math.floor(300*2**c*(.8+.4*Math.random()))))}throw b||Error("Cursor token refresh failed")}mapTokens(a,b,c=null,d="oauth"){let e,f=(e=g(a),"number"==typeof e?.exp?1e3*e.exp-3e5:Date.now()+36e5),h=this.extractUserInfo(a);return{accessToken:a,refreshToken:b,...c?{machineId:c}:{},expiresAt:new Date(f).toISOString(),expiresIn:Math.max(1,Math.floor((f-Date.now())/1e3)),email:h?.email||null,providerSpecificData:{authMethod:d,...c?{machineId:c}:{},...h?.userId?{userId:h.userId}:{}}}}async validateImportToken(a,b){if(!a||"string"!=typeof a)throw Error("Access token is required");if(!b||"string"!=typeof b)throw Error("Machine ID is required");if(a.length<50)throw Error("Invalid token format. Token appears too short.");if(!/^[a-f0-9-]{32,}$/i.test(b.replace(/-/g,"")))throw Error("Invalid machine ID format. Expected UUID format.");return this.mapTokens(a,null,b,"imported")}extractUserInfo(a){let b=g(a);return b?{email:"string"==typeof b.email&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(b.email)?b.email:null,userId:b.sub||b.user_id||null}:null}getTokenStorageInstructions(){return{title:"How to import your existing Cursor session",steps:["Open Cursor IDE and make sure you're logged in",`Linux: ${this.config.tokenStoragePaths.linux}`,`macOS: ${this.config.tokenStoragePaths.macos}`,`Windows: ${this.config.tokenStoragePaths.windows}`,"Read cursorAuth/accessToken and storage.serviceMachineId from itemTable"]}}}},85640:(a,b,c)=>{c.d(b,{$B:()=>o,I9:()=>f.I9,Og:()=>i,Ql:()=>f.Ql,Sc:()=>j,Wm:()=>f.Wm,go:()=>f.go,jR:()=>f.jR,jT:()=>h,oD:()=>g,pb:()=>l,qZ:()=>p});var d=c(4630),e=c(28730),f=c(21362);let g=3e5;function h(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}function i(a){return e.Wu[a]?e.Wu[a]:"kimi-coding"===a&&e.Wu.kimi?e.Wu.kimi:g}function j(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let k=new Map;async function l(a,b){let d=a.client_email,f=k.get(d);if(f&&f.expiresAt-Date.now()>3e5)return{accessToken:f.token,expiresAt:f.expiresAt};try{let{SignJWT:f,importPKCS8:g}=await Promise.all([c.e(4433),c.e(1455)]).then(c.bind(c,71455));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let h=await g(a.private_key.replace(/\\n/g,"\n"),"RS256"),i=Math.floor(Date.now()/1e3),j=await new f({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience(e.NA.google.token).setIssuedAt(i).setExpirationTime(i+3600).sign(h),l=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:j})});if(!l.ok){let a=await l.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:m,expires_in:n}=await l.json(),o=Date.now()+(n??3600)*1e3;return k.set(d,{token:m,expiresAt:o}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:m,expiresAt:o}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}function m(a,b){let c=j(a.apiKey);return c?l(c,b):null}let n={"frontier-for-all":(a,b)=>(0,f.go)(a.refreshToken,b),"gemini-cli":(a,b)=>(0,f.I9)(a.refreshToken,d.xq["gemini-cli"].clientId,d.xq["gemini-cli"].clientSecret,b),antigravity:(a,b)=>(0,f.I9)(a.refreshToken,d.xq.antigravity.clientId,d.xq.antigravity.clientSecret,b),claude:(a,b)=>(0,f.ge)(a.refreshToken,b),codex:(a,b)=>(0,f.Wm)(a.refreshToken,b),iflow:(a,b)=>(0,f.AH)(a.refreshToken,b),github:(a,b)=>(0,f.EF)(a.refreshToken,b),kiro:(a,b)=>(0,f.Ql)(a.refreshToken,a.providerSpecificData,b),cursor:(a,b)=>(0,f.ZP)(a.refreshToken,b),xai:(a,b)=>(0,f.r_)(a.refreshToken,b),"grok-cli":(a,b)=>(0,f.r_)(a.refreshToken,b),gcli:(a,b)=>(0,f.r_)(a.refreshToken,b),"codebuddy-cn":(a,b)=>(0,f.SO)(a.refreshToken,b),"codebuddy-intl":(a,b)=>(0,f.XB)(a.refreshToken,b),trae:(a,b)=>(0,f.RM)(a.refreshToken,a,b),cline:(a,b)=>(0,f.Il)(a.refreshToken,b),clinepass:(a,b)=>(0,f.Il)(a.refreshToken,b),zed:()=>(0,f.wt)(),windsurf:(a,b)=>(0,f.p9)(a,b),kimi:(a,b)=>(0,f.ng)(a.refreshToken,a,b),"kimi-coding":(a,b)=>(0,f.ng)(a.refreshToken,a,b),vertex:m,"vertex-partner":m};async function o(a,b,c){let d=b.refreshToken||b.providerSpecificData?.refreshToken;if(!d)return null;let e=d!==b.refreshToken?{...b,refreshToken:d}:b,g=n[a];return g?g(e,c):(0,f.J1)(a,d,e,c)}async function p(a,b=3,c=null){for(let d=0;d<b;d++){if(d>0){let a=1e3*d;c?.debug?.("TOKEN_REFRESH",`Retry ${d}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await a();if(b)return b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${d+1}/${b} failed: ${a.message}`)}}return c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed`),null}}};