@rabbi696/ezrouter 0.6.13 → 0.6.15

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 (1363) hide show
  1. package/README.md +18 -0
  2. package/app/.next-cli-build/BUILD_ID +1 -1
  3. package/app/.next-cli-build/app-path-routes-manifest.json +28 -27
  4. package/app/.next-cli-build/build-manifest.json +3 -3
  5. package/app/.next-cli-build/react-loadable-manifest.json +1 -1
  6. package/app/.next-cli-build/routes-manifest.json +8 -0
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/convoy/page.js +2 -2
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/convoy/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/convoy/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page.js +2 -2
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/keys/page.js +2 -2
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/keys/page.js.nft.json +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/keys/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/page.js +2 -2
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/servers/page.js +2 -2
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/servers/page.js.nft.json +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/servers/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +2 -2
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-health/page.js +2 -2
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-health/page.js.nft.json +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-health/page_client-reference-manifest.js +1 -1
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  85. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  86. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  88. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  89. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  90. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  91. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  92. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  94. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  95. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  97. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  98. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  99. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  100. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  101. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  102. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  103. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  104. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  105. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  106. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  108. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  109. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  110. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  111. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  112. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  113. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  114. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  115. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  116. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  119. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  121. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +2 -2
  135. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/changelog/route.js +1 -1
  139. package/app/.next-cli-build/server/app/api/changelog/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli/providers/codex/route.js +1 -1
  141. package/app/.next-cli-build/server/app/api/cli/providers/codex/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +18 -18
  143. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  149. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  151. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +2 -2
  153. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/codex-native/models/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/codex-native/models/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/codex-native/readiness/route.js +2 -2
  157. package/app/.next-cli-build/server/app/api/cli-tools/codex-native/readiness/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  159. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +2 -2
  161. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  163. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  165. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  167. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +2 -2
  171. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +5 -5
  173. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -2
  175. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +2 -2
  179. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +8 -8
  181. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -3
  185. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  187. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +8 -8
  189. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  193. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +2 -2
  195. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +2 -2
  197. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/combos/export/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/combos/export/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/combos/import/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/combos/import/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/combos/presets/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/combos/test/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/combos/test/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/convoy/rules/route.js +2 -2
  213. package/app/.next-cli-build/server/app/api/convoy/rules/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/internal/codex-native/lease/[action]/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/internal/codex-native/lease/[action]/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  241. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/mcp-gateway/instances/[id]/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/mcp-gateway/instances/[id]/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/mcp-gateway/instances/[id]/test/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/mcp-gateway/instances/[id]/test/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/mcp-gateway/instances/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/mcp-gateway/instances/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/mcp-gateway/keys/[id]/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/mcp-gateway/keys/[id]/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/mcp-gateway/keys/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/mcp-gateway/keys/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/mcp-gateway/message/route.js +2 -2
  253. package/app/.next-cli-build/server/app/api/mcp-gateway/message/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/mcp-gateway/oauth/[id]/[action]/route.js +2 -2
  255. package/app/.next-cli-build/server/app/api/mcp-gateway/oauth/[id]/[action]/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/mcp-gateway/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/mcp-gateway/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/mcp-gateway/sse/route.js +2 -2
  259. package/app/.next-cli-build/server/app/api/mcp-gateway/sse/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  265. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  273. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -1
  275. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  277. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/models/enabled/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/models/enabled/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  283. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/oauth/callback/route.js +1 -1
  289. package/app/.next-cli-build/server/app/api/oauth/callback/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  293. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  295. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  297. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  299. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
  301. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  307. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  313. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
  317. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
  319. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
  325. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  331. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  333. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  337. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js +1 -0
  339. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js.nft.json +1 -0
  340. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route_client-reference-manifest.js +1 -0
  341. package/app/.next-cli-build/server/app/api/providers/[id]/refresh-profile/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/providers/[id]/refresh-profile/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  346. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +3 -3
  366. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +14 -14
  368. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  372. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  374. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  376. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
  378. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  380. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  382. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  383. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
  384. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  386. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  388. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  389. package/app/.next-cli-build/server/app/api/routing-health/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/routing-health/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  392. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  394. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  395. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  396. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  398. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  400. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  401. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  402. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  403. package/app/.next-cli-build/server/app/api/token-saver/stats/route.js +1 -1
  404. package/app/.next-cli-build/server/app/api/token-saver/stats/route.js.nft.json +1 -1
  405. package/app/.next-cli-build/server/app/api/token-saver/stream/route.js +2 -2
  406. package/app/.next-cli-build/server/app/api/token-saver/stream/route.js.nft.json +1 -1
  407. package/app/.next-cli-build/server/app/api/tool-disclosure/stats/route.js +1 -1
  408. package/app/.next-cli-build/server/app/api/tool-disclosure/stats/route.js.nft.json +1 -1
  409. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  410. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  411. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  412. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  413. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  414. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  415. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  416. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  417. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  418. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  419. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  420. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  421. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  422. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  423. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  424. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  425. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  426. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  427. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  428. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  429. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  430. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  431. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  432. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  433. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +1 -1
  434. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  435. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  436. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  437. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  438. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  439. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  440. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  441. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  442. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  443. package/app/.next-cli-build/server/app/api/usage/error-logs/route.js +2 -2
  444. package/app/.next-cli-build/server/app/api/usage/error-logs/route.js.nft.json +1 -1
  445. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  446. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  447. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  448. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  449. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  450. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  451. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  452. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  453. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  454. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  455. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  456. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  457. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  458. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  459. package/app/.next-cli-build/server/app/api/v1/alpha/search/route.js +1 -1
  460. package/app/.next-cli-build/server/app/api/v1/alpha/search/route.js.nft.json +1 -1
  461. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  462. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  463. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  464. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  465. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  466. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  467. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  468. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  469. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  470. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  471. package/app/.next-cli-build/server/app/api/v1/codex/alpha/search/route.js +1 -1
  472. package/app/.next-cli-build/server/app/api/v1/codex/alpha/search/route.js.nft.json +1 -1
  473. package/app/.next-cli-build/server/app/api/v1/codex/images/edits/route.js +1 -1
  474. package/app/.next-cli-build/server/app/api/v1/codex/images/edits/route.js.nft.json +1 -1
  475. package/app/.next-cli-build/server/app/api/v1/codex/images/generations/route.js +1 -1
  476. package/app/.next-cli-build/server/app/api/v1/codex/images/generations/route.js.nft.json +1 -1
  477. package/app/.next-cli-build/server/app/api/v1/codex/memories/trace_summarize/route.js +1 -1
  478. package/app/.next-cli-build/server/app/api/v1/codex/memories/trace_summarize/route.js.nft.json +1 -1
  479. package/app/.next-cli-build/server/app/api/v1/codex/models/route.js +1 -1
  480. package/app/.next-cli-build/server/app/api/v1/codex/models/route.js.nft.json +1 -1
  481. package/app/.next-cli-build/server/app/api/v1/codex/responses/compact/route.js +1 -1
  482. package/app/.next-cli-build/server/app/api/v1/codex/responses/compact/route.js.nft.json +1 -1
  483. package/app/.next-cli-build/server/app/api/v1/codex/responses/route.js +1 -1
  484. package/app/.next-cli-build/server/app/api/v1/codex/responses/route.js.nft.json +1 -1
  485. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  486. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  487. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  488. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  489. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  490. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  491. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  492. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  493. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
  494. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
  495. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  496. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  497. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  498. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  499. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  500. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  501. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  502. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  503. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  504. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  505. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  506. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  507. package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
  508. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  509. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  510. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  511. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  512. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  513. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  514. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  515. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  516. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  517. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  518. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  519. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  520. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  521. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  522. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  523. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  524. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  525. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  526. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  527. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  528. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  529. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  530. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  531. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  532. package/app/.next-cli-build/server/app/callback.html +1 -1
  533. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  534. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  535. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  536. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  537. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  538. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  539. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  540. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  541. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  542. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  543. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  544. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  545. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  546. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  547. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  548. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  549. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  550. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  551. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  552. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  553. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  554. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  556. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  557. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  558. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  559. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  560. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  561. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  562. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  563. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  564. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  565. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  566. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  567. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  568. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  569. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  570. package/app/.next-cli-build/server/app/dashboard/convoy.html +1 -1
  571. package/app/.next-cli-build/server/app/dashboard/convoy.rsc +6 -6
  572. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy/__PAGE__.segment.rsc +2 -2
  573. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy.segment.rsc +1 -1
  574. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  575. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  576. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_full.segment.rsc +6 -6
  577. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_head.segment.rsc +1 -1
  578. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_index.segment.rsc +4 -4
  579. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_tree.segment.rsc +2 -2
  580. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  581. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
  582. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  583. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  584. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  585. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  586. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  587. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  588. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  589. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  590. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.html +1 -1
  591. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.rsc +6 -6
  592. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway/keys/__PAGE__.segment.rsc +2 -2
  593. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway/keys.segment.rsc +1 -1
  594. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway.segment.rsc +1 -1
  595. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  596. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  597. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/_full.segment.rsc +6 -6
  598. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/_head.segment.rsc +1 -1
  599. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/_index.segment.rsc +4 -4
  600. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/_tree.segment.rsc +2 -2
  601. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.html +1 -1
  602. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.rsc +6 -6
  603. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway/servers/__PAGE__.segment.rsc +2 -2
  604. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway/servers.segment.rsc +1 -1
  605. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway.segment.rsc +1 -1
  606. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  607. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  608. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/_full.segment.rsc +6 -6
  609. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/_head.segment.rsc +1 -1
  610. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/_index.segment.rsc +4 -4
  611. package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/_tree.segment.rsc +2 -2
  612. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.html +1 -1
  613. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.rsc +6 -6
  614. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway/__PAGE__.segment.rsc +2 -2
  615. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway.segment.rsc +1 -1
  616. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  617. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  618. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/_full.segment.rsc +6 -6
  619. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/_head.segment.rsc +1 -1
  620. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/_index.segment.rsc +4 -4
  621. package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/_tree.segment.rsc +2 -2
  622. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  623. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  624. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  625. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  626. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  627. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  628. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  629. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  630. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  631. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  632. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  633. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  634. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  635. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  636. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  637. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  638. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  639. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  640. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  641. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  642. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  643. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  644. package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
  645. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  646. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  647. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  648. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  649. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  650. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  651. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  652. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  653. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  654. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  655. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  656. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  657. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  658. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  659. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  660. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  661. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  662. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  663. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  664. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  665. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  666. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  667. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  668. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  669. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  670. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  671. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  672. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  673. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  674. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  675. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  676. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  677. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  678. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  679. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  680. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  681. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  682. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  683. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  684. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  685. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +6 -6
  686. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  687. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  688. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  689. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  690. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +6 -6
  691. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  692. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +4 -4
  693. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  694. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -2
  695. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  696. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  697. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  698. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  699. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  700. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  701. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  702. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  703. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  704. package/app/.next-cli-build/server/app/dashboard/routing-health.html +1 -1
  705. package/app/.next-cli-build/server/app/dashboard/routing-health.rsc +6 -6
  706. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health/__PAGE__.segment.rsc +2 -2
  707. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health.segment.rsc +1 -1
  708. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  709. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  710. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_full.segment.rsc +6 -6
  711. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_head.segment.rsc +1 -1
  712. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_index.segment.rsc +4 -4
  713. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_tree.segment.rsc +2 -2
  714. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  715. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  716. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  717. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  718. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  719. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  720. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  721. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  722. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  723. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  724. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  725. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  726. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  727. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  728. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  729. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  730. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  731. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  732. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  733. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  734. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  735. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  736. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  737. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  738. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
  739. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  740. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  741. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  742. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  743. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
  744. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  745. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +4 -4
  746. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  747. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  748. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  749. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  750. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  751. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  752. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  753. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  754. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  755. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  756. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  757. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  758. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  759. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  760. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  761. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  762. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  763. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  764. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  765. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  766. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  767. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  768. package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
  769. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  770. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  771. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  772. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
  773. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  774. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  775. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  776. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  777. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  778. package/app/.next-cli-build/server/app/index.html +1 -1
  779. package/app/.next-cli-build/server/app/index.rsc +4 -4
  780. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  781. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  782. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  783. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  784. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  785. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  786. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  787. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  788. package/app/.next-cli-build/server/app/landing.html +1 -1
  789. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  790. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  791. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  792. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  793. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  794. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  795. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  796. package/app/.next-cli-build/server/app/login/page.js +2 -2
  797. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  798. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  799. package/app/.next-cli-build/server/app/login.html +1 -1
  800. package/app/.next-cli-build/server/app/login.rsc +5 -5
  801. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  802. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  803. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  804. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  805. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  806. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  807. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  808. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  809. package/app/.next-cli-build/server/app/page.js +2 -2
  810. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  811. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  812. package/app/.next-cli-build/server/app-paths-manifest.json +28 -27
  813. package/app/.next-cli-build/server/chunks/1253.js +1 -1
  814. package/app/.next-cli-build/server/chunks/1522.js +1 -1
  815. package/app/.next-cli-build/server/chunks/1733.js +1 -1
  816. package/app/.next-cli-build/server/chunks/1847.js +1 -1
  817. package/app/.next-cli-build/server/chunks/2269.js +1 -1
  818. package/app/.next-cli-build/server/chunks/2348.js +1 -1
  819. package/app/.next-cli-build/server/chunks/2898.js +1 -1
  820. package/app/.next-cli-build/server/chunks/290.js +1 -0
  821. package/app/.next-cli-build/server/chunks/3216.js +1 -1
  822. package/app/.next-cli-build/server/chunks/3245.js +1 -1
  823. package/app/.next-cli-build/server/chunks/3252.js +1 -1
  824. package/app/.next-cli-build/server/chunks/3267.js +4 -4
  825. package/app/.next-cli-build/server/chunks/3275.js +1 -0
  826. package/app/.next-cli-build/server/chunks/3547.js +1 -1
  827. package/app/.next-cli-build/server/chunks/3583.js +2 -2
  828. package/app/.next-cli-build/server/chunks/369.js +12 -12
  829. package/app/.next-cli-build/server/chunks/3794.js +1 -1
  830. package/app/.next-cli-build/server/chunks/3886.js +1 -1
  831. package/app/.next-cli-build/server/chunks/3977.js +1 -1
  832. package/app/.next-cli-build/server/chunks/412.js +4 -4
  833. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  834. package/app/.next-cli-build/server/chunks/4378.js +3 -3
  835. package/app/.next-cli-build/server/chunks/4646.js +1 -1
  836. package/app/.next-cli-build/server/chunks/4704.js +4 -4
  837. package/app/.next-cli-build/server/chunks/4768.js +1 -0
  838. package/app/.next-cli-build/server/chunks/4807.js +1 -1
  839. package/app/.next-cli-build/server/chunks/4811.js +1 -1
  840. package/app/.next-cli-build/server/chunks/4827.js +1 -1
  841. package/app/.next-cli-build/server/chunks/4878.js +1 -1
  842. package/app/.next-cli-build/server/chunks/4882.js +1 -1
  843. package/app/.next-cli-build/server/chunks/5130.js +1 -1
  844. package/app/.next-cli-build/server/chunks/615.js +1 -1
  845. package/app/.next-cli-build/server/chunks/6420.js +1 -0
  846. package/app/.next-cli-build/server/chunks/6707.js +1 -1
  847. package/app/.next-cli-build/server/chunks/7218.js +1 -0
  848. package/app/.next-cli-build/server/chunks/73.js +1 -1
  849. package/app/.next-cli-build/server/chunks/7594.js +16 -16
  850. package/app/.next-cli-build/server/chunks/7663.js +1 -1
  851. package/app/.next-cli-build/server/chunks/7716.js +1 -1
  852. package/app/.next-cli-build/server/chunks/7775.js +1 -1
  853. package/app/.next-cli-build/server/chunks/7828.js +1 -1
  854. package/app/.next-cli-build/server/chunks/8129.js +1 -1
  855. package/app/.next-cli-build/server/chunks/823.js +1 -1
  856. package/app/.next-cli-build/server/chunks/8231.js +1 -1
  857. package/app/.next-cli-build/server/chunks/8243.js +4 -4
  858. package/app/.next-cli-build/server/chunks/8306.js +1 -1
  859. package/app/.next-cli-build/server/chunks/8421.js +1 -1
  860. package/app/.next-cli-build/server/chunks/8450.js +254 -0
  861. package/app/.next-cli-build/server/chunks/8459.js +1 -1
  862. package/app/.next-cli-build/server/chunks/8644.js +1 -1
  863. package/app/.next-cli-build/server/chunks/8772.js +1 -0
  864. package/app/.next-cli-build/server/chunks/8976.js +1 -1
  865. package/app/.next-cli-build/server/chunks/9026.js +17 -17
  866. package/app/.next-cli-build/server/chunks/9143.js +1 -1
  867. package/app/.next-cli-build/server/chunks/9303.js +1 -1
  868. package/app/.next-cli-build/server/chunks/9485.js +1 -1
  869. package/app/.next-cli-build/server/chunks/9843.js +1 -1
  870. package/app/.next-cli-build/server/chunks/9865.js +1 -1
  871. package/app/.next-cli-build/server/instrumentation.js +1 -1
  872. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  873. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  874. package/app/.next-cli-build/server/middleware.js +5 -5
  875. package/app/.next-cli-build/server/pages/404.html +1 -1
  876. package/app/.next-cli-build/server/pages/500.html +1 -1
  877. package/app/.next-cli-build/static/chunks/{1321-e4e8edf59a3efb3b.js → 1321-043afc56cba448b8.js} +1 -1
  878. package/app/.next-cli-build/static/chunks/5497-8766958582f95dc7.js +17 -0
  879. package/app/.next-cli-build/static/chunks/{6808-42c5cc62f0d2662b.js → 6808-93e2068e37a63896.js} +1 -1
  880. package/app/.next-cli-build/static/chunks/8105-9dfc2c5ffef6e778.js +1 -0
  881. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-fa195b4f7348e2d6.js +27 -0
  882. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-a31d9ca05cc3d528.js +1 -0
  883. package/app/.next-cli-build/static/chunks/app/_global-error/page-4c5cfa991861ba1b.js +1 -0
  884. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-4c5cfa991861ba1b.js +1 -0
  885. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-4c5cfa991861ba1b.js +1 -0
  886. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-4c5cfa991861ba1b.js +1 -0
  887. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-4c5cfa991861ba1b.js +1 -0
  888. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-4c5cfa991861ba1b.js +1 -0
  889. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-4c5cfa991861ba1b.js +1 -0
  890. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-4c5cfa991861ba1b.js +1 -0
  891. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-4c5cfa991861ba1b.js +1 -0
  892. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-4c5cfa991861ba1b.js +1 -0
  893. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-4c5cfa991861ba1b.js +1 -0
  894. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-4c5cfa991861ba1b.js +1 -0
  895. package/app/.next-cli-build/static/chunks/app/api/changelog/route-4c5cfa991861ba1b.js +1 -0
  896. package/app/.next-cli-build/static/chunks/app/api/cli/providers/codex/route-4c5cfa991861ba1b.js +1 -0
  897. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-4c5cfa991861ba1b.js +1 -0
  898. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-4c5cfa991861ba1b.js +1 -0
  899. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-4c5cfa991861ba1b.js +1 -0
  900. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-4c5cfa991861ba1b.js +1 -0
  901. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-4c5cfa991861ba1b.js +1 -0
  902. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-4c5cfa991861ba1b.js +1 -0
  903. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-native/models/route-4c5cfa991861ba1b.js +1 -0
  904. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-native/readiness/route-4c5cfa991861ba1b.js +1 -0
  905. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-4c5cfa991861ba1b.js +1 -0
  906. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-4c5cfa991861ba1b.js +1 -0
  907. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-4c5cfa991861ba1b.js +1 -0
  908. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-4c5cfa991861ba1b.js +1 -0
  909. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-4c5cfa991861ba1b.js +1 -0
  910. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-4c5cfa991861ba1b.js +1 -0
  911. package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-4c5cfa991861ba1b.js +1 -0
  912. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-4c5cfa991861ba1b.js +1 -0
  913. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-4c5cfa991861ba1b.js +1 -0
  914. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-4c5cfa991861ba1b.js +1 -0
  915. package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-4c5cfa991861ba1b.js +1 -0
  916. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-4c5cfa991861ba1b.js +1 -0
  917. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-4c5cfa991861ba1b.js +1 -0
  918. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-4c5cfa991861ba1b.js +1 -0
  919. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-4c5cfa991861ba1b.js +1 -0
  920. package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-4c5cfa991861ba1b.js +1 -0
  921. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-4c5cfa991861ba1b.js +1 -0
  922. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-4c5cfa991861ba1b.js +1 -0
  923. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-4c5cfa991861ba1b.js +1 -0
  924. package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-4c5cfa991861ba1b.js +1 -0
  925. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-4c5cfa991861ba1b.js +1 -0
  926. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/test/route-4c5cfa991861ba1b.js +1 -0
  927. package/app/.next-cli-build/static/chunks/app/api/combos/export/route-4c5cfa991861ba1b.js +1 -0
  928. package/app/.next-cli-build/static/chunks/app/api/combos/import/route-4c5cfa991861ba1b.js +1 -0
  929. package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-4c5cfa991861ba1b.js +1 -0
  930. package/app/.next-cli-build/static/chunks/app/api/combos/route-4c5cfa991861ba1b.js +1 -0
  931. package/app/.next-cli-build/static/chunks/app/api/combos/test/route-4c5cfa991861ba1b.js +1 -0
  932. package/app/.next-cli-build/static/chunks/app/api/convoy/rules/route-4c5cfa991861ba1b.js +1 -0
  933. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-4c5cfa991861ba1b.js +1 -0
  934. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-4c5cfa991861ba1b.js +1 -0
  935. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-4c5cfa991861ba1b.js +1 -0
  936. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-4c5cfa991861ba1b.js +1 -0
  937. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-4c5cfa991861ba1b.js +1 -0
  938. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-4c5cfa991861ba1b.js +1 -0
  939. package/app/.next-cli-build/static/chunks/app/api/health/route-4c5cfa991861ba1b.js +1 -0
  940. package/app/.next-cli-build/static/chunks/app/api/init/route-4c5cfa991861ba1b.js +1 -0
  941. package/app/.next-cli-build/static/chunks/app/api/internal/codex-native/lease/[action]/route-4c5cfa991861ba1b.js +1 -0
  942. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-4c5cfa991861ba1b.js +1 -0
  943. package/app/.next-cli-build/static/chunks/app/api/keys/route-4c5cfa991861ba1b.js +1 -0
  944. package/app/.next-cli-build/static/chunks/app/api/locale/route-4c5cfa991861ba1b.js +1 -0
  945. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-4c5cfa991861ba1b.js +1 -0
  946. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-4c5cfa991861ba1b.js +1 -0
  947. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/instances/[id]/route-4c5cfa991861ba1b.js +1 -0
  948. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/instances/[id]/test/route-4c5cfa991861ba1b.js +1 -0
  949. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/instances/route-4c5cfa991861ba1b.js +1 -0
  950. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/keys/[id]/route-4c5cfa991861ba1b.js +1 -0
  951. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/keys/route-4c5cfa991861ba1b.js +1 -0
  952. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/message/route-4c5cfa991861ba1b.js +1 -0
  953. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/oauth/[id]/[action]/route-4c5cfa991861ba1b.js +1 -0
  954. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/route-4c5cfa991861ba1b.js +1 -0
  955. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/sse/route-4c5cfa991861ba1b.js +1 -0
  956. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-4c5cfa991861ba1b.js +1 -0
  957. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-4c5cfa991861ba1b.js +1 -0
  958. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-4c5cfa991861ba1b.js +1 -0
  959. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-4c5cfa991861ba1b.js +1 -0
  960. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-4c5cfa991861ba1b.js +1 -0
  961. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-4c5cfa991861ba1b.js +1 -0
  962. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-4c5cfa991861ba1b.js +1 -0
  963. package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-4c5cfa991861ba1b.js +1 -0
  964. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-4c5cfa991861ba1b.js +1 -0
  965. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-4c5cfa991861ba1b.js +1 -0
  966. package/app/.next-cli-build/static/chunks/app/api/models/enabled/route-4c5cfa991861ba1b.js +1 -0
  967. package/app/.next-cli-build/static/chunks/app/api/models/route-4c5cfa991861ba1b.js +1 -0
  968. package/app/.next-cli-build/static/chunks/app/api/models/test/route-4c5cfa991861ba1b.js +1 -0
  969. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-4c5cfa991861ba1b.js +1 -0
  970. package/app/.next-cli-build/static/chunks/app/api/oauth/callback/route-4c5cfa991861ba1b.js +1 -0
  971. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-4c5cfa991861ba1b.js +1 -0
  972. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-4c5cfa991861ba1b.js +1 -0
  973. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-4c5cfa991861ba1b.js +1 -0
  974. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-4c5cfa991861ba1b.js +1 -0
  975. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-4c5cfa991861ba1b.js +1 -0
  976. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-4c5cfa991861ba1b.js +1 -0
  977. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-4c5cfa991861ba1b.js +1 -0
  978. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-4c5cfa991861ba1b.js +1 -0
  979. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-4c5cfa991861ba1b.js +1 -0
  980. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-4c5cfa991861ba1b.js +1 -0
  981. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-4c5cfa991861ba1b.js +1 -0
  982. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-4c5cfa991861ba1b.js +1 -0
  983. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-4c5cfa991861ba1b.js +1 -0
  984. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-4c5cfa991861ba1b.js +1 -0
  985. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-4c5cfa991861ba1b.js +1 -0
  986. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/start/route-4c5cfa991861ba1b.js +1 -0
  987. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/status/route-4c5cfa991861ba1b.js +1 -0
  988. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-4c5cfa991861ba1b.js +1 -0
  989. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-4c5cfa991861ba1b.js +1 -0
  990. package/app/.next-cli-build/static/chunks/app/api/pricing/route-4c5cfa991861ba1b.js +1 -0
  991. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-4c5cfa991861ba1b.js +1 -0
  992. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-4c5cfa991861ba1b.js +1 -0
  993. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-4c5cfa991861ba1b.js +1 -0
  994. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-4c5cfa991861ba1b.js +1 -0
  995. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/overrides/route-4c5cfa991861ba1b.js +1 -0
  996. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/refresh-profile/route-4c5cfa991861ba1b.js +1 -0
  997. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-4c5cfa991861ba1b.js +1 -0
  998. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-4c5cfa991861ba1b.js +1 -0
  999. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-4c5cfa991861ba1b.js +1 -0
  1000. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-4c5cfa991861ba1b.js +1 -0
  1001. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-4c5cfa991861ba1b.js +1 -0
  1002. package/app/.next-cli-build/static/chunks/app/api/providers/route-4c5cfa991861ba1b.js +1 -0
  1003. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-4c5cfa991861ba1b.js +1 -0
  1004. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-4c5cfa991861ba1b.js +1 -0
  1005. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-4c5cfa991861ba1b.js +1 -0
  1006. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-4c5cfa991861ba1b.js +1 -0
  1007. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-4c5cfa991861ba1b.js +1 -0
  1008. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-4c5cfa991861ba1b.js +1 -0
  1009. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-4c5cfa991861ba1b.js +1 -0
  1010. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-4c5cfa991861ba1b.js +1 -0
  1011. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-4c5cfa991861ba1b.js +1 -0
  1012. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-4c5cfa991861ba1b.js +1 -0
  1013. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-4c5cfa991861ba1b.js +1 -0
  1014. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-4c5cfa991861ba1b.js +1 -0
  1015. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-4c5cfa991861ba1b.js +1 -0
  1016. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-4c5cfa991861ba1b.js +1 -0
  1017. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-4c5cfa991861ba1b.js +1 -0
  1018. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-4c5cfa991861ba1b.js +1 -0
  1019. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-4c5cfa991861ba1b.js +1 -0
  1020. package/app/.next-cli-build/static/chunks/app/api/routing-health/route-4c5cfa991861ba1b.js +1 -0
  1021. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-4c5cfa991861ba1b.js +1 -0
  1022. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-4c5cfa991861ba1b.js +1 -0
  1023. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-4c5cfa991861ba1b.js +1 -0
  1024. package/app/.next-cli-build/static/chunks/app/api/settings/route-4c5cfa991861ba1b.js +1 -0
  1025. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-4c5cfa991861ba1b.js +1 -0
  1026. package/app/.next-cli-build/static/chunks/app/api/tags/route-4c5cfa991861ba1b.js +1 -0
  1027. package/app/.next-cli-build/static/chunks/app/api/token-saver/stats/route-4c5cfa991861ba1b.js +1 -0
  1028. package/app/.next-cli-build/static/chunks/app/api/token-saver/stream/route-4c5cfa991861ba1b.js +1 -0
  1029. package/app/.next-cli-build/static/chunks/app/api/tool-disclosure/stats/route-4c5cfa991861ba1b.js +1 -0
  1030. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-4c5cfa991861ba1b.js +1 -0
  1031. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-4c5cfa991861ba1b.js +1 -0
  1032. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-4c5cfa991861ba1b.js +1 -0
  1033. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-4c5cfa991861ba1b.js +1 -0
  1034. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-4c5cfa991861ba1b.js +1 -0
  1035. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-4c5cfa991861ba1b.js +1 -0
  1036. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-4c5cfa991861ba1b.js +1 -0
  1037. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-4c5cfa991861ba1b.js +1 -0
  1038. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-4c5cfa991861ba1b.js +1 -0
  1039. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-4c5cfa991861ba1b.js +1 -0
  1040. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-4c5cfa991861ba1b.js +1 -0
  1041. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-4c5cfa991861ba1b.js +1 -0
  1042. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-4c5cfa991861ba1b.js +1 -0
  1043. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-4c5cfa991861ba1b.js +1 -0
  1044. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-4c5cfa991861ba1b.js +1 -0
  1045. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-4c5cfa991861ba1b.js +1 -0
  1046. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-4c5cfa991861ba1b.js +1 -0
  1047. package/app/.next-cli-build/static/chunks/app/api/usage/error-logs/route-4c5cfa991861ba1b.js +1 -0
  1048. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-4c5cfa991861ba1b.js +1 -0
  1049. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-4c5cfa991861ba1b.js +1 -0
  1050. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-4c5cfa991861ba1b.js +1 -0
  1051. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-4c5cfa991861ba1b.js +1 -0
  1052. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-4c5cfa991861ba1b.js +1 -0
  1053. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-4c5cfa991861ba1b.js +1 -0
  1054. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-4c5cfa991861ba1b.js +1 -0
  1055. package/app/.next-cli-build/static/chunks/app/api/v1/alpha/search/route-4c5cfa991861ba1b.js +1 -0
  1056. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-4c5cfa991861ba1b.js +1 -0
  1057. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-4c5cfa991861ba1b.js +1 -0
  1058. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-4c5cfa991861ba1b.js +1 -0
  1059. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-4c5cfa991861ba1b.js +1 -0
  1060. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-4c5cfa991861ba1b.js +1 -0
  1061. package/app/.next-cli-build/static/chunks/app/api/v1/codex/alpha/search/route-4c5cfa991861ba1b.js +1 -0
  1062. package/app/.next-cli-build/static/chunks/app/api/v1/codex/images/edits/route-4c5cfa991861ba1b.js +1 -0
  1063. package/app/.next-cli-build/static/chunks/app/api/v1/codex/images/generations/route-4c5cfa991861ba1b.js +1 -0
  1064. package/app/.next-cli-build/static/chunks/app/api/v1/codex/memories/trace_summarize/route-4c5cfa991861ba1b.js +1 -0
  1065. package/app/.next-cli-build/static/chunks/app/api/v1/codex/models/route-4c5cfa991861ba1b.js +1 -0
  1066. package/app/.next-cli-build/static/chunks/app/api/v1/codex/responses/compact/route-4c5cfa991861ba1b.js +1 -0
  1067. package/app/.next-cli-build/static/chunks/app/api/v1/codex/responses/route-4c5cfa991861ba1b.js +1 -0
  1068. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-4c5cfa991861ba1b.js +1 -0
  1069. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-4c5cfa991861ba1b.js +1 -0
  1070. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-4c5cfa991861ba1b.js +1 -0
  1071. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-4c5cfa991861ba1b.js +1 -0
  1072. package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-4c5cfa991861ba1b.js +1 -0
  1073. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-4c5cfa991861ba1b.js +1 -0
  1074. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-4c5cfa991861ba1b.js +1 -0
  1075. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-4c5cfa991861ba1b.js +1 -0
  1076. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-4c5cfa991861ba1b.js +1 -0
  1077. package/app/.next-cli-build/static/chunks/app/api/v1/route-4c5cfa991861ba1b.js +1 -0
  1078. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-4c5cfa991861ba1b.js +1 -0
  1079. package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-4c5cfa991861ba1b.js +1 -0
  1080. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-4c5cfa991861ba1b.js +1 -0
  1081. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-4c5cfa991861ba1b.js +1 -0
  1082. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-4c5cfa991861ba1b.js +1 -0
  1083. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-4c5cfa991861ba1b.js +1 -0
  1084. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-4c5cfa991861ba1b.js +1 -0
  1085. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-4c5cfa991861ba1b.js +1 -0
  1086. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-4c5cfa991861ba1b.js +1 -0
  1087. package/app/.next-cli-build/static/chunks/app/api/version/route-4c5cfa991861ba1b.js +1 -0
  1088. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-4c5cfa991861ba1b.js +1 -0
  1089. package/app/.next-cli-build/static/chunks/app/api/version/update/route-4c5cfa991861ba1b.js +1 -0
  1090. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-4c5cfa991861ba1b.js +1 -0
  1091. package/app/.next-cli-build/static/chunks/app/page-4c5cfa991861ba1b.js +1 -0
  1092. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-4c5cfa991861ba1b.js +1 -0
  1093. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-4c5cfa991861ba1b.js +1 -0
  1094. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-4c5cfa991861ba1b.js +1 -0
  1095. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-4c5cfa991861ba1b.js +1 -0
  1096. package/app/.next-cli-build/static/chunks/{webpack-1f254f36f822e458.js → webpack-ac71f993743961ad.js} +1 -1
  1097. package/app/.next-cli-build/static/css/76821f2171e21e80.css +1 -0
  1098. package/app/CHANGELOG.md +50 -1
  1099. package/app/package.json +1 -1
  1100. package/app/public/CHANGELOG.md +97 -1
  1101. package/app/public/providers/muse.png +0 -0
  1102. package/app/public/providers/tinyfish.png +0 -0
  1103. package/app/public/providers/v1m.png +0 -0
  1104. package/cli.js +25 -14
  1105. package/hooks/postinstall.js +4 -0
  1106. package/node_modules/confbox/LICENSE +27 -0
  1107. package/node_modules/confbox/README.md +191 -0
  1108. package/node_modules/confbox/dist/THIRD-PARTY-LICENSES.md +171 -0
  1109. package/node_modules/confbox/dist/_chunks/_format.d.mts +25 -0
  1110. package/node_modules/confbox/dist/_chunks/_format.mjs +1 -0
  1111. package/node_modules/confbox/dist/_chunks/json.mjs +1 -0
  1112. package/node_modules/confbox/dist/_chunks/libs/detect-indent.mjs +1 -0
  1113. package/node_modules/confbox/dist/_chunks/libs/ini.mjs +3 -0
  1114. package/node_modules/confbox/dist/_chunks/libs/js-yaml.mjs +33 -0
  1115. package/node_modules/confbox/dist/_chunks/libs/json5.mjs +14 -0
  1116. package/node_modules/confbox/dist/_chunks/libs/jsonc-parser.mjs +7 -0
  1117. package/node_modules/confbox/dist/_chunks/libs/smol-toml.mjs +249 -0
  1118. package/node_modules/confbox/dist/_chunks/rolldown-runtime.mjs +1 -0
  1119. package/node_modules/confbox/dist/index.d.mts +34 -0
  1120. package/node_modules/confbox/dist/index.mjs +1 -0
  1121. package/node_modules/confbox/dist/ini.d.mts +62 -0
  1122. package/node_modules/confbox/dist/ini.mjs +1 -0
  1123. package/node_modules/confbox/dist/json5.d.mts +59 -0
  1124. package/node_modules/confbox/dist/json5.mjs +1 -0
  1125. package/node_modules/confbox/dist/jsonc.d.mts +41 -0
  1126. package/node_modules/confbox/dist/jsonc.mjs +1 -0
  1127. package/node_modules/confbox/dist/toml.d.mts +23 -0
  1128. package/node_modules/confbox/dist/toml.mjs +1 -0
  1129. package/node_modules/confbox/dist/yaml.d.mts +96 -0
  1130. package/node_modules/confbox/dist/yaml.mjs +1 -0
  1131. package/node_modules/confbox/package.json +67 -0
  1132. package/package.json +5 -3
  1133. package/src/cli/commands/connect.js +269 -0
  1134. package/src/cli/commands/connectTools.js +338 -0
  1135. package/src/cli/menus/providers.js +3 -2
  1136. package/src/cli/tray/tray.js +11 -11
  1137. package/src/cli/utils/modelSelector.js +1 -1
  1138. package/app/.next-cli-build/server/chunks/2767.js +0 -1
  1139. package/app/.next-cli-build/server/chunks/3960.js +0 -254
  1140. package/app/.next-cli-build/server/chunks/4327.js +0 -1
  1141. package/app/.next-cli-build/server/chunks/4722.js +0 -1
  1142. package/app/.next-cli-build/server/chunks/7528.js +0 -1
  1143. package/app/.next-cli-build/server/chunks/8670.js +0 -1
  1144. package/app/.next-cli-build/server/chunks/8946.js +0 -1
  1145. package/app/.next-cli-build/static/chunks/5497-c231188e29c8168b.js +0 -17
  1146. package/app/.next-cli-build/static/chunks/8105-1a9e02e4d5a17e44.js +0 -1
  1147. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-cfa303b120846bf8.js +0 -27
  1148. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-6affb06ce74675f4.js +0 -1
  1149. package/app/.next-cli-build/static/chunks/app/_global-error/page-1c11060ffc33d4ad.js +0 -1
  1150. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-1c11060ffc33d4ad.js +0 -1
  1151. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-1c11060ffc33d4ad.js +0 -1
  1152. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-1c11060ffc33d4ad.js +0 -1
  1153. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-1c11060ffc33d4ad.js +0 -1
  1154. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-1c11060ffc33d4ad.js +0 -1
  1155. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-1c11060ffc33d4ad.js +0 -1
  1156. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-1c11060ffc33d4ad.js +0 -1
  1157. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-1c11060ffc33d4ad.js +0 -1
  1158. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-1c11060ffc33d4ad.js +0 -1
  1159. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-1c11060ffc33d4ad.js +0 -1
  1160. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-1c11060ffc33d4ad.js +0 -1
  1161. package/app/.next-cli-build/static/chunks/app/api/changelog/route-1c11060ffc33d4ad.js +0 -1
  1162. package/app/.next-cli-build/static/chunks/app/api/cli/providers/codex/route-1c11060ffc33d4ad.js +0 -1
  1163. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-1c11060ffc33d4ad.js +0 -1
  1164. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-1c11060ffc33d4ad.js +0 -1
  1165. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-1c11060ffc33d4ad.js +0 -1
  1166. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-1c11060ffc33d4ad.js +0 -1
  1167. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-1c11060ffc33d4ad.js +0 -1
  1168. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-1c11060ffc33d4ad.js +0 -1
  1169. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-native/models/route-1c11060ffc33d4ad.js +0 -1
  1170. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-native/readiness/route-1c11060ffc33d4ad.js +0 -1
  1171. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-1c11060ffc33d4ad.js +0 -1
  1172. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-1c11060ffc33d4ad.js +0 -1
  1173. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-1c11060ffc33d4ad.js +0 -1
  1174. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-1c11060ffc33d4ad.js +0 -1
  1175. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-1c11060ffc33d4ad.js +0 -1
  1176. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-1c11060ffc33d4ad.js +0 -1
  1177. package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-1c11060ffc33d4ad.js +0 -1
  1178. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-1c11060ffc33d4ad.js +0 -1
  1179. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-1c11060ffc33d4ad.js +0 -1
  1180. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-1c11060ffc33d4ad.js +0 -1
  1181. package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-1c11060ffc33d4ad.js +0 -1
  1182. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-1c11060ffc33d4ad.js +0 -1
  1183. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-1c11060ffc33d4ad.js +0 -1
  1184. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-1c11060ffc33d4ad.js +0 -1
  1185. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-1c11060ffc33d4ad.js +0 -1
  1186. package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-1c11060ffc33d4ad.js +0 -1
  1187. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-1c11060ffc33d4ad.js +0 -1
  1188. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-1c11060ffc33d4ad.js +0 -1
  1189. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-1c11060ffc33d4ad.js +0 -1
  1190. package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-1c11060ffc33d4ad.js +0 -1
  1191. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-1c11060ffc33d4ad.js +0 -1
  1192. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/test/route-1c11060ffc33d4ad.js +0 -1
  1193. package/app/.next-cli-build/static/chunks/app/api/combos/export/route-1c11060ffc33d4ad.js +0 -1
  1194. package/app/.next-cli-build/static/chunks/app/api/combos/import/route-1c11060ffc33d4ad.js +0 -1
  1195. package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-1c11060ffc33d4ad.js +0 -1
  1196. package/app/.next-cli-build/static/chunks/app/api/combos/route-1c11060ffc33d4ad.js +0 -1
  1197. package/app/.next-cli-build/static/chunks/app/api/combos/test/route-1c11060ffc33d4ad.js +0 -1
  1198. package/app/.next-cli-build/static/chunks/app/api/convoy/rules/route-1c11060ffc33d4ad.js +0 -1
  1199. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-1c11060ffc33d4ad.js +0 -1
  1200. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-1c11060ffc33d4ad.js +0 -1
  1201. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-1c11060ffc33d4ad.js +0 -1
  1202. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-1c11060ffc33d4ad.js +0 -1
  1203. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-1c11060ffc33d4ad.js +0 -1
  1204. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-1c11060ffc33d4ad.js +0 -1
  1205. package/app/.next-cli-build/static/chunks/app/api/health/route-1c11060ffc33d4ad.js +0 -1
  1206. package/app/.next-cli-build/static/chunks/app/api/init/route-1c11060ffc33d4ad.js +0 -1
  1207. package/app/.next-cli-build/static/chunks/app/api/internal/codex-native/lease/[action]/route-1c11060ffc33d4ad.js +0 -1
  1208. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-1c11060ffc33d4ad.js +0 -1
  1209. package/app/.next-cli-build/static/chunks/app/api/keys/route-1c11060ffc33d4ad.js +0 -1
  1210. package/app/.next-cli-build/static/chunks/app/api/locale/route-1c11060ffc33d4ad.js +0 -1
  1211. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-1c11060ffc33d4ad.js +0 -1
  1212. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-1c11060ffc33d4ad.js +0 -1
  1213. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/instances/[id]/route-1c11060ffc33d4ad.js +0 -1
  1214. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/instances/[id]/test/route-1c11060ffc33d4ad.js +0 -1
  1215. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/instances/route-1c11060ffc33d4ad.js +0 -1
  1216. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/keys/[id]/route-1c11060ffc33d4ad.js +0 -1
  1217. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/keys/route-1c11060ffc33d4ad.js +0 -1
  1218. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/message/route-1c11060ffc33d4ad.js +0 -1
  1219. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/oauth/[id]/[action]/route-1c11060ffc33d4ad.js +0 -1
  1220. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/route-1c11060ffc33d4ad.js +0 -1
  1221. package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/sse/route-1c11060ffc33d4ad.js +0 -1
  1222. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-1c11060ffc33d4ad.js +0 -1
  1223. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-1c11060ffc33d4ad.js +0 -1
  1224. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-1c11060ffc33d4ad.js +0 -1
  1225. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-1c11060ffc33d4ad.js +0 -1
  1226. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-1c11060ffc33d4ad.js +0 -1
  1227. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-1c11060ffc33d4ad.js +0 -1
  1228. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-1c11060ffc33d4ad.js +0 -1
  1229. package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-1c11060ffc33d4ad.js +0 -1
  1230. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-1c11060ffc33d4ad.js +0 -1
  1231. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-1c11060ffc33d4ad.js +0 -1
  1232. package/app/.next-cli-build/static/chunks/app/api/models/enabled/route-1c11060ffc33d4ad.js +0 -1
  1233. package/app/.next-cli-build/static/chunks/app/api/models/route-1c11060ffc33d4ad.js +0 -1
  1234. package/app/.next-cli-build/static/chunks/app/api/models/test/route-1c11060ffc33d4ad.js +0 -1
  1235. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-1c11060ffc33d4ad.js +0 -1
  1236. package/app/.next-cli-build/static/chunks/app/api/oauth/callback/route-1c11060ffc33d4ad.js +0 -1
  1237. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-1c11060ffc33d4ad.js +0 -1
  1238. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-1c11060ffc33d4ad.js +0 -1
  1239. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-1c11060ffc33d4ad.js +0 -1
  1240. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-1c11060ffc33d4ad.js +0 -1
  1241. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-1c11060ffc33d4ad.js +0 -1
  1242. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-1c11060ffc33d4ad.js +0 -1
  1243. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-1c11060ffc33d4ad.js +0 -1
  1244. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-1c11060ffc33d4ad.js +0 -1
  1245. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-1c11060ffc33d4ad.js +0 -1
  1246. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-1c11060ffc33d4ad.js +0 -1
  1247. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-1c11060ffc33d4ad.js +0 -1
  1248. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-1c11060ffc33d4ad.js +0 -1
  1249. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-1c11060ffc33d4ad.js +0 -1
  1250. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-1c11060ffc33d4ad.js +0 -1
  1251. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-1c11060ffc33d4ad.js +0 -1
  1252. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/start/route-1c11060ffc33d4ad.js +0 -1
  1253. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/status/route-1c11060ffc33d4ad.js +0 -1
  1254. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-1c11060ffc33d4ad.js +0 -1
  1255. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-1c11060ffc33d4ad.js +0 -1
  1256. package/app/.next-cli-build/static/chunks/app/api/pricing/route-1c11060ffc33d4ad.js +0 -1
  1257. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-1c11060ffc33d4ad.js +0 -1
  1258. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-1c11060ffc33d4ad.js +0 -1
  1259. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-1c11060ffc33d4ad.js +0 -1
  1260. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-1c11060ffc33d4ad.js +0 -1
  1261. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/refresh-profile/route-1c11060ffc33d4ad.js +0 -1
  1262. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-1c11060ffc33d4ad.js +0 -1
  1263. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-1c11060ffc33d4ad.js +0 -1
  1264. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-1c11060ffc33d4ad.js +0 -1
  1265. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-1c11060ffc33d4ad.js +0 -1
  1266. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-1c11060ffc33d4ad.js +0 -1
  1267. package/app/.next-cli-build/static/chunks/app/api/providers/route-1c11060ffc33d4ad.js +0 -1
  1268. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-1c11060ffc33d4ad.js +0 -1
  1269. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-1c11060ffc33d4ad.js +0 -1
  1270. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-1c11060ffc33d4ad.js +0 -1
  1271. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-1c11060ffc33d4ad.js +0 -1
  1272. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-1c11060ffc33d4ad.js +0 -1
  1273. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-1c11060ffc33d4ad.js +0 -1
  1274. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-1c11060ffc33d4ad.js +0 -1
  1275. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-1c11060ffc33d4ad.js +0 -1
  1276. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-1c11060ffc33d4ad.js +0 -1
  1277. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-1c11060ffc33d4ad.js +0 -1
  1278. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-1c11060ffc33d4ad.js +0 -1
  1279. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-1c11060ffc33d4ad.js +0 -1
  1280. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-1c11060ffc33d4ad.js +0 -1
  1281. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-1c11060ffc33d4ad.js +0 -1
  1282. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-1c11060ffc33d4ad.js +0 -1
  1283. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-1c11060ffc33d4ad.js +0 -1
  1284. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-1c11060ffc33d4ad.js +0 -1
  1285. package/app/.next-cli-build/static/chunks/app/api/routing-health/route-1c11060ffc33d4ad.js +0 -1
  1286. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-1c11060ffc33d4ad.js +0 -1
  1287. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-1c11060ffc33d4ad.js +0 -1
  1288. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-1c11060ffc33d4ad.js +0 -1
  1289. package/app/.next-cli-build/static/chunks/app/api/settings/route-1c11060ffc33d4ad.js +0 -1
  1290. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-1c11060ffc33d4ad.js +0 -1
  1291. package/app/.next-cli-build/static/chunks/app/api/tags/route-1c11060ffc33d4ad.js +0 -1
  1292. package/app/.next-cli-build/static/chunks/app/api/token-saver/stats/route-1c11060ffc33d4ad.js +0 -1
  1293. package/app/.next-cli-build/static/chunks/app/api/token-saver/stream/route-1c11060ffc33d4ad.js +0 -1
  1294. package/app/.next-cli-build/static/chunks/app/api/tool-disclosure/stats/route-1c11060ffc33d4ad.js +0 -1
  1295. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-1c11060ffc33d4ad.js +0 -1
  1296. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-1c11060ffc33d4ad.js +0 -1
  1297. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-1c11060ffc33d4ad.js +0 -1
  1298. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-1c11060ffc33d4ad.js +0 -1
  1299. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-1c11060ffc33d4ad.js +0 -1
  1300. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-1c11060ffc33d4ad.js +0 -1
  1301. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-1c11060ffc33d4ad.js +0 -1
  1302. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-1c11060ffc33d4ad.js +0 -1
  1303. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-1c11060ffc33d4ad.js +0 -1
  1304. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-1c11060ffc33d4ad.js +0 -1
  1305. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-1c11060ffc33d4ad.js +0 -1
  1306. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-1c11060ffc33d4ad.js +0 -1
  1307. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-1c11060ffc33d4ad.js +0 -1
  1308. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-1c11060ffc33d4ad.js +0 -1
  1309. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-1c11060ffc33d4ad.js +0 -1
  1310. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-1c11060ffc33d4ad.js +0 -1
  1311. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-1c11060ffc33d4ad.js +0 -1
  1312. package/app/.next-cli-build/static/chunks/app/api/usage/error-logs/route-1c11060ffc33d4ad.js +0 -1
  1313. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-1c11060ffc33d4ad.js +0 -1
  1314. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-1c11060ffc33d4ad.js +0 -1
  1315. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-1c11060ffc33d4ad.js +0 -1
  1316. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-1c11060ffc33d4ad.js +0 -1
  1317. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-1c11060ffc33d4ad.js +0 -1
  1318. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-1c11060ffc33d4ad.js +0 -1
  1319. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-1c11060ffc33d4ad.js +0 -1
  1320. package/app/.next-cli-build/static/chunks/app/api/v1/alpha/search/route-1c11060ffc33d4ad.js +0 -1
  1321. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-1c11060ffc33d4ad.js +0 -1
  1322. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-1c11060ffc33d4ad.js +0 -1
  1323. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-1c11060ffc33d4ad.js +0 -1
  1324. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-1c11060ffc33d4ad.js +0 -1
  1325. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-1c11060ffc33d4ad.js +0 -1
  1326. package/app/.next-cli-build/static/chunks/app/api/v1/codex/alpha/search/route-1c11060ffc33d4ad.js +0 -1
  1327. package/app/.next-cli-build/static/chunks/app/api/v1/codex/images/edits/route-1c11060ffc33d4ad.js +0 -1
  1328. package/app/.next-cli-build/static/chunks/app/api/v1/codex/images/generations/route-1c11060ffc33d4ad.js +0 -1
  1329. package/app/.next-cli-build/static/chunks/app/api/v1/codex/memories/trace_summarize/route-1c11060ffc33d4ad.js +0 -1
  1330. package/app/.next-cli-build/static/chunks/app/api/v1/codex/models/route-1c11060ffc33d4ad.js +0 -1
  1331. package/app/.next-cli-build/static/chunks/app/api/v1/codex/responses/compact/route-1c11060ffc33d4ad.js +0 -1
  1332. package/app/.next-cli-build/static/chunks/app/api/v1/codex/responses/route-1c11060ffc33d4ad.js +0 -1
  1333. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-1c11060ffc33d4ad.js +0 -1
  1334. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-1c11060ffc33d4ad.js +0 -1
  1335. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-1c11060ffc33d4ad.js +0 -1
  1336. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-1c11060ffc33d4ad.js +0 -1
  1337. package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-1c11060ffc33d4ad.js +0 -1
  1338. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-1c11060ffc33d4ad.js +0 -1
  1339. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-1c11060ffc33d4ad.js +0 -1
  1340. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-1c11060ffc33d4ad.js +0 -1
  1341. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-1c11060ffc33d4ad.js +0 -1
  1342. package/app/.next-cli-build/static/chunks/app/api/v1/route-1c11060ffc33d4ad.js +0 -1
  1343. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-1c11060ffc33d4ad.js +0 -1
  1344. package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-1c11060ffc33d4ad.js +0 -1
  1345. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-1c11060ffc33d4ad.js +0 -1
  1346. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-1c11060ffc33d4ad.js +0 -1
  1347. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-1c11060ffc33d4ad.js +0 -1
  1348. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-1c11060ffc33d4ad.js +0 -1
  1349. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-1c11060ffc33d4ad.js +0 -1
  1350. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-1c11060ffc33d4ad.js +0 -1
  1351. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-1c11060ffc33d4ad.js +0 -1
  1352. package/app/.next-cli-build/static/chunks/app/api/version/route-1c11060ffc33d4ad.js +0 -1
  1353. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-1c11060ffc33d4ad.js +0 -1
  1354. package/app/.next-cli-build/static/chunks/app/api/version/update/route-1c11060ffc33d4ad.js +0 -1
  1355. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-1c11060ffc33d4ad.js +0 -1
  1356. package/app/.next-cli-build/static/chunks/app/page-1c11060ffc33d4ad.js +0 -1
  1357. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-1c11060ffc33d4ad.js +0 -1
  1358. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-1c11060ffc33d4ad.js +0 -1
  1359. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-1c11060ffc33d4ad.js +0 -1
  1360. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-1c11060ffc33d4ad.js +0 -1
  1361. package/app/.next-cli-build/static/css/14f3f7e420fa2785.css +0 -1
  1362. /package/app/.next-cli-build/static/{iyE9-yOA2TKfxBG8WnbZ2 → zQapcWqcr7oLVi5jh7t01}/_buildManifest.js +0 -0
  1363. /package/app/.next-cli-build/static/{iyE9-yOA2TKfxBG8WnbZ2 → zQapcWqcr7oLVi5jh7t01}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=5130,exports.ids=[5130],exports.modules={6165:(a,b,c)=>{c.d(b,{Kr:()=>e,RU:()=>g,fo:()=>f,wi:()=>h});var d=c(40615);function e(a){if(!a)return!1;let b="oauth"===a.authType,c=("apikey"===a.authType||"api_key"===a.authType)&&d.jO.includes(a.provider);return b||c}function f(a){let b=a?.quotaPauseThresholds;return b&&"object"==typeof b?b:{}}function g(a){return null!==function(a){if(!e(a))return null;let b=f(a),c=a?.lastQuotaSnapshot?.windows;if(!c||!Array.isArray(c)||0===c.length)return null;let d=null;for(let a of c){if(!a||!0===a.unlimited)continue;let c=function(a){let b=Number(a);return!Number.isFinite(b)||b<=0||b>100?0:b}(b[a.key]);if(!c)continue;let e=Number(a.remainingPercentage);Number.isFinite(e)&&e<=c&&(null===d||e<Number(d.remainingPercentage))&&(d={key:a.key,remainingPercentage:e,threshold:c})}return d}(a)}function h(a,b){if(!b||"object"!=typeof b||b.message||b.error)return null;let c=b.quotas;if(!c||"object"!=typeof c)return null;let d=Array.isArray(c)?c:Object.entries(c);if(0===d.length)return null;let e=new Date().toISOString(),f=[];for(let a of d){let[b,c]=Array.isArray(a)?a:[a?.name,a];if(!c||"object"!=typeof c)continue;let d=function(a){var b;let c,d;return a&&"number"==typeof a.remainingPercentage&&Number.isFinite(a.remainingPercentage)?Math.max(0,Math.min(100,Math.round(a.remainingPercentage))):(b=a?.used,c=Number(a?.total),d=Number(b),!Number.isFinite(c)||c<=0?null:!Number.isFinite(d)||d<=0?100:d>=c?0:Math.max(0,Math.min(100,Math.round((c-d)/c*100))))}(c);if(null==d)continue;let e=null;if(c.resetAt){let a=new Date(c.resetAt).getTime();Number.isFinite(a)&&(e=new Date(a).toISOString())}f.push({key:String(b??c.name??"unknown"),remainingPercentage:d,resetAt:e,unlimited:!0===c.unlimited})}return 0===f.length?null:{windows:f,fetchedAt:e}}},11973:(a,b,c)=>{c.d(b,{Ut:()=>k.Ut,RO:()=>l.RO,Yt:()=>l.Yt,my:()=>aG});var d=c(89843),e=c(39141),f=c(88705);let g={apiVersion:e.sr.github?.apiVersion,userAgent:e.sr.github?.userAgent};async function h(a,b,c=null){try{if(!a)throw Error("No GitHub access token available. Please re-authorize the connection.");let b=await (0,d.proxyAwareFetch)((0,f.U)("github").url,{headers:{Authorization:`token ${a}`,Accept:"application/json","X-GitHub-Api-Version":g.apiVersion,"User-Agent":g.userAgent,"Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot-chat/0.26.7"}},c);if(!b.ok){let a=await b.text();throw Error(`GitHub API error: ${a}`)}let e=await b.json();if(e.quota_snapshots){let a=e.quota_snapshots,b=(0,f.eZ)(e.quota_reset_date);return{plan:e.copilot_plan,resetDate:e.quota_reset_date,quotas:{chat:{...i(a.chat),resetAt:b},completions:{...i(a.completions),resetAt:b},premium_interactions:{...i(a.premium_interactions),resetAt:b}}}}if(e.monthly_quotas||e.limited_user_quotas){let a=e.monthly_quotas||{},b=e.limited_user_quotas||{},c=(0,f.eZ)(e.limited_user_reset_date);return{plan:e.copilot_plan||e.access_type_sku,resetDate:e.limited_user_reset_date,quotas:{chat:{used:b.chat||0,total:a.chat||0,unlimited:!1,resetAt:c},completions:{used:b.completions||0,total:a.completions||0,unlimited:!1,resetAt:c}}}}return{message:"GitHub Copilot connected. Unable to parse quota data."}}catch(a){throw Error(`Failed to fetch GitHub usage: ${a.message}`)}}function i(a){return a?{used:a.entitlement-a.remaining,total:a.entitlement,remaining:a.remaining,unlimited:a.unlimited||!1}:{used:0,total:0,unlimited:!0}}var j=c(71040),k=c(98594),l=c(49485),m=c(3148);async function n(a,b,c=null){let e=b?.authMethod||"builder-id",g="api_key"===e,h=g?{tokentype:"API_KEY"}:{},i="external_idp"===e?{TokenType:"EXTERNAL_IDP"}:{},j=g?b?.profileArn||"":b?.profileArn||(0,m.We)(e),k=new URLSearchParams({isEmailRequired:"true",origin:"AI_EDITOR",resourceType:"AGENTIC_REQUEST"}),l=!1,o=[];for(let b of[{name:"codewhisperer-get",run:async()=>(0,d.proxyAwareFetch)(`${(0,f.U)("kiro").cwHost}${(0,f.U)("kiro").limitsPath}?${k.toString()}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","x-amz-user-agent":"aws-sdk-js/1.0.0 KiroIDE","user-agent":"aws-sdk-js/1.0.0 KiroIDE",...h,...i}},c)},{name:"codewhisperer-post",run:async()=>(0,d.proxyAwareFetch)((0,f.U)("kiro").cwHost,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.GetUsageLimits",Accept:"application/json",...h,...i},body:JSON.stringify({origin:"AI_EDITOR",...j?{profileArn:j}:{},resourceType:"AGENTIC_REQUEST"})},c)},{name:"q-get",run:async()=>{let b=new URLSearchParams({origin:"AI_EDITOR",...j?{profileArn:j}:{},resourceType:"AGENTIC_REQUEST"});return(0,d.proxyAwareFetch)(`${(0,f.U)("kiro").qHost}${(0,f.U)("kiro").limitsPath}?${b}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...h,...i}},c)}}])try{let a=await b.run();if(!a.ok){let c=await a.text().catch(()=>"");(401===a.status||403===a.status)&&(l=!0),o.push(`${b.name}:${a.status}${c?`:${c}`:""}`);continue}let c=await a.json();return function(a){let b=a.usageBreakdownList||[],c={},d=(0,f.eZ)(a.nextDateReset||a.resetDate);return b.forEach(a=>{let b=a.resourceType?.toLowerCase()||"unknown",e=a.currentUsageWithPrecision||0,g=a.usageLimitWithPrecision||0;if(c[b]={used:e,total:g,remaining:g-e,resetAt:d,unlimited:!1},a.freeTrialInfo){let e=a.freeTrialInfo.currentUsageWithPrecision||0,g=a.freeTrialInfo.usageLimitWithPrecision||0;c[`${b}_freetrial`]={used:e,total:g,remaining:g-e,resetAt:(0,f.eZ)(a.freeTrialInfo.freeTrialExpiry||d),unlimited:!1}}}),{plan:a.subscriptionInfo?.subscriptionTitle||"Kiro",quotas:c}}(c)}catch(a){o.push(`${b.name}:${a.message}`)}return l&&"idc"===e?{message:"Kiro quota API is unavailable for the current AWS IAM Identity Center session. Chat may still work. If this persists after renewing your session, reconnect Kiro.",quotas:{}}:l&&("google"===e||"github"===e)?{message:"Kiro quota API authentication expired. Chat may still work.",quotas:{}}:l?{message:"Kiro quota API rejected the current token. Chat may still work.",quotas:{}}:{message:o.length>0?`Unable to fetch Kiro usage right now. (${o[o.length-1]})`:"Unable to fetch Kiro usage right now.",quotas:{}}}let o={minimax:(0,f.U)("minimax").urls,"minimax-cn":(0,f.U)("minimax-cn").urls};function p(a,b,c){return a&&"object"==typeof a?a[b]??a[c]??null:null}function q(a,b,c){if(!a||"object"!=typeof a)return null;let d=a[b]??a[c];if(null==d)return null;let e=Number(d);return Number.isFinite(e)?Math.max(0,Math.min(100,e)):null}function r(a){return Math.max(0,Number(p(a,"current_interval_total_count","currentIntervalTotalCount"))||0)}function s(a){return Math.max(0,Number(p(a,"current_weekly_total_count","currentWeeklyTotalCount"))||0)}function t(a){return!!(r(a)>0||s(a)>0)||null!==q(a,"current_interval_remaining_percent","currentIntervalRemainingPercent")||null!==q(a,"current_weekly_remaining_percent","currentWeeklyRemainingPercent")}function u(a,b,c,d,e,g,h,i,j,k){let l=d(c),m=q(c,h,i);if(l<=0&&null===m)return;let n=Math.max(0,Number(p(c,e,g))||0),o=l,r=n;l<=0&&(o=100,r=k?Math.round(m/100*o):Math.round(o*(1-m/100))),a[b]=function(a,b,c,d,e=null){var f,g,h;let i=Math.max(0,a),j=d?Math.max(i-b,0):Math.min(Math.max(0,b),i),k=Math.max(i-j,0),l=(f=e,g=k,h=i,null!=f&&Number.isFinite(f)?Math.max(0,Math.min(100,f)):h>0?Math.max(0,Math.min(100,g/h*100)):0);return{used:j,total:i,remaining:k,remainingPercentage:l,resetAt:c,unlimited:!1}}(o,r,function(a,b,c,d,e,g){let h=Number(p(a,c,d))||0;return h>0?new Date(b+h).toISOString():(0,f.eZ)(p(a,e,g))}(c,...j),k,m)}async function v(a,b,c=null){if(!a)return{message:"MiniMax API key not available."};let e=o[b]||[],f="";for(let b=0;b<e.length;b+=1){let g=e[b],h=b<e.length-1;try{let b=await (0,d.proxyAwareFetch)(g,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"}},c),e=await b.text(),i={};if(e)try{i=JSON.parse(e)}catch{i={}}let j=(i?.base_resp??i?.baseResp)||{},k=Number(j.status_code??j.statusCode)||0,l=String(j.status_msg??j.statusMsg??"").trim(),m=`${l} ${e}`.trim(),n=/token plan|coding plan|invalid api key|invalid key|unauthorized|inactive/i;if(401===b.status||403===b.status||1004===k||n.test(m))return{message:"MiniMax API key invalid or inactive. Use an active Token/Coding Plan key."};if(!b.ok){if(f=`MiniMax usage endpoint error (${b.status})`,(404===b.status||405===b.status||b.status>=500)&&h)continue;return{message:`MiniMax connected. ${f}`}}if(0!==k)return{message:`MiniMax connected. ${l||"Upstream quota API error"}`};let o=i?.model_remains??i?.modelRemains,q=(Array.isArray(o)?o:[]).filter(t);if(0===q.length)return{message:"MiniMax connected. No quota data was returned."};let v=Date.now(),w=g.includes("/coding_plan/remains"),x={};for(let a of q){let b=function(a){let b=String(p(a,"model_name","modelName")||"").trim();return b?"MiniMax-M*"===b||"general"===b?"M-series":b.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase()).replace(/\bTo\b/g,"to").replace(/\bTts\b/g,"TTS").replace(/\bHd\b/g,"HD"):"MiniMax"}(a);u(x,`${b} (5h)`,a,r,"current_interval_usage_count","currentIntervalUsageCount","current_interval_remaining_percent","currentIntervalRemainingPercent",[v,"remains_time","remainsTime","end_time","endTime"],w),u(x,`${b} (7d)`,a,s,"current_weekly_usage_count","currentWeeklyUsageCount","current_weekly_remaining_percent","currentWeeklyRemainingPercent",[v,"weekly_remains_time","weeklyRemainsTime","weekly_end_time","weeklyEndTime"],w)}if(0===Object.keys(x).length)return{message:"MiniMax connected. Unable to extract quota usage."};return{quotas:x}}catch(a){if(f=a.message,!h)break}}return{message:f?`MiniMax connected. Unable to fetch usage: ${f}`:"MiniMax connected. Unable to fetch usage."}}let w="Characters";async function x(a,b=null){if(!a)return{message:"ElevenLabs API key not available."};try{let c=await (0,f.u9)("https://api.elevenlabs.io/v1/user/subscription",{method:"GET",headers:{"xi-api-key":a,"Content-Type":"application/json"}},1e4,b);if(401===c.status)return{message:"ElevenLabs connected. Key lacks user_read permission to read credits."};if(!c.ok)return{message:`ElevenLabs connected. Usage endpoint error (${c.status}).`};let d=await c.json(),e=Math.max(0,(0,f.IQ)(d.character_limit)),g=Math.max(0,(0,f.IQ)(d.character_count)),h=Math.max(e-g,0),i=String(d.tier||"").trim();return{quotas:{[w]:{displayName:i?`${i.charAt(0).toUpperCase()}${i.slice(1)} characters`:w,used:g,total:e,remaining:h,remainingPercentage:e>0?h/e*100:0,resetAt:(0,f.eZ)(d.next_character_count_reset_unix),unlimited:0===e}}}}catch(a){return{message:`ElevenLabs connected. Unable to fetch usage: ${a.message}`}}}function y(a,b){let c=Number(a??b);return Number.isFinite(c)?c:0}async function z(a,b,c,g,h=null){let i=b||c;if(!i)return{message:`CodeBuddy (${a}) credential not available.`};try{let b=await (0,d.proxyAwareFetch)((0,f.U)(a).url,{method:"POST",headers:{...e.xq[a]?.headers||{},Authorization:`Bearer ${i}`,"Content-Type":"application/json",Accept:"application/json"},body:"{}"},h);if(401===b.status||403===b.status)return{message:"CodeBuddy CN credential invalid or expired."};if(!b.ok)return{message:`CodeBuddy CN quota API error (${b.status}).`};let c=await b.json();if(c?.code!==0)return{message:`CodeBuddy CN quota error: ${c?.msg||"unknown"}`};let g=c?.data?.Response?.Data||{},j=Array.isArray(g.Accounts)?g.Accounts:[];if(0===j.length)return{message:"CodeBuddy CN connected. No credit package found."};let k=a=>{let b=(0,f.eZ)(a.CycleEndTime);return b?new Date(b).getTime():1/0},l=a=>{let b=k(a),c=Number(a.DeductionEndTime);return Number.isFinite(b)&&Number.isFinite(c)&&c-b>1728e5},m=(a,b)=>k(a)-k(b),n=j.filter(l).sort(m),o=j.filter(a=>!l(a)).sort(m),p={},q={};n.forEach(a=>{let b=function(a){let b=(0,f.eZ)(a.CycleStartTime),c=(0,f.eZ)(a.CycleEndTime);if(b&&c){let a=(new Date(c).getTime()-new Date(b).getTime())/864e5;if(a<=1.5)return"Daily";if(a<=10)return"Weekly"}return"Monthly"}(a);q[b]=(q[b]||0)+1,p[q[b]>1?`${b} ${q[b]}`:b]={used:y(a.CycleCapacityUsedPrecise,a.CycleCapacityUsed),total:y(a.CycleCapacitySizePrecise,a.CycleCapacitySize),resetAt:(0,f.eZ)(a.CycleEndTime),unlimited:!1,recurring:!0}}),o.forEach((a,b)=>{p[`Bonus Pack ${b+1}`]={used:y(a.CapacityUsedPrecise,a.CapacityUsed),total:y(a.CapacitySizePrecise,a.CapacitySize),resetAt:(0,f.eZ)(a.CycleEndTime),unlimited:!1,recurring:!1}});let r=n[0]||j[0]||{};return{plan:r.PackageName||r.SubProductName||"CodeBuddy",quotas:p}}catch(b){return{message:`CodeBuddy (${a}) error: ${b.message}`}}}async function A(a,b,c,d=null){return z("codebuddy-cn",a,b,c,d)}async function B(a,b,c,d=null){return z("codebuddy-intl",a,b,c,d)}var C=c(13247);let D=(0,f.U)("grok-cli"),E=D.url||"https://cli-chat-proxy.grok.com/v1/billing?format=credits",F=D.userUrl||"https://cli-chat-proxy.grok.com/v1/user?include=subscription",G="string"==typeof E&&E.includes("?")?E.replace(/\?.*$/,""):"https://cli-chat-proxy.grok.com/v1/billing";function H(a,b=0){return null==a?b:"object"==typeof a&&!Array.isArray(a)&&"val"in a?(0,f.IQ)(a.val,b):(0,f.IQ)(a,b)}function I(a){return"string"==typeof a&&a.trim()?a.trim().replace(/[_-]+/g," ").replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase()):null}function J(a,b){let c=a?.subscriptionTier??a?.subscription_tier??a?.subscription?.tier??b?.subscriptionTier??b?.subscription_tier;return"string"==typeof c?c.trim():""}function K({used:a,total:b,resetAt:c,unlimited:d=!1}){let e=Math.max(0,(0,f.IQ)(b,0)),g=Math.max(0,(0,f.IQ)(a,0));if(d||0===e)return{used:g,total:0,remainingPercentage:100*!!d,resetAt:c||null,unlimited:!0};let h=Math.max(0,e-g);return{used:g,total:e,remainingPercentage:h/e*100,resetAt:c||null,unlimited:!1}}function L(a,b){let c=Math.min(100,Math.max(0,(0,f.IQ)(a,0)));return{used:c,total:100,remainingPercentage:Math.max(0,100-c),resetAt:b||null,unlimited:!1}}function M(a){let b=a&&"object"==typeof a?a:{},c=b.config&&"object"==typeof b.config&&!Array.isArray(b.config)?b.config:b;return{root:b,config:c}}async function N(a,b=null,c=null){if(!a)return{message:"Grok CLI access token not available."};let e=function(a,b={}){let c=b||{},d={Authorization:`Bearer ${a}`,Accept:"application/json","User-Agent":C.fZ,"x-xai-token-auth":"xai-grok-cli","x-grok-client-identifier":C.rK,"x-grok-client-version":C.uG,"x-grok-client-mode":"headless"},e=c.email,f=c.userId||c.principalId;return e&&(d["x-email"]=e),f&&(d["x-userid"]=f),d}(a,b);try{let[a,b,g]=await Promise.all([(0,d.proxyAwareFetch)(E,{method:"GET",headers:e},c),(0,d.proxyAwareFetch)(G,{method:"GET",headers:e},c).catch(()=>null),(0,d.proxyAwareFetch)(F,{method:"GET",headers:e},c).catch(()=>null)]);if(401===a.status||403===a.status)return{message:"Grok CLI authentication expired. Please re-authorize."};if(!a.ok){let b=await a.text().catch(()=>""),c=b?`: ${b.slice(0,200)}`:"";return{message:`Grok CLI billing API error (${a.status})${c}`}}let h=await a.json().catch(()=>null);if(!h||"object"!=typeof h)return{message:"Grok CLI billing response was not JSON."};let i=null;b?.ok&&(i=await b.json().catch(()=>null));let j=null;g?.ok&&(j=await g.json().catch(()=>null));let k=function(a,b=null,c=null){let d,{root:e,config:g}=M(a),h=(0,f.eZ)(g.billingPeriodEnd)||(0,f.eZ)(g.billing_period_end)||(0,f.eZ)(g.currentPeriod?.end)||(0,f.eZ)(g.resetAt||g.resetsAt||g.periodEnd)||(0,f.eZ)(e.billingPeriodEnd)||(0,f.eZ)(e.billing_period_end)||(0,f.eZ)(e.resetAt||e.resetsAt||e.periodEnd)||null,i={},j=J(b,g),k=!!j&&!/^(free|none|null)$/i.test(j),l=H(g.monthlyLimit??g.monthly_limit??e.monthlyLimit??e.monthly_limit,NaN),m=H(g.includedUsed??g.included_used??e.includedUsed??e.included_used,NaN),n=H(g.totalUsed??g.total_used??e.totalUsed??e.total_used,NaN);Number.isFinite(l)&&l>0&&(i["Monthly included"]=K({used:Number.isFinite(m)?m:Number.isFinite(n)?n:0,total:l,resetAt:h}));let o=Array.isArray(g.productUsage)?g.productUsage:Array.isArray(e.productUsage)?e.productUsage:[],p=!1;if(o.length>0)for(let a of o){if(!a||"object"!=typeof a)continue;let b=H(a.usagePercent,NaN);if(!Number.isFinite(b))continue;let c=I(a.product)||"Usage";i[c]||(i[c]=L(b,h),p=!0)}let q=H(g.creditUsagePercent??e.creditUsagePercent,NaN);!p&&Number.isFinite(q)&&(i.Credits=L(q,h),p=!0);let r=H(g.onDemandCap??e.onDemandCap,NaN),s=H(g.onDemandUsed??e.onDemandUsed,NaN);if(Number.isFinite(r)&&r>0){let a=Number.isFinite(s)?Math.max(0,s):0;i["On-demand"]=K({used:a,total:r,resetAt:h})}else!p&&!k&&Number.isFinite(r)&&0===r&&Number.isFinite(s)&&(i["On-demand"]={used:1,total:1,remainingPercentage:0,resetAt:h,unlimited:!1});let t=H(g.prepaidBalance??e.prepaidBalance,NaN);for(let a of(Number.isFinite(t)&&t>0&&(i.Prepaid={used:0,total:t,remainingPercentage:100,resetAt:null,unlimited:!1}),[e.credits,e.creditBalance,e.usage,g.credits,g.includedCredits,g.subscriptionCredits].filter(a=>a&&"object"==typeof a&&!Array.isArray(a)))){let b=H(a.total??a.limit??a.cap??a.allocation??a.amount,NaN),c=H(a.used??a.spent??a.consumed,NaN),d=H(a.remaining??a.balance??a.left,NaN);if(Number.isFinite(b)&&b>0){let e=Number.isFinite(c)?c:Number.isFinite(d)?Math.max(0,b-d):0;i.Credits||(i.Credits=K({used:e,total:b,resetAt:(0,f.eZ)(a.resetAt||a.resetsAt||a.end)||h}))}else Number.isFinite(d)&&d>=0&&!i.Credits&&(i.Credits={used:0,total:d>0?d:1,remainingPercentage:100*(d>0),resetAt:h,unlimited:!1})}if(c&&"object"==typeof c){let{config:a}=M(c),b=H(a.monthlyLimit,NaN),d=H(a.used,NaN),e=(0,f.eZ)(a.billingPeriodEnd)||null;Number.isFinite(b)&&b>0&&(i.Monthly=K({used:Number.isFinite(d)?Math.max(0,d):0,total:b,resetAt:e}))}let u=Object.keys(i).length>0&&Object.values(i).every(a=>!0!==a.unlimited&&(a.remainingPercentage??100)<=0);return{plan:(d=J(b,g))?I(d)||d:b?.hasGrokCodeAccess===!0?"Grok Code":(g?.isUnifiedBillingUser,"Grok Build"),quotas:i,periodEnd:h,exhausted:u,subscriptionAccess:k,rawConfig:g}}(h,j,i);if(!k.quotas||0===Object.keys(k.quotas).length)return{plan:k.plan,message:k.subscriptionAccess?"Subscription access is active; Grok does not expose a numeric included quota.":"Grok Build connected, but no credit allotment was returned. Free promo may be exhausted.",quotas:{}};return{plan:k.plan,quotas:k.quotas}}catch(a){return{message:`Grok CLI usage error: ${a.message}`}}}var O=c(28730);let P={LEVEL_BASIC:"Moderato",LEVEL_INTERMEDIATE:"Allegretto",LEVEL_ADVANCED:"Allegro",LEVEL_STANDARD:"Vivace"};function Q({used:a,total:b,remaining:c,resetAt:d}){let e,g=Math.max(0,(0,f.IQ)(b,0)),h=Math.max(0,(0,f.IQ)(a,0));return e=g>0&&null!=c&&Number.isFinite(Number(c))?Math.max(0,Number(c))/g*100:g>0?Math.max(0,g-h)/g*100:0,{used:h,total:g,remainingPercentage:e,resetAt:d||null,unlimited:!1}}async function R(a=null,b=null,c=null,e=null){let g="string"==typeof b&&b.length>0,h=!g&&"string"==typeof a&&a.length>0;if(!g&&!h)return{message:"Kimi access token or API key not available."};let i=g?{"x-api-key":b}:{Authorization:`Bearer ${a}`,...(0,O.buildKimiHeaders)(e?.deviceId)};try{let a,b=await (0,d.proxyAwareFetch)(g?"https://api.moonshot.cn/v1/usage":"https://api.kimi.com/coding/v1/usages",{method:"GET",headers:{...i,"Content-Type":"application/json",Accept:"application/json"}},c),e=await b.text().catch(()=>"");if(!b.ok)return{plan:"Kimi Coding",message:function(a,b){let c=null;try{c=JSON.parse(b||"")}catch{}let d=Array.isArray(c?.details)?c.details[0]:null,e=d?.debug||c?.debug||null,f=e?.reason||c?.reason||"",g=e?.localizedMessage?.message||d?.localizedMessage?.message||c?.message||"";if(401===a)return"Kimi authentication expired. Please re-authorize.";if(403===a&&("REASON_FEATURE_NO_PERMISSION"===f||/permission_denied|do not have permission|subscribe/i.test(`${c?.code||""} ${g} ${b||""}`)))return g||"Kimi connected, but this account has no permission to view usage. Subscribe to Kimi Code to access quota.";let h=(g||b||"").slice(0,100);return h?`Kimi Coding connected. API Error ${a}: ${h}`:`Kimi Coding connected. API Error ${a}`}(b.status,e)};try{a=JSON.parse(e||"{}")}catch{return{plan:"Kimi Coding",message:"Kimi Coding connected. Invalid JSON response from API."}}let h={},j=a?.usage&&"object"==typeof a.usage?a.usage:{},k=(0,f.IQ)(j.limit??j.Limit,0),l=(0,f.IQ)(j.used??j.Used,0),m=j.remaining??j.Remaining,n=null!=m&&""!==m?(0,f.IQ)(m,NaN):NaN,o=j.resetTime||j.ResetTime||j.reset_at||j.resetAt;for(let b of(k>0&&(h.Weekly=Q({used:l,total:k,remaining:Number.isFinite(n)?n:null,resetAt:(0,f.eZ)(o)})),Array.isArray(a?.limits)?a.limits:[])){if(!b||"object"!=typeof b)continue;let a=b.detail&&"object"==typeof b.detail?b.detail:{},c=(0,f.IQ)(a.limit??a.Limit,0),d=(0,f.IQ)(a.remaining??a.Remaining,NaN),e=a.resetTime||a.reset_at||a.resetAt;if(c>0){let a=Number.isFinite(d)?d:Math.max(0,c);h.Ratelimit=Q({used:Math.max(0,c-a),total:c,remaining:a,resetAt:(0,f.eZ)(e)})}}let p=a?.user?.membership?.level,q=function(a){if(!a)return"";let b=String(a);return P[b]?P[b]:b.replace(/^LEVEL_/,"").toLowerCase()}(p)||"Kimi Coding";if(Object.keys(h).length>0)return{plan:q,quotas:h};return{plan:q,message:"Kimi Coding connected. Usage tracked per request."}}catch(a){return{message:`Kimi Coding connected. Unable to fetch usage: ${a.message}`}}}let S={usageUrl:(0,f.U)("cursor").usageUrl,planUrl:(0,f.U)("cursor").planUrl};async function T(a,b,c){return(0,d.proxyAwareFetch)(a,{method:"POST",headers:{Authorization:`Bearer ${b}`,"Content-Type":"application/json","Connect-Protocol-Version":"1"},body:"{}"},c)}function U(a,b){let c=Math.max(0,Math.min(100,a));return{used:c,total:100,remaining:Math.max(0,100-c),resetAt:b,unlimited:!1}}async function V(a,b){try{let c=await T(S.planUrl,a,b);if(!c.ok)return null;let d=await c.json(),e=d?.planInfo?.planName;return"string"==typeof e&&e.trim()?e.trim():null}catch{return null}}async function W(a,b=null){let c,d;if(!a)return{message:"No Cursor access token available. Re-import your Cursor session."};try{c=await T(S.usageUrl,a,b)}catch(a){return{message:`Cursor connected. Unable to fetch usage: ${a.message}`}}if(!c.ok)return{message:`Cursor connected. Usage API temporarily unavailable (${c.status}).`};try{d=await c.json()}catch{return{message:"Cursor connected. Usage API returned an invalid response."}}let e=d?.planUsage;if(d?.enabled===!1||!e)return{message:"No active Cursor subscription."};let g=Number(e.limit),h=Number.isFinite(g),i=Number(e.totalPercentUsed),j=Number.isFinite(i);if(!h&&!j)return{message:"Cursor connected. Usage totals unavailable for this account."};let k=(0,f.eZ)(d.billingCycleEnd),l={},m=Number(e.totalSpend),n=Number(e.remaining),o=0;Number.isFinite(m)?o=m:h&&Number.isFinite(n)&&(o=g-n);let p=h&&g>0?o/g*100:0;l["Total usage"]=U(j?i:p,k);let q=Number(e.autoPercentUsed);Number.isFinite(q)&&(l["Auto usage"]=U(q,k));let r=Number(e.apiPercentUsed);return Number.isFinite(r)&&(l["API usage"]=U(r,k)),{plan:await V(a,b)||"Cursor",quotas:l}}async function X(a=null,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"DeepSeek API key not available. Add a key to view usage."};try{let c=await (0,d.proxyAwareFetch)("https://api.deepseek.com/user/balance",{method:"GET",headers:{Authorization:`Bearer ${a.trim()}`,"Content-Type":"application/json",Accept:"application/json"}},b);if(401===c.status||403===c.status)return{plan:"DeepSeek",message:"DeepSeek authentication failed. Check the API key."};if(!c.ok){let a=await c.text().catch(()=>"");return{plan:"DeepSeek",message:`DeepSeek balance API error (${c.status})${a?`: ${a.slice(0,120)}`:""}`}}let e=await c.json().catch(()=>null);if(!e||"object"!=typeof e)return{message:"DeepSeek balance response was not JSON."};let g=function(a){let b=Array.isArray(a?.balance_infos)?a.balance_infos:[],c=[];for(let a of b){if(!a||"object"!=typeof a)continue;let b="string"==typeof a.currency?a.currency.toUpperCase():"";if(!b)continue;let d=(0,f.IQ)(a.total_balance??a.totalBalance,0);c.push({currency:b,totalBalance:d,grantedBalance:(0,f.IQ)(a.granted_balance??a.grantedBalance,0),toppedUpBalance:(0,f.IQ)(a.topped_up_balance??a.toppedUpBalance,0)})}return c}(e);if(0===g.length)return{plan:"DeepSeek",message:"DeepSeek connected. No balance data returned."};let h=!0===e.is_available||!0===e.isAvailable,i={};for(let a of g){let b=Math.max(0,a.totalBalance);i[`Credit: ${b.toFixed(2)} ${a.currency}`]={used:0,total:b,remainingPercentage:100*(b>0),resetAt:null,unlimited:!1,isCreditBalance:!0}}return{plan:h?"DeepSeek":"DeepSeek (Insufficient Balance)",quotas:i}}catch(a){return{message:`DeepSeek error: ${a.message}`}}}let Y="https://api.commandcode.ai",Z=`${Y}/alpha/whoami`,$=`${Y}/alpha/billing/credits`,_=`${Y}/alpha/usage/summary`,aa=`${Y}/alpha/billing/subscriptions`,ab="0.25.7";function ac(a,b){return b?`${a}?orgId=${encodeURIComponent(b)}`:a}async function ad(a,b,c){let e=await (0,d.proxyAwareFetch)(a,{method:"GET",headers:{Authorization:`Bearer ${b}`,Accept:"application/json","x-command-code-version":ab,"x-cli-environment":"cli","user-agent":`command-code/${ab}`}},c);if(!e.ok){let a=await e.text().catch(()=>"");return{error:{status:e.status,body:a.slice(0,160)}}}let f=await e.json().catch(()=>null);return f&&"object"==typeof f?{data:f}:{error:{status:e.status,body:"non-JSON response"}}}function ae(a,b){return b>0?Math.max(0,Math.min(100,Math.round((b-a)/b*100))):0}function af(a,b=2){return(0,f.IQ)(a,0).toFixed(b)}function ag(a){if(!a||"object"!=typeof a)return null;let b=Math.max(0,(0,f.IQ)(a.used,0)),c=Math.max(0,(0,f.IQ)(a.cap,0));return{used:af(b),total:af(c),remainingPercentage:ae(b,c),resetAt:(0,f.eZ)(a.resetAt)}}async function ah(a=null,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"Command Code API key not available. Add a key to view usage."};let c=a.trim();try{let a=await ad(Z,c,b);if(a.error&&401===a.error.status)return{plan:"Command Code",message:"Command Code authentication failed. Check the API key."};let d=a.data?.org?.id??null,e=await ad(ac($,d),c,b);if(e.error){let{status:a,body:b}=e.error;if(401===a||403===a)return{plan:"Command Code",message:"Command Code rejected the request. Check the API key (Cloudflare blocks requests without the CLI identity headers)."};return{plan:"Command Code",message:`Command Code credits API error (${a})${b?`: ${b}`:""}`}}let g={},h=e.data?.windowLimits||null,i=ag(h?.fiveHour);i&&(g["5-hour"]=i);let j=ag(h?.weekly);j&&(g.Weekly=j);let k=await ad(aa,c,b);if(k.error&&401===k.error.status)return{plan:"Command Code",message:"Command Code authentication failed. Check the API key."};let l=e.data?.credits;if(l){let a=Math.max(0,(0,f.IQ)(l.monthlyCredits,0)),e=await ad(ac(_,d),c,b),h=e.error?0:Math.max(0,(0,f.IQ)(e.data?.totalCost,0)),i=a+h;i>0&&(g["Monthly credits"]={used:af(h),total:af(i),remainingPercentage:ae(h,i),resetAt:(0,f.eZ)(k.data?.data?.currentPeriodEnd??k.data?.currentPeriodEnd)})}if(0===Object.keys(g).length)return{plan:"Command Code",message:"Command Code connected. No credit or window data returned."};let m=h?.exceeded,n=h?.limited===!0,o=k.data?.data?.planId||null,p=o?`Command Code (${o})`:"Command Code";return{plan:n&&m?`${p} — limit exceeded`:p,quotas:g}}catch(a){return{message:`Command Code error: ${a.message}`}}}let ai=(0,f.U)("groq").url;function aj(a,b,c,d){let e,f=a.get(b),g=a.get(c);if(null===f||null===g)return null;let h=Number(f),i=Number(g);return Number.isFinite(h)&&Number.isFinite(i)?{used:Math.max(0,h-i),total:h,resetAt:null===(e=function(a){let b;if("string"!=typeof a||!a.trim())return null;let c=/(\d+(?:\.\d+)?)(ms|s|m|h)/g,d=0,e=!1;for(;b=c.exec(a);){e=!0;let a=Number(b[1]),c=b[2];d+=a*("h"===c?36e5:"m"===c?6e4:"ms"===c?1:1e3)}return e?d:null}(a.get(d)))?null:new Date(Date.now()+e).toISOString(),unlimited:!1}:null}async function ak(a,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"Groq API key not available. Add a key to view usage."};try{let c=await (0,d.proxyAwareFetch)(ai,{method:"GET",headers:{Authorization:`Bearer ${a.trim()}`,Accept:"application/json"}},b);if(401===c.status||403===c.status)return{plan:"Groq",message:"Groq authentication failed. Check the API key."};if(!c.ok){let a=await c.text().catch(()=>"");return{plan:"Groq",message:`Groq usage API error (${c.status})${a?`: ${a.slice(0,120)}`:""}`}}await c.text().catch(()=>{});let e=aj(c.headers,"x-ratelimit-limit-requests","x-ratelimit-remaining-requests","x-ratelimit-reset-requests"),f=aj(c.headers,"x-ratelimit-limit-tokens","x-ratelimit-remaining-tokens","x-ratelimit-reset-tokens");if(!e&&!f)return{plan:"Groq",message:"Groq connected. No rate-limit data reported for this key yet.",quotas:{}};let g={};return e&&(g.Requests=e),f&&(g.Tokens=f),{plan:"Groq",quotas:g}}catch(a){return{message:`Groq error: ${a.message}`}}}var al=c(49934);function am(a){if(null==a)return{unlimited:!1,total:0};if("unlimited"===a||a?.unlimited===!0)return{unlimited:!0,total:0};if("number"==typeof a&&Number.isFinite(a))return{unlimited:!1,total:Math.max(0,a)};if("string"==typeof a){let b=a.trim();if("unlimited"===b)return{unlimited:!0,total:0};let c=Number(b);if(Number.isFinite(c))return{unlimited:!1,total:Math.max(0,c)}}let b=a.limited??a.Limited;return"number"==typeof b&&Number.isFinite(b)?{unlimited:!1,total:Math.max(0,b)}:{unlimited:!1,total:0}}function an(a,b,c,d=null){let e=Math.max(0,(0,f.IQ)(b,0)),g=am(c);if(g.unlimited)return{used:e,total:0,remainingPercentage:100,resetAt:d||null,unlimited:!0};let h=g.total;if(h<=0)return{used:e,total:0,remainingPercentage:0,resetAt:d||null,unlimited:!1};let i=Math.min(e,h),j=Math.max(0,h-i);return{used:i,total:h,remainingPercentage:j/h*100,resetAt:d||null,unlimited:!1}}function ao(a){return a&&"object"==typeof a?null!=a.limit?a.limit:a:null}async function ap(a=null,b={},c=null){let d=b||{},e=d.userId;if(!a||"string"!=typeof a||!a.trim())return{message:"Zed access token not available. Re-connect Zed to view quota."};if(!e)return{message:"Zed credential is missing user id. Re-connect Zed to view quota."};let g={accessToken:a.trim(),providerSpecificData:d};try{let a=await (0,al.qJ)(g,{proxyOptions:c});return function(a){let b,c=a?.plan||{},d=c.plan_v3||c.plan_v2||c.plan||a?.plan_v3||null,e=(0,f.eZ)(c.subscription_period?.ended_at)||(0,f.eZ)(c.subscriptionPeriod?.endedAt)||null,g={},h=c.usage||{},i=h.edit_predictions||h.editPredictions;i&&(g["Edit Predictions"]=an("Edit Predictions",i.used,i.limit,e));let j=h.model_requests||h.modelRequests;if(j){let a=null!=j.limit?j.limit:ao(j)?.limit,b=am(a);(b.unlimited||b.total>0)&&(g["Hosted Model Requests"]=an("Hosted Model Requests",j.used,a,e))}let k=j&&!(b=am(j.limit??ao(j)?.limit)).unlimited&&0===b.total?"Hosted AI models are billed per token (not request count). Edit Predictions are tracked below. Token spend is on dashboard.zed.dev.":null,l=function(a){let b=String(a||"").trim();if(!b)return"Zed";switch(b.toLowerCase()){case"zed_free":return"Zed Free";case"zed_pro":return"Zed Pro";case"zed_pro_trial":return"Zed Pro Trial";case"zed_student":return"Zed Student";case"zed_business":return"Zed Business";default:return b.replace(/_/g," ").split(/\s+/).map(a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()).join(" ")}}(d);(c.trial_started_at||c.trialStartedAt)&&!/trial/i.test(l)&&(l=`${l} (Trial active)`);let m=k;return(c.has_overdue_invoices||c.hasOverdueInvoices)&&(m="This Zed account has overdue invoices. Usage may be blocked until billing is resolved."),{plan:l,quotas:g,message:m,hasOverdueInvoices:!!(c.has_overdue_invoices||c.hasOverdueInvoices),trialStarted:!!(c.trial_started_at||c.trialStartedAt),planId:d||null,resetAt:e}}(a)}catch(b){let a=b?.status;if(401===a||403===a)return{message:"Zed authentication failed. Sign in again from the dashboard or Zed editor."};return{message:`Zed error: ${b.message||"Failed to fetch quota"}`}}}let aq=(0,f.U)("opencode-go").url,ar={rolling:"Rolling",weekly:"Weekly",monthly:"Monthly"};async function as(a=null,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"OpenCode Go API key not available. Add a key to view usage."};try{let c=await (0,d.proxyAwareFetch)(aq,{method:"GET",headers:{Authorization:`Bearer ${a.trim()}`,Accept:"application/json"}},b);if(401===c.status)return{plan:"OpenCode Go",message:"OpenCode Go authentication failed. Check the API key."};if(403===c.status){let a=await c.json().catch(()=>null),b=a?.error?.type==="EntitlementError";return{plan:"OpenCode Go",message:b?"OpenCode Go subscription required for this API key.":"OpenCode Go access forbidden for this API key."}}if(!c.ok)return{plan:"OpenCode Go",message:`OpenCode Go usage API error (${c.status}).`};let e=await c.json().catch(()=>null);if(!e?.usage||"object"!=typeof e.usage)return{plan:"OpenCode Go",message:"OpenCode Go usage response did not contain quota data."};let g={};for(let[a,b]of Object.entries(ar)){let c=e.usage[a];if(!c||"object"!=typeof c)continue;let d=function(a){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return null}(c.percent);if(null===d)continue;let h=Math.max(0,Math.min(100,(0,f.IQ)(d,0)));g[b]={used:h,total:100,remaining:100-h,remainingPercentage:100-h,resetAt:(0,f.eZ)(c.resetsAt),unlimited:!1}}if(0===Object.keys(g).length)return{plan:"OpenCode Go",message:"OpenCode Go usage response did not contain valid quota data."};return{plan:"OpenCode Go",quotas:g}}catch(a){return{message:`OpenCode Go error: ${a.message}`}}}var at=c(78670);async function au(a=null,b=null,c=null){let e=await (0,at.getMimoAccountUsage)(b,c);if("number"==typeof e.percent&&Number.isFinite(e.percent)){let a=Math.max(0,Math.min(100,Math.round(e.percent))),b=null;if("number"==typeof e.resetAt&&e.resetAt>0)b=new Date(1e3*e.resetAt).toISOString();else if("string"==typeof e.resetDate){let a=new Date(`${e.resetDate}T00:00:00Z`);Number.isNaN(a.getTime())||(b=a.toISOString())}return{plan:"Xiaomi MiMo Desktop",quotas:{Weekly:{used:100-a,total:100,remainingPercentage:a,resetAt:b,unlimited:!1}}}}let f=a||b?.apiKey;if(!f||"string"!=typeof f||!f.trim())return{message:"Xiaomi MiMo Desktop not connected. Add credentials to view usage."};try{let a=await (0,d.proxyAwareFetch)("https://aistudio.xiaomimimo.com/open-apis/v1/user/usage",{method:"GET",headers:{Authorization:`Bearer ${f.trim()}`,"X-Mimo-Source":"mimocode-cli",Accept:"application/json"},signal:AbortSignal.timeout(1e4)},c);if(401===a.status)return{plan:"Xiaomi MiMo Desktop",message:"Weekly quota requires Xiaomi account session. API key alone is insufficient."};if(!a.ok)return{plan:"Xiaomi MiMo Desktop",message:`Usage API error (${a.status})`};let b=await a.json().catch(()=>null);if(!b||0!==b.code||!b.data)return{plan:"Xiaomi MiMo Desktop",message:"Usage endpoint returned unexpected response."};let{percent:e,resetDate:g}=b.data;if("number"!=typeof e||!Number.isFinite(e))return{plan:"Xiaomi MiMo Desktop",message:"Usage data missing percent field."};let h=Math.max(0,Math.min(100,Math.round(e))),i=null;if(g&&"string"==typeof g){let a=new Date(`${g}T00:00:00Z`);Number.isNaN(a.getTime())||(i=a.toISOString())}return{plan:"Xiaomi MiMo Desktop",quotas:{Weekly:{used:100-h,total:100,remainingPercentage:h,resetAt:i,unlimited:!1}}}}catch(a){return{message:`Xiaomi MiMo Desktop usage error: ${a.message}`}}}var av=c(9155);let aw={international:(0,f.U)("glm").url,china:(0,f.U)("glm-cn").url};async function ax(a,b,c=null){if(!a)return{message:"GLM API key not available."};let e=aw["glm-cn"===b?"china":"international"];try{let b=await (0,d.proxyAwareFetch)(e,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(!b.ok){if(401===b.status)return{message:"GLM API key invalid or expired."};return{message:`GLM quota API error (${b.status}).`}}let f=await b.json(),g=f?.data&&"object"==typeof f.data?f.data:{},h=Array.isArray(g.limits)?g.limits:[],i={};for(let a of h){if(!a||"TOKENS_LIMIT"!==a.type&&"CREDIT_LIMIT"!==a.type)continue;let b=Number(a.percentage)||0,c=Number(a.nextResetTime)||0,d=Math.max(0,100-b);i[3===a.unit?`Session (${a.number}h)`:6===a.unit?"Weekly (7d)":"TOKENS_LIMIT"===a.type?"Tokens":`Limit (${a.number})`]={used:b,total:100,remaining:d,remainingPercentage:d,resetAt:c>0?new Date(c).toISOString():null,unlimited:!1}}let j="string"==typeof g.level?g.level:"";return{plan:j?j.charAt(0).toUpperCase()+j.slice(1).toLowerCase():"Unknown",quotas:i}}catch(a){return{message:`GLM error: ${a.message}`}}}let ay=(0,f.U)("vercel-ai-gateway").url;async function az(a){try{return{message:"iFlow connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch iFlow usage."}}}let aA={session:"Session (5h)",weekly:"Weekly (7d)",monthly:"Monthly"};async function aB(a,b,c=null){if(!a)return{message:"Ollama Cloud API key not available."};try{let b,e=await (0,d.proxyAwareFetch)("https://ollama.com/api/usage",{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(401===e.status||403===e.status)return{message:"Ollama Cloud API key invalid or expired."};if(!e.ok)return{message:`Ollama Cloud usage API error (${e.status}).`};try{b=await e.json()}catch{return{message:"Ollama Cloud usage response was not JSON."}}let f=await (0,d.proxyAwareFetch)("https://ollama.com/api/me",{method:"POST",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Length":"0"}},c).then(a=>a.ok?a.json():null).catch(()=>null),g="string"==typeof f?.Plan?f.Plan:"",h=g?g.charAt(0).toUpperCase()+g.slice(1).toLowerCase():"Ollama Cloud",i=b?.limits&&"object"==typeof b.limits?b.limits:{},j="free"===g.toLowerCase()&&f?.CreatedAt?function(a,b=new Date){let c=new Date(a);if(Number.isNaN(c.getTime()))return null;let d=(b.getUTCFullYear()-c.getUTCFullYear())*12+(b.getUTCMonth()-c.getUTCMonth());for(let a=Math.max(0,d);a<=d+1;a++){let d=function(a,b){let c=a.getUTCMonth()+b,d=a.getUTCFullYear()+Math.floor(c/12),e=(c%12+12)%12,f=new Date(Date.UTC(d,e+1,0)).getUTCDate();return new Date(Date.UTC(d,e,Math.min(a.getUTCDate(),f),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds()))}(c,a);if(d>b)return d.toISOString()}return null}(f.CreatedAt):null,k={};for(let[a,b]of Object.entries(aA)){let c=i[a]?.usage;if(null==c)continue;let d=Number(c);Number.isNaN(d)||(k[b]=function(a,b=null){let c=Math.max(0,Math.min(1,Number(a)||0)),d=Math.round(100*c);return{used:d,total:100,remainingPercentage:100-d,resetAt:b,unlimited:!1}}(d,"monthly"===a?j:null))}if(0===Object.keys(k).length)return{plan:h,message:"Ollama Cloud connected. No usage limits reported.",quotas:{}};return{plan:h,quotas:k}}catch(a){return{message:`Ollama Cloud error: ${a.message}`}}}async function aC(a,b=null){if(!a)return{message:"Vercel AI Gateway API key not available."};try{let c=await (0,d.proxyAwareFetch)(ay,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(401===c.status||403===c.status)return{message:"Vercel AI Gateway API key invalid or expired."};if(!c.ok){let a=await c.text().catch(()=>""),b=a?`: ${a.slice(0,200)}`:"";return{message:`Vercel AI Gateway credits API error (${c.status})${b}`}}let e=await c.json(),f=Number(e?.balance)||0,g=Number(e?.total_used)||0;if(f<=0&&g<=0)return{plan:"Pay-as-you-go",message:"Vercel AI Gateway connected. No credit allocation found (BYOK or unfunded account).",quotas:{}};return{plan:"Pay-as-you-go",quotas:{"Used (USD)":{used:g,total:0,remaining:0,remainingPercentage:100,unlimited:!0},"Remaining (USD)":{used:f,total:5,remaining:f,remainingPercentage:f/5*100,unlimited:!1}}}}catch(a){return{message:`Vercel AI Gateway error: ${a.message}`}}}async function aD(a,b=null,c="qoder"){if(!a)return{message:"Qoder usage unavailable: no access token"};try{let e=await (0,d.proxyAwareFetch)((0,f.U)(c).url,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!e.ok)return{message:`Qoder connected. Usage fetch returned ${e.status}.`};let g=await e.json().catch(()=>null);if(!g)return{message:"Qoder connected. Usage response was not JSON."};let h=g.userQuota||{},i=g.orgResourcePackage||{},j=Number.isFinite(Number(g.expiresAt))&&Number(g.expiresAt)>0?Number(g.expiresAt):null,k=j?new Date(j).toISOString():null;return{quotas:{user:{total:Number(h.total)||0,used:Number(h.used)||0,remaining:Number(h.remaining)||0,unit:h.unit||"credits",resetAt:k},organization:{total:Number(i.total)||0,used:Number(i.used)||0,remaining:Number(i.remaining)||0,unit:i.unit||"credits",resetAt:k}},totalUsagePercentage:Number(g.totalUsagePercentage)||0,isQuotaExceeded:!!g.isQuotaExceeded,expiresAt:j}}catch(a){return{message:`Qoder connected. Unable to fetch usage: ${a.message}`}}}let aE={github:a=>h(a.accessToken,a.providerSpecificData,a.proxyOptions),"gemini-cli":a=>(0,j.N)(a.accessToken,a.providerDataWithProjectId,a.proxyOptions),antigravity:a=>(0,j.c)(a.accessToken,a.providerDataWithProjectId,a.proxyOptions),claude:a=>(0,k.gl)(a.accessToken,a.proxyOptions,{force:a.force}),codex:a=>(0,l.Tl)(a.accessToken,a.providerSpecificData,a.proxyOptions,a.idToken),kiro:a=>n(a.accessToken,a.providerSpecificData,a.proxyOptions),qoder:a=>aF(a),"qoder-cn":a=>aF(a),iflow:a=>az(a.accessToken),ollama:a=>aB(a.apiKey,a.providerSpecificData,a.proxyOptions),glm:a=>ax(a.apiKey,a.provider,a.proxyOptions),"glm-cn":a=>ax(a.apiKey,a.provider,a.proxyOptions),minimax:a=>v(a.apiKey,a.provider,a.proxyOptions),"minimax-cn":a=>v(a.apiKey,a.provider,a.proxyOptions),elevenlabs:a=>x(a.apiKey,a.proxyOptions),"vercel-ai-gateway":a=>aC(a.apiKey,a.proxyOptions),"codebuddy-cn":a=>A(a.accessToken,a.apiKey,a.providerSpecificData,a.proxyOptions),"codebuddy-intl":a=>B(a.accessToken,a.apiKey,a.providerSpecificData,a.proxyOptions),"grok-cli":a=>N(a.accessToken,a.providerSpecificData,a.proxyOptions),kimi:a=>R(a.accessToken,a.apiKey,a.proxyOptions,a.providerSpecificData),cursor:a=>W(a.accessToken,a.proxyOptions),commandcode:a=>ah(a.apiKey,a.proxyOptions),deepseek:a=>X(a.apiKey,a.proxyOptions),groq:a=>ak(a.apiKey,a.proxyOptions),zed:a=>ap(a.accessToken,a.providerSpecificData,a.proxyOptions),"opencode-go":a=>as(a.apiKey,a.proxyOptions),"xiaomi-mimo":a=>au(a.accessToken,a.providerSpecificData,a.proxyOptions)};async function aF(a){let b=await (0,av._M)(a,a.proxyOptions).catch(()=>null);return aD(b?.accessToken||a.accessToken,a.proxyOptions,a.provider||"qoder")}async function aG(a,b=null,c={}){let{provider:d,accessToken:e,apiKey:f,providerSpecificData:g,projectId:h,idToken:i}=a,j={...g||{},...h?{projectId:h}:{}},k=aE[d];return k?await k({provider:d,accessToken:e,apiKey:f,providerSpecificData:g,providerDataWithProjectId:j,proxyOptions:b,idToken:i,force:!0===c.force}):{message:`Usage API not implemented for ${d}`}}},39326:(a,b,c)=>{c.d(b,{B:()=>h,p:()=>g});var d=c(71998);function e(a){return null==a?"":String(a).trim()}let f=new Map;function g(a,b,c){if(!a||0===a.length)return null;if(1===a.length)return a[0];if("round-robin"===b){let b=f.get(c)||{index:-1};return b.index=(b.index+1)%a.length,f.set(c,b),a[b.index]}return"random"===b?a[Math.floor(Math.random()*a.length)]:a[0]}async function h(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},49485:(a,b,c)=>{c.d(b,{RO:()=>o,Tl:()=>m,Yt:()=>n,oH:()=>p});var d=c(89843),e=c(81358),f=c(88705);let g={usageUrl:(0,f.U)("codex").url,resetCreditsUrl:(0,f.U)("codex").resetCreditsUrl,resetCreditsConsumeUrl:(0,f.U)("codex").resetCreditsConsumeUrl};function h(a){if(!a)return null;let b=a instanceof Date?a:new Date("number"==typeof a&&a<1e12?1e3*a:a);return Number.isFinite(b.getTime())?b.toISOString():null}function i(a,b={},c={},d=null){let f={Authorization:`Bearer ${a}`,Accept:"application/json",originator:"codex_cli_rs",...c},g=(0,e.a)(b,d);return g&&(f["ChatGPT-Account-ID"]=g),f}function j(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a.rate_limit&&"object"==typeof a.rate_limit?a.rate_limit:a}function k(a){let b=Math.max(0,Math.min(100,(0,f.IQ)(a?.used_percent??a?.percent_used,0)));return{used:b,total:100,remaining:Math.max(0,100-b),resetAt:(0,f.eZ)(a?.reset_at??a?.resets_at??a?.resetAt??null),unlimited:!1}}function l(a,b,c){let d=j(c);if(!d)return!1;let e=d.primary_window||d.primary||c.primary_window||c.primary,f=d.secondary_window||d.secondary||c.secondary_window||c.secondary,g=!1;return e&&(a[b?`${b}_session`:"session"]=k(e),g=!0),f&&(a[b?`${b}_weekly`:"weekly"]=k(f),g=!0),g}async function m(a,b={},c=null,h=null){var k,n,o;[b,c]=(k=b,!(n=c)&&(o=k)&&"object"==typeof o&&("connectionProxyEnabled"in o||"connectionProxyUrl"in o||"connectionNoProxy"in o||"vercelRelayUrl"in o||"strictProxy"in o)?(0,e.a)(k,h)?[k,k]:[{},k]:[k||{},n]);try{let e=await (0,d.proxyAwareFetch)(g.usageUrl,{method:"GET",headers:i(a,b,{},h)},c);if(!e.ok)return{message:`Codex connected. Usage API temporarily unavailable (${e.status}).`};let k=await e.json(),m=k.rate_limit||k.rate_limits||k.rate_limits_by_limit_id?.codex||{},n=function(a){if(a.code_review_rate_limit||a.review_rate_limit)return a.code_review_rate_limit||a.review_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b.code_review||b.codex_review||b.review||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return"code_review"===b||"codex_review"===b||"review"===b||b.includes("review")})||null}(k),o=function(a){if(a.spark_rate_limit||a.gpt_5_3_codex_spark_rate_limit)return a.spark_rate_limit||a.gpt_5_3_codex_spark_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b["gpt-5.3-codex-spark"]||b.gpt_5_3_codex_spark||b.spark||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return b.includes("spark")||b.includes("5.3-codex-spark")})||null}(k),p=Math.max(0,(0,f.IQ)(k.rate_limit_reset_credits?.available_count,0)),q={};return l(q,"",m),l(q,"review",n),l(q,"spark",o),{plan:k.plan_type||k.summary?.plan||"unknown",limitReached:j(m)?.limit_reached||!1,reviewLimitReached:j(n)?.limit_reached||!1,sparkLimitReached:j(o)?.limit_reached||!1,resetCredits:{availableCount:p},quotas:q}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function n(a,b=null,c=null,e=null){if(!a)throw Error("No Codex access token available. Please re-authorize the connection.");let j=i(a,c,{"OpenAI-Beta":"codex-1"},e),k=await (0,d.proxyAwareFetch)(g.resetCreditsUrl,{method:"GET",headers:j},b),l=null;try{l=await k.json()}catch{l=null}if(!k.ok){var m,o;throw Error((m=l?.message||l?.error||l?.detail,o=`Codex reset credits API unavailable (${k.status}).`,m?"string"==typeof m?m:"string"==typeof m.message?m.message:JSON.stringify(m):o))}let p=Array.isArray(l?.credits)?l.credits:[];return{availableCount:Math.max(0,(0,f.IQ)(l?.available_count??l?.availableCount,0)),credits:p.map(a=>({status:String(a?.status||"unknown"),grantedAt:h(a?.granted_at??a?.grantedAt),expiresAt:h(a?.expires_at??a?.expiresAt)}))}}async function o(a,b,c=null,h=null,j=null){let k;if(!a)throw Error("No Codex access token available. Please re-authorize the connection.");if(!b||"string"!=typeof b)throw Error("A redeem request id is required to consume a Codex reset credit.");if(!(0,e.a)(h,j))throw Error("A ChatGPT account ID is required to consume a Codex reset credit. Please re-authorize the connection.");let l=null;try{k=await (0,d.proxyAwareFetch)(g.resetCreditsConsumeUrl,{method:"POST",headers:i(a,h,{"Content-Type":"application/json"},j),body:JSON.stringify({redeem_request_id:b})},c);let e=await k.text();l=e?JSON.parse(e):null}catch(a){throw Error(`Failed to consume Codex reset credit: ${a.message}`)}let m=l?.code||null,n=(0,f.IQ)(l?.windows_reset,0);return{ok:k.ok&&("reset"===m||n>0),noCredit:k.ok&&"no_credit"===m,status:k.status,code:m,windowsReset:n,message:l?.message||null,raw:l}}async function p(a,b=null,c=null,e=null){let g=new URL((0,f.U)("codex").modelsUrl||"https://chatgpt.com/backend-api/codex/models");(0,f.U)("codex").clientVersion&&g.searchParams.set("client_version",(0,f.U)("codex").clientVersion);let h=i(a,c,{},e),j=await (0,d.proxyAwareFetch)(g,{method:"GET",headers:h},b);if(!j.ok)return[];let k=await j.json();return(Array.isArray(k?.models)?k.models:[]).filter(a=>a?.supported_in_api!==!1&&"string"==typeof a?.slug&&a.slug).sort((a,b)=>Number(a.priority||0)-Number(b.priority||0))}},71040:(a,b,c)=>{c.d(b,{c:()=>q,N:()=>o});var d=c(92675),e=c(88705);let f=new Map,g=new Map;async function h(a,b,c=null,i={}){if(!a||!b)return{};let j=`${b}:${a.slice(0,16)}`,k=Date.now();if(!i.force&&f.has(j)){let a=f.get(j);if(a&&a.expiresAt>k)return a.quotas}if(g.has(j))return await g.get(j);let l=(async()=>{try{let g=(0,e.U)("antigravity")?.quotaSummaryApiUrl||`${d.w3}/v1internal:retrieveUserQuotaSummary`,h=await (0,e.u9)(g,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":d.Of,"Content-Type":"application/json","X-Client-Name":"antigravity","X-Client-Version":d.Tr},body:JSON.stringify({project:b})},1e4,c);if(!h||!h.ok)return{};let i=await h.json(),k=function(a){if(!a||"object"!=typeof a)return{};let b=Array.isArray(a.groups)?a.groups:Array.isArray(a?.quotaSummary?.groups)?a.quotaSummary.groups:null;if(!b||0===b.length)return{};let c={};for(let a of b){if(!a||"object"!=typeof a||!Array.isArray(a.buckets))continue;let b=String(a.displayName||"").trim(),d=null,f=null;if("Gemini Models"===b)d="gemini_weekly",f="Gemini Weekly";else{if("Claude and GPT models"!==b)continue;d="claude_gpt_weekly",f="Claude & GPT Weekly"}let g=null;for(let b of a.buckets)if(b&&"object"==typeof b&&"weekly"===b.window){g=b;break}if(!g)for(let b of a.buckets){if(!b||"object"!=typeof b)continue;let a="string"==typeof b.bucketId&&/\bweekly\b/i.test(b.bucketId),c="string"==typeof b.displayName&&/\bweekly\b/i.test(b.displayName);if(a||c){g=b;break}}if(!g||!0===g.disabled||null==g.remainingFraction)continue;let h=Number(g.remainingFraction);if(!Number.isFinite(h))continue;let i=Math.max(0,Math.min(1,h)),j=Math.max(0,1e3-Math.round(1e3*i)),k=100*i;c[d]={used:j,total:1e3,resetAt:(0,e.eZ)(g.resetTime),remainingPercentage:k,unlimited:!1,displayName:f}}return c}(i);if(f.set(j,{quotas:k,expiresAt:Date.now()+6e4}),f.size>100){let a=Date.now();for(let[b,c]of f)c.expiresAt<=a&&f.delete(b)}return k}catch{return{}}})().finally(()=>{g.delete(j)});return g.set(j,l),await l}var i=c(28730);let j={...(0,e.U)("antigravity"),userAgent:d.Of},k=new Map,l=[{pattern:/gemini/i,weekly:{key:"gemini_weekly",displayName:"Gemini (Weekly)"},session:{key:"gemini_session",displayName:"Gemini (5h)"}},{pattern:/claude|gpt/i,weekly:{key:"claude_gpt_weekly",displayName:"Claude & GPT (Weekly)"},session:{key:"claude_gpt_session",displayName:"Claude & GPT (5h)"}}];async function m(a,b,c=null){let f=`${a}::${b||""}`,g=k.get(f);if(g?.promise)return g.promise;if(g&&g.expiresAt>Date.now())return g.result;let h=(async()=>{try{let f=j.quotaSummaryApiUrl;if(!f)return{};let g=await (0,e.u9)(f,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":j.userAgent,"Content-Type":"application/json","X-Client-Name":"antigravity","X-Client-Version":d.Tr},body:JSON.stringify({...b?{project:b}:{}})},1e4,c);if(!g.ok)return{};let h=await g.json();return function(a){if(!a||"object"!=typeof a)return{};let b=Array.isArray(a.groups)?a.groups:Array.isArray(a.quotaSummary?.groups)?a.quotaSummary.groups:null;if(!b)return{};let c={};for(let a of b){if(!a||"object"!=typeof a)continue;let b=a.displayName||"";for(let d of Array.isArray(a.buckets)?a.buckets:[]){if(!d||"object"!=typeof d)continue;let a=String(d.window||"").toLowerCase(),f=`${d.bucketId||""} ${d.displayName||""}`.toLowerCase(),g="weekly"===a||f.includes("weekly"),h="5h"===a||f.includes("five hour")||f.includes("5h")||f.includes("daily")||"daily"===a;if(!g&&!h||!0===d.disabled&&g)continue;let i=!0===d.disabled?0:Number(d.remainingFraction);if(Number.isFinite(i)){for(let a of l)if(a.pattern.test(b)){let b=g?a.weekly:a.session;if(c[b.key])break;let f=Math.max(0,1e3-Math.round(1e3*i));c[b.key]={used:f,total:1e3,resetAt:(0,e.eZ)(d.resetTime),remainingPercentage:100*i,unlimited:!1,displayName:b.displayName};break}}}}return c}(h)}catch{return{}}})();k.set(f,{promise:h});try{let a=await h;return a&&Object.keys(a).length>0?k.set(f,{result:a,expiresAt:Date.now()+18e4}):k.delete(f),a}catch{return k.delete(f),{}}}let n={...(0,e.U)("antigravity"),...d.XP,userAgent:d.Of};async function o(a,b,c=null){if(!a)return{plan:"Free",message:"Gemini CLI access token not available."};try{let d=(0,e.gD)(b?.projectId),f="Free";if(!d){let b=await p(a,c);d=(0,e.gD)(b?.cloudaicompanionProject),f=b?.currentTier?.name||f}if(!d)return{plan:f,message:"Gemini CLI project ID not available. Reconnect Gemini CLI, or configure a Google Cloud project with Gemini Code Assist access before checking quota."};let g=await (0,e.u9)((0,e.U)("gemini-cli").quotaUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({project:d})},1e4,c);if(!g.ok)return{plan:f,message:`Gemini CLI quota error (${g.status}).`};let h=await g.json(),i={};if(Array.isArray(h.buckets))for(let a of h.buckets){if(!a.modelId||null==a.remainingFraction)continue;let b=Number(a.remainingFraction)||0,c=Math.round(1e3*b),d=Math.max(0,1e3-c);i[a.modelId]={used:d,total:1e3,resetAt:(0,e.eZ)(a.resetTime),remainingPercentage:100*b,unlimited:!1}}return{plan:f,quotas:i}}catch(a){return{message:`Gemini CLI error: ${a.message}`}}}async function p(a,b=null){try{let c=await (0,e.u9)((0,e.U)("gemini-cli").loadCodeAssistUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:i.Cn})},1e4,b);if(!c.ok)return null;return await c.json()}catch{return null}}async function q(a,b,c=null){try{let f=await r(a,c),g=(0,e.gD)(b?.projectId)||(0,e.gD)(f?.cloudaicompanionProject),i={Authorization:`Bearer ${a}`,"User-Agent":n.userAgent,"Content-Type":"application/json","X-Client-Name":"antigravity","X-Client-Version":d.Tr},j=JSON.stringify({...g?{project:g}:{}}),k=await (0,e.u9)(n.quotaApiUrl,{method:"POST",headers:i,body:j},1e4,c);if(403===k.status)return{message:"Antigravity quota API access forbidden. Chat may still work.",quotas:{}};if(401===k.status)return{message:"Antigravity quota API authentication expired. Chat may still work.",quotas:{}};if(!k.ok)throw Error(`Antigravity API error: ${k.status}`);let[l,o]=await Promise.all([k.json(),g?h(a,g,c):Promise.resolve({})]),p={},q=f?.paidTier?.id;if(!(!q||"free-tier"===q)&&l.models){let a=["gemini-3.8-flash-high","gemini-3.8-flash-medium","gemini-3.8-flash-low","gemini-3.7-flash-high","gemini-3.7-flash-medium","gemini-3.7-flash-low","gemini-3.7-flash","gemini-3.6-flash-high","gemini-3.6-flash-medium","gemini-3.6-flash-low","gemini-3.5-flash-low","gemini-3.5-flash-extra-low","gemini-pro-agent","gemini-3.1-pro-low","claude-sonnet-4-6","claude-opus-4-6-thinking","gpt-oss-120b-medium","gemini-3.1-flash-image"];for(let[b,c]of Object.entries(l.models)){if(!c.quotaInfo||c.isInternal||!a.includes(b))continue;let d=c.quotaInfo.remainingFraction||0,f=100*d,g=Math.round(1e3*d),h=1e3-g;p[b]={used:h,total:1e3,resetAt:(0,e.eZ)(c.quotaInfo.resetTime),remainingPercentage:f,percentageOnly:!0,quotaNote:"gemini-3.1-flash-image"===b?"Google does not expose the exact remaining image-generation count.":"Google exposes this quota as a percentage, not an absolute request count.",unlimited:!1,displayName:c.displayName||b}}}try{let b=await m(a,g,c),d=Object.entries(p),e=d.filter(([a])=>a.startsWith("gemini-")&&!a.includes("image")),f=d.filter(([a])=>a.startsWith("claude-"));if(b.gemini_session&&e.length>0&&e.every(([,a])=>(a.remainingPercentage??0)===0)&&b.gemini_session.remainingPercentage>0){let a=e.reduce((a,[,b])=>!a||b.resetAt&&new Date(b.resetAt)>new Date(a)?b.resetAt:a,null);b.gemini_session.used=b.gemini_session.total,b.gemini_session.remainingPercentage=0,a&&(b.gemini_session.resetAt=a)}if(b.claude_gpt_session&&f.length>0&&f.every(([,a])=>(a.remainingPercentage??0)===0)&&b.claude_gpt_session.remainingPercentage>0){let a=f.reduce((a,[,b])=>!a||b.resetAt&&new Date(b.resetAt)>new Date(a)?b.resetAt:a,null);b.claude_gpt_session.used=b.claude_gpt_session.total,b.claude_gpt_session.remainingPercentage=0,a&&(b.claude_gpt_session.resetAt=a)}Object.assign(p,b)}catch{}return{plan:f?.currentTier?.name||"Unknown",quotas:{...p,...o},subscriptionInfo:f}}catch(a){return console.error("[Antigravity Usage] Error:",a.message,a.cause),{message:`Antigravity error: ${a.message}`}}}async function r(a,b=null){try{let c=await (0,e.u9)(n.loadProjectApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":n.userAgent,"Content-Type":"application/json"},body:JSON.stringify({metadata:i.Cn,mode:1})},1e4,b);if(!c.ok)return null;return await c.json()}catch(a){return console.error("[Antigravity Subscription] Error:",a.message),null}}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,Pc:()=>d.Pc,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.getProviderConnections,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.updateProviderConnection,uv:()=>d.uv,xN:()=>d.xN});var d=c(89718)},88705:(a,b,c)=>{c.d(b,{IQ:()=>h,U:()=>f,eZ:()=>g,gD:()=>i,u9:()=>j});var d=c(39141),e=c(89843);let f=a=>d.xq[a]?.usage||{};function g(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}function h(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function i(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function j(a,b,c=1e4,d=null){let f=new AbortController,g=setTimeout(()=>f.abort(),c);try{return await (0,e.proxyAwareFetch)(a,{...b,signal:f.signal},d)}finally{clearTimeout(g)}}},98594:(a,b,c)=>{c.d(b,{Ut:()=>p,gl:()=>o});var d=c(55511),e=c(89843),f=c(92675),g=c(88705);let h={oauthUsageUrl:(0,g.U)("claude").oauthUrl,usageUrl:(0,g.U)("claude").orgUrl,settingsUrl:(0,g.U)("claude").settingsUrl,profileUrl:(0,g.U)("claude").profileUrl,resetUrl:(0,g.U)("claude").resetUrl,apiVersion:f.b8,userAgent:`claude-cli/${f.t4} (external, cli)`},i=new Map,j=new Map;function k(a){return(0,d.createHash)("sha256").update(String(a??"")).digest("hex")}function l(a,b){for(i.delete(a),i.set(a,b);i.size>128;)i.delete(i.keys().next().value)}function m(a,b,c,d){if("number"==typeof c&&Number.isFinite(c)&&!Object.keys(a).some(a=>a.toLowerCase()===b.toLowerCase())){let e,f;a[b]=(f=100-(e=Math.min(100,Math.max(0,c))),{used:e,total:100,remaining:f,remainingPercentage:f,resetAt:(0,g.eZ)(d),unlimited:!1})}}async function n(a,b,c){try{let d=await (0,e.proxyAwareFetch)(`${h.oauthUsageUrl}?cedar_ember=1`,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":h.apiVersion,"User-Agent":h.userAgent},signal:AbortSignal.timeout(5e3)},b);if(d.ok){let a=function(a){let b={};for(let[c,d]of(m(b,"session (5h)",a?.five_hour?.utilization,a?.five_hour?.resets_at),m(b,"weekly (7d)",a?.seven_day?.utilization,a?.seven_day?.resets_at),Object.entries(a||{})))c.startsWith("seven_day_")&&d&&"object"==typeof d&&m(b,`weekly ${c.slice(10)} (7d)`,d.utilization,d.resets_at);for(let c of[...Array.isArray(a?.limits)?a.limits:[],...Array.isArray(a?.rate_limits)?a.rate_limits:[]]){let a=String(c?.group||"").toLowerCase(),d=String(c?.kind||"").toLowerCase();if("session"===d||"session"===a){m(b,"session (5h)",c.percent,c.resets_at);continue}if("weekly_scoped"===d||"weekly"===a){let a=c?.scope?.model?.display_name||c?.scope?.surface?.display_name;m(b,a?`weekly ${a} (7d)`:"weekly (7d)",c.percent,c.resets_at)}}return{plan:"Claude Code",extraUsage:a?.extra_usage??null,resetCredits:function(a){if(!a?.eligible||!Array.isArray(a.grants))return null;let b=a.grants.filter(a=>a?.id&&!a.paused&&Number(a.resets_left)>0),c=b.find(b=>b.id===a.next_grant_id)||b[0]||null;return{availableCount:b.reduce((a,b)=>a+Number(b.resets_left),0),nextGrantId:c?.id||null,expiresAt:c?.ends_at||null,clears:c?.clears||[],cooldownUntil:a.cooldown_until||null,weeklyResetsAt:a.weekly_resets_at||null,grants:a.grants.filter(a=>a?.id).map(a=>({id:a.id,label:a.label||"",resetsLeft:Number(a.resets_left)||0,resetsTotal:Number(a.resets_total)||0,startsAt:a.starts_at||null,endsAt:a.ends_at||null,clears:Array.isArray(a.clears)?a.clears:[],paused:!0===a.paused,usableNow:!0===a.usable_now,useRequiresLimit:!1!==a.use_requires_limit}))}}(a?.cedar_ember),quotas:b}}(await d.json());return l(c,{value:a,expiresAt:Date.now()+65e3,retryAt:0}),a}if(429===d.status){let a,b=Date.now(),e=i.get(c),f=e?.value||{message:"Claude usage is rate limited. Retry later."};return l(c,{value:f,expiresAt:e?.expiresAt||0,retryAt:b+(a=function(a,b){let c=String(a||"").trim();if(!c)return null;let d=Number(c);if(Number.isFinite(d))return d>=0?1e3*d:null;let e=Date.parse(c);return Number.isFinite(e)?Math.max(0,e-b):null}(d.headers.get("retry-after"),b),null===a&&d.headers.forEach((c,d)=>{if(!/^anthropic-ratelimit-.+-reset$/i.test(d))return;let e=function(a,b){let c=String(a||"").trim();if(!c)return null;let d=Number(c),e=Number.isFinite(d)?d<1e12?1e3*d:d:Date.parse(c);return Number.isFinite(e)&&e>b&&e<=864e13?e-b:null}(c,b);null!==e&&(null===a||e>a)&&(a=e)}),Math.min(18e5,Math.max(18e4,a??18e4)))}),f}if(401===d.status)return{message:"Claude authentication expired (401). Re-authorize or refresh the connection."};if(404===d.status||405===d.status){let d=await q(a,b);return d.cacheable&&l(c,{value:d.value,expiresAt:Date.now()+65e3,retryAt:0}),d.value}return{message:`Claude connected. Usage endpoint returned HTTP ${d.status}.`}}catch{return{message:"Claude connected. Unable to fetch usage."}}}function o(a,b=null,c={}){let d,e=c?.force===!0,f=k(a),g=i.get(f),h=Date.now();return!e&&g&&(h<g.expiresAt||h<g.retryAt)?Promise.resolve(g.value):!e&&j.has(f)?j.get(f):j.size>=128?Promise.resolve({message:"Claude usage refresh is busy. Retry shortly."}):(d=n(a,b,f).finally(()=>{j.get(f)===d&&j.delete(f)}),j.set(f,d),d)}async function p(a,b,c=null){if(!a)throw Error("No Claude access token available. Please re-authorize the connection.");if(!/^[a-z0-9_-]{1,40}$/.test(b||""))throw Error("Invalid reset grant id.");let d={Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":h.apiVersion,"User-Agent":h.userAgent,"Content-Type":"application/json"},f=await (0,e.proxyAwareFetch)(h.profileUrl,{method:"GET",headers:d},c),g=await f.json().catch(()=>null),l=g?.organization?.uuid;if(!f.ok||!l)throw Error(`Cannot resolve Claude organization (${f.status}).`);let m=await (0,e.proxyAwareFetch)(h.resetUrl.replace("{org_id}",l),{method:"POST",headers:d,body:JSON.stringify({program:"cedar_ember",grant_id:b,request_id:crypto.randomUUID()})},c),n=await m.json().catch(()=>null),o=k(a);return i.delete(o),i.delete(a),j.delete(o),{ok:m.ok&&n?.result==="reset",status:m.status,result:n?.result||null,reason:n?.reason||null,resetsLeft:n?.resets_left??null,message:n?.error?.message||null}}async function q(a,b=null){try{let c=await (0,e.proxyAwareFetch)(h.settingsUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":h.apiVersion}},b);if(c.ok){let d=await c.json();if(d.organization_id){let c=await (0,e.proxyAwareFetch)(h.usageUrl.replace("{org_id}",d.organization_id),{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":h.apiVersion}},b);if(c.ok){let a=await c.json();return{cacheable:!0,value:{plan:d.plan||"Unknown",organization:d.organization_name,quotas:a}}}return{cacheable:!1,value:{plan:d.plan||"Unknown",organization:d.organization_name,message:"Claude connected. Usage details require admin access."}}}return{cacheable:!0,value:{plan:d.plan||"Unknown",organization:d.organization_name,message:"Claude connected. Usage details require admin access."}}}return{cacheable:!1,value:{message:"Claude connected. Usage endpoint requires OAuth."}}}catch(a){return{cacheable:!1,value:{message:`Claude connected. Error checking usage: ${a.message}`}}}}}};
1
+ "use strict";exports.id=5130,exports.ids=[5130],exports.modules={6165:(a,b,c)=>{c.d(b,{Kr:()=>e,RU:()=>g,fo:()=>f,wi:()=>h});var d=c(40615);function e(a){if(!a)return!1;let b="oauth"===a.authType,c=("apikey"===a.authType||"api_key"===a.authType)&&d.jO.includes(a.provider);return b||c}function f(a){let b=a?.quotaPauseThresholds;return b&&"object"==typeof b?b:{}}function g(a){return null!==function(a){if(!e(a))return null;let b=f(a),c=a?.lastQuotaSnapshot?.windows;if(!c||!Array.isArray(c)||0===c.length)return null;let d=null;for(let a of c){if(!a||!0===a.unlimited)continue;let c=function(a){let b=Number(a);return!Number.isFinite(b)||b<=0||b>100?0:b}(b[a.key]);if(!c)continue;let e=Number(a.remainingPercentage);Number.isFinite(e)&&e<=c&&(null===d||e<Number(d.remainingPercentage))&&(d={key:a.key,remainingPercentage:e,threshold:c})}return d}(a)}function h(a,b){if(!b||"object"!=typeof b||b.message||b.error)return null;let c=b.quotas;if(!c||"object"!=typeof c)return null;let d=Array.isArray(c)?c:Object.entries(c);if(0===d.length)return null;let e=new Date().toISOString(),f=[];for(let a of d){let[b,c]=Array.isArray(a)?a:[a?.name,a];if(!c||"object"!=typeof c)continue;let d=function(a){var b;let c,d;return a&&"number"==typeof a.remainingPercentage&&Number.isFinite(a.remainingPercentage)?Math.max(0,Math.min(100,Math.round(a.remainingPercentage))):(b=a?.used,c=Number(a?.total),d=Number(b),!Number.isFinite(c)||c<=0?null:!Number.isFinite(d)||d<=0?100:d>=c?0:Math.max(0,Math.min(100,Math.round((c-d)/c*100))))}(c);if(null==d)continue;let e=null;if(c.resetAt){let a=new Date(c.resetAt).getTime();Number.isFinite(a)&&(e=new Date(a).toISOString())}f.push({key:String(b??c.name??"unknown"),remainingPercentage:d,resetAt:e,unlimited:!0===c.unlimited})}return 0===f.length?null:{windows:f,fetchedAt:e}}},11973:(a,b,c)=>{c.d(b,{Ut:()=>k.Ut,RO:()=>l.RO,Yt:()=>l.Yt,my:()=>aG});var d=c(89843),e=c(39141),f=c(88705);let g={apiVersion:e.sr.github?.apiVersion,userAgent:e.sr.github?.userAgent};async function h(a,b,c=null){try{if(!a)throw Error("No GitHub access token available. Please re-authorize the connection.");let b=await (0,d.proxyAwareFetch)((0,f.U)("github").url,{headers:{Authorization:`token ${a}`,Accept:"application/json","X-GitHub-Api-Version":g.apiVersion,"User-Agent":g.userAgent,"Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot-chat/0.26.7"}},c);if(!b.ok){let a=await b.text();throw Error(`GitHub API error: ${a}`)}let e=await b.json();if(e.quota_snapshots){let a=e.quota_snapshots,b=(0,f.eZ)(e.quota_reset_date);return{plan:e.copilot_plan,resetDate:e.quota_reset_date,quotas:{chat:{...i(a.chat),resetAt:b},completions:{...i(a.completions),resetAt:b},premium_interactions:{...i(a.premium_interactions),resetAt:b}}}}if(e.monthly_quotas||e.limited_user_quotas){let a=e.monthly_quotas||{},b=e.limited_user_quotas||{},c=(0,f.eZ)(e.limited_user_reset_date);return{plan:e.copilot_plan||e.access_type_sku,resetDate:e.limited_user_reset_date,quotas:{chat:{used:b.chat||0,total:a.chat||0,unlimited:!1,resetAt:c},completions:{used:b.completions||0,total:a.completions||0,unlimited:!1,resetAt:c}}}}return{message:"GitHub Copilot connected. Unable to parse quota data."}}catch(a){throw Error(`Failed to fetch GitHub usage: ${a.message}`)}}function i(a){return a?{used:a.entitlement-a.remaining,total:a.entitlement,remaining:a.remaining,unlimited:a.unlimited||!1}:{used:0,total:0,unlimited:!0}}var j=c(71040),k=c(98594),l=c(49485),m=c(3148);async function n(a,b,c=null){let e=b?.authMethod||"builder-id",g="api_key"===e,h=g?{tokentype:"API_KEY"}:{},i="external_idp"===e?{TokenType:"EXTERNAL_IDP"}:{},j=g?b?.profileArn||"":b?.profileArn||(0,m.We)(e),k=new URLSearchParams({isEmailRequired:"true",origin:"AI_EDITOR",resourceType:"AGENTIC_REQUEST"}),l=!1,o=[];for(let b of[{name:"codewhisperer-get",run:async()=>(0,d.proxyAwareFetch)(`${(0,f.U)("kiro").cwHost}${(0,f.U)("kiro").limitsPath}?${k.toString()}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","x-amz-user-agent":"aws-sdk-js/1.0.0 KiroIDE","user-agent":"aws-sdk-js/1.0.0 KiroIDE",...h,...i}},c)},{name:"codewhisperer-post",run:async()=>(0,d.proxyAwareFetch)((0,f.U)("kiro").cwHost,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.GetUsageLimits",Accept:"application/json",...h,...i},body:JSON.stringify({origin:"AI_EDITOR",...j?{profileArn:j}:{},resourceType:"AGENTIC_REQUEST"})},c)},{name:"q-get",run:async()=>{let b=new URLSearchParams({origin:"AI_EDITOR",...j?{profileArn:j}:{},resourceType:"AGENTIC_REQUEST"});return(0,d.proxyAwareFetch)(`${(0,f.U)("kiro").qHost}${(0,f.U)("kiro").limitsPath}?${b}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...h,...i}},c)}}])try{let a=await b.run();if(!a.ok){let c=await a.text().catch(()=>"");(401===a.status||403===a.status)&&(l=!0),o.push(`${b.name}:${a.status}${c?`:${c}`:""}`);continue}let c=await a.json();return function(a){let b=a.usageBreakdownList||[],c={},d=(0,f.eZ)(a.nextDateReset||a.resetDate);return b.forEach(a=>{let b=a.resourceType?.toLowerCase()||"unknown",e=a.currentUsageWithPrecision||0,g=a.usageLimitWithPrecision||0;if(c[b]={used:e,total:g,remaining:g-e,resetAt:d,unlimited:!1},a.freeTrialInfo){let e=a.freeTrialInfo.currentUsageWithPrecision||0,g=a.freeTrialInfo.usageLimitWithPrecision||0;c[`${b}_freetrial`]={used:e,total:g,remaining:g-e,resetAt:(0,f.eZ)(a.freeTrialInfo.freeTrialExpiry||d),unlimited:!1}}}),{plan:a.subscriptionInfo?.subscriptionTitle||"Kiro",quotas:c}}(c)}catch(a){o.push(`${b.name}:${a.message}`)}return l&&"idc"===e?{message:"Kiro quota API is unavailable for the current AWS IAM Identity Center session. Chat may still work. If this persists after renewing your session, reconnect Kiro.",quotas:{}}:l&&("google"===e||"github"===e)?{message:"Kiro quota API authentication expired. Chat may still work.",quotas:{}}:l?{message:"Kiro quota API rejected the current token. Chat may still work.",quotas:{}}:{message:o.length>0?`Unable to fetch Kiro usage right now. (${o[o.length-1]})`:"Unable to fetch Kiro usage right now.",quotas:{}}}let o={minimax:(0,f.U)("minimax").urls,"minimax-cn":(0,f.U)("minimax-cn").urls};function p(a,b,c){return a&&"object"==typeof a?a[b]??a[c]??null:null}function q(a,b,c){if(!a||"object"!=typeof a)return null;let d=a[b]??a[c];if(null==d)return null;let e=Number(d);return Number.isFinite(e)?Math.max(0,Math.min(100,e)):null}function r(a){return Math.max(0,Number(p(a,"current_interval_total_count","currentIntervalTotalCount"))||0)}function s(a){return Math.max(0,Number(p(a,"current_weekly_total_count","currentWeeklyTotalCount"))||0)}function t(a){return!!(r(a)>0||s(a)>0)||null!==q(a,"current_interval_remaining_percent","currentIntervalRemainingPercent")||null!==q(a,"current_weekly_remaining_percent","currentWeeklyRemainingPercent")}function u(a,b,c,d,e,g,h,i,j,k){let l=d(c),m=q(c,h,i);if(l<=0&&null===m)return;let n=Math.max(0,Number(p(c,e,g))||0),o=l,r=n;l<=0&&(o=100,r=k?Math.round(m/100*o):Math.round(o*(1-m/100))),a[b]=function(a,b,c,d,e=null){var f,g,h;let i=Math.max(0,a),j=d?Math.max(i-b,0):Math.min(Math.max(0,b),i),k=Math.max(i-j,0),l=(f=e,g=k,h=i,null!=f&&Number.isFinite(f)?Math.max(0,Math.min(100,f)):h>0?Math.max(0,Math.min(100,g/h*100)):0);return{used:j,total:i,remaining:k,remainingPercentage:l,resetAt:c,unlimited:!1}}(o,r,function(a,b,c,d,e,g){let h=Number(p(a,c,d))||0;return h>0?new Date(b+h).toISOString():(0,f.eZ)(p(a,e,g))}(c,...j),k,m)}async function v(a,b,c=null){if(!a)return{message:"MiniMax API key not available."};let e=o[b]||[],f="";for(let b=0;b<e.length;b+=1){let g=e[b],h=b<e.length-1;try{let b=await (0,d.proxyAwareFetch)(g,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"}},c),e=await b.text(),i={};if(e)try{i=JSON.parse(e)}catch{i={}}let j=(i?.base_resp??i?.baseResp)||{},k=Number(j.status_code??j.statusCode)||0,l=String(j.status_msg??j.statusMsg??"").trim(),m=`${l} ${e}`.trim(),n=/token plan|coding plan|invalid api key|invalid key|unauthorized|inactive/i;if(401===b.status||403===b.status||1004===k||n.test(m))return{message:"MiniMax API key invalid or inactive. Use an active Token/Coding Plan key."};if(!b.ok){if(f=`MiniMax usage endpoint error (${b.status})`,(404===b.status||405===b.status||b.status>=500)&&h)continue;return{message:`MiniMax connected. ${f}`}}if(0!==k)return{message:`MiniMax connected. ${l||"Upstream quota API error"}`};let o=i?.model_remains??i?.modelRemains,q=(Array.isArray(o)?o:[]).filter(t);if(0===q.length)return{message:"MiniMax connected. No quota data was returned."};let v=Date.now(),w=g.includes("/coding_plan/remains"),x={};for(let a of q){let b=function(a){let b=String(p(a,"model_name","modelName")||"").trim();return b?"MiniMax-M*"===b||"general"===b?"M-series":b.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase()).replace(/\bTo\b/g,"to").replace(/\bTts\b/g,"TTS").replace(/\bHd\b/g,"HD"):"MiniMax"}(a);u(x,`${b} (5h)`,a,r,"current_interval_usage_count","currentIntervalUsageCount","current_interval_remaining_percent","currentIntervalRemainingPercent",[v,"remains_time","remainsTime","end_time","endTime"],w),u(x,`${b} (7d)`,a,s,"current_weekly_usage_count","currentWeeklyUsageCount","current_weekly_remaining_percent","currentWeeklyRemainingPercent",[v,"weekly_remains_time","weeklyRemainsTime","weekly_end_time","weeklyEndTime"],w)}if(0===Object.keys(x).length)return{message:"MiniMax connected. Unable to extract quota usage."};return{quotas:x}}catch(a){if(f=a.message,!h)break}}return{message:f?`MiniMax connected. Unable to fetch usage: ${f}`:"MiniMax connected. Unable to fetch usage."}}let w="Characters";async function x(a,b=null){if(!a)return{message:"ElevenLabs API key not available."};try{let c=await (0,f.u9)("https://api.elevenlabs.io/v1/user/subscription",{method:"GET",headers:{"xi-api-key":a,"Content-Type":"application/json"}},1e4,b);if(401===c.status)return{message:"ElevenLabs connected. Key lacks user_read permission to read credits."};if(!c.ok)return{message:`ElevenLabs connected. Usage endpoint error (${c.status}).`};let d=await c.json(),e=Math.max(0,(0,f.IQ)(d.character_limit)),g=Math.max(0,(0,f.IQ)(d.character_count)),h=Math.max(e-g,0),i=String(d.tier||"").trim();return{quotas:{[w]:{displayName:i?`${i.charAt(0).toUpperCase()}${i.slice(1)} characters`:w,used:g,total:e,remaining:h,remainingPercentage:e>0?h/e*100:0,resetAt:(0,f.eZ)(d.next_character_count_reset_unix),unlimited:0===e}}}}catch(a){return{message:`ElevenLabs connected. Unable to fetch usage: ${a.message}`}}}function y(a,b){let c=Number(a??b);return Number.isFinite(c)?c:0}async function z(a,b,c,g,h=null){let i=b||c;if(!i)return{message:`CodeBuddy (${a}) credential not available.`};try{let b=await (0,d.proxyAwareFetch)((0,f.U)(a).url,{method:"POST",headers:{...e.xq[a]?.headers||{},Authorization:`Bearer ${i}`,"Content-Type":"application/json",Accept:"application/json"},body:"{}"},h);if(401===b.status||403===b.status)return{message:"CodeBuddy CN credential invalid or expired."};if(!b.ok)return{message:`CodeBuddy CN quota API error (${b.status}).`};let c=await b.json();if(c?.code!==0)return{message:`CodeBuddy CN quota error: ${c?.msg||"unknown"}`};let g=c?.data?.Response?.Data||{},j=Array.isArray(g.Accounts)?g.Accounts:[];if(0===j.length)return{message:"CodeBuddy CN connected. No credit package found."};let k=a=>{let b=(0,f.eZ)(a.CycleEndTime);return b?new Date(b).getTime():1/0},l=a=>{let b=k(a),c=Number(a.DeductionEndTime);return Number.isFinite(b)&&Number.isFinite(c)&&c-b>1728e5},m=(a,b)=>k(a)-k(b),n=j.filter(l).sort(m),o=j.filter(a=>!l(a)).sort(m),p={},q={};n.forEach(a=>{let b=function(a){let b=(0,f.eZ)(a.CycleStartTime),c=(0,f.eZ)(a.CycleEndTime);if(b&&c){let a=(new Date(c).getTime()-new Date(b).getTime())/864e5;if(a<=1.5)return"Daily";if(a<=10)return"Weekly"}return"Monthly"}(a);q[b]=(q[b]||0)+1,p[q[b]>1?`${b} ${q[b]}`:b]={used:y(a.CycleCapacityUsedPrecise,a.CycleCapacityUsed),total:y(a.CycleCapacitySizePrecise,a.CycleCapacitySize),resetAt:(0,f.eZ)(a.CycleEndTime),unlimited:!1,recurring:!0}}),o.forEach((a,b)=>{p[`Bonus Pack ${b+1}`]={used:y(a.CapacityUsedPrecise,a.CapacityUsed),total:y(a.CapacitySizePrecise,a.CapacitySize),resetAt:(0,f.eZ)(a.CycleEndTime),unlimited:!1,recurring:!1}});let r=n[0]||j[0]||{};return{plan:r.PackageName||r.SubProductName||"CodeBuddy",quotas:p}}catch(b){return{message:`CodeBuddy (${a}) error: ${b.message}`}}}async function A(a,b,c,d=null){return z("codebuddy-cn",a,b,c,d)}async function B(a,b,c,d=null){return z("codebuddy-intl",a,b,c,d)}var C=c(13247);let D=(0,f.U)("grok-cli"),E=D.url||"https://cli-chat-proxy.grok.com/v1/billing?format=credits",F=D.userUrl||"https://cli-chat-proxy.grok.com/v1/user?include=subscription",G="string"==typeof E&&E.includes("?")?E.replace(/\?.*$/,""):"https://cli-chat-proxy.grok.com/v1/billing";function H(a,b=0){return null==a?b:"object"==typeof a&&!Array.isArray(a)&&"val"in a?(0,f.IQ)(a.val,b):(0,f.IQ)(a,b)}function I(a){return"string"==typeof a&&a.trim()?a.trim().replace(/[_-]+/g," ").replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase()):null}function J(a,b){let c=a?.subscriptionTier??a?.subscription_tier??a?.subscription?.tier??b?.subscriptionTier??b?.subscription_tier;return"string"==typeof c?c.trim():""}function K({used:a,total:b,resetAt:c,unlimited:d=!1}){let e=Math.max(0,(0,f.IQ)(b,0)),g=Math.max(0,(0,f.IQ)(a,0));if(d||0===e)return{used:g,total:0,remainingPercentage:100*!!d,resetAt:c||null,unlimited:!0};let h=Math.max(0,e-g);return{used:g,total:e,remainingPercentage:h/e*100,resetAt:c||null,unlimited:!1}}function L(a,b){let c=Math.min(100,Math.max(0,(0,f.IQ)(a,0)));return{used:c,total:100,remainingPercentage:Math.max(0,100-c),resetAt:b||null,unlimited:!1}}function M(a){let b=a&&"object"==typeof a?a:{},c=b.config&&"object"==typeof b.config&&!Array.isArray(b.config)?b.config:b;return{root:b,config:c}}async function N(a,b=null,c=null){if(!a)return{message:"Grok CLI access token not available."};let e=function(a,b={}){let c=b||{},d={Authorization:`Bearer ${a}`,Accept:"application/json","User-Agent":C.fZ,"x-xai-token-auth":"xai-grok-cli","x-grok-client-identifier":C.rK,"x-grok-client-version":C.uG,"x-grok-client-mode":"headless"},e=c.email,f=c.userId||c.principalId;return e&&(d["x-email"]=e),f&&(d["x-userid"]=f),d}(a,b);try{let[a,b,g]=await Promise.all([(0,d.proxyAwareFetch)(E,{method:"GET",headers:e},c),(0,d.proxyAwareFetch)(G,{method:"GET",headers:e},c).catch(()=>null),(0,d.proxyAwareFetch)(F,{method:"GET",headers:e},c).catch(()=>null)]);if(401===a.status||403===a.status)return{message:"Grok CLI authentication expired. Please re-authorize."};if(!a.ok){let b=await a.text().catch(()=>""),c=b?`: ${b.slice(0,200)}`:"";return{message:`Grok CLI billing API error (${a.status})${c}`}}let h=await a.json().catch(()=>null);if(!h||"object"!=typeof h)return{message:"Grok CLI billing response was not JSON."};let i=null;b?.ok&&(i=await b.json().catch(()=>null));let j=null;g?.ok&&(j=await g.json().catch(()=>null));let k=function(a,b=null,c=null){let d,{root:e,config:g}=M(a),h=(0,f.eZ)(g.billingPeriodEnd)||(0,f.eZ)(g.billing_period_end)||(0,f.eZ)(g.currentPeriod?.end)||(0,f.eZ)(g.resetAt||g.resetsAt||g.periodEnd)||(0,f.eZ)(e.billingPeriodEnd)||(0,f.eZ)(e.billing_period_end)||(0,f.eZ)(e.resetAt||e.resetsAt||e.periodEnd)||null,i={},j=J(b,g),k=!!j&&!/^(free|none|null)$/i.test(j),l=H(g.monthlyLimit??g.monthly_limit??e.monthlyLimit??e.monthly_limit,NaN),m=H(g.includedUsed??g.included_used??e.includedUsed??e.included_used,NaN),n=H(g.totalUsed??g.total_used??e.totalUsed??e.total_used,NaN);Number.isFinite(l)&&l>0&&(i["Monthly included"]=K({used:Number.isFinite(m)?m:Number.isFinite(n)?n:0,total:l,resetAt:h}));let o=Array.isArray(g.productUsage)?g.productUsage:Array.isArray(e.productUsage)?e.productUsage:[],p=!1;if(o.length>0)for(let a of o){if(!a||"object"!=typeof a)continue;let b=H(a.usagePercent,NaN);if(!Number.isFinite(b))continue;let c=I(a.product)||"Usage";i[c]||(i[c]=L(b,h),p=!0)}let q=H(g.creditUsagePercent??e.creditUsagePercent,NaN);!p&&Number.isFinite(q)&&(i.Credits=L(q,h),p=!0);let r=H(g.onDemandCap??e.onDemandCap,NaN),s=H(g.onDemandUsed??e.onDemandUsed,NaN);if(Number.isFinite(r)&&r>0){let a=Number.isFinite(s)?Math.max(0,s):0;i["On-demand"]=K({used:a,total:r,resetAt:h})}else!p&&!k&&Number.isFinite(r)&&0===r&&Number.isFinite(s)&&(i["On-demand"]={used:1,total:1,remainingPercentage:0,resetAt:h,unlimited:!1});let t=H(g.prepaidBalance??e.prepaidBalance,NaN);for(let a of(Number.isFinite(t)&&t>0&&(i.Prepaid={used:0,total:t,remainingPercentage:100,resetAt:null,unlimited:!1}),[e.credits,e.creditBalance,e.usage,g.credits,g.includedCredits,g.subscriptionCredits].filter(a=>a&&"object"==typeof a&&!Array.isArray(a)))){let b=H(a.total??a.limit??a.cap??a.allocation??a.amount,NaN),c=H(a.used??a.spent??a.consumed,NaN),d=H(a.remaining??a.balance??a.left,NaN);if(Number.isFinite(b)&&b>0){let e=Number.isFinite(c)?c:Number.isFinite(d)?Math.max(0,b-d):0;i.Credits||(i.Credits=K({used:e,total:b,resetAt:(0,f.eZ)(a.resetAt||a.resetsAt||a.end)||h}))}else Number.isFinite(d)&&d>=0&&!i.Credits&&(i.Credits={used:0,total:d>0?d:1,remainingPercentage:100*(d>0),resetAt:h,unlimited:!1})}if(c&&"object"==typeof c){let{config:a}=M(c),b=H(a.monthlyLimit,NaN),d=H(a.used,NaN),e=(0,f.eZ)(a.billingPeriodEnd)||null;Number.isFinite(b)&&b>0&&(i.Monthly=K({used:Number.isFinite(d)?Math.max(0,d):0,total:b,resetAt:e}))}let u=Object.keys(i).length>0&&Object.values(i).every(a=>!0!==a.unlimited&&(a.remainingPercentage??100)<=0);return{plan:(d=J(b,g))?I(d)||d:b?.hasGrokCodeAccess===!0?"Grok Code":(g?.isUnifiedBillingUser,"Grok Build"),quotas:i,periodEnd:h,exhausted:u,subscriptionAccess:k,rawConfig:g}}(h,j,i);if(!k.quotas||0===Object.keys(k.quotas).length)return{plan:k.plan,message:k.subscriptionAccess?"Subscription access is active; Grok does not expose a numeric included quota.":"Grok Build connected, but no credit allotment was returned. Free promo may be exhausted.",quotas:{}};return{plan:k.plan,quotas:k.quotas}}catch(a){return{message:`Grok CLI usage error: ${a.message}`}}}var O=c(28730);let P={LEVEL_BASIC:"Moderato",LEVEL_INTERMEDIATE:"Allegretto",LEVEL_ADVANCED:"Allegro",LEVEL_STANDARD:"Vivace"};function Q({used:a,total:b,remaining:c,resetAt:d}){let e,g=Math.max(0,(0,f.IQ)(b,0)),h=Math.max(0,(0,f.IQ)(a,0));return e=g>0&&null!=c&&Number.isFinite(Number(c))?Math.max(0,Number(c))/g*100:g>0?Math.max(0,g-h)/g*100:0,{used:h,total:g,remainingPercentage:e,resetAt:d||null,unlimited:!1}}async function R(a=null,b=null,c=null,e=null){let g="string"==typeof b&&b.length>0,h=!g&&"string"==typeof a&&a.length>0;if(!g&&!h)return{message:"Kimi access token or API key not available."};let i=g?{"x-api-key":b}:{Authorization:`Bearer ${a}`,...(0,O.buildKimiHeaders)(e?.deviceId)};try{let a,b=await (0,d.proxyAwareFetch)(g?"https://api.moonshot.cn/v1/usage":"https://api.kimi.com/coding/v1/usages",{method:"GET",headers:{...i,"Content-Type":"application/json",Accept:"application/json"}},c),e=await b.text().catch(()=>"");if(!b.ok)return{plan:"Kimi Coding",message:function(a,b){let c=null;try{c=JSON.parse(b||"")}catch{}let d=Array.isArray(c?.details)?c.details[0]:null,e=d?.debug||c?.debug||null,f=e?.reason||c?.reason||"",g=e?.localizedMessage?.message||d?.localizedMessage?.message||c?.message||"";if(401===a)return"Kimi authentication expired. Please re-authorize.";if(403===a&&("REASON_FEATURE_NO_PERMISSION"===f||/permission_denied|do not have permission|subscribe/i.test(`${c?.code||""} ${g} ${b||""}`)))return g||"Kimi connected, but this account has no permission to view usage. Subscribe to Kimi Code to access quota.";let h=(g||b||"").slice(0,100);return h?`Kimi Coding connected. API Error ${a}: ${h}`:`Kimi Coding connected. API Error ${a}`}(b.status,e)};try{a=JSON.parse(e||"{}")}catch{return{plan:"Kimi Coding",message:"Kimi Coding connected. Invalid JSON response from API."}}let h={},j=a?.usage&&"object"==typeof a.usage?a.usage:{},k=(0,f.IQ)(j.limit??j.Limit,0),l=(0,f.IQ)(j.used??j.Used,0),m=j.remaining??j.Remaining,n=null!=m&&""!==m?(0,f.IQ)(m,NaN):NaN,o=j.resetTime||j.ResetTime||j.reset_at||j.resetAt;for(let b of(k>0&&(h.Weekly=Q({used:l,total:k,remaining:Number.isFinite(n)?n:null,resetAt:(0,f.eZ)(o)})),Array.isArray(a?.limits)?a.limits:[])){if(!b||"object"!=typeof b)continue;let a=b.detail&&"object"==typeof b.detail?b.detail:{},c=(0,f.IQ)(a.limit??a.Limit,0),d=(0,f.IQ)(a.remaining??a.Remaining,NaN),e=a.resetTime||a.reset_at||a.resetAt;if(c>0){let a=Number.isFinite(d)?d:Math.max(0,c);h.Ratelimit=Q({used:Math.max(0,c-a),total:c,remaining:a,resetAt:(0,f.eZ)(e)})}}let p=a?.user?.membership?.level,q=function(a){if(!a)return"";let b=String(a);return P[b]?P[b]:b.replace(/^LEVEL_/,"").toLowerCase()}(p)||"Kimi Coding";if(Object.keys(h).length>0)return{plan:q,quotas:h};return{plan:q,message:"Kimi Coding connected. Usage tracked per request."}}catch(a){return{message:`Kimi Coding connected. Unable to fetch usage: ${a.message}`}}}let S={usageUrl:(0,f.U)("cursor").usageUrl,planUrl:(0,f.U)("cursor").planUrl};async function T(a,b,c){return(0,d.proxyAwareFetch)(a,{method:"POST",headers:{Authorization:`Bearer ${b}`,"Content-Type":"application/json","Connect-Protocol-Version":"1"},body:"{}"},c)}function U(a,b){let c=Math.max(0,Math.min(100,a));return{used:c,total:100,remaining:Math.max(0,100-c),resetAt:b,unlimited:!1}}async function V(a,b){try{let c=await T(S.planUrl,a,b);if(!c.ok)return null;let d=await c.json(),e=d?.planInfo?.planName;return"string"==typeof e&&e.trim()?e.trim():null}catch{return null}}async function W(a,b=null){let c,d;if(!a)return{message:"No Cursor access token available. Re-import your Cursor session."};try{c=await T(S.usageUrl,a,b)}catch(a){return{message:`Cursor connected. Unable to fetch usage: ${a.message}`}}if(!c.ok)return{message:`Cursor connected. Usage API temporarily unavailable (${c.status}).`};try{d=await c.json()}catch{return{message:"Cursor connected. Usage API returned an invalid response."}}let e=d?.planUsage;if(d?.enabled===!1||!e)return{message:"No active Cursor subscription."};let g=Number(e.limit),h=Number.isFinite(g),i=Number(e.totalPercentUsed),j=Number.isFinite(i);if(!h&&!j)return{message:"Cursor connected. Usage totals unavailable for this account."};let k=(0,f.eZ)(d.billingCycleEnd),l={},m=Number(e.totalSpend),n=Number(e.remaining),o=0;Number.isFinite(m)?o=m:h&&Number.isFinite(n)&&(o=g-n);let p=h&&g>0?o/g*100:0;l["Total usage"]=U(j?i:p,k);let q=Number(e.autoPercentUsed);Number.isFinite(q)&&(l["Auto usage"]=U(q,k));let r=Number(e.apiPercentUsed);return Number.isFinite(r)&&(l["API usage"]=U(r,k)),{plan:await V(a,b)||"Cursor",quotas:l}}async function X(a=null,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"DeepSeek API key not available. Add a key to view usage."};try{let c=await (0,d.proxyAwareFetch)("https://api.deepseek.com/user/balance",{method:"GET",headers:{Authorization:`Bearer ${a.trim()}`,"Content-Type":"application/json",Accept:"application/json"}},b);if(401===c.status||403===c.status)return{plan:"DeepSeek",message:"DeepSeek authentication failed. Check the API key."};if(!c.ok){let a=await c.text().catch(()=>"");return{plan:"DeepSeek",message:`DeepSeek balance API error (${c.status})${a?`: ${a.slice(0,120)}`:""}`}}let e=await c.json().catch(()=>null);if(!e||"object"!=typeof e)return{message:"DeepSeek balance response was not JSON."};let g=function(a){let b=Array.isArray(a?.balance_infos)?a.balance_infos:[],c=[];for(let a of b){if(!a||"object"!=typeof a)continue;let b="string"==typeof a.currency?a.currency.toUpperCase():"";if(!b)continue;let d=(0,f.IQ)(a.total_balance??a.totalBalance,0);c.push({currency:b,totalBalance:d,grantedBalance:(0,f.IQ)(a.granted_balance??a.grantedBalance,0),toppedUpBalance:(0,f.IQ)(a.topped_up_balance??a.toppedUpBalance,0)})}return c}(e);if(0===g.length)return{plan:"DeepSeek",message:"DeepSeek connected. No balance data returned."};let h=!0===e.is_available||!0===e.isAvailable,i={};for(let a of g){let b=Math.max(0,a.totalBalance);i[`Credit: ${b.toFixed(2)} ${a.currency}`]={used:0,total:b,remainingPercentage:100*(b>0),resetAt:null,unlimited:!1,isCreditBalance:!0}}return{plan:h?"DeepSeek":"DeepSeek (Insufficient Balance)",quotas:i}}catch(a){return{message:`DeepSeek error: ${a.message}`}}}let Y="https://api.commandcode.ai",Z=`${Y}/alpha/whoami`,$=`${Y}/alpha/billing/credits`,_=`${Y}/alpha/usage/summary`,aa=`${Y}/alpha/billing/subscriptions`,ab="0.25.7";function ac(a,b){return b?`${a}?orgId=${encodeURIComponent(b)}`:a}async function ad(a,b,c){let e=await (0,d.proxyAwareFetch)(a,{method:"GET",headers:{Authorization:`Bearer ${b}`,Accept:"application/json","x-command-code-version":ab,"x-cli-environment":"cli","user-agent":`command-code/${ab}`}},c);if(!e.ok){let a=await e.text().catch(()=>"");return{error:{status:e.status,body:a.slice(0,160)}}}let f=await e.json().catch(()=>null);return f&&"object"==typeof f?{data:f}:{error:{status:e.status,body:"non-JSON response"}}}function ae(a,b){return b>0?Math.max(0,Math.min(100,Math.round((b-a)/b*100))):0}function af(a,b=2){return(0,f.IQ)(a,0).toFixed(b)}function ag(a){if(!a||"object"!=typeof a)return null;let b=Math.max(0,(0,f.IQ)(a.used,0)),c=Math.max(0,(0,f.IQ)(a.cap,0));return{used:af(b),total:af(c),remainingPercentage:ae(b,c),resetAt:(0,f.eZ)(a.resetAt)}}async function ah(a=null,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"Command Code API key not available. Add a key to view usage."};let c=a.trim();try{let a=await ad(Z,c,b);if(a.error&&401===a.error.status)return{plan:"Command Code",message:"Command Code authentication failed. Check the API key."};let d=a.data?.org?.id??null,e=await ad(ac($,d),c,b);if(e.error){let{status:a,body:b}=e.error;if(401===a||403===a)return{plan:"Command Code",message:"Command Code rejected the request. Check the API key (Cloudflare blocks requests without the CLI identity headers)."};return{plan:"Command Code",message:`Command Code credits API error (${a})${b?`: ${b}`:""}`}}let g={},h=e.data?.windowLimits||null,i=ag(h?.fiveHour);i&&(g["5-hour"]=i);let j=ag(h?.weekly);j&&(g.Weekly=j);let k=await ad(aa,c,b);if(k.error&&401===k.error.status)return{plan:"Command Code",message:"Command Code authentication failed. Check the API key."};let l=e.data?.credits;if(l){let a=Math.max(0,(0,f.IQ)(l.monthlyCredits,0)),e=await ad(ac(_,d),c,b),h=e.error?0:Math.max(0,(0,f.IQ)(e.data?.totalCost,0)),i=a+h;i>0&&(g["Monthly credits"]={used:af(h),total:af(i),remainingPercentage:ae(h,i),resetAt:(0,f.eZ)(k.data?.data?.currentPeriodEnd??k.data?.currentPeriodEnd)})}if(0===Object.keys(g).length)return{plan:"Command Code",message:"Command Code connected. No credit or window data returned."};let m=h?.exceeded,n=h?.limited===!0,o=k.data?.data?.planId||null,p=o?`Command Code (${o})`:"Command Code";return{plan:n&&m?`${p} — limit exceeded`:p,quotas:g}}catch(a){return{message:`Command Code error: ${a.message}`}}}let ai=(0,f.U)("groq").url;function aj(a,b,c,d){let e,f=a.get(b),g=a.get(c);if(null===f||null===g)return null;let h=Number(f),i=Number(g);return Number.isFinite(h)&&Number.isFinite(i)?{used:Math.max(0,h-i),total:h,resetAt:null===(e=function(a){let b;if("string"!=typeof a||!a.trim())return null;let c=/(\d+(?:\.\d+)?)(ms|s|m|h)/g,d=0,e=!1;for(;b=c.exec(a);){e=!0;let a=Number(b[1]),c=b[2];d+=a*("h"===c?36e5:"m"===c?6e4:"ms"===c?1:1e3)}return e?d:null}(a.get(d)))?null:new Date(Date.now()+e).toISOString(),unlimited:!1}:null}async function ak(a,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"Groq API key not available. Add a key to view usage."};try{let c=await (0,d.proxyAwareFetch)(ai,{method:"GET",headers:{Authorization:`Bearer ${a.trim()}`,Accept:"application/json"}},b);if(401===c.status||403===c.status)return{plan:"Groq",message:"Groq authentication failed. Check the API key."};if(!c.ok){let a=await c.text().catch(()=>"");return{plan:"Groq",message:`Groq usage API error (${c.status})${a?`: ${a.slice(0,120)}`:""}`}}await c.text().catch(()=>{});let e=aj(c.headers,"x-ratelimit-limit-requests","x-ratelimit-remaining-requests","x-ratelimit-reset-requests"),f=aj(c.headers,"x-ratelimit-limit-tokens","x-ratelimit-remaining-tokens","x-ratelimit-reset-tokens");if(!e&&!f)return{plan:"Groq",message:"Groq connected. No rate-limit data reported for this key yet.",quotas:{}};let g={};return e&&(g.Requests=e),f&&(g.Tokens=f),{plan:"Groq",quotas:g}}catch(a){return{message:`Groq error: ${a.message}`}}}var al=c(49934);function am(a){if(null==a)return{unlimited:!1,total:0};if("unlimited"===a||a?.unlimited===!0)return{unlimited:!0,total:0};if("number"==typeof a&&Number.isFinite(a))return{unlimited:!1,total:Math.max(0,a)};if("string"==typeof a){let b=a.trim();if("unlimited"===b)return{unlimited:!0,total:0};let c=Number(b);if(Number.isFinite(c))return{unlimited:!1,total:Math.max(0,c)}}let b=a.limited??a.Limited;return"number"==typeof b&&Number.isFinite(b)?{unlimited:!1,total:Math.max(0,b)}:{unlimited:!1,total:0}}function an(a,b,c,d=null){let e=Math.max(0,(0,f.IQ)(b,0)),g=am(c);if(g.unlimited)return{used:e,total:0,remainingPercentage:100,resetAt:d||null,unlimited:!0};let h=g.total;if(h<=0)return{used:e,total:0,remainingPercentage:0,resetAt:d||null,unlimited:!1};let i=Math.min(e,h),j=Math.max(0,h-i);return{used:i,total:h,remainingPercentage:j/h*100,resetAt:d||null,unlimited:!1}}function ao(a){return a&&"object"==typeof a?null!=a.limit?a.limit:a:null}async function ap(a=null,b={},c=null){let d=b||{},e=d.userId;if(!a||"string"!=typeof a||!a.trim())return{message:"Zed access token not available. Re-connect Zed to view quota."};if(!e)return{message:"Zed credential is missing user id. Re-connect Zed to view quota."};let g={accessToken:a.trim(),providerSpecificData:d};try{let a=await (0,al.qJ)(g,{proxyOptions:c});return function(a){let b,c=a?.plan||{},d=c.plan_v3||c.plan_v2||c.plan||a?.plan_v3||null,e=(0,f.eZ)(c.subscription_period?.ended_at)||(0,f.eZ)(c.subscriptionPeriod?.endedAt)||null,g={},h=c.usage||{},i=h.edit_predictions||h.editPredictions;i&&(g["Edit Predictions"]=an("Edit Predictions",i.used,i.limit,e));let j=h.model_requests||h.modelRequests;if(j){let a=null!=j.limit?j.limit:ao(j)?.limit,b=am(a);(b.unlimited||b.total>0)&&(g["Hosted Model Requests"]=an("Hosted Model Requests",j.used,a,e))}let k=j&&!(b=am(j.limit??ao(j)?.limit)).unlimited&&0===b.total?"Hosted AI models are billed per token (not request count). Edit Predictions are tracked below. Token spend is on dashboard.zed.dev.":null,l=function(a){let b=String(a||"").trim();if(!b)return"Zed";switch(b.toLowerCase()){case"zed_free":return"Zed Free";case"zed_pro":return"Zed Pro";case"zed_pro_trial":return"Zed Pro Trial";case"zed_student":return"Zed Student";case"zed_business":return"Zed Business";default:return b.replace(/_/g," ").split(/\s+/).map(a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()).join(" ")}}(d);(c.trial_started_at||c.trialStartedAt)&&!/trial/i.test(l)&&(l=`${l} (Trial active)`);let m=k;return(c.has_overdue_invoices||c.hasOverdueInvoices)&&(m="This Zed account has overdue invoices. Usage may be blocked until billing is resolved."),{plan:l,quotas:g,message:m,hasOverdueInvoices:!!(c.has_overdue_invoices||c.hasOverdueInvoices),trialStarted:!!(c.trial_started_at||c.trialStartedAt),planId:d||null,resetAt:e}}(a)}catch(b){let a=b?.status;if(401===a||403===a)return{message:"Zed authentication failed. Sign in again from the dashboard or Zed editor."};return{message:`Zed error: ${b.message||"Failed to fetch quota"}`}}}let aq=(0,f.U)("opencode-go").url,ar={rolling:"Rolling",weekly:"Weekly",monthly:"Monthly"};async function as(a=null,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"OpenCode Go API key not available. Add a key to view usage."};try{let c=await (0,d.proxyAwareFetch)(aq,{method:"GET",headers:{Authorization:`Bearer ${a.trim()}`,Accept:"application/json"}},b);if(401===c.status)return{plan:"OpenCode Go",message:"OpenCode Go authentication failed. Check the API key."};if(403===c.status){let a=await c.json().catch(()=>null),b=a?.error?.type==="EntitlementError";return{plan:"OpenCode Go",message:b?"OpenCode Go subscription required for this API key.":"OpenCode Go access forbidden for this API key."}}if(!c.ok)return{plan:"OpenCode Go",message:`OpenCode Go usage API error (${c.status}).`};let e=await c.json().catch(()=>null);if(!e?.usage||"object"!=typeof e.usage)return{plan:"OpenCode Go",message:"OpenCode Go usage response did not contain quota data."};let g={};for(let[a,b]of Object.entries(ar)){let c=e.usage[a];if(!c||"object"!=typeof c)continue;let d=function(a){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return null}(c.percent);if(null===d)continue;let h=Math.max(0,Math.min(100,(0,f.IQ)(d,0)));g[b]={used:h,total:100,remaining:100-h,remainingPercentage:100-h,resetAt:(0,f.eZ)(c.resetsAt),unlimited:!1}}if(0===Object.keys(g).length)return{plan:"OpenCode Go",message:"OpenCode Go usage response did not contain valid quota data."};return{plan:"OpenCode Go",quotas:g}}catch(a){return{message:`OpenCode Go error: ${a.message}`}}}var at=c(78670);async function au(a=null,b=null,c=null){let e=await (0,at.getMimoAccountUsage)(b,c);if("number"==typeof e.percent&&Number.isFinite(e.percent)){let a=Math.max(0,Math.min(100,Math.round(e.percent))),b=null;if("number"==typeof e.resetAt&&e.resetAt>0)b=new Date(1e3*e.resetAt).toISOString();else if("string"==typeof e.resetDate){let a=new Date(`${e.resetDate}T00:00:00Z`);Number.isNaN(a.getTime())||(b=a.toISOString())}return{plan:"Xiaomi MiMo Desktop",quotas:{Weekly:{used:100-a,total:100,remainingPercentage:a,resetAt:b,unlimited:!1}}}}let f=a||b?.apiKey;if(!f||"string"!=typeof f||!f.trim())return{message:"Xiaomi MiMo Desktop not connected. Add credentials to view usage."};try{let a=await (0,d.proxyAwareFetch)("https://aistudio.xiaomimimo.com/open-apis/v1/user/usage",{method:"GET",headers:{Authorization:`Bearer ${f.trim()}`,"X-Mimo-Source":"mimocode-cli",Accept:"application/json"},signal:AbortSignal.timeout(1e4)},c);if(401===a.status)return{plan:"Xiaomi MiMo Desktop",message:"Weekly quota requires Xiaomi account session. API key alone is insufficient."};if(!a.ok)return{plan:"Xiaomi MiMo Desktop",message:`Usage API error (${a.status})`};let b=await a.json().catch(()=>null);if(!b||0!==b.code||!b.data)return{plan:"Xiaomi MiMo Desktop",message:"Usage endpoint returned unexpected response."};let{percent:e,resetDate:g}=b.data;if("number"!=typeof e||!Number.isFinite(e))return{plan:"Xiaomi MiMo Desktop",message:"Usage data missing percent field."};let h=Math.max(0,Math.min(100,Math.round(e))),i=null;if(g&&"string"==typeof g){let a=new Date(`${g}T00:00:00Z`);Number.isNaN(a.getTime())||(i=a.toISOString())}return{plan:"Xiaomi MiMo Desktop",quotas:{Weekly:{used:100-h,total:100,remainingPercentage:h,resetAt:i,unlimited:!1}}}}catch(a){return{message:`Xiaomi MiMo Desktop usage error: ${a.message}`}}}var av=c(9155);let aw={international:(0,f.U)("glm").url,china:(0,f.U)("glm-cn").url};async function ax(a,b,c=null){if(!a)return{message:"GLM API key not available."};let e=aw["glm-cn"===b?"china":"international"];try{let b=await (0,d.proxyAwareFetch)(e,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(!b.ok){if(401===b.status)return{message:"GLM API key invalid or expired."};return{message:`GLM quota API error (${b.status}).`}}let f=await b.json(),{plan:g,quotas:h}=function(a){let b=a?.data&&"object"==typeof a.data?a.data:{},c=Array.isArray(b.limits)?b.limits:[],d={};for(let a of c){if(!a||"TOKENS_LIMIT"!==a.type&&"CREDIT_LIMIT"!==a.type)continue;let b=Number(a.percentage)||0,c=Number(a.nextResetTime)||0,e=Math.max(0,100-b);d[3===a.unit?`Session (${a.number}h)`:6===a.unit?"Weekly (7d)":"TOKENS_LIMIT"===a.type?"Tokens":`Limit (${a.number})`]={used:b,total:100,remaining:e,remainingPercentage:e,resetAt:c>0?new Date(c).toISOString():null,unlimited:!1}}let e="string"==typeof b.level?b.level:"";return{plan:e?e.charAt(0).toUpperCase()+e.slice(1).toLowerCase():"Unknown",quotas:d}}(f);return{plan:g,quotas:h}}catch(a){return{message:`GLM error: ${a.message}`}}}let ay=(0,f.U)("vercel-ai-gateway").url;async function az(a){try{return{message:"iFlow connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch iFlow usage."}}}let aA={session:"Session (5h)",weekly:"Weekly (7d)",monthly:"Monthly"};async function aB(a,b,c=null){if(!a)return{message:"Ollama Cloud API key not available."};try{let b,e=await (0,d.proxyAwareFetch)("https://ollama.com/api/usage",{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(401===e.status||403===e.status)return{message:"Ollama Cloud API key invalid or expired."};if(!e.ok)return{message:`Ollama Cloud usage API error (${e.status}).`};try{b=await e.json()}catch{return{message:"Ollama Cloud usage response was not JSON."}}let f=await (0,d.proxyAwareFetch)("https://ollama.com/api/me",{method:"POST",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Length":"0"}},c).then(a=>a.ok?a.json():null).catch(()=>null),g="string"==typeof f?.Plan?f.Plan:"",h=g?g.charAt(0).toUpperCase()+g.slice(1).toLowerCase():"Ollama Cloud",i=b?.limits&&"object"==typeof b.limits?b.limits:{},j="free"===g.toLowerCase()&&f?.CreatedAt?function(a,b=new Date){let c=new Date(a);if(Number.isNaN(c.getTime()))return null;let d=(b.getUTCFullYear()-c.getUTCFullYear())*12+(b.getUTCMonth()-c.getUTCMonth());for(let a=Math.max(0,d);a<=d+1;a++){let d=function(a,b){let c=a.getUTCMonth()+b,d=a.getUTCFullYear()+Math.floor(c/12),e=(c%12+12)%12,f=new Date(Date.UTC(d,e+1,0)).getUTCDate();return new Date(Date.UTC(d,e,Math.min(a.getUTCDate(),f),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds()))}(c,a);if(d>b)return d.toISOString()}return null}(f.CreatedAt):null,k={};for(let[a,b]of Object.entries(aA)){let c=i[a]?.usage;if(null==c)continue;let d=Number(c);Number.isNaN(d)||(k[b]=function(a,b=null){let c=Math.max(0,Math.min(1,Number(a)||0)),d=Math.round(100*c);return{used:d,total:100,remainingPercentage:100-d,resetAt:b,unlimited:!1}}(d,"monthly"===a?j:null))}if(0===Object.keys(k).length)return{plan:h,message:"Ollama Cloud connected. No usage limits reported.",quotas:{}};return{plan:h,quotas:k}}catch(a){return{message:`Ollama Cloud error: ${a.message}`}}}async function aC(a,b=null){if(!a)return{message:"Vercel AI Gateway API key not available."};try{let c=await (0,d.proxyAwareFetch)(ay,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(401===c.status||403===c.status)return{message:"Vercel AI Gateway API key invalid or expired."};if(!c.ok){let a=await c.text().catch(()=>""),b=a?`: ${a.slice(0,200)}`:"";return{message:`Vercel AI Gateway credits API error (${c.status})${b}`}}let e=await c.json(),f=Number(e?.balance)||0,g=Number(e?.total_used)||0;if(f<=0&&g<=0)return{plan:"Pay-as-you-go",message:"Vercel AI Gateway connected. No credit allocation found (BYOK or unfunded account).",quotas:{}};return{plan:"Pay-as-you-go",quotas:{"Used (USD)":{used:g,total:0,remaining:0,remainingPercentage:100,unlimited:!0},"Remaining (USD)":{used:f,total:5,remaining:f,remainingPercentage:f/5*100,unlimited:!1}}}}catch(a){return{message:`Vercel AI Gateway error: ${a.message}`}}}async function aD(a,b=null,c="qoder"){if(!a)return{message:"Qoder usage unavailable: no access token"};try{let e=await (0,d.proxyAwareFetch)((0,f.U)(c).url,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!e.ok)return{message:`Qoder connected. Usage fetch returned ${e.status}.`};let g=await e.json().catch(()=>null);if(!g)return{message:"Qoder connected. Usage response was not JSON."};let h=g.userQuota||{},i=g.orgResourcePackage||{},j=Number.isFinite(Number(g.expiresAt))&&Number(g.expiresAt)>0?Number(g.expiresAt):null,k=j?new Date(j).toISOString():null;return{quotas:{user:{total:Number(h.total)||0,used:Number(h.used)||0,remaining:Number(h.remaining)||0,unit:h.unit||"credits",resetAt:k},organization:{total:Number(i.total)||0,used:Number(i.used)||0,remaining:Number(i.remaining)||0,unit:i.unit||"credits",resetAt:k}},totalUsagePercentage:Number(g.totalUsagePercentage)||0,isQuotaExceeded:!!g.isQuotaExceeded,expiresAt:j}}catch(a){return{message:`Qoder connected. Unable to fetch usage: ${a.message}`}}}let aE={github:a=>h(a.accessToken,a.providerSpecificData,a.proxyOptions),"gemini-cli":a=>(0,j.N)(a.accessToken,a.providerDataWithProjectId,a.proxyOptions),antigravity:a=>(0,j.c)(a.accessToken,a.providerDataWithProjectId,a.proxyOptions),claude:a=>(0,k.gl)(a.accessToken,a.proxyOptions,{force:a.force}),codex:a=>(0,l.Tl)(a.accessToken,a.providerSpecificData,a.proxyOptions,a.idToken),kiro:a=>n(a.accessToken,a.providerSpecificData,a.proxyOptions),qoder:a=>aF(a),"qoder-cn":a=>aF(a),iflow:a=>az(a.accessToken),ollama:a=>aB(a.apiKey,a.providerSpecificData,a.proxyOptions),glm:a=>ax(a.apiKey||a.accessToken,a.provider,a.proxyOptions),"glm-cn":a=>ax(a.apiKey||a.accessToken,a.provider,a.proxyOptions),minimax:a=>v(a.apiKey,a.provider,a.proxyOptions),"minimax-cn":a=>v(a.apiKey,a.provider,a.proxyOptions),elevenlabs:a=>x(a.apiKey,a.proxyOptions),"vercel-ai-gateway":a=>aC(a.apiKey,a.proxyOptions),"codebuddy-cn":a=>A(a.accessToken,a.apiKey,a.providerSpecificData,a.proxyOptions),"codebuddy-intl":a=>B(a.accessToken,a.apiKey,a.providerSpecificData,a.proxyOptions),"grok-cli":a=>N(a.accessToken,a.providerSpecificData,a.proxyOptions),kimi:a=>R(a.accessToken,a.apiKey,a.proxyOptions,a.providerSpecificData),cursor:a=>W(a.accessToken,a.proxyOptions),commandcode:a=>ah(a.apiKey,a.proxyOptions),deepseek:a=>X(a.apiKey,a.proxyOptions),groq:a=>ak(a.apiKey,a.proxyOptions),zed:a=>ap(a.accessToken,a.providerSpecificData,a.proxyOptions),"opencode-go":a=>as(a.apiKey,a.proxyOptions),"xiaomi-mimo":a=>au(a.accessToken,a.providerSpecificData,a.proxyOptions)};async function aF(a){let b=await (0,av._M)(a,a.proxyOptions).catch(()=>null);return aD(b?.accessToken||a.accessToken,a.proxyOptions,a.provider||"qoder")}async function aG(a,b=null,c={}){let{provider:d,accessToken:e,apiKey:f,providerSpecificData:g,projectId:h,idToken:i}=a,j={...g||{},...h?{projectId:h}:{}},k=aE[d];return k?await k({provider:d,accessToken:e,apiKey:f,providerSpecificData:g,providerDataWithProjectId:j,proxyOptions:b,idToken:i,force:!0===c.force}):{message:`Usage API not implemented for ${d}`}}},39326:(a,b,c)=>{c.d(b,{B:()=>h,p:()=>g});var d=c(71998);function e(a){return null==a?"":String(a).trim()}let f=new Map;function g(a,b,c){if(!a||0===a.length)return null;if(1===a.length)return a[0];if("round-robin"===b){let b=f.get(c)||{index:-1};return b.index=(b.index+1)%a.length,f.set(c,b),a[b.index]}return"random"===b?a[Math.floor(Math.random()*a.length)]:a[0]}async function h(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a),g=!1;if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy),h=a&&!0===a.isActive&&b;if(g=a?.strictProxy===!0,h){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,strictProxy:g,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,strictProxy:g,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},49485:(a,b,c)=>{c.d(b,{RO:()=>o,Tl:()=>m,Yt:()=>n,oH:()=>p});var d=c(89843),e=c(81358),f=c(88705);let g={usageUrl:(0,f.U)("codex").url,resetCreditsUrl:(0,f.U)("codex").resetCreditsUrl,resetCreditsConsumeUrl:(0,f.U)("codex").resetCreditsConsumeUrl};function h(a){if(!a)return null;let b=a instanceof Date?a:new Date("number"==typeof a&&a<1e12?1e3*a:a);return Number.isFinite(b.getTime())?b.toISOString():null}function i(a,b={},c={},d=null){let f={Authorization:`Bearer ${a}`,Accept:"application/json",originator:"codex_cli_rs",...c},g=(0,e.a)(b,d);return g&&(f["ChatGPT-Account-ID"]=g),f}function j(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a.rate_limit&&"object"==typeof a.rate_limit?a.rate_limit:a}function k(a){let b=Math.max(0,Math.min(100,(0,f.IQ)(a?.used_percent??a?.percent_used,0)));return{used:b,total:100,remaining:Math.max(0,100-b),resetAt:(0,f.eZ)(a?.reset_at??a?.resets_at??a?.resetAt??null),unlimited:!1}}function l(a,b,c){let d=j(c);if(!d)return!1;let e=d.primary_window||d.primary||c.primary_window||c.primary,f=d.secondary_window||d.secondary||c.secondary_window||c.secondary,g=!1;return e&&(a[b?`${b}_session`:"session"]=k(e),g=!0),f&&(a[b?`${b}_weekly`:"weekly"]=k(f),g=!0),g}async function m(a,b={},c=null,h=null){var k,n,o;[b,c]=(k=b,!(n=c)&&(o=k)&&"object"==typeof o&&("connectionProxyEnabled"in o||"connectionProxyUrl"in o||"connectionNoProxy"in o||"vercelRelayUrl"in o||"strictProxy"in o)?(0,e.a)(k,h)?[k,k]:[{},k]:[k||{},n]);try{let e=await (0,d.proxyAwareFetch)(g.usageUrl,{method:"GET",headers:i(a,b,{},h)},c);if(!e.ok)return{message:`Codex connected. Usage API temporarily unavailable (${e.status}).`};let k=await e.json(),m=k.rate_limit||k.rate_limits||k.rate_limits_by_limit_id?.codex||{},n=function(a){if(a.code_review_rate_limit||a.review_rate_limit)return a.code_review_rate_limit||a.review_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b.code_review||b.codex_review||b.review||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return"code_review"===b||"codex_review"===b||"review"===b||b.includes("review")})||null}(k),o=function(a){if(a.spark_rate_limit||a.gpt_5_3_codex_spark_rate_limit)return a.spark_rate_limit||a.gpt_5_3_codex_spark_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b["gpt-5.3-codex-spark"]||b.gpt_5_3_codex_spark||b.spark||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return b.includes("spark")||b.includes("5.3-codex-spark")})||null}(k),p=Math.max(0,(0,f.IQ)(k.rate_limit_reset_credits?.available_count,0)),q={};return l(q,"",m),l(q,"review",n),l(q,"spark",o),{plan:k.plan_type||k.summary?.plan||"unknown",limitReached:j(m)?.limit_reached||!1,reviewLimitReached:j(n)?.limit_reached||!1,sparkLimitReached:j(o)?.limit_reached||!1,resetCredits:{availableCount:p},quotas:q}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function n(a,b=null,c=null,e=null){if(!a)throw Error("No Codex access token available. Please re-authorize the connection.");let j=i(a,c,{"OpenAI-Beta":"codex-1"},e),k=await (0,d.proxyAwareFetch)(g.resetCreditsUrl,{method:"GET",headers:j},b),l=null;try{l=await k.json()}catch{l=null}if(!k.ok){var m,o;throw Error((m=l?.message||l?.error||l?.detail,o=`Codex reset credits API unavailable (${k.status}).`,m?"string"==typeof m?m:"string"==typeof m.message?m.message:JSON.stringify(m):o))}let p=Array.isArray(l?.credits)?l.credits:[];return{availableCount:Math.max(0,(0,f.IQ)(l?.available_count??l?.availableCount,0)),credits:p.map(a=>({status:String(a?.status||"unknown"),grantedAt:h(a?.granted_at??a?.grantedAt),expiresAt:h(a?.expires_at??a?.expiresAt)}))}}async function o(a,b,c=null,h=null,j=null){let k;if(!a)throw Error("No Codex access token available. Please re-authorize the connection.");if(!b||"string"!=typeof b)throw Error("A redeem request id is required to consume a Codex reset credit.");if(!(0,e.a)(h,j))throw Error("A ChatGPT account ID is required to consume a Codex reset credit. Please re-authorize the connection.");let l=null;try{k=await (0,d.proxyAwareFetch)(g.resetCreditsConsumeUrl,{method:"POST",headers:i(a,h,{"Content-Type":"application/json"},j),body:JSON.stringify({redeem_request_id:b})},c);let e=await k.text();l=e?JSON.parse(e):null}catch(a){throw Error(`Failed to consume Codex reset credit: ${a.message}`)}let m=l?.code||null,n=(0,f.IQ)(l?.windows_reset,0);return{ok:k.ok&&("reset"===m||n>0),noCredit:k.ok&&"no_credit"===m,status:k.status,code:m,windowsReset:n,message:l?.message||null,raw:l}}async function p(a,b=null,c=null,e=null){let g=new URL((0,f.U)("codex").modelsUrl||"https://chatgpt.com/backend-api/codex/models");(0,f.U)("codex").clientVersion&&g.searchParams.set("client_version",(0,f.U)("codex").clientVersion);let h=i(a,c,{},e),j=await (0,d.proxyAwareFetch)(g,{method:"GET",headers:h},b);if(!j.ok)return[];let k=await j.json();return(Array.isArray(k?.models)?k.models:[]).filter(a=>a?.supported_in_api!==!1&&"string"==typeof a?.slug&&a.slug).sort((a,b)=>Number(a.priority||0)-Number(b.priority||0))}},71040:(a,b,c)=>{c.d(b,{c:()=>q,N:()=>o});var d=c(92675),e=c(88705);let f=new Map,g=new Map;async function h(a,b,c=null,i={}){if(!a||!b)return{};let j=`${b}:${a.slice(0,16)}`,k=Date.now();if(!i.force&&f.has(j)){let a=f.get(j);if(a&&a.expiresAt>k)return a.quotas}if(g.has(j))return await g.get(j);let l=(async()=>{try{let g=(0,e.U)("antigravity")?.quotaSummaryApiUrl||`${d.w3}/v1internal:retrieveUserQuotaSummary`,h=await (0,e.u9)(g,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":d.Of,"Content-Type":"application/json","X-Client-Name":"antigravity","X-Client-Version":d.Tr},body:JSON.stringify({project:b})},1e4,c);if(!h||!h.ok)return{};let i=await h.json(),k=function(a){if(!a||"object"!=typeof a)return{};let b=Array.isArray(a.groups)?a.groups:Array.isArray(a?.quotaSummary?.groups)?a.quotaSummary.groups:null;if(!b||0===b.length)return{};let c={};for(let a of b){if(!a||"object"!=typeof a||!Array.isArray(a.buckets))continue;let b=String(a.displayName||"").trim(),d=null,f=null;if("Gemini Models"===b)d="gemini_weekly",f="Gemini Weekly";else{if("Claude and GPT models"!==b)continue;d="claude_gpt_weekly",f="Claude & GPT Weekly"}let g=null;for(let b of a.buckets)if(b&&"object"==typeof b&&"weekly"===b.window){g=b;break}if(!g)for(let b of a.buckets){if(!b||"object"!=typeof b)continue;let a="string"==typeof b.bucketId&&/\bweekly\b/i.test(b.bucketId),c="string"==typeof b.displayName&&/\bweekly\b/i.test(b.displayName);if(a||c){g=b;break}}if(!g||!0===g.disabled||null==g.remainingFraction)continue;let h=Number(g.remainingFraction);if(!Number.isFinite(h))continue;let i=Math.max(0,Math.min(1,h)),j=Math.max(0,1e3-Math.round(1e3*i)),k=100*i;c[d]={used:j,total:1e3,resetAt:(0,e.eZ)(g.resetTime),remainingPercentage:k,unlimited:!1,displayName:f}}return c}(i);if(f.set(j,{quotas:k,expiresAt:Date.now()+6e4}),f.size>100){let a=Date.now();for(let[b,c]of f)c.expiresAt<=a&&f.delete(b)}return k}catch{return{}}})().finally(()=>{g.delete(j)});return g.set(j,l),await l}var i=c(28730);let j={...(0,e.U)("antigravity"),userAgent:d.Of},k=new Map,l=[{pattern:/gemini/i,weekly:{key:"gemini_weekly",displayName:"Gemini (Weekly)"},session:{key:"gemini_session",displayName:"Gemini (5h)"}},{pattern:/claude|gpt/i,weekly:{key:"claude_gpt_weekly",displayName:"Claude & GPT (Weekly)"},session:{key:"claude_gpt_session",displayName:"Claude & GPT (5h)"}}];async function m(a,b,c=null){let f=`${a}::${b||""}`,g=k.get(f);if(g?.promise)return g.promise;if(g&&g.expiresAt>Date.now())return g.result;let h=(async()=>{try{let f=j.quotaSummaryApiUrl;if(!f)return{};let g=await (0,e.u9)(f,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":j.userAgent,"Content-Type":"application/json","X-Client-Name":"antigravity","X-Client-Version":d.Tr},body:JSON.stringify({...b?{project:b}:{}})},1e4,c);if(!g.ok)return{};let h=await g.json();return function(a){if(!a||"object"!=typeof a)return{};let b=Array.isArray(a.groups)?a.groups:Array.isArray(a.quotaSummary?.groups)?a.quotaSummary.groups:null;if(!b)return{};let c={};for(let a of b){if(!a||"object"!=typeof a)continue;let b=a.displayName||"";for(let d of Array.isArray(a.buckets)?a.buckets:[]){if(!d||"object"!=typeof d)continue;let a=String(d.window||"").toLowerCase(),f=`${d.bucketId||""} ${d.displayName||""}`.toLowerCase(),g="weekly"===a||f.includes("weekly"),h="5h"===a||f.includes("five hour")||f.includes("5h")||f.includes("daily")||"daily"===a;if(!g&&!h||!0===d.disabled&&g)continue;let i=!0===d.disabled?0:Number(d.remainingFraction);if(Number.isFinite(i)){for(let a of l)if(a.pattern.test(b)){let b=g?a.weekly:a.session;if(c[b.key])break;let f=Math.max(0,1e3-Math.round(1e3*i));c[b.key]={used:f,total:1e3,resetAt:(0,e.eZ)(d.resetTime),remainingPercentage:100*i,unlimited:!1,displayName:b.displayName};break}}}}return c}(h)}catch{return{}}})();k.set(f,{promise:h});try{let a=await h;return a&&Object.keys(a).length>0?k.set(f,{result:a,expiresAt:Date.now()+18e4}):k.delete(f),a}catch{return k.delete(f),{}}}let n={...(0,e.U)("antigravity"),...d.XP,userAgent:d.Of};async function o(a,b,c=null){if(!a)return{plan:"Free",message:"Gemini CLI access token not available."};try{let d=(0,e.gD)(b?.projectId),f="Free";if(!d){let b=await p(a,c);d=(0,e.gD)(b?.cloudaicompanionProject),f=b?.currentTier?.name||f}if(!d)return{plan:f,message:"Gemini CLI project ID not available. Reconnect Gemini CLI, or configure a Google Cloud project with Gemini Code Assist access before checking quota."};let g=await (0,e.u9)((0,e.U)("gemini-cli").quotaUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({project:d})},1e4,c);if(!g.ok)return{plan:f,message:`Gemini CLI quota error (${g.status}).`};let h=await g.json(),i={};if(Array.isArray(h.buckets))for(let a of h.buckets){if(!a.modelId||null==a.remainingFraction)continue;let b=Number(a.remainingFraction)||0,c=Math.round(1e3*b),d=Math.max(0,1e3-c);i[a.modelId]={used:d,total:1e3,resetAt:(0,e.eZ)(a.resetTime),remainingPercentage:100*b,unlimited:!1}}return{plan:f,quotas:i}}catch(a){return{message:`Gemini CLI error: ${a.message}`}}}async function p(a,b=null){try{let c=await (0,e.u9)((0,e.U)("gemini-cli").loadCodeAssistUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:i.Cn})},1e4,b);if(!c.ok)return null;return await c.json()}catch{return null}}async function q(a,b,c=null){try{let f=await r(a,c),g=(0,e.gD)(b?.projectId)||(0,e.gD)(f?.cloudaicompanionProject),i={Authorization:`Bearer ${a}`,"User-Agent":n.userAgent,"Content-Type":"application/json","X-Client-Name":"antigravity","X-Client-Version":d.Tr},j=JSON.stringify({...g?{project:g}:{}}),k=await (0,e.u9)(n.quotaApiUrl,{method:"POST",headers:i,body:j},1e4,c);if(403===k.status)return{message:"Antigravity quota API access forbidden. Chat may still work.",quotas:{}};if(401===k.status)return{message:"Antigravity quota API authentication expired. Chat may still work.",quotas:{}};if(!k.ok)throw Error(`Antigravity API error: ${k.status}`);let[l,o]=await Promise.all([k.json(),g?h(a,g,c):Promise.resolve({})]),p={},q=f?.paidTier?.id;if(!(!q||"free-tier"===q)&&l.models){let a=["gemini-3.8-flash-high","gemini-3.8-flash-medium","gemini-3.8-flash-low","gemini-3.7-flash-high","gemini-3.7-flash-medium","gemini-3.7-flash-low","gemini-3.7-flash","gemini-3.6-flash-high","gemini-3.6-flash-medium","gemini-3.6-flash-low","gemini-3.5-flash-low","gemini-3.5-flash-extra-low","gemini-pro-agent","gemini-3.1-pro-low","claude-sonnet-4-6","claude-opus-4-6-thinking","gpt-oss-120b-medium","gemini-3.1-flash-image"];for(let[b,c]of Object.entries(l.models)){if(!c.quotaInfo||c.isInternal||!a.includes(b))continue;let d=c.quotaInfo.remainingFraction||0,f=100*d,g=Math.round(1e3*d),h=1e3-g;p[b]={used:h,total:1e3,resetAt:(0,e.eZ)(c.quotaInfo.resetTime),remainingPercentage:f,percentageOnly:!0,quotaNote:"gemini-3.1-flash-image"===b?"Google does not expose the exact remaining image-generation count.":"Google exposes this quota as a percentage, not an absolute request count.",unlimited:!1,displayName:c.displayName||b}}}try{let b=await m(a,g,c),d=Object.entries(p),e=d.filter(([a])=>a.startsWith("gemini-")&&!a.includes("image")),f=d.filter(([a])=>a.startsWith("claude-"));if(b.gemini_session&&e.length>0&&e.every(([,a])=>(a.remainingPercentage??0)===0)&&b.gemini_session.remainingPercentage>0){let a=e.reduce((a,[,b])=>!a||b.resetAt&&new Date(b.resetAt)>new Date(a)?b.resetAt:a,null);b.gemini_session.used=b.gemini_session.total,b.gemini_session.remainingPercentage=0,a&&(b.gemini_session.resetAt=a)}if(b.claude_gpt_session&&f.length>0&&f.every(([,a])=>(a.remainingPercentage??0)===0)&&b.claude_gpt_session.remainingPercentage>0){let a=f.reduce((a,[,b])=>!a||b.resetAt&&new Date(b.resetAt)>new Date(a)?b.resetAt:a,null);b.claude_gpt_session.used=b.claude_gpt_session.total,b.claude_gpt_session.remainingPercentage=0,a&&(b.claude_gpt_session.resetAt=a)}Object.assign(p,b)}catch{}return{plan:f?.currentTier?.name||"Unknown",quotas:{...p,...o},subscriptionInfo:f}}catch(a){return console.error("[Antigravity Usage] Error:",a.message,a.cause),{message:`Antigravity error: ${a.message}`}}}async function r(a,b=null){try{let c=await (0,e.u9)(n.loadProjectApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":n.userAgent,"Content-Type":"application/json"},body:JSON.stringify({metadata:i.Cn,mode:1})},1e4,b);if(!c.ok)return null;return await c.json()}catch(a){return console.error("[Antigravity Subscription] Error:",a.message),null}}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,Pc:()=>d.Pc,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.getProviderConnections,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.updateProviderConnection,uv:()=>d.uv,xN:()=>d.xN});var d=c(89718)},88705:(a,b,c)=>{c.d(b,{IQ:()=>h,U:()=>f,eZ:()=>g,gD:()=>i,u9:()=>j});var d=c(39141),e=c(89843);let f=a=>d.xq[a]?.usage||{};function g(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}function h(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function i(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function j(a,b,c=1e4,d=null){let f=new AbortController,g=setTimeout(()=>f.abort(),c);try{return await (0,e.proxyAwareFetch)(a,{...b,signal:f.signal},d)}finally{clearTimeout(g)}}},98594:(a,b,c)=>{c.d(b,{Ut:()=>p,gl:()=>o});var d=c(55511),e=c(89843),f=c(92675),g=c(88705);let h={oauthUsageUrl:(0,g.U)("claude").oauthUrl,usageUrl:(0,g.U)("claude").orgUrl,settingsUrl:(0,g.U)("claude").settingsUrl,profileUrl:(0,g.U)("claude").profileUrl,resetUrl:(0,g.U)("claude").resetUrl,apiVersion:f.b8,userAgent:`claude-cli/${f.t4} (external, cli)`},i=new Map,j=new Map;function k(a){return(0,d.createHash)("sha256").update(String(a??"")).digest("hex")}function l(a,b){for(i.delete(a),i.set(a,b);i.size>128;)i.delete(i.keys().next().value)}function m(a,b,c,d){if("number"==typeof c&&Number.isFinite(c)&&!Object.keys(a).some(a=>a.toLowerCase()===b.toLowerCase())){let e,f;a[b]=(f=100-(e=Math.min(100,Math.max(0,c))),{used:e,total:100,remaining:f,remainingPercentage:f,resetAt:(0,g.eZ)(d),unlimited:!1})}}async function n(a,b,c){try{let d=await (0,e.proxyAwareFetch)(`${h.oauthUsageUrl}?cedar_ember=1`,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":h.apiVersion,"User-Agent":h.userAgent},signal:AbortSignal.timeout(5e3)},b);if(d.ok){let a=function(a){let b={};for(let[c,d]of(m(b,"session (5h)",a?.five_hour?.utilization,a?.five_hour?.resets_at),m(b,"weekly (7d)",a?.seven_day?.utilization,a?.seven_day?.resets_at),Object.entries(a||{})))c.startsWith("seven_day_")&&d&&"object"==typeof d&&m(b,`weekly ${c.slice(10)} (7d)`,d.utilization,d.resets_at);for(let c of[...Array.isArray(a?.limits)?a.limits:[],...Array.isArray(a?.rate_limits)?a.rate_limits:[]]){let a=String(c?.group||"").toLowerCase(),d=String(c?.kind||"").toLowerCase();if("session"===d||"session"===a){m(b,"session (5h)",c.percent,c.resets_at);continue}if("weekly_scoped"===d||"weekly"===a){let a=c?.scope?.model?.display_name||c?.scope?.surface?.display_name;m(b,a?`weekly ${a} (7d)`:"weekly (7d)",c.percent,c.resets_at)}}return{plan:"Claude Code",extraUsage:a?.extra_usage??null,resetCredits:function(a){if(!a?.eligible||!Array.isArray(a.grants))return null;let b=a.grants.filter(a=>a?.id&&!a.paused&&Number(a.resets_left)>0),c=b.find(b=>b.id===a.next_grant_id)||b[0]||null;return{availableCount:b.reduce((a,b)=>a+Number(b.resets_left),0),nextGrantId:c?.id||null,expiresAt:c?.ends_at||null,clears:c?.clears||[],cooldownUntil:a.cooldown_until||null,weeklyResetsAt:a.weekly_resets_at||null,grants:a.grants.filter(a=>a?.id).map(a=>({id:a.id,label:a.label||"",resetsLeft:Number(a.resets_left)||0,resetsTotal:Number(a.resets_total)||0,startsAt:a.starts_at||null,endsAt:a.ends_at||null,clears:Array.isArray(a.clears)?a.clears:[],paused:!0===a.paused,usableNow:!0===a.usable_now,useRequiresLimit:!1!==a.use_requires_limit}))}}(a?.cedar_ember),quotas:b}}(await d.json());return l(c,{value:a,expiresAt:Date.now()+65e3,retryAt:0}),a}if(429===d.status){let a,b=Date.now(),e=i.get(c),f=e?.value||{message:"Claude usage is rate limited. Retry later."};return l(c,{value:f,expiresAt:e?.expiresAt||0,retryAt:b+(a=function(a,b){let c=String(a||"").trim();if(!c)return null;let d=Number(c);if(Number.isFinite(d))return d>=0?1e3*d:null;let e=Date.parse(c);return Number.isFinite(e)?Math.max(0,e-b):null}(d.headers.get("retry-after"),b),null===a&&d.headers.forEach((c,d)=>{if(!/^anthropic-ratelimit-.+-reset$/i.test(d))return;let e=function(a,b){let c=String(a||"").trim();if(!c)return null;let d=Number(c),e=Number.isFinite(d)?d<1e12?1e3*d:d:Date.parse(c);return Number.isFinite(e)&&e>b&&e<=864e13?e-b:null}(c,b);null!==e&&(null===a||e>a)&&(a=e)}),Math.min(18e5,Math.max(18e4,a??18e4)))}),f}if(401===d.status)return{message:"Claude authentication expired (401). Re-authorize or refresh the connection."};if(404===d.status||405===d.status){let d=await q(a,b);return d.cacheable&&l(c,{value:d.value,expiresAt:Date.now()+65e3,retryAt:0}),d.value}return{message:`Claude connected. Usage endpoint returned HTTP ${d.status}.`}}catch{return{message:"Claude connected. Unable to fetch usage."}}}function o(a,b=null,c={}){let d,e=c?.force===!0,f=k(a),g=i.get(f),h=Date.now();return!e&&g&&(h<g.expiresAt||h<g.retryAt)?Promise.resolve(g.value):!e&&j.has(f)?j.get(f):j.size>=128?Promise.resolve({message:"Claude usage refresh is busy. Retry shortly."}):(d=n(a,b,f).finally(()=>{j.get(f)===d&&j.delete(f)}),j.set(f,d),d)}async function p(a,b,c=null){if(!a)throw Error("No Claude access token available. Please re-authorize the connection.");if(!/^[a-z0-9_-]{1,40}$/.test(b||""))throw Error("Invalid reset grant id.");let d={Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":h.apiVersion,"User-Agent":h.userAgent,"Content-Type":"application/json"},f=await (0,e.proxyAwareFetch)(h.profileUrl,{method:"GET",headers:d},c),g=await f.json().catch(()=>null),l=g?.organization?.uuid;if(!f.ok||!l)throw Error(`Cannot resolve Claude organization (${f.status}).`);let m=await (0,e.proxyAwareFetch)(h.resetUrl.replace("{org_id}",l),{method:"POST",headers:d,body:JSON.stringify({program:"cedar_ember",grant_id:b,request_id:crypto.randomUUID()})},c),n=await m.json().catch(()=>null),o=k(a);return i.delete(o),i.delete(a),j.delete(o),{ok:m.ok&&n?.result==="reset",status:m.status,result:n?.result||null,reason:n?.reason||null,resetsLeft:n?.resets_left??null,message:n?.error?.message||null}}async function q(a,b=null){try{let c=await (0,e.proxyAwareFetch)(h.settingsUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":h.apiVersion}},b);if(c.ok){let d=await c.json();if(d.organization_id){let c=await (0,e.proxyAwareFetch)(h.usageUrl.replace("{org_id}",d.organization_id),{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":h.apiVersion}},b);if(c.ok){let a=await c.json();return{cacheable:!0,value:{plan:d.plan||"Unknown",organization:d.organization_name,quotas:a}}}return{cacheable:!1,value:{plan:d.plan||"Unknown",organization:d.organization_name,message:"Claude connected. Usage details require admin access."}}}return{cacheable:!0,value:{plan:d.plan||"Unknown",organization:d.organization_name,message:"Claude connected. Usage details require admin access."}}}return{cacheable:!1,value:{message:"Claude connected. Usage endpoint requires OAuth."}}}catch(a){return{cacheable:!1,value:{message:`Claude connected. Error checking usage: ${a.message}`}}}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=615,exports.ids=[615],exports.modules={40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>u,js:()=>B,DI:()=>n,fg:()=>k,Pd:()=>o,Vj:()=>p,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>D,wb:()=>C,br:()=>l,wG:()=>A,zt:()=>v,gb:()=>r,gC:()=>s,AR:()=>t,mq:()=>q,YI:()=>x,rs:()=>w,p5:()=>z});var d=c(84722);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","systemoneConfig","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="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-",p="custom-video-";function q(a){return"string"==typeof a&&a.startsWith(m)}function r(a){return"string"==typeof a&&a.startsWith(n)}function s(a){return"string"==typeof a&&a.startsWith(o)}function t(a){return"string"==typeof a&&a.startsWith(p)}let u={...h,...i,...j,...k,...l};function v(a){for(let b of Object.values(u))if(b.alias===a||b.id===a)return b;return null}function w(a){let b=v(a);return b?.id||a}function x(a){return!!a&&(!!v(a)||q(a)||r(a))}let y={nvidia:40};function z(a,b){let c=(a?.rpmByProvider||{})[b];if(0===c||"0"===c)return 0;let d=Number(c);return Number.isFinite(d)&&d>0?d:y[b]||0}function A(a){let b=u[a];return b?.alias||a}let B=Object.values(u).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(u).reduce((a,b)=>(a[b.id]=b.alias,a),{});let C=d.default.filter(a=>a.features?.usage).map(a=>a.id),D=d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)}};
1
+ "use strict";exports.id=615,exports.ids=[615],exports.modules={40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>u,js:()=>B,DI:()=>n,fg:()=>k,Pd:()=>o,Vj:()=>p,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>D,wb:()=>C,br:()=>l,wG:()=>A,zt:()=>v,gb:()=>r,gC:()=>s,AR:()=>t,mq:()=>q,YI:()=>x,rs:()=>w,p5:()=>z});var d=c(17218);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","systemoneConfig","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="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-",p="custom-video-";function q(a){return"string"==typeof a&&a.startsWith(m)}function r(a){return"string"==typeof a&&a.startsWith(n)}function s(a){return"string"==typeof a&&a.startsWith(o)}function t(a){return"string"==typeof a&&a.startsWith(p)}let u={...h,...i,...j,...k,...l};function v(a){for(let b of Object.values(u))if(b.alias===a||b.id===a)return b;return null}function w(a){let b=v(a);return b?.id||a}function x(a){return!!a&&(!!v(a)||q(a)||r(a))}let y={nvidia:40};function z(a,b){let c=(a?.rpmByProvider||{})[b];if(0===c||"0"===c)return 0;let d=Number(c);return Number.isFinite(d)&&d>0?d:y[b]||0}function A(a){let b=u[a];return b?.alias||a}let B=Object.values(u).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(u).reduce((a,b)=>(a[b.id]=b.alias,a),{});let C=d.default.filter(a=>a.features?.usage).map(a=>a.id),D=d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=6420,exports.ids=[6420],exports.modules={13808:(a,b,c)=>{c.d(b,{$N:()=>f,OK:()=>g,Zl:()=>h,lz:()=>i});var d=c(55511),e=c.n(d);function f(a=32){return e().randomBytes(a).toString("base64url")}function g(a){return e().createHash("sha256").update(a).digest("base64url")}function h(){return e().randomBytes(32).toString("base64url")}function i(a=32){let b=f(a),c=g(b);return{codeVerifier:b,codeChallenge:c,state:h()}}},36187:(a,b,c)=>{c.d(b,{PY:()=>ae,exchangeTokens:()=>aa,extractCodexAccountInfo:()=>e.YR,fetchKiroProfileArn:()=>e.gR,kP:()=>_,sO:()=>$,Su:()=>ac,Re:()=>ab}),c(30369);var d=c(13808),e=c(53129),f=c(92990);let g={config:f.OV,flowType:"authorization_code_pkce",buildAuthUrl:(a,b,c,d)=>{let e=new URLSearchParams({code:"true",client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),code_challenge:d,code_challenge_method:a.codeChallengeMethod,state:c});return`${a.authorizeUrl}?${e.toString()}`},exchangeToken:async(a,b,c,d,e)=>{let f=b,g="";if(f.includes("#")){let a=f.split("#");f=a[0],g=a[1]||""}let h=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({code:f,state:g||e,grant_type:"authorization_code",client_id:a.clientId,redirect_uri:c,code_verifier:d})});if(!h.ok){let a=await h.text();throw Error(`Token exchange failed: ${a}`)}return await h.json()},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope})},h={config:f.DI,flowType:"authorization_code_pkce",fixedPort:f.DI.fixedPort,callbackPath:f.DI.callbackPath,buildAuthUrl:(a,b,c,d)=>{let e=Object.entries({response_type:"code",client_id:a.clientId,redirect_uri:b,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod,...a.extraParams,state:c}).map(([a,b])=>`${a}=${encodeURIComponent(b)}`).join("&");return`${a.authorizeUrl}?${e}`},exchangeToken:async(a,b,c,d)=>{let e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,code:b,redirect_uri:c,code_verifier:d})});if(!e.ok){let a=await e.text();throw Error(`Token exchange failed: ${a}`)}return await e.json()},mapTokens:a=>{let b=(0,e.YR)(a.id_token),c={accessToken:a.access_token,refreshToken:a.refresh_token,idToken:a.id_token,expiresIn:a.expires_in,lastRefreshAt:new Date().toISOString()},d=b.email||(0,e.J_)(a.access_token);return d&&(c.email=d),(b.chatgptAccountId||b.chatgptPlanType)&&(c.providerSpecificData={chatgptAccountId:b.chatgptAccountId,chatgptPlanType:b.chatgptPlanType}),c}};var i=c(55511),j=c.n(i),k=c(73159);let l=null;async function m(){if(l)return l;try{let a=await fetch(k.oT.discoveryUrl,{headers:{Accept:"application/json"}});if(a.ok){let b=await a.json();return l={authorizeUrl:(0,e.js)(b.authorization_endpoint,"authorization_endpoint"),tokenUrl:(0,e.js)(b.token_endpoint,"token_endpoint")}}}catch{}return l={authorizeUrl:k.oT.authorizeUrl,tokenUrl:k.oT.tokenUrl}}let n={config:k.oT,flowType:"authorization_code_pkce",fixedPort:k.oT.loopbackPort,callbackPath:k.oT.callbackPath,pkceVerifierBytes:k.Ue,prepareConfig:async a=>{let b=await m();return{...a,authorizeUrl:b.authorizeUrl,tokenUrl:b.tokenUrl}},buildAuthUrl:(a,b,c,d)=>{let e=j().randomBytes(16).toString("hex"),f=Object.entries({response_type:"code",client_id:a.clientId,redirect_uri:b,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod,state:c,nonce:e,plan:"generic",referrer:"cli-proxy-api"}).map(([a,b])=>`${a}=${encodeURIComponent(b)}`).join("&");return`${a.authorizeUrl}?${f}`},exchangeToken:async(a,b,c,d)=>{let e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,code:b,redirect_uri:c,code_verifier:d})});if(!e.ok){let a=await e.text();throw Error(`xAI token exchange failed: ${a}`)}return await e.json()},mapTokens:a=>{let b={accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope},c=(0,e.pG)(a.id_token);return c&&(b.email=c),a.id_token&&(b.providerSpecificData={idToken:a.id_token}),b}};var o=c(13247);let p={config:f.qp,flowType:"device_code",requestDeviceCode:async a=>{let b=new URLSearchParams({client_id:a.clientId,scope:a.scope});a.referrer&&b.set("referrer",a.referrer);let c=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","User-Agent":o.hY},body:b});if(!c.ok){let a=await c.text();throw Error(`Grok CLI device code request failed: ${a}`)}return await c.json()},pollToken:async(a,b)=>{let c,d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","User-Agent":o.hY},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:b,client_id:a.clientId})});try{c=await d.json()}catch{c={error:"invalid_response",error_description:await d.text()}}let e=c?.error==="authorization_pending"||c?.error==="slow_down";return{ok:d.ok||e,data:c}},postExchange:async a=>{try{let b=await fetch("https://cli-chat-proxy.grok.com/v1/user",{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","User-Agent":o.hY,"x-xai-token-auth":"xai-grok-cli","x-grok-client-version":o.uG}});if(b.ok)return{user:await b.json()}}catch{}return{user:null}},mapTokens:(a,b)=>{let c=(0,e.pG)(a.id_token)||(0,e.J_)(a.access_token)||b?.user?.email||null,d=b?.user?.userId||b?.user?.principalId||null,f=[b?.user?.firstName,b?.user?.lastName].filter(Boolean).join(" ").trim()||null,g=a.expires_in?new Date(Date.now()+1e3*a.expires_in).toISOString():null;return{accessToken:a.access_token,refreshToken:a.refresh_token||null,expiresIn:a.expires_in,expiresAt:g,scope:a.scope,email:c||void 0,displayName:f||void 0,providerSpecificData:{authMethod:"device_code",idToken:a.id_token||null,email:c||null,userId:d,hasGrokCodeAccess:b?.user?.hasGrokCodeAccess??null,subscriptionTier:b?.user?.subscriptionTier??null}}}},q="1.0.0",r={config:f.sA,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","x-api-version":q},body:new URLSearchParams({client_id:a.clientId})});if(!b.ok){let a=await b.text();throw Error(`Muse Code device code request failed: ${a}`)}return await b.json()},pollToken:async(a,b)=>{let c,d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","x-api-version":q},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:b,client_id:a.clientId})});try{c=await d.json()}catch{c={error:"invalid_response",error_description:await d.text()}}let e=c?.error==="authorization_pending"||c?.error==="slow_down";return{ok:d.ok||e,data:c}},postExchange:async a=>{let b,c;for(let c=0;(429===(b=await fetch("https://api.meta.ai/muse-code/key",{method:"POST",headers:{Accept:"application/json",Authorization:`Bearer ${a.access_token}`,"Content-Type":"application/json","x-api-version":q},body:JSON.stringify({onboard:!0}),redirect:"error"})).status||b.status>=500)&&!(c>=2);c++)await new Promise(a=>setTimeout(a,5e3*(c+1)));let d=await b.text();if(!b.ok){let a=`${b.status} ${d.slice(0,200)}`;try{let b=JSON.parse(d);(b?.title||b?.detail)&&(a=[b.title,b.detail].filter(Boolean).join(": "),b.action_url&&(a+=` — ${b.action_url}`))}catch{}throw Error(`Muse Code key mint failed: ${a}`)}try{c=JSON.parse(d)}catch{throw Error("Muse Code key mint returned invalid JSON")}if(!1===c.is_subs_active)throw Error("Muse Code subscription is inactive — activate it on muse.ai first");let e=c.action_url||c.require_payment_action_url;if(!c.api_key&&(c.require_payment||e))throw Error(`Muse Code subscription required${e?`: ${e}`:""}`);if(!c.api_key)throw Error("Muse Code key response is missing api_key");return{key:c}},mapTokens:(a,b)=>{let c=b?.key||{};return{accessToken:c.api_key,refreshToken:null,expiresIn:null,email:c.user_email?.trim().toLowerCase()||void 0,providerSpecificData:{authMethod:"device_code",oauthAccessToken:a.access_token,subscriptionTier:c.subs_tier_name||null}}}},s={config:f.LT,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),state:c,access_type:"offline",prompt:"consent"});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,client_secret:a.clientSecret,code:b,redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Token exchange failed: ${a}`)}return await d.json()},postExchange:async a=>{let b=await fetch(`${f.LT.userInfoUrl}?alt=json`,{headers:{Authorization:`Bearer ${a.access_token}`}}),c=b.ok?await b.json():{},d="";try{let b=await fetch("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${a.access_token}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:(0,f.cD)(),mode:1})});if(b.ok){let a=await b.json();d=a.cloudaicompanionProject?.id||a.cloudaicompanionProject||""}}catch(a){console.log("Failed to fetch project ID:",a)}return{userInfo:c,projectId:d}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,email:b?.userInfo?.email,projectId:b?.projectId})},t={config:f.YT,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),state:c,access_type:"offline",prompt:"consent"});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,client_secret:a.clientSecret,code:b,redirect_uri:c}),signal:AbortSignal.timeout(1e4)});if(!d.ok){let a=await d.text();throw Error(`Token exchange failed: ${a}`)}return await d.json()},postExchange:async a=>{let b={Authorization:`Bearer ${a.access_token}`,"Content-Type":"application/json","User-Agent":f.YT.loadCodeAssistUserAgent,"x-request-source":"local"},c=(0,f.cD)(),d={};try{let b=await fetch(`${f.YT.userInfoUrl}?alt=json`,{headers:{Authorization:`Bearer ${a.access_token}`,"x-request-source":"local"},signal:AbortSignal.timeout(5e3)});b.ok&&(d=await b.json())}catch(a){console.log("Failed to fetch user info:",a)}let e="",g="legacy-tier";try{let a=await fetch(f.YT.loadCodeAssistEndpoint,{method:"POST",headers:b,body:JSON.stringify({metadata:c}),signal:AbortSignal.timeout(5e3)});if(a.ok){let b=await a.json();if(e=b.cloudaicompanionProject?.id||b.cloudaicompanionProject||"",Array.isArray(b.allowedTiers)){for(let a of b.allowedTiers)if(a.isDefault&&a.id){g=a.id.trim();break}}}}catch(a){console.log("Failed to load code assist:",a)}return e&&(async()=>{for(let a=0;a<10;a++){try{let a=await fetch(f.YT.onboardUserEndpoint,{method:"POST",headers:b,body:JSON.stringify({tierId:g,metadata:c})});if(a.ok){let b=await a.json();if(!0===b.done)break}}catch(a){break}await new Promise(a=>setTimeout(a,5e3))}})().catch(()=>{}),{userInfo:d,projectId:e}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,email:b?.userInfo?.email,projectId:b?.projectId})},u={config:f.ZL,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({loginMethod:a.extraParams.loginMethod,type:a.extraParams.type,redirect:b,state:c,client_id:a.clientId});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=Buffer.from(`${a.clientId}:${a.clientSecret}`).toString("base64"),e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${d}`},body:new URLSearchParams({grant_type:"authorization_code",code:b,redirect_uri:c,client_id:a.clientId,client_secret:a.clientSecret})});if(!e.ok){let a=await e.text();throw Error(`Token exchange failed: ${a}`)}return await e.json()},postExchange:async a=>{let b=await fetch(`${f.ZL.userInfoUrl}?accessToken=${encodeURIComponent(a.access_token)}`,{headers:{Accept:"application/json"}});if(!b.ok){let a=await b.text();throw Error(`Failed to fetch user info: ${a}`)}let c=await b.json();if(!c.success)throw Error(`User info request failed: ${c.message||"Unknown error"}`);let d=c.data||{};if(!d.apiKey||""===d.apiKey.trim())throw Error("Empty API key returned from iFlow");if(!(d.email?.trim()||d.phone?.trim()))throw Error("Missing account email/phone in user info");return{userInfo:d}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,apiKey:b?.userInfo?.apiKey,email:b?.userInfo?.email||b?.userInfo?.phone,displayName:b?.userInfo?.nickname||b?.userInfo?.name})};function v(a){return{config:a,flowType:"device_code",requestDeviceCode:async a=>{let{QoderService:b}=await c.e(3912).then(c.bind(c,91531)),d=await new b(a).initiateDeviceFlow();return{device_code:d.nonce,user_code:d.nonce.slice(0,8).toUpperCase(),verification_uri:a.loginUrl,verification_uri_complete:d.verificationUriComplete,expires_in:300,interval:2,codeVerifier:d.codeVerifier,_qoderNonce:d.nonce,_qoderMachineId:d.machineId,_qoderMachineToken:d.machineToken}},pollToken:async(a,b,d,e)=>{let f,{QoderService:g}=await c.e(3912).then(c.bind(c,91531)),h=new g(a),i=b||e?._qoderNonce,j=d||e?._qoderVerifier;if(!i||!j)return{ok:!1,data:{error:"invalid_request",error_description:"Missing nonce/verifier"}};try{f=await h.pollDeviceToken({nonce:i,codeVerifier:j})}catch(a){return{ok:!1,data:{error:"poll_failed",error_description:a.message}}}if("pending"===f.status)return{ok:!1,data:{error:"authorization_pending"}};let k=await h.fetchUserInfo(f.accessToken),l=Math.max(86400,Math.floor((f.expireTime-Date.now())/1e3));return{ok:!0,data:{access_token:f.accessToken,refresh_token:f.refreshToken,expires_in:l,_qoderUserId:f.userId,_qoderMachineId:e?._qoderMachineId||"",_qoderMachineToken:e?._qoderMachineToken||e?._qoderMachineId||"",_qoderName:k.name,_qoderEmail:k.email,_qoderOrganizationId:k.organizationId}}},mapTokens:a=>{let b=(a._qoderEmail||"").trim(),c=(a._qoderName||"").trim()||null,d=a._qoderUserId||"",e=b||(d?`qoder-user-${d}`:null);return{accessToken:a.access_token,refreshToken:a.refresh_token||null,expiresIn:a.expires_in,email:e,displayName:c,providerSpecificData:{authMethod:"device",userId:d,machineId:a._qoderMachineId||"",machineToken:a._qoderMachineToken||a._qoderMachineId||"",organizationId:a._qoderOrganizationId||""}}}}}let w=v(f.hF),x=v(f.t3),y={config:f.Nu,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,scope:a.scopes})});if(!b.ok){let a=await b.text();throw Error(`Device code request failed: ${a}`)}return await b.json()},pollToken:async(a,b)=>{let c,d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,device_code:b,grant_type:"urn:ietf:params:oauth:grant-type:device_code"})});try{c=await d.json()}catch(a){c={error:"invalid_response",error_description:await d.text()}}return{ok:d.ok,data:c}},postExchange:async a=>{let b=await fetch(f.Nu.copilotTokenUrl,{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","X-GitHub-Api-Version":f.Nu.apiVersion,"User-Agent":f.Nu.userAgent}}),c=b.ok?await b.json():{},d=await fetch(f.Nu.userInfoUrl,{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","X-GitHub-Api-Version":f.Nu.apiVersion,"User-Agent":f.Nu.userAgent}});return{copilotToken:c,userInfo:d.ok?await d.json():{}}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,name:b?.userInfo?.login||b?.userInfo?.name,displayName:b?.userInfo?.name||b?.userInfo?.login,email:b?.userInfo?.email||null,providerSpecificData:{copilotToken:b?.copilotToken?.token,copilotTokenExpiresAt:b?.copilotToken?.expires_at,githubUserId:b?.userInfo?.id,githubLogin:b?.userInfo?.login,githubName:b?.userInfo?.name,githubEmail:b?.userInfo?.email}})},z={config:f.Tx,flowType:"device_code",requestDeviceCode:async(a,b,c={})=>{let d=("string"==typeof c.region?c.region.trim():"")||"us-east-1";(0,f.S6)(d);let e=("string"==typeof c.startUrl?c.startUrl.trim():"")||a.startUrl,g="idc"===c.authMethod?"idc":"builder-id",h=`https://oidc.${d}.amazonaws.com/client/register`,i=`https://oidc.${d}.amazonaws.com/device_authorization`,j=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientName:a.clientName,clientType:a.clientType,scopes:a.scopes,grantTypes:a.grantTypes,issuerUrl:a.issuerUrl})});if(!j.ok){let a=await j.text();throw Error(`Client registration failed: ${a}`)}let k=await j.json(),l=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:k.clientId,clientSecret:k.clientSecret,startUrl:e})});if(!l.ok){let a=await l.text();throw Error(`Device authorization failed: ${a}`)}let m=await l.json();return{device_code:m.deviceCode,user_code:m.userCode,verification_uri:m.verificationUri,verification_uri_complete:m.verificationUriComplete,expires_in:m.expiresIn,interval:m.interval||5,_clientId:k.clientId,_clientSecret:k.clientSecret,_region:d,_authMethod:g,_startUrl:e}},pollToken:async(a,b,c,d)=>{let e,g=d?._region||"us-east-1";(0,f.S6)(g);let h=`https://oidc.${g}.amazonaws.com/token`,i=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:d?._clientId,clientSecret:d?._clientSecret,deviceCode:b,grantType:"urn:ietf:params:oauth:grant-type:device_code"})});try{e=await i.json()}catch(a){e={error:"invalid_response",error_description:await i.text()}}return e.accessToken?{ok:!0,data:{access_token:e.accessToken,refresh_token:e.refreshToken,expires_in:e.expiresIn,profile_arn:e?.profileArn||null,_clientId:d?._clientId,_clientSecret:d?._clientSecret,_region:d?._region,_authMethod:d?._authMethod,_startUrl:d?._startUrl}}:{ok:!1,data:{error:e.error||"authorization_pending",error_description:e.error_description||e.message}}},mapTokens:a=>{let b=(0,e.J_)(a.access_token);return{accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,email:b,providerSpecificData:{profileArn:a?.profile_arn||null,clientId:a._clientId,clientSecret:a._clientSecret,region:a._region||"us-east-1",authMethod:a._authMethod||"builder-id",startUrl:a._startUrl||f.Tx.startUrl}}}},A={config:f.WN,flowType:"import_token",mapTokens:a=>({accessToken:a.accessToken,refreshToken:null,expiresIn:a.expiresIn||86400,providerSpecificData:{machineId:a.machineId,authMethod:"imported"}})},B={config:f.aV,flowType:"device_code",requestDeviceCode:async a=>{let{buildKimiHeaders:b}=await Promise.resolve().then(c.bind(c,28730)),d=j().randomUUID(),e={"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",...b(d)},f=await fetch(a.deviceCodeUrl,{method:"POST",headers:e,body:new URLSearchParams({client_id:a.clientId})});if(!f.ok){let a=await f.text();throw Error(`Device code request failed: ${a}`)}let g=await f.json(),h=a.authorizeDeviceUrl||"https://www.kimi.com/code/authorize_device";return{device_code:g.device_code,user_code:g.user_code,verification_uri:g.verification_uri||h,verification_uri_complete:g.verification_uri_complete||`${h}?user_code=${g.user_code}`,expires_in:g.expires_in,interval:g.interval||5,_kimiDeviceId:d}},pollToken:async(a,b,d,e)=>{let f,{buildKimiHeaders:g}=await Promise.resolve().then(c.bind(c,28730)),h=e?._kimiDeviceId,i={"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",...g(h)},j=await fetch(a.tokenUrl,{method:"POST",headers:i,body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",client_id:a.clientId,device_code:b})});try{f=await j.json()}catch{f={error:"invalid_response",error_description:"non-json token response"}}return"authorization_pending"===f.error||"slow_down"===f.error?{ok:!0,data:f}:(f.access_token&&h&&(f._kimiDeviceId=h),{ok:j.ok||!!f.access_token||!!f.error,data:f})},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,providerSpecificData:{authMethod:"device_code",...a._kimiDeviceId?{deviceId:a._kimiDeviceId}:{}}})},C={config:f.MZ,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.initiateUrl,{method:"POST",headers:{"Content-Type":"application/json"}});if(!b.ok){if(429===b.status)throw Error("Too many pending authorization requests. Please try again later.");let a=await b.text();throw Error(`Device auth initiation failed: ${a}`)}let c=await b.json();return{device_code:c.code,user_code:c.code,verification_uri:c.verificationUrl,verification_uri_complete:c.verificationUrl,expires_in:c.expiresIn||300,interval:3}},pollToken:async(a,b)=>{let c=await fetch(`${a.pollUrlBase}/${b}`);if(202===c.status)return{ok:!1,data:{error:"authorization_pending"}};if(403===c.status)return{ok:!1,data:{error:"access_denied",error_description:"Authorization denied by user"}};if(410===c.status)return{ok:!1,data:{error:"expired_token",error_description:"Authorization code expired"}};if(!c.ok)return{ok:!1,data:{error:"poll_failed",error_description:`Poll failed: ${c.status}`}};let d=await c.json();if("approved"===d.status&&d.token){let b=null;try{let c=await fetch(`${a.apiBaseUrl}/api/profile`,{headers:{Authorization:`Bearer ${d.token}`}});if(c.ok){let a=await c.json();b=a.organizations?.[0]?.id||null}}catch{}return{ok:!0,data:{access_token:d.token,_userEmail:d.userEmail,_orgId:b}}}return{ok:!1,data:{error:"authorization_pending"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:null,expiresIn:null,email:a._userEmail,...a._orgId?{providerSpecificData:{orgId:a._orgId}}:{}})},D={config:f.lB,flowType:"authorization_code",buildAuthUrl:(a,b)=>{let c=new URLSearchParams({client_type:"extension",callback_url:b,redirect_uri:b});return`${a.authorizeUrl}?${c.toString()}`},exchangeToken:async(a,b,c)=>{try{let a=b,c=4-a.length%4;4!==c&&(a+="=".repeat(c));let d=Buffer.from(a,"base64").toString("utf-8"),e=d.lastIndexOf("}");if(-1===e)throw Error("No JSON found in decoded code");let f=JSON.parse(d.substring(0,e+1));return{access_token:f.accessToken,refresh_token:f.refreshToken,email:f.email,firstName:f.firstName,lastName:f.lastName,expires_at:f.expiresAt}}catch(f){let d=await fetch(a.tokenExchangeUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"authorization_code",code:b,client_type:"extension",redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Cline token exchange failed: ${a}`)}let e=await d.json();return{access_token:e.data?.accessToken||e.accessToken,refresh_token:e.data?.refreshToken||e.refreshToken,email:e.data?.userInfo?.email||"",expires_at:e.data?.expiresAt||e.expiresAt}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_at?Math.floor((new Date(a.expires_at).getTime()-Date.now())/1e3):3600,email:a.email,providerSpecificData:{firstName:a.firstName,lastName:a.lastName}})},E={config:f.w1,flowType:"authorization_code",buildAuthUrl:(a,b)=>{let c=new URLSearchParams({client_type:"extension",callback_url:b,redirect_uri:b});return`${a.authorizeUrl}?${c.toString()}`},exchangeToken:async(a,b,c)=>{try{let a=b,c=4-a.length%4;4!==c&&(a+="=".repeat(c));let d=Buffer.from(a,"base64").toString("utf-8"),e=d.lastIndexOf("}");if(-1===e)throw Error("No JSON found in decoded code");let f=JSON.parse(d.substring(0,e+1));return{access_token:f.accessToken,refresh_token:f.refreshToken,email:f.email,firstName:f.firstName,lastName:f.lastName,expires_at:f.expiresAt}}catch(f){let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"authorization_code",code:b,client_type:"extension",redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`ClinePass token exchange failed: ${a}`)}let e=await d.json();return{access_token:e.data?.accessToken||e.accessToken,refresh_token:e.data?.refreshToken||e.refreshToken,email:e.data?.userInfo?.email||"",expires_at:e.data?.expiresAt||e.expiresAt}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_at?Math.floor((new Date(a.expires_at).getTime()-Date.now())/1e3):3600,email:a.email,providerSpecificData:{firstName:a.firstName,lastName:a.lastName}})},F={config:f.f7,flowType:"authorization_code_pkce",buildAuthUrl:(a,b,c,d,e={})=>{let f=e.baseUrl||a.defaultBaseUrl,g=new URLSearchParams({client_id:e.clientId||"",redirect_uri:b,response_type:"code",state:c,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod});return`${f}${a.authorizeUrlPath}?${g.toString()}`},exchangeToken:async(a,b,c,d,e,f={})=>{let g=f.baseUrl||a.defaultBaseUrl,h=f.clientId||"",i=f.clientSecret||"",j=new URLSearchParams({client_id:h,grant_type:"authorization_code",code:b,redirect_uri:c,code_verifier:d});i&&j.set("client_secret",i);let k=await fetch(`${g}${a.tokenUrlPath}`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:j.toString()});if(!k.ok)throw Error(`GitLab token exchange failed: ${await k.text()}`);let l=await k.json(),m=await fetch(`${g}${a.userInfoUrlPath}`,{headers:{Authorization:`Bearer ${l.access_token}`}}),n=m.ok?await m.json():{};return{...l,_user:n,_baseUrl:g,_clientId:h}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,providerSpecificData:{username:a._user?.username||"",email:a._user?.email||a._user?.public_email||"",name:a._user?.name||"",baseUrl:a._baseUrl,clientId:a._clientId,authKind:"oauth"}})},G={config:f.Nl,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(`${a.stateUrl}?platform=${a.platform}`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-No-Authorization":"true","X-No-User-Id":"true","X-Product":"SaaS"},body:"{}"});if(!b.ok)throw Error(`CodeBuddy state request failed: ${await b.text()}`);let c=await b.json();if(0!==c.code||!c.data?.state||!c.data?.authUrl)throw Error(`CodeBuddy state error: ${c.msg||"missing state/authUrl"}`);return{device_code:c.data.state,verification_uri:c.data.authUrl,user_code:"",interval:a.pollInterval/1e3,_isCodeBuddy:!0}},pollToken:async(a,b)=>{let c=await fetch(`${a.tokenUrl}?state=${encodeURIComponent(b)}`,{method:"GET",headers:{Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-No-Authorization":"true","X-No-User-Id":"true","X-No-Enterprise-Id":"true","X-No-Department-Info":"true","X-Product":"SaaS"}});if(!c.ok)return{ok:!1,data:{error:"request_failed"}};let d=await c.json();return 0===d.code&&d.data?.accessToken?{ok:!0,data:{access_token:d.data.accessToken,refresh_token:d.data.refreshToken||"",token_type:d.data.tokenType||"Bearer",expires_in:d.data.expiresIn}}:11217===d.code?{ok:!0,data:{error:"authorization_pending"}}:{ok:!1,data:{error:d.msg||"unknown_error"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in||86400,providerSpecificData:{}})},H={config:f.DV,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(`${a.stateUrl}?platform=${a.platform}`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"www.codebuddy.ai","X-No-Authorization":"true","X-No-User-Id":"true","X-Product":"SaaS"},body:"{}"});if(!b.ok)throw Error(`CodeBuddy Intl state request failed: ${await b.text()}`);let c=await b.json();if(0!==c.code||!c.data?.state||!c.data?.authUrl)throw Error(`CodeBuddy Intl state error: ${c.msg||"missing state/authUrl"}`);return{device_code:c.data.state,verification_uri:c.data.authUrl,user_code:"",interval:a.pollInterval/1e3,_isCodeBuddy:!0}},pollToken:async(a,b)=>{let c=await fetch(`${a.tokenUrl}?state=${encodeURIComponent(b)}`,{method:"GET",headers:{Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"www.codebuddy.ai","X-No-Authorization":"true","X-No-User-Id":"true","X-No-Enterprise-Id":"true","X-No-Department-Info":"true","X-Product":"SaaS"}});if(!c.ok)return{ok:!1,data:{error:"request_failed"}};let d=await c.json();return 0===d.code&&d.data?.accessToken?{ok:!0,data:{access_token:d.data.accessToken,refresh_token:d.data.refreshToken||"",token_type:d.data.tokenType||"Bearer",expires_in:d.data.expiresIn}}:11217===d.code?{ok:!0,data:{error:"authorization_pending"}}:{ok:!1,data:{error:d.msg||"unknown_error"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in||86400,providerSpecificData:{}})},I={config:f.Td,flowType:"browser_token",buildAuthUrl:(a,b,c)=>{let d=(a.webAppUrl||"https://app.kimchi.dev").replace(/\/+$/,""),e=new URLSearchParams({callback:b,state:c});return`${d}/cli-auth?${e.toString()}`},exchangeToken:async(a,b)=>{let c=String(b||"").trim();if(!c)throw Error("Missing Kimchi token");let d=a.validationUrl||"https://api.cast.ai/v1/llm/openai/supported-providers",e=await fetch(d,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${c}`}});if(!e.ok)throw Error(`Kimchi token validation failed: ${e.status}`);let f={};if(a.userInfoUrl)try{let b=await fetch(a.userInfoUrl,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${c}`}});b.ok&&(f=await b.json())}catch{f={}}return{access_token:c,token_type:"Bearer",_kimchiUser:f}},mapTokens:a=>{let b=a._kimchiUser||{},c=b.id?String(b.id):"",d=b.username||"",e=b.email||(c?`kimchi-user-${c}`:null);return{accessToken:a.access_token,refreshToken:null,email:e,displayName:b.name||d||null,providerSpecificData:{authMethod:"browser_token",userId:c,username:d}}}};function J(a,b){for(let c of b){let b=a;for(let a of c){if(null==b||"object"!=typeof b){b=void 0;break}b=b[a]}if("string"==typeof b&&b.trim())return b.trim();if("number"==typeof b)return String(b)}return null}async function K(a){let b=JSON.stringify({loginTraceID:a,login_trace_id:a}),c="no successful response";for(let a of f.SK.loginGuidanceUrls)try{let d=await fetch(a,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","User-Agent":f.SK.userAgent},body:b});if(!d.ok){c=`${a} HTTP ${d.status}`;continue}let e=await d.json(),g=J(e,[["Result","LoginHost"],["Result","loginHost"],["Result","LoginURL"],["result","loginHost"],["data","Result","LoginHost"],["data","loginHost"],["LoginHost"],["loginHost"]]);if(g)return g;c=`${a} missing LoginHost`}catch(b){c=`${a} ${b.message}`}throw Error(`Trae GetLoginGuidance failed: ${c}`)}function L(){return[...f.SK.apiOrigins]}async function M(a,b){let c=JSON.stringify({ClientID:f.SK.clientId,RefreshToken:a,ClientSecret:f.SK.clientSecret,UserID:""}),d="no successful response";for(let e of L()){let g=`${e.replace(/\/$/,"")}${f.SK.exchangeTokenPath}`;try{let e,h={Accept:"application/json","Content-Type":"application/json","User-Agent":f.SK.userAgent};b&&(h["x-cloudide-token"]=b);let i=await fetch(g,{method:"POST",headers:h,body:c}),j=await i.text();if(!i.ok){d=`${g} HTTP ${i.status}`;continue}try{e=JSON.parse(j)}catch{d=`${g} invalid JSON`;continue}let k=J(e,[["Result","AccessToken"],["Result","accessToken"],["result","access_token"],["accessToken"]]);if(!k){let a=J(e,[["message"],["msg"],["error"],["Result","Message"]])||"missing AccessToken";d=`${g} ${a}`;continue}return{accessToken:k,refreshToken:J(e,[["Result","RefreshToken"],["result","refresh_token"],["refreshToken"]])||a,expiresIn:null,expiresAt:J(e,[["Result","ExpiresAt"],["Result","expiresAt"],["result","expires_at"],["expiresAt"]])}}catch(a){d=`${g} ${a.message}`}}throw Error(`Trae ExchangeToken failed: ${d}`)}async function N(a){for(let b of L()){let c=`${b.replace(/\/$/,"")}${f.SK.getUserInfoPath}`;try{let b=await fetch(c,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","User-Agent":f.SK.userAgent,"x-cloudide-token":a},body:JSON.stringify({})});if(!b.ok)continue;let d=await b.json();return{email:J(d,[["Result","NonPlainTextEmail"],["Result","Email"],["Result","email"],["email"],["data","email"]]),name:J(d,[["Result","ScreenName"],["Result","Nickname"],["Result","Name"],["result","nickname"],["nickname"],["name"]]),aiRegion:J(d,[["Result","AIRegion"],["Result","aiRegion"],["aiRegion"]]),region:J(d,[["Result","Region"],["Result","region"],["region"]]),tenant:J(d,[["Result","TenantID"],["Result","tenantId"],["tenantId"]]),userId:J(d,[["Result","UserID"],["Result","userId"],["userId"]])}}catch{}}return{email:null,name:null}}let O={config:f.SK,flowType:"authorization_code",callbackPath:f.SK.callbackPath,prepareConfig:async a=>{let b=j().randomUUID(),c=await K(b);return{...a,loginTraceID:b,loginHost:c}},buildAuthUrl:(a,b,c)=>{var d;let e,g,h={plugin_version:f.SK.defaultPluginVersion,machine_id:j().randomUUID(),device_id:f.SK.defaultDeviceId,x_device_brand:"unknown",x_device_type:"unknown",x_os_version:"unknown",x_env:"",x_app_version:f.SK.defaultAppVersion,x_app_type:f.SK.defaultAppType},i=a.loginTraceID||c;return d=a.loginHost,(e=new URL(d.startsWith("http")?d:`https://${d.replace(/^\/+/,"")}`)).pathname=f.SK.authorizationPath,(g=new URLSearchParams).set("login_version","1"),g.set("auth_from","trae"),g.set("login_channel","native_ide"),g.set("plugin_version",h.plugin_version),g.set("auth_type","local"),g.set("client_id",f.SK.clientId),g.set("redirect","0"),g.set("login_trace_id",i),g.set("auth_callback_url",b),g.set("machine_id",h.machine_id),g.set("device_id",h.device_id),g.set("x_device_id",h.device_id),g.set("x_machine_id",h.machine_id),g.set("x_device_brand",h.x_device_brand),g.set("x_device_type",h.x_device_type),g.set("x_os_version",h.x_os_version),g.set("x_env",h.x_env),g.set("x_app_version",h.x_app_version),g.set("x_app_type",h.x_app_type),e.search=g.toString(),e.toString()},exchangeToken:async(a,b)=>{let c=String(b||"").trim();if(!(/[?=&]/.test(c)&&(c.includes("refreshToken")||c.includes("refresh_token"))))return{accessToken:c.replace(/^(Cloud-IDE-JWT|Bearer)\s+/i,""),refreshToken:null,expiresIn:24*f.SK.tokenLifetimeDays*3600,_authMethod:"imported"};let{refreshToken:d,cloudideToken:e}=function(a){let b=String(a||"").trim(),c=b;b.includes("?")&&(c=b.slice(b.indexOf("?")+1)),b.startsWith("#")&&(c=b.slice(1));let d=Object.fromEntries(new URLSearchParams(c)),e=a=>{for(let b of a){let a=d[b];if(a&&String(a).trim())return String(a).trim()}return null},f=e(["error","error_code","errorCode"]);if(f){let a=e(["error_description","error_desc","message"]);throw Error(a?`Trae auth failed: ${f} (${a})`:`Trae auth failed: ${f}`)}let g=e(["refreshToken","refresh_token","RefreshToken"]);if(!g)throw Error("Trae callback missing refreshToken");let h=e(["loginHost","login_host","LoginHost","host","consoleHost"]);if(!h)throw Error("Trae callback missing loginHost");return{refreshToken:g,loginHost:h,cloudideToken:e(["x-cloudide-token","xCloudideToken","accessToken","access_token","token"])}}(c);return{...await M(d,e),_authMethod:"oauth"}},postExchange:async a=>({userInfo:await N(a.accessToken)}),mapTokens:(a,b)=>{let c,d=a.expiresIn||(a.expiresAt?Math.max(60,Number(a.expiresAt)-Math.floor(Date.now()/1e3)):24*f.SK.tokenLifetimeDays*3600),e=b?.userInfo||{},g=e.aiRegion||"US-East";return{accessToken:a.accessToken,refreshToken:a.refreshToken,expiresIn:d,email:e.email||void 0,displayName:e.name||void 0,providerSpecificData:{authMethod:a._authMethod||"oauth",aiRegion:g,region:e.region||g,tenant:e.tenant||"marscode",userId:e.userId||"",scope:"sg"===(c=(g||"").toLowerCase())||c.includes("singapore")?"marscode-sg":"cn"===c||c.includes("cn")||c.includes("china")?"marscode-cn":"marscode-us",webId:"",bizUserId:"",userUniqueId:"",appLanguage:"en",appVersion:f.SK.defaultAppVersion,userRegion:"SG"===g?"SG":"US",userIdentity:"Free"}}}};async function P(a,b,c){let d=`${a.replace(/\/$/,"")}${b}`,e=await fetch(d,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","User-Agent":f.eD.userAgent},body:JSON.stringify(c)}),g=await e.text();if(!e.ok)throw Error(`Windsurf ${b} HTTP ${e.status}: ${g.slice(0,200)}`);try{return JSON.parse(g)}catch{throw Error(`Windsurf ${b} invalid JSON`)}}async function Q(a){let b=await P(f.eD.registerApiBaseUrl,f.eD.registerPath,{firebase_id_token:a}),c=J(b,[["apiKey"],["api_key"]]);if(!c)throw Error("Windsurf RegisterUser missing apiKey");return{apiKey:c,apiServerUrl:J(b,[["apiServerUrl"],["api_server_url"]])||f.eD.defaultApiServerUrl,name:J(b,[["name"]])}}async function R(a,b){try{let c=await P(a,f.eD.oneTimeAuthPath,{firebaseIdToken:b}),d=J(c,[["authToken"],["auth_token"]]);if(!d)return{email:null,name:null};let e=await P(a,f.eD.currentUserPath,{authToken:d,includeSubscription:!0}),g=e.user||e;return{email:J(g,[["email"]]),name:J(g,[["name"]])}}catch{return{email:null,name:null}}}let S={config:f.eD,flowType:"authorization_code",callbackPath:f.eD.callbackPath,buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({response_type:"token",client_id:a.clientId,redirect_uri:b,state:c,prompt:"login",redirect_parameters_type:"query",workflow:"onboarding"});return`${a.authBaseUrl}${a.signInPath}?${d.toString()}`},exchangeToken:async(a,b,c,d,e)=>{let f=String(b||"").trim();if(!(f.includes("?")||f.includes("access_token="))){let b=f.replace(/^Bearer\s+/i,"");if(b.startsWith("sk-ws-"))return{accessToken:b,refreshToken:null,expiresIn:null,apiServerUrl:a.defaultApiServerUrl,firebaseIdToken:null,_authMethod:"imported"};let c=await Q(b);return{accessToken:c.apiKey,refreshToken:null,expiresIn:null,apiServerUrl:c.apiServerUrl,firebaseIdToken:b,_authMethod:"imported"}}let{firebaseIdToken:g}=function(a,b){let c=String(a||"").trim(),d=c;c.includes("?")&&(d=c.slice(c.indexOf("?")+1)),c.startsWith("#")&&(d=c.slice(1));let e=Object.fromEntries(new URLSearchParams(d)),f=a=>{for(let b of a){let a=e[b];if(a&&String(a).trim())return String(a).trim()}return null},g=f(["error"]);if(g){let a=f(["error_description"]);throw Error(a?`Windsurf auth failed: ${g} (${a})`:`Windsurf auth failed: ${g}`)}let h=f(["access_token","token"]);if(!h)throw Error("Windsurf callback missing access_token");let i=f(["state"]);if(b&&i&&i!==b)throw Error("Windsurf callback state mismatch");return{firebaseIdToken:h}}(f,e),h=await Q(g);return{accessToken:h.apiKey,refreshToken:null,expiresIn:null,apiServerUrl:h.apiServerUrl,firebaseIdToken:g,_authMethod:"oauth"}},postExchange:async a=>a.firebaseIdToken?{userInfo:await R(a.apiServerUrl,a.firebaseIdToken)}:{userInfo:{email:null,name:null}},mapTokens:(a,b)=>({accessToken:a.accessToken,refreshToken:null,expiresIn:null,email:b?.userInfo?.email||void 0,displayName:b?.userInfo?.name||void 0,providerSpecificData:{authMethod:a._authMethod||"oauth",apiServerUrl:a.apiServerUrl,firebaseIdToken:a.firebaseIdToken}})};var T=c(49934);async function U(a,b){let c=await V(a,b),d={Authorization:`Bearer ${c}`,"Content-Type":"application/json"},e=function(a){let b=(Array.isArray(a?.organizations)?a.organizations:[]).map(a=>({organization:a,projects:(a?.projects||[]).filter(a=>"2"!==String(a?.projectType??"").trim())})).filter(({organization:a,projects:b})=>!!(a?.organizationId&&b.length));if(!b.length)return null;let c=b.find(({organization:a})=>X(a.organizationName))||b[0],d=c.projects.find(a=>X(a?.projectName))||c.projects[0];return c.organization?.organizationId&&d?.projectId?{organizationId:c.organization.organizationId,projectId:d.projectId}:null}(await W(`${a.apiBaseUrl}/api/biz/customer/getCustomerInfo`,{headers:d},"customer info"));if(!e)throw Error("Unable to resolve Z.ai organization and project for the coding plan");let f=`${a.apiBaseUrl}/api/biz/v1/organization/${e.organizationId}/projects/${e.projectId}/api_keys`,g=await W(f,{headers:d},"api keys")||[],h=Array.isArray(g)?g.find(b=>b?.name===a.planApiKeyName):null;h||(h=await W(f,{method:"POST",headers:d,body:JSON.stringify({name:a.planApiKeyName})},"api key create"));let i=h?.apiKey?.trim();if(!i)throw Error("Z.ai api_keys response is missing apiKey");let j=await W(`${f}/copy/${encodeURIComponent(i)}`,{headers:d},"api key copy"),k=j?.secretKey?.trim();if(!k)throw Error("Z.ai api key copy response is missing secretKey");return{planApiKey:`${i}.${k}`,businessToken:c}}async function V(a,b){let c=await W(a.businessLoginUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:b})},"Z.ai business login"),d=c?.access_token?.trim()||c?.accessToken?.trim();if(!d)throw Error("Z.ai business login response is missing access_token");return d}async function W(a,b,c){let d,e=await fetch(a,b),f=await e.text();if(!e.ok)throw Error(`Z.ai ${c} request failed (HTTP ${e.status}): ${f.slice(0,200)}`);try{d=JSON.parse(f)}catch{throw Error(`Z.ai ${c} response is not valid JSON`)}if(!Y(d?.code)||d?.success===!1)throw Error(d?.msg||`Z.ai ${c} returned business error ${d?.code}`);return d?.data??d??null}function X(a){let b=String(a||"").trim().toLowerCase();return b.includes("默认机构")||b.includes("默认项目")||"default"===b}function Y(a){return null==a||0===a||200===a||"0"===a||"200"===a}let Z={claude:g,codex:h,xai:n,"grok-cli":p,muse:r,"gemini-cli":s,antigravity:t,iflow:u,qoder:w,"qoder-cn":x,github:y,kiro:z,cursor:A,kimi:B,kilocode:C,cline:D,clinepass:E,gitlab:F,"codebuddy-cn":G,"codebuddy-intl":H,kimchi:I,trae:O,windsurf:S,zed:{config:f.RY,flowType:"authorization_code",callbackPath:"/",prepareConfig:async(a,b)=>{let c=Number(b?.nativeAppPort)||f.RY.defaultNativeAppPort,d=(0,T.le)(a,{nativeAppPort:c});return{...a,...d}},buildAuthUrl:(a,b,c)=>a.authUrl,exchangeToken:async(a,b,c,d,e,f)=>{let{userId:g,encryptedAccessToken:h}=(0,T.Q_)(b);return{accessToken:(0,T.Wc)(h,d),userId:g,systemId:f?.systemId||a.systemId}},postExchange:async a=>{let b={accessToken:a.accessToken,providerSpecificData:{userId:a.userId,systemId:a.systemId}},c=null;try{c=await (0,T.qJ)(b,{config:f.RY})}catch{}let d=(0,T.k9)(b,c);return{userInfo:c,organizationId:d,email:c?.email||null,name:c?.name||c?.display_name||null}},mapTokens:(a,b)=>({accessToken:a.accessToken,refreshToken:null,expiresIn:null,email:b?.email||void 0,displayName:b?.name||void 0,providerSpecificData:{authMethod:"oauth",userId:a.userId,systemId:a.systemId,organizationId:b?.organizationId||""}})},glm:{config:f._0,flowType:"device_code",requestDeviceCode:async a=>{let b=j().randomBytes(32).toString("hex"),c=await fetch(a.cliInitUrl,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({provider:a.providerId||"zai"})});if(!c.ok){let a=await c.text();throw Error(`ZCode OAuth init failed: ${a}`)}let d=await c.json();if(!Y(d.code)||!d.data)throw Error(d.msg||"ZCode OAuth init returned no data");let e=d.data;if(!e.flow_id||!e.authorize_url)throw Error("ZCode OAuth init response missing flow_id/authorize_url");return{device_code:e.flow_id,verification_uri:e.authorize_url,expires_in:function(a){let b=Number(a);if(!Number.isFinite(b)||b<=0)return null;let c=Math.floor(((b>1e12?b:1e3*b)-Date.now())/1e3);return c>0?c:null}(e.expires_at)??300,interval:e.poll_interval_sec||3,_zcodePollToken:b}},pollToken:async(a,b,c,d)=>{let e=d?._zcodePollToken;if(!e)return{ok:!0,data:{error:"access_denied",error_description:"Missing ZCode poll token — restart the login flow"}};let f=await fetch(`${a.cliPollUrl}/${encodeURIComponent(b)}`,{headers:{Authorization:`Bearer ${e}`}});if(!f.ok)return{ok:!0,data:{error:"access_denied",error_description:`ZCode poll failed (HTTP ${f.status})`}};let g=await f.json();if(!Y(g.code))return{ok:!0,data:{error:"access_denied",error_description:g.msg||"ZCode poll failed"}};let h=g.data||{};if("pending"===h.status)return{ok:!0,data:{error:"authorization_pending"}};if("failed"===h.status)return{ok:!0,data:{error:"access_denied",error_description:"ZCode authorization failed or was cancelled"}};if("ready"!==h.status)return{ok:!0,data:{error:"authorization_pending",error_description:`Unknown status: ${h.status}`}};let i=h[a.providerId]||h[h.providerId]||{},j=i.access_token||i.accessToken||h.accessToken||h.access_token;if(!j)return{ok:!0,data:{error:"access_denied",error_description:"ZCode poll response missing access token"}};let{planApiKey:k,businessToken:l}=await U(a,j);return{ok:!0,data:{access_token:k,_zcodeJwtToken:h.token||"",_zaiBusinessToken:l,_zaiRefreshToken:i.refresh_token||i.refreshToken||h.refresh_token||h.refreshToken||"",_zcodeUser:h.user||{}}}},mapTokens:a=>{let b=a._zcodeUser||{},c=b.name||b.email||null;return{accessToken:a.access_token,refreshToken:null,email:b.email||null,...c?{displayName:c}:{},providerSpecificData:{authMethod:"cli_poll",username:b.name||void 0,userId:b.user_id||void 0,zcodeJwtToken:a._zcodeJwtToken||void 0,zaiBusinessToken:a._zaiBusinessToken||void 0,...a._zaiRefreshToken?{zaiRefreshToken:a._zaiRefreshToken}:{}}}}}};function $(a){let b=Z["kimi-coding"===a?"kimi":a];if(!b)throw Error(`Unknown provider: ${a}`);return b}async function _(a,b,c){let e=$(a),f=e.prepareConfig?await e.prepareConfig(e.config,c||{}):e.config,{codeVerifier:g,codeChallenge:h,state:i}=(0,d.lz)(e.pkceVerifierBytes),j=f.loginTraceID||i,k=f.privateKeyVerifier||g;return{authUrl:"device_code"===e.flowType?null:"authorization_code_pkce"===e.flowType?e.buildAuthUrl(f,b,j,h,c||{}):e.buildAuthUrl(f,b,j,void 0,c||{}),state:j,codeVerifier:k,codeChallenge:h,redirectUri:b,flowType:e.flowType,fixedPort:e.fixedPort,callbackPath:e.callbackPath||"/callback",...f.systemId?{systemId:f.systemId}:{}}}async function aa(a,b,c,d,e,f){let g=$(a),h=g.prepareConfig?await g.prepareConfig(g.config,f||{}):g.config,i=await g.exchangeToken(h,b,c,d,e,f||{}),j=null;return g.postExchange&&(j=await g.postExchange(i)),g.mapTokens(i,j)}async function ab(a,b,c){let d=$(a);if("device_code"!==d.flowType)throw Error(`Provider ${a} does not support device code flow`);return await d.requestDeviceCode(d.config,b,c||{})}async function ac(a,b,c,d){let f=$(a);if("device_code"!==f.flowType)throw Error(`Provider ${a} does not support device code flow`);let g=await f.pollToken(f.config,b,c,d);if(g.ok)if(g.data.access_token){let b=null;if(f.postExchange)try{b=await f.postExchange(g.data)}catch(b){return console.warn(`[oauth] ${a} postExchange failed:`,b?.message||b),{success:!1,error:"exchange_failed",errorDescription:b.message,fatal:!0}}let c=f.mapTokens(g.data,b);if("kiro"===a&&!c.providerSpecificData?.profileArn){let a=await (0,e.gR)(c.accessToken);a&&(c.providerSpecificData.profileArn=a)}return{success:!0,tokens:c}}else if("authorization_pending"===g.data.error||"slow_down"===g.data.error)return{success:!1,error:g.data.error,errorDescription:g.data.error_description||g.data.message,pending:"authorization_pending"===g.data.error};else return{success:!1,error:g.data.error||"no_access_token",errorDescription:g.data.error_description||g.data.message||"No access token received"};return{success:!1,error:g.data.error,errorDescription:g.data.error_description}}let ad=!1;async function ae(){if(!ad){ad=!0;try{let{getProviderConnections:a,updateProviderConnection:b}=await c.e(9718).then(c.bind(c,89718));for(let c of(await a()).filter(a=>{if("codex"!==a.provider||"oauth"!==a.authType||!a.idToken)return!1;let b=!!a.email,c=!!a.providerSpecificData?.chatgptAccountId;return!b||!c})){let a=(0,e.YR)(c.idToken);if(!a.email&&!a.chatgptAccountId)continue;let d={};!c.email&&a.email&&(d.email=a.email),(a.chatgptAccountId||a.chatgptPlanType)&&(d.providerSpecificData={...c.providerSpecificData||{},chatgptAccountId:a.chatgptAccountId,chatgptPlanType:a.chatgptPlanType}),Object.keys(d).length&&await b(c.id,d)}}catch(a){ad=!1,console.log("backfillCodexEmails failed:",a?.message||a)}}}},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,QB:()=>d.QB,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw,wV:()=>d.wV});var d=c(53267)},53129:(a,b,c)=>{function d(a,b){let c,d=String(a||"").trim();if(!d)throw Error(`xai discovery ${b} is empty`);try{c=new URL(d)}catch(a){throw Error(`xai discovery ${b} is invalid: ${a.message}`)}if("https:"!==c.protocol)throw Error(`xai discovery ${b} must use https: ${d}`);let e=c.hostname.toLowerCase().trim();if("x.ai"!==e&&!e.endsWith(".x.ai"))throw Error(`xai discovery ${b} host ${e} is not on x.ai`);return d}function e(a){if(!a||"string"!=typeof a)return;let b=a.split(".");if(3===b.length)try{let a=b[1].replace(/-/g,"+").replace(/_/g,"/"),c=(4-a.length%4)%4,d=Buffer.from(a+"=".repeat(c),"base64").toString("utf8"),e=JSON.parse(d);return e.email||e.preferred_username||e.sub||void 0}catch{return}}function f(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,e=c+"=".repeat(d);return JSON.parse(Buffer.from(e,"base64").toString("utf8"))}catch{return null}}function g(a){let b=f(a);if(b)return b.email||b.preferred_username||b.sub||void 0}async function h(a){if(!a)return null;try{let b=await fetch("https://codewhisperer.us-east-1.amazonaws.com/ListAvailableProfiles",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify({maxResults:10})});if(!b.ok)return null;let c=await b.json();return c.profiles?.find(a=>a.arn?.trim())?.arn?.trim()||null}catch{return null}}function i(a){let b=f(a);if(!b)return{};let c=b["https://api.openai.com/auth"]||{};return{email:b.email,chatgptAccountId:c.chatgpt_account_id||b.account_id,chatgptPlanType:c.chatgpt_plan_type||b.plan_type}}c.d(b,{J_:()=>g,YR:()=>i,gR:()=>h,js:()=>d,pG:()=>e})},73159:(a,b,c)=>{c.d(b,{Ue:()=>k,oT:()=>l});var d=c(39141);let e=d.xq.xai?.clientId,f="https://auth.x.ai",g="/oauth2/authorize",h="/oauth2/token",i="/.well-known/openid-configuration",j="/callback",k=96,l={clientId:e,issuer:f,authEndpointPath:g,tokenEndpointPath:h,discoveryPath:i,authorizeUrl:`${f}${g}`,tokenUrl:`${f}${h}`,discoveryUrl:`${f}${i}`,scope:"openid profile email offline_access grok-cli:access api:access",apiBaseUrl:"https://api.x.ai/v1",redirectUri:`http://127.0.0.1:56121${j}`,loopbackPort:56121,callbackPath:j,pkceVerifierBytes:96,refreshLeadSeconds:300,userAgent:"grok-cli/9router",codeChallengeMethod:"S256"}}};
@@ -1 +1 @@
1
- "use strict";exports.id=6707,exports.ids=[1531,3912,6707],exports.modules={4630:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(39141);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}},12828:(a,b,c)=>{function d(a,b){}c.d(b,{T:()=>e,s:()=>d});let e=!1},89843:(a,b,c)=>{c.r(b),c.d(b,{DIRECT_KEEP_ALIVE_MAX_TIMEOUT_MS:()=>k,DIRECT_KEEP_ALIVE_TIMEOUT_MS:()=>j,default:()=>C,getDirectDispatcher:()=>m,isLoopbackTarget:()=>v,isStaleSocketError:()=>o,proxyAwareFetch:()=>A,resetDirectDispatcherForTests:()=>n});var d=c(27910),e=c(60290),f=c(12828);let g=globalThis.fetch,h=new Map;function i(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}let j=i("FETCH_KEEP_ALIVE_TIMEOUT_MS",3e4),k=i("FETCH_KEEP_ALIVE_MAX_TIMEOUT_MS",3e4),l=null;async function m(){if(l)return l;try{let{Agent:a}=await c.e(7774).then(c.t.bind(c,47774,19));l=new a({keepAliveTimeout:j,keepAliveMaxTimeout:k})}catch(a){(0,f.s)("FETCH",`capped direct dispatcher unavailable, using default: ${a?.message||a}`),l=null}return l}function n(){l=null}function o(a){let b=a?.cause?.code||a?.code;return"UND_ERR_SOCKET"===b||"ECONNRESET"===b||"EPIPE"===b}let p=new Map,q=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],r=["8.8.8.8","8.8.4.4"];function s(a){return null==a?"":String(a).trim()}function t(a,b){let c=s(process.env[a]);if(!/^[1-9]\d*$/.test(c))return b;let d=Number(c);return Number.isSafeInteger(d)?d:b}async function u(a){let b=p.get(a);if(b&&Date.now()<b.expiry)return b.ip;try{let b=await Promise.resolve().then(c.t.bind(c,14985,19)),{promisify:d}=await Promise.resolve().then(c.t.bind(c,28354,19)),f=new b.Resolver;f.setServers(r);let g=d(f.resolve4.bind(f)),h=await g(a);return p.set(a,{ip:h[0],expiry:Date.now()+e.v1.dnsCacheTtlMs}),h[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function v(a){let b;try{b=new URL(a).hostname.toLowerCase()}catch{return!1}let c=b.startsWith("[")&&b.endsWith("]")?b.slice(1,-1):b;if("localhost"===c||c.endsWith(".localhost")||"::1"===c||"0:0:0:0:0:0:0:1"===c)return!0;let d=/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/i.exec(c);if(d)return(parseInt(d[1],16)>>8&255)==127;let e=/^::ffff:(\d{1,3}(?:\.\d{1,3}){3})$/i.exec(c),f=e?e[1]:c;return/^127(?:\.\d{1,3}){3}$/.test(f)}function w(a,b){let c,d=s(b);if(!d)return!1;try{c=new URL(a).hostname.toLowerCase()}catch{return!1}return d.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>"*"===a||(a.startsWith(".")?c.endsWith(a)||c===a.slice(1):c===a||c.endsWith(`.${a}`)))}function x(a){let b=s(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function y(a){let b=x(a);if(!b)return null;if(!h.has(b)){h.size>=e.v1.proxyDispatchersMaxSize&&h.delete(h.keys().next().value);let{ProxyAgent:a}=await c.e(7774).then(c.t.bind(c,47774,19)),d=t("PROXY_CONNECT_TIMEOUT_MS",9e4),f=t("PROXY_HEADERS_TIMEOUT_MS",3e5);h.set(b,new a({uri:b,connectTimeout:d,headersTimeout:f,bodyTimeout:0}))}return h.get(b)}async function z(a,b,e){let f=await Promise.resolve().then(c.t.bind(c,55591,19)),g=await Promise.resolve().then(c.t.bind(c,91645,19)),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket;g.connect(443,b,()=>{let b={socket:g,servername:a.hostname,path:a.pathname+a.search,method:e.method||"POST",headers:{...e.headers,Host:a.hostname}},i=h.request(b,a=>{let b={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:d.Readable.toWeb(a),text:async()=>{let b=[];for await(let c of a)b.push(c);return Buffer.concat(b).toString()},json:async()=>JSON.parse(await b.text())};c(b)});i.on("error",f),e.body&&i.write("string"==typeof e.body?e.body:JSON.stringify(e.body)),i.end()}),g.on("error",f)})}async function A(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=s(c?.vercelRelayUrl);if(e){let a=new URL(d),c={...b.headers instanceof Headers?Object.fromEntries(b.headers.entries()):{...b.headers||{}},"x-relay-target":`${a.protocol}//${a.host}`,"x-relay-path":`${a.pathname}${a.search}`};return g(e,{...b,headers:c})}let h=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0||v(a))return null;let c=s(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=s(b?.noProxy??b?.connectionNoProxy);return d&&w(a,d)?null:x(c)}(d,c),i=h?null:x(function(a){let b;if(v(a)||w(a,process.env.NO_PROXY||process.env.no_proxy))return null;try{b=new URL(a).protocol}catch{return null}return"https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(d)),j=h||i;if(function(a){try{let b=new URL(a).hostname;return q.some(a=>b.includes(a))}catch{return!1}}(d)){if(j)try{let c=await y(j);return await g(a,{...b,dispatcher:c})}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${a.message}`)}try{let a=new URL(d),c=await u(a.hostname);if(c)return await z(a,c,b)}catch(a){console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(j)try{let c=await y(j);return await g(a,{...b,dispatcher:c})}catch(d){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${d.message}`);return console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${d.message}`),g(a,b)}let k=await m(),l=k?{...b,dispatcher:k}:{...b};try{return await g(a,l)}catch(c){if(!k||!o(c))throw c;(0,f.s)("FETCH",`stale keep-alive socket for ${d}, retrying once with Connection: close`);let b={...l.headers||{},Connection:"close"};return await g(a,{...l,headers:b})}}async function B(a,b={}){return A(a,b,null)}globalThis.fetch!==B&&(globalThis.fetch=B);let C=B},91531:(a,b,c)=>{c.r(b),c.d(b,{QoderService:()=>j,resolveProfile:()=>d.mC});var d=c(78574),e=c(89843),f=c(55511),g=c.n(f);async function h(a){return a}async function i(a,b,c={}){let d=new AbortController,e=setTimeout(()=>d.abort("timeout"),15e3);try{return await a(b,{...c,signal:d.signal},null)}finally{clearTimeout(e)}}class j{constructor(a={}){this.config=a||{};const b=a.profile??a.protocolProfile??(a.openApiBaseUrl?.includes("qoder.com.cn")?"cn":"intl");this.profile=(0,d.mC)(b),this.machineTokenResolver=a.machineTokenResolver||h,this.fetchImpl=a.fetchImpl||e.proxyAwareFetch}loginUrl(){return this.config.loginUrl||this.profile.loginUrl}deviceTokenUrl(){return this.config.deviceTokenUrl||this.profile.deviceTokenUrl}userInfoUrl(){return this.config.userInfoUrl||this.profile.userInfoUrl}generatePkcePair(){let a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",b=43+Math.floor(86*Math.random()),c=g().randomBytes(b),d="";for(let e=0;e<b;e++)d+=a[c[e]%a.length];let e=g().createHash("sha256").update(d).digest().toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_");return{verifier:d,challenge:e}}async initiateDeviceFlow(){let{verifier:a,challenge:b}=this.generatePkcePair(),c=g().randomUUID(),d=g().randomUUID(),e=await this.machineTokenResolver(d)||d,f=new URLSearchParams;f.set("challenge",b),f.set("challenge_method","S256"),f.set("nonce",c),f.set("machine_id",d);let h=this.profile.deviceClientId||null,i=this.profile.deviceRedirectUri||null;if(h&&f.set("client_id",h),i&&f.set("redirect_uri",i),"cn-work"===this.profile.id&&(!h||!i))throw Error("qoder cn-work device flow requires deviceClientId and deviceRedirectUri on profile");return{verificationUriComplete:`${this.loginUrl()}?${f.toString()}`,codeVerifier:a,nonce:c,machineId:d,machineToken:e}}async pollDeviceToken({nonce:a,codeVerifier:b}){let c;if(!a||!b)throw Error("pollDeviceToken: missing nonce or code verifier");let d=`${this.deviceTokenUrl()}?nonce=${encodeURIComponent(a)}&verifier=${encodeURIComponent(b)}&challenge_method=S256`,e=await i(this.fetchImpl,d,{method:"GET",headers:{Accept:"application/json","User-Agent":"Go-http-client/2.0"}});if(202===e.status||404===e.status)return{status:"pending"};let f=await e.text();if(!e.ok){let a=`Qoder device token poll failed: HTTP ${e.status}`;try{let b=JSON.parse(f);b.message&&(a=`Qoder device token poll failed: ${b.message}`)}catch{}throw Error(a)}try{c=JSON.parse(f)}catch(a){throw Error(`Qoder device token poll: invalid JSON response (${a.message})`)}if(!c.token)throw Error("Qoder device token poll returned 200 but no token");let g=j.parseExpiry(c.expires_at,c.expires_in);return{status:"ok",accessToken:c.token,refreshToken:c.refresh_token||"",userId:c.user_id||"",expireTime:g,rawResponse:c}}async fetchUserInfo(a){try{let b=await i(this.fetchImpl,this.userInfoUrl(),{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","User-Agent":"Go-http-client/2.0"}});if(!b.ok)return{name:"",email:""};let c=await b.json();return{name:(c.name||c.username||"").trim(),email:(c.email||"").trim(),organizationId:(c.organization_id||"").trim()}}catch{return{name:"",email:""}}}async refreshDeviceToken(a){if(!a)throw Error("refreshDeviceToken: missing refresh token");let b=this.profile.refreshTokenUrl;if(!b)throw Error("refreshDeviceToken: profile has no refreshTokenUrl");let c=await i(this.fetchImpl,b,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","User-Agent":"Go-http-client/2.0"},body:JSON.stringify({refresh_token:a})}),d=await c.text(),e=null;try{e=d?JSON.parse(d):null}catch{e=null}if(!c.ok){let a=e&&(e.message||e.error_description||e.error)||`HTTP ${c.status}`,b=Error(`Qoder device token refresh failed: ${a}`);throw b.status=c.status,b.body=e,b}let f=e&&(e.device_token||e.token||e.access_token)||null,g=e&&(e.refresh_token||e.refreshToken)||a;if(!f||"string"!=typeof f)throw Error("Qoder device token refresh: missing device_token/token");let h=j.parseExpiry(e?.expires_at||e?.expiresAt,e?.expires_in??e?.expiresIn);return{accessToken:f,refreshToken:g,expiresIn:Math.max(60,Math.floor((h-Date.now())/1e3)),expireTime:h,rawResponse:e}}static parseExpiry(a,b){if("number"==typeof a&&Number.isFinite(a)&&a>0)return a;let c="string"==typeof a?a.trim():"";if(c){if(/^\d+$/.test(c)){let a=Number.parseInt(c,10);if(Number.isFinite(a)&&a>0)return a}let a=Date.parse(c);if(!Number.isNaN(a))return a}return"number"==typeof b&&Number.isFinite(b)&&b>=0?Date.now()+1e3*b:Date.now()+2592e6}}}};
1
+ "use strict";exports.id=6707,exports.ids=[1531,3912,6707],exports.modules={4630:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(39141);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}},91531:(a,b,c)=>{c.r(b),c.d(b,{QoderService:()=>j,resolveProfile:()=>d.mC});var d=c(78574),e=c(89843),f=c(55511),g=c.n(f);async function h(a){return a}async function i(a,b,c={}){let d=new AbortController,e=setTimeout(()=>d.abort("timeout"),15e3);try{return await a(b,{...c,signal:d.signal},null)}finally{clearTimeout(e)}}class j{constructor(a={}){this.config=a||{};const b=a.profile??a.protocolProfile??(a.openApiBaseUrl?.includes("qoder.com.cn")?"cn":"intl");this.profile=(0,d.mC)(b),this.machineTokenResolver=a.machineTokenResolver||h,this.fetchImpl=a.fetchImpl||e.proxyAwareFetch}loginUrl(){return this.config.loginUrl||this.profile.loginUrl}deviceTokenUrl(){return this.config.deviceTokenUrl||this.profile.deviceTokenUrl}userInfoUrl(){return this.config.userInfoUrl||this.profile.userInfoUrl}generatePkcePair(){let a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",b=43+Math.floor(86*Math.random()),c=g().randomBytes(b),d="";for(let e=0;e<b;e++)d+=a[c[e]%a.length];let e=g().createHash("sha256").update(d).digest().toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_");return{verifier:d,challenge:e}}async initiateDeviceFlow(){let{verifier:a,challenge:b}=this.generatePkcePair(),c=g().randomUUID(),d=g().randomUUID(),e=await this.machineTokenResolver(d)||d,f=new URLSearchParams;f.set("challenge",b),f.set("challenge_method","S256"),f.set("nonce",c),f.set("machine_id",d);let h=this.profile.deviceClientId||null,i=this.profile.deviceRedirectUri||null;if(h&&f.set("client_id",h),i&&f.set("redirect_uri",i),"cn-work"===this.profile.id&&(!h||!i))throw Error("qoder cn-work device flow requires deviceClientId and deviceRedirectUri on profile");return{verificationUriComplete:`${this.loginUrl()}?${f.toString()}`,codeVerifier:a,nonce:c,machineId:d,machineToken:e}}async pollDeviceToken({nonce:a,codeVerifier:b}){let c;if(!a||!b)throw Error("pollDeviceToken: missing nonce or code verifier");let d=`${this.deviceTokenUrl()}?nonce=${encodeURIComponent(a)}&verifier=${encodeURIComponent(b)}&challenge_method=S256`,e=await i(this.fetchImpl,d,{method:"GET",headers:{Accept:"application/json","User-Agent":"Go-http-client/2.0"}});if(202===e.status||404===e.status)return{status:"pending"};let f=await e.text();if(!e.ok){let a=`Qoder device token poll failed: HTTP ${e.status}`;try{let b=JSON.parse(f);b.message&&(a=`Qoder device token poll failed: ${b.message}`)}catch{}throw Error(a)}try{c=JSON.parse(f)}catch(a){throw Error(`Qoder device token poll: invalid JSON response (${a.message})`)}if(!c.token)throw Error("Qoder device token poll returned 200 but no token");let g=j.parseExpiry(c.expires_at,c.expires_in);return{status:"ok",accessToken:c.token,refreshToken:c.refresh_token||"",userId:c.user_id||"",expireTime:g,rawResponse:c}}async fetchUserInfo(a){try{let b=await i(this.fetchImpl,this.userInfoUrl(),{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","User-Agent":"Go-http-client/2.0"}});if(!b.ok)return{name:"",email:""};let c=await b.json();return{name:(c.name||c.username||"").trim(),email:(c.email||"").trim(),organizationId:(c.organization_id||"").trim()}}catch{return{name:"",email:""}}}async refreshDeviceToken(a){if(!a)throw Error("refreshDeviceToken: missing refresh token");let b=this.profile.refreshTokenUrl;if(!b)throw Error("refreshDeviceToken: profile has no refreshTokenUrl");let c=await i(this.fetchImpl,b,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","User-Agent":"Go-http-client/2.0"},body:JSON.stringify({refresh_token:a})}),d=await c.text(),e=null;try{e=d?JSON.parse(d):null}catch{e=null}if(!c.ok){let a=e&&(e.message||e.error_description||e.error)||`HTTP ${c.status}`,b=Error(`Qoder device token refresh failed: ${a}`);throw b.status=c.status,b.body=e,b}let f=e&&(e.device_token||e.token||e.access_token)||null,g=e&&(e.refresh_token||e.refreshToken)||a;if(!f||"string"!=typeof f)throw Error("Qoder device token refresh: missing device_token/token");let h=j.parseExpiry(e?.expires_at||e?.expiresAt,e?.expires_in??e?.expiresIn);return{accessToken:f,refreshToken:g,expiresIn:Math.max(60,Math.floor((h-Date.now())/1e3)),expireTime:h,rawResponse:e}}static parseExpiry(a,b){if("number"==typeof a&&Number.isFinite(a)&&a>0)return a;let c="string"==typeof a?a.trim():"";if(c){if(/^\d+$/.test(c)){let a=Number.parseInt(c,10);if(Number.isFinite(a)&&a>0)return a}let a=Date.parse(c);if(!Number.isNaN(a))return a}return"number"==typeof b&&Number.isFinite(b)&&b>=0?Date.now()+1e3*b:Date.now()+2592e6}}}};