@hilbras/omnihilbras 2.2.0 → 2.3.1

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 (505) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +15 -15
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/react-loadable-manifest.json +1 -1
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  74. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  76. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  77. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  78. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  79. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  80. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  81. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  83. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  84. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  85. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  86. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
  87. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  88. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  89. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  90. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  91. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  93. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  95. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  140. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/combos/presets/route.js +1 -1
  142. package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  144. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  151. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  153. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  165. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js +2 -2
  254. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  273. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  275. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  337. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  339. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  342. package/app/.next-cli-build/server/app/callback.html +1 -1
  343. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  344. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  345. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  346. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +4 -4
  347. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  348. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +4 -4
  349. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +4 -4
  350. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +4 -4
  351. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  352. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  353. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +4 -4
  354. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +4 -4
  355. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +4 -4
  356. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  357. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  358. package/app/.next-cli-build/server/app/dashboard/combos.rsc +4 -4
  359. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +4 -4
  360. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +4 -4
  361. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  362. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  363. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +4 -4
  364. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +4 -4
  365. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +4 -4
  366. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  367. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  368. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +4 -4
  369. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +4 -4
  370. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +4 -4
  371. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  372. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  373. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +4 -4
  374. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +4 -4
  375. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +4 -4
  376. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  377. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  378. package/app/.next-cli-build/server/app/dashboard/profile.rsc +4 -4
  379. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +4 -4
  380. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +4 -4
  381. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  382. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  383. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +4 -4
  384. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +4 -4
  385. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +4 -4
  386. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  387. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  388. package/app/.next-cli-build/server/app/dashboard/providers.rsc +4 -4
  389. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +4 -4
  390. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +4 -4
  391. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  392. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  393. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +4 -4
  394. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +4 -4
  395. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +4 -4
  396. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  397. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  398. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +4 -4
  399. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +4 -4
  400. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +4 -4
  401. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  402. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  403. package/app/.next-cli-build/server/app/dashboard/quota.rsc +5 -5
  404. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +5 -5
  405. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +5 -5
  406. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  407. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  409. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  410. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  411. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  412. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  413. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +4 -4
  414. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  415. package/app/.next-cli-build/server/app/dashboard/skills.rsc +4 -4
  416. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +4 -4
  417. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +4 -4
  418. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  419. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  420. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +4 -4
  421. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +4 -4
  422. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +4 -4
  423. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  424. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  425. package/app/.next-cli-build/server/app/dashboard/translator.rsc +4 -4
  426. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +4 -4
  427. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +4 -4
  428. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  429. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  430. package/app/.next-cli-build/server/app/dashboard/usage.rsc +4 -4
  431. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +4 -4
  432. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +4 -4
  433. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  434. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  435. package/app/.next-cli-build/server/app/dashboard.rsc +4 -4
  436. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +4 -4
  437. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +4 -4
  438. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  439. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  440. package/app/.next-cli-build/server/app/index.html +1 -1
  441. package/app/.next-cli-build/server/app/index.rsc +4 -4
  442. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  443. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  444. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  445. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  446. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  447. package/app/.next-cli-build/server/app/landing.html +1 -1
  448. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  449. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  450. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  451. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +4 -4
  452. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  453. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  454. package/app/.next-cli-build/server/app/login.html +1 -1
  455. package/app/.next-cli-build/server/app/login.rsc +4 -4
  456. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  457. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  458. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  459. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  460. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  461. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  462. package/app/.next-cli-build/server/app-paths-manifest.json +15 -15
  463. package/app/.next-cli-build/server/chunks/1019.js +1 -1
  464. package/app/.next-cli-build/server/chunks/1998.js +1 -1
  465. package/app/.next-cli-build/server/chunks/2132.js +1 -1
  466. package/app/.next-cli-build/server/chunks/3770.js +1 -1
  467. package/app/.next-cli-build/server/chunks/3799.js +1 -1
  468. package/app/.next-cli-build/server/chunks/4043.js +1 -1
  469. package/app/.next-cli-build/server/chunks/4049.js +1 -1
  470. package/app/.next-cli-build/server/chunks/412.js +1 -1
  471. package/app/.next-cli-build/server/chunks/436.js +1 -1
  472. package/app/.next-cli-build/server/chunks/4663.js +1 -1
  473. package/app/.next-cli-build/server/chunks/5245.js +1 -1
  474. package/app/.next-cli-build/server/chunks/5615.js +3 -3
  475. package/app/.next-cli-build/server/chunks/5919.js +1 -1
  476. package/app/.next-cli-build/server/chunks/7211.js +1 -1
  477. package/app/.next-cli-build/server/chunks/7525.js +1 -1
  478. package/app/.next-cli-build/server/chunks/7557.js +1 -1
  479. package/app/.next-cli-build/server/chunks/7736.js +1 -0
  480. package/app/.next-cli-build/server/chunks/7811.js +1 -1
  481. package/app/.next-cli-build/server/chunks/7828.js +1 -1
  482. package/app/.next-cli-build/server/chunks/827.js +1 -1
  483. package/app/.next-cli-build/server/chunks/8416.js +1 -1
  484. package/app/.next-cli-build/server/chunks/915.js +1 -1
  485. package/app/.next-cli-build/server/chunks/9609.js +1 -1
  486. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  487. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  488. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  489. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  490. package/app/.next-cli-build/server/pages/404.html +1 -1
  491. package/app/.next-cli-build/server/pages/500.html +1 -1
  492. package/app/.next-cli-build/static/chunks/5497-a21609d14a7bf81a.js +7 -0
  493. package/app/.next-cli-build/static/chunks/{85-abdd4f18753cba17.js → 85-5b93a7c74cd0ee26.js} +1 -1
  494. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-e0e9fb7e9f122644.js → page-4e274865de44f799.js} +1 -1
  495. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-1d6c37a1e6f380be.js +1 -0
  496. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-20e79861e79ed846.js → layout-f29206280cf7fde5.js} +1 -1
  497. package/app/.next-cli-build/static/chunks/{webpack-bdd19f62aea907f6.js → webpack-4d7bf920753b8f78.js} +1 -1
  498. package/app/cli/.build-home/.omnihilbras/db/data.sqlite +0 -0
  499. package/app/package.json +1 -1
  500. package/package.json +1 -1
  501. package/app/.next-cli-build/server/chunks/5036.js +0 -1
  502. package/app/.next-cli-build/static/chunks/5497-dea83eee58687b78.js +0 -7
  503. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-61bfa3b2f16b0c6d.js +0 -1
  504. /package/app/.next-cli-build/static/{2lzaQ8Vt54PR86aQkWaou → 3z1LvLny5fEVNyQctTtoy}/_buildManifest.js +0 -0
  505. /package/app/.next-cli-build/static/{2lzaQ8Vt54PR86aQkWaou → 3z1LvLny5fEVNyQctTtoy}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=7211,exports.ids=[7211],exports.modules={6551:(a,b,c)=>{c.d(b,{RO:()=>m,Tl:()=>k,Yt:()=>l});var d=c(39609),e=c(24295);let f={usageUrl:(0,e.U)("codex").url,resetCreditsUrl:(0,e.U)("codex").resetCreditsUrl,resetCreditsConsumeUrl:(0,e.U)("codex").resetCreditsConsumeUrl};function g(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 h(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a.rate_limit&&"object"==typeof a.rate_limit?a.rate_limit:a}function i(a){let b=Math.max(0,Math.min(100,(0,e.IQ)(a?.used_percent??a?.percent_used,0)));return{used:b,total:100,remaining:Math.max(0,100-b),resetAt:(0,e.eZ)(a?.reset_at??a?.resets_at??a?.resetAt??null),unlimited:!1}}function j(a,b,c){let d=h(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"]=i(e),g=!0),f&&(a[b?`${b}_weekly`:"weekly"]=i(f),g=!0),g}async function k(a,b=null){try{let c=await (0,d.proxyAwareFetch)(f.usageUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Codex connected. Usage API temporarily unavailable (${c.status}).`};let g=await c.json(),i=g.rate_limit||g.rate_limits||g.rate_limits_by_limit_id?.codex||{},k=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}(g),l=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}(g),m=Math.max(0,(0,e.IQ)(g.rate_limit_reset_credits?.available_count,0)),n={};return j(n,"",i),j(n,"review",k),j(n,"spark",l),{plan:g.plan_type||g.summary?.plan||"unknown",limitReached:h(i)?.limit_reached||!1,reviewLimitReached:h(k)?.limit_reached||!1,sparkLimitReached:h(l)?.limit_reached||!1,resetCredits:{availableCount:m},quotas:n}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function l(a,b=null,c=null){var h,i;if(!a)throw Error("No Codex access token available. Please re-authorize the connection.");let j=c?.workspaceId||c?.accountId||c?.chatgptAccountId||null,k={Authorization:`Bearer ${a}`,Accept:"application/json","OpenAI-Beta":"codex-1",originator:"codex_cli_rs"};j&&(k["ChatGPT-Account-ID"]=j);let m=await (0,d.proxyAwareFetch)(f.resetCreditsUrl,{method:"GET",headers:k},b),n=null;try{n=await m.json()}catch{n=null}if(!m.ok)throw Error((h=n?.message||n?.error||n?.detail,i=`Codex reset credits API unavailable (${m.status}).`,h?"string"==typeof h?h:"string"==typeof h.message?h.message:JSON.stringify(h):i));let o=Array.isArray(n?.credits)?n.credits:[];return{availableCount:Math.max(0,(0,e.IQ)(n?.available_count??n?.availableCount,0)),credits:o.map(a=>({status:String(a?.status||"unknown"),grantedAt:g(a?.granted_at??a?.grantedAt),expiresAt:g(a?.expires_at??a?.expiresAt)}))}}async function m(a,b,c=null){let g;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.");let h=null;try{g=await (0,d.proxyAwareFetch)(f.resetCreditsConsumeUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({redeem_request_id:b})},c);let e=await g.text();h=e?JSON.parse(e):null}catch(a){throw Error(`Failed to consume Codex reset credit: ${a.message}`)}let i=h?.code||null,j=(0,e.IQ)(h?.windows_reset,0);return{ok:g.ok&&("reset"===i||j>0),noCredit:g.ok&&"no_credit"===i,status:g.status,code:i,windowsReset:j,message:h?.message||null,raw:h}}},17116:(a,b,c)=>{c.d(b,{Ut:()=>k.Ut,RO:()=>l.RO,Yt:()=>l.Yt,my:()=>a3});var d=c(39609),e=c(26070),f=c(24295);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(91211),k=c(69788),l=c(6551),m=c(6382);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."}}var w=c(77598);let x="I*7Cf%WZ#S&%1RlZJ&C2",y={"minimax-code":{agent:"https://agent.minimaxi.com",platform:"https://www.minimaxi.com",lang:"zh"},"minimax-code-global":{agent:"https://agent.minimax.io",platform:"https://platform.minimax.io",lang:"en"}},z=a=>(0,w.createHash)("md5").update(a).digest("hex"),A=a=>a&&"object"==typeof a&&!Array.isArray(a)?a:void 0,B=a=>"number"==typeof a&&Number.isFinite(a)?a:void 0,C=(a,b)=>"string"==typeof a?.[b]&&a[b].trim()?a[b].trim():void 0;class D extends Error{}async function E(a,b,c,d){let e,{url:f,init:g}=function(a,b,{access:c,userID:d,body:e,now:f=Date.now(),tzOffsetSec:g=-60*new Date().getTimezoneOffset()}={}){let h=new URL(b,a.agent);h.search=new URLSearchParams({device_platform:"mcode",biz_id:"3",app_id:"3001",version_code:"22201",unix:String(f),timezone_offset:String(g),sys_language:a.lang,lang:a.lang,device_id:"0",os_name:process.platform,browser_name:"mcode",user_id:String(d??"").trim()||"0",client:"mcode"}).toString();let i=h.pathname+h.search,j=Math.floor(f/1e3),k=void 0===e?void 0:JSON.stringify(e),l={Accept:"application/json","Content-Type":"application/json","User-Agent":"MiniMaxCode",Authorization:`Bearer ${c}`,yy:void 0===k?z(`${encodeURIComponent(i)}_{}${z(String(f))}ooui`):z(`${encodeURIComponent(i)}_${k}${z(String(f))}ooui`),"x-timestamp":String(j),"x-signature":void 0===k?z(`${j}${x}`):z(`${j}${x}${k}`)};return{url:h.toString(),init:{method:void 0===k?"GET":"POST",headers:l,...void 0===k?{}:{body:k}}}}(a,b,c),h=await fetch(f,{...g,signal:AbortSignal.timeout(15e3)});if(401===h.status||403===h.status)throw new D(`${d}: the sign-in was refused (HTTP ${h.status})`);if(!h.ok)throw Error(`${d}: HTTP ${h.status}`);try{e=A(JSON.parse(await h.text()))}catch{}if(!e)throw Error(`${d}: not JSON`);var i=e;let j=A(i?.statusInfo);if("number"==typeof j?.code&&0!==j.code){if(1000048===j.code)throw new D(`${d}: the sign-in was refused`);throw Error(`${d}: ${C(j,"message")??C(j,"msg")??"status "+j.code}`)}let k=A(i?.base_resp);if("number"==typeof k?.status_code&&0!==k.status_code)throw Error(`${d}: ${C(k,"status_msg")??"status "+k.status_code}`);return i}async function F(a,b){let c=await E(a,"/v1/api/user/info",{access:b},"account"),d=A(c.data),e=A(d?.userInfo)??A(d?.user_info)??A(c.userInfo)??A(c.user_info),f=C(e,"realUserID")??C(e,"real_user_id");if(!f)throw Error("account: no user id in the reply");let g=(...a)=>a.map(a=>C(e,a)).find(Boolean);return{realUserID:f,email:g("userEmail","email","userMail","user_email"),name:g("name","userName","user_name")}}function G(a){let b,c=A(a?.data),d=b=>a?.[b]??c?.[b],e=a=>"string"==typeof d(a)&&d(a).trim()?d(a).trim():void 0,f="boolean"==typeof d("has_token_plan")?d("has_token_plan"):void 0,g=B(d("token_plan_expires_at")),h=C(A(a?.op_credit_summary)??A(c?.op_credit_summary),"total_remaining_amount")??("string"==typeof(b=d("opcredit_balance"))&&b.trim()?b.trim():"number"==typeof b&&Number.isFinite(b)?String(b):void 0);return{...void 0!==f?{hasTokenPlan:f}:{},...e("op_group_id")?{opGroupId:e("op_group_id")}:{},...e("token_plan_tier")?{tier:e("token_plan_tier")}:{},...g>0?{expiresAt:g}:{},...void 0!==h?{balance:h}:{}}}async function H(a,b,c){let d;try{let e=await E(a,"/matrix/api/v1/user/get_user_extra_info",{access:b,userID:c,body:{}},"workspace");for(let a of Array.isArray(e.workspaces)?e.workspaces:Array.isArray(e.data?.workspaces)?e.data.workspaces:[]){if(0!==B(a?.workspace_type))continue;let b="number"==typeof a.workspace_id&&a.workspace_id>=0?a.workspace_id:C(a,"workspace_id");if(void 0!==b){d={id:b,m:G(a)};break}}}catch(d){if(d instanceof D)throw d;return G(await E(a,"/matrix/api/v1/commerce/get_membership_info",{access:b,userID:c,body:{}},"membership"))}if(!d)return{};try{let e=G(await E(a,"/matrix/api/v1/commerce/get_membership_info",{access:b,userID:c,body:{workspace_id:d.id}},"membership")),f=!0===d.m.hasTokenPlan||!0===e.hasTokenPlan||!1!==d.m.hasTokenPlan&&!1!==e.hasTokenPlan&&void 0;return{...d.m,...e,...void 0!==f?{hasTokenPlan:f}:{},...d.m.opGroupId||e.opGroupId?{opGroupId:d.m.opGroupId??e.opGroupId}:{}}}catch(a){if(a instanceof D)throw a;return d.m}}async function I(a,b,c){let d=await fetch(`${a.platform}/v1/api/openplatform/coding_plan/remains`,{headers:{Accept:"application/json",Authorization:`Bearer ${b}`,...c?{"X-Group-Id":c}:{}},signal:AbortSignal.timeout(15e3)});if(!d.ok)throw Error(`M Plan: HTTP ${d.status}`);return function(a){let b=A(a?.base_resp);if(b&&"number"==typeof b.status_code&&0!==b.status_code)throw Error(C(b,"status_msg")??`MiniMax said ${b.status_code}`);if(!b&&!Array.isArray(a?.model_remains))throw Error("no plan in the reply");let c=a=>a<1e12?1e3*a:a,d=a=>0===B(a),e=[];for(let b of Array.isArray(a.model_remains)?a.model_remains:[]){let a=String(b?.model_name??"").trim();if(!a||3===B(b.current_interval_status)&&3===B(b.current_weekly_status)&&d(b.current_interval_total_count)&&d(b.current_weekly_total_count))continue;let f="general"===a.toLowerCase();for(let d of[{left:B(b.current_interval_remaining_percent),status:B(b.current_interval_status)??0,start:B(b.start_time)??0,end:B(b.end_time)??0,week:!1},{left:B(b.current_weekly_remaining_percent),status:B(b.current_weekly_status)??0,start:B(b.weekly_start_time)??0,end:B(b.weekly_end_time)??0,week:!0}]){if(3===d.status||void 0===d.left&&2!==d.status)continue;let b=2===d.status?0:Math.max(0,Math.min(100,d.left)),g=0;d.start>0&&d.end>d.start?g=c(d.end)-c(d.start):d.week&&(g=6048e5);let h=d.week?"7 days":g>864e5&&g%864e5==0?`${g/864e5} days`:g>=36e5&&g%36e5==0?`${g/36e5} hours`:g>0?`${Math.floor(g/6e4)} minutes`:"Allowance",i=f?h:`${a[0].toUpperCase()+a.slice(1)} \xb7 ${h}`;e.push({name:i,used:100-b,total:100,remaining:b,remainingPercentage:b,resetAt:d.end>0?new Date(c(d.end)).toISOString():null})}}return e}(await d.json().catch(()=>null))}async function J(a){let b=y[a.provider],c=a.accessToken;if(!b||!c)return{message:`Usage API not implemented for ${a.provider}`};try{let d=C(a.providerSpecificData||{},"realUserID"),e=null;d||(d=(e=await F(b,c)).realUserID);let f=await H(b,c,d),g={};if(void 0!==f.balance){let a=Number(f.balance);g.Credits={used:0,total:Number.isFinite(a)?a:0,isCreditBalance:!0,currency:"credits"}}if(f.hasTokenPlan&&f.opGroupId)try{for(let a of(await I(b,c,f.opGroupId)))g[a.name]=a}catch(a){g["M Plan windows"]={name:"M Plan windows",used:0,total:0,resetAt:null,message:a?.message??String(a)}}return 0===Object.keys(g).length&&(g.Plan={name:"Plan",used:0,total:0,resetAt:null,message:!1===f.hasTokenPlan?"Free account (no M Plan)":"No usage data returned"}),{quotas:g,plan:f.hasTokenPlan?f.tier?`M Plan ${f.tier}`:"M Plan":"Free",...f.expiresAt>0?{planExpiresAt:new Date(f.expiresAt<1e12?1e3*f.expiresAt:f.expiresAt).toISOString()}:{},user:e?.email||e?.name||C(a.providerSpecificData||{},"realUserID")||d||null}}catch(a){if(a instanceof D)return{message:`MiniMax Code sign-in expired — unauthorized, please re-authorize (${a.message})`};return{message:a?.message??String(a)}}}function K(a,b){let c=Number(a??b);return Number.isFinite(c)?c:0}async function L(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:K(a.CycleCapacityUsedPrecise,a.CycleCapacityUsed),total:K(a.CycleCapacitySizePrecise,a.CycleCapacitySize),resetAt:(0,f.eZ)(a.CycleEndTime),unlimited:!1,recurring:!0}}),o.forEach((a,b)=>{p[`Bonus Pack ${b+1}`]={used:K(a.CapacityUsedPrecise,a.CapacityUsed),total:K(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 M(a,b,c,d=null){return L("codebuddy-cn",a,b,c,d)}async function N(a,b,c,d=null){return L("codebuddy-intl",a,b,c,d)}var O=c(90737);function P(a,b=0){if(!Buffer.isBuffer(a)||b<0||a.length-b<5)return null;let c=a[b];if(0!==c&&1!==c&&128!==c&&129!==c)return null;let d=b+5,e=a.readUInt32BE(b+1);return e>a.length-d?null:{flag:c,payloadStart:d,payloadLength:e}}function Q(a,b){let c=0n,d=0n,e=b;for(;;){if(e>=a.length)return null;let b=a[e];if(c|=BigInt(127&b)<<d,e+=1,(128&b)==0)break;if((d+=7n)>70n)return null}return{value:Number(c),next:e}}function R(a,b,c,d){return b+c>a.length?null:{field:{wireType:d,bytes:a.subarray(b,b+c)},next:b+c}}function S(a){let b=new Map,c=0;for(;c<a.length;){let d=function(a,b){let c=Q(a,b);if(!c)return null;let d=c.value>>>3,e=7&c.value;if(0===d)return null;if(0===e){let b=Q(a,c.next);return b?{fieldNumber:d,field:{wireType:0,value:b.value},next:b.next}:null}if(2===e){let b=function(a,b){let c=Q(a,b);if(!c)return null;let{value:d,next:e}=c;return d<0||e+d>a.length?null:{field:{wireType:2,bytes:a.subarray(e,e+d)},next:e+d}}(a,c.next);return b?{fieldNumber:d,field:b.field,next:b.next}:null}if(1===e){let b=R(a,c.next,8,1);return b?{fieldNumber:d,field:b.field,next:b.next}:null}if(5===e){let b=R(a,c.next,4,5);return b?{fieldNumber:d,field:b.field,next:b.next}:null}return null}(a,c);if(!d)return null;b.set(d.fieldNumber,d.field),c=d.next}return b}let T=(0,f.U)("grok-cli"),U=T.url||"https://cli-chat-proxy.grok.com/v1/billing?format=credits",V=T.userUrl||"https://cli-chat-proxy.grok.com/v1/user?include=subscription",W=Buffer.from([0,0,0,0,0]);function X(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 Y(a,b){let c=a?.subscriptionTier??a?.subscription_tier??a?.subscription?.tier??b?.subscriptionTier??b?.subscription_tier;return"string"==typeof c?c.trim():""}function Z({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}}async function $(a,b=null){if(!a)return null;try{let c=await (0,d.proxyAwareFetch)("https://grok.com/grok_api_v2.GrokBuildBilling/GetGrokCreditsConfig",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/grpc-web+proto","X-Grpc-Web":"1",Accept:"application/grpc-web+proto"},body:W},b);if(!c?.ok)return null;let e=await c.arrayBuffer().catch(()=>null);if(!e)return null;return function(a){if(!a||!Buffer.isBuffer(a)||0===a.length)return null;try{var b,c;let d=null!==P(a,0)?function(a){let b=0;for(;b<a.length;){let c=P(a,b);if(!c)break;let d=c.payloadStart+c.payloadLength;if((128&c.flag)==0)return a.subarray(c.payloadStart,d);b=d}return null}(a):a;if(!d)return null;let e=S(d);if(!e)return null;let f=(b=e.get(1))&&2===b.wireType?S(b.bytes):null;if(!f)return null;let g=(c=f.get(1))?5===c.wireType?c.bytes.readFloatLE(0):1===c.wireType?c.bytes.readDoubleLE(0):null:0;if(null===g||!Number.isFinite(g)||g<0)return null;return{percentUsed:Math.min(100,100*g),resetAt:function(a){if(!a||2!==a.wireType)return null;let b=S(a.bytes);if(!b)return null;let c=b.get(1),d=b.get(2),e=new Date(1e3*(c?.wireType===0?c.value:0)+Math.round((d?.wireType===0?d.value:0)/1e6));return Number.isNaN(e.getTime())?null:e.toISOString()}(f.get(5))}}catch{return null}}(Buffer.from(e))}catch{return null}}async function _(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":O.fZ,"x-xai-token-auth":"xai-grok-cli","x-grok-client-identifier":O.rK,"x-grok-client-version":O.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[b,h]=await Promise.all([(0,d.proxyAwareFetch)(U,{method:"GET",headers:e},c),(0,d.proxyAwareFetch)(V,{method:"GET",headers:e},c).catch(()=>null)]);if(401===b.status||403===b.status)return{message:"Grok CLI authentication expired. Please re-authorize."};if(!b.ok){let a=await b.text().catch(()=>""),c=a?`: ${a.slice(0,200)}`:"";return{message:`Grok CLI billing API error (${b.status})${c}`}}let i=await b.json().catch(()=>null);if(!i||"object"!=typeof i)return{message:"Grok CLI billing response was not JSON."};let j=null;h?.ok&&(j=await h.json().catch(()=>null));let k=function(a,b=null){let c,d=a&&"object"==typeof a?a:{},e=d.config&&"object"==typeof d.config&&!Array.isArray(d.config)?d.config:d,g=(0,f.eZ)(e.billingPeriodEnd)||(0,f.eZ)(e.billing_period_end)||(0,f.eZ)(e.currentPeriod?.end)||(0,f.eZ)(e.resetAt||e.resetsAt||e.periodEnd)||(0,f.eZ)(d.billingPeriodEnd)||(0,f.eZ)(d.billing_period_end)||(0,f.eZ)(d.resetAt||d.resetsAt||d.periodEnd)||null,h={},i=Y(b,e),j=!!i&&!/^(free|none|null)$/i.test(i),k=X(e.monthlyLimit??e.monthly_limit??d.monthlyLimit??d.monthly_limit,0/0),l=X(e.includedUsed??e.included_used??d.includedUsed??d.included_used,0/0),m=X(e.totalUsed??e.total_used??d.totalUsed??d.total_used,0/0);Number.isFinite(k)&&k>0&&(h["Monthly included"]=Z({used:Number.isFinite(l)?l:Number.isFinite(m)?m:0,total:k,resetAt:g}));let n=X(e.onDemandCap??d.onDemandCap,0/0),o=X(e.onDemandUsed??d.onDemandUsed,0/0);if(Number.isFinite(n)&&n>0){let a=Number.isFinite(o)?Math.max(0,o):0;h["On-demand"]=Z({used:a,total:n,resetAt:g})}else!j&&Number.isFinite(n)&&0===n&&Number.isFinite(o)&&(h["On-demand"]={used:1,total:1,remainingPercentage:0,resetAt:g,unlimited:!1});let p=X(e.prepaidBalance??d.prepaidBalance,0/0);Number.isFinite(p)&&p>0&&(h.Prepaid={used:0,total:p,remainingPercentage:100,resetAt:null,unlimited:!1});let q=X(e.creditUsagePercent??e.credit_usage_percent??d.creditUsagePercent,0/0);for(let a of(Number.isFinite(q)&&q>=0&&(h["Weekly SuperGrok"]=Z({used:Math.max(0,Math.min(100,q)),total:100,resetAt:g})),[d.credits,d.creditBalance,d.usage,e.credits,e.includedCredits,e.subscriptionCredits].filter(a=>a&&"object"==typeof a&&!Array.isArray(a)))){let b=X(a.total??a.limit??a.cap??a.allocation??a.amount,0/0),c=X(a.used??a.spent??a.consumed,0/0),d=X(a.remaining??a.balance??a.left,0/0);if(Number.isFinite(b)&&b>0){let e=Number.isFinite(c)?c:Number.isFinite(d)?Math.max(0,b-d):0;h.Credits||(h.Credits=Z({used:e,total:b,resetAt:(0,f.eZ)(a.resetAt||a.resetsAt||a.end)||g}))}else Number.isFinite(d)&&d>=0&&!h.Credits&&(h.Credits={used:0,total:d>0?d:1,remainingPercentage:100*(d>0),resetAt:g,unlimited:!1})}let r=Object.keys(h).length>0&&Object.values(h).every(a=>!0!==a.unlimited&&(a.remainingPercentage??100)<=0);return{plan:(c=Y(b,e))?c.replace(/[_-]+/g," ").replace(/\b\w/g,a=>a.toUpperCase()):b?.hasGrokCodeAccess===!0?"Grok Code":(e?.isUnifiedBillingUser,"Grok Build"),quotas:h,periodEnd:g,exhausted:r,subscriptionAccess:j,rawConfig:e}}(i,j);if(k.plan=function(a){try{return({0:"Free",1:"SuperGrok",2:"X Basic",3:"X Premium",4:"X Premium Plus",5:"SuperGrok Heavy",6:"SuperGrok Lite"})[JSON.parse(Buffer.from(a.split(".")[1],"base64url")).tier]||""}catch{return""}}(a)||k.plan,!k.quotas||0===Object.keys(k.quotas).length){var g;let b=(g=await $(a,c))&&Number.isFinite(g.percentUsed)?{"Weekly SuperGrok":Z({used:Math.round(Math.max(0,Math.min(100,g.percentUsed))),total:100,resetAt:g.resetAt||null})}:null;if(b)return{plan:k.plan,quotas:b};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 aa=c(75924);let ab={LEVEL_BASIC:"Moderato",LEVEL_INTERMEDIATE:"Allegretto",LEVEL_ADVANCED:"Allegro",LEVEL_STANDARD:"Vivace"};function ac({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 ad(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,aa.buildKimiHeaders)(e?.deviceId)};try{let a,b=await (0,d.proxyAwareFetch)("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 g={},h=a?.usage&&"object"==typeof a.usage?a.usage:{},j=(0,f.IQ)(h.limit??h.Limit,0),k=(0,f.IQ)(h.used??h.Used,0),l=h.remaining??h.Remaining,m=null!=l&&""!==l?(0,f.IQ)(l,0/0):0/0,n=h.resetTime||h.ResetTime||h.reset_at||h.resetAt;for(let b of(j>0&&(g.Weekly=ac({used:k,total:j,remaining:Number.isFinite(m)?m:null,resetAt:(0,f.eZ)(n)})),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,0/0),e=a.resetTime||a.reset_at||a.resetAt;if(c>0){let a=Number.isFinite(d)?d:Math.max(0,c);g.Ratelimit=ac({used:Math.max(0,c-a),total:c,remaining:a,resetAt:(0,f.eZ)(e)})}}let o=a?.user?.membership?.level,p=function(a){if(!a)return"";let b=String(a);return ab[b]?ab[b]:b.replace(/^LEVEL_/,"").toLowerCase()}(o)||"Kimi Coding";if(Object.keys(g).length>0)return{plan:p,quotas:g};return{plan:p,message:"Kimi Coding connected. Usage tracked per request."}}catch(a){return{message:`Kimi Coding connected. Unable to fetch usage: ${a.message}`}}}async function ae(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[`Balance (${a.currency})`]={used:0,total:b,remainingPercentage:100*(b>0),resetAt:null,unlimited:!1,isCreditBalance:!0,currency:a.currency}}return{plan:h?"DeepSeek":"DeepSeek (Insufficient Balance)",quotas:i}}catch(a){return{message:`DeepSeek error: ${a.message}`}}}let af=(0,f.U)("opencode-go").url,ag={rolling:"Rolling",weekly:"Weekly",monthly:"Monthly"};async function ah(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)(af,{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(ag)){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}`}}}let ai=(0,f.U)("opencode-zen").url,aj={rolling:"Rolling",weekly:"Weekly",monthly:"Monthly"};async function ak(a=null,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"OpenCode Zen 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)return{plan:"OpenCode Zen",message:"OpenCode Zen 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 Zen",message:b?"OpenCode Zen billing required for this API key.":"OpenCode Zen access forbidden for this API key."}}if(!c.ok)return{plan:"OpenCode Zen",message:`OpenCode Zen usage API error (${c.status}).`};let e=await c.json().catch(()=>null);if(!e?.usage||"object"!=typeof e.usage)return{plan:"OpenCode Zen",message:"OpenCode Zen usage response did not contain quota data."};let g={};for(let[a,b]of Object.entries(aj)){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 Zen",message:"OpenCode Zen usage response did not contain valid quota data."};return{plan:"OpenCode Zen",quotas:g}}catch(a){return{message:`OpenCode Zen error: ${a.message}`}}}let al=(0,f.U)("groq").url;function am(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 an(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)(al,{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=am(c.headers,"x-ratelimit-limit-requests","x-ratelimit-remaining-requests","x-ratelimit-reset-requests"),f=am(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 ao=c(49804);function ap(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 aq(a,b,c,d=null){let e=Math.max(0,(0,f.IQ)(b,0)),g=ap(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 ar(a){return a&&"object"==typeof a?null!=a.limit?a.limit:a:null}async function as(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,ao.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"]=aq("Edit Predictions",i.used,i.limit,e));let j=h.model_requests||h.modelRequests;if(j){let a=null!=j.limit?j.limit:ar(j)?.limit,b=ap(a);(b.unlimited||b.total>0)&&(g["Hosted Model Requests"]=aq("Hosted Model Requests",j.used,a,e))}let k=j&&!(b=ap(j.limit??ar(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"}`}}}var at=c(12132);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(81756);let aw=(0,f.U)("cursor");function ax(a){return Number(((0,f.IQ)(a,0)/100).toFixed(2))}function ay(a){return Math.max(0,100-Math.max(0,Math.min(100,(0,f.IQ)(a,0))))}async function az(a,b,c,e){return(0,d.proxyAwareFetch)(a,{method:"POST",headers:{...(0,av.JA)(b,c||null,!0),"content-type":"application/json",accept:"application/json"},body:"{}"},e)}async function aA(a){try{return await a.json()}catch{return null}}async function aB(a,b={},c=null){if(!a||"string"!=typeof a||!a.trim())return{message:"Cursor access token not available. Reconnect Cursor to view quota."};let e=a.trim(),g=b?.machineId||null,h=aw.url,i=aw.planInfoUrl,j=aw.authUsageUrl;if(!h)return{message:"Cursor usage endpoint is not configured."};try{let a=await az(h,e,g,c);if(401===a.status||403===a.status)return{plan:"Cursor",message:"Cursor authentication failed. Reconnect the Cursor provider."};let b={},k=null;if(a.ok&&(k=await aA(a),!function(a,b){let c=b?.planUsage;if(!c||"object"!=typeof c)return;let d=(0,f.IQ)(c.limit,0),e=(0,f.IQ)(c.includedSpend??c.totalSpend,0),g=(0,f.IQ)(c.remaining,Math.max(0,d-e)),h=(0,f.eZ)(b.billingCycleEnd);if(d>0){let b=ax(d),f=ax(e),i=ax(g);a["Plan (USD)"]={used:f,total:b,remainingPercentage:null!=c.totalPercentUsed?ay(c.totalPercentUsed):b>0?i/b*100:0,resetAt:h}}else if(null!=c.totalPercentUsed){let b=(0,f.IQ)(c.totalPercentUsed,0);a["Included usage"]={used:b,total:100,remainingPercentage:ay(b),resetAt:h}}if(null!=c.autoPercentUsed){let b=(0,f.IQ)(c.autoPercentUsed,0);a["Auto models (%)"]={used:b,total:100,remainingPercentage:ay(b),resetAt:h}}if(null!=c.apiPercentUsed){let b=(0,f.IQ)(c.apiPercentUsed,0);a["Named models (%)"]={used:b,total:100,remainingPercentage:ay(b),resetAt:h}}Object.keys(a).length}(b,k),!function(a,b){let c=b?.spendLimitUsage;if(!c||"object"!=typeof c)return;let d=(0,f.IQ)(c.individualLimit,0),e=(0,f.IQ)(c.pooledLimit,0),g=(0,f.eZ)(b.billingCycleEnd);if(d>0){let b=ax(c.individualUsed),e=ax(d),h=ax(c.individualRemaining??Math.max(0,d-(0,f.IQ)(c.individualUsed,0)));a["On-demand (USD)"]={used:b,total:e,remainingPercentage:e>0?h/e*100:0,resetAt:g};return}if(e>0){let b=ax(c.pooledUsed),d=ax(e),h=ax(c.pooledRemaining??Math.max(0,e-(0,f.IQ)(c.pooledUsed,0)));a["Team on-demand (USD)"]={used:b,total:d,remainingPercentage:d>0?h/d*100:0,resetAt:g}}}(b,k)),0===Object.keys(b).length&&j){let g=await (0,d.proxyAwareFetch)(j,{method:"GET",headers:{Authorization:`Bearer ${e.includes("::")?e.split("::")[1]:e}`,Accept:"application/json"}},c);if(g.ok)!function(a,b){if(!b||"object"!=typeof b)return;let c=(0,f.eZ)(b.startOfMonth);for(let[d,e]of Object.entries(b)){if(!e||"object"!=typeof e||Array.isArray(e))continue;let b=(0,f.IQ)(e.maxRequestUsage,0);if(b<=0)continue;let g=(0,f.IQ)(e.numRequests,0);a[`${d} requests`]={used:g,total:b,remainingPercentage:b>0?Math.max(0,(b-g)/b*100):0,resetAt:c}}}(b,await aA(g));else if(!a.ok){let b=await a.text().catch(()=>"");return{plan:"Cursor",message:`Cursor usage API error (${a.status})${b?`: ${b.slice(0,120)}`:""}`}}}if(0===Object.keys(b).length)return{plan:"Cursor",message:k?.displayMessage||"Cursor connected. No quota data returned for this plan."};let l="Cursor";if(i){let a=await az(i,e,g,c).catch(()=>null);if(a?.ok){let b=await aA(a),c=b?.planInfo?.planName;"string"==typeof c&&c.trim()&&(l=`Cursor ${c.trim()}`)}}return{plan:l,quotas:b}}catch(a){return{message:`Cursor error: ${a.message}`}}}var aC=c(53225);let aD={international:(0,f.U)("glm").url,china:(0,f.U)("glm-cn").url};async function aE(a,b,c=null){if(!a)return{message:"GLM API key not available."};let e=aD["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 aF=(process.env.COMMAND_CODE_API_BASE_URL||"https://api.commandcode.ai").replace(/\/$/,""),aG={"individual-go":"Go","individual-goat":"GOAT","individual-pro":"Pro","individual-pro-v1":"Pro","individual-provider":"Provider","individual-max":"Max","individual-ultra":"Ultra","teams-pro":"Teams Pro"},aH={"individual-go":10,"individual-goat":70,"individual-pro":30,"individual-pro-v1":80,"individual-provider":15,"individual-max":150,"individual-ultra":300,"teams-pro":40};function aI(a,b){let c=new URLSearchParams(Object.entries(b||{}).filter(([,a])=>null!=a)).toString();return c?`${a}?${c}`:a}function aJ(a){if(!a||"object"!=typeof a)return null;let b=(0,f.IQ)(a.used,0),c=(0,f.IQ)(a.cap,0);return c<=0&&b<=0?null:{used:b,total:c,remaining:Math.max(0,c-b),unlimited:!1,resetAt:(0,f.eZ)(a.resetAt)}}async function aK(a,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={Authorization:`Bearer ${a.trim()}`,Accept:"application/json"},e=async a=>await (0,d.proxyAwareFetch)(aF+a,{method:"GET",headers:c},b);try{let a=await e(aI("/alpha/whoami",{limits:"1"}));if(401===a.status||403===a.status)return{plan:"Command Code",message:"Command Code authentication failed. Check the API key."};if(!a.ok)return{plan:"Command Code",message:`Command Code usage API error (${a.status})`};let b=await a.json().catch(()=>({})),c=b?.org?.id??null,[d,g]=await Promise.all([e(aI("/alpha/billing/credits",{orgId:c})),e(aI("/alpha/billing/subscriptions",{orgId:c}))]);if(401===d.status||403===d.status||401===g.status||403===g.status)return{plan:"Command Code",message:"Command Code authentication failed. Check the API key."};if(!d.ok)return{plan:"Command Code",message:`Command Code credits API error (${d.status})`};if(!g.ok)return{plan:"Command Code",message:`Command Code subscriptions API error (${g.status})`};let h=await d.json().catch(()=>({})),i=await g.json().catch(()=>({})),j=i?.data?.planId??null,k=j&&aG[j]||j||"Command Code",l=j&&aH[j]||0,m=h?.credits||{},n=(0,f.IQ)(m.monthlyCredits,0)+(0,f.IQ)(m.purchasedCredits,0)+(0,f.IQ)(m.freeCredits,0),o=l>0?Math.max(0,l-n):0,p={};p.Credits={used:o,total:l>0?l:n,remaining:n,unlimited:l<=0,resetAt:(0,f.eZ)(i?.data?.currentPeriodEnd)};let q=aJ(h?.windowLimits?.fiveHour);q&&(p["Session (5h)"]=q);let r=aJ(h?.windowLimits?.weekly);return r&&(p.Weekly=r),{plan:k,quotas:p}}catch(a){return{message:`Command Code error: ${a.message}`}}}var aL=c(4043),aM=c(41004);let aN=new Map,aO=new Map(aL.default.map(a=>[a.id,a.display?.name||a.id]));async function aP(a,b,c){let d=await (0,f.u9)(a,{method:"GET",headers:{Authorization:`Bearer ${b.trim()}`,Accept:"application/json"}},aM.ZL.fetchTimeoutMs,c),e=await d.json().catch(()=>null);return{status:d.status,data:e}}function aQ(a){return new Date(a).toISOString().slice(0,10)}function aR(a,b){return!Number.isFinite(b)||b<=0?null:Math.max(0,Math.min(100,Math.round(a/b*100)))}async function aS(a,b,c,d){let e=await aP(`${a.apiBase}/dashboard/billing/subscription`,b,c);if(401===e.status||403===e.status)return d.value=!0,null;if(200!==e.status||!e.data||"object"!=typeof e.data)return null;let g=(0,f.IQ)(e.data.system_hard_limit_usd??e.data.hard_limit_usd,0/0);if(!Number.isFinite(g))return null;let h=aM.ZL.usageWindowDays,i=aQ(Date.now()-864e5*h),j=aQ(Date.now()),k=await aP(`${a.apiBase}/dashboard/billing/usage?start_date=${i}&end_date=${j}`,b,c);if(401===k.status||403===k.status)return d.value=!0,null;let l=Number.isFinite(k.status)&&200===k.status?(0,f.IQ)(k.data?.total_usage,0)/100:0,m=Math.max(0,g-l);return{flavor:"openai-billing",plan:"openai-billing",quotas:{"Wallet (USD)":{used:Math.round(100*l)/100,total:g,remainingPercentage:aR(m,g),resetAt:null,unlimited:!1,isCreditBalance:!0,currency:"USD"}}}}async function aT(a,b,c,d){let e;try{e=new URL(a.apiBase).origin}catch{return null}let g=await aP(`${e}/api/user/self`,b,c);if(401===g.status||403===g.status)return d.value=!0,null;if(200!==g.status||!g.data||"object"!=typeof g.data)return null;let h=g.data.data&&"object"==typeof g.data.data?g.data.data:g.data,i=aM.ZL.newApiQuotaPerUnit,j=(0,f.IQ)(h.quota??h.remaining_quota,0/0),k=(0,f.IQ)(h.used_quota??h.usedQuota,0/0);if(!Number.isFinite(j)&&!Number.isFinite(k))return null;let l=Number.isFinite(k)?k/i:0,m=Number.isFinite(j)?l+j/i:l;return{flavor:"new-api",plan:"new-api",quotas:{"Wallet (USD)":{used:Math.round(100*l)/100,total:Math.round(100*m)/100,remainingPercentage:aR(m-l,m),resetAt:null,unlimited:!1,isCreditBalance:!0,currency:"USD"}}}}async function aU(a,b,c){let d=a.validateUrl||`${a.apiBase}/models`,e=await (0,f.u9)(d,{method:"GET",headers:{Authorization:`Bearer ${b.trim()}`,Accept:"application/json"}},aM.ZL.fetchTimeoutMs,c);if(401===e.status||403===e.status)return{auth:!0};if(200!==e.status)return null;let g=(a,b,c)=>{let d=e.headers.get(a),g=e.headers.get(b);if(null===d||null===g)return null;let h=Number(d),i=Number(g);return Number.isFinite(h)&&Number.isFinite(i)?{used:Math.max(0,h-i),total:h,resetAt:(0,f.Ny)(e.headers.get(c)),unlimited:!1}:null},h=g("x-ratelimit-limit-requests","x-ratelimit-remaining-requests","x-ratelimit-reset-requests"),i=g("x-ratelimit-limit-tokens","x-ratelimit-remaining-tokens","x-ratelimit-reset-tokens");if(!h&&!i)return null;let j={};return h&&(j["Requests (rate limit)"]={...h,isCreditBalance:!1}),i&&(j["Tokens (rate limit)"]={...i,isCreditBalance:!1}),{flavor:"headers",plan:"headers",quotas:j,auth:!1}}async function aV({connectionId:a,windowDays:b}){if(!a)return null;try{let{getUsageTotalsForConnection:d}=await Promise.resolve().then(c.bind(c,99703)),e=await d(a,864e5*b);if(!e)return null;let f={total:null,resetAt:null,isCreditBalance:!1,unlimited:!0};return{flavor:"local",plan:"local",quotas:{[`Tokens \xb7 local history (${b}d)`]:{...f,used:e.tokens},[`Requests \xb7 local history (${b}d)`]:{...f,used:e.requests}}}}catch{return null}}async function aW({provider:a,connectionId:b=null,apiKey:c,proxyOptions:d=null}={}){let f=aO.get(a)||a;try{let g,h,i,j;if(!c||"string"!=typeof c||!c.trim())return{plan:f,message:`${f} API key not available. Add a key to view usage.`};let k=(g=e.xq[a]||{},h="string"==typeof g.validateUrl?g.validateUrl:null,(i=g.usage&&g.usage.apiBase?g.usage.apiBase.replace(/\/$/,""):h?h.replace(/\/models\/?$/,"").replace(/\/$/,""):null)?{apiBase:i,validateUrl:h,pinned:g.usage&&g.usage.flavor||null}:null);if(!k)return{plan:f,message:`${f} usage endpoints are not configured.`};let l={value:!1},m=null;if(!("local"!==k.pinned&&(j=aN.get(a))&&Date.now()<j)&&"local"!==k.pinned){for(let[a,b]of[["openai-billing",()=>aS(k,c,d,l)],["new-api",()=>aT(k,c,d,l)],["headers",()=>aU(k,c,d)]])if(!k.pinned||k.pinned===a){if(m=await b(),m?.auth){l.value=!0,m=null;continue}if(m)break}}if(m||l.value||(m=await aV({connectionId:b,windowDays:aM.ZL.usageWindowDays})),m)return"local"!==m.flavor&&aN.delete(a),{plan:"headers"===m.plan?`${f} (rate limit)`:f,quotas:m.quotas};if(l.value)return{plan:f,message:`${f} authentication failed. Check the API key.`};return aN.set(a,Date.now()+aM.ZL.unsupportedTtlMs),{plan:f,message:`${f} doesn't expose a usage API yet — quota appears once they add billing endpoints.`}}catch(a){return{plan:f,message:`${f} usage error: ${a.message}`}}}let aX=(0,f.U)("vercel-ai-gateway").url;async function aY(a){try{return{message:"iFlow connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch iFlow usage."}}}let aZ={session:"Session (5h)",weekly:"Weekly (7d)",monthly:"Monthly"};async function a$(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(aZ)){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.round(100*Math.max(0,Math.min(1,Number(a)||0)));return{used:c,total:100,remainingPercentage:100-c,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 a_(a,b=null){if(!a)return{message:"Vercel AI Gateway API key not available."};try{let c=await (0,d.proxyAwareFetch)(aX,{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 a0(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=g.addOnQuota||{},k=Number(j.total)||0,l=Number.isFinite(Number(g.expiresAt))&&Number(g.expiresAt)>0?Number(g.expiresAt):null,m=2534022144e5===l,n=l&&!m?new Date(l).toISOString():null,o={user:{total:Number(h.total)||0,used:Number(h.used)||0,remaining:Number(h.remaining)||0,unit:h.unit||"credits",resetAt:n,neverExpires:m},organization:{total:Number(i.total)||0,used:Number(i.used)||0,remaining:Number(i.remaining)||0,unit:i.unit||"credits",resetAt:n,neverExpires:m}};return k>0&&(o.addOn={total:k,used:Number(j.used)||0,remaining:Number(j.remaining)||0,unit:j.unit||"credits",resetAt:null,neverExpires:!1,detailUrl:j.detailUrl||null}),{quotas:o,totalUsagePercentage:Number(g.totalUsagePercentage)||0,isQuotaExceeded:!!g.isQuotaExceeded,expiresAt:l}}catch(a){return{message:`Qoder connected. Unable to fetch usage: ${a.message}`}}}let a1={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.providerSpecificData,a.proxyOptions),claude:a=>(0,k.gl)(a.accessToken,a.proxyOptions,{force:a.force}),codex:a=>(0,l.Tl)(a.accessToken,a.proxyOptions),kiro:a=>n(a.accessToken,a.providerSpecificData,a.proxyOptions),qoder:a=>a2(a),"qoder-cn":a=>a2(a),iflow:a=>aY(a.accessToken),ollama:a=>a$(a.apiKey,a.providerSpecificData,a.proxyOptions),glm:a=>aE(a.apiKey||a.accessToken,a.provider,a.proxyOptions),"glm-cn":a=>aE(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),"minimax-code":a=>J(a),"minimax-code-global":a=>J(a),"vercel-ai-gateway":a=>a_(a.apiKey,a.proxyOptions),"codebuddy-cn":a=>M(a.accessToken,a.apiKey,a.providerSpecificData,a.proxyOptions),"codebuddy-intl":a=>N(a.accessToken,a.apiKey,a.providerSpecificData,a.proxyOptions),"grok-cli":a=>_(a.accessToken,a.providerSpecificData,a.proxyOptions),kimi:a=>ad(a.accessToken,a.apiKey,a.proxyOptions,a.providerSpecificData),"opencode-go":a=>ah(a.apiKey,a.proxyOptions),"opencode-zen":a=>ak(a.apiKey,a.proxyOptions),deepseek:a=>ae(a.apiKey,a.proxyOptions),groq:a=>an(a.apiKey,a.proxyOptions),zed:a=>as(a.accessToken,a.providerSpecificData,a.proxyOptions),"xiaomi-mimo":a=>au(a.accessToken,a.providerSpecificData,a.proxyOptions),commandcode:a=>aK(a.apiKey,a.proxyOptions),cursor:a=>aB(a.accessToken,a.providerSpecificData,a.proxyOptions),tokenharbor:a=>aW(a),"nara-router":a=>aW(a),apmix:a=>aW(a),apinex:a=>aW(a),tiarina:a=>aW(a),xkiro:a=>aW(a)};async function a2(a){let b=await (0,aC._M)(a,a.proxyOptions).catch(()=>null);return a0(b?.accessToken||a.accessToken,a.proxyOptions,a.provider||"qoder")}async function a3(a,b=null,c={}){let{provider:d,accessToken:e,apiKey:f,providerSpecificData:g,projectId:h}=a,i={...g||{},...h?{projectId:h}:{}},j=a1[d];return j?await j({provider:d,connectionId:a.id,accessToken:e,apiKey:f,providerSpecificData:g,providerDataWithProjectId:i,proxyOptions:b,force:!0===c.force}):{message:`Usage API not implemented for ${d}`}}},18271:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>n,refreshAndUpdateCredentials:()=>m});var e=c(48895),f=c(89718),g=c(17116),h=c(8521),i=c(55330),j=c(39326),k=c(40615),l=a([e,i]);[e,i]=l.then?(await l)():l;let o=["expired","authentication","unauthorized","401","re-authorize"];async function m(a,b=!1,c=null){let d=a.id?await (0,f.Mc)(a.id):null;d&&(a=d);let e=(0,i.SB)(a.provider),g={accessToken:a.accessToken,refreshToken:a.refreshToken,idToken:a.idToken,expiresAt:a.expiresAt||a.tokenExpiresAt,lastRefreshAt:a.lastRefreshAt,connectionId:a.id,providerSpecificData:a.providerSpecificData,copilotToken:a.providerSpecificData?.copilotToken,copilotTokenExpiresAt:a.providerSpecificData?.copilotTokenExpiresAt};if(!(b||e.needsRefresh(g)))return{connection:a,refreshed:!1};let j=await e.refreshCredentials(g,console,c);if(j&&(0,h.jT)(j))throw Error("Refresh token invalid or reused. Please re-authorize the connection.");if(!j){if(a.accessToken)return{connection:a,refreshed:!1};throw Error("Failed to refresh credentials. Please re-authorize the connection.")}let k={updatedAt:new Date().toISOString()};j.accessToken&&(k.accessToken=j.accessToken),j.refreshToken&&(k.refreshToken=j.refreshToken),j.idToken&&(k.idToken=j.idToken),j.lastRefreshAt&&(k.lastRefreshAt=j.lastRefreshAt),j.expiresIn?(k.expiresAt=new Date(Date.now()+1e3*j.expiresIn).toISOString(),k.expiresIn=j.expiresIn):j.expiresAt&&(k.expiresAt=j.expiresAt);let l={...j.providerSpecificData||{},...j.copilotToken?{copilotToken:j.copilotToken}:{},...j.copilotTokenExpiresAt?{copilotTokenExpiresAt:j.copilotTokenExpiresAt}:{}};return Object.keys(l).length>0&&(k.providerSpecificData={...a.providerSpecificData||{},...l}),await (0,f.updateProviderConnection)(a.id,k),{connection:{...a,...k,providerSpecificData:k.providerSpecificData||a.providerSpecificData},refreshed:!0}}async function n(a,{params:b}){let c;try{let{connectionId:d}=await b,e="1"===new URL(a.url).searchParams.get("force");if(!(c=await (0,f.Mc)(d)))return Response.json({error:"Connection not found"},{status:404});let h="oauth"===c.authType,i=("apikey"===c.authType||"api_key"===c.authType)&&k.jO.includes(c.provider);if(!h&&!i)return Response.json({message:"Usage not available for this connection"});let l=await (0,j.B)(c.providerSpecificData),n={connectionProxyEnabled:!0===l.connectionProxyEnabled,connectionProxyUrl:l.connectionProxyUrl||"",connectionNoProxy:l.connectionNoProxy||"",vercelRelayUrl:l.vercelRelayUrl||"",strictProxy:!1};if(h)try{c=(await m(c,!1,n)).connection}catch(a){return console.error("[Usage API] Credential refresh failed:",a),Response.json({error:`Credential refresh failed: ${a.message}`},{status:401})}let p=await (0,g.my)(c,n,{force:e});if(h&&function(a){if(!a?.message)return!1;let b=a.message.toLowerCase();return o.some(a=>b.includes(a))}(p)&&c.refreshToken)try{c=(await m(c,!0,n)).connection,p=await (0,g.my)(c,n,{force:e})}catch(a){console.warn(`[Usage] ${c.provider}: force refresh failed: ${a.message}`)}return Response.json(p)}catch(b){let a=c?.provider??"unknown";return console.warn(`[Usage] ${a}: ${b.message}`),Response.json({error:b.message},{status:500})}}d()}catch(a){d(a)}})},69788:(a,b,c)=>{c.d(b,{Ut:()=>l,gl:()=>j});var d=c(39609),e=c(74129),f=c(24295);let g={oauthUsageUrl:(0,f.U)("claude").oauthUrl,usageUrl:(0,f.U)("claude").orgUrl,settingsUrl:(0,f.U)("claude").settingsUrl,profileUrl:(0,f.U)("claude").profileUrl,resetUrl:(0,f.U)("claude").resetUrl,apiVersion:e.b8,userAgent:`claude-cli/${e.t4} (external, cli)`},h=new Map,i=new Map;async function j(a,b=null,c={}){let d=c?.force===!0;if(!d&&a){let b=i.get(a);if(b?.promise)return b.promise;if(b&&b.expiresAt>Date.now())return b.result}let e=!d&&a&&i.get(a)?.result||null,f=(async()=>{let c=await k(a,b);return a&&c?.quotas?(i.set(a,{result:c,expiresAt:Date.now()+3e5}),c):e||c})();return a&&i.set(a,{promise:f}),f}async function k(a,b=null){try{let c=h.get(a);if(c&&Date.now()<c)return await m(a,b);let e=await (0,d.proxyAwareFetch)(`${g.oauthUsageUrl}?cedar_ember=1`,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":g.apiVersion,"User-Agent":g.userAgent}},b);if(e.ok){let a=await e.json(),b={},c=a=>a&&"object"==typeof a&&"number"==typeof a.utilization,d=a=>{let b=a.utilization,c=Math.max(0,100-b);return{used:b,total:100,remaining:c,remainingPercentage:c,resetAt:(0,f.eZ)(a.resets_at),unlimited:!1}};for(let[e,f]of(c(a.five_hour)&&(b["session (5h)"]=d(a.five_hour)),c(a.seven_day)&&(b["weekly (7d)"]=d(a.seven_day)),Object.entries(a)))if(e.startsWith("seven_day_")&&"seven_day"!==e&&c(f)){let a=e.replace("seven_day_","");b[`weekly ${a} (7d)`]=d(f)}if(Array.isArray(a.limits))for(let c of a.limits){if(c?.kind!=="weekly_scoped")continue;let a=String(c?.scope?.model?.display_name||"").trim().toLowerCase();a&&"number"==typeof c.percent&&(b[`weekly ${a} (7d)`]=d({utilization:Math.max(0,Math.min(100,c.percent)),resets_at: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}}return 429===e.status&&h.set(a,Date.now()+18e4),console.warn(`[Claude Usage] OAuth endpoint returned ${e.status}, falling back to legacy`),await m(a,b)}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}async function l(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 e={Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":g.apiVersion,"User-Agent":g.userAgent,"Content-Type":"application/json"},f=await (0,d.proxyAwareFetch)(g.profileUrl,{method:"GET",headers:e},c),h=await f.json().catch(()=>null),j=h?.organization?.uuid;if(!f.ok||!j)throw Error(`Cannot resolve Claude organization (${f.status}).`);let k=await (0,d.proxyAwareFetch)(g.resetUrl.replace("{org_id}",j),{method:"POST",headers:e,body:JSON.stringify({program:"cedar_ember",grant_id:b,request_id:crypto.randomUUID()})},c),m=await k.json().catch(()=>null);return i.delete(a),{ok:k.ok&&m?.result==="reset",status:k.status,result:m?.result||null,reason:m?.reason||null,resetsLeft:m?.resets_left??null,message:m?.error?.message||null}}async function m(a,b=null){try{let c=await (0,d.proxyAwareFetch)(g.settingsUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":g.apiVersion}},b);if(c.ok){let e=await c.json();if(e.organization_id){let c=await (0,d.proxyAwareFetch)(g.usageUrl.replace("{org_id}",e.organization_id),{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":g.apiVersion}},b);if(c.ok){let a=await c.json();return{plan:e.plan||"Unknown",organization:e.organization_name,quotas:a}}}return{plan:e.plan||"Unknown",organization:e.organization_name,message:"Claude connected. Usage details require admin access."}}return{message:"Claude connected. Usage API requires admin permissions."}}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}},85081:(a,b,c)=>{c.d(b,{Ay:()=>j});var d=c(77598);let e=function(a){return Array.isArray(a)?a=Buffer.from(a):"string"==typeof a&&(a=Buffer.from(a,"utf8")),(0,d.createHash)("sha1").update(a).digest()},f=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,g=function(a){let b;if(!("string"==typeof a&&f.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};var h=c(50122);function i(a,b,c,d){var f=b,i=d;let j="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,k="string"==typeof f?g(f):f;if("string"==typeof f&&(f=g(f)),f?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+j.length);if(l.set(k),l.set(j,k.length),(l=e(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,c){if((i=i||0)<0||i+16>c.length)throw RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);for(let a=0;a<16;++a)c[i+a]=l[a];return c}return(0,h.k)(l)}i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let j=i}};
1
+ "use strict";exports.id=7211,exports.ids=[7211],exports.modules={6551:(a,b,c)=>{c.d(b,{RO:()=>m,Tl:()=>k,Yt:()=>l});var d=c(39609),e=c(24295);let f={usageUrl:(0,e.U)("codex").url,resetCreditsUrl:(0,e.U)("codex").resetCreditsUrl,resetCreditsConsumeUrl:(0,e.U)("codex").resetCreditsConsumeUrl};function g(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 h(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a.rate_limit&&"object"==typeof a.rate_limit?a.rate_limit:a}function i(a){let b=Math.max(0,Math.min(100,(0,e.IQ)(a?.used_percent??a?.percent_used,0)));return{used:b,total:100,remaining:Math.max(0,100-b),resetAt:(0,e.eZ)(a?.reset_at??a?.resets_at??a?.resetAt??null),unlimited:!1}}function j(a,b,c){let d=h(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"]=i(e),g=!0),f&&(a[b?`${b}_weekly`:"weekly"]=i(f),g=!0),g}async function k(a,b=null){try{let c=await (0,d.proxyAwareFetch)(f.usageUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Codex connected. Usage API temporarily unavailable (${c.status}).`};let g=await c.json(),i=g.rate_limit||g.rate_limits||g.rate_limits_by_limit_id?.codex||{},k=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}(g),l=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}(g),m=Math.max(0,(0,e.IQ)(g.rate_limit_reset_credits?.available_count,0)),n={};return j(n,"",i),j(n,"review",k),j(n,"spark",l),{plan:g.plan_type||g.summary?.plan||"unknown",limitReached:h(i)?.limit_reached||!1,reviewLimitReached:h(k)?.limit_reached||!1,sparkLimitReached:h(l)?.limit_reached||!1,resetCredits:{availableCount:m},quotas:n}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function l(a,b=null,c=null){var h,i;if(!a)throw Error("No Codex access token available. Please re-authorize the connection.");let j=c?.workspaceId||c?.accountId||c?.chatgptAccountId||null,k={Authorization:`Bearer ${a}`,Accept:"application/json","OpenAI-Beta":"codex-1",originator:"codex_cli_rs"};j&&(k["ChatGPT-Account-ID"]=j);let m=await (0,d.proxyAwareFetch)(f.resetCreditsUrl,{method:"GET",headers:k},b),n=null;try{n=await m.json()}catch{n=null}if(!m.ok)throw Error((h=n?.message||n?.error||n?.detail,i=`Codex reset credits API unavailable (${m.status}).`,h?"string"==typeof h?h:"string"==typeof h.message?h.message:JSON.stringify(h):i));let o=Array.isArray(n?.credits)?n.credits:[];return{availableCount:Math.max(0,(0,e.IQ)(n?.available_count??n?.availableCount,0)),credits:o.map(a=>({status:String(a?.status||"unknown"),grantedAt:g(a?.granted_at??a?.grantedAt),expiresAt:g(a?.expires_at??a?.expiresAt)}))}}async function m(a,b,c=null){let g;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.");let h=null;try{g=await (0,d.proxyAwareFetch)(f.resetCreditsConsumeUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({redeem_request_id:b})},c);let e=await g.text();h=e?JSON.parse(e):null}catch(a){throw Error(`Failed to consume Codex reset credit: ${a.message}`)}let i=h?.code||null,j=(0,e.IQ)(h?.windows_reset,0);return{ok:g.ok&&("reset"===i||j>0),noCredit:g.ok&&"no_credit"===i,status:g.status,code:i,windowsReset:j,message:h?.message||null,raw:h}}},17116:(a,b,c)=>{c.d(b,{Ut:()=>k.Ut,RO:()=>l.RO,Yt:()=>l.Yt,my:()=>a5});var d=c(39609),e=c(26070),f=c(24295);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(91211),k=c(69788),l=c(6551),m=c(6382);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."}}var w=c(77598);let x="I*7Cf%WZ#S&%1RlZJ&C2",y={"minimax-code":{agent:"https://agent.minimaxi.com",platform:"https://www.minimaxi.com",lang:"zh"},"minimax-code-global":{agent:"https://agent.minimax.io",platform:"https://platform.minimax.io",lang:"en"}},z=a=>(0,w.createHash)("md5").update(a).digest("hex"),A=a=>a&&"object"==typeof a&&!Array.isArray(a)?a:void 0,B=a=>"number"==typeof a&&Number.isFinite(a)?a:void 0,C=(a,b)=>"string"==typeof a?.[b]&&a[b].trim()?a[b].trim():void 0;class D extends Error{}async function E(a,b,c,d){let e,{url:f,init:g}=function(a,b,{access:c,userID:d,body:e,now:f=Date.now(),tzOffsetSec:g=-60*new Date().getTimezoneOffset()}={}){let h=new URL(b,a.agent);h.search=new URLSearchParams({device_platform:"mcode",biz_id:"3",app_id:"3001",version_code:"22201",unix:String(f),timezone_offset:String(g),sys_language:a.lang,lang:a.lang,device_id:"0",os_name:process.platform,browser_name:"mcode",user_id:String(d??"").trim()||"0",client:"mcode"}).toString();let i=h.pathname+h.search,j=Math.floor(f/1e3),k=void 0===e?void 0:JSON.stringify(e),l={Accept:"application/json","Content-Type":"application/json","User-Agent":"MiniMaxCode",Authorization:`Bearer ${c}`,yy:void 0===k?z(`${encodeURIComponent(i)}_{}${z(String(f))}ooui`):z(`${encodeURIComponent(i)}_${k}${z(String(f))}ooui`),"x-timestamp":String(j),"x-signature":void 0===k?z(`${j}${x}`):z(`${j}${x}${k}`)};return{url:h.toString(),init:{method:void 0===k?"GET":"POST",headers:l,...void 0===k?{}:{body:k}}}}(a,b,c),h=await fetch(f,{...g,signal:AbortSignal.timeout(15e3)});if(401===h.status||403===h.status)throw new D(`${d}: the sign-in was refused (HTTP ${h.status})`);if(!h.ok)throw Error(`${d}: HTTP ${h.status}`);try{e=A(JSON.parse(await h.text()))}catch{}if(!e)throw Error(`${d}: not JSON`);var i=e;let j=A(i?.statusInfo);if("number"==typeof j?.code&&0!==j.code){if(1000048===j.code)throw new D(`${d}: the sign-in was refused`);throw Error(`${d}: ${C(j,"message")??C(j,"msg")??"status "+j.code}`)}let k=A(i?.base_resp);if("number"==typeof k?.status_code&&0!==k.status_code)throw Error(`${d}: ${C(k,"status_msg")??"status "+k.status_code}`);return i}async function F(a,b){let c=await E(a,"/v1/api/user/info",{access:b},"account"),d=A(c.data),e=A(d?.userInfo)??A(d?.user_info)??A(c.userInfo)??A(c.user_info),f=C(e,"realUserID")??C(e,"real_user_id");if(!f)throw Error("account: no user id in the reply");let g=(...a)=>a.map(a=>C(e,a)).find(Boolean);return{realUserID:f,email:g("userEmail","email","userMail","user_email"),name:g("name","userName","user_name")}}function G(a){let b,c=A(a?.data),d=b=>a?.[b]??c?.[b],e=a=>"string"==typeof d(a)&&d(a).trim()?d(a).trim():void 0,f="boolean"==typeof d("has_token_plan")?d("has_token_plan"):void 0,g=B(d("token_plan_expires_at")),h=C(A(a?.op_credit_summary)??A(c?.op_credit_summary),"total_remaining_amount")??("string"==typeof(b=d("opcredit_balance"))&&b.trim()?b.trim():"number"==typeof b&&Number.isFinite(b)?String(b):void 0);return{...void 0!==f?{hasTokenPlan:f}:{},...e("op_group_id")?{opGroupId:e("op_group_id")}:{},...e("token_plan_tier")?{tier:e("token_plan_tier")}:{},...g>0?{expiresAt:g}:{},...void 0!==h?{balance:h}:{}}}async function H(a,b,c){let d;try{let e=await E(a,"/matrix/api/v1/user/get_user_extra_info",{access:b,userID:c,body:{}},"workspace");for(let a of Array.isArray(e.workspaces)?e.workspaces:Array.isArray(e.data?.workspaces)?e.data.workspaces:[]){if(0!==B(a?.workspace_type))continue;let b="number"==typeof a.workspace_id&&a.workspace_id>=0?a.workspace_id:C(a,"workspace_id");if(void 0!==b){d={id:b,m:G(a)};break}}}catch(d){if(d instanceof D)throw d;return G(await E(a,"/matrix/api/v1/commerce/get_membership_info",{access:b,userID:c,body:{}},"membership"))}if(!d)return{};try{let e=G(await E(a,"/matrix/api/v1/commerce/get_membership_info",{access:b,userID:c,body:{workspace_id:d.id}},"membership")),f=!0===d.m.hasTokenPlan||!0===e.hasTokenPlan||!1!==d.m.hasTokenPlan&&!1!==e.hasTokenPlan&&void 0;return{...d.m,...e,...void 0!==f?{hasTokenPlan:f}:{},...d.m.opGroupId||e.opGroupId?{opGroupId:d.m.opGroupId??e.opGroupId}:{}}}catch(a){if(a instanceof D)throw a;return d.m}}async function I(a,b,c){let d=await fetch(`${a.platform}/v1/api/openplatform/coding_plan/remains`,{headers:{Accept:"application/json",Authorization:`Bearer ${b}`,...c?{"X-Group-Id":c}:{}},signal:AbortSignal.timeout(15e3)});if(!d.ok)throw Error(`M Plan: HTTP ${d.status}`);return function(a){let b=A(a?.base_resp);if(b&&"number"==typeof b.status_code&&0!==b.status_code)throw Error(C(b,"status_msg")??`MiniMax said ${b.status_code}`);if(!b&&!Array.isArray(a?.model_remains))throw Error("no plan in the reply");let c=a=>a<1e12?1e3*a:a,d=a=>0===B(a),e=[];for(let b of Array.isArray(a.model_remains)?a.model_remains:[]){let a=String(b?.model_name??"").trim();if(!a||3===B(b.current_interval_status)&&3===B(b.current_weekly_status)&&d(b.current_interval_total_count)&&d(b.current_weekly_total_count))continue;let f="general"===a.toLowerCase();for(let d of[{left:B(b.current_interval_remaining_percent),status:B(b.current_interval_status)??0,start:B(b.start_time)??0,end:B(b.end_time)??0,week:!1},{left:B(b.current_weekly_remaining_percent),status:B(b.current_weekly_status)??0,start:B(b.weekly_start_time)??0,end:B(b.weekly_end_time)??0,week:!0}]){if(3===d.status||void 0===d.left&&2!==d.status)continue;let b=2===d.status?0:Math.max(0,Math.min(100,d.left)),g=0;d.start>0&&d.end>d.start?g=c(d.end)-c(d.start):d.week&&(g=6048e5);let h=d.week?"7 days":g>864e5&&g%864e5==0?`${g/864e5} days`:g>=36e5&&g%36e5==0?`${g/36e5} hours`:g>0?`${Math.floor(g/6e4)} minutes`:"Allowance",i=f?h:`${a[0].toUpperCase()+a.slice(1)} \xb7 ${h}`;e.push({name:i,used:100-b,total:100,remaining:b,remainingPercentage:b,resetAt:d.end>0?new Date(c(d.end)).toISOString():null})}}return e}(await d.json().catch(()=>null))}async function J(a){let b=y[a.provider],c=a.accessToken;if(!b||!c)return{message:`Usage API not implemented for ${a.provider}`};try{let d=C(a.providerSpecificData||{},"realUserID"),e=null;d||(d=(e=await F(b,c)).realUserID);let f=await H(b,c,d),g={};if(void 0!==f.balance){let a=Number(f.balance);g.Credits={used:0,total:Number.isFinite(a)?a:0,isCreditBalance:!0,currency:"credits"}}if(f.hasTokenPlan&&f.opGroupId)try{for(let a of(await I(b,c,f.opGroupId)))g[a.name]=a}catch(a){g["M Plan windows"]={name:"M Plan windows",used:0,total:0,resetAt:null,message:a?.message??String(a)}}return 0===Object.keys(g).length&&(g.Plan={name:"Plan",used:0,total:0,resetAt:null,message:!1===f.hasTokenPlan?"Free account (no M Plan)":"No usage data returned"}),{quotas:g,plan:f.hasTokenPlan?f.tier?`M Plan ${f.tier}`:"M Plan":"Free",...f.expiresAt>0?{planExpiresAt:new Date(f.expiresAt<1e12?1e3*f.expiresAt:f.expiresAt).toISOString()}:{},user:e?.email||e?.name||C(a.providerSpecificData||{},"realUserID")||d||null}}catch(a){if(a instanceof D)return{message:`MiniMax Code sign-in expired — unauthorized, please re-authorize (${a.message})`};return{message:a?.message??String(a)}}}function K(a,b){let c=Number(a??b);return Number.isFinite(c)?c:0}async function L(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:K(a.CycleCapacityUsedPrecise,a.CycleCapacityUsed),total:K(a.CycleCapacitySizePrecise,a.CycleCapacitySize),resetAt:(0,f.eZ)(a.CycleEndTime),unlimited:!1,recurring:!0}}),o.forEach((a,b)=>{p[`Bonus Pack ${b+1}`]={used:K(a.CapacityUsedPrecise,a.CapacityUsed),total:K(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 M(a,b,c,d=null){return L("codebuddy-cn",a,b,c,d)}async function N(a,b,c,d=null){return L("codebuddy-intl",a,b,c,d)}var O=c(90737);function P(a,b=0){if(!Buffer.isBuffer(a)||b<0||a.length-b<5)return null;let c=a[b];if(0!==c&&1!==c&&128!==c&&129!==c)return null;let d=b+5,e=a.readUInt32BE(b+1);return e>a.length-d?null:{flag:c,payloadStart:d,payloadLength:e}}function Q(a,b){let c=0n,d=0n,e=b;for(;;){if(e>=a.length)return null;let b=a[e];if(c|=BigInt(127&b)<<d,e+=1,(128&b)==0)break;if((d+=7n)>70n)return null}return{value:Number(c),next:e}}function R(a,b,c,d){return b+c>a.length?null:{field:{wireType:d,bytes:a.subarray(b,b+c)},next:b+c}}function S(a){let b=new Map,c=0;for(;c<a.length;){let d=function(a,b){let c=Q(a,b);if(!c)return null;let d=c.value>>>3,e=7&c.value;if(0===d)return null;if(0===e){let b=Q(a,c.next);return b?{fieldNumber:d,field:{wireType:0,value:b.value},next:b.next}:null}if(2===e){let b=function(a,b){let c=Q(a,b);if(!c)return null;let{value:d,next:e}=c;return d<0||e+d>a.length?null:{field:{wireType:2,bytes:a.subarray(e,e+d)},next:e+d}}(a,c.next);return b?{fieldNumber:d,field:b.field,next:b.next}:null}if(1===e){let b=R(a,c.next,8,1);return b?{fieldNumber:d,field:b.field,next:b.next}:null}if(5===e){let b=R(a,c.next,4,5);return b?{fieldNumber:d,field:b.field,next:b.next}:null}return null}(a,c);if(!d)return null;b.set(d.fieldNumber,d.field),c=d.next}return b}let T=(0,f.U)("grok-cli"),U=T.url||"https://cli-chat-proxy.grok.com/v1/billing?format=credits",V=T.userUrl||"https://cli-chat-proxy.grok.com/v1/user?include=subscription",W=Buffer.from([0,0,0,0,0]);function X(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 Y(a,b){let c=a?.subscriptionTier??a?.subscription_tier??a?.subscription?.tier??b?.subscriptionTier??b?.subscription_tier;return"string"==typeof c?c.trim():""}function Z({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}}async function $(a,b=null){if(!a)return null;try{let c=await (0,d.proxyAwareFetch)("https://grok.com/grok_api_v2.GrokBuildBilling/GetGrokCreditsConfig",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/grpc-web+proto","X-Grpc-Web":"1",Accept:"application/grpc-web+proto"},body:W},b);if(!c?.ok)return null;let e=await c.arrayBuffer().catch(()=>null);if(!e)return null;return function(a){if(!a||!Buffer.isBuffer(a)||0===a.length)return null;try{var b,c;let d=null!==P(a,0)?function(a){let b=0;for(;b<a.length;){let c=P(a,b);if(!c)break;let d=c.payloadStart+c.payloadLength;if((128&c.flag)==0)return a.subarray(c.payloadStart,d);b=d}return null}(a):a;if(!d)return null;let e=S(d);if(!e)return null;let f=(b=e.get(1))&&2===b.wireType?S(b.bytes):null;if(!f)return null;let g=(c=f.get(1))?5===c.wireType?c.bytes.readFloatLE(0):1===c.wireType?c.bytes.readDoubleLE(0):null:0;if(null===g||!Number.isFinite(g)||g<0)return null;return{percentUsed:Math.min(100,100*g),resetAt:function(a){if(!a||2!==a.wireType)return null;let b=S(a.bytes);if(!b)return null;let c=b.get(1),d=b.get(2),e=new Date(1e3*(c?.wireType===0?c.value:0)+Math.round((d?.wireType===0?d.value:0)/1e6));return Number.isNaN(e.getTime())?null:e.toISOString()}(f.get(5))}}catch{return null}}(Buffer.from(e))}catch{return null}}async function _(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":O.fZ,"x-xai-token-auth":"xai-grok-cli","x-grok-client-identifier":O.rK,"x-grok-client-version":O.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[b,h]=await Promise.all([(0,d.proxyAwareFetch)(U,{method:"GET",headers:e},c),(0,d.proxyAwareFetch)(V,{method:"GET",headers:e},c).catch(()=>null)]);if(401===b.status||403===b.status)return{message:"Grok CLI authentication expired. Please re-authorize."};if(!b.ok){let a=await b.text().catch(()=>""),c=a?`: ${a.slice(0,200)}`:"";return{message:`Grok CLI billing API error (${b.status})${c}`}}let i=await b.json().catch(()=>null);if(!i||"object"!=typeof i)return{message:"Grok CLI billing response was not JSON."};let j=null;h?.ok&&(j=await h.json().catch(()=>null));let k=function(a,b=null){let c,d=a&&"object"==typeof a?a:{},e=d.config&&"object"==typeof d.config&&!Array.isArray(d.config)?d.config:d,g=(0,f.eZ)(e.billingPeriodEnd)||(0,f.eZ)(e.billing_period_end)||(0,f.eZ)(e.currentPeriod?.end)||(0,f.eZ)(e.resetAt||e.resetsAt||e.periodEnd)||(0,f.eZ)(d.billingPeriodEnd)||(0,f.eZ)(d.billing_period_end)||(0,f.eZ)(d.resetAt||d.resetsAt||d.periodEnd)||null,h={},i=Y(b,e),j=!!i&&!/^(free|none|null)$/i.test(i),k=X(e.monthlyLimit??e.monthly_limit??d.monthlyLimit??d.monthly_limit,0/0),l=X(e.includedUsed??e.included_used??d.includedUsed??d.included_used,0/0),m=X(e.totalUsed??e.total_used??d.totalUsed??d.total_used,0/0);Number.isFinite(k)&&k>0&&(h["Monthly included"]=Z({used:Number.isFinite(l)?l:Number.isFinite(m)?m:0,total:k,resetAt:g}));let n=X(e.onDemandCap??d.onDemandCap,0/0),o=X(e.onDemandUsed??d.onDemandUsed,0/0);if(Number.isFinite(n)&&n>0){let a=Number.isFinite(o)?Math.max(0,o):0;h["On-demand"]=Z({used:a,total:n,resetAt:g})}else!j&&Number.isFinite(n)&&0===n&&Number.isFinite(o)&&(h["On-demand"]={used:1,total:1,remainingPercentage:0,resetAt:g,unlimited:!1});let p=X(e.prepaidBalance??d.prepaidBalance,0/0);Number.isFinite(p)&&p>0&&(h.Prepaid={used:0,total:p,remainingPercentage:100,resetAt:null,unlimited:!1});let q=X(e.creditUsagePercent??e.credit_usage_percent??d.creditUsagePercent,0/0);for(let a of(Number.isFinite(q)&&q>=0&&(h["Weekly SuperGrok"]=Z({used:Math.max(0,Math.min(100,q)),total:100,resetAt:g})),[d.credits,d.creditBalance,d.usage,e.credits,e.includedCredits,e.subscriptionCredits].filter(a=>a&&"object"==typeof a&&!Array.isArray(a)))){let b=X(a.total??a.limit??a.cap??a.allocation??a.amount,0/0),c=X(a.used??a.spent??a.consumed,0/0),d=X(a.remaining??a.balance??a.left,0/0);if(Number.isFinite(b)&&b>0){let e=Number.isFinite(c)?c:Number.isFinite(d)?Math.max(0,b-d):0;h.Credits||(h.Credits=Z({used:e,total:b,resetAt:(0,f.eZ)(a.resetAt||a.resetsAt||a.end)||g}))}else Number.isFinite(d)&&d>=0&&!h.Credits&&(h.Credits={used:0,total:d>0?d:1,remainingPercentage:100*(d>0),resetAt:g,unlimited:!1})}let r=Object.keys(h).length>0&&Object.values(h).every(a=>!0!==a.unlimited&&(a.remainingPercentage??100)<=0);return{plan:(c=Y(b,e))?c.replace(/[_-]+/g," ").replace(/\b\w/g,a=>a.toUpperCase()):b?.hasGrokCodeAccess===!0?"Grok Code":(e?.isUnifiedBillingUser,"Grok Build"),quotas:h,periodEnd:g,exhausted:r,subscriptionAccess:j,rawConfig:e}}(i,j);if(k.plan=function(a){try{return({0:"Free",1:"SuperGrok",2:"X Basic",3:"X Premium",4:"X Premium Plus",5:"SuperGrok Heavy",6:"SuperGrok Lite"})[JSON.parse(Buffer.from(a.split(".")[1],"base64url")).tier]||""}catch{return""}}(a)||k.plan,!k.quotas||0===Object.keys(k.quotas).length){var g;let b=(g=await $(a,c))&&Number.isFinite(g.percentUsed)?{"Weekly SuperGrok":Z({used:Math.round(Math.max(0,Math.min(100,g.percentUsed))),total:100,resetAt:g.resetAt||null})}:null;if(b)return{plan:k.plan,quotas:b};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 aa=c(75924);let ab={LEVEL_BASIC:"Moderato",LEVEL_INTERMEDIATE:"Allegretto",LEVEL_ADVANCED:"Allegro",LEVEL_STANDARD:"Vivace"};function ac({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 ad(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,aa.buildKimiHeaders)(e?.deviceId)};try{let a,b=await (0,d.proxyAwareFetch)("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 g={},h=a?.usage&&"object"==typeof a.usage?a.usage:{},j=(0,f.IQ)(h.limit??h.Limit,0),k=(0,f.IQ)(h.used??h.Used,0),l=h.remaining??h.Remaining,m=null!=l&&""!==l?(0,f.IQ)(l,0/0):0/0,n=h.resetTime||h.ResetTime||h.reset_at||h.resetAt;for(let b of(j>0&&(g.Weekly=ac({used:k,total:j,remaining:Number.isFinite(m)?m:null,resetAt:(0,f.eZ)(n)})),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,0/0),e=a.resetTime||a.reset_at||a.resetAt;if(c>0){let a=Number.isFinite(d)?d:Math.max(0,c);g.Ratelimit=ac({used:Math.max(0,c-a),total:c,remaining:a,resetAt:(0,f.eZ)(e)})}}let o=a?.user?.membership?.level,p=function(a){if(!a)return"";let b=String(a);return ab[b]?ab[b]:b.replace(/^LEVEL_/,"").toLowerCase()}(o)||"Kimi Coding";if(Object.keys(g).length>0)return{plan:p,quotas:g};return{plan:p,message:"Kimi Coding connected. Usage tracked per request."}}catch(a){return{message:`Kimi Coding connected. Unable to fetch usage: ${a.message}`}}}async function ae(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[`Balance (${a.currency})`]={used:0,total:b,remainingPercentage:100*(b>0),resetAt:null,unlimited:!1,isCreditBalance:!0,currency:a.currency}}return{plan:h?"DeepSeek":"DeepSeek (Insufficient Balance)",quotas:i}}catch(a){return{message:`DeepSeek error: ${a.message}`}}}let af=(0,f.U)("opencode-go").url,ag={rolling:"Rolling",weekly:"Weekly",monthly:"Monthly"};async function ah(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)(af,{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(ag)){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}`}}}let ai=(0,f.U)("opencode-zen").url,aj={rolling:"Rolling",weekly:"Weekly",monthly:"Monthly"};async function ak(a=null,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"OpenCode Zen 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)return{plan:"OpenCode Zen",message:"OpenCode Zen 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 Zen",message:b?"OpenCode Zen billing required for this API key.":"OpenCode Zen access forbidden for this API key."}}if(!c.ok)return{plan:"OpenCode Zen",message:`OpenCode Zen usage API error (${c.status}).`};let e=await c.json().catch(()=>null);if(!e?.usage||"object"!=typeof e.usage)return{plan:"OpenCode Zen",message:"OpenCode Zen usage response did not contain quota data."};let g={};for(let[a,b]of Object.entries(aj)){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 Zen",message:"OpenCode Zen usage response did not contain valid quota data."};return{plan:"OpenCode Zen",quotas:g}}catch(a){return{message:`OpenCode Zen error: ${a.message}`}}}let al=(0,f.U)("groq").url;function am(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 an(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)(al,{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=am(c.headers,"x-ratelimit-limit-requests","x-ratelimit-remaining-requests","x-ratelimit-reset-requests"),f=am(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 ao=c(49804);function ap(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 aq(a,b,c,d=null){let e=Math.max(0,(0,f.IQ)(b,0)),g=ap(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 ar(a){return a&&"object"==typeof a?null!=a.limit?a.limit:a:null}async function as(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,ao.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"]=aq("Edit Predictions",i.used,i.limit,e));let j=h.model_requests||h.modelRequests;if(j){let a=null!=j.limit?j.limit:ar(j)?.limit,b=ap(a);(b.unlimited||b.total>0)&&(g["Hosted Model Requests"]=aq("Hosted Model Requests",j.used,a,e))}let k=j&&!(b=ap(j.limit??ar(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"}`}}}var at=c(12132);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(81756);let aw=(0,f.U)("cursor");function ax(a){return Number(((0,f.IQ)(a,0)/100).toFixed(2))}function ay(a){return Math.max(0,100-Math.max(0,Math.min(100,(0,f.IQ)(a,0))))}async function az(a,b,c,e){return(0,d.proxyAwareFetch)(a,{method:"POST",headers:{...(0,av.JA)(b,c||null,!0),"content-type":"application/json",accept:"application/json"},body:"{}"},e)}async function aA(a){try{return await a.json()}catch{return null}}async function aB(a,b={},c=null){if(!a||"string"!=typeof a||!a.trim())return{message:"Cursor access token not available. Reconnect Cursor to view quota."};let e=a.trim(),g=b?.machineId||null,h=aw.url,i=aw.planInfoUrl,j=aw.authUsageUrl;if(!h)return{message:"Cursor usage endpoint is not configured."};try{let a=await az(h,e,g,c);if(401===a.status||403===a.status)return{plan:"Cursor",message:"Cursor authentication failed. Reconnect the Cursor provider."};let b={},k=null;if(a.ok&&(k=await aA(a),!function(a,b){let c=b?.planUsage;if(!c||"object"!=typeof c)return;let d=(0,f.IQ)(c.limit,0),e=(0,f.IQ)(c.includedSpend??c.totalSpend,0),g=(0,f.IQ)(c.remaining,Math.max(0,d-e)),h=(0,f.eZ)(b.billingCycleEnd);if(d>0){let b=ax(d),f=ax(e),i=ax(g);a["Plan (USD)"]={used:f,total:b,remainingPercentage:null!=c.totalPercentUsed?ay(c.totalPercentUsed):b>0?i/b*100:0,resetAt:h}}else if(null!=c.totalPercentUsed){let b=(0,f.IQ)(c.totalPercentUsed,0);a["Included usage"]={used:b,total:100,remainingPercentage:ay(b),resetAt:h}}if(null!=c.autoPercentUsed){let b=(0,f.IQ)(c.autoPercentUsed,0);a["Auto models (%)"]={used:b,total:100,remainingPercentage:ay(b),resetAt:h}}if(null!=c.apiPercentUsed){let b=(0,f.IQ)(c.apiPercentUsed,0);a["Named models (%)"]={used:b,total:100,remainingPercentage:ay(b),resetAt:h}}Object.keys(a).length}(b,k),!function(a,b){let c=b?.spendLimitUsage;if(!c||"object"!=typeof c)return;let d=(0,f.IQ)(c.individualLimit,0),e=(0,f.IQ)(c.pooledLimit,0),g=(0,f.eZ)(b.billingCycleEnd);if(d>0){let b=ax(c.individualUsed),e=ax(d),h=ax(c.individualRemaining??Math.max(0,d-(0,f.IQ)(c.individualUsed,0)));a["On-demand (USD)"]={used:b,total:e,remainingPercentage:e>0?h/e*100:0,resetAt:g};return}if(e>0){let b=ax(c.pooledUsed),d=ax(e),h=ax(c.pooledRemaining??Math.max(0,e-(0,f.IQ)(c.pooledUsed,0)));a["Team on-demand (USD)"]={used:b,total:d,remainingPercentage:d>0?h/d*100:0,resetAt:g}}}(b,k)),0===Object.keys(b).length&&j){let g=await (0,d.proxyAwareFetch)(j,{method:"GET",headers:{Authorization:`Bearer ${e.includes("::")?e.split("::")[1]:e}`,Accept:"application/json"}},c);if(g.ok)!function(a,b){if(!b||"object"!=typeof b)return;let c=(0,f.eZ)(b.startOfMonth);for(let[d,e]of Object.entries(b)){if(!e||"object"!=typeof e||Array.isArray(e))continue;let b=(0,f.IQ)(e.maxRequestUsage,0);if(b<=0)continue;let g=(0,f.IQ)(e.numRequests,0);a[`${d} requests`]={used:g,total:b,remainingPercentage:b>0?Math.max(0,(b-g)/b*100):0,resetAt:c}}}(b,await aA(g));else if(!a.ok){let b=await a.text().catch(()=>"");return{plan:"Cursor",message:`Cursor usage API error (${a.status})${b?`: ${b.slice(0,120)}`:""}`}}}if(0===Object.keys(b).length)return{plan:"Cursor",message:k?.displayMessage||"Cursor connected. No quota data returned for this plan."};let l="Cursor";if(i){let a=await az(i,e,g,c).catch(()=>null);if(a?.ok){let b=await aA(a),c=b?.planInfo?.planName;"string"==typeof c&&c.trim()&&(l=`Cursor ${c.trim()}`)}}return{plan:l,quotas:b}}catch(a){return{message:`Cursor error: ${a.message}`}}}var aC=c(53225);let aD={international:(0,f.U)("glm").url,china:(0,f.U)("glm-cn").url};async function aE(a,b,c=null){if(!a)return{message:"GLM API key not available."};let e=aD["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 aF=(process.env.COMMAND_CODE_API_BASE_URL||"https://api.commandcode.ai").replace(/\/$/,""),aG={"individual-go":"Go","individual-goat":"GOAT","individual-pro":"Pro","individual-pro-v1":"Pro","individual-provider":"Provider","individual-max":"Max","individual-ultra":"Ultra","teams-pro":"Teams Pro"},aH={"individual-go":10,"individual-goat":70,"individual-pro":30,"individual-pro-v1":80,"individual-provider":15,"individual-max":150,"individual-ultra":300,"teams-pro":40};function aI(a,b){let c=new URLSearchParams(Object.entries(b||{}).filter(([,a])=>null!=a)).toString();return c?`${a}?${c}`:a}function aJ(a){if(!a||"object"!=typeof a)return null;let b=(0,f.IQ)(a.used,0),c=(0,f.IQ)(a.cap,0);return c<=0&&b<=0?null:{used:b,total:c,remaining:Math.max(0,c-b),unlimited:!1,resetAt:(0,f.eZ)(a.resetAt)}}async function aK(a,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={Authorization:`Bearer ${a.trim()}`,Accept:"application/json"},e=async a=>await (0,d.proxyAwareFetch)(aF+a,{method:"GET",headers:c},b);try{let a=await e(aI("/alpha/whoami",{limits:"1"}));if(401===a.status||403===a.status)return{plan:"Command Code",message:"Command Code authentication failed. Check the API key."};if(!a.ok)return{plan:"Command Code",message:`Command Code usage API error (${a.status})`};let b=await a.json().catch(()=>({})),c=b?.org?.id??null,[d,g]=await Promise.all([e(aI("/alpha/billing/credits",{orgId:c})),e(aI("/alpha/billing/subscriptions",{orgId:c}))]);if(401===d.status||403===d.status||401===g.status||403===g.status)return{plan:"Command Code",message:"Command Code authentication failed. Check the API key."};if(!d.ok)return{plan:"Command Code",message:`Command Code credits API error (${d.status})`};if(!g.ok)return{plan:"Command Code",message:`Command Code subscriptions API error (${g.status})`};let h=await d.json().catch(()=>({})),i=await g.json().catch(()=>({})),j=i?.data?.planId??null,k=j&&aG[j]||j||"Command Code",l=j&&aH[j]||0,m=h?.credits||{},n=(0,f.IQ)(m.monthlyCredits,0)+(0,f.IQ)(m.purchasedCredits,0)+(0,f.IQ)(m.freeCredits,0),o=l>0?Math.max(0,l-n):0,p={};p.Credits={used:o,total:l>0?l:n,remaining:n,unlimited:l<=0,resetAt:(0,f.eZ)(i?.data?.currentPeriodEnd)};let q=aJ(h?.windowLimits?.fiveHour);q&&(p["Session (5h)"]=q);let r=aJ(h?.windowLimits?.weekly);return r&&(p.Weekly=r),{plan:k,quotas:p}}catch(a){return{message:`Command Code error: ${a.message}`}}}var aL=c(4043),aM=c(41004);let aN=new Map,aO=new Map(aL.default.map(a=>[a.id,a.display?.name||a.id]));async function aP(a,b,c){let d=await (0,f.u9)(a,{method:"GET",headers:{Authorization:`Bearer ${b.trim()}`,Accept:"application/json"}},aM.ZL.fetchTimeoutMs,c),e=await d.json().catch(()=>null);return{status:d.status,data:e}}function aQ(a){return new Date(a).toISOString().slice(0,10)}function aR(a,b){return!Number.isFinite(b)||b<=0?null:Math.max(0,Math.min(100,Math.round(a/b*100)))}async function aS(a,b,c,d){let e=await aP(`${a.apiBase}/dashboard/billing/subscription`,b,c);if(401===e.status||403===e.status)return d.value=!0,null;if(200!==e.status||!e.data||"object"!=typeof e.data)return null;let g=(0,f.IQ)(e.data.system_hard_limit_usd??e.data.hard_limit_usd,0/0);if(!Number.isFinite(g))return null;let h=aM.ZL.usageWindowDays,i=aQ(Date.now()-864e5*h),j=aQ(Date.now()),k=await aP(`${a.apiBase}/dashboard/billing/usage?start_date=${i}&end_date=${j}`,b,c);if(401===k.status||403===k.status)return d.value=!0,null;let l=Number.isFinite(k.status)&&200===k.status?(0,f.IQ)(k.data?.total_usage,0)/100:0,m=Math.max(0,g-l);return{flavor:"openai-billing",plan:"openai-billing",quotas:{"Wallet (USD)":{used:Math.round(100*l)/100,total:g,remainingPercentage:aR(m,g),resetAt:null,unlimited:!1,isCreditBalance:!0,currency:"USD"}}}}async function aT(a,b,c,d){let e;try{e=new URL(a.apiBase).origin}catch{return null}let g=await aP(`${e}/api/user/self`,b,c);if(401===g.status||403===g.status)return d.value=!0,null;if(200!==g.status||!g.data||"object"!=typeof g.data)return null;let h=g.data.data&&"object"==typeof g.data.data?g.data.data:g.data,i=aM.ZL.newApiQuotaPerUnit,j=(0,f.IQ)(h.quota??h.remaining_quota,0/0),k=(0,f.IQ)(h.used_quota??h.usedQuota,0/0);if(!Number.isFinite(j)&&!Number.isFinite(k))return null;let l=Number.isFinite(k)?k/i:0,m=Number.isFinite(j)?l+j/i:l;return{flavor:"new-api",plan:"new-api",quotas:{"Wallet (USD)":{used:Math.round(100*l)/100,total:Math.round(100*m)/100,remainingPercentage:aR(m-l,m),resetAt:null,unlimited:!1,isCreditBalance:!0,currency:"USD"}}}}async function aU(a,b,c){let d=a.validateUrl||`${a.apiBase}/models`,e=await (0,f.u9)(d,{method:"GET",headers:{Authorization:`Bearer ${b.trim()}`,Accept:"application/json"}},aM.ZL.fetchTimeoutMs,c);if(401===e.status||403===e.status)return{auth:!0};if(200!==e.status)return null;let g=(a,b,c)=>{let d=e.headers.get(a),g=e.headers.get(b);if(null===d||null===g)return null;let h=Number(d),i=Number(g);return Number.isFinite(h)&&Number.isFinite(i)?{used:Math.max(0,h-i),total:h,resetAt:(0,f.Ny)(e.headers.get(c)),unlimited:!1}:null},h=g("x-ratelimit-limit-requests","x-ratelimit-remaining-requests","x-ratelimit-reset-requests"),i=g("x-ratelimit-limit-tokens","x-ratelimit-remaining-tokens","x-ratelimit-reset-tokens");if(!h&&!i)return null;let j={};return h&&(j["Requests (rate limit)"]={...h,isCreditBalance:!1}),i&&(j["Tokens (rate limit)"]={...i,isCreditBalance:!1}),{flavor:"headers",plan:"headers",quotas:j,auth:!1}}async function aV({connectionId:a,accessToken:b,proxyOptions:d}){try{let{getProviderConnectionById:b,updateProviderConnection:e}=await Promise.resolve().then(c.bind(c,89718)),g=await b(a),h=g?.refreshToken;if(!h)return null;let i=aM.jk,j=await (0,f.u9)(`${i.authBaseUrl}/token?grant_type=refresh_token`,{method:"POST",headers:{apikey:i.anonKey,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({refresh_token:h})},aM.ZL.fetchTimeoutMs,d);if(!j||!j.ok)return null;let k=await j.json().catch(()=>null);if(!k?.access_token)return null;return await e(a,{accessToken:k.access_token,refreshToken:k.refresh_token||h,expiresAt:k.expires_in?new Date(Date.now()+1e3*k.expires_in).toISOString():null}),k.access_token}catch{return null}}async function aW({accessToken:a,connectionId:b,proxyOptions:c}){let d;if(!a||"string"!=typeof a||!a.trim())return null;let e=aM.jk;if(!e.anonKey||!e.supabaseUrl)return null;let g=`${e.supabaseUrl}/rest/v1/${e.walletTable}?select=${e.walletColumns.join(",")}`;try{d=await (0,f.u9)(g,{method:"GET",headers:{apikey:e.anonKey,Authorization:`Bearer ${a.trim()}`,Accept:"application/json"}},aM.ZL.fetchTimeoutMs,c)}catch{return null}if(d&&(401===d.status||403===d.status)&&b){let h=await aV({connectionId:b,accessToken:a,proxyOptions:c});if(!h)return null;try{d=await (0,f.u9)(g,{method:"GET",headers:{apikey:e.anonKey,Authorization:`Bearer ${h}`,Accept:"application/json"}},aM.ZL.fetchTimeoutMs,c)}catch{return null}}if(!d||!d.ok)return null;let h=await d.json().catch(()=>null),i=Array.isArray(h)?h[0]:h;if(!i||"object"!=typeof i)return null;let j=a=>{let b=(0,f.IQ)(a,0/0);return Number.isFinite(b)?b:0},k=j(i.balance_paid),l=j(i.balance_trial),m=j(i.balance_bonus);return{flavor:"supabase-wallet",plan:"supabase-wallet",quotas:{"Wallet balance":{used:0,total:Math.round((k+l+m)*100)/100,remainingPercentage:100,resetAt:null,unlimited:!1,isCreditBalance:!0,currency:"USD",breakdown:{paid:k,trial:l,bonus:m,locked:j(i[e.lockedColumn])}}}}}async function aX({connectionId:a,windowDays:b}){if(!a)return null;try{let{getUsageTotalsForConnection:d}=await Promise.resolve().then(c.bind(c,99703)),e=await d(a,864e5*b);if(!e)return null;let f={total:null,resetAt:null,isCreditBalance:!1,unlimited:!0};return{flavor:"local",plan:"local",quotas:{[`Tokens \xb7 local history (${b}d)`]:{...f,used:e.tokens},[`Requests \xb7 local history (${b}d)`]:{...f,used:e.requests}}}}catch{return null}}async function aY({provider:a,connectionId:b=null,accessToken:c=null,apiKey:d,proxyOptions:f=null}={}){let g=aO.get(a)||a;try{let h,i,j,k,l=(h=e.xq[a]||{},i="string"==typeof h.validateUrl?h.validateUrl:null,(j=h.usage&&h.usage.apiBase?h.usage.apiBase.replace(/\/$/,""):i?i.replace(/\/models\/?$/,"").replace(/\/$/,""):null)?{apiBase:j,validateUrl:i,pinned:h.usage&&h.usage.flavor||null,wallet:!!(h.usage&&h.usage.wallet)}:null);if(!l)return{plan:g,message:`${g} usage endpoints are not configured.`};let m=!!(d&&"string"==typeof d&&d.trim()),n=!!(c&&"string"==typeof c&&c.trim());if(!m&&!n)return{plan:g,message:`${g} API key not available. Add a key to view usage.`};let o={value:!1},p=null;l.wallet&&(p=await aW({accessToken:c,connectionId:b,proxyOptions:f}));let q="local"!==l.pinned&&!!((k=aN.get(a))&&Date.now()<k);if(!p&&m&&!q&&"local"!==l.pinned){for(let[a,b]of[["openai-billing",()=>aS(l,d,f,o)],["new-api",()=>aT(l,d,f,o)],["headers",()=>aU(l,d,f)]])if(!l.pinned||l.pinned===a){if(p=await b(),p?.auth){o.value=!0,p=null;continue}if(p)break}}if(p||o.value||(p=await aX({connectionId:b,windowDays:aM.ZL.usageWindowDays})),p)return"local"!==p.flavor&&aN.delete(a),{plan:"headers"===p.plan?`${g} (rate limit)`:g,quotas:p.quotas};if(o.value)return{plan:g,message:`${g} authentication failed. Check the API key.`};return aN.set(a,Date.now()+aM.ZL.unsupportedTtlMs),{plan:g,message:`${g} doesn't expose a usage API yet — quota appears once they add billing endpoints.`}}catch(a){return{plan:g,message:`${g} usage error: ${a.message}`}}}let aZ=(0,f.U)("vercel-ai-gateway").url;async function a$(a){try{return{message:"iFlow connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch iFlow usage."}}}let a_={session:"Session (5h)",weekly:"Weekly (7d)",monthly:"Monthly"};async function a0(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(a_)){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.round(100*Math.max(0,Math.min(1,Number(a)||0)));return{used:c,total:100,remainingPercentage:100-c,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 a1(a,b=null){if(!a)return{message:"Vercel AI Gateway API key not available."};try{let c=await (0,d.proxyAwareFetch)(aZ,{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 a2(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=g.addOnQuota||{},k=Number(j.total)||0,l=Number.isFinite(Number(g.expiresAt))&&Number(g.expiresAt)>0?Number(g.expiresAt):null,m=2534022144e5===l,n=l&&!m?new Date(l).toISOString():null,o={user:{total:Number(h.total)||0,used:Number(h.used)||0,remaining:Number(h.remaining)||0,unit:h.unit||"credits",resetAt:n,neverExpires:m},organization:{total:Number(i.total)||0,used:Number(i.used)||0,remaining:Number(i.remaining)||0,unit:i.unit||"credits",resetAt:n,neverExpires:m}};return k>0&&(o.addOn={total:k,used:Number(j.used)||0,remaining:Number(j.remaining)||0,unit:j.unit||"credits",resetAt:null,neverExpires:!1,detailUrl:j.detailUrl||null}),{quotas:o,totalUsagePercentage:Number(g.totalUsagePercentage)||0,isQuotaExceeded:!!g.isQuotaExceeded,expiresAt:l}}catch(a){return{message:`Qoder connected. Unable to fetch usage: ${a.message}`}}}let a3={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.providerSpecificData,a.proxyOptions),claude:a=>(0,k.gl)(a.accessToken,a.proxyOptions,{force:a.force}),codex:a=>(0,l.Tl)(a.accessToken,a.proxyOptions),kiro:a=>n(a.accessToken,a.providerSpecificData,a.proxyOptions),qoder:a=>a4(a),"qoder-cn":a=>a4(a),iflow:a=>a$(a.accessToken),ollama:a=>a0(a.apiKey,a.providerSpecificData,a.proxyOptions),glm:a=>aE(a.apiKey||a.accessToken,a.provider,a.proxyOptions),"glm-cn":a=>aE(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),"minimax-code":a=>J(a),"minimax-code-global":a=>J(a),"vercel-ai-gateway":a=>a1(a.apiKey,a.proxyOptions),"codebuddy-cn":a=>M(a.accessToken,a.apiKey,a.providerSpecificData,a.proxyOptions),"codebuddy-intl":a=>N(a.accessToken,a.apiKey,a.providerSpecificData,a.proxyOptions),"grok-cli":a=>_(a.accessToken,a.providerSpecificData,a.proxyOptions),kimi:a=>ad(a.accessToken,a.apiKey,a.proxyOptions,a.providerSpecificData),"opencode-go":a=>ah(a.apiKey,a.proxyOptions),"opencode-zen":a=>ak(a.apiKey,a.proxyOptions),deepseek:a=>ae(a.apiKey,a.proxyOptions),groq:a=>an(a.apiKey,a.proxyOptions),zed:a=>as(a.accessToken,a.providerSpecificData,a.proxyOptions),"xiaomi-mimo":a=>au(a.accessToken,a.providerSpecificData,a.proxyOptions),commandcode:a=>aK(a.apiKey,a.proxyOptions),cursor:a=>aB(a.accessToken,a.providerSpecificData,a.proxyOptions),tokenharbor:a=>aY(a),"nara-router":a=>aY(a),apmix:a=>aY(a),apinex:a=>aY(a),tiarina:a=>aY(a),xkiro:a=>aY(a)};async function a4(a){let b=await (0,aC._M)(a,a.proxyOptions).catch(()=>null);return a2(b?.accessToken||a.accessToken,a.proxyOptions,a.provider||"qoder")}async function a5(a,b=null,c={}){let{provider:d,accessToken:e,apiKey:f,providerSpecificData:g,projectId:h}=a,i={...g||{},...h?{projectId:h}:{}},j=a3[d];return j?await j({provider:d,connectionId:a.id,accessToken:e,apiKey:f,providerSpecificData:g,providerDataWithProjectId:i,proxyOptions:b,force:!0===c.force}):{message:`Usage API not implemented for ${d}`}}},18271:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>n,refreshAndUpdateCredentials:()=>m});var e=c(48895),f=c(89718),g=c(17116),h=c(8521),i=c(55330),j=c(39326),k=c(40615),l=a([e,i]);[e,i]=l.then?(await l)():l;let o=["expired","authentication","unauthorized","401","re-authorize"];async function m(a,b=!1,c=null){let d=a.id?await (0,f.getProviderConnectionById)(a.id):null;d&&(a=d);let e=(0,i.SB)(a.provider),g={accessToken:a.accessToken,refreshToken:a.refreshToken,idToken:a.idToken,expiresAt:a.expiresAt||a.tokenExpiresAt,lastRefreshAt:a.lastRefreshAt,connectionId:a.id,providerSpecificData:a.providerSpecificData,copilotToken:a.providerSpecificData?.copilotToken,copilotTokenExpiresAt:a.providerSpecificData?.copilotTokenExpiresAt};if(!(b||e.needsRefresh(g)))return{connection:a,refreshed:!1};let j=await e.refreshCredentials(g,console,c);if(j&&(0,h.jT)(j))throw Error("Refresh token invalid or reused. Please re-authorize the connection.");if(!j){if(a.accessToken)return{connection:a,refreshed:!1};throw Error("Failed to refresh credentials. Please re-authorize the connection.")}let k={updatedAt:new Date().toISOString()};j.accessToken&&(k.accessToken=j.accessToken),j.refreshToken&&(k.refreshToken=j.refreshToken),j.idToken&&(k.idToken=j.idToken),j.lastRefreshAt&&(k.lastRefreshAt=j.lastRefreshAt),j.expiresIn?(k.expiresAt=new Date(Date.now()+1e3*j.expiresIn).toISOString(),k.expiresIn=j.expiresIn):j.expiresAt&&(k.expiresAt=j.expiresAt);let l={...j.providerSpecificData||{},...j.copilotToken?{copilotToken:j.copilotToken}:{},...j.copilotTokenExpiresAt?{copilotTokenExpiresAt:j.copilotTokenExpiresAt}:{}};return Object.keys(l).length>0&&(k.providerSpecificData={...a.providerSpecificData||{},...l}),await (0,f.updateProviderConnection)(a.id,k),{connection:{...a,...k,providerSpecificData:k.providerSpecificData||a.providerSpecificData},refreshed:!0}}async function n(a,{params:b}){let c;try{let{connectionId:d}=await b,e="1"===new URL(a.url).searchParams.get("force");if(!(c=await (0,f.getProviderConnectionById)(d)))return Response.json({error:"Connection not found"},{status:404});let h="oauth"===c.authType,i=("apikey"===c.authType||"api_key"===c.authType)&&k.jO.includes(c.provider);if(!h&&!i)return Response.json({message:"Usage not available for this connection"});let l=await (0,j.B)(c.providerSpecificData),n={connectionProxyEnabled:!0===l.connectionProxyEnabled,connectionProxyUrl:l.connectionProxyUrl||"",connectionNoProxy:l.connectionNoProxy||"",vercelRelayUrl:l.vercelRelayUrl||"",strictProxy:!1};if(h)try{c=(await m(c,!1,n)).connection}catch(a){return console.error("[Usage API] Credential refresh failed:",a),Response.json({error:`Credential refresh failed: ${a.message}`},{status:401})}let p=await (0,g.my)(c,n,{force:e});if(h&&function(a){if(!a?.message)return!1;let b=a.message.toLowerCase();return o.some(a=>b.includes(a))}(p)&&c.refreshToken)try{c=(await m(c,!0,n)).connection,p=await (0,g.my)(c,n,{force:e})}catch(a){console.warn(`[Usage] ${c.provider}: force refresh failed: ${a.message}`)}return Response.json(p)}catch(b){let a=c?.provider??"unknown";return console.warn(`[Usage] ${a}: ${b.message}`),Response.json({error:b.message},{status:500})}}d()}catch(a){d(a)}})},69788:(a,b,c)=>{c.d(b,{Ut:()=>l,gl:()=>j});var d=c(39609),e=c(74129),f=c(24295);let g={oauthUsageUrl:(0,f.U)("claude").oauthUrl,usageUrl:(0,f.U)("claude").orgUrl,settingsUrl:(0,f.U)("claude").settingsUrl,profileUrl:(0,f.U)("claude").profileUrl,resetUrl:(0,f.U)("claude").resetUrl,apiVersion:e.b8,userAgent:`claude-cli/${e.t4} (external, cli)`},h=new Map,i=new Map;async function j(a,b=null,c={}){let d=c?.force===!0;if(!d&&a){let b=i.get(a);if(b?.promise)return b.promise;if(b&&b.expiresAt>Date.now())return b.result}let e=!d&&a&&i.get(a)?.result||null,f=(async()=>{let c=await k(a,b);return a&&c?.quotas?(i.set(a,{result:c,expiresAt:Date.now()+3e5}),c):e||c})();return a&&i.set(a,{promise:f}),f}async function k(a,b=null){try{let c=h.get(a);if(c&&Date.now()<c)return await m(a,b);let e=await (0,d.proxyAwareFetch)(`${g.oauthUsageUrl}?cedar_ember=1`,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":g.apiVersion,"User-Agent":g.userAgent}},b);if(e.ok){let a=await e.json(),b={},c=a=>a&&"object"==typeof a&&"number"==typeof a.utilization,d=a=>{let b=a.utilization,c=Math.max(0,100-b);return{used:b,total:100,remaining:c,remainingPercentage:c,resetAt:(0,f.eZ)(a.resets_at),unlimited:!1}};for(let[e,f]of(c(a.five_hour)&&(b["session (5h)"]=d(a.five_hour)),c(a.seven_day)&&(b["weekly (7d)"]=d(a.seven_day)),Object.entries(a)))if(e.startsWith("seven_day_")&&"seven_day"!==e&&c(f)){let a=e.replace("seven_day_","");b[`weekly ${a} (7d)`]=d(f)}if(Array.isArray(a.limits))for(let c of a.limits){if(c?.kind!=="weekly_scoped")continue;let a=String(c?.scope?.model?.display_name||"").trim().toLowerCase();a&&"number"==typeof c.percent&&(b[`weekly ${a} (7d)`]=d({utilization:Math.max(0,Math.min(100,c.percent)),resets_at: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}}return 429===e.status&&h.set(a,Date.now()+18e4),console.warn(`[Claude Usage] OAuth endpoint returned ${e.status}, falling back to legacy`),await m(a,b)}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}async function l(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 e={Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":g.apiVersion,"User-Agent":g.userAgent,"Content-Type":"application/json"},f=await (0,d.proxyAwareFetch)(g.profileUrl,{method:"GET",headers:e},c),h=await f.json().catch(()=>null),j=h?.organization?.uuid;if(!f.ok||!j)throw Error(`Cannot resolve Claude organization (${f.status}).`);let k=await (0,d.proxyAwareFetch)(g.resetUrl.replace("{org_id}",j),{method:"POST",headers:e,body:JSON.stringify({program:"cedar_ember",grant_id:b,request_id:crypto.randomUUID()})},c),m=await k.json().catch(()=>null);return i.delete(a),{ok:k.ok&&m?.result==="reset",status:k.status,result:m?.result||null,reason:m?.reason||null,resetsLeft:m?.resets_left??null,message:m?.error?.message||null}}async function m(a,b=null){try{let c=await (0,d.proxyAwareFetch)(g.settingsUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":g.apiVersion}},b);if(c.ok){let e=await c.json();if(e.organization_id){let c=await (0,d.proxyAwareFetch)(g.usageUrl.replace("{org_id}",e.organization_id),{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":g.apiVersion}},b);if(c.ok){let a=await c.json();return{plan:e.plan||"Unknown",organization:e.organization_name,quotas:a}}}return{plan:e.plan||"Unknown",organization:e.organization_name,message:"Claude connected. Usage details require admin access."}}return{message:"Claude connected. Usage API requires admin permissions."}}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}},85081:(a,b,c)=>{c.d(b,{Ay:()=>j});var d=c(77598);let e=function(a){return Array.isArray(a)?a=Buffer.from(a):"string"==typeof a&&(a=Buffer.from(a,"utf8")),(0,d.createHash)("sha1").update(a).digest()},f=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,g=function(a){let b;if(!("string"==typeof a&&f.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};var h=c(50122);function i(a,b,c,d){var f=b,i=d;let j="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,k="string"==typeof f?g(f):f;if("string"==typeof f&&(f=g(f)),f?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+j.length);if(l.set(k),l.set(j,k.length),(l=e(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,c){if((i=i||0)<0||i+16>c.length)throw RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);for(let a=0;a<16;++a)c[i+a]=l[a];return c}return(0,h.k)(l)}i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let j=i}};
@@ -1 +1 @@
1
- "use strict";exports.id=7525,exports.ids=[7525,7557],exports.modules={67557:(a,b,c)=>{c.r(b),c.d(b,{default:()=>u,proxyAwareFetch:()=>s});var d=c(27910);function e(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}process.env.SEARXNG_URL?.trim(),e("STREAM_STALL_TIMEOUT_MS",36e4),e("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5),e("FETCH_CONNECT_TIMEOUT_MS",6e4),e("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3),e("AGGREGATOR_UNSUPPORTED_TTL_MS",6e5);let f=globalThis.fetch,g=new Map,h=new Map,i=new Set(["SELF_SIGNED_CERT_IN_CHAIN","DEPTH_ZERO_SELF_SIGNED_CERT","UNABLE_TO_VERIFY_LEAF_SIGNATURE","UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","CERT_HAS_EXPIRED","ERR_TLS_CERT_ALTNAME_INVALID"]),j=["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"],k=["8.8.8.8","8.8.4.4"];function l(a){return null==a?"":String(a).trim()}async function m(a){let b=h.get(a);if(b&&Date.now()<b.expiry)return b.ip;try{let b=await Promise.resolve().then(c.t.bind(c,14985,23)),{promisify:d}=await Promise.resolve().then(c.t.bind(c,28354,23)),e=new b.Resolver;e.setServers(k);let f=d(e.resolve4.bind(e)),g=await f(a);return h.set(a,{ip:g[0],expiry:Date.now()+3e5}),g[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function n(a,b){let c,d=l(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 o(a){let b=l(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function p(a,b=!1){let d=o(a);if(!d&&!b)return null;let e=`${d||"direct"}::${b?"insecure":"secure"}`;if(!g.has(e)){g.size>=20&&g.delete(g.keys().next().value);let{Agent:a,ProxyAgent:f}=await c.e(7995).then(c.t.bind(c,17995,19)),h=b?{rejectUnauthorized:!1}:void 0,i=d?new f({uri:d,...b?{requestTls:h}:{}}):new a({connect:h});g.set(e,i)}return g.get(e)}async function q(a,b,c){try{let d=c?await p(c):void 0;return await f(a,d?{...b,dispatcher:d}:b)}catch(e){let d;if("true"!==process.env.STRICT_SSL&&"1"!==process.env.STRICT_SSL&&(d=e?.cause?.code||e?.code,i.has(d))){if(b.body&&"function"==typeof b.body.getReader&&b.body.locked)throw e;console.warn(`[ProxyFetch] TLS cert verification failed (${e.cause?.code||e.code}), retrying with insecure TLS: ${a}`);let d=await p(c,!0);return await f(a,{...b,dispatcher:d})}throw e}}async function r(a,b,e){let f=await Promise.resolve().then(c.t.bind(c,55591,23)),g=await Promise.resolve().then(c.t.bind(c,91645,23)),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket;if(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),e.signal){let a=!1,b=()=>{a||(a=!0,g.destroy(),f(new DOMException("The operation was aborted","AbortError")))};e.signal.aborted?b():(e.signal.addEventListener("abort",b,{once:!0}),g.once("close",()=>e.signal.removeEventListener("abort",b)))}})}async function s(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=l(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 f(e,{...b,headers:c})}let g=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=l(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=l(b?.noProxy??b?.connectionNoProxy);return d&&n(a,d)?null:o(c)}(d,c),h=g?null:o(function(a){let b;if(n(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)),i=g||h;if(function(a){try{let b=new URL(a).hostname;return j.some(a=>b.includes(a))}catch{return!1}}(d)){if(i)try{return await q(a,b,i)}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 m(a.hostname);if(c)return await r(a,c,b)}catch(a){console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(i)try{return await q(a,b,i)}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}`),q(a,b,null)}let k=c?.proxyPoolId||c?.enabled===!0||c?.connectionProxyEnabled===!0||!!l(c?.url??c?.connectionProxyUrl);if(c?.strictProxy===!0&&k)throw Error("[ProxyFetch] Proxy required but none resolved (strictProxy=true)");return q(a,b,null)}async function t(a,b={}){return s(a,b,null)}globalThis.fetch!==t&&(globalThis.fetch=t);let u=t},97525:(a,b,c)=>{c.r(b),c.d(b,{MIMO_API_BASE:()=>D,MIMO_API_UA:()=>E,getMimoAccountCookie:()=>F,getMimoAccountUsage:()=>G,invalidateMimoAccountCookieCache:()=>C,readDesktopPassToken:()=>v,resolveMimoServerBase:()=>y});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(67557);let m={cn:"https://mimo-server-cn.xiaomimimo.com",sgp:"https://mimo-server-sgp.xiaomimimo.com",ams:"https://mimo-server-ams.xiaomimimo.com",ru:"https://mimo-server-ru.xiaomimimo.com",in:"https://mimo-server-in.xiaomimimo.com"},n=m.sgp,o={cn:"mimopc",sgp:"mimosgp",ams:"mimoams",ru:"mimoru",in:"mimoin"},p="account.xiaomi.com",q="miNative PC/Normal Windows_NT/10.0.19045 SDKV/1.0.0 DEVT/PC DEVS/Windows APP/miaccount_desktop APPV/0.1.0",r="MiClaw/1.0",s=new Map,t=new Map;async function u(){let a,b=(a=g().homedir(),"win32"===process.platform?i().join(a,"AppData","Roaming","Xiaomi MiMo","Partitions","xiaomi-account","Network","Cookies"):"darwin"===process.platform?i().join(a,"Library","Application Support","Xiaomi MiMo","Partitions","xiaomi-account","Network","Cookies"):i().join(a,".config","Xiaomi MiMo","Partitions","xiaomi-account","Network","Cookies"));if(!e().existsSync(b))return null;let d=i().join(g().tmpdir(),`9r-mimo-cookies-${process.pid}-${k().randomBytes(4).toString("hex")}.db`);try{e().copyFileSync(b,d)}catch{return null}try{let{DatabaseSync:a}=await Promise.resolve().then(c.t.bind(c,79868,23)),b=new a(d,{readOnly:!0}),e=b.prepare("SELECT name, value FROM cookies WHERE host_key = ?").all("."+p);b.close();let f=Object.fromEntries(e.map(a=>[a.name,a.value]));return f.passToken?f:null}catch{return null}finally{try{e().unlinkSync(d)}catch{}}}async function v(){try{let a=await u();if(!a?.passToken)return null;return{passToken:a.passToken,userId:a.userId||null,cUserId:a.cUserId||null}}catch{return null}}function w(a,b){for(let c of b.headers.getSetCookie?.()||[]){let b=/^([^=]+)=([^;]*)/.exec(c.trim());b&&b[2]&&(a[b[1]]=b[2])}}function x(a){return Object.entries(a).filter(([,a])=>a).map(([a,b])=>`${a}=${b}`).join("; ")}function y(a=null){return m[String(a?.region||"").toLowerCase()]||n}async function z(a,b,c=n,d="sgp"){let e=String(d||"").toLowerCase(),f=o[String(e||"").toLowerCase()]||o.sgp,g=await A(a,"cn"===e?null:b,c,f);return g&&console.log(`[mimoAccount] desktop 2-phase OK (sid=${f})`),g}async function A(a,b,c,d){var e,f;let g,h=a=>console.log(`[mimoAccount] desktopPhase fail: ${a}`),i={...a},j={};i.userId&&(j.userId=i.userId),i.passToken&&(j.passToken=i.passToken),i.cUserId&&(j.cUserId=i.cUserId);let m=`https://${p}/pass/serviceLogin?_locale=zh_CN&_snsNone=true&sid=${encodeURIComponent(d)}&_json=true`,n=await (0,l.proxyAwareFetch)(m,{headers:{Cookie:x(j),"User-Agent":r,Accept:"application/json"}},b),o=await n.text(),q=o.replace(/^&&&START&&&/,""),s=q.match(/"nonce"\s*:\s*(\d+)/)?.[1],t=null;try{t=JSON.parse(q)}catch{}if(s&&t&&(t.nonce=s),!t||"number"!=typeof t.code||0!==t.code||!t.location||!t.nonce||!t.ssecurity)return h(`phase1 sid=${d} http=${n.status} code=${t?.code??"?"} hasLoc=${!!t?.location} secondValidation=${t?.bSecondValidation??"?"} notificationUrl=${t?.notificationUrl?"present":"no"} body=${JSON.stringify(o.slice(0,200))}`),null;w(i,n);let u=t.location.includes("?")?"&":"?",v=`${t.location}${u}clientSign=${(e=s||t.nonce,g=`nonce=${e}`+((f=t.ssecurity)&&f.trim()?`&${f}`:""),encodeURIComponent(k().createHash("sha1").update(g).digest("base64")))}`;for(let a=0;a<8;a++){let a=await (0,l.proxyAwareFetch)(v,{redirect:"manual",headers:{"User-Agent":r}},b);w(i,a);let c=a.headers.get("location");if(a.status>=300&&a.status<400&&c){v=new URL(c,v).toString();continue}break}let y=`${d}_serviceToken`;if(!i.serviceToken&&i[y]&&(i.serviceToken=i[y]),!i.serviceToken)return h(`phase2 no serviceToken sid=${d} jar=[${Object.keys(i).join(",")}]`),null;let z={};for(let[a,b]of Object.entries(i))b&&("serviceToken"===a||"userId"===a||/_(ph|slh)$/.test(a))&&(z[a]=b);return x(z)}async function B(a,b){let c=y(a),d=a?.mimoPassToken?{passToken:a.mimoPassToken,userId:a.mimoUserId,cUserId:a.mimoCUserId}:await u();if(!d)return{cookie:null,reason:"no-pass-token"};let e=k().createHash("sha256").update(`${c}|${d.passToken}`).digest("hex"),f=s.get(e);if(f&&Date.now()-f.at<18e5)return{cookie:f.cookie};let g=t.get(e);if(g){let a=await g;return a?{cookie:a}:{cookie:null,reason:"sso-failed"}}let h=(async()=>{try{return await z(d,b,c,a?.region)}catch(a){return console.log(`[mimoAccount] acquire threw: ${a?.message||a} | ${String(a?.stack||"").split("\n").slice(1,4).join(" <- ")}`),null}finally{t.delete(e)}})();t.set(e,h);let i=await h;return i?(s.set(e,{cookie:i,at:Date.now()}),{cookie:i}):{cookie:null,reason:"sso-failed"}}function C(){s.clear()}let D=n,E=q;async function F(a=null,b=null){try{let{cookie:c}=await B(a,b);return c}catch(a){return console.log(`[mimoAccount] getMimoAccountCookie threw: ${a?.message||a} | ${String(a?.stack||"").split("\n").slice(1,4).join(" <- ")}`),null}}async function G(a=null,b=null){let{cookie:c,reason:d}=await B(a,b);if(!c)return{error:"no-pass-token"===d?"no-session":"session-failed"};try{let d=await (0,l.proxyAwareFetch)(`${y(a)}/api/user/usage`,{headers:{"User-Agent":q,Cookie:c,Accept:"application/json"},signal:AbortSignal.timeout(1e4)},b);if(!d.ok)return{error:`http-${d.status}`};let e=await d.json().catch(()=>null);if(!e||0!==e.code||!e.data)return{error:"bad-response"};return{percent:e.data.percent,resetDate:e.data.resetDate,resetAt:e.data.resetAt}}catch(a){return{error:a.message}}}}};
1
+ "use strict";exports.id=7525,exports.ids=[7525,7557],exports.modules={67557:(a,b,c)=>{c.r(b),c.d(b,{default:()=>u,proxyAwareFetch:()=>s});var d=c(27910);function e(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}process.env.SEARXNG_URL?.trim(),e("STREAM_STALL_TIMEOUT_MS",36e4),e("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5),e("FETCH_CONNECT_TIMEOUT_MS",6e4),e("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3),e("AGGREGATOR_UNSUPPORTED_TTL_MS",6e5),process.env.AGGREGATOR_WALLET_SUPABASE_URL,process.env.AGGREGATOR_WALLET_ANON_KEY,process.env.AGGREGATOR_WALLET_AUTH_BASE_URL;let f=globalThis.fetch,g=new Map,h=new Map,i=new Set(["SELF_SIGNED_CERT_IN_CHAIN","DEPTH_ZERO_SELF_SIGNED_CERT","UNABLE_TO_VERIFY_LEAF_SIGNATURE","UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","CERT_HAS_EXPIRED","ERR_TLS_CERT_ALTNAME_INVALID"]),j=["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"],k=["8.8.8.8","8.8.4.4"];function l(a){return null==a?"":String(a).trim()}async function m(a){let b=h.get(a);if(b&&Date.now()<b.expiry)return b.ip;try{let b=await Promise.resolve().then(c.t.bind(c,14985,23)),{promisify:d}=await Promise.resolve().then(c.t.bind(c,28354,23)),e=new b.Resolver;e.setServers(k);let f=d(e.resolve4.bind(e)),g=await f(a);return h.set(a,{ip:g[0],expiry:Date.now()+3e5}),g[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function n(a,b){let c,d=l(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 o(a){let b=l(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function p(a,b=!1){let d=o(a);if(!d&&!b)return null;let e=`${d||"direct"}::${b?"insecure":"secure"}`;if(!g.has(e)){g.size>=20&&g.delete(g.keys().next().value);let{Agent:a,ProxyAgent:f}=await c.e(7995).then(c.t.bind(c,17995,19)),h=b?{rejectUnauthorized:!1}:void 0,i=d?new f({uri:d,...b?{requestTls:h}:{}}):new a({connect:h});g.set(e,i)}return g.get(e)}async function q(a,b,c){try{let d=c?await p(c):void 0;return await f(a,d?{...b,dispatcher:d}:b)}catch(e){let d;if("true"!==process.env.STRICT_SSL&&"1"!==process.env.STRICT_SSL&&(d=e?.cause?.code||e?.code,i.has(d))){if(b.body&&"function"==typeof b.body.getReader&&b.body.locked)throw e;console.warn(`[ProxyFetch] TLS cert verification failed (${e.cause?.code||e.code}), retrying with insecure TLS: ${a}`);let d=await p(c,!0);return await f(a,{...b,dispatcher:d})}throw e}}async function r(a,b,e){let f=await Promise.resolve().then(c.t.bind(c,55591,23)),g=await Promise.resolve().then(c.t.bind(c,91645,23)),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket;if(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),e.signal){let a=!1,b=()=>{a||(a=!0,g.destroy(),f(new DOMException("The operation was aborted","AbortError")))};e.signal.aborted?b():(e.signal.addEventListener("abort",b,{once:!0}),g.once("close",()=>e.signal.removeEventListener("abort",b)))}})}async function s(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=l(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 f(e,{...b,headers:c})}let g=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=l(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=l(b?.noProxy??b?.connectionNoProxy);return d&&n(a,d)?null:o(c)}(d,c),h=g?null:o(function(a){let b;if(n(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)),i=g||h;if(function(a){try{let b=new URL(a).hostname;return j.some(a=>b.includes(a))}catch{return!1}}(d)){if(i)try{return await q(a,b,i)}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 m(a.hostname);if(c)return await r(a,c,b)}catch(a){console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(i)try{return await q(a,b,i)}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}`),q(a,b,null)}let k=c?.proxyPoolId||c?.enabled===!0||c?.connectionProxyEnabled===!0||!!l(c?.url??c?.connectionProxyUrl);if(c?.strictProxy===!0&&k)throw Error("[ProxyFetch] Proxy required but none resolved (strictProxy=true)");return q(a,b,null)}async function t(a,b={}){return s(a,b,null)}globalThis.fetch!==t&&(globalThis.fetch=t);let u=t},97525:(a,b,c)=>{c.r(b),c.d(b,{MIMO_API_BASE:()=>D,MIMO_API_UA:()=>E,getMimoAccountCookie:()=>F,getMimoAccountUsage:()=>G,invalidateMimoAccountCookieCache:()=>C,readDesktopPassToken:()=>v,resolveMimoServerBase:()=>y});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(67557);let m={cn:"https://mimo-server-cn.xiaomimimo.com",sgp:"https://mimo-server-sgp.xiaomimimo.com",ams:"https://mimo-server-ams.xiaomimimo.com",ru:"https://mimo-server-ru.xiaomimimo.com",in:"https://mimo-server-in.xiaomimimo.com"},n=m.sgp,o={cn:"mimopc",sgp:"mimosgp",ams:"mimoams",ru:"mimoru",in:"mimoin"},p="account.xiaomi.com",q="miNative PC/Normal Windows_NT/10.0.19045 SDKV/1.0.0 DEVT/PC DEVS/Windows APP/miaccount_desktop APPV/0.1.0",r="MiClaw/1.0",s=new Map,t=new Map;async function u(){let a,b=(a=g().homedir(),"win32"===process.platform?i().join(a,"AppData","Roaming","Xiaomi MiMo","Partitions","xiaomi-account","Network","Cookies"):"darwin"===process.platform?i().join(a,"Library","Application Support","Xiaomi MiMo","Partitions","xiaomi-account","Network","Cookies"):i().join(a,".config","Xiaomi MiMo","Partitions","xiaomi-account","Network","Cookies"));if(!e().existsSync(b))return null;let d=i().join(g().tmpdir(),`9r-mimo-cookies-${process.pid}-${k().randomBytes(4).toString("hex")}.db`);try{e().copyFileSync(b,d)}catch{return null}try{let{DatabaseSync:a}=await Promise.resolve().then(c.t.bind(c,79868,23)),b=new a(d,{readOnly:!0}),e=b.prepare("SELECT name, value FROM cookies WHERE host_key = ?").all("."+p);b.close();let f=Object.fromEntries(e.map(a=>[a.name,a.value]));return f.passToken?f:null}catch{return null}finally{try{e().unlinkSync(d)}catch{}}}async function v(){try{let a=await u();if(!a?.passToken)return null;return{passToken:a.passToken,userId:a.userId||null,cUserId:a.cUserId||null}}catch{return null}}function w(a,b){for(let c of b.headers.getSetCookie?.()||[]){let b=/^([^=]+)=([^;]*)/.exec(c.trim());b&&b[2]&&(a[b[1]]=b[2])}}function x(a){return Object.entries(a).filter(([,a])=>a).map(([a,b])=>`${a}=${b}`).join("; ")}function y(a=null){return m[String(a?.region||"").toLowerCase()]||n}async function z(a,b,c=n,d="sgp"){let e=String(d||"").toLowerCase(),f=o[String(e||"").toLowerCase()]||o.sgp,g=await A(a,"cn"===e?null:b,c,f);return g&&console.log(`[mimoAccount] desktop 2-phase OK (sid=${f})`),g}async function A(a,b,c,d){var e,f;let g,h=a=>console.log(`[mimoAccount] desktopPhase fail: ${a}`),i={...a},j={};i.userId&&(j.userId=i.userId),i.passToken&&(j.passToken=i.passToken),i.cUserId&&(j.cUserId=i.cUserId);let m=`https://${p}/pass/serviceLogin?_locale=zh_CN&_snsNone=true&sid=${encodeURIComponent(d)}&_json=true`,n=await (0,l.proxyAwareFetch)(m,{headers:{Cookie:x(j),"User-Agent":r,Accept:"application/json"}},b),o=await n.text(),q=o.replace(/^&&&START&&&/,""),s=q.match(/"nonce"\s*:\s*(\d+)/)?.[1],t=null;try{t=JSON.parse(q)}catch{}if(s&&t&&(t.nonce=s),!t||"number"!=typeof t.code||0!==t.code||!t.location||!t.nonce||!t.ssecurity)return h(`phase1 sid=${d} http=${n.status} code=${t?.code??"?"} hasLoc=${!!t?.location} secondValidation=${t?.bSecondValidation??"?"} notificationUrl=${t?.notificationUrl?"present":"no"} body=${JSON.stringify(o.slice(0,200))}`),null;w(i,n);let u=t.location.includes("?")?"&":"?",v=`${t.location}${u}clientSign=${(e=s||t.nonce,g=`nonce=${e}`+((f=t.ssecurity)&&f.trim()?`&${f}`:""),encodeURIComponent(k().createHash("sha1").update(g).digest("base64")))}`;for(let a=0;a<8;a++){let a=await (0,l.proxyAwareFetch)(v,{redirect:"manual",headers:{"User-Agent":r}},b);w(i,a);let c=a.headers.get("location");if(a.status>=300&&a.status<400&&c){v=new URL(c,v).toString();continue}break}let y=`${d}_serviceToken`;if(!i.serviceToken&&i[y]&&(i.serviceToken=i[y]),!i.serviceToken)return h(`phase2 no serviceToken sid=${d} jar=[${Object.keys(i).join(",")}]`),null;let z={};for(let[a,b]of Object.entries(i))b&&("serviceToken"===a||"userId"===a||/_(ph|slh)$/.test(a))&&(z[a]=b);return x(z)}async function B(a,b){let c=y(a),d=a?.mimoPassToken?{passToken:a.mimoPassToken,userId:a.mimoUserId,cUserId:a.mimoCUserId}:await u();if(!d)return{cookie:null,reason:"no-pass-token"};let e=k().createHash("sha256").update(`${c}|${d.passToken}`).digest("hex"),f=s.get(e);if(f&&Date.now()-f.at<18e5)return{cookie:f.cookie};let g=t.get(e);if(g){let a=await g;return a?{cookie:a}:{cookie:null,reason:"sso-failed"}}let h=(async()=>{try{return await z(d,b,c,a?.region)}catch(a){return console.log(`[mimoAccount] acquire threw: ${a?.message||a} | ${String(a?.stack||"").split("\n").slice(1,4).join(" <- ")}`),null}finally{t.delete(e)}})();t.set(e,h);let i=await h;return i?(s.set(e,{cookie:i,at:Date.now()}),{cookie:i}):{cookie:null,reason:"sso-failed"}}function C(){s.clear()}let D=n,E=q;async function F(a=null,b=null){try{let{cookie:c}=await B(a,b);return c}catch(a){return console.log(`[mimoAccount] getMimoAccountCookie threw: ${a?.message||a} | ${String(a?.stack||"").split("\n").slice(1,4).join(" <- ")}`),null}}async function G(a=null,b=null){let{cookie:c,reason:d}=await B(a,b);if(!c)return{error:"no-pass-token"===d?"no-session":"session-failed"};try{let d=await (0,l.proxyAwareFetch)(`${y(a)}/api/user/usage`,{headers:{"User-Agent":q,Cookie:c,Accept:"application/json"},signal:AbortSignal.timeout(1e4)},b);if(!d.ok)return{error:`http-${d.status}`};let e=await d.json().catch(()=>null);if(!e||0!==e.code||!e.data)return{error:"bad-response"};return{percent:e.data.percent,resetDate:e.data.resetDate,resetAt:e.data.resetAt}}catch(a){return{error:a.message}}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=7557,exports.ids=[7557],exports.modules={67557:(a,b,c)=>{c.r(b),c.d(b,{default:()=>u,proxyAwareFetch:()=>s});var d=c(27910);function e(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}process.env.SEARXNG_URL?.trim(),e("STREAM_STALL_TIMEOUT_MS",36e4),e("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5),e("FETCH_CONNECT_TIMEOUT_MS",6e4),e("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3),e("AGGREGATOR_UNSUPPORTED_TTL_MS",6e5);let f=globalThis.fetch,g=new Map,h=new Map,i=new Set(["SELF_SIGNED_CERT_IN_CHAIN","DEPTH_ZERO_SELF_SIGNED_CERT","UNABLE_TO_VERIFY_LEAF_SIGNATURE","UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","CERT_HAS_EXPIRED","ERR_TLS_CERT_ALTNAME_INVALID"]),j=["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"],k=["8.8.8.8","8.8.4.4"];function l(a){return null==a?"":String(a).trim()}async function m(a){let b=h.get(a);if(b&&Date.now()<b.expiry)return b.ip;try{let b=await Promise.resolve().then(c.t.bind(c,14985,23)),{promisify:d}=await Promise.resolve().then(c.t.bind(c,28354,23)),e=new b.Resolver;e.setServers(k);let f=d(e.resolve4.bind(e)),g=await f(a);return h.set(a,{ip:g[0],expiry:Date.now()+3e5}),g[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function n(a,b){let c,d=l(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 o(a){let b=l(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function p(a,b=!1){let d=o(a);if(!d&&!b)return null;let e=`${d||"direct"}::${b?"insecure":"secure"}`;if(!g.has(e)){g.size>=20&&g.delete(g.keys().next().value);let{Agent:a,ProxyAgent:f}=await c.e(7995).then(c.t.bind(c,17995,19)),h=b?{rejectUnauthorized:!1}:void 0,i=d?new f({uri:d,...b?{requestTls:h}:{}}):new a({connect:h});g.set(e,i)}return g.get(e)}async function q(a,b,c){try{let d=c?await p(c):void 0;return await f(a,d?{...b,dispatcher:d}:b)}catch(e){let d;if("true"!==process.env.STRICT_SSL&&"1"!==process.env.STRICT_SSL&&(d=e?.cause?.code||e?.code,i.has(d))){if(b.body&&"function"==typeof b.body.getReader&&b.body.locked)throw e;console.warn(`[ProxyFetch] TLS cert verification failed (${e.cause?.code||e.code}), retrying with insecure TLS: ${a}`);let d=await p(c,!0);return await f(a,{...b,dispatcher:d})}throw e}}async function r(a,b,e){let f=await Promise.resolve().then(c.t.bind(c,55591,23)),g=await Promise.resolve().then(c.t.bind(c,91645,23)),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket;if(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),e.signal){let a=!1,b=()=>{a||(a=!0,g.destroy(),f(new DOMException("The operation was aborted","AbortError")))};e.signal.aborted?b():(e.signal.addEventListener("abort",b,{once:!0}),g.once("close",()=>e.signal.removeEventListener("abort",b)))}})}async function s(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=l(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 f(e,{...b,headers:c})}let g=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=l(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=l(b?.noProxy??b?.connectionNoProxy);return d&&n(a,d)?null:o(c)}(d,c),h=g?null:o(function(a){let b;if(n(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)),i=g||h;if(function(a){try{let b=new URL(a).hostname;return j.some(a=>b.includes(a))}catch{return!1}}(d)){if(i)try{return await q(a,b,i)}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 m(a.hostname);if(c)return await r(a,c,b)}catch(a){console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(i)try{return await q(a,b,i)}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}`),q(a,b,null)}let k=c?.proxyPoolId||c?.enabled===!0||c?.connectionProxyEnabled===!0||!!l(c?.url??c?.connectionProxyUrl);if(c?.strictProxy===!0&&k)throw Error("[ProxyFetch] Proxy required but none resolved (strictProxy=true)");return q(a,b,null)}async function t(a,b={}){return s(a,b,null)}globalThis.fetch!==t&&(globalThis.fetch=t);let u=t}};
1
+ "use strict";exports.id=7557,exports.ids=[7557],exports.modules={67557:(a,b,c)=>{c.r(b),c.d(b,{default:()=>u,proxyAwareFetch:()=>s});var d=c(27910);function e(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}process.env.SEARXNG_URL?.trim(),e("STREAM_STALL_TIMEOUT_MS",36e4),e("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5),e("FETCH_CONNECT_TIMEOUT_MS",6e4),e("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3),e("AGGREGATOR_UNSUPPORTED_TTL_MS",6e5),process.env.AGGREGATOR_WALLET_SUPABASE_URL,process.env.AGGREGATOR_WALLET_ANON_KEY,process.env.AGGREGATOR_WALLET_AUTH_BASE_URL;let f=globalThis.fetch,g=new Map,h=new Map,i=new Set(["SELF_SIGNED_CERT_IN_CHAIN","DEPTH_ZERO_SELF_SIGNED_CERT","UNABLE_TO_VERIFY_LEAF_SIGNATURE","UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","CERT_HAS_EXPIRED","ERR_TLS_CERT_ALTNAME_INVALID"]),j=["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"],k=["8.8.8.8","8.8.4.4"];function l(a){return null==a?"":String(a).trim()}async function m(a){let b=h.get(a);if(b&&Date.now()<b.expiry)return b.ip;try{let b=await Promise.resolve().then(c.t.bind(c,14985,23)),{promisify:d}=await Promise.resolve().then(c.t.bind(c,28354,23)),e=new b.Resolver;e.setServers(k);let f=d(e.resolve4.bind(e)),g=await f(a);return h.set(a,{ip:g[0],expiry:Date.now()+3e5}),g[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function n(a,b){let c,d=l(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 o(a){let b=l(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function p(a,b=!1){let d=o(a);if(!d&&!b)return null;let e=`${d||"direct"}::${b?"insecure":"secure"}`;if(!g.has(e)){g.size>=20&&g.delete(g.keys().next().value);let{Agent:a,ProxyAgent:f}=await c.e(7995).then(c.t.bind(c,17995,19)),h=b?{rejectUnauthorized:!1}:void 0,i=d?new f({uri:d,...b?{requestTls:h}:{}}):new a({connect:h});g.set(e,i)}return g.get(e)}async function q(a,b,c){try{let d=c?await p(c):void 0;return await f(a,d?{...b,dispatcher:d}:b)}catch(e){let d;if("true"!==process.env.STRICT_SSL&&"1"!==process.env.STRICT_SSL&&(d=e?.cause?.code||e?.code,i.has(d))){if(b.body&&"function"==typeof b.body.getReader&&b.body.locked)throw e;console.warn(`[ProxyFetch] TLS cert verification failed (${e.cause?.code||e.code}), retrying with insecure TLS: ${a}`);let d=await p(c,!0);return await f(a,{...b,dispatcher:d})}throw e}}async function r(a,b,e){let f=await Promise.resolve().then(c.t.bind(c,55591,23)),g=await Promise.resolve().then(c.t.bind(c,91645,23)),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket;if(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),e.signal){let a=!1,b=()=>{a||(a=!0,g.destroy(),f(new DOMException("The operation was aborted","AbortError")))};e.signal.aborted?b():(e.signal.addEventListener("abort",b,{once:!0}),g.once("close",()=>e.signal.removeEventListener("abort",b)))}})}async function s(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=l(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 f(e,{...b,headers:c})}let g=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=l(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=l(b?.noProxy??b?.connectionNoProxy);return d&&n(a,d)?null:o(c)}(d,c),h=g?null:o(function(a){let b;if(n(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)),i=g||h;if(function(a){try{let b=new URL(a).hostname;return j.some(a=>b.includes(a))}catch{return!1}}(d)){if(i)try{return await q(a,b,i)}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 m(a.hostname);if(c)return await r(a,c,b)}catch(a){console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(i)try{return await q(a,b,i)}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}`),q(a,b,null)}let k=c?.proxyPoolId||c?.enabled===!0||c?.connectionProxyEnabled===!0||!!l(c?.url??c?.connectionProxyUrl);if(c?.strictProxy===!0&&k)throw Error("[ProxyFetch] Proxy required but none resolved (strictProxy=true)");return q(a,b,null)}async function t(a,b={}){return s(a,b,null)}globalThis.fetch!==t&&(globalThis.fetch=t);let u=t}};
@@ -0,0 +1 @@
1
+ exports.id=7736,exports.ids=[7736],exports.modules={962:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/McpMarketplaceModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/McpMarketplaceModal.js","default")},3080:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/OAuthModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/OAuthModal.js","default")},4996:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/CapacityBadges.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/CapacityBadges.js","default")},5843:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/NoAuthProxyCard.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/NoAuthProxyCard.js","default")},7290:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Card.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Card.js","default")},10079:(a,b,c)=>{"use strict";c.d(b,{ConfirmModal:()=>f,default:()=>e});var d=c(77943);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Modal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Modal.js","default"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call ConfirmModal() from the server but ConfirmModal is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Modal.js","ConfirmModal")},12733:(a,b,c)=>{Promise.resolve().then(c.bind(c,67738)),Promise.resolve().then(c.bind(c,25919)),Promise.resolve().then(c.bind(c,75171)),Promise.resolve().then(c.bind(c,99070)),Promise.resolve().then(c.bind(c,38930)),Promise.resolve().then(c.bind(c,17660)),Promise.resolve().then(c.bind(c,11229)),Promise.resolve().then(c.bind(c,62727)),Promise.resolve().then(c.bind(c,51109)),Promise.resolve().then(c.bind(c,51585)),Promise.resolve().then(c.bind(c,48781)),Promise.resolve().then(c.bind(c,43182)),Promise.resolve().then(c.bind(c,47036)),Promise.resolve().then(c.bind(c,3236)),Promise.resolve().then(c.bind(c,79488)),Promise.resolve().then(c.bind(c,83552)),Promise.resolve().then(c.bind(c,8590)),Promise.resolve().then(c.bind(c,5291)),Promise.resolve().then(c.bind(c,56110)),Promise.resolve().then(c.bind(c,267)),Promise.resolve().then(c.bind(c,53838)),Promise.resolve().then(c.bind(c,85306)),Promise.resolve().then(c.bind(c,74812)),Promise.resolve().then(c.bind(c,39645)),Promise.resolve().then(c.bind(c,20084)),Promise.resolve().then(c.bind(c,95145)),Promise.resolve().then(c.bind(c,4249)),Promise.resolve().then(c.bind(c,29370)),Promise.resolve().then(c.bind(c,50585)),Promise.resolve().then(c.bind(c,79346)),Promise.resolve().then(c.bind(c,11633)),Promise.resolve().then(c.bind(c,91809)),Promise.resolve().then(c.bind(c,91099)),Promise.resolve().then(c.bind(c,4770)),Promise.resolve().then(c.bind(c,42196)),Promise.resolve().then(c.bind(c,19308)),Promise.resolve().then(c.bind(c,53845)),Promise.resolve().then(c.bind(c,95514)),Promise.resolve().then(c.bind(c,18480)),Promise.resolve().then(c.bind(c,32971)),Promise.resolve().then(c.bind(c,24622)),Promise.resolve().then(c.bind(c,24656))},14285:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/KiroOAuthWrapper.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/KiroOAuthWrapper.js","default")},18060:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/XiaomiMimoAuthModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/XiaomiMimoAuthModal.js","default")},18200:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/AddCustomEmbeddingModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/AddCustomEmbeddingModal.js","default")},18421:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Tooltip.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Tooltip.js","default")},19083:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/RequestLogger.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/RequestLogger.js","default")},20493:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/ComboFormModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/ComboFormModal.js","default")},26866:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Sidebar.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Sidebar.js","default")},29354:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/HeaderMenu.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/HeaderMenu.js","default")},29502:(a,b,c)=>{Promise.resolve().then(c.bind(c,75828))},29674:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/NineRemoteButton.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/NineRemoteButton.js","default")},30508:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(5735);c(45512),c(71230),c(83784),c(7290),c(10079),c(92082),c(70061),c(33893),c(70092),c(40515),c(89886),c(26866),c(92669),c(49123),c(3080),c(94582),c(70603),c(20493),c(962),c(45205),c(29674),c(29354),c(33811),c(19083),c(82448),c(14285),c(87228),c(40167),c(56966),c(18060),c(80342),c(64148),c(32846),c(70139),c(18200),c(5843),c(54065),c(18421),c(81923),c(4996);var e=c(61780);function f({children:a}){return(0,d.jsx)(e.default,{children:a})}c(64420)},32846:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/TokenHarborAuthModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/TokenHarborAuthModal.js","default")},33811:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/ChangelogModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/ChangelogModal.js","default")},33893:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Badge.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Badge.js","default")},40167:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/CursorAuthModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/CursorAuthModal.js","default")},40515:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/ThemeToggle.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/ThemeToggle.js","default")},45205:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/LanguageSwitcher.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/LanguageSwitcher.js","default")},45512:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Button.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Button.js","default")},49123:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Footer.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Footer.js","default")},54065:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/SegmentedControl.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/SegmentedControl.js","default")},56965:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/app/(dashboard)/dashboard/error.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/app/(dashboard)/dashboard/error.js","default")},56966:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/ZedAuthModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/ZedAuthModal.js","default")},61780:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/layouts/DashboardLayout.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/layouts/DashboardLayout.js","default")},64148:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/GitLabAuthModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/GitLabAuthModal.js","default")},64420:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/layouts/AuthLayout.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/layouts/AuthLayout.js","default")},70061:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Avatar.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Avatar.js","default")},70092:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Toggle.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Toggle.js","default")},70139:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/EditConnectionModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/EditConnectionModal.js","default")},70603:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/ManualConfigModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/ManualConfigModal.js","default")},71230:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Input.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Input.js","default")},75828:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(48249),e=c(50412);function f({error:a,reset:b}){return(0,d.jsx)("div",{className:"flex min-h-[60vh] items-center justify-center px-4 py-10",children:(0,d.jsxs)("div",{className:"flex w-full max-w-md flex-col items-center gap-3 rounded-xl border border-border bg-surface p-6 text-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[28px] text-red-500",children:"error"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{className:"text-lg font-semibold mb-1",children:"Something went wrong"}),(0,d.jsx)("p",{className:"text-sm text-text-muted break-words",children:a?.message||"An unexpected error occurred."})]}),(0,d.jsx)(e.$n,{onClick:b,children:"Try again"})]})})}},80342:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/IFlowCookieModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/IFlowCookieModal.js","default")},81923:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/ProviderInfoCard.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/ProviderInfoCard.js","default")},82448:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/KiroAuthModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/KiroAuthModal.js","default")},82646:(a,b,c)=>{Promise.resolve().then(c.bind(c,56965))},83784:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Select.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Select.js","default")},87228:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/KiroSocialOAuthModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/KiroSocialOAuthModal.js","default")},92082:(a,b,c)=>{"use strict";c.d(b,{CardSkeleton:()=>h,PageLoading:()=>f,Skeleton:()=>g,Spinner:()=>e,default:()=>i});var d=c(77943);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call Spinner() from the server but Spinner is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Loading.js","Spinner"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call PageLoading() from the server but PageLoading is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Loading.js","PageLoading"),g=(0,d.registerClientReference)(function(){throw Error("Attempted to call Skeleton() from the server but Skeleton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Loading.js","Skeleton"),h=(0,d.registerClientReference)(function(){throw Error("Attempted to call CardSkeleton() from the server but CardSkeleton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Loading.js","CardSkeleton"),i=(0,d.registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Loading.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Loading.js","default")},92669:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Header.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/Header.js","default")},94173:(a,b,c)=>{Promise.resolve().then(c.bind(c,18200)),Promise.resolve().then(c.bind(c,70061)),Promise.resolve().then(c.bind(c,33893)),Promise.resolve().then(c.bind(c,45512)),Promise.resolve().then(c.bind(c,4996)),Promise.resolve().then(c.bind(c,7290)),Promise.resolve().then(c.bind(c,33811)),Promise.resolve().then(c.bind(c,20493)),Promise.resolve().then(c.bind(c,40167)),Promise.resolve().then(c.bind(c,70139)),Promise.resolve().then(c.bind(c,49123)),Promise.resolve().then(c.bind(c,64148)),Promise.resolve().then(c.bind(c,92669)),Promise.resolve().then(c.bind(c,29354)),Promise.resolve().then(c.bind(c,80342)),Promise.resolve().then(c.bind(c,71230)),Promise.resolve().then(c.bind(c,82448)),Promise.resolve().then(c.bind(c,14285)),Promise.resolve().then(c.bind(c,87228)),Promise.resolve().then(c.bind(c,45205)),Promise.resolve().then(c.bind(c,64420)),Promise.resolve().then(c.bind(c,61780)),Promise.resolve().then(c.bind(c,92082)),Promise.resolve().then(c.bind(c,70603)),Promise.resolve().then(c.bind(c,962)),Promise.resolve().then(c.bind(c,10079)),Promise.resolve().then(c.bind(c,94582)),Promise.resolve().then(c.bind(c,29674)),Promise.resolve().then(c.bind(c,5843)),Promise.resolve().then(c.bind(c,3080)),Promise.resolve().then(c.bind(c,81923)),Promise.resolve().then(c.bind(c,19083)),Promise.resolve().then(c.bind(c,54065)),Promise.resolve().then(c.bind(c,83784)),Promise.resolve().then(c.bind(c,26866)),Promise.resolve().then(c.bind(c,89886)),Promise.resolve().then(c.bind(c,40515)),Promise.resolve().then(c.bind(c,70092)),Promise.resolve().then(c.bind(c,32846)),Promise.resolve().then(c.bind(c,18421)),Promise.resolve().then(c.bind(c,18060)),Promise.resolve().then(c.bind(c,56966))},94582:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/ModelSelectModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/gin/work/Hilbras/OmniHilbras/src/shared/components/ModelSelectModal.js","default")}};