vansrouter 0.9.91 → 0.9.95

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 (1051) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +13 -9
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +27 -3
  5. package/app/.next-cli-build/react-loadable-manifest.json +1 -1
  6. package/app/.next-cli-build/routes-manifest.json +26 -0
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-fitness/page.js +2 -0
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-fitness/page.js.nft.json +1 -0
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-fitness/page_client-reference-manifest.js +1 -0
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +2 -2
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  79. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  80. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  81. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.rsc +2 -2
  84. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +2 -2
  85. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  86. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  87. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  88. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  89. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  90. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  91. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  93. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  94. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  95. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  96. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  97. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  98. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  99. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  100. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  101. package/app/.next-cli-build/server/app/api/auth/check/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/check/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  116. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  118. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  120. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  124. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  126. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  130. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  132. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  134. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  138. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -2
  140. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  142. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
  144. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  146. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  148. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  150. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  152. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  156. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  166. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  182. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  184. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  186. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  214. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  238. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +2 -2
  240. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/providers/[id]/gcp-projects/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/providers/[id]/gcp-projects/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/providers/circuit-breakers/[name]/reset/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/providers/circuit-breakers/[name]/reset/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/providers/circuit-breakers/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/providers/circuit-breakers/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +2 -2
  262. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/fitness/clear/route.js +1 -0
  268. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/fitness/clear/route.js.nft.json +1 -0
  269. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/fitness/clear/route_client-reference-manifest.js +1 -0
  270. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  273. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +4 -4
  275. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +4 -4
  277. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/proxy-pools/fitness/clear-all/route.js +1 -0
  279. package/app/.next-cli-build/server/app/api/proxy-pools/fitness/clear-all/route.js.nft.json +1 -0
  280. package/app/.next-cli-build/server/app/api/proxy-pools/fitness/clear-all/route_client-reference-manifest.js +1 -0
  281. package/app/.next-cli-build/server/app/api/proxy-pools/fitness/route.js +1 -0
  282. package/app/.next-cli-build/server/app/api/proxy-pools/fitness/route.js.nft.json +1 -0
  283. package/app/.next-cli-build/server/app/api/proxy-pools/fitness/route_client-reference-manifest.js +1 -0
  284. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +4 -4
  287. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  289. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  291. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
  293. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  295. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  297. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +1 -1
  299. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  301. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  303. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  307. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  313. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  317. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  319. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  325. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  331. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  333. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  337. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  339. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  341. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  349. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  351. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  353. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/usage/request-details/[id]/route.js +1 -1
  355. package/app/.next-cli-build/server/app/api/usage/request-details/[id]/route.js.nft.json +1 -1
  356. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  357. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  359. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  361. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  362. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  363. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  365. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  367. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  368. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  369. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  373. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  374. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  375. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  376. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  377. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  379. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  380. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  381. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  385. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  386. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  387. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  389. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  391. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  392. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  393. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  395. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  397. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  398. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  399. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  401. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  403. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  404. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -23
  405. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  407. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  409. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  410. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  411. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  413. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  415. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  416. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  417. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  418. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  419. package/app/.next-cli-build/server/app/callback.html +1 -1
  420. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  421. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  422. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  423. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  424. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  425. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  426. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  427. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  428. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  429. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  430. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  431. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  432. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  433. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  434. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  435. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  436. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  437. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  438. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
  439. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  440. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  441. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  442. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  443. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  444. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  445. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  446. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  447. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  448. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  449. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  450. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  451. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  452. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  453. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  454. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  455. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  456. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  457. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  458. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  459. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  460. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  461. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  462. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  463. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  464. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  465. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  466. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  467. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  468. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
  469. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  470. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  471. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  472. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  473. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  474. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
  475. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  476. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  477. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  478. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  479. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  480. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  481. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  482. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  483. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  484. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  485. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  486. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  487. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  488. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  489. package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
  490. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  491. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  492. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  493. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  494. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  495. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  496. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  497. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  498. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  499. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
  500. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  501. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  502. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  503. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  504. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  505. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
  506. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  507. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  508. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  509. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  510. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  511. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  512. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  513. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  514. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  515. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  516. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  517. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  518. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  519. package/app/.next-cli-build/server/app/dashboard/proxy-fitness.html +1 -0
  520. package/app/.next-cli-build/server/app/dashboard/proxy-fitness.meta +17 -0
  521. package/app/.next-cli-build/server/app/dashboard/proxy-fitness.rsc +28 -0
  522. package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/!KGRhc2hib2FyZCk/dashboard/proxy-fitness/__PAGE__.segment.rsc +9 -0
  523. package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/!KGRhc2hib2FyZCk/dashboard/proxy-fitness.segment.rsc +5 -0
  524. package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  525. package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  526. package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/_full.segment.rsc +28 -0
  527. package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/_head.segment.rsc +6 -0
  528. package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/_index.segment.rsc +10 -0
  529. package/app/.next-cli-build/server/app/dashboard/proxy-fitness.segments/_tree.segment.rsc +5 -0
  530. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  531. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  532. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  533. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  534. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  535. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  536. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  537. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  538. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  539. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  540. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  541. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +6 -6
  542. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  543. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  544. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  545. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  546. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +6 -6
  547. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  548. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +4 -4
  549. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  550. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  551. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  552. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  553. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  554. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  556. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  557. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  558. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  559. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  560. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  561. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  562. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  563. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  564. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  565. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  566. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  567. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  568. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  569. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  570. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  571. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  572. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  573. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  574. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  575. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  576. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  577. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  578. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  579. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  580. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  581. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  582. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  583. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  584. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
  585. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  586. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  587. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  588. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  589. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
  590. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  591. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +4 -4
  592. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  593. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  594. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  595. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  596. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  597. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  598. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  599. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  600. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  601. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  602. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  603. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  604. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  605. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  606. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  607. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  608. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  609. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  610. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  611. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  612. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  613. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  614. package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  615. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  616. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  617. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  618. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  619. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  620. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  621. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  622. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  623. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  624. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  625. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  626. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  627. package/app/.next-cli-build/server/app/landing.html +1 -1
  628. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  629. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  630. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  631. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  632. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  633. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  634. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  635. package/app/.next-cli-build/server/app/login/page.js +2 -2
  636. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  637. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  638. package/app/.next-cli-build/server/app/login.html +1 -1
  639. package/app/.next-cli-build/server/app/login.rsc +5 -5
  640. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  641. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  642. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  643. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  644. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  645. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  646. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +1 -1
  647. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  648. package/app/.next-cli-build/server/app/masuk/page.js +2 -2
  649. package/app/.next-cli-build/server/app/masuk/page.js.nft.json +1 -1
  650. package/app/.next-cli-build/server/app/masuk/page_client-reference-manifest.js +1 -1
  651. package/app/.next-cli-build/server/app-paths-manifest.json +13 -9
  652. package/app/.next-cli-build/server/chunks/1632.js +1 -1
  653. package/app/.next-cli-build/server/chunks/1685.js +32 -0
  654. package/app/.next-cli-build/server/chunks/1688.js +2 -2
  655. package/app/.next-cli-build/server/chunks/2445.js +1 -1
  656. package/app/.next-cli-build/server/chunks/2557.js +8 -6
  657. package/app/.next-cli-build/server/chunks/2764.js +1 -1
  658. package/app/.next-cli-build/server/chunks/2927.js +9 -0
  659. package/app/.next-cli-build/server/chunks/3040.js +2 -2
  660. package/app/.next-cli-build/server/chunks/3128.js +1 -1
  661. package/app/.next-cli-build/server/chunks/32.js +1 -1
  662. package/app/.next-cli-build/server/chunks/3405.js +2 -2
  663. package/app/.next-cli-build/server/chunks/3539.js +1 -1
  664. package/app/.next-cli-build/server/chunks/3736.js +1 -1
  665. package/app/.next-cli-build/server/chunks/4105.js +1 -1
  666. package/app/.next-cli-build/server/chunks/4121.js +1 -1
  667. package/app/.next-cli-build/server/chunks/4539.js +2 -2
  668. package/app/.next-cli-build/server/chunks/4574.js +5 -3
  669. package/app/.next-cli-build/server/chunks/{9607.js → 4816.js} +1 -1
  670. package/app/.next-cli-build/server/chunks/4836.js +1 -1
  671. package/app/.next-cli-build/server/chunks/5006.js +1 -1
  672. package/app/.next-cli-build/server/chunks/5050.js +1 -1
  673. package/app/.next-cli-build/server/chunks/5139.js +1 -0
  674. package/app/.next-cli-build/server/chunks/5198.js +1 -1
  675. package/app/.next-cli-build/server/chunks/5302.js +1 -1
  676. package/app/.next-cli-build/server/chunks/5577.js +1 -1
  677. package/app/.next-cli-build/server/chunks/5598.js +1 -1
  678. package/app/.next-cli-build/server/chunks/5867.js +1 -1
  679. package/app/.next-cli-build/server/chunks/6085.js +1 -1
  680. package/app/.next-cli-build/server/chunks/6165.js +2 -2
  681. package/app/.next-cli-build/server/chunks/622.js +1 -1
  682. package/app/.next-cli-build/server/chunks/6385.js +1 -1
  683. package/app/.next-cli-build/server/chunks/6723.js +1 -1
  684. package/app/.next-cli-build/server/chunks/7006.js +2 -2
  685. package/app/.next-cli-build/server/chunks/7104.js +1 -0
  686. package/app/.next-cli-build/server/chunks/7546.js +1 -0
  687. package/app/.next-cli-build/server/chunks/7693.js +9 -0
  688. package/app/.next-cli-build/server/chunks/7938.js +2 -2
  689. package/app/.next-cli-build/server/chunks/7950.js +23 -1
  690. package/app/.next-cli-build/server/chunks/8691.js +2 -2
  691. package/app/.next-cli-build/server/chunks/8711.js +1 -1
  692. package/app/.next-cli-build/server/chunks/8734.js +10 -0
  693. package/app/.next-cli-build/server/chunks/8857.js +1 -0
  694. package/app/.next-cli-build/server/chunks/912.js +1 -1
  695. package/app/.next-cli-build/server/chunks/9984.js +1 -1
  696. package/app/.next-cli-build/server/instrumentation.js +1 -1
  697. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  698. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  699. package/app/.next-cli-build/server/middleware.js +6 -6
  700. package/app/.next-cli-build/server/pages/404.html +1 -1
  701. package/app/.next-cli-build/server/pages/500.html +1 -1
  702. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  703. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  704. package/app/.next-cli-build/static/chunks/2940-53318c60055c75eb.js +1 -0
  705. package/app/.next-cli-build/static/chunks/{3245.5c9d23d5d68f9b6f.js → 3245.72bf2b81ee2bcca7.js} +1 -1
  706. package/app/.next-cli-build/static/chunks/4385-881110f8d84758cb.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-0ea4bebe43c05e15.js +12 -0
  708. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-fitness/page-e6016a4ef9beab37.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-7903babc41ab9f95.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/_global-error/page-3f553f07f574de1b.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/auth/check/route-3f553f07f574de1b.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-3f553f07f574de1b.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-3f553f07f574de1b.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-3f553f07f574de1b.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-3f553f07f574de1b.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-3f553f07f574de1b.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-3f553f07f574de1b.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-3f553f07f574de1b.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-3f553f07f574de1b.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-3f553f07f574de1b.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-3f553f07f574de1b.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-3f553f07f574de1b.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-3f553f07f574de1b.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-3f553f07f574de1b.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-3f553f07f574de1b.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-3f553f07f574de1b.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-3f553f07f574de1b.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-3f553f07f574de1b.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-3f553f07f574de1b.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-3f553f07f574de1b.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-3f553f07f574de1b.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-3f553f07f574de1b.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-3f553f07f574de1b.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-3f553f07f574de1b.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-3f553f07f574de1b.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-3f553f07f574de1b.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-3f553f07f574de1b.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-3f553f07f574de1b.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/combos/route-3f553f07f574de1b.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-3f553f07f574de1b.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-3f553f07f574de1b.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-3f553f07f574de1b.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-3f553f07f574de1b.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-3f553f07f574de1b.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-3f553f07f574de1b.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/health/route-3f553f07f574de1b.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/init/route-3f553f07f574de1b.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-3f553f07f574de1b.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/keys/route-3f553f07f574de1b.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/locale/route-3f553f07f574de1b.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-3f553f07f574de1b.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-3f553f07f574de1b.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-3f553f07f574de1b.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-3f553f07f574de1b.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-3f553f07f574de1b.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-3f553f07f574de1b.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-3f553f07f574de1b.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-3f553f07f574de1b.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-3f553f07f574de1b.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-3f553f07f574de1b.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-3f553f07f574de1b.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/models/route-3f553f07f574de1b.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/models/test/route-3f553f07f574de1b.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-3f553f07f574de1b.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-3f553f07f574de1b.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-3f553f07f574de1b.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-3f553f07f574de1b.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-3f553f07f574de1b.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-3f553f07f574de1b.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-3f553f07f574de1b.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-3f553f07f574de1b.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-3f553f07f574de1b.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-3f553f07f574de1b.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-3f553f07f574de1b.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-3f553f07f574de1b.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-3f553f07f574de1b.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/pricing/route-3f553f07f574de1b.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-3f553f07f574de1b.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-3f553f07f574de1b.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-3f553f07f574de1b.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/gcp-projects/route-3f553f07f574de1b.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-3f553f07f574de1b.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-3f553f07f574de1b.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-3f553f07f574de1b.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-3f553f07f574de1b.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/[name]/reset/route-3f553f07f574de1b.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/route-3f553f07f574de1b.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-3f553f07f574de1b.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-3f553f07f574de1b.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/providers/route-3f553f07f574de1b.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-3f553f07f574de1b.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-3f553f07f574de1b.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-3f553f07f574de1b.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/fitness/clear/route-3f553f07f574de1b.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-3f553f07f574de1b.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-3f553f07f574de1b.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-3f553f07f574de1b.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-3f553f07f574de1b.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/fitness/clear-all/route-3f553f07f574de1b.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/fitness/route-3f553f07f574de1b.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-3f553f07f574de1b.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-3f553f07f574de1b.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-3f553f07f574de1b.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-3f553f07f574de1b.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-3f553f07f574de1b.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-3f553f07f574de1b.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-3f553f07f574de1b.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-3f553f07f574de1b.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-3f553f07f574de1b.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-3f553f07f574de1b.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-3f553f07f574de1b.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-3f553f07f574de1b.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-3f553f07f574de1b.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/settings/route-3f553f07f574de1b.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-3f553f07f574de1b.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/tags/route-3f553f07f574de1b.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-3f553f07f574de1b.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-3f553f07f574de1b.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-3f553f07f574de1b.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-3f553f07f574de1b.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-3f553f07f574de1b.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-3f553f07f574de1b.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-3f553f07f574de1b.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-3f553f07f574de1b.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-3f553f07f574de1b.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-3f553f07f574de1b.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-3f553f07f574de1b.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-3f553f07f574de1b.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-3f553f07f574de1b.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-3f553f07f574de1b.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-3f553f07f574de1b.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-3f553f07f574de1b.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-3f553f07f574de1b.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-3f553f07f574de1b.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-3f553f07f574de1b.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/[id]/route-3f553f07f574de1b.js +1 -0
  837. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-3f553f07f574de1b.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-3f553f07f574de1b.js +1 -0
  839. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-3f553f07f574de1b.js +1 -0
  840. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-3f553f07f574de1b.js +1 -0
  841. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-3f553f07f574de1b.js +1 -0
  842. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-3f553f07f574de1b.js +1 -0
  843. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-3f553f07f574de1b.js +1 -0
  844. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-3f553f07f574de1b.js +1 -0
  845. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-3f553f07f574de1b.js +1 -0
  846. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-3f553f07f574de1b.js +1 -0
  847. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-3f553f07f574de1b.js +1 -0
  848. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-3f553f07f574de1b.js +1 -0
  849. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-3f553f07f574de1b.js +1 -0
  850. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-3f553f07f574de1b.js +1 -0
  851. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-3f553f07f574de1b.js +1 -0
  852. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-3f553f07f574de1b.js +1 -0
  853. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-3f553f07f574de1b.js +1 -0
  854. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-3f553f07f574de1b.js +1 -0
  855. package/app/.next-cli-build/static/chunks/app/api/v1/route-3f553f07f574de1b.js +1 -0
  856. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-3f553f07f574de1b.js +1 -0
  857. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-3f553f07f574de1b.js +1 -0
  858. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-3f553f07f574de1b.js +1 -0
  859. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-3f553f07f574de1b.js +1 -0
  860. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-3f553f07f574de1b.js +1 -0
  861. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-3f553f07f574de1b.js +1 -0
  862. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-3f553f07f574de1b.js +1 -0
  863. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-3f553f07f574de1b.js +1 -0
  864. package/app/.next-cli-build/static/chunks/app/api/version/route-3f553f07f574de1b.js +1 -0
  865. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-3f553f07f574de1b.js +1 -0
  866. package/app/.next-cli-build/static/chunks/app/api/version/update/route-3f553f07f574de1b.js +1 -0
  867. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-3f553f07f574de1b.js +1 -0
  868. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-3f553f07f574de1b.js +1 -0
  869. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-3f553f07f574de1b.js +1 -0
  870. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-3f553f07f574de1b.js +1 -0
  871. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-3f553f07f574de1b.js +1 -0
  872. package/app/.next-cli-build/static/chunks/{webpack-5c0041a8d9aa7b59.js → webpack-5030c2654347badd.js} +1 -1
  873. package/app/.next-cli-build/static/css/cd50934c05508cbe.css +1 -0
  874. package/app/.next-cli-build/static/qf1dsgVGTv8LNP1n8MR6M/_buildManifest.js +1 -0
  875. package/app/package.json +1 -1
  876. package/app/public/providers/freebuff.png +0 -0
  877. package/package.json +1 -1
  878. package/app/.next-cli-build/server/chunks/3409.js +0 -9
  879. package/app/.next-cli-build/server/chunks/343.js +0 -10
  880. package/app/.next-cli-build/server/chunks/5267.js +0 -29
  881. package/app/.next-cli-build/server/chunks/6820.js +0 -1
  882. package/app/.next-cli-build/server/chunks/7100.js +0 -9
  883. package/app/.next-cli-build/server/chunks/7128.js +0 -1
  884. package/app/.next-cli-build/server/chunks/859.js +0 -1
  885. package/app/.next-cli-build/server/chunks/8765.js +0 -1
  886. package/app/.next-cli-build/static/QLo3stz0LW2-s30NGrpf_/_buildManifest.js +0 -1
  887. package/app/.next-cli-build/static/chunks/2940-8abea0c199c32f9d.js +0 -1
  888. package/app/.next-cli-build/static/chunks/4385-d27469d00ec16dcb.js +0 -1
  889. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-2f1f544590b01580.js +0 -12
  890. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-3a28e6875fa6f7b6.js +0 -1
  891. package/app/.next-cli-build/static/chunks/app/_global-error/page-d6b9d47ec01c7581.js +0 -1
  892. package/app/.next-cli-build/static/chunks/app/api/auth/check/route-d6b9d47ec01c7581.js +0 -1
  893. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-d6b9d47ec01c7581.js +0 -1
  894. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-d6b9d47ec01c7581.js +0 -1
  895. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-d6b9d47ec01c7581.js +0 -1
  896. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-d6b9d47ec01c7581.js +0 -1
  897. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-d6b9d47ec01c7581.js +0 -1
  898. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-d6b9d47ec01c7581.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-d6b9d47ec01c7581.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-d6b9d47ec01c7581.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-d6b9d47ec01c7581.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-d6b9d47ec01c7581.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-d6b9d47ec01c7581.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-d6b9d47ec01c7581.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-d6b9d47ec01c7581.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-d6b9d47ec01c7581.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-d6b9d47ec01c7581.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-d6b9d47ec01c7581.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-d6b9d47ec01c7581.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-d6b9d47ec01c7581.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-d6b9d47ec01c7581.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-d6b9d47ec01c7581.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-d6b9d47ec01c7581.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-d6b9d47ec01c7581.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-d6b9d47ec01c7581.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-d6b9d47ec01c7581.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-d6b9d47ec01c7581.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-d6b9d47ec01c7581.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-d6b9d47ec01c7581.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/combos/route-d6b9d47ec01c7581.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-d6b9d47ec01c7581.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-d6b9d47ec01c7581.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-d6b9d47ec01c7581.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-d6b9d47ec01c7581.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-d6b9d47ec01c7581.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-d6b9d47ec01c7581.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/health/route-d6b9d47ec01c7581.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/init/route-d6b9d47ec01c7581.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-d6b9d47ec01c7581.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/keys/route-d6b9d47ec01c7581.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/locale/route-d6b9d47ec01c7581.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-d6b9d47ec01c7581.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-d6b9d47ec01c7581.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-d6b9d47ec01c7581.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-d6b9d47ec01c7581.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-d6b9d47ec01c7581.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-d6b9d47ec01c7581.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-d6b9d47ec01c7581.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-d6b9d47ec01c7581.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-d6b9d47ec01c7581.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-d6b9d47ec01c7581.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-d6b9d47ec01c7581.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/models/route-d6b9d47ec01c7581.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/models/test/route-d6b9d47ec01c7581.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-d6b9d47ec01c7581.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-d6b9d47ec01c7581.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-d6b9d47ec01c7581.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-d6b9d47ec01c7581.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-d6b9d47ec01c7581.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-d6b9d47ec01c7581.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-d6b9d47ec01c7581.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-d6b9d47ec01c7581.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-d6b9d47ec01c7581.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-d6b9d47ec01c7581.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-d6b9d47ec01c7581.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-d6b9d47ec01c7581.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-d6b9d47ec01c7581.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/pricing/route-d6b9d47ec01c7581.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-d6b9d47ec01c7581.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-d6b9d47ec01c7581.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-d6b9d47ec01c7581.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/gcp-projects/route-d6b9d47ec01c7581.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-d6b9d47ec01c7581.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-d6b9d47ec01c7581.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-d6b9d47ec01c7581.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-d6b9d47ec01c7581.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/[name]/reset/route-d6b9d47ec01c7581.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/route-d6b9d47ec01c7581.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-d6b9d47ec01c7581.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-d6b9d47ec01c7581.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/providers/route-d6b9d47ec01c7581.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-d6b9d47ec01c7581.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-d6b9d47ec01c7581.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-d6b9d47ec01c7581.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-d6b9d47ec01c7581.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-d6b9d47ec01c7581.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-d6b9d47ec01c7581.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-d6b9d47ec01c7581.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-d6b9d47ec01c7581.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-d6b9d47ec01c7581.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-d6b9d47ec01c7581.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-d6b9d47ec01c7581.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-d6b9d47ec01c7581.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-d6b9d47ec01c7581.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-d6b9d47ec01c7581.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-d6b9d47ec01c7581.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-d6b9d47ec01c7581.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-d6b9d47ec01c7581.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-d6b9d47ec01c7581.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-d6b9d47ec01c7581.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-d6b9d47ec01c7581.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/settings/route-d6b9d47ec01c7581.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-d6b9d47ec01c7581.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/tags/route-d6b9d47ec01c7581.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-d6b9d47ec01c7581.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-d6b9d47ec01c7581.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-d6b9d47ec01c7581.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-d6b9d47ec01c7581.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-d6b9d47ec01c7581.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-d6b9d47ec01c7581.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-d6b9d47ec01c7581.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-d6b9d47ec01c7581.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-d6b9d47ec01c7581.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-d6b9d47ec01c7581.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-d6b9d47ec01c7581.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-d6b9d47ec01c7581.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-d6b9d47ec01c7581.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-d6b9d47ec01c7581.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-d6b9d47ec01c7581.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-d6b9d47ec01c7581.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-d6b9d47ec01c7581.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-d6b9d47ec01c7581.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-d6b9d47ec01c7581.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/[id]/route-d6b9d47ec01c7581.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-d6b9d47ec01c7581.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-d6b9d47ec01c7581.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-d6b9d47ec01c7581.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-d6b9d47ec01c7581.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-d6b9d47ec01c7581.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-d6b9d47ec01c7581.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-d6b9d47ec01c7581.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-d6b9d47ec01c7581.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-d6b9d47ec01c7581.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-d6b9d47ec01c7581.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-d6b9d47ec01c7581.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-d6b9d47ec01c7581.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-d6b9d47ec01c7581.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-d6b9d47ec01c7581.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-d6b9d47ec01c7581.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-d6b9d47ec01c7581.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-d6b9d47ec01c7581.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-d6b9d47ec01c7581.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/v1/route-d6b9d47ec01c7581.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-d6b9d47ec01c7581.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-d6b9d47ec01c7581.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-d6b9d47ec01c7581.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-d6b9d47ec01c7581.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-d6b9d47ec01c7581.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-d6b9d47ec01c7581.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-d6b9d47ec01c7581.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-d6b9d47ec01c7581.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/api/version/route-d6b9d47ec01c7581.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-d6b9d47ec01c7581.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/api/version/update/route-d6b9d47ec01c7581.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-d6b9d47ec01c7581.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-d6b9d47ec01c7581.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-d6b9d47ec01c7581.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-d6b9d47ec01c7581.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-d6b9d47ec01c7581.js +0 -1
  1050. package/app/.next-cli-build/static/css/67fbe3ebc6a034d4.css +0 -1
  1051. /package/app/.next-cli-build/static/{QLo3stz0LW2-s30NGrpf_ → qf1dsgVGTv8LNP1n8MR6M}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=622,exports.ids=[622,6820],exports.modules={7797:(a,b,c)=>{c.d(b,{IQ:()=>h,U:()=>f,eZ:()=>g,gD:()=>i,u9:()=>j});var d=c(68711),e=c(2607);let f=a=>d.xq[a]?.usage||{};function g(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}function h(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function i(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function j(a,b,c=1e4,d=null){let f=new AbortController,g=setTimeout(()=>f.abort(),c);try{return await (0,e.proxyAwareFetch)(a,{...b,signal:f.signal},d)}finally{clearTimeout(g)}}},8188:(a,b,c)=>{c.d(b,{BZ:()=>f,TN:()=>h,pl:()=>j});var d=c(46820);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}function g(a){let b=5381;for(let c=0;c<a.length;c++)b=(b<<5)+b+a.charCodeAt(c),b&=b;return Math.abs(b).toString(36)}function h(a={}){let b=a?.connectionProxyEnabled===!0?e(a?.connectionProxyUrl):"";if(b)return`proxy-${g(b)}`;let c=e(a?.proxyPoolId);return c?`pool-${g(c)}`:"direct"}let i=new Map;function j(a,b,c="",d=[]){let f=function(a,b=[]){if(!Array.isArray(a)||0===a.length)return[];let c=Array.isArray(b)?[...new Set(b.map(e).filter(Boolean))]:[];if(0===c.length)return a;let d=new Set(c);return a.filter(a=>d.has(a))}(a,d);if(0===f.length)return null;let g=String(b||"").toLowerCase();if("fill-first"===g)return f[0];if("round-robin"===g){let a=`${c}:${g}:${f.join(",")}`,b=(i.get(a)??0)%f.length;return i.set(a,(b+1)%f.length),f[b]}return"random"===g?f[Math.floor(Math.random()*f.length)]:null}},46820:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(94164)},60950:(a,b,c)=>{c.d(b,{g:()=>i});var d=c(2607),e=c(24567),f=c(7797);let g={oauthUsageUrl:(0,f.U)("claude").oauthUrl,usageUrl:(0,f.U)("claude").orgUrl,settingsUrl:(0,f.U)("claude").settingsUrl,apiVersion:e.b8},h=new Map;async function i(a,b=null){try{let c=h.get(a);if(c&&Date.now()<c)return await j(a,b);let e=await (0,d.proxyAwareFetch)(g.oauthUsageUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":g.apiVersion}},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)}return{plan:"Claude Code",extraUsage:a.extra_usage??null,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 j(a,b)}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}async function j(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}`}}}},68600:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{q:()=>h});var e=c(94164),f=c(63548),g=a([f]);async function h(a,b=!1,c=null){let d=(0,f.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||d.needsRefresh(g)))return{connection:a,refreshed:!1};let i=await d.refreshCredentials(g,console,c);if(!i){if(a.accessToken)return{connection:a,refreshed:!1};throw Error("Failed to refresh credentials. Please re-authorize the connection.")}let j={updatedAt:new Date().toISOString()};i.accessToken&&(j.accessToken=i.accessToken),i.refreshToken&&(j.refreshToken=i.refreshToken),i.idToken&&(j.idToken=i.idToken),i.lastRefreshAt&&(j.lastRefreshAt=i.lastRefreshAt),i.expiresIn?(j.expiresAt=new Date(Date.now()+1e3*i.expiresIn).toISOString(),j.expiresIn=i.expiresIn):i.expiresAt&&(j.expiresAt=i.expiresAt);let k={...i.providerSpecificData||{},...i.copilotToken?{copilotToken:i.copilotToken}:{},...i.copilotTokenExpiresAt?{copilotTokenExpiresAt:i.copilotTokenExpiresAt}:{}};return Object.keys(k).length>0&&(j.providerSpecificData={...a.providerSpecificData||{},...k}),await (0,e.updateProviderConnection)(a.id,j),{connection:{...a,...j,providerSpecificData:j.providerSpecificData||a.providerSpecificData},refreshed:!0}}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},88017:(a,b,c)=>{c.d(b,{RO:()=>m,Tl:()=>k,Yt:()=>l});var d=c(2607),e=c(7797);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=Math.max(0,(0,e.IQ)(g.rate_limit_reset_credits?.available_count,0)),m={};return j(m,"",i),j(m,"review",k),{plan:g.plan_type||g.summary?.plan||"unknown",limitReached:h(i)?.limit_reached||!1,reviewLimitReached:h(k)?.limit_reached||!1,resetCredits:{availableCount:l},quotas:m}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function l(a,b=null,c=null){if(!a)throw Error("No Codex access token available. Please re-authorize the connection.");let h=c?.workspaceId||c?.accountId||c?.chatgptAccountId||null,i={Authorization:`Bearer ${a}`,Accept:"application/json","OpenAI-Beta":"codex-1",originator:"codex_cli_rs"};h&&(i["ChatGPT-Account-ID"]=h);let j=await (0,d.proxyAwareFetch)(f.resetCreditsUrl,{method:"GET",headers:i},b),k=null;try{k=await j.json()}catch{k=null}if(!j.ok)throw Error(k?.message||k?.error||k?.detail||`Codex reset credits API unavailable (${j.status}).`);let m=Array.isArray(k?.credits)?k.credits:[];return{availableCount:Math.max(0,(0,e.IQ)(k?.available_count??k?.availableCount,0)),credits:m.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}}}};
1
+ "use strict";exports.id=622,exports.ids=[622],exports.modules={7797:(a,b,c)=>{c.d(b,{IQ:()=>h,U:()=>f,eZ:()=>g,gD:()=>i,u9:()=>j});var d=c(68711),e=c(2607);let f=a=>d.xq[a]?.usage||{};function g(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}function h(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function i(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function j(a,b,c=1e4,d=null){let f=new AbortController,g=setTimeout(()=>f.abort(),c);try{return await (0,e.proxyAwareFetch)(a,{...b,signal:f.signal},d)}finally{clearTimeout(g)}}},8188:(a,b,c)=>{c.d(b,{BZ:()=>g,TN:()=>i,pl:()=>l});var d=c(46820),e=c(83474);function f(a){return null==a?"":String(a).trim()}async function g(a={},b=null,c=null){try{let g=f(a?.proxyPoolId),h="__none__"===g?"":g,i=Array.isArray(a?.proxyPoolIds)?a.proxyPoolIds:[],j=a?.proxyRotationStrategy||"none",k=a?.proxyPoolScope||null;"smart"===j&&k&&await Promise.all(i.map(a=>(0,e.f7)(a)));let m=i.length?l(i,j,b||"",a?.targetProxyPoolIds||[],{scope:k,excludeIds:c||[]}):h,n=function(a={}){let b=a?.connectionProxyEnabled===!0,c=f(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:f(a?.connectionNoProxy)}}(a);if(m){let a=await (0,d.hr)(m),b=f(a?.proxyUrl),c=f(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:m,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:c,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:m,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:c,strictProxy:!0===a.strictProxy}}}if(n.connectionProxyEnabled&&n.connectionProxyUrl)return{source:"legacy",proxyPoolId:m||null,proxyPool:null,...n};return{source:"none",proxyPoolId:h||null,proxyPool:null,...n}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}function h(a){let b=5381;for(let c=0;c<a.length;c++)b=(b<<5)+b+a.charCodeAt(c),b&=b;return Math.abs(b).toString(36)}function i(a={}){let b=a?.connectionProxyEnabled===!0?f(a?.connectionProxyUrl):"";if(b)return`proxy-${h(b)}`;let c=f(a?.proxyPoolId)||(Array.isArray(a?.proxyPoolIds)?f(a.proxyPoolIds[0]):"");return c?`pool-${h(c)}`:"direct"}let j=new Map;function k(a,b=[]){if(!Array.isArray(a)||0===a.length)return[];let c=Array.isArray(b)?[...new Set(b.map(f).filter(Boolean))]:[];if(0===c.length)return a;let d=new Set(c);return a.filter(a=>d.has(a))}function l(a,b,c="",d=[],f={}){Array.isArray(d)||(f=d||{},d=[]);let g=k(a,d),h=String(b||"").toLowerCase(),{scope:i=null,excludeIds:m=[]}=f||{};g=g.filter(a=>!m.includes(a));let n="smart"===h&&!!i;if(n&&(g=(0,e.Uv)(g,i)),0!==g.length||n||(g=k(a,d).filter(a=>!m.includes(a))),0===g.length)return null;if("fill-first"===h)return g[0];if("round-robin"===h||"smart"===h){let a=`${c}:${h}:${g.join(",")}`,b=(j.get(a)??0)%g.length;return j.set(a,(b+1)%g.length),g[b]}return"random"===h?g[Math.floor(Math.random()*g.length)]:g[0]}},60950:(a,b,c)=>{c.d(b,{g:()=>i});var d=c(2607),e=c(24567),f=c(7797);let g={oauthUsageUrl:(0,f.U)("claude").oauthUrl,usageUrl:(0,f.U)("claude").orgUrl,settingsUrl:(0,f.U)("claude").settingsUrl,apiVersion:e.b8},h=new Map;async function i(a,b=null){try{let c=h.get(a);if(c&&Date.now()<c)return await j(a,b);let e=await (0,d.proxyAwareFetch)(g.oauthUsageUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":g.apiVersion}},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)}return{plan:"Claude Code",extraUsage:a.extra_usage??null,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 j(a,b)}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}async function j(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}`}}}},68600:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{q:()=>h});var e=c(94164),f=c(63548),g=a([f]);async function h(a,b=!1,c=null){let d=(0,f.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||d.needsRefresh(g)))return{connection:a,refreshed:!1};let i=await d.refreshCredentials(g,console,c);if(!i){if(a.accessToken)return{connection:a,refreshed:!1};throw Error("Failed to refresh credentials. Please re-authorize the connection.")}let j={updatedAt:new Date().toISOString()};i.accessToken&&(j.accessToken=i.accessToken),i.refreshToken&&(j.refreshToken=i.refreshToken),i.idToken&&(j.idToken=i.idToken),i.lastRefreshAt&&(j.lastRefreshAt=i.lastRefreshAt),i.expiresIn?(j.expiresAt=new Date(Date.now()+1e3*i.expiresIn).toISOString(),j.expiresIn=i.expiresIn):i.expiresAt&&(j.expiresAt=i.expiresAt);let k={...i.providerSpecificData||{},...i.copilotToken?{copilotToken:i.copilotToken}:{},...i.copilotTokenExpiresAt?{copilotTokenExpiresAt:i.copilotTokenExpiresAt}:{}};return Object.keys(k).length>0&&(j.providerSpecificData={...a.providerSpecificData||{},...k}),await (0,e.updateProviderConnection)(a.id,j),{connection:{...a,...j,providerSpecificData:j.providerSpecificData||a.providerSpecificData},refreshed:!0}}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},88017:(a,b,c)=>{c.d(b,{RO:()=>m,Tl:()=>k,Yt:()=>l});var d=c(2607),e=c(7797);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=Math.max(0,(0,e.IQ)(g.rate_limit_reset_credits?.available_count,0)),m={};return j(m,"",i),j(m,"review",k),{plan:g.plan_type||g.summary?.plan||"unknown",limitReached:h(i)?.limit_reached||!1,reviewLimitReached:h(k)?.limit_reached||!1,resetCredits:{availableCount:l},quotas:m}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function l(a,b=null,c=null){if(!a)throw Error("No Codex access token available. Please re-authorize the connection.");let h=c?.workspaceId||c?.accountId||c?.chatgptAccountId||null,i={Authorization:`Bearer ${a}`,Accept:"application/json","OpenAI-Beta":"codex-1",originator:"codex_cli_rs"};h&&(i["ChatGPT-Account-ID"]=h);let j=await (0,d.proxyAwareFetch)(f.resetCreditsUrl,{method:"GET",headers:i},b),k=null;try{k=await j.json()}catch{k=null}if(!j.ok)throw Error(k?.message||k?.error||k?.detail||`Codex reset credits API unavailable (${j.status}).`);let m=Array.isArray(k?.credits)?k.credits:[];return{availableCount:Math.max(0,(0,e.IQ)(k?.available_count??k?.availableCount,0)),credits:m.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}}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=6385,exports.ids=[6385],exports.modules={56230:(a,b,c)=>{c.d(b,{N:()=>n,v:()=>m});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j=process.env.DATA_DIR||("win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),"VansRoute"):g().join(i().homedir(),".9router")),k=g().join(j,"mitm","aliases.json");function l(a){let b=g().dirname(k);e().mkdirSync(b,{recursive:!0});let c=`${k}.tmp`;e().writeFileSync(c,JSON.stringify(a,null,2),"utf8"),e().renameSync(c,k)}async function m(){try{let{getMitmAlias:a}=await Promise.resolve().then(c.bind(c,81950)),b=await a();l(b||{})}catch(a){console.log("[mitmAliasCache] sync failed:",a.message)}}function n(a,b){try{let c={};if(e().existsSync(k))try{c=JSON.parse(e().readFileSync(k,"utf8"))}catch{}c[a]=b||{},l(c)}catch(a){console.log("[mitmAliasCache] write failed:",a.message)}}},56385:(a,b,c)=>{c.d(b,{Ay:()=>v,Zh:()=>u});var d=c(21820),e=c.n(d),f=c(79551),g=c(33873),h=c(29021),i=c(94164),j=c(50575),k=c(91548),l=c(56230),m=c(86851);if(!process.env.MITM_SERVER_PATH)try{let a=(0,f.fileURLToPath)("file:///home/runner/work/VansRouter/VansRouter/src/shared/services/initializeApp.js"),b=(0,g.dirname)((0,g.dirname)(a)),c=(0,g.join)(b,"mitm","server.js");(0,h.existsSync)(c)&&(process.env.MITM_SERVER_PATH=c)}catch{}try{(0,k.initDbHooks)(i.mt,i.Xx)}catch{}process.setMaxListeners(20);let n=global.__appSingleton??={signalHandlersRegistered:!1,watchdogInterval:null,networkMonitorInterval:null,lastNetworkFingerprint:null,lastWatchdogTick:Date.now(),lastOnline:null,mitmStartInProgress:!1,tunnelAutoResumed:!1,tailscaleAutoResumed:!1};async function o(){var a;await (0,i.bI)();let b=await (0,i.mt)();b.tunnelEnabled&&!n.tunnelAutoResumed&&(n.tunnelAutoResumed=!0,console.log("[InitApp] Tunnel was enabled, auto-resuming..."),r("startup").catch(a=>console.log("[InitApp] Tunnel resume failed:",a.message))),b.tailscaleEnabled&&!n.tailscaleAutoResumed&&(n.tailscaleAutoResumed=!0,console.log("[InitApp] Tailscale was enabled, auto-resuming..."),s("startup").catch(a=>console.log("[InitApp] Tailscale resume failed:",a.message))),b.tunnelEnabled&&(0,j.Al)().catch(()=>{}),b.mitmEnabled&&((0,l.v)().catch(()=>{}),p(b)),u(b),a=b,[a?.claudeAutoPing,a?.codexAutoPing].some(a=>Object.values(a?.connections||{}).some(Boolean))&&Promise.all([c.e(3398),c.e(7128),c.e(8711),c.e(8765),c.e(7010),c.e(7916),c.e(2445),c.e(343),c.e(32),c.e(4502),c.e(4574),c.e(2557),c.e(622),c.e(9764),c.e(3712)]).then(c.bind(c,4043)).then(({startQuotaAutoPing:a})=>a()).catch(a=>console.log("[AutoPing] scheduler start failed:",a.message))}async function p(a){if(!n.mitmStartInProgress){n.mitmStartInProgress=!0;try{if(!a.mitmEnabled||(await (0,k.getMitmStatus)()).running)return;let b=await (0,k.loadEncryptedPassword)();if(!b&&"win32"!==process.platform)return void console.log("[InitApp] MITM was enabled but no saved password found, skipping auto-start");let c=(await (0,i.PX)()).find(a=>!1!==a.isActive);console.log("[InitApp] MITM was enabled, auto-starting..."),await (0,k.startMitm)(c?.key||"sk_9router",b),console.log("[InitApp] MITM auto-started");try{await (0,k.restoreToolDNS)(b),console.log("[InitApp] DNS restored from saved state")}catch(a){console.log("[InitApp] DNS restore failed:",a.message)}}catch(a){console.log("[InitApp] MITM auto-start failed:",a.message)}finally{n.mitmStartInProgress=!1}}}let q=/^(startup|netchange|sleep|sleep\+netchange|online|unexpected-exit)$/;async function r(a){let b=(0,j.Qn)();if(!(await (0,i.mt)()).tunnelEnabled||b.cancelToken.cancelled||b.spawnInProgress)return;let c=q.test(a);if(!(0,j.nN)()){if(!c&&Date.now()-b.lastRestartAt<j.Lh)return void console.log(`[Tunnel] degraded but cooldown active, skip (${a})`);if(await (0,j.u7)()){console.log(`[Tunnel] safeRestart (${a}) — tunnel unreachable${c?" [force]":""}`);try{await (0,j.cb)(),b.lastRestartAt=Date.now(),console.log("[Tunnel] restart success")}catch(a){/cloudflared killed|tunnel cancelled/.test(a.message)||console.log("[Tunnel] restart failed:",a.message)}}}}async function s(a){let b=(0,j.oN)();if(!(await (0,i.mt)()).tailscaleEnabled||b.cancelToken.cancelled||b.spawnInProgress||("startup"===a?await (0,j.hp)():(0,j.Kp)()))return;if((0,j.si)()&&b.activeLocalPort){try{await (0,j.LC)(b.activeLocalPort),b.lastRestartAt=Date.now(),console.log("[Tailscale] funnel re-established (daemon alive)")}catch(a){console.log("[Tailscale] funnel recovery failed:",a.message)}return}let c=q.test(a);if(!c&&Date.now()-b.lastRestartAt<j.Lh)return void console.log(`[Tailscale] degraded but cooldown active, skip (${a})`);if(await (0,j.u7)()){console.log(`[Tailscale] safeRestart (${a}) — daemon not running${c?" [force]":""}`);try{await (0,j.mh)(),b.lastRestartAt=Date.now(),console.log("[Tailscale] restart success")}catch(a){console.log("[Tailscale] restart failed:",a.message)}}}function t(){let a=e().networkInterfaces(),b=[];for(let[c,d]of Object.entries(a))if(d&&!j.Lx.test(c))for(let a of d)a.internal||"IPv4"!==a.family||b.push(`${c}:${a.address}`);return b.sort().join("|")}function u(a){if(a?.tunnelEnabled||a?.tailscaleEnabled){!n.watchdogInterval&&(n.watchdogInterval=setInterval(()=>{r("watchdog").catch(()=>{}),s("watchdog").catch(()=>{})},j.DA),n.watchdogInterval.unref&&n.watchdogInterval.unref()),!n.networkMonitorInterval&&(n.lastNetworkFingerprint=t(),n.lastWatchdogTick=Date.now(),n.lastOnline=null,n.networkMonitorInterval=setInterval(async()=>{try{let a=Date.now(),b=a-n.lastWatchdogTick;n.lastWatchdogTick=a;let c=t(),d=c!==n.lastNetworkFingerprint,e=b>6*j.rI;d&&(n.lastNetworkFingerprint=c);let f=await (0,j.u7)(),g=!1===n.lastOnline;if(n.lastOnline=f,!f||!d&&!e&&!g)return;await new Promise(a=>setTimeout(a,j.cw));let h=g?"online":e&&d?"sleep+netchange":e?"sleep":"netchange";r(h).catch(()=>{}),s(h).catch(()=>{})}catch(a){console.log("[NetworkMonitor] error:",a.message)}},j.rI),n.networkMonitorInterval.unref&&n.networkMonitorInterval.unref());return}n.watchdogInterval&&(clearInterval(n.watchdogInterval),n.watchdogInterval=null),n.networkMonitorInterval&&(clearInterval(n.networkMonitorInterval),n.networkMonitorInterval=null,n.lastNetworkFingerprint=null,n.lastOnline=null)}let v=async function a(){try{if(!n.signalHandlersRegistered){let a=()=>{try{(0,k.removeAllDNSEntriesSync)()}catch{}try{(0,m.killAllBridges)()}catch{}(0,j.ss)(),process.exit()};process.on("SIGINT",a),process.on("SIGTERM",a),process.on("exit",()=>{try{(0,k.removeAllDNSEntriesSync)()}catch{}}),n.signalHandlersRegistered=!0}(0,j.X$)(()=>{r("unexpected-exit").catch(()=>{})}),setTimeout(()=>{o().catch(a=>console.error("[InitApp] deferred startup failed:",a.message))},3e3)}catch(a){console.error("[InitApp] Error:",a)}}},81928:a=>{a.exports={DEFAULT_PLUGINS:[{name:"exa",title:"Exa",description:"Real-time web search and code documentation",url:"https://mcp.exa.ai/mcp",transport:"http",oauth:!1,toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",description:"Real-time web search optimized for LLM agents",url:"https://mcp.tavily.com/mcp",transport:"http",oauth:!0,toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]}],LOCAL_STDIO_PLUGINS:[{name:"browsermcp",title:"Browser MCP",description:"Control your running Chrome (requires Chrome extension)",extensionUrl:"https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc",command:"npx",args:["-y","@browsermcp/mcp@latest"],toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}],ALLOWED_MCP_COMMANDS:new Set(["npx","node","uvx","python","python3","bunx","bun"]),buildManagedMcpServers:function(a){let b=Array.isArray(a)?a:[],c=[],d=new Set;for(let a of b){if(!a?.name||!a?.url||d.has(a.name))continue;d.add(a.name);let b={name:a.name,url:a.url,transport:a.transport||(/\/sse(\b|\/)/i.test(a.url)?"sse":"http")};if(a.oauth&&(b.oauth=!0),Array.isArray(a.toolNames)&&a.toolNames.length>0){let c=`${a.name}-`,d=new Set;for(let b of a.toolNames){if("string"!=typeof b||!b)continue;let a=b;for(;a.startsWith(c);)a=a.slice(c.length);d.add(a)}let e={};for(let a of d)e[a]="allow",e[`${c}${a}`]="allow";b.toolPolicy=e}c.push(b)}return c}}},86851:(a,b,c)=>{let{spawn:d}=c(79646),e=c(55511),{LOCAL_STDIO_PLUGINS:f}=c(81928),g="__9routerMcpBridges",h=()=>(globalThis[g]||(globalThis[g]=new Map),globalThis[g]);function i(a){return f.find(b=>b.name===a)||null}function j(a){let b=h(),c=b.get(a);if(c?.proc&&!c.proc.killed&&null===c.proc.exitCode)return c;let e=i(a);if(!e)throw Error(`Unknown local plugin: ${a}`);let f=d(e.command,e.args,{stdio:["pipe","pipe","pipe"],env:process.env});return c={proc:f,sessions:new Map,buffer:""},b.set(a,c),f.stdout.on("data",a=>{let b;for(c.buffer+=a.toString("utf8");(b=c.buffer.indexOf("\n"))>=0;){let a=c.buffer.slice(0,b).trim();if(c.buffer=c.buffer.slice(b+1),!a)continue;let d=function(a){try{let b=JSON.parse(a),c=b?.result?.content;if(!Array.isArray(c))return a;let d=!1;for(let a of c)if(a?.type==="text"&&"string"==typeof a.text){let b=function(a){if("string"!=typeof a||a.length<2e3)return a;let b=a;if((b=function(a){let b=a.split("\n"),c=[],d=0;for(;d<b.length;){let a=b[d],e=a.match(/^(\s*)-\s*([a-zA-Z]+)\b/);if(!e){c.push(a),d++;continue}let f=e[1],g=e[2],h=d;for(;h<b.length;){let a=b[h],c=a.match(/^(\s*)-\s*([a-zA-Z]+)\b/);if(c&&c[1]===f&&c[2]===g||a.startsWith(`${f} `)||a.startsWith(`${f} `)){h++;continue}break}let i=h-d;if(i>=30){let a=function(a,b,c,d){let e=0;for(let f=b;f<a.length;f++){let b=a[f].match(/^(\s*)-\s*([a-zA-Z]+)\b/);if(b&&b[1]===c&&b[2]===d&&++e>10)return f}return a.length}(b,d,f,g),e=function(a,b,c,d){let e=[];for(let f=0;f<b;f++){let b=a[f].match(/^(\s*)-\s*([a-zA-Z]+)\b/);b&&b[1]===c&&b[2]===d&&e.push(f)}return e.length>5?e[e.length-5]:b}(b,h,f,g);for(let e=d;e<a;e++)c.push(b[e]);c.push(`${f}... [${i-10-5} similar "${g}" items omitted by 9router bridge]`);for(let a=e;a<h;a++)c.push(b[a])}else for(let a=d;a<h;a++)c.push(b[a]);d=h}return c.join("\n")}(b=(b=b.replace(/^\s*-\s*generic:?\s*$/gm,"")).replace(/^\s*-\s*text:\s*""\s*$/gm,""))).length>5e4){let c=b.slice(0,49700);b=`${c}
1
+ "use strict";exports.id=6385,exports.ids=[6385],exports.modules={56230:(a,b,c)=>{c.d(b,{N:()=>n,v:()=>m});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j=process.env.DATA_DIR||("win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),"VansRoute"):g().join(i().homedir(),".9router")),k=g().join(j,"mitm","aliases.json");function l(a){let b=g().dirname(k);e().mkdirSync(b,{recursive:!0});let c=`${k}.tmp`;e().writeFileSync(c,JSON.stringify(a,null,2),"utf8"),e().renameSync(c,k)}async function m(){try{let{getMitmAlias:a}=await Promise.resolve().then(c.bind(c,81950)),b=await a();l(b||{})}catch(a){console.log("[mitmAliasCache] sync failed:",a.message)}}function n(a,b){try{let c={};if(e().existsSync(k))try{c=JSON.parse(e().readFileSync(k,"utf8"))}catch{}c[a]=b||{},l(c)}catch(a){console.log("[mitmAliasCache] write failed:",a.message)}}},56385:(a,b,c)=>{c.d(b,{Ay:()=>v,Zh:()=>u});var d=c(21820),e=c.n(d),f=c(79551),g=c(33873),h=c(29021),i=c(94164),j=c(50575),k=c(91548),l=c(56230),m=c(86851);if(!process.env.MITM_SERVER_PATH)try{let a=(0,f.fileURLToPath)("file:///home/runner/work/VansRouter/VansRouter/src/shared/services/initializeApp.js"),b=(0,g.dirname)((0,g.dirname)(a)),c=(0,g.join)(b,"mitm","server.js");(0,h.existsSync)(c)&&(process.env.MITM_SERVER_PATH=c)}catch{}try{(0,k.initDbHooks)(i.mt,i.Xx)}catch{}process.setMaxListeners(20);let n=global.__appSingleton??={signalHandlersRegistered:!1,watchdogInterval:null,networkMonitorInterval:null,lastNetworkFingerprint:null,lastWatchdogTick:Date.now(),lastOnline:null,mitmStartInProgress:!1,tunnelAutoResumed:!1,tailscaleAutoResumed:!1};async function o(){var a;await (0,i.bI)();let b=await (0,i.mt)();b.tunnelEnabled&&!n.tunnelAutoResumed&&(n.tunnelAutoResumed=!0,console.log("[InitApp] Tunnel was enabled, auto-resuming..."),r("startup").catch(a=>console.log("[InitApp] Tunnel resume failed:",a.message))),b.tailscaleEnabled&&!n.tailscaleAutoResumed&&(n.tailscaleAutoResumed=!0,console.log("[InitApp] Tailscale was enabled, auto-resuming..."),s("startup").catch(a=>console.log("[InitApp] Tailscale resume failed:",a.message))),b.tunnelEnabled&&(0,j.Al)().catch(()=>{}),b.mitmEnabled&&((0,l.v)().catch(()=>{}),p(b)),u(b),a=b,[a?.claudeAutoPing,a?.codexAutoPing].some(a=>Object.values(a?.connections||{}).some(Boolean))&&Promise.all([c.e(3398),c.e(8857),c.e(8711),c.e(7104),c.e(7010),c.e(7916),c.e(2445),c.e(8734),c.e(32),c.e(4502),c.e(4574),c.e(2557),c.e(622),c.e(9764),c.e(3712)]).then(c.bind(c,4043)).then(({startQuotaAutoPing:a})=>a()).catch(a=>console.log("[AutoPing] scheduler start failed:",a.message))}async function p(a){if(!n.mitmStartInProgress){n.mitmStartInProgress=!0;try{if(!a.mitmEnabled||(await (0,k.getMitmStatus)()).running)return;let b=await (0,k.loadEncryptedPassword)();if(!b&&"win32"!==process.platform)return void console.log("[InitApp] MITM was enabled but no saved password found, skipping auto-start");let c=(await (0,i.PX)()).find(a=>!1!==a.isActive);console.log("[InitApp] MITM was enabled, auto-starting..."),await (0,k.startMitm)(c?.key||"sk_9router",b),console.log("[InitApp] MITM auto-started");try{await (0,k.restoreToolDNS)(b),console.log("[InitApp] DNS restored from saved state")}catch(a){console.log("[InitApp] DNS restore failed:",a.message)}}catch(a){console.log("[InitApp] MITM auto-start failed:",a.message)}finally{n.mitmStartInProgress=!1}}}let q=/^(startup|netchange|sleep|sleep\+netchange|online|unexpected-exit)$/;async function r(a){let b=(0,j.Qn)();if(!(await (0,i.mt)()).tunnelEnabled||b.cancelToken.cancelled||b.spawnInProgress)return;let c=q.test(a);if(!(0,j.nN)()){if(!c&&Date.now()-b.lastRestartAt<j.Lh)return void console.log(`[Tunnel] degraded but cooldown active, skip (${a})`);if(await (0,j.u7)()){console.log(`[Tunnel] safeRestart (${a}) — tunnel unreachable${c?" [force]":""}`);try{await (0,j.cb)(),b.lastRestartAt=Date.now(),console.log("[Tunnel] restart success")}catch(a){/cloudflared killed|tunnel cancelled/.test(a.message)||console.log("[Tunnel] restart failed:",a.message)}}}}async function s(a){let b=(0,j.oN)();if(!(await (0,i.mt)()).tailscaleEnabled||b.cancelToken.cancelled||b.spawnInProgress||("startup"===a?await (0,j.hp)():(0,j.Kp)()))return;if((0,j.si)()&&b.activeLocalPort){try{await (0,j.LC)(b.activeLocalPort),b.lastRestartAt=Date.now(),console.log("[Tailscale] funnel re-established (daemon alive)")}catch(a){console.log("[Tailscale] funnel recovery failed:",a.message)}return}let c=q.test(a);if(!c&&Date.now()-b.lastRestartAt<j.Lh)return void console.log(`[Tailscale] degraded but cooldown active, skip (${a})`);if(await (0,j.u7)()){console.log(`[Tailscale] safeRestart (${a}) — daemon not running${c?" [force]":""}`);try{await (0,j.mh)(),b.lastRestartAt=Date.now(),console.log("[Tailscale] restart success")}catch(a){console.log("[Tailscale] restart failed:",a.message)}}}function t(){let a=e().networkInterfaces(),b=[];for(let[c,d]of Object.entries(a))if(d&&!j.Lx.test(c))for(let a of d)a.internal||"IPv4"!==a.family||b.push(`${c}:${a.address}`);return b.sort().join("|")}function u(a){if(a?.tunnelEnabled||a?.tailscaleEnabled){!n.watchdogInterval&&(n.watchdogInterval=setInterval(()=>{r("watchdog").catch(()=>{}),s("watchdog").catch(()=>{})},j.DA),n.watchdogInterval.unref&&n.watchdogInterval.unref()),!n.networkMonitorInterval&&(n.lastNetworkFingerprint=t(),n.lastWatchdogTick=Date.now(),n.lastOnline=null,n.networkMonitorInterval=setInterval(async()=>{try{let a=Date.now(),b=a-n.lastWatchdogTick;n.lastWatchdogTick=a;let c=t(),d=c!==n.lastNetworkFingerprint,e=b>6*j.rI;d&&(n.lastNetworkFingerprint=c);let f=await (0,j.u7)(),g=!1===n.lastOnline;if(n.lastOnline=f,!f||!d&&!e&&!g)return;await new Promise(a=>setTimeout(a,j.cw));let h=g?"online":e&&d?"sleep+netchange":e?"sleep":"netchange";r(h).catch(()=>{}),s(h).catch(()=>{})}catch(a){console.log("[NetworkMonitor] error:",a.message)}},j.rI),n.networkMonitorInterval.unref&&n.networkMonitorInterval.unref());return}n.watchdogInterval&&(clearInterval(n.watchdogInterval),n.watchdogInterval=null),n.networkMonitorInterval&&(clearInterval(n.networkMonitorInterval),n.networkMonitorInterval=null,n.lastNetworkFingerprint=null,n.lastOnline=null)}let v=async function a(){try{if(!n.signalHandlersRegistered){let a=()=>{try{(0,k.removeAllDNSEntriesSync)()}catch{}try{(0,m.killAllBridges)()}catch{}(0,j.ss)(),process.exit()};process.on("SIGINT",a),process.on("SIGTERM",a),process.on("exit",()=>{try{(0,k.removeAllDNSEntriesSync)()}catch{}}),n.signalHandlersRegistered=!0}(0,j.X$)(()=>{r("unexpected-exit").catch(()=>{})}),setTimeout(()=>{o().catch(a=>console.error("[InitApp] deferred startup failed:",a.message))},3e3)}catch(a){console.error("[InitApp] Error:",a)}}},81928:a=>{a.exports={DEFAULT_PLUGINS:[{name:"exa",title:"Exa",description:"Real-time web search and code documentation",url:"https://mcp.exa.ai/mcp",transport:"http",oauth:!1,toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",description:"Real-time web search optimized for LLM agents",url:"https://mcp.tavily.com/mcp",transport:"http",oauth:!0,toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]}],LOCAL_STDIO_PLUGINS:[{name:"browsermcp",title:"Browser MCP",description:"Control your running Chrome (requires Chrome extension)",extensionUrl:"https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc",command:"npx",args:["-y","@browsermcp/mcp@latest"],toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}],ALLOWED_MCP_COMMANDS:new Set(["npx","node","uvx","python","python3","bunx","bun"]),buildManagedMcpServers:function(a){let b=Array.isArray(a)?a:[],c=[],d=new Set;for(let a of b){if(!a?.name||!a?.url||d.has(a.name))continue;d.add(a.name);let b={name:a.name,url:a.url,transport:a.transport||(/\/sse(\b|\/)/i.test(a.url)?"sse":"http")};if(a.oauth&&(b.oauth=!0),Array.isArray(a.toolNames)&&a.toolNames.length>0){let c=`${a.name}-`,d=new Set;for(let b of a.toolNames){if("string"!=typeof b||!b)continue;let a=b;for(;a.startsWith(c);)a=a.slice(c.length);d.add(a)}let e={};for(let a of d)e[a]="allow",e[`${c}${a}`]="allow";b.toolPolicy=e}c.push(b)}return c}}},86851:(a,b,c)=>{let{spawn:d}=c(79646),e=c(55511),{LOCAL_STDIO_PLUGINS:f}=c(81928),g="__9routerMcpBridges",h=()=>(globalThis[g]||(globalThis[g]=new Map),globalThis[g]);function i(a){return f.find(b=>b.name===a)||null}function j(a){let b=h(),c=b.get(a);if(c?.proc&&!c.proc.killed&&null===c.proc.exitCode)return c;let e=i(a);if(!e)throw Error(`Unknown local plugin: ${a}`);let f=d(e.command,e.args,{stdio:["pipe","pipe","pipe"],env:process.env});return c={proc:f,sessions:new Map,buffer:""},b.set(a,c),f.stdout.on("data",a=>{let b;for(c.buffer+=a.toString("utf8");(b=c.buffer.indexOf("\n"))>=0;){let a=c.buffer.slice(0,b).trim();if(c.buffer=c.buffer.slice(b+1),!a)continue;let d=function(a){try{let b=JSON.parse(a),c=b?.result?.content;if(!Array.isArray(c))return a;let d=!1;for(let a of c)if(a?.type==="text"&&"string"==typeof a.text){let b=function(a){if("string"!=typeof a||a.length<2e3)return a;let b=a;if((b=function(a){let b=a.split("\n"),c=[],d=0;for(;d<b.length;){let a=b[d],e=a.match(/^(\s*)-\s*([a-zA-Z]+)\b/);if(!e){c.push(a),d++;continue}let f=e[1],g=e[2],h=d;for(;h<b.length;){let a=b[h],c=a.match(/^(\s*)-\s*([a-zA-Z]+)\b/);if(c&&c[1]===f&&c[2]===g||a.startsWith(`${f} `)||a.startsWith(`${f} `)){h++;continue}break}let i=h-d;if(i>=30){let a=function(a,b,c,d){let e=0;for(let f=b;f<a.length;f++){let b=a[f].match(/^(\s*)-\s*([a-zA-Z]+)\b/);if(b&&b[1]===c&&b[2]===d&&++e>10)return f}return a.length}(b,d,f,g),e=function(a,b,c,d){let e=[];for(let f=0;f<b;f++){let b=a[f].match(/^(\s*)-\s*([a-zA-Z]+)\b/);b&&b[1]===c&&b[2]===d&&e.push(f)}return e.length>5?e[e.length-5]:b}(b,h,f,g);for(let e=d;e<a;e++)c.push(b[e]);c.push(`${f}... [${i-10-5} similar "${g}" items omitted by 9router bridge]`);for(let a=e;a<h;a++)c.push(b[a])}else for(let a=d;a<h;a++)c.push(b[a]);d=h}return c.join("\n")}(b=(b=b.replace(/^\s*-\s*generic:?\s*$/gm,"")).replace(/^\s*-\s*text:\s*""\s*$/gm,""))).length>5e4){let c=b.slice(0,49700);b=`${c}
2
2
 
3
3
  ... [truncated ${a.length-c.length} chars by 9router bridge. Page is large; ask user to scroll/navigate to a specific section, or click an element with the refs shown above]`}return b}(a.text);b!==a.text&&(a.text=b,d=!0)}return d?JSON.stringify(b):a}catch{return a}}(a);for(let a of c.sessions.values())try{a(`event: message
4
4
  data: ${d}
@@ -1 +1 @@
1
- "use strict";exports.id=6723,exports.ids=[6723],exports.modules={12340:(a,b,c)=>{c.d(b,{F_:()=>g,Nc:()=>h,Qh:()=>t,Su:()=>q,ag:()=>o,kI:()=>p,rl:()=>u,sy:()=>s});var d=c(79646),e=c(33873),f=c.n(e);let g=["code","ml"],h={code:["tree-sitter","tree-sitter-language-pack"],ml:["torch","huggingface-hub"]},i="win32"===process.platform,j=i?"where":"which",k=i?[`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python313\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python312\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python311\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python310\\Scripts`,`${process.env.APPDATA||""}\\Python\\Python313\\Scripts`]:["/usr/local/bin","/opt/homebrew/bin","/Library/Frameworks/Python.framework/Versions/3.13/bin","/Library/Frameworks/Python.framework/Versions/3.12/bin","/Library/Frameworks/Python.framework/Versions/3.11/bin","/Library/Frameworks/Python.framework/Versions/3.10/bin",`${process.env.HOME||""}/.local/bin`,"/usr/bin","/bin"],l=[...k,process.env.PATH||""].filter(Boolean).join(f().delimiter),m=["python3.13","python3.12","python3.11","python3.10","python3","python"],n=new Set(["localhost","127.0.0.1","::1","[::1]","0.0.0.0"]),o=process.env.HEADROOM_URL||"http://localhost:8787";function p(){try{let a=(0,d.execSync)(`${j} headroom`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:l}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}function q(){let a=null;for(let b of function(){let a=[],b=p();if(b){let c=f().dirname(b);for(let b of i?["python.exe","python3.exe"]:["python3","python3.13","python"])a.push(f().join(c,b))}for(let b of k)if(b)for(let c of m)a.push(f().join(b,i?`${c}.exe`:c));return a.push(...m),a}())try{let c=(0,d.execSync)(`${b} --version`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:l}}).toString().trim().match(/(\d+)\.(\d+)/);if(!c)continue;let[e,f]=[parseInt(c[1],10),parseInt(c[2],10)];if(!(e>3||3===e&&f>=10))continue;a||(a=b);try{return(0,d.execFileSync)(b,["-m","pip","show","headroom-ai"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:l}}),b}catch{}}catch{}return a}async function r(a){if(!a)return!1;let b=String(a).replace(/\/$/,"");try{return(await fetch(`${b}/health`,{signal:AbortSignal.timeout(1500)})).ok}catch{return!1}}function s(a){try{let b=new URL(a);return n.has(b.hostname)}catch{return!1}}async function t(a){let b=p(),c=q(),d=!!b,e=await r(a),f=s(a),g=d?u(c):{installed:!1,version:null,extras:{code:!1,ml:!1}};return{installed:d,path:b,running:e,python:c,localUrl:f,canStart:d&&f,version:g.version,extras:g.extras}}function u(a){let b=a||q();if(!b)return{installed:!1,version:null,extras:{code:!1,ml:!1}};try{let a=(0,d.execFileSync)(b,["-m","pip","list","--format=json","--disable-pip-version-check"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:l}}).toString(),c=JSON.parse(a),e=new Set(c.map(a=>String(a.name||"").toLowerCase()));if(!e.has("headroom-ai"))return{installed:!1,version:null,extras:{code:!1,ml:!1}};let f=c.find(a=>a.name?.toLowerCase()==="headroom-ai")?.version||null,i={};for(let a of g)i[a]=h[a].some(a=>e.has(a));return{installed:!0,version:f,extras:i}}catch{return{installed:!1,version:null,extras:{code:!1,ml:!1}}}}},16723:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>A});var e=c(92557),f=c(14836),g=c(5505),h=c(83679),i=c(8188),j=c(94164),k=c(47950),l=c(95584),m=c(66781),n=c(36110),o=c(12340),p=c(15261),q=c(44004),r=c(83571),s=c(92398),t=c(69152),u=c(90293),v=c(83950),w=c(72238),x=c(97118),y=a([e,n]);function z(a,b=null,c=!0){return!!c&&(b?(0,g.iF)(a,b):(0,g.qG)(a))}async function A(a,b=null){let c;try{c=await a.json()}catch{return u.warn("CHAT","Invalid JSON body"),(0,p.yj)(s.gx.BAD_REQUEST,"Invalid JSON body")}(a.headers.get("accept")||"").includes("text/event-stream")&&void 0===c.stream&&(c.stream=!0),b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())}),(0,l.n)(b.headers);let d=new URL(a.url),e=c.model,g=c.messages?.length||c.input?.length||0,h=c.tools?.length||0,i=c.reasoning_effort||c.reasoning?.effort||null;u.request("POST",`${d.pathname} | ${e} | ${g} msgs${h?` | ${h} tools`:""}${i?` | effort=${i}`:""}`);let k=a.headers.get("Authorization"),n=(0,f.Tr)(a);if(k&&n){let a=u.maskKey(n);u.debug("AUTH",`API Key: ${a}`)}else u.debug("AUTH","No API key provided (local mode)");let o=await (0,j.mt)(),t=null;if(!await (0,f.Ov)(a)&&o.requireApiKey){if(!n)return u.warn("AUTH","Missing API key (requireApiKey=true)"),(0,p.yj)(s.gx.UNAUTHORIZED,"Missing API key");if(!(t=await (0,f.kI)(n)))return u.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,p.yj)(s.gx.UNAUTHORIZED,"Invalid API key")}if(!e)return u.warn("CHAT","Missing model"),(0,p.yj)(s.gx.BAD_REQUEST,"Missing model");if(!(0,f.L$)(t,"llm"))return u.warn("AUTH","LLM kind not allowed for API key"),(0,p.yj)(s.gx.FORBIDDEN,"Chat/LLM requests are not allowed for this API key");let v=a?.headers?.get("user-agent")||"",w=(0,r.c)(c,e,v,!!o.ccFilterNaming);if(w)return w.response||w;let x=await (0,m.d_)(e);if(x){if(!(0,f.DC)(t,e))return u.warn("AUTH",`Combo "${e}" not allowed for API key`),(0,p.yj)(s.gx.FORBIDDEN,`Combo "${e}" is not allowed for this API key`);let d=o.comboStrategies||{},g=d[e]?.fallbackStrategy||o.comboStrategy||"fallback";if("fusion"===g)return u.info("CHAT",`Combo "${e}" with ${x.length} models (strategy: fusion)`),(0,q.vt)({body:c,models:x,handleSingleModel:(c,d,e)=>{let f=b;if(e&&b){let{tools:a,tool_choice:c,...d}=b.body||{};f={...b,body:d}}return B(c,d,f,a,n,t)},log:u,comboName:e,judgeModel:d[e]?.judgeModel,tuning:d[e]?.fusionTuning});let h=o.comboStickyRoundRobinLimit;return u.info("CHAT",`Combo "${e}" with ${x.length} models (strategy: ${g}, sticky: ${h})`),(0,q.Pr)({body:c,models:x,handleSingleModel:(c,d,e)=>B(c,d,b,a,n,t,e),log:u,comboName:e,comboStrategy:g,comboStickyLimit:h,signal:a?.signal??null,timeoutMs:d[e]?.targetTimeoutMs??null,queueDepth:d[e]?.queueDepth??null})}return B(c,e,b,a,n,t)}async function B(a,b,c=null,d=null,e=null,l=null,r=null){let y=r?.signal??null,A=d?.signal&&y?AbortSignal.any([d.signal,y]):d?.signal||y||null,C=await (0,m.mA)(b);if(!C.provider){let f=await (0,m.d_)(b);if(f){let g=await (0,j.mt)(),h=g.comboStrategies||{},i=h[b]?.fallbackStrategy||g.comboStrategy||"fallback";if("fusion"===i)return u.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: fusion)`),(0,q.vt)({body:a,models:f,handleSingleModel:(a,b,f)=>{let g=c;if(f&&c){let{tools:a,tool_choice:b,...d}=c.body||{};g={...c,body:d}}return B(a,b,g,d,e,l)},log:u,comboName:b,judgeModel:h[b]?.judgeModel,tuning:h[b]?.fusionTuning});let k=g.comboStickyRoundRobinLimit;return u.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: ${i}, sticky: ${k})`),(0,q.Pr)({body:a,models:f,handleSingleModel:(a,b,f)=>B(a,b,c,d,e,l,f),log:u,comboName:b,comboStrategy:i,comboStickyLimit:k,signal:d?.signal??null,timeoutMs:h[b]?.targetTimeoutMs??null,queueDepth:h[b]?.queueDepth??null})}return u.warn("CHAT","Invalid model format",{model:b}),(0,p.yj)(s.gx.BAD_REQUEST,"Invalid model format")}let{provider:D,model:E}=C;if(!await (0,f.kt)(l,D))return u.warn("AUTH",`Provider "${D}" not allowed for API key`,{provider:D}),(0,p.yj)(s.gx.FORBIDDEN,`Provider "${D}" is not allowed for this API key`);let F=`${D}/${E}`;if(!(b===F?await (0,k.Uw)(F,l):await (0,k.Uw)(b,l)||await (0,k.Uw)(F,l)))return u.warn("CHAT","Model not in available models list",{model:F}),(0,p.yj)(s.gx.NOT_FOUND,`Model "${F}" is not available. Only models listed in /v1/models can be used.`);b!==`${D}/${E}`?u.info("ROUTING",`${b} → ${D}/${E}`):u.info("ROUTING",`Provider: ${D}, Model: ${E}`);let G=d?.headers?.get("user-agent")||"",H=await (0,j.mt)(),I=!1!==H.circuitBreakerEnabled&&0!==H.circuitBreakerEnabled;if(z(D,null,I)){let a=(0,g.xK)(D),b=Math.ceil(a/1e3)||30,c=new Date(Date.now()+a).toISOString();return u.warn("GATE",`${D} circuit breaker OPEN on all proxy buckets — short-circuiting before credential lookup`),(0,p.VO)((0,p.wO)(s.gx.SERVICE_UNAVAILABLE,`[${D}/${E}] Provider temporarily unavailable (circuit breaker open)`,c,`${b}s`),null)}let J=0;try{let a=await (0,j.getProviderConnections)({provider:D});J=a?.length||0}catch(a){u?.warn?.("AUTH",`Failed to count provider connections for ${D}: ${a.message}`)}let K=new Set,L=null,M=null,N=null,O=0,P=0;for(;;){let b;if(d?.signal?.aborted)return u.info("CHAT",`[${D}/${E}] client disconnected — aborting fallback loop`),(0,p.VO)(new Response(null,{status:499}),N);let k=await (0,f.c1)(D,K,E);if(!k||k.allRateLimited){if(k?.allRateLimited){if(k.retryAfter&&P<x.gI){let a=await (0,x.U5)({retryAfter:k.retryAfter,retriesSoFar:P,signal:d?.signal});if(a.shouldRetry){P++,u.info("CHAT",`[${D}/${E}] all accounts rate-limited — waited ${a.waitedMs}ms, retrying (attempt ${P})`);continue}if("client_disconnected"===a.reason)return u.info("CHAT",`[${D}/${E}] client disconnected during cooldown wait — aborting`),(0,p.VO)(new Response(null,{status:499}),k?.connectionId??null);u.info("CHAT",`[${D}/${E}] cooldown retry skipped: ${a.reason}`)}let a=L||k.lastError||"Unavailable",b=M||Number(k.lastErrorCode)||s.gx.SERVICE_UNAVAILABLE;return u.warn("CHAT",`[${D}/${E}] ${a} (${k.retryAfterHuman})`),(0,p.VO)((0,p.wO)(b,`[${D}/${E}] ${a}`,k.retryAfter,k.retryAfterHuman),k?.connectionId??null)}if(0===K.size)return u.warn("AUTH",`No active credentials for provider: ${D}`),(0,p.VO)((0,p.yj)(s.gx.NOT_FOUND,`No active credentials for provider: ${D}`),k?.connectionId??null);return u.warn("CHAT","No more accounts available",{provider:D}),(0,p.VO)((0,p.yj)(M||s.gx.SERVICE_UNAVAILABLE,L||"All accounts unavailable"),N)}let m=(0,i.TN)(k.providerSpecificData);if(z(D,m,I)){u.warn("AUTH",`${D} proxy bucket ${m} circuit breaker OPEN — skipping account ${k.connectionName}`),K.add(k.connectionId),N=k.connectionId;continue}u.info("AUTH",`\x1b[32mUsing ${D} account: ${k.connectionName}\x1b[0m`);let q=await (0,v.eU)(D,k);if(("antigravity"===D||"gemini-cli"===D)&&!q.projectId){let a=await (0,w.eG)(k.connectionId,q.accessToken);a&&(q.projectId=a,(0,v.vN)(k.connectionId,{projectId:a}).catch(()=>{}))}let y=(0,h.pz)({provider:D,model:E,connectionId:k.connectionId,credentials:q,proxyHash:m}),B=(0,h.VQ)(q),C=!1!==H.semaphoreEnabled&&0!==H.semaphoreEnabled,F=()=>{};if(C&&y&&null!=B)try{let a={maxConcurrency:B,timeoutMs:3e4};r?.maxQueueSize!=null&&(a.maxQueueSize=r.maxQueueSize),F=await (0,h.XC)(y,a)}catch(a){if((0,h.rv)(a)){u.warn("AUTH",`Account ${k.connectionName} at capacity, trying fallback`),K.add(k.connectionId);continue}throw a}let Q=(H.providerThinking||{})[D]||null;try{b=await (0,n.wk)({body:{...a,model:`${D}/${E}`},modelInfo:{provider:D,model:E,accountCount:J},credentials:q,log:u,clientRawRequest:c,connectionId:k.connectionId,userAgent:G,apiKey:e,apiKeyName:l?.name||null,ccFilterNaming:!!H.ccFilterNaming,rtkEnabled:!!H.rtkEnabled,headroomEnabled:!!H.headroomEnabled,headroomUrl:H.headroomUrl||o.ag,headroomCompressUserMessages:!!H.headroomCompressUserMessages,cavemanEnabled:!!H.cavemanEnabled,cavemanLevel:H.cavemanLevel||"full",ponytailEnabled:!!H.ponytailEnabled,ponytailLevel:H.ponytailLevel||"full",loopGuardEnabled:!1!==H.loopGuardEnabled&&0!==H.loopGuardEnabled,providerThinking:Q,clientSignal:A,sourceFormatOverride:d?.url?(0,t.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,v.vN)(k.connectionId,{...a,existingProviderSpecificData:k.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(k.connectionId,k,E),(0,g.Fr)(D,m)}})}finally{F()}if(b.success)return(0,p.VO)(b.response,k.connectionId);if("STREAM_EARLY_EOF"===b.errorCode&&O<1){O++,u.warn("STREAM",`${D}/${E} closed stream before useful content — retrying once (attempt ${O})`);continue}let R=b.error?.message||b.error;if((0,g.lE)(D,R))try{let a=(0,g.CR)();await (0,j.updateProviderConnection)(k.connectionId,a),u.warn("AUTH",`Kimchi quota exhausted: deactivated ${k.connectionName||k.connectionId} until ${a.rateLimitedUntil}`)}catch(a){u.error("AUTH",`Failed to deactivate Kimchi account on quota exhausted: ${a.message}`)}if((0,g.Z6)(D,R)&&429===b.status)try{let a=(0,g.UQ)(E);await (0,j.updateProviderConnection)(k.connectionId,a),u.warn("AUTH",`Daily quota exhausted: locked model ${E} on ${k.connectionName||k.connectionId} until tomorrow 00:00 UTC`)}catch(a){u.error("AUTH",`Failed to lock model on daily quota exhaustion: ${a.message}`)}let{shouldFallback:S}=await (0,f.vk)(k.connectionId,b.status,R,D,E,b.resetsAtMs);if((0,g.lE)(D,R)||(0,g.p8)(D,b.status,R,u,k.connectionId,m),S){u.warn("AUTH",`Account ${k.connectionName} unavailable (${b.status}), trying fallback`),K.add(k.connectionId),L=R,M=b.status;continue}return(0,p.VO)(b.response,k.connectionId)}}[e,n]=y.then?(await y)():y,d()}catch(a){d(a)}})},66781:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>i});var d=c(94164),e=c(23095),f=c(67128);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},h=new Set(Object.keys(g));for(let a of f.A)for(let b of(h.add(a.id),a.alias&&h.add(a.alias),a.aliases||[]))h.add(b);async function i(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){if(!h.has(c.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model}}return{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},83679:(a,b,c)=>{c.d(b,{VQ:()=>j,XC:()=>g,pz:()=>i,rv:()=>h});let d=new Map;class e extends Error{constructor(a,b){super(`Semaphore "${a}" capacity reached — timed out after ${b}ms`),this.name="SemaphoreCapacityError",this.semaphoreKey=a,this.timeoutMs=b}}function f(a,b){b.cleanupTimer||(b.cleanupTimer=setTimeout(()=>{b.cleanupTimer=null,b&&0===b.running&&0===b.queue.length&&(!b.blockedUntil||Date.now()>=b.blockedUntil)&&(b.cleanupTimer&&(clearTimeout(b.cleanupTimer),b.cleanupTimer=null),d.delete(a))},0),"function"==typeof b.cleanupTimer.unref&&b.cleanupTimer.unref())}function g(a,b={}){let c,h=b.maxConcurrency??1,i=b.timeoutMs??3e4,j=b.signal??null,k=b.maxQueueSize??20;if(null==h||h<=0)return Promise.resolve(()=>{});let l=((c=d.get(a))?c.maxConcurrency=h:(c={running:0,maxConcurrency:h,queue:[],blockedUntil:null,cleanupTimer:null},d.set(a,c)),c);if(l.blockedUntil&&Date.now()<l.blockedUntil);else if(l.blockedUntil=null,l.running<l.maxConcurrency){l.running++;let b=!1;return Promise.resolve(()=>{b||(b=!0,l.running--,function a(b,c){for(;c.queue.length>0&&c.running<c.maxConcurrency&&!(c.blockedUntil&&Date.now()<c.blockedUntil);){c.blockedUntil=null;let d=c.queue.shift();if(!d)break;c.running++;let e=!1;d.resolve(()=>{e||(e=!0,c.running--,a(b,c))})}0===c.running&&0===c.queue.length&&(!c.blockedUntil||Date.now()>=c.blockedUntil)&&f(b,c)}(a,l))})}return l.queue.length>=k?Promise.reject(new e(a,0)):new Promise((b,c)=>{let d=!1,g=setTimeout(()=>{if(d)return;d=!0;let b=l.queue.indexOf(h);b>=0&&l.queue.splice(b,1),c(new e(a,i))},i);"function"==typeof g.unref&&g.unref(),j&&j.addEventListener?.("abort",()=>{if(d)return;d=!0,clearTimeout(g);let a=l.queue.indexOf(h);a>=0&&l.queue.splice(a,1),c(j.reason||Error("Aborted"))});let h={resolve:a=>{d||(d=!0,clearTimeout(g),b(a))},reject:a=>{d||(d=!0,clearTimeout(g),c(a))},timer:g};l.queue.push(h),f(a,l)})}function h(a){return a instanceof e}function i({provider:a,model:b,connectionId:c,credentials:d,proxyHash:e="direct"}){return a&&c?function({provider:a,accountKey:b,proxyHash:c="direct"}){return`${String(a)}:${String(b)}:${String(c)}`}({provider:a,accountKey:c,proxyHash:e}):null}function j(a){if(!a)return 3;let b=a.providerSpecificData?.maxConcurrency;return 0===b||null===b?null:"number"==typeof b&&b>0?b:3}},97118:(a,b,c)=>{c.d(b,{U5:()=>e,gI:()=>d});let d=1;async function e({retryAfter:a,retriesSoFar:b,signal:c,maxWaitMs:f=3e4,maxRetries:g=d,now:h=Date.now}){if(b>=g)return{shouldRetry:!1,reason:"budget_exhausted"};if(c?.aborted)return{shouldRetry:!1,reason:"client_disconnected"};let i=function(a){if(null==a)return null;if("number"==typeof a)return Number.isFinite(a)?a:null;if(a instanceof Date)return Number.isNaN(a.getTime())?null:a.getTime();if("string"==typeof a){let b=Date.parse(a);return Number.isNaN(b)?null:b}return null}(a);if(null==i)return{shouldRetry:!1,reason:"invalid_retry_after"};let j=i-h();if(j<=0)return{shouldRetry:!0,waitedMs:0};if(j>f)return{shouldRetry:!1,reason:"wait_too_long"};try{var k,l;return await (k=j,l=c,new Promise((a,b)=>{if(l?.aborted)return void b(l.reason||Error("aborted"));let c=setTimeout(()=>{l&&l.removeEventListener("abort",d),a()},k);function d(){clearTimeout(c),b(l.reason||Error("aborted"))}l&&l.addEventListener("abort",d,{once:!0})})),{shouldRetry:!0,waitedMs:j}}catch(a){if(c?.aborted)return{shouldRetry:!1,reason:"client_disconnected"};return{shouldRetry:!1,reason:"wait_failed"}}}}};
1
+ "use strict";exports.id=6723,exports.ids=[6723],exports.modules={12340:(a,b,c)=>{c.d(b,{F_:()=>g,Nc:()=>h,Qh:()=>t,Su:()=>q,ag:()=>o,kI:()=>p,rl:()=>u,sy:()=>s});var d=c(79646),e=c(33873),f=c.n(e);let g=["code","ml"],h={code:["tree-sitter","tree-sitter-language-pack"],ml:["torch","huggingface-hub"]},i="win32"===process.platform,j=i?"where":"which",k=i?[`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python313\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python312\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python311\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python310\\Scripts`,`${process.env.APPDATA||""}\\Python\\Python313\\Scripts`]:["/usr/local/bin","/opt/homebrew/bin","/Library/Frameworks/Python.framework/Versions/3.13/bin","/Library/Frameworks/Python.framework/Versions/3.12/bin","/Library/Frameworks/Python.framework/Versions/3.11/bin","/Library/Frameworks/Python.framework/Versions/3.10/bin",`${process.env.HOME||""}/.local/bin`,"/usr/bin","/bin"],l=[...k,process.env.PATH||""].filter(Boolean).join(f().delimiter),m=["python3.13","python3.12","python3.11","python3.10","python3","python"],n=new Set(["localhost","127.0.0.1","::1","[::1]","0.0.0.0"]),o=process.env.HEADROOM_URL||"http://localhost:8787";function p(){try{let a=(0,d.execSync)(`${j} headroom`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:l}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}function q(){let a=null;for(let b of function(){let a=[],b=p();if(b){let c=f().dirname(b);for(let b of i?["python.exe","python3.exe"]:["python3","python3.13","python"])a.push(f().join(c,b))}for(let b of k)if(b)for(let c of m)a.push(f().join(b,i?`${c}.exe`:c));return a.push(...m),a}())try{let c=(0,d.execSync)(`${b} --version`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:l}}).toString().trim().match(/(\d+)\.(\d+)/);if(!c)continue;let[e,f]=[parseInt(c[1],10),parseInt(c[2],10)];if(!(e>3||3===e&&f>=10))continue;a||(a=b);try{return(0,d.execFileSync)(b,["-m","pip","show","headroom-ai"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:l}}),b}catch{}}catch{}return a}async function r(a){if(!a)return!1;let b=String(a).replace(/\/$/,"");try{return(await fetch(`${b}/health`,{signal:AbortSignal.timeout(1500)})).ok}catch{return!1}}function s(a){try{let b=new URL(a);return n.has(b.hostname)}catch{return!1}}async function t(a){let b=p(),c=q(),d=!!b,e=await r(a),f=s(a),g=d?u(c):{installed:!1,version:null,extras:{code:!1,ml:!1}};return{installed:d,path:b,running:e,python:c,localUrl:f,canStart:d&&f,version:g.version,extras:g.extras}}function u(a){let b=a||q();if(!b)return{installed:!1,version:null,extras:{code:!1,ml:!1}};try{let a=(0,d.execFileSync)(b,["-m","pip","list","--format=json","--disable-pip-version-check"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:l}}).toString(),c=JSON.parse(a),e=new Set(c.map(a=>String(a.name||"").toLowerCase()));if(!e.has("headroom-ai"))return{installed:!1,version:null,extras:{code:!1,ml:!1}};let f=c.find(a=>a.name?.toLowerCase()==="headroom-ai")?.version||null,i={};for(let a of g)i[a]=h[a].some(a=>e.has(a));return{installed:!0,version:f,extras:i}}catch{return{installed:!1,version:null,extras:{code:!1,ml:!1}}}}},16723:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>A});var e=c(92557),f=c(14836),g=c(5505),h=c(83679),i=c(8188),j=c(94164),k=c(47950),l=c(95584),m=c(66781),n=c(36110),o=c(12340),p=c(15261),q=c(44004),r=c(83571),s=c(92398),t=c(69152),u=c(90293),v=c(83950),w=c(72238),x=c(97118),y=a([e,n]);function z(a,b=null,c=!0){return!!c&&(b?(0,g.iF)(a,b):(0,g.qG)(a))}async function A(a,b=null){let c;try{c=await a.json()}catch{return u.warn("CHAT","Invalid JSON body"),(0,p.yj)(s.gx.BAD_REQUEST,"Invalid JSON body")}(a.headers.get("accept")||"").includes("text/event-stream")&&void 0===c.stream&&(c.stream=!0),b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())}),(0,l.n)(b.headers);let d=new URL(a.url),e=c.model,g=c.messages?.length||c.input?.length||0,h=c.tools?.length||0,i=c.reasoning_effort||c.reasoning?.effort||null;u.request("POST",`${d.pathname} | ${e} | ${g} msgs${h?` | ${h} tools`:""}${i?` | effort=${i}`:""}`);let k=a.headers.get("Authorization"),n=(0,f.Tr)(a);if(k&&n){let a=u.maskKey(n);u.debug("AUTH",`API Key: ${a}`)}else u.debug("AUTH","No API key provided (local mode)");let o=await (0,j.mt)(),t=null;if(!await (0,f.Ov)(a)&&o.requireApiKey){if(!n)return u.warn("AUTH","Missing API key (requireApiKey=true)"),(0,p.yj)(s.gx.UNAUTHORIZED,"Missing API key");if(!(t=await (0,f.kI)(n)))return u.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,p.yj)(s.gx.UNAUTHORIZED,"Invalid API key")}if(!e)return u.warn("CHAT","Missing model"),(0,p.yj)(s.gx.BAD_REQUEST,"Missing model");if(!(0,f.L$)(t,"llm"))return u.warn("AUTH","LLM kind not allowed for API key"),(0,p.yj)(s.gx.FORBIDDEN,"Chat/LLM requests are not allowed for this API key");let v=a?.headers?.get("user-agent")||"",w=(0,r.c)(c,e,v,!!o.ccFilterNaming);if(w)return w.response||w;let x=await (0,m.d_)(e);if(x){if(!(0,f.DC)(t,e))return u.warn("AUTH",`Combo "${e}" not allowed for API key`),(0,p.yj)(s.gx.FORBIDDEN,`Combo "${e}" is not allowed for this API key`);let d=o.comboStrategies||{},g=d[e]?.fallbackStrategy||o.comboStrategy||"fallback";if("fusion"===g)return u.info("CHAT",`Combo "${e}" with ${x.length} models (strategy: fusion)`),(0,q.vt)({body:c,models:x,handleSingleModel:(c,d,e)=>{let f=b;if(e&&b){let{tools:a,tool_choice:c,...d}=b.body||{};f={...b,body:d}}return B(c,d,f,a,n,t)},log:u,comboName:e,judgeModel:d[e]?.judgeModel,tuning:d[e]?.fusionTuning});let h=o.comboStickyRoundRobinLimit;return u.info("CHAT",`Combo "${e}" with ${x.length} models (strategy: ${g}, sticky: ${h})`),(0,q.Pr)({body:c,models:x,handleSingleModel:(c,d,e)=>B(c,d,b,a,n,t,e),log:u,comboName:e,comboStrategy:g,comboStickyLimit:h,signal:a?.signal??null,timeoutMs:d[e]?.targetTimeoutMs??null,queueDepth:d[e]?.queueDepth??null})}return B(c,e,b,a,n,t)}async function B(a,b,c=null,d=null,e=null,l=null,r=null){let y=r?.signal??null,A=d?.signal&&y?AbortSignal.any([d.signal,y]):d?.signal||y||null,C=await (0,m.mA)(b);if(!C.provider){let f=await (0,m.d_)(b);if(f){let g=await (0,j.mt)(),h=g.comboStrategies||{},i=h[b]?.fallbackStrategy||g.comboStrategy||"fallback";if("fusion"===i)return u.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: fusion)`),(0,q.vt)({body:a,models:f,handleSingleModel:(a,b,f)=>{let g=c;if(f&&c){let{tools:a,tool_choice:b,...d}=c.body||{};g={...c,body:d}}return B(a,b,g,d,e,l)},log:u,comboName:b,judgeModel:h[b]?.judgeModel,tuning:h[b]?.fusionTuning});let k=g.comboStickyRoundRobinLimit;return u.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: ${i}, sticky: ${k})`),(0,q.Pr)({body:a,models:f,handleSingleModel:(a,b,f)=>B(a,b,c,d,e,l,f),log:u,comboName:b,comboStrategy:i,comboStickyLimit:k,signal:d?.signal??null,timeoutMs:h[b]?.targetTimeoutMs??null,queueDepth:h[b]?.queueDepth??null})}return u.warn("CHAT","Invalid model format",{model:b}),(0,p.yj)(s.gx.BAD_REQUEST,"Invalid model format")}let{provider:D,model:E}=C;if(!await (0,f.kt)(l,D))return u.warn("AUTH",`Provider "${D}" not allowed for API key`,{provider:D}),(0,p.yj)(s.gx.FORBIDDEN,`Provider "${D}" is not allowed for this API key`);let F=`${D}/${E}`;if(!(b===F?await (0,k.Uw)(F,l):await (0,k.Uw)(b,l)||await (0,k.Uw)(F,l)))return u.warn("CHAT","Model not in available models list",{model:F}),(0,p.yj)(s.gx.NOT_FOUND,`Model "${F}" is not available. Only models listed in /v1/models can be used.`);b!==`${D}/${E}`?u.info("ROUTING",`${b} → ${D}/${E}`):u.info("ROUTING",`Provider: ${D}, Model: ${E}`);let G=d?.headers?.get("user-agent")||"",H=await (0,j.mt)(),I=!1!==H.circuitBreakerEnabled&&0!==H.circuitBreakerEnabled;if(z(D,null,I)){let a=(0,g.xK)(D),b=Math.ceil(a/1e3)||30,c=new Date(Date.now()+a).toISOString();return u.warn("GATE",`${D} circuit breaker OPEN on all proxy buckets — short-circuiting before credential lookup`),(0,p.VO)((0,p.wO)(s.gx.SERVICE_UNAVAILABLE,`[${D}/${E}] Provider temporarily unavailable (circuit breaker open)`,c,`${b}s`),null)}let J=0;try{let a=await (0,j.getProviderConnections)({provider:D});J=a?.length||0}catch(a){u?.warn?.("AUTH",`Failed to count provider connections for ${D}: ${a.message}`)}let K=new Set,L=null,M=null,N=null,O=0,P=0;for(;;){let b;if(d?.signal?.aborted)return u.info("CHAT",`[${D}/${E}] client disconnected — aborting fallback loop`),(0,p.VO)(new Response(null,{status:499}),N);let k=await (0,f.c1)(D,K,E);if(!k||k.allRateLimited){if(k?.allRateLimited){if(k.retryAfter&&P<x.gI){let a=await (0,x.U5)({retryAfter:k.retryAfter,retriesSoFar:P,signal:d?.signal});if(a.shouldRetry){P++,u.info("CHAT",`[${D}/${E}] all accounts rate-limited — waited ${a.waitedMs}ms, retrying (attempt ${P})`);continue}if("client_disconnected"===a.reason)return u.info("CHAT",`[${D}/${E}] client disconnected during cooldown wait — aborting`),(0,p.VO)(new Response(null,{status:499}),k?.connectionId??null);u.info("CHAT",`[${D}/${E}] cooldown retry skipped: ${a.reason}`)}let a=L||k.lastError||"Unavailable",b=M||Number(k.lastErrorCode)||s.gx.SERVICE_UNAVAILABLE;return u.warn("CHAT",`[${D}/${E}] ${a} (${k.retryAfterHuman})`),(0,p.VO)((0,p.wO)(b,`[${D}/${E}] ${a}`,k.retryAfter,k.retryAfterHuman),k?.connectionId??null)}if(0===K.size)return u.warn("AUTH",`No active credentials for provider: ${D}`),(0,p.VO)((0,p.yj)(s.gx.NOT_FOUND,`No active credentials for provider: ${D}`),k?.connectionId??null);return u.warn("CHAT","No more accounts available",{provider:D}),(0,p.VO)((0,p.yj)(M||s.gx.SERVICE_UNAVAILABLE,L||"All accounts unavailable"),N)}let m=(0,i.TN)(k.providerSpecificData);if(z(D,m,I)){u.warn("AUTH",`${D} proxy bucket ${m} circuit breaker OPEN — skipping account ${k.connectionName}`),K.add(k.connectionId),N=k.connectionId;continue}u.info("AUTH",`\x1b[32mUsing ${D} account: ${k.connectionName}\x1b[0m`);let q=await (0,v.eU)(D,k);if(("antigravity"===D||"gemini-cli"===D)&&!q.projectId){let a=await (0,w.eG)(k.connectionId,q.accessToken);a&&(q.projectId=a,(0,v.vN)(k.connectionId,{projectId:a}).catch(()=>{}))}let y=(0,h.pz)({provider:D,model:E,connectionId:k.connectionId,credentials:q,proxyHash:m}),B=(0,h.VQ)(q),C=!1!==H.semaphoreEnabled&&0!==H.semaphoreEnabled,F=()=>{};if(C&&y&&null!=B)try{let a={maxConcurrency:B,timeoutMs:3e4};r?.maxQueueSize!=null&&(a.maxQueueSize=r.maxQueueSize),F=await (0,h.XC)(y,a)}catch(a){if((0,h.rv)(a)){u.warn("AUTH",`Account ${k.connectionName} at capacity, trying fallback`),K.add(k.connectionId);continue}throw a}let Q=(H.providerThinking||{})[D]||null;try{b=await (0,n.wk)({body:{...a,model:`${D}/${E}`},modelInfo:{provider:D,model:E,accountCount:J},credentials:q,log:u,clientRawRequest:c,connectionId:k.connectionId,userAgent:G,apiKey:e,apiKeyName:l?.name||null,ccFilterNaming:!!H.ccFilterNaming,rtkEnabled:!!H.rtkEnabled,headroomEnabled:!!H.headroomEnabled,headroomUrl:H.headroomUrl||o.ag,headroomCompressUserMessages:!!H.headroomCompressUserMessages,cavemanEnabled:!!H.cavemanEnabled,cavemanLevel:H.cavemanLevel||"full",ponytailEnabled:!!H.ponytailEnabled,ponytailLevel:H.ponytailLevel||"full",loopGuardEnabled:!1!==H.loopGuardEnabled&&0!==H.loopGuardEnabled,providerThinking:Q,clientSignal:A,resolveProxyConfig:async(a,b=[])=>{let c={...a?.providerSpecificData||{}};c.proxyPoolIds?.length&&(c.proxyPoolScope=`${D}::${E}`);let d=await (0,i.BZ)(c,a?.connectionId||a?.id,b);return d?.proxyPoolId?{connectionProxyEnabled:d.connectionProxyEnabled,connectionProxyUrl:d.connectionProxyUrl,connectionNoProxy:d.connectionNoProxy,connectionProxyPoolId:d.proxyPoolId||null,vercelRelayUrl:d.vercelRelayUrl||"",proxyPoolId:d.proxyPoolId||null,strictProxy:!0===d.strictProxy}:null},sourceFormatOverride:d?.url?(0,t.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,v.vN)(k.connectionId,{...a,existingProviderSpecificData:k.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(k.connectionId,k,E),(0,g.Fr)(D,m)}})}finally{F()}if(b.success)return(0,p.VO)(b.response,k.connectionId);if("STREAM_EARLY_EOF"===b.errorCode&&O<1){O++,u.warn("STREAM",`${D}/${E} closed stream before useful content — retrying once (attempt ${O})`);continue}let R=b.error?.message||b.error;if((0,g.lE)(D,R))try{let a=(0,g.CR)();await (0,j.updateProviderConnection)(k.connectionId,a),u.warn("AUTH",`Kimchi quota exhausted: deactivated ${k.connectionName||k.connectionId} until ${a.rateLimitedUntil}`)}catch(a){u.error("AUTH",`Failed to deactivate Kimchi account on quota exhausted: ${a.message}`)}if((0,g.Z6)(D,R)&&429===b.status)try{let a=(0,g.UQ)(E);await (0,j.updateProviderConnection)(k.connectionId,a),u.warn("AUTH",`Daily quota exhausted: locked model ${E} on ${k.connectionName||k.connectionId} until tomorrow 00:00 UTC`)}catch(a){u.error("AUTH",`Failed to lock model on daily quota exhaustion: ${a.message}`)}let{shouldFallback:S}=await (0,f.vk)(k.connectionId,b.status,R,D,E,b.resetsAtMs);if((0,g.lE)(D,R)||(0,g.p8)(D,b.status,R,u,k.connectionId,m),S){u.warn("AUTH",`Account ${k.connectionName} unavailable (${b.status}), trying fallback`),K.add(k.connectionId),L=R,M=b.status;continue}return(0,p.VO)(b.response,k.connectionId)}}[e,n]=y.then?(await y)():y,d()}catch(a){d(a)}})},66781:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>i});var d=c(94164),e=c(23095),f=c(58857);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},h=new Set(Object.keys(g));for(let a of f.A)for(let b of(h.add(a.id),a.alias&&h.add(a.alias),a.aliases||[]))h.add(b);async function i(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){if(!h.has(c.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model}}return{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},83679:(a,b,c)=>{c.d(b,{VQ:()=>j,XC:()=>g,pz:()=>i,rv:()=>h});let d=new Map;class e extends Error{constructor(a,b){super(`Semaphore "${a}" capacity reached — timed out after ${b}ms`),this.name="SemaphoreCapacityError",this.semaphoreKey=a,this.timeoutMs=b}}function f(a,b){b.cleanupTimer||(b.cleanupTimer=setTimeout(()=>{b.cleanupTimer=null,b&&0===b.running&&0===b.queue.length&&(!b.blockedUntil||Date.now()>=b.blockedUntil)&&(b.cleanupTimer&&(clearTimeout(b.cleanupTimer),b.cleanupTimer=null),d.delete(a))},0),"function"==typeof b.cleanupTimer.unref&&b.cleanupTimer.unref())}function g(a,b={}){let c,h=b.maxConcurrency??1,i=b.timeoutMs??3e4,j=b.signal??null,k=b.maxQueueSize??20;if(null==h||h<=0)return Promise.resolve(()=>{});let l=((c=d.get(a))?c.maxConcurrency=h:(c={running:0,maxConcurrency:h,queue:[],blockedUntil:null,cleanupTimer:null},d.set(a,c)),c);if(l.blockedUntil&&Date.now()<l.blockedUntil);else if(l.blockedUntil=null,l.running<l.maxConcurrency){l.running++;let b=!1;return Promise.resolve(()=>{b||(b=!0,l.running--,function a(b,c){for(;c.queue.length>0&&c.running<c.maxConcurrency&&!(c.blockedUntil&&Date.now()<c.blockedUntil);){c.blockedUntil=null;let d=c.queue.shift();if(!d)break;c.running++;let e=!1;d.resolve(()=>{e||(e=!0,c.running--,a(b,c))})}0===c.running&&0===c.queue.length&&(!c.blockedUntil||Date.now()>=c.blockedUntil)&&f(b,c)}(a,l))})}return l.queue.length>=k?Promise.reject(new e(a,0)):new Promise((b,c)=>{let d=!1,g=setTimeout(()=>{if(d)return;d=!0;let b=l.queue.indexOf(h);b>=0&&l.queue.splice(b,1),c(new e(a,i))},i);"function"==typeof g.unref&&g.unref(),j&&j.addEventListener?.("abort",()=>{if(d)return;d=!0,clearTimeout(g);let a=l.queue.indexOf(h);a>=0&&l.queue.splice(a,1),c(j.reason||Error("Aborted"))});let h={resolve:a=>{d||(d=!0,clearTimeout(g),b(a))},reject:a=>{d||(d=!0,clearTimeout(g),c(a))},timer:g};l.queue.push(h),f(a,l)})}function h(a){return a instanceof e}function i({provider:a,model:b,connectionId:c,credentials:d,proxyHash:e="direct"}){return a&&c?function({provider:a,accountKey:b,proxyHash:c="direct"}){return`${String(a)}:${String(b)}:${String(c)}`}({provider:a,accountKey:c,proxyHash:e}):null}function j(a){if(!a)return 3;let b=a.providerSpecificData?.maxConcurrency;return 0===b||null===b?null:"number"==typeof b&&b>0?b:3}},97118:(a,b,c)=>{c.d(b,{U5:()=>e,gI:()=>d});let d=1;async function e({retryAfter:a,retriesSoFar:b,signal:c,maxWaitMs:f=3e4,maxRetries:g=d,now:h=Date.now}){if(b>=g)return{shouldRetry:!1,reason:"budget_exhausted"};if(c?.aborted)return{shouldRetry:!1,reason:"client_disconnected"};let i=function(a){if(null==a)return null;if("number"==typeof a)return Number.isFinite(a)?a:null;if(a instanceof Date)return Number.isNaN(a.getTime())?null:a.getTime();if("string"==typeof a){let b=Date.parse(a);return Number.isNaN(b)?null:b}return null}(a);if(null==i)return{shouldRetry:!1,reason:"invalid_retry_after"};let j=i-h();if(j<=0)return{shouldRetry:!0,waitedMs:0};if(j>f)return{shouldRetry:!1,reason:"wait_too_long"};try{var k,l;return await (k=j,l=c,new Promise((a,b)=>{if(l?.aborted)return void b(l.reason||Error("aborted"));let c=setTimeout(()=>{l&&l.removeEventListener("abort",d),a()},k);function d(){clearTimeout(c),b(l.reason||Error("aborted"))}l&&l.addEventListener("abort",d,{once:!0})})),{shouldRetry:!0,waitedMs:j}}catch(a){if(c?.aborted)return{shouldRetry:!1,reason:"client_disconnected"};return{shouldRetry:!1,reason:"wait_failed"}}}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=7006,exports.ids=[7006],exports.modules={17006:(a,b,c)=>{c.d(b,{createNodeSqliteAdapter:()=>e});var d=c(78785);async function e(a){let b=process.emit;process.emit=function(a,c,...d){return!("warning"===a&&c?.name==="ExperimentalWarning"&&/SQLite/i.test(c.message||""))&&b.call(process,a,c,...d)};let c=new(await Promise.resolve().then(function(){var a=Error("Cannot find module 'node:sqlite'");throw a.code="MODULE_NOT_FOUND",a})).DatabaseSync(a);c.exec(d.oG);let e=new Map;function f(a){let b=e.get(a);return b||(b=c.prepare(a),e.set(a,b)),b}let g=setInterval(()=>{try{c.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{c.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{e.clear()}catch{}try{c.close()}catch{}}"function"==typeof g.unref&&g.unref();let i=()=>h();return process.once("beforeExit",i),process.once("SIGINT",()=>{i(),process.exit(0)}),process.once("SIGTERM",()=>{i(),process.exit(0)}),{driver:"node:sqlite",run(a,b=[]){let c=f(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>f(a).get(...b),all:(a,b=[])=>f(a).all(...b),exec:a=>c.exec(a),transaction(a){let b=`sp_${Math.random().toString(36).slice(2)}`;c.exec(`SAVEPOINT ${b}`);try{let d=a();return c.exec(`RELEASE ${b}`),d}catch(a){try{c.exec(`ROLLBACK TO ${b}`),c.exec(`RELEASE ${b}`)}catch{}throw a}},checkpoint(){try{c.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:c}}},78785:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=7,e=`
1
+ "use strict";exports.id=7006,exports.ids=[7006],exports.modules={17006:(a,b,c)=>{c.d(b,{createNodeSqliteAdapter:()=>e});var d=c(78785);async function e(a){let b=process.emit;process.emit=function(a,c,...d){return!("warning"===a&&c?.name==="ExperimentalWarning"&&/SQLite/i.test(c.message||""))&&b.call(process,a,c,...d)};let c=new(await Promise.resolve().then(function(){var a=Error("Cannot find module 'node:sqlite'");throw a.code="MODULE_NOT_FOUND",a})).DatabaseSync(a);c.exec(d.oG);let e=new Map;function f(a){let b=e.get(a);return b||(b=c.prepare(a),e.set(a,b)),b}let g=setInterval(()=>{try{c.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{c.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{e.clear()}catch{}try{c.close()}catch{}}"function"==typeof g.unref&&g.unref();let i=()=>h();return process.once("beforeExit",i),process.once("SIGINT",()=>{i(),process.exit(0)}),process.once("SIGTERM",()=>{i(),process.exit(0)}),{driver:"node:sqlite",run(a,b=[]){let c=f(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>f(a).get(...b),all:(a,b=[])=>f(a).all(...b),exec:a=>c.exec(a),transaction(a){let b=`sp_${Math.random().toString(36).slice(2)}`;c.exec(`SAVEPOINT ${b}`);try{let d=a();return c.exec(`RELEASE ${b}`),d}catch(a){try{c.exec(`ROLLBACK TO ${b}`),c.exec(`RELEASE ${b}`)}catch{}throw a}},checkpoint(){try{c.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:c}}},78785:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=8,e=`
2
2
  PRAGMA journal_mode = WAL;
3
3
  PRAGMA synchronous = NORMAL;
4
4
  PRAGMA temp_store = MEMORY;
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",context_length:"INTEGER",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]},cachedProviderModels:{columns:{providerId:"TEXT NOT NULL",modelId:"TEXT NOT NULL",kind:"TEXT DEFAULT 'llm'",ownedBy:"TEXT NOT NULL",capabilities:"TEXT",updatedAt:"INTEGER NOT NULL"},primaryKey:"PRIMARY KEY (providerId, modelId)",indexes:["CREATE INDEX IF NOT EXISTS idx_cpm_kind ON cachedProviderModels(kind)","CREATE INDEX IF NOT EXISTS idx_cpm_provider ON cachedProviderModels(providerId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
9
+ `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},proxyPoolFitness:{columns:{poolId:"TEXT NOT NULL",scope:"TEXT NOT NULL",until:"INTEGER NOT NULL",reason:"TEXT",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (poolId, scope)",indexes:["CREATE INDEX IF NOT EXISTS idx_ppf_pool ON proxyPoolFitness(poolId)","CREATE INDEX IF NOT EXISTS idx_ppf_scope ON proxyPoolFitness(scope)","CREATE INDEX IF NOT EXISTS idx_ppf_until ON proxyPoolFitness(until)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",context_length:"INTEGER",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]},cachedProviderModels:{columns:{providerId:"TEXT NOT NULL",modelId:"TEXT NOT NULL",kind:"TEXT DEFAULT 'llm'",ownedBy:"TEXT NOT NULL",capabilities:"TEXT",updatedAt:"INTEGER NOT NULL"},primaryKey:"PRIMARY KEY (providerId, modelId)",indexes:["CREATE INDEX IF NOT EXISTS idx_cpm_kind ON cachedProviderModels(kind)","CREATE INDEX IF NOT EXISTS idx_cpm_provider ON cachedProviderModels(providerId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=7104,exports.ids=[7104],exports.modules={2607:(a,b,c)=>{c.d(b,{proxyAwareFetch:()=>q});var d=c(27910),e=c(92398);let f=globalThis.fetch,g=new Map,h=new Map,i=["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"],j=["8.8.8.8","8.8.4.4"];function k(a){return null==a?"":String(a).trim()}async function l(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)),f=new b.Resolver;f.setServers(j);let g=d(f.resolve4.bind(f)),i=await g(a);return h.set(a,{ip:i[0],expiry:Date.now()+e.v1.dnsCacheTtlMs}),i[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function m(a,b){let c,d=k(b);if(!d)return!1;try{c=new URL(a).hostname.toLowerCase()}catch{return!1}return d.split(",").flatMap(a=>{let b=a.trim().toLowerCase();return b?[b]:[]}).some(a=>"*"===a||(a.startsWith(".")?c.endsWith(a)||c===a.slice(1):c===a||c.endsWith(`.${a}`)))}function n(a){let b=k(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function o(a){let b=n(a);if(!b)return null;if(!g.has(b)){g.size>=e.v1.proxyDispatchersMaxSize&&g.delete(g.keys().next().value);let{ProxyAgent:a}=await c.e(3398).then(c.t.bind(c,13398,19));g.set(b,new a({uri:b}))}return g.get(b)}async function p(a,b,e){let[f,g]=await Promise.all([Promise.resolve().then(c.t.bind(c,55591,23)),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;g.connect(443,b,()=>{let b={socket:g,servername:a.hostname,path:a.pathname+a.search,method:e.method||"POST",headers:{...e.headers,Host:a.hostname}},i=h.request(b,a=>{let b={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:d.Readable.toWeb(a),text:async()=>{let b=[];for await(let c of a)b.push(c);return Buffer.concat(b).toString()},json:async()=>JSON.parse(await b.text())};c(b)});i.on("error",f),e.body&&i.write("string"==typeof e.body?e.body:JSON.stringify(e.body)),i.end()}),g.on("error",f)})}async function q(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=k(c?.vercelRelayUrl);if(e){let a=new URL(d),c={...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=k(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=k(b?.noProxy??b?.connectionNoProxy);return d&&m(a,d)?null:n(c)}(d,c),h=g?null:n(function(a){let b;if(m(a,process.env.NO_PROXY||process.env.no_proxy))return null;try{b=new URL(a).protocol}catch{return null}return"https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(d)),j=g||h;if(function(a){try{let b=new URL(a).hostname;return i.some(a=>b.includes(a))}catch{return!1}}(d)){if(j)try{let c=await o(j);return await f(a,{...b,dispatcher:c})}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${a.message}`)}try{let a=new URL(d),c=await l(a.hostname);if(c)return await p(a,c,b)}catch(a){console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(j)try{let c=await o(j);return await f(a,{...b,dispatcher:c})}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${a.message}`)}return f(a,b)}async function r(a,b={}){return q(a,b,null)}globalThis.fetch!==r&&(globalThis.fetch=r)},13946:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,uT:()=>i,xq:()=>d.xq});var d=c(68711);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}function i(a){return d.vq[a]||[]}},22830:(a,b,c)=>{let d;c.d(b,{Cn:()=>n,Co:()=>v,Ic:()=>t,J5:()=>q,K:()=>r,NA:()=>x,QH:()=>o,Wu:()=>w,buildKimiHeaders:()=>y,go:()=>i,nZ:()=>s,sX:()=>j,uR:()=>p,x0:()=>l,zv:()=>u});var e=c(21820),f=c(13946),g=c(24567);let h=f.xq["gemini-cli"]?.cliVersion,i=f.xq["gemini-cli"]?.apiClient;function j(a="unknown"){let b;return`GeminiCLI/${h}/${a||"unknown"} (${(0,e.platform)()}; ${"ia32"===(b=(0,e.arch)())?"x86":b}; terminal)`}let k=f.xq.github?.copilot||{},l={VSCODE_VERSION:k.vscodeVersion,COPILOT_CHAT_VERSION:k.chatVersion,USER_AGENT:k.userAgent,API_VERSION:k.apiVersion};function m(){let a=(0,e.platform)(),b=(0,e.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let n={ideType:9,platform:m(),pluginType:2},o="_ide",p="_ide",q=new Set(["browser_subagent","command_status","find_by_name","generate_image","grep_search","list_dir","list_resources","multi_replace_file_content","notify_user","read_resource","read_terminal","read_url_content","replace_file_content","run_command","search_web","send_command_input","task_boundary","view_content_chunk","view_file","write_to_file"]),r={"User-Agent":g.Of},s={loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"},t={"Content-Type":"application/json","User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:9,platform:m(),pluginType:2})},u={ideType:9,platform:m(),pluginType:2},v="You are Claude Code, Anthropic's official CLI for Claude.",w=Object.fromEntries(Object.entries(f.sr).filter(([,a])=>a.refreshLeadMs).map(([a,b])=>[a,b.refreshLeadMs])),x={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:f.sr.codex?.tokenUrl,auth:f.sr.codex?.authorizeUrl},anthropic:{token:f.sr.claude?.tokenUrl,auth:"https://api.anthropic.com/v1/oauth/authorize"},qwen:{token:f.sr.qwen?.tokenUrl,auth:f.sr.qwen?.deviceCodeUrl},iflow:{token:f.sr.iflow?.tokenUrl,auth:f.sr.iflow?.authorizeUrl},github:{token:f.sr.github?.tokenUrl,auth:f.sr.github?.authorizeUrl,deviceCode:f.sr.github?.deviceCodeUrl}};function y(a){let b=(0,e.platform)(),f=(0,e.arch)(),g=`${b} ${f}`;"darwin"===b?g=`macOS ${f}`:"win32"===b?g=`Windows ${f}`:"linux"===b&&(g=`Linux ${f}`);let h="unknown";try{h=(0,e.hostname)()||"unknown"}catch{h="unknown"}let i="string"==typeof a&&a.trim()?a.trim():`kimi-${Date.now()}`;return{"X-Msh-Platform":"9router","X-Msh-Version":function(){if(d)return d;try{d=c(39006).rE||"0.0.0"}catch{d=process.env.npm_package_version||"0.0.0"}return d}(),"X-Msh-Device-Name":h,"X-Msh-Device-Model":g,"X-Msh-Device-Id":i}}},28765:(a,b,c)=>{c.d(b,{Vq:()=>k,fp:()=>i});var d=c(91392),e=c(68711);let f=e.sr.codex?.maxRefreshAgeMs,g=new Map;function h(a){if(null==a||""===a)return null;if("number"==typeof a)return a<1e12?1e3*a:a;let b=new Date(a).getTime();return Number.isFinite(b)?b:null}function i(a,b,c=Date.now()){if(!b)return!1;let g=h(b?.expiresAt??b?.tokenExpiresAt);if(null!==g&&g-c<(0,d.Og)(a))return!0;let j=e.sr[a]?.maxRefreshAgeMs;return!!(j&&b.refreshToken&&function(a,b=Date.now(),c=f){let d=h(a?.lastRefreshAt??a?.lastRefresh??a?.providerSpecificData?.lastRefreshAt);return!d||b-d>=c}(b,c,j))}async function j(a,b,c){let d,e=(d=b?.connectionId||b?.id||b?.email||b?.name||b?.refreshToken?.slice?.(-16)||"default",`${a}:${d}`),f=g.get(e);if(f)return f;let h=Promise.resolve().then(c).finally(()=>{g.delete(e)});return g.set(e,h),h}async function k(a,b,c){return b?j(a,b,async()=>{let f=await (0,d.$B)(a,b,c);return function(a,b,c,f=Date.now()){var g,h;if(!c)return null;if((0,d.jT)(c))return c;let i={},j=new Date(f).toISOString();c.accessToken&&(i.accessToken=c.accessToken),c.apiKey&&(i.apiKey=c.apiKey),c.token&&(i.token=c.token);let k=c.refreshToken??b?.refreshToken;k&&(i.refreshToken=k);let l=c.idToken??b?.idToken;return l&&(i.idToken=l),c.expiresIn?(i.expiresIn=c.expiresIn,i.expiresAt=function(a,b=Date.now()){return a?new Date(b+1e3*a).toISOString():null}(c.expiresIn,f)):c.expiresAt&&(i.expiresAt=c.expiresAt),c.projectId&&(i.projectId=c.projectId),c.providerSpecificData&&(g=b?.providerSpecificData,i.providerSpecificData=(h=c.providerSpecificData)&&"object"==typeof h?{...g||{},...h}:g),c.copilotToken&&(i.copilotToken=c.copilotToken),c.copilotTokenExpiresAt&&(i.copilotTokenExpiresAt=c.copilotTokenExpiresAt),(e.sr[a]?.trackRefreshAt||i.accessToken||i.apiKey||i.token||i.refreshToken||i.copilotToken)&&(i.lastRefreshAt=c.lastRefreshAt||j),i}(a,b,f)}):null}},39006:a=>{a.exports={rE:"0.9.95"}},46820:(a,b,c)=>{c.d(b,{AN:()=>d.AN,Ci:()=>d.Ci,Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,aE:()=>d.aE,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv,vC:()=>d.vC});var d=c(94164)},91392:(a,b,c)=>{c.d(b,{oD:()=>x,Og:()=>z,jT:()=>y,Sc:()=>A,Wm:()=>q,jR:()=>v,I9:()=>o,Ql:()=>s,$B:()=>F,pb:()=>C,qZ:()=>G});var d=c(13946),e=c(22830),f=c(2607);let g=new Map;async function h(a,b,c,d){if(!b)return c();let e=`${a}:${b}`,f=g.get(e);if(f){if(f.promise)return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),f.promise;if(f.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),f.result;g.delete(e)}let h=(async()=>{try{let a=await c();return g.set(e,{result:a,expiresAt:Date.now()+1e4}),a}catch(a){throw g.delete(e),a}})();return g.set(e,{promise:h}),h}var i=c(91550);let j=null;async function k(a,b){return a?h("xai",a,async()=>{try{j||(j=new(await Promise.all([c.e(4105),c.e(3711)]).then(c.bind(c,93711))).XaiService);let b=await j.refreshAccessToken(a);return{accessToken:b.access_token,refreshToken:b.refresh_token||a,expiresIn:b.expires_in,idToken:b.id_token}}catch(c){b?.warn?.("TOKEN_REFRESH",`xai refresh failed: ${c?.message||c}`);let a=String(c?.message||"");if(a.includes("invalid_grant")||a.includes("invalid_request"))return{error:"invalid_grant"};return null}},b):null}async function l(a,b,c,e){let f=d.xq[a];return f&&f.refreshUrl?b?h(a,b,async()=>{try{let c=await fetch(f.refreshUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:b,client_id:f.clientId,client_secret:f.clientSecret})});if(!c.ok){let b=await c.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:c.status,error:b}),null}let d=await c.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||b,expiresIn:d.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},e):(e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null):(e?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null)}async function m(a,b,c){let f=d.xq.kimi;return f?.refreshUrl&&f?.clientId?a?h("kimi",a,async()=>{try{let d={"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",...(0,e.buildKimiHeaders)(b?.providerSpecificData?.deviceId)},g=await fetch(f.refreshUrl,{method:"POST",headers:d,body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:f.clientId})});if(!g.ok){let a=await g.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh token for kimi",{status:g.status,error:a}),null}let h=await g.json();return{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in}}catch(a){return c?.error?.("TOKEN_REFRESH","Error refreshing token for kimi",{error:a.message}),null}},c):null:(c?.warn?.("TOKEN_REFRESH","No Kimi refresh URL/clientId configured"),null)}async function n(a,b){return a?h("claude",a,async()=>{try{let c=await fetch(e.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!f.access_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}},b):null}async function o(a,b,c,d){return a?h(`google:${b}`,a,async()=>{try{let f=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!f.ok){let a=await f.text();return d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:f.status,error:a}),null}let g=await f.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return d?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},d):null}async function p(a,b){return a?h("qwen",a,async()=>{let c=e.NA.qwen.token;try{let e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId})});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,providerSpecificData:c.resource_url?{resourceUrl:c.resource_url}:void 0}}{let a=await e.text().catch(()=>"");b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:e.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null},b):null}async function q(a,b){return a?h("codex",a,async()=>{try{let c=await fetch(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:d.xq.codex.clientId,grant_type:"refresh_token",refresh_token:a})});if(!c.ok){let a=await c.text(),d=function(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error?.code||c?.error||c?.error_code||"",e=c?.error_description||c?.message||a||"",f=`${d} ${e}`.toLowerCase();return{status:b,code:d,description:e,permanent:["refresh_token_expired","refresh_token_reused","refresh_token_invalidated","invalid_grant"].some(a=>f.includes(a))}}(a,c.status);if(d.permanent)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-auth required.",{status:c.status,code:d.code}),{error:"unrecoverable_refresh_error",code:d.code};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a,code:d.code,permanent:d.permanent}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,hasIdToken:!!f.id_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,idToken:f.id_token,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function r(a,b,d){if(a?.profileArn)return{};let e=d?.trim?.()||null;if(!e){let{fetchKiroProfileArn:a}=await Promise.all([c.e(3398),c.e(1725),c.e(7010),c.e(7916),c.e(2445),c.e(8734),c.e(32),c.e(4502),c.e(4574),c.e(2557),c.e(5198),c.e(6085)]).then(c.bind(c,96975));e=await a(b)}return e?{providerSpecificData:{profileArn:e}}:{}}async function s(a,b,c,e=null){return a?h("kiro",a,async()=>{let g=b?.authMethod,h=b?.clientId,j=b?.clientSecret,k=b?.region;if("external_idp"===g){let d;try{d=(0,i.uo)(a,b)}catch(a){return c?.warn?.("TOKEN_REFRESH",`Invalid Kiro external_idp refresh config: ${a.message}`),null}let g=await (0,f.proxyAwareFetch)(d.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:d.body},e);if(!g.ok){let a=await g.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro external_idp token",{status:g.status,error:a}),null}let h=await g.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro external_idp token",{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in,providerSpecificData:d.providerSpecificData}}if(h&&j){let d="idc"===g&&k?`https://oidc.${k}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",i=await (0,f.proxyAwareFetch)(d,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:h,clientSecret:j,refreshToken:a,grantType:"refresh_token"})},e);if(!i.ok){let a=await i.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:i.status,error:a}),null}let l=await i.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!l.accessToken,expiresIn:l.expiresIn}),{accessToken:l.accessToken,refreshToken:l.refreshToken||a,expiresIn:l.expiresIn,...await r(b,l.accessToken,l.profileArn)}}let l=await (0,f.proxyAwareFetch)(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:a})},e);if(!l.ok){let a=await l.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:l.status,error:a}),null}let m=await l.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!m.accessToken,expiresIn:m.expiresIn}),{accessToken:m.accessToken,refreshToken:m.refreshToken||a,expiresIn:m.expiresIn,...await r(b,m.accessToken,m.profileArn)}},c):null}async function t(a,b){return a?h("iflow",a,async()=>{let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),f=await fetch(e.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret})});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function u(a,b){return a?h("github",a,async()=>{let c={grant_type:"refresh_token",refresh_token:a,client_id:d.xq.github.clientId};d.xq.github.clientSecret&&(c.client_secret=d.xq.github.clientSecret);let f=await fetch(e.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(c)});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function v(a,b){return a?h("copilot",a,async()=>{try{let c=await fetch(d.sr.github?.copilotTokenUrl,{headers:{Authorization:`token ${a}`,"User-Agent":e.x0.USER_AGENT,"Editor-Version":`vscode/${e.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${e.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":e.x0.API_VERSION}});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!f.token,expiresAt:f.expires_at}),{token:f.token,expiresAt:f.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}},b):null}async function w(a,b){return a?h("codebuddy-cn",a,async()=>{let c=d.sr["codebuddy-cn"]||{},e=await fetch(c.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":c.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!e.ok){let a=await e.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh CodeBuddy token",{status:e.status,error:a}),null}let f=await e.json();return 0===f.code&&f.data?.accessToken?(b?.info?.("TOKEN_REFRESH","Successfully refreshed CodeBuddy token",{hasNewAccessToken:!!f.data.accessToken,hasNewRefreshToken:!!f.data.refreshToken,expiresIn:f.data.expiresIn}),{accessToken:f.data.accessToken,refreshToken:f.data.refreshToken||a,expiresIn:f.data.expiresIn}):(b?.error?.("TOKEN_REFRESH","CodeBuddy token refresh returned no token",{code:f.code,msg:f.msg}),null)},b):null}let x=3e5;function y(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}function z(a){return e.Wu[a]?e.Wu[a]:"kimi-coding"===a&&e.Wu.kimi?e.Wu.kimi:x}function A(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let B=new Map;async function C(a,b){let d=a.client_email,f=B.get(d);if(f&&f.expiresAt-Date.now()>3e5)return{accessToken:f.token,expiresAt:f.expiresAt};try{let{SignJWT:f,importPKCS8:g}=await Promise.all([c.e(5924),c.e(7947)]).then(c.bind(c,87947));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let h=await g(a.private_key.replace(/\\n/g,"\n"),"RS256"),i=Math.floor(Date.now()/1e3),j=await new f({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience(e.NA.google.token).setIssuedAt(i).setExpirationTime(i+3600).sign(h),k=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:j})});if(!k.ok){let a=await k.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:l,expires_in:m}=await k.json(),n=Date.now()+(m??3600)*1e3;return B.set(d,{token:l,expiresAt:n}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:l,expiresAt:n}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}function D(a,b){let c=A(a.apiKey);return c?C(c,b):null}let E={"gemini-cli":(a,b)=>o(a.refreshToken,d.xq["gemini-cli"].clientId,d.xq["gemini-cli"].clientSecret,b),antigravity:(a,b)=>o(a.refreshToken,d.xq.antigravity.clientId,d.xq.antigravity.clientSecret,b),claude:(a,b)=>n(a.refreshToken,b),codex:(a,b)=>q(a.refreshToken,b),qwen:(a,b)=>p(a.refreshToken,b),iflow:(a,b)=>t(a.refreshToken,b),github:(a,b)=>u(a.refreshToken,b),kiro:(a,b)=>s(a.refreshToken,a.providerSpecificData,b),xai:(a,b)=>k(a.refreshToken,b),"grok-cli":(a,b)=>k(a.refreshToken,b),gcli:(a,b)=>k(a.refreshToken,b),"codebuddy-cn":(a,b)=>w(a.refreshToken,b),kimi:(a,b)=>m(a.refreshToken,a,b),"kimi-coding":(a,b)=>m(a.refreshToken,a,b),vertex:D,"vertex-partner":D};async function F(a,b,c){if(!b.refreshToken)return null;let d=E[a];return d?d(b,c):l(a,b.refreshToken,b,c)}async function G(a,b=3,c=null){async function d(e){if(e>0){let a=1e3*e;c?.debug?.("TOKEN_REFRESH",`Retry ${e}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await a();if(b)return b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${e+1}/${b} failed: ${a.message}`)}return e+1>=b?(c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed`),null):d(e+1)}return d(0)}},91550:(a,b,c)=>{c.d(b,{Xj:()=>i,uo:()=>j});let d=new Set(["login.microsoftonline.com","login.microsoft.com","login.windows.net"]);function e(a){return"string"==typeof a?a.trim():""}function f(a){let b,c=e(a);if(!c)throw Error("token_endpoint is required");try{b=new URL(c)}catch{throw Error("token_endpoint must be a valid URL")}if("https:"!==b.protocol)throw Error("token_endpoint must use https");let f=b.hostname.toLowerCase();if(!d.has(f))throw Error("token_endpoint must be a Microsoft login endpoint");return b.toString()}function g(a){return Array.isArray(a)?a.map(e).filter(Boolean).join(" "):e(a)}function h(a){try{if(!a||"string"!=typeof a)return null;let b=a.split(".");if(3!==b.length)return null;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=(4-c.length%4)%4;return JSON.parse(Buffer.from(`${c}${"=".repeat(d)}`,"base64").toString("utf8"))}catch{return null}}function i(a){let b=a;if("string"==typeof b)try{b=JSON.parse(b)}catch{throw Error("CLIProxyAPI auth JSON is invalid")}if(!b||"object"!=typeof b)throw Error("CLIProxyAPI auth JSON is required");let c=e(b.auth_method||b.authMethod);if(c&&"external_idp"!==c)throw Error("Only external_idp Kiro auth is supported by this importer");let d=e(b.access_token||b.accessToken),i=e(b.refresh_token||b.refreshToken),j=e(b.client_id||b.clientId),k=f(b.token_endpoint||b.tokenEndpoint),l=e(b.profile_arn||b.profileArn),m=e(b.region)||"us-east-1",n=g(b.scopes||b.scope);if(!d)throw Error("access_token is required");if(!i)throw Error("refresh_token is required");if(!j)throw Error("client_id is required");if(!n)throw Error("scopes is required");if(!l)throw Error("profile_arn is required");let o=h(d),p=b.email||o?.email||o?.preferred_username||o?.upn||o?.sub||null;return{accessToken:d,refreshToken:i,expiresAt:function(a){let b=a.expired||a.expires_at||a.expiresAt;if(b){let a=new Date(b).getTime();if(Number.isFinite(a))return new Date(a).toISOString()}let c=Number(a.expires_in||a.expiresIn||0);if(Number.isFinite(c)&&c>0)return new Date(Date.now()+1e3*c).toISOString();let d=h(a.access_token||a.accessToken);return d?.exp?new Date(1e3*d.exp).toISOString():new Date(Date.now()+36e5).toISOString()}(b),email:p,providerSpecificData:{profileArn:l,region:m,authMethod:"external_idp",provider:"CLIProxyAPI",clientId:j,tokenEndpoint:k,scope:n}}}function j(a,b={}){let c=e(b.clientId||b.client_id),d=f(b.tokenEndpoint||b.token_endpoint),h=g(b.scope||b.scopes);if(!a)throw Error("refresh token is required");if(!c)throw Error("clientId is required for external_idp refresh");if(!h)throw Error("scope is required for external_idp refresh");return{tokenEndpoint:d,body:new URLSearchParams({grant_type:"refresh_token",client_id:c,refresh_token:a,scope:h}),providerSpecificData:{...b,authMethod:"external_idp",clientId:c,tokenEndpoint:d,scope:h}}}}};
@@ -0,0 +1 @@
1
+ exports.id=7546,exports.ids=[690,7546],exports.modules={9749:(a,b,c)=>{"use strict";c.d(b,{V:()=>p});var d=c(1976),e=c(81476),f=c(77625),g=c(60583),h=c(36418),i=c(987),j=c(81274),k=c(62164),l=c(93836);async function m(a,b,c){if(!(0,i.Gv)(a))throw new f.Ye("Flattened JWS must be an object");if(void 0===a.protected&&void 0===a.header)throw new f.Ye('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==a.protected&&"string"!=typeof a.protected)throw new f.Ye("JWS Protected Header incorrect type");if(void 0===a.payload)throw new f.Ye("JWS Payload missing");if("string"!=typeof a.signature)throw new f.Ye("JWS Signature missing or incorrect type");if(void 0!==a.header&&!(0,i.Gv)(a.header))throw new f.Ye("JWS Unprotected Header incorrect type");let m={};if(a.protected)try{let b=(0,d.D)(a.protected);m=JSON.parse(g.D0.decode(b))}catch{throw new f.Ye("JWS Protected Header is invalid")}if(!(0,i.fz)(m,a.header))throw new f.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...m,...a.header},o=(0,k.n)(f.Ye,new Map([["b64",!0]]),c?.crit,m,n),p=!0;if(o.has("b64")&&"boolean"!=typeof(p=m.b64))throw new f.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:q}=n;if("string"!=typeof q||!q)throw new f.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');let r=c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms);if(r&&!r.has(q))throw new f.Rb('"alg" (Algorithm) Header Parameter value not allowed');if(p){if("string"!=typeof a.payload)throw new f.Ye("JWS Payload must be a string")}else if("string"!=typeof a.payload&&!(a.payload instanceof Uint8Array))throw new f.Ye("JWS Payload must be a string or an Uint8Array instance");let s=!1;"function"==typeof b&&(b=await b(m,a),s=!0),(0,j.y)(q,b,"verify");let t=(0,g.xW)(void 0!==a.protected?(0,g.lF)(a.protected):new Uint8Array,(0,g.lF)("."),"string"==typeof a.payload?p?(0,g.lF)(a.payload):g.Rd.encode(a.payload):a.payload),u=(0,h.h2)(a.signature,"signature",f.Ye),v=await (0,l.l)(b,q);if(!await (0,e.MX)(q,v,u,t))throw new f.h2;let w={payload:p?(0,h.h2)(a.payload,"payload",f.Ye):"string"==typeof a.payload?g.Rd.encode(a.payload):a.payload};return(void 0!==a.protected&&(w.protectedHeader=m),void 0!==a.header&&(w.unprotectedHeader=a.header),s)?{...w,key:v}:w}async function n(a,b,c){if(a instanceof Uint8Array&&(a=g.D0.decode(a)),"string"!=typeof a)throw new f.Ye("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:h,length:i}=a.split(".");if(3!==i)throw new f.Ye("Invalid Compact JWS");let j=await m({payload:e,protected:d,signature:h},b,c),k={payload:j.payload,protectedHeader:j.protectedHeader};return"function"==typeof b?{...k,key:j.key}:k}var o=c(73859);async function p(a,b,c){let d=await n(a,b,c);if(d.protectedHeader.crit?.includes("b64")&&!1===d.protectedHeader.b64)throw new f.Dp("JWTs MUST NOT use unencoded payload");let e={payload:(0,o.k6)(d.protectedHeader,d.payload,c),protectedHeader:d.protectedHeader};return"function"==typeof b?{...e,key:d.key}:e}},70690:function(a,b,c){a.exports=function(a,b){var d=[function(a,b,c){a.exports=c(34)},function(a,b,c){var d=c(29)("wks"),e=c(33),f=c(2).Symbol,g="function"==typeof f;(a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))}).store=d},function(a,b){var c=a.exports="u">typeof window&&window.Math==Math?window:"u">typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=c)},function(a,b,c){var d=c(9);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b,c){a.exports=!c(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(12),e=c(17);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b){var c=a.exports={version:"2.4.0"};"number"==typeof __e&&(__e=c)},function(a,b,c){var d=c(14);a.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b){a.exports={}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b,c){var d=c(3),e=c(26),f=c(32),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(a){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(42),e=c(15);a.exports=function(a){return d(e(a))}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b){a.exports=function(a){if(void 0==a)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(9),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){var d=c(12).f,e=c(8),f=c(1)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(29)("keys"),e=c(33);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a*=1)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(11),e=c(1)("toStringTag"),f="Arguments"==d(function(){return arguments}()),g=function(a,b){try{return a[b]}catch(a){}};a.exports=function(a){var b,c,h;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(c=g(b=Object(a),e))?c:f?d(b):"Object"==(h=d(b))&&"function"==typeof b.callee?"Arguments":h}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(2),e=c(6),f=c(7),g=c(5),h="prototype",i=function(a,b,c){var j,k,l,m=a&i.F,n=a&i.G,o=a&i.S,p=a&i.P,q=a&i.B,r=a&i.W,s=n?e:e[b]||(e[b]={}),t=s[h],u=n?d:o?d[b]:(d[b]||{})[h];for(j in n&&(c=b),c)(k=!m&&u&&void 0!==u[j])&&j in s||(l=k?u[j]:c[j],s[j]=n&&"function"!=typeof u[j]?c[j]:q&&k?f(l,d):r&&u[j]==l?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b[h]=a[h],b}(l):p&&"function"==typeof l?f(Function.call,l):l,p&&((s.virtual||(s.virtual={}))[j]=l,a&i.R&&t&&!t[j]&&g(t,j,l)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,a.exports=i},function(a,b){a.exports=function(a){try{return!!a()}catch(a){return!0}}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){a.exports=!c(4)&&!c(24)(function(){return 7!=Object.defineProperty(c(16)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){"use strict";var d=c(28),e=c(23),f=c(57),g=c(5),h=c(8),i=c(10),j=c(45),k=c(18),l=c(52),m=c(1)("iterator"),n=!([].keys&&"next"in[].keys()),o="keys",p="values",q=function(){return this};a.exports=function(a,b,c,r,s,t,u){j(c,b,r);var v,w,x,y=function(a){if(!n&&a in C)return C[a];switch(a){case o:case p:return function(){return new c(this,a)}}return function(){return new c(this,a)}},z=b+" Iterator",A=s==p,B=!1,C=a.prototype,D=C[m]||C["@@iterator"]||s&&C[s],E=D||y(s),F=s?A?y("entries"):E:void 0,G="Array"==b&&C.entries||D;if(G&&(x=l(G.call(new a)))!==Object.prototype&&(k(x,z,!0),d||h(x,m)||g(x,m,q)),A&&D&&D.name!==p&&(B=!0,E=function(){return D.call(this)}),(!d||u)&&(n||B||!C[m])&&g(C,m,E),i[b]=E,i[z]=q,s)if(v={values:A?E:y(p),keys:t?E:y(o),entries:F},u)for(w in v)w in C||f(C,w,v[w]);else e(e.P+e.F*(n||B),b,v);return v}},function(a,b){a.exports=!0},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d,e,f,g=c(7),h=c(41),i=c(25),j=c(16),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function(a){delete q[a]},"process"==c(11)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(f=(e=new o).port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,c){var d=c(20),e=Math.min;a.exports=function(a){return a>0?e(d(a),0x1fffffffffffff):0}},function(a,b,c){var d=c(9);a.exports=function(a,b){var c,e;if(!d(a))return a;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a))||"function"==typeof(c=a.valueOf)&&!d(e=c.call(a))||!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){var c=0,d=Math.random();a.exports=function(a){return"Symbol(".concat(void 0===a?"":a,")_",(++c+d).toString(36))}},function(a,b,c){"use strict";function d(a){return(0,i.createHash)("sha256").update(a).digest("hex")}function e(a){switch(j){case"darwin":return a.split("IOPlatformUUID")[1].split("\n")[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return a.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":case"freebsd":return a.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw Error("Unsupported platform: "+process.platform)}}Object.defineProperty(b,"__esModule",{value:!0});var f,g=(f=c(35))&&f.__esModule?f:{default:f};b.machineIdSync=function(a){var b=e((0,h.execSync)(k[j]).toString());return a?b:d(b)},b.machineId=function(a){return new g.default(function(b,c){return(0,h.exec)(k[j],{},function(f,g,h){if(f)return c(Error("Error while obtaining machine id: "+f.stack));var i=e(g.toString());return b(a?i:d(i))})})};var h=c(70),i=c(71),j=process.platform,k={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:{native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"}["win32"!==process.platform?"":"ia32"===process.arch&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(a,b,c){a.exports={default:c(36),__esModule:!0}},function(a,b,c){c(66),c(68),c(69),c(67),a.exports=c(6).Promise},function(a,b){a.exports=function(){}},function(a,b){a.exports=function(a,b,c,d){if(!(a instanceof b)||void 0!==d&&d in a)throw TypeError(c+": incorrect invocation!");return a}},function(a,b,c){var d=c(13),e=c(31),f=c(62);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if((h=i[k++])!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(7),e=c(44),f=c(43),g=c(3),h=c(31),i=c(64),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if((q=b?s(g(o=a[t])[0],o[1]):s(a[t]))===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if((q=e(p,s,o.value,b))===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b){a.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},function(a,b,c){var d=c(11);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b,c){var d=c(10),e=c(1)("iterator"),f=Array.prototype;a.exports=function(a){return void 0!==a&&(d.Array===a||f[e]===a)}},function(a,b,c){var d=c(3);a.exports=function(a,b,c,e){try{return e?b(d(c)[0],c[1]):b(c)}catch(b){var f=a.return;throw void 0!==f&&d(f.call(a)),b}}},function(a,b,c){"use strict";var d=c(49),e=c(17),f=c(18),g={};c(5)(g,c(1)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){var d=c(1)("iterator"),e=!1;try{var f=[7][d]();f.return=function(){e=!0},Array.from(f,function(){throw 2})}catch(a){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(a){}return c}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){var d=c(2),e=c(30).set,f=d.MutationObserver||d.WebKitMutationObserver,g=d.process,h=d.Promise,i="process"==c(11)(g);a.exports=function(){var a,b,c,j=function(){var d,e;for(i&&(d=g.domain)&&d.exit();a;){e=a.fn,a=a.next;try{e()}catch(d){throw a?c():b=void 0,d}}b=void 0,d&&d.enter()};if(i)c=function(){g.nextTick(j)};else if(f){var k=!0,l=document.createTextNode("");new f(j).observe(l,{characterData:!0}),c=function(){l.data=k=!k}}else if(h&&h.resolve){var m=h.resolve();c=function(){m.then(j)}}else c=function(){e.call(d,j)};return function(d){var e={fn:d,next:void 0};b&&(b.next=e),a||(a=e,c()),b=e}}},function(a,b,c){var d=c(3),e=c(50),f=c(22),g=c(19)("IE_PROTO"),h=function(){},i="prototype",j=function(){var a,b=c(16)("iframe"),d=f.length;for(b.style.display="none",c(25).appendChild(b),b.src="javascript:",(a=b.contentWindow.document).open(),a.write("<script>document.F=Object<\/script>"),a.close(),j=a.F;d--;)delete j[i][f[d]];return j()};a.exports=Object.create||function(a,b){var c;return null!==a?(h[i]=d(a),c=new h,h[i]=null,c[g]=a):c=j(),void 0===b?c:e(c,b)}},function(a,b,c){var d=c(12),e=c(3),f=c(54);a.exports=c(4)?Object.defineProperties:function(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){var d=c(55),e=c(17),f=c(13),g=c(32),h=c(8),i=c(26),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(a){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(8),e=c(63),f=c(19)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return d(a=e(a),f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(8),e=c(13),f=c(39)(!1),g=c(19)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(53),e=c(22);a.exports=Object.keys||function(a){return d(a,e)}},function(a,b){b.f=({}).propertyIsEnumerable},function(a,b,c){var d=c(5);a.exports=function(a,b,c){for(var e in b)c&&a[e]?a[e]=b[e]:d(a,e,b[e]);return a}},function(a,b,c){a.exports=c(5)},function(a,b,c){var d=c(9),e=c(3),f=function(a,b){if(e(a),!d(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,d){try{(d=c(7)(Function.call,c(51).f(Object.prototype,"__proto__").set,2))(a,[]),b=!(a instanceof Array)}catch(a){b=!0}return function(a,c){return f(a,c),b?a.__proto__=c:d(a,c),a}}({},!1):void 0),check:f}},function(a,b,c){"use strict";var d=c(2),e=c(6),f=c(12),g=c(4),h=c(1)("species");a.exports=function(a){var b="function"==typeof e[a]?e[a]:d[a];g&&b&&!b[h]&&f.f(b,h,{configurable:!0,get:function(){return this}})}},function(a,b,c){var d=c(3),e=c(14),f=c(1)("species");a.exports=function(a,b){var c,g=d(a).constructor;return void 0===g||void 0==(c=d(g)[f])?b:e(c)}},function(a,b,c){var d=c(20),e=c(15);a.exports=function(a){return function(b,c){var f,g,h=String(e(b)),i=d(c),j=h.length;return i<0||i>=j?a?"":void 0:(f=h.charCodeAt(i))<55296||f>56319||i+1===j||(g=h.charCodeAt(i+1))<56320||g>57343?a?h.charAt(i):f:a?h.slice(i,i+2):(f-55296<<10)+(g-56320)+65536}}},function(a,b,c){var d=c(20),e=Math.max,f=Math.min;a.exports=function(a,b){return(a=d(a))<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(15);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(21),e=c(1)("iterator"),f=c(10);a.exports=c(6).getIteratorMethod=function(a){if(void 0!=a)return a[e]||a["@@iterator"]||f[d(a)]}},function(a,b,c){"use strict";var d=c(37),e=c(47),f=c(10),g=c(13);a.exports=c(27)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,c=this._i++;return!a||c>=a.length?(this._t=void 0,e(1)):"keys"==b?e(0,c):"values"==b?e(0,a[c]):e(0,[c,a[c]])},"values"),f.Arguments=f.Array,d("keys"),d("values"),d("entries")},function(a,b){},function(a,b,c){"use strict";var d,e,f,g=c(28),h=c(2),i=c(7),j=c(21),k=c(23),l=c(9),m=(c(3),c(14)),n=c(38),o=c(40),p=(c(58).set,c(60)),q=c(30).set,r=c(48)(),s="Promise",t=h.TypeError,u=h.process,v=h[s],u=h.process,w="process"==j(u),x=function(){},y=!!function(){try{var a=v.resolve(1),b=(a.constructor={})[c(1)("species")]=function(a){a(x,x)};return(w||"function"==typeof PromiseRejectionEvent)&&a.then(x)instanceof b}catch(a){}}(),z=function(a,b){return a===b||a===v&&b===f},A=function(a){var b;return!(!l(a)||"function"!=typeof(b=a.then))&&b},B=function(a){return z(v,a)?new C(a):new e(a)},C=e=function(a){var b,c;this.promise=new a(function(a,d){if(void 0!==b||void 0!==c)throw t("Bad Promise constructor");b=a,c=d}),this.resolve=m(b),this.reject=m(c)},D=function(a){try{a()}catch(a){return{error:a}}},E=function(a,b){if(!a._n){a._n=!0;var c=a._c;r(function(){for(var d=a._v,e=1==a._s,f=0;c.length>f;)!function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&H(a),a._h=1),!0===g?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(t("Promise-chain cycle")):(f=A(c))?f.call(c,h,i):h(c)):i(d)}catch(a){i(a)}}(c[f++]);a._c=[],a._n=!1,b&&!a._h&&F(a)})}},F=function(a){q.call(h,function(){var b,c,d,e=a._v;if(G(a)&&(b=D(function(){w?u.emit("unhandledRejection",e,a):(c=h.onunhandledrejection)?c({promise:a,reason:e}):(d=h.console)&&d.error&&d.error("Unhandled promise rejection",e)}),a._h=w||G(a)?2:1),a._a=void 0,b)throw b.error})},G=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if((b=c[d++]).fail||!G(b.promise))return!1;return!0},H=function(a){q.call(h,function(){var b;w?u.emit("rejectionHandled",a):(b=h.onrejectionhandled)&&b({promise:a,reason:a._v})})},I=function(a){var b=this;b._d||(b._d=!0,(b=b._w||b)._v=a,b._s=2,b._a||(b._a=b._c.slice()),E(b,!0))},J=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw t("Promise can't be resolved itself");(b=A(a))?r(function(){var d={_w:c,_d:!1};try{b.call(a,i(J,d,1),i(I,d,1))}catch(a){I.call(d,a)}}):(c._v=a,c._s=1,E(c,!1))}catch(a){I.call({_w:c,_d:!1},a)}}};y||(v=function(a){n(this,v,s,"_h"),m(a),d.call(this);try{a(i(J,this,1),i(I,this,1))}catch(a){I.call(this,a)}},(d=function(a){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=c(56)(v.prototype,{then:function(a,b){var c=B(p(this,v));return c.ok="function"!=typeof a||a,c.fail="function"==typeof b&&b,c.domain=w?u.domain:void 0,this._c.push(c),this._a&&this._a.push(c),this._s&&E(this,!1),c.promise},catch:function(a){return this.then(void 0,a)}}),C=function(){var a=new d;this.promise=a,this.resolve=i(J,a,1),this.reject=i(I,a,1)}),k(k.G+k.W+!y*k.F,{Promise:v}),c(18)(v,s),c(59)(s),f=c(6)[s],k(k.S+!y*k.F,s,{reject:function(a){var b=B(this);return(0,b.reject)(a),b.promise}}),k(k.S+k.F*(g||!y),s,{resolve:function(a){if(a instanceof v&&z(a.constructor,this))return a;var b=B(this);return(0,b.resolve)(a),b.promise}}),k(k.S+!(y&&c(46)(function(a){v.all(a).catch(x)}))*k.F,s,{all:function(a){var b=this,c=B(b),d=c.resolve,e=c.reject,f=D(function(){var c=[],f=0,g=1;o(a,!1,function(a){var h=f++,i=!1;c.push(void 0),g++,b.resolve(a).then(function(a){i||(i=!0,c[h]=a,--g||d(c))},e)}),--g||d(c)});return f&&e(f.error),c.promise},race:function(a){var b=this,c=B(b),d=c.reject,e=D(function(){o(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b,c){"use strict";var d=c(61)(!0);c(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,c=this._i;return c>=b.length?{value:void 0,done:!0}:(a=d(b,c),this._i+=a.length,{value:a,done:!1})})},function(a,b,c){c(65);for(var d=c(2),e=c(5),f=c(10),g=c(1)("toStringTag"),h=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],i=0;i<5;i++){var j=h[i],k=d[j],l=k&&k.prototype;l&&!l[g]&&e(l,g,j),f[j]=f.Array}},function(a,b){a.exports=c(79646)},function(a,b){a.exports=c(55511)}];function e(a){if(f[a])return f[a].exports;var b=f[a]={exports:{},id:a,loaded:!1};return d[a].call(b.exports,b,b.exports,e),b.loaded=!0,b.exports}var f={};return e.m=d,e.c=f,e.p="",e(0)}(c(79646),c(55511))},99569:(a,b,c)=>{"use strict";c.d(b,{P:()=>p});var d=c(1976),e=c(81476),f=c(987),g=c(77625),h=c(60583),i=c(81274),j=c(62164),k=c(93836),l=c(36418);class m{#a;#b;#c;constructor(a){if(!(a instanceof Uint8Array))throw TypeError("payload must be an instance of Uint8Array");this.#a=a}setProtectedHeader(a){return(0,l.ac)(this.#b,"setProtectedHeader"),this.#b=a,this}setUnprotectedHeader(a){return(0,l.ac)(this.#c,"setUnprotectedHeader"),this.#c=a,this}async sign(a,b){let c,l,m,n;if(!this.#b&&!this.#c)throw new g.Ye("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!(0,f.fz)(this.#b,this.#c))throw new g.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...this.#b,...this.#c},p=(0,j.n)(g.Ye,new Map([["b64",!0]]),b?.crit,this.#b,o),q=!0;if(p.has("b64")&&"boolean"!=typeof(q=this.#b.b64))throw new g.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:r}=o;if("string"!=typeof r||!r)throw new g.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');(0,i.y)(r,a,"sign"),q?(c=(0,d.l)(this.#a),l=(0,h.lF)(c)):(l=this.#a,c=""),this.#b?(m=(0,d.l)(JSON.stringify(this.#b)),n=(0,h.lF)(m)):(m="",n=new Uint8Array);let s=(0,h.xW)(n,(0,h.lF)("."),l),t=await (0,k.l)(a,r),u=await (0,e._S)(r,t,s),v={signature:(0,d.l)(u),payload:c};return this.#c&&(v.header=this.#c),this.#b&&(v.protected=m),v}}class n{#d;constructor(a){this.#d=new m(a)}setProtectedHeader(a){return this.#d.setProtectedHeader(a),this}async sign(a,b){let c=await this.#d.sign(a,b);if(void 0===c.payload)throw TypeError("use the flattened module for creating JWS with b64: false");return`${c.protected}.${c.payload}.${c.signature}`}}var o=c(73859);class p{#b;#e;constructor(a={}){this.#e=new o.cE(a)}setIssuer(a){return this.#e.iss=a,this}setSubject(a){return this.#e.sub=a,this}setAudience(a){return this.#e.aud=a,this}setJti(a){return this.#e.jti=a,this}setNotBefore(a){return this.#e.nbf=a,this}setExpirationTime(a){return this.#e.exp=a,this}setIssuedAt(a){return this.#e.iat=a,this}setProtectedHeader(a){return this.#b=a,this}async sign(a,b){let c=new n(this.#e.data());if(c.setProtectedHeader(this.#b),Array.isArray(this.#b?.crit)&&this.#b.crit.includes("b64")&&!1===this.#b.b64)throw new g.Dp("JWTs MUST NOT use unencoded payload");return c.sign(a,b)}}}};
@@ -0,0 +1,9 @@
1
+ "use strict";exports.id=7693,exports.ids=[7693],exports.modules={37693:(a,b,c)=>{c.d(b,{runMigrationOnce:()=>x});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(73468),i=c(78785);let j=[{version:1,name:"initial",up(a){for(let[b,c]of Object.entries(i.CG))for(let d of(a.exec((0,i.zE)(b,c)),c.indexes||[]))a.exec(d)}},{version:2,name:"fix-empty-allowed-lists",up(a){let b=a.all("PRAGMA table_info(apiKeys)"),c=Array.isArray(b)?b.map(a=>a.name):[];c.includes("allowedProviders")&&a.exec("UPDATE apiKeys SET allowedProviders = NULL WHERE allowedProviders = '[]'"),c.includes("allowedCombos")&&a.exec("UPDATE apiKeys SET allowedCombos = NULL WHERE allowedCombos = '[]'"),c.includes("allowedKinds")&&a.exec("UPDATE apiKeys SET allowedKinds = NULL WHERE allowedKinds = '[]'")}},{version:3,name:"add-allowed-lists-columns",up(a){let b=a.all("PRAGMA table_info(apiKeys)"),c=Array.isArray(b)?b.map(a=>a.name):[];c.includes("allowedProviders")||a.exec("ALTER TABLE apiKeys ADD COLUMN allowedProviders TEXT"),c.includes("allowedCombos")||a.exec("ALTER TABLE apiKeys ADD COLUMN allowedCombos TEXT"),c.includes("allowedKinds")||a.exec("ALTER TABLE apiKeys ADD COLUMN allowedKinds TEXT")}},{version:4,name:"add-request-details-apikey",up(a){let b=new Set(a.all("PRAGMA table_info(requestDetails)").map(a=>a.name));b.has("apiKey")||a.exec("ALTER TABLE requestDetails ADD COLUMN apiKey TEXT"),b.has("apiKeyName")||a.exec("ALTER TABLE requestDetails ADD COLUMN apiKeyName TEXT")}},{version:7,name:"add-combo-context-length",up(a){a.all("PRAGMA table_info(combos)").some(a=>"context_length"===a.name)||a.exec("ALTER TABLE combos ADD COLUMN context_length INTEGER")}},{version:8,name:"add-proxy-pool-fitness",up(a){let b=i.CG.proxyPoolFitness;for(let c of(a.exec((0,i.zE)("proxyPoolFitness",b)),b.indexes||[]))a.exec(c)}}].sort((a,b)=>a.version-b.version);function k(a,b,c=null){let d=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return d?d.value:c}function l(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}let m=null;function n(){if(m)return m;try{let a=g().join(process.cwd(),"package.json");m=JSON.parse(e().readFileSync(a,"utf-8")).version||"0.0.0"}catch{m="0.0.0"}return m}let o=["requestDetails"];function p(a){(0,h.Jh)();let b=n(),c=`${a}-${b}-${function(a=new Date){let b=a=>String(a).padStart(2,"0");return`${a.getFullYear()}${b(a.getMonth()+1)}${b(a.getDate())}-${b(a.getHours())}${b(a.getMinutes())}${b(a.getSeconds())}`}()}`,d=g().join(h.KQ,c);return e().mkdirSync(d,{recursive:!0}),d}function q(){if(e().existsSync(h.KQ))for(let a of e().readdirSync(h.KQ,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>({name:a.name,full:g().join(h.KQ,a.name),mtime:e().statSync(g().join(h.KQ,a.name)).mtimeMs})).sort((a,b)=>b.mtime-a.mtime).slice(3))try{e().rmSync(a.full,{recursive:!0,force:!0})}catch{}}var r=c(90118);let s=g().join(h.HG,".migrated-from-json"),t=new WeakSet;class u extends Error{constructor(a,b){super(a),this.name="MigrationAborted",this.droppedRows=b}}function v(a,b,c,d,e){let f=[];for(let a of c)try{d(a)}catch(b){f.push({...e(a),reason:b.message})}let g=a.get(`SELECT COUNT(*) as c FROM ${b}`)?.c??0;if(g!==c.length)throw console.warn(`[DB][migrate] ${b} row-count mismatch: expected ${c.length}, got ${g}. Dropped:`,f),new u(`${b} row-count mismatch: expected ${c.length}, got ${g}`,f)}function w(a){if(!e().existsSync(a))return null;try{return JSON.parse(e().readFileSync(a,"utf-8"))}catch{return null}}async function x(a){if(t.has(a))return;let b=function(a){try{let b=a.get("SELECT COUNT(*) as c FROM _meta");return!b||0===b.c}catch{return!0}}(a);q(),a.exec((0,i.zE)("_meta",i.CG._meta));let c=parseInt(k(a,"backupSchemaVersion","0"),10)||0;if(!b&&c<i.f$)try{let b=p(`schema-${c}-to-${i.f$}`);!function(a,b,c="data.sqlite"){let d=g().join(b,c);try{e().rmSync(d,{force:!0})}catch{}let f=d.replace(/'/g,"''");a.exec(`ATTACH DATABASE '${f}' AS bak`);try{let b=new Set(o),c=a.all("SELECT name, sql FROM main.sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'").filter(a=>!b.has(a.name));a.transaction(()=>{for(let b of c){let c=b.sql.replace(/CREATE TABLE\s+/i,"CREATE TABLE bak.");a.exec(c),a.exec(`INSERT INTO bak.${b.name} SELECT * FROM main.${b.name}`)}})}finally{try{a.exec("DETACH DATABASE bak")}catch{}}}(a,b),q(),console.log(`[DB][migrate] pre-schema backup ${c} → ${i.f$}: ${b}`)}catch(a){console.warn(`[DB][migrate] pre-schema backup failed (continuing): ${a.message}`)}!function(a){a.exec((0,i.zE)("_meta",i.CG._meta));let b=parseInt(k(a,"schemaVersion","0"),10)||0;if(b>=(j.length?j[j.length-1].version:0))return;let c=j.filter(a=>a.version>b);for(let b of c)a.transaction(()=>{b.up(a),l(a,"schemaVersion",b.version)}),b.version,console.log(`[DB][migrate] applied #${b.version} ${b.name}`);c.length}(a);for(let[b,c]of Object.entries(i.CG)){a.exec((0,i.zE)(b,c));let d=new Set(a.all(`PRAGMA table_info(${b})`).map(a=>a.name));for(let[e,f]of Object.entries(c.columns))if(!d.has(e)){let c=f.replace(/PRIMARY KEY( AUTOINCREMENT)?/i,"").replace(/UNIQUE/i,"").trim();try{a.exec(`ALTER TABLE ${b} ADD COLUMN ${e} ${c}`),console.log(`[DB][sync] +column ${b}.${e}`)}catch(a){console.warn(`[DB][sync] add column ${b}.${e} failed: ${a.message}`)}}for(let b of c.indexes||[])try{a.exec(b)}catch{}}l(a,"backupSchemaVersion",i.f$);let d=e().existsSync(s),f=w(h.Or.main),m=w(h.Or.usage),x=w(h.Or.disabled),y=w(h.Or.details);if(b&&(f||m||x||y)&&!d){let b=Date.now(),c=p("migrate-from-json");for(let a of Object.values(h.Or))!function(a,b,c=null){if(!e().existsSync(a))return;let d=c||g().basename(a),f=g().join(b,d);e().copyFileSync(a,f)}(a,c);try{a.transaction(()=>{if(f&&"object"==typeof f){for(let[b,c]of(f.settings&&a.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,r.s)(f.settings)]),v(a,"providerConnections",f.providerConnections||[],b=>{let{id:c,provider:d,authType:e,name:f,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=b;a.run("INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[c,d,e||"oauth",f||null,g||null,h||null,+(!1!==i),(0,r.s)(l),j||new Date().toISOString(),k||new Date().toISOString()])},a=>({id:a.id??null,provider:a.provider??null,name:a.name??null})),v(a,"providerNodes",f.providerNodes||[],b=>{let{id:c,type:d,name:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO providerNodes(id, type, name, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,d||null,e||null,(0,r.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null,type:a.type??null,name:a.name??null})),v(a,"proxyPools",f.proxyPools||[],b=>{let{id:c,isActive:d,testStatus:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,+(!1!==d),e||"unknown",(0,r.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null})),v(a,"apiKeys",f.apiKeys||[],b=>{a.run("INSERT OR REPLACE INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.key,b.name||null,b.machineId||null,+(!1!==b.isActive),b.createdAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),v(a,"combos",f.combos||[],b=>{a.run("INSERT OR REPLACE INTO combos(id, name, kind, models, context_length, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?)",[b.id,b.name,b.kind||null,(0,r.s)(b.models||[]),b.context_length??null,b.createdAt||new Date().toISOString(),b.updatedAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),Object.entries(f.modelAliases||{})))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('modelAliases', ?, ?)",[b,(0,r.s)(c)]);for(let b of f.customModels||[]){let c=`${b.providerAlias}|${b.id}|${b.type||"llm"}`;a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[c,(0,r.s)(b)])}for(let[b,c]of Object.entries(f.mitmAlias||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('mitmAlias', ?, ?)",[b,(0,r.s)(c||{})]);for(let[b,c]of Object.entries(f.pricing||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('pricing', ?, ?)",[b,(0,r.s)(c||{})])}if(m&&"object"==typeof m){for(let b of m.history||[]){let c=b.tokens||{};a.run("INSERT INTO usageHistory(timestamp, provider, model, connectionId, apiKey, endpoint, promptTokens, completionTokens, cost, status, tokens, meta) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[b.timestamp||new Date().toISOString(),b.provider||null,b.model||null,b.connectionId||null,b.apiKey||null,b.endpoint||null,c.prompt_tokens||c.input_tokens||0,c.completion_tokens||c.output_tokens||0,b.cost||0,b.status||"ok",(0,r.s)(c),(0,r.s)({})])}for(let[b,c]of Object.entries(m.dailySummary||{}))a.run("INSERT OR REPLACE INTO usageDaily(dateKey, data) VALUES(?, ?)",[b,(0,r.s)(c)]);"number"==typeof m.totalRequestsLifetime&&l(a,"totalRequestsLifetime",m.totalRequestsLifetime)}if(x&&"object"==typeof x.disabled)for(let[b,c]of Object.entries(x.disabled))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)",[b,(0,r.s)(c||[])]);if(y&&Array.isArray(y.records))for(let b of y.records)a.run("INSERT OR REPLACE INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?)",[b.id,b.timestamp||new Date().toISOString(),b.provider||null,b.model||null,b.connectionId||null,b.status||null,(0,r.s)(b)]);l(a,"appVersion",n()),l(a,"backupSchemaVersion",i.f$),l(a,"migratedAt",new Date().toISOString())})}catch(b){if(t.delete(a),b instanceof u)return void console.error(`[DB][migrate] aborted: ${b.message} | legacy JSON kept | backup: ${c}`);throw b}try{e().writeFileSync(s,new Date().toISOString())}catch{}t.add(a),q(),console.log(`[DB][migrate] JSON → SQLite in ${Date.now()-b}ms | legacy JSON kept at DATA_DIR | backup: ${c}`);return}let z=n();k(a,"appVersion",null)!==z&&l(a,"appVersion",z),t.add(a)}},78785:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=8,e=`
2
+ PRAGMA journal_mode = WAL;
3
+ PRAGMA synchronous = NORMAL;
4
+ PRAGMA temp_store = MEMORY;
5
+ PRAGMA mmap_size = 30000000;
6
+ PRAGMA cache_size = -64000;
7
+ PRAGMA foreign_keys = ON;
8
+ PRAGMA busy_timeout = 5000;
9
+ `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},proxyPoolFitness:{columns:{poolId:"TEXT NOT NULL",scope:"TEXT NOT NULL",until:"INTEGER NOT NULL",reason:"TEXT",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (poolId, scope)",indexes:["CREATE INDEX IF NOT EXISTS idx_ppf_pool ON proxyPoolFitness(poolId)","CREATE INDEX IF NOT EXISTS idx_ppf_scope ON proxyPoolFitness(scope)","CREATE INDEX IF NOT EXISTS idx_ppf_until ON proxyPoolFitness(until)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",context_length:"INTEGER",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]},cachedProviderModels:{columns:{providerId:"TEXT NOT NULL",modelId:"TEXT NOT NULL",kind:"TEXT DEFAULT 'llm'",ownedBy:"TEXT NOT NULL",capabilities:"TEXT",updatedAt:"INTEGER NOT NULL"},primaryKey:"PRIMARY KEY (providerId, modelId)",indexes:["CREATE INDEX IF NOT EXISTS idx_cpm_kind ON cachedProviderModels(kind)","CREATE INDEX IF NOT EXISTS idx_cpm_provider ON cachedProviderModels(providerId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=7938,exports.ids=[7938],exports.modules={26985:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=7,e=`
1
+ "use strict";exports.id=7938,exports.ids=[7938],exports.modules={26985:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=8,e=`
2
2
  PRAGMA journal_mode = WAL;
3
3
  PRAGMA synchronous = NORMAL;
4
4
  PRAGMA temp_store = MEMORY;
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",context_length:"INTEGER",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]},cachedProviderModels:{columns:{providerId:"TEXT NOT NULL",modelId:"TEXT NOT NULL",kind:"TEXT DEFAULT 'llm'",ownedBy:"TEXT NOT NULL",capabilities:"TEXT",updatedAt:"INTEGER NOT NULL"},primaryKey:"PRIMARY KEY (providerId, modelId)",indexes:["CREATE INDEX IF NOT EXISTS idx_cpm_kind ON cachedProviderModels(kind)","CREATE INDEX IF NOT EXISTS idx_cpm_provider ON cachedProviderModels(providerId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},67938:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>g});var d=c(87550),e=c.n(d),f=c(26985);function g(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let g=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}"function"==typeof g.unref&&g.unref();let i=()=>h();return process.once("beforeExit",i),process.once("SIGINT",()=>{i(),process.exit(0)}),process.once("SIGTERM",()=>{i(),process.exit(0)}),{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(b),get:(a,b=[])=>d(a).get(b),all:(a,b=[])=>d(a).all(b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:b}}}};
9
+ `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},proxyPoolFitness:{columns:{poolId:"TEXT NOT NULL",scope:"TEXT NOT NULL",until:"INTEGER NOT NULL",reason:"TEXT",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (poolId, scope)",indexes:["CREATE INDEX IF NOT EXISTS idx_ppf_pool ON proxyPoolFitness(poolId)","CREATE INDEX IF NOT EXISTS idx_ppf_scope ON proxyPoolFitness(scope)","CREATE INDEX IF NOT EXISTS idx_ppf_until ON proxyPoolFitness(until)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",context_length:"INTEGER",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]},cachedProviderModels:{columns:{providerId:"TEXT NOT NULL",modelId:"TEXT NOT NULL",kind:"TEXT DEFAULT 'llm'",ownedBy:"TEXT NOT NULL",capabilities:"TEXT",updatedAt:"INTEGER NOT NULL"},primaryKey:"PRIMARY KEY (providerId, modelId)",indexes:["CREATE INDEX IF NOT EXISTS idx_cpm_kind ON cachedProviderModels(kind)","CREATE INDEX IF NOT EXISTS idx_cpm_provider ON cachedProviderModels(providerId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},67938:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>g});var d=c(87550),e=c.n(d),f=c(26985);function g(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let g=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}"function"==typeof g.unref&&g.unref();let i=()=>h();return process.once("beforeExit",i),process.once("SIGINT",()=>{i(),process.exit(0)}),process.once("SIGTERM",()=>{i(),process.exit(0)}),{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(b),get:(a,b=[])=>d(a).get(b),all:(a,b=[])=>d(a).all(b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:b}}}};