@rsalmn/extremerouter 0.8.1 → 0.8.3

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 (1255) hide show
  1. package/README.md +89 -89
  2. package/app/.next-cli-build/BUILD_ID +1 -1
  3. package/app/.next-cli-build/app-path-routes-manifest.json +10 -9
  4. package/app/.next-cli-build/build-manifest.json +4 -4
  5. package/app/.next-cli-build/prerender-manifest.json +3 -3
  6. package/app/.next-cli-build/react-loadable-manifest.json +1 -13
  7. package/app/.next-cli-build/required-server-files.json +23 -23
  8. package/app/.next-cli-build/routes-manifest.json +6 -0
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js +2 -2
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +4 -2
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js +2 -2
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +3 -3
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page.js +2 -2
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js +2 -2
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +4 -4
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js +2 -2
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  85. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  88. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  91. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  93. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  94. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  95. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  96. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  97. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  98. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  99. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  100. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  101. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  102. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  104. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  105. package/app/.next-cli-build/server/app/_not-found.rsc +7 -6
  106. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +7 -6
  107. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  108. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +6 -6
  109. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  110. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  111. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +3 -2
  112. package/app/.next-cli-build/server/app/api/alerts/test/route.js +2 -2
  113. package/app/.next-cli-build/server/app/api/alerts/test/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/alerts/test/route_client-reference-manifest.js +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  116. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  118. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  119. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  121. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route_client-reference-manifest.js +1 -1
  124. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/auth/oidc/start/route_client-reference-manifest.js +1 -1
  127. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/auth/oidc/test/route_client-reference-manifest.js +1 -1
  130. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/auth/reset-password/route_client-reference-manifest.js +1 -1
  133. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  136. package/app/.next-cli-build/server/app/api/breaker/route.js +1 -0
  137. package/app/.next-cli-build/server/app/api/breaker/route.js.nft.json +1 -0
  138. package/app/.next-cli-build/server/app/api/breaker/route_client-reference-manifest.js +1 -0
  139. package/app/.next-cli-build/server/app/api/cache/route.js +1 -1
  140. package/app/.next-cli-build/server/app/api/cache/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cache/route_client-reference-manifest.js +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  143. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  146. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  152. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  161. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -1
  163. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  164. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route_client-reference-manifest.js +1 -1
  166. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +1 -1
  169. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  170. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +1 -1
  172. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  173. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route_client-reference-manifest.js +1 -1
  175. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  178. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
  179. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route_client-reference-manifest.js +1 -1
  181. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  182. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route_client-reference-manifest.js +1 -1
  184. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  185. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  187. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  188. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  190. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -1
  193. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  196. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/combos/route_client-reference-manifest.js +1 -1
  199. package/app/.next-cli-build/server/app/api/combos/validate-roles/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/combos/validate-roles/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/combos/validate-roles/route_client-reference-manifest.js +1 -1
  202. package/app/.next-cli-build/server/app/api/dashboard/stream/route.js +2 -2
  203. package/app/.next-cli-build/server/app/api/dashboard/stream/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/dashboard/stream/route_client-reference-manifest.js +1 -1
  205. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/headroom/start/route_client-reference-manifest.js +1 -1
  208. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/headroom/status/route_client-reference-manifest.js +1 -1
  211. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -1
  214. package/app/.next-cli-build/server/app/api/health/providers/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/health/providers/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/health/providers/route_client-reference-manifest.js +1 -1
  217. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/health/route_client-reference-manifest.js +1 -1
  220. package/app/.next-cli-build/server/app/api/health/stream/route.js +2 -2
  221. package/app/.next-cli-build/server/app/api/health/stream/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/health/stream/route_client-reference-manifest.js +1 -1
  223. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/init/route_client-reference-manifest.js +1 -1
  226. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  229. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/keys/route_client-reference-manifest.js +1 -1
  232. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/locale/route_client-reference-manifest.js +1 -1
  235. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +1 -1
  238. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  239. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +1 -1
  241. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +1 -1
  244. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +1 -1
  247. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +1 -1
  250. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +1 -1
  253. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +1 -1
  256. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  259. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  262. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/models/custom/route_client-reference-manifest.js +1 -1
  265. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/models/disabled/route_client-reference-manifest.js +1 -1
  268. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/models/route_client-reference-manifest.js +1 -1
  271. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/models/test/route_client-reference-manifest.js +1 -1
  274. package/app/.next-cli-build/server/app/api/oauth/1min/import/route.js +1 -1
  275. package/app/.next-cli-build/server/app/api/oauth/1min/import/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/oauth/1min/import/route_client-reference-manifest.js +1 -1
  277. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  280. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route_client-reference-manifest.js +1 -1
  283. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +1 -1
  286. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  287. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  289. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  292. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  293. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +1 -1
  295. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -1
  298. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  299. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route_client-reference-manifest.js +1 -1
  301. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  304. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  307. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route_client-reference-manifest.js +1 -1
  310. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  313. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  314. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  316. package/app/.next-cli-build/server/app/api/oauth/qwen/import/route.js +1 -1
  317. package/app/.next-cli-build/server/app/api/oauth/qwen/import/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/oauth/qwen/import/route_client-reference-manifest.js +1 -1
  319. package/app/.next-cli-build/server/app/api/oauth/wp-studio/import/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/oauth/wp-studio/import/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/oauth/wp-studio/import/route_client-reference-manifest.js +1 -1
  322. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +38 -2
  323. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route_client-reference-manifest.js +1 -1
  325. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/oauth/zed/import/route_client-reference-manifest.js +1 -1
  328. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  331. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  334. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  337. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  340. package/app/.next-cli-build/server/app/api/providers/[id]/agnes-profile/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/providers/[id]/agnes-profile/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/providers/[id]/agnes-profile/route_client-reference-manifest.js +1 -1
  343. package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route_client-reference-manifest.js +1 -1
  346. package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route_client-reference-manifest.js +1 -1
  349. package/app/.next-cli-build/server/app/api/providers/[id]/inxora-profile/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/providers/[id]/inxora-profile/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/providers/[id]/inxora-profile/route_client-reference-manifest.js +1 -1
  352. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  353. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  355. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-api-profile/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-api-profile/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-api-profile/route_client-reference-manifest.js +1 -1
  358. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-profile/route.js +1 -1
  359. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-profile/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-profile/route_client-reference-manifest.js +1 -1
  361. package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route_client-reference-manifest.js +1 -1
  364. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  365. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  367. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  370. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -1
  373. package/app/.next-cli-build/server/app/api/providers/[id]/v0-profile/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/providers/[id]/v0-profile/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/providers/[id]/v0-profile/route_client-reference-manifest.js +1 -1
  376. package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route.js +1 -1
  377. package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route_client-reference-manifest.js +1 -1
  379. package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route_client-reference-manifest.js +1 -1
  382. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  385. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  386. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +1 -1
  388. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  389. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/providers/route_client-reference-manifest.js +1 -1
  391. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  392. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/api/providers/suggested-models/route_client-reference-manifest.js +1 -1
  394. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  395. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  397. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  398. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  400. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  401. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -1
  403. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  404. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  405. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -1
  406. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  407. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +1 -1
  409. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  410. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  411. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +1 -1
  412. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  413. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -1
  415. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  416. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  417. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +1 -1
  418. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  419. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/api/pxpipe/install/route_client-reference-manifest.js +1 -1
  421. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  422. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  423. package/app/.next-cli-build/server/app/api/pxpipe/status/route_client-reference-manifest.js +1 -1
  424. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  425. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  426. package/app/.next-cli-build/server/app/api/settings/database/route_client-reference-manifest.js +1 -1
  427. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  428. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  429. package/app/.next-cli-build/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -1
  430. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  431. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  432. package/app/.next-cli-build/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  433. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  434. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  435. package/app/.next-cli-build/server/app/api/settings/route_client-reference-manifest.js +1 -1
  436. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  437. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  438. package/app/.next-cli-build/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  439. package/app/.next-cli-build/server/app/api/swarm/active/route.js +1 -1
  440. package/app/.next-cli-build/server/app/api/swarm/active/route.js.nft.json +1 -1
  441. package/app/.next-cli-build/server/app/api/swarm/active/route_client-reference-manifest.js +1 -1
  442. package/app/.next-cli-build/server/app/api/swarm/stream/route.js +2 -2
  443. package/app/.next-cli-build/server/app/api/swarm/stream/route.js.nft.json +1 -1
  444. package/app/.next-cli-build/server/app/api/swarm/stream/route_client-reference-manifest.js +1 -1
  445. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  446. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  447. package/app/.next-cli-build/server/app/api/tags/route_client-reference-manifest.js +1 -1
  448. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  449. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  450. package/app/.next-cli-build/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -1
  451. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  452. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  453. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -1
  454. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  455. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  456. package/app/.next-cli-build/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  457. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  458. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  459. package/app/.next-cli-build/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  460. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  461. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  462. package/app/.next-cli-build/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  463. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  464. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  465. package/app/.next-cli-build/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  466. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  467. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  468. package/app/.next-cli-build/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -1
  469. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  470. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  471. package/app/.next-cli-build/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -1
  472. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  473. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  474. package/app/.next-cli-build/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -1
  475. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  476. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  477. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +1 -1
  478. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  479. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  480. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +1 -1
  481. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  482. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  483. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +1 -1
  484. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  485. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  486. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.js +1 -1
  487. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  488. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  489. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route_client-reference-manifest.js +1 -1
  490. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  491. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  492. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  493. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  494. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  495. package/app/.next-cli-build/server/app/api/usage/chart/route_client-reference-manifest.js +1 -1
  496. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  497. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  498. package/app/.next-cli-build/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  499. package/app/.next-cli-build/server/app/api/usage/leaderboard/route.js +1 -1
  500. package/app/.next-cli-build/server/app/api/usage/leaderboard/route.js.nft.json +1 -1
  501. package/app/.next-cli-build/server/app/api/usage/leaderboard/route_client-reference-manifest.js +1 -1
  502. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  503. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  504. package/app/.next-cli-build/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  505. package/app/.next-cli-build/server/app/api/usage/meta/route.js +1 -1
  506. package/app/.next-cli-build/server/app/api/usage/meta/route.js.nft.json +1 -1
  507. package/app/.next-cli-build/server/app/api/usage/meta/route_client-reference-manifest.js +1 -1
  508. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  509. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  510. package/app/.next-cli-build/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
  511. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  512. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  513. package/app/.next-cli-build/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
  514. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  515. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  516. package/app/.next-cli-build/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  517. package/app/.next-cli-build/server/app/api/usage/retry-stats/route.js +1 -1
  518. package/app/.next-cli-build/server/app/api/usage/retry-stats/route.js.nft.json +1 -1
  519. package/app/.next-cli-build/server/app/api/usage/retry-stats/route_client-reference-manifest.js +1 -1
  520. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  521. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  522. package/app/.next-cli-build/server/app/api/usage/stats/route_client-reference-manifest.js +1 -1
  523. package/app/.next-cli-build/server/app/api/usage/stream/route.js +4 -4
  524. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  525. package/app/.next-cli-build/server/app/api/usage/stream/route_client-reference-manifest.js +1 -1
  526. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  527. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  528. package/app/.next-cli-build/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  529. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  530. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  531. package/app/.next-cli-build/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  532. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  533. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  534. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  535. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  536. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  537. package/app/.next-cli-build/server/app/api/v1/audio/voices/route_client-reference-manifest.js +1 -1
  538. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  539. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  540. package/app/.next-cli-build/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  541. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  542. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  543. package/app/.next-cli-build/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  544. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  545. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  546. package/app/.next-cli-build/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  547. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  548. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  549. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  550. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  551. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  552. package/app/.next-cli-build/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  553. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  554. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  555. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route_client-reference-manifest.js +1 -1
  556. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  557. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  558. package/app/.next-cli-build/server/app/api/v1/models/info/route_client-reference-manifest.js +1 -1
  559. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  560. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  561. package/app/.next-cli-build/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  562. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  563. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  564. package/app/.next-cli-build/server/app/api/v1/responses/compact/route_client-reference-manifest.js +1 -1
  565. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  566. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  567. package/app/.next-cli-build/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  568. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  569. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  570. package/app/.next-cli-build/server/app/api/v1/route_client-reference-manifest.js +1 -1
  571. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  572. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  573. package/app/.next-cli-build/server/app/api/v1/search/route_client-reference-manifest.js +1 -1
  574. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  575. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  576. package/app/.next-cli-build/server/app/api/v1/web/fetch/route_client-reference-manifest.js +1 -1
  577. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  578. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  579. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  580. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  581. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  582. package/app/.next-cli-build/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  583. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  584. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  585. package/app/.next-cli-build/server/app/api/version/route_client-reference-manifest.js +1 -1
  586. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  587. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  588. package/app/.next-cli-build/server/app/api/version/shutdown/route_client-reference-manifest.js +1 -1
  589. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  590. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  591. package/app/.next-cli-build/server/app/api/version/update/route_client-reference-manifest.js +1 -1
  592. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  593. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  594. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  595. package/app/.next-cli-build/server/app/callback.html +1 -1
  596. package/app/.next-cli-build/server/app/callback.rsc +8 -7
  597. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +8 -7
  598. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  599. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +6 -6
  600. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +3 -2
  601. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
  602. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  603. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  604. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  605. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  606. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  607. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +8 -7
  608. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +8 -7
  609. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  610. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +6 -6
  611. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -2
  612. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
  613. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  614. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  615. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  616. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  617. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  618. package/app/.next-cli-build/server/app/index.html +1 -1
  619. package/app/.next-cli-build/server/app/index.rsc +7 -6
  620. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  621. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +7 -6
  622. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  623. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +6 -6
  624. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +3 -2
  625. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  626. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  627. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  628. package/app/.next-cli-build/server/app/landing.html +1 -1
  629. package/app/.next-cli-build/server/app/landing.rsc +8 -7
  630. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +8 -7
  631. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  632. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +6 -6
  633. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +3 -2
  634. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
  635. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  636. package/app/.next-cli-build/server/app/login/page.js +2 -2
  637. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  638. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  639. package/app/.next-cli-build/server/app/login.html +1 -1
  640. package/app/.next-cli-build/server/app/login.rsc +8 -7
  641. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +8 -7
  642. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  643. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +6 -6
  644. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +3 -2
  645. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  646. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  647. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  648. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  649. package/app/.next-cli-build/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  650. package/app/.next-cli-build/server/app/page.js +2 -2
  651. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  652. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  653. package/app/.next-cli-build/server/app-paths-manifest.json +10 -9
  654. package/app/.next-cli-build/server/chunks/{2342.js → 1194.js} +6 -6
  655. package/app/.next-cli-build/server/chunks/1212.js +1 -0
  656. package/app/.next-cli-build/server/chunks/1241.js +1 -1
  657. package/app/.next-cli-build/server/chunks/1350.js +1 -1
  658. package/app/.next-cli-build/server/chunks/1719.js +1 -1
  659. package/app/.next-cli-build/server/chunks/212.js +1 -1
  660. package/app/.next-cli-build/server/chunks/2231.js +1 -1
  661. package/app/.next-cli-build/server/chunks/2701.js +1 -1
  662. package/app/.next-cli-build/server/chunks/319.js +3 -3
  663. package/app/.next-cli-build/server/chunks/{2926.js → 3437.js} +9 -9
  664. package/app/.next-cli-build/server/chunks/3735.js +1 -1
  665. package/app/.next-cli-build/server/chunks/4046.js +1 -0
  666. package/app/.next-cli-build/server/chunks/412.js +1 -1
  667. package/app/.next-cli-build/server/chunks/422.js +9 -0
  668. package/app/.next-cli-build/server/chunks/5330.js +66 -66
  669. package/app/.next-cli-build/server/chunks/5612.js +1 -1
  670. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  671. package/app/.next-cli-build/server/chunks/5628.js +1 -1
  672. package/app/.next-cli-build/server/chunks/5699.js +1 -1
  673. package/app/.next-cli-build/server/chunks/5852.js +1 -1
  674. package/app/.next-cli-build/server/chunks/5961.js +1 -1
  675. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  676. package/app/.next-cli-build/server/chunks/615.js +1 -1
  677. package/app/.next-cli-build/server/chunks/{7152.js → 6482.js} +2 -2
  678. package/app/.next-cli-build/server/chunks/6686.js +1 -0
  679. package/app/.next-cli-build/server/chunks/6777.js +1 -1
  680. package/app/.next-cli-build/server/chunks/7187.js +1 -1
  681. package/app/.next-cli-build/server/chunks/7218.js +1 -0
  682. package/app/.next-cli-build/server/chunks/7410.js +1 -0
  683. package/app/.next-cli-build/server/chunks/7566.js +3 -0
  684. package/app/.next-cli-build/server/chunks/7774.js +18 -18
  685. package/app/.next-cli-build/server/chunks/7872.js +1 -1
  686. package/app/.next-cli-build/server/chunks/7965.js +1 -1
  687. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  688. package/app/.next-cli-build/server/chunks/8271.js +1 -1
  689. package/app/.next-cli-build/server/chunks/8520.js +1 -1
  690. package/app/.next-cli-build/server/chunks/874.js +9 -0
  691. package/app/.next-cli-build/server/chunks/8802.js +2 -0
  692. package/app/.next-cli-build/server/chunks/8895.js +6 -6
  693. package/app/.next-cli-build/server/chunks/{4502.js → 8955.js} +2 -2
  694. package/app/.next-cli-build/server/chunks/9422.js +2 -2
  695. package/app/.next-cli-build/server/chunks/9609.js +1 -1
  696. package/app/.next-cli-build/server/chunks/9703.js +5 -5
  697. package/app/.next-cli-build/server/chunks/9903.js +1 -1
  698. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  699. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  700. package/app/.next-cli-build/server/middleware.js +4 -4
  701. package/app/.next-cli-build/server/next-font-manifest.js +1 -1
  702. package/app/.next-cli-build/server/next-font-manifest.json +1 -1
  703. package/app/.next-cli-build/server/pages/404.html +1 -1
  704. package/app/.next-cli-build/server/pages/500.html +1 -1
  705. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  706. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  707. package/app/.next-cli-build/static/chunks/{1321-675f131c5a80b166.js → 1321-5792bb21361dcd65.js} +1 -1
  708. package/app/.next-cli-build/static/chunks/5497-b321fb89cc6d6e14.js +7 -0
  709. package/app/.next-cli-build/static/chunks/705-cfe5cd65ea2dc6f1.js +1 -0
  710. package/app/.next-cli-build/static/chunks/8105-37d0f6450b27ac6b.js +1 -0
  711. package/app/.next-cli-build/static/chunks/{8720-bbafc2ad7d186ebd.js → 8982-6d1803817450bcd4.js} +2 -2
  712. package/app/.next-cli-build/static/chunks/{682-03720d6613bcbd0f.js → 9622-fcd7c93a94eaa38f.js} +6 -6
  713. package/app/.next-cli-build/static/chunks/981-777b2911f938c030.js +3 -0
  714. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/alerts/{page-920869c698a8b3cf.js → page-c263cd784e69e6f1.js} +1 -1
  715. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-75247ad22e97f7cc.js → page-ecd3a85a40e51c66.js} +1 -1
  716. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-d722ccf5e0fec340.js → page-3c3074cf3f61df46.js} +1 -1
  717. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-f7cdc992cb310077.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-648e105b4f37fef0.js +3 -0
  719. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-959b3ee3c662de33.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-5689c88f2746c37a.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/health/page-133cf1aa2ce53c87.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-b635b8b051acb5a5.js → page-3828106aa4f490c1.js} +2 -2
  723. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-d9958dfec1d2e28e.js → page-e086fed7677d4852.js} +1 -1
  724. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-a36b3b632d16f4cb.js → page-f36e5ac11783fd1e.js} +2 -2
  725. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-e794909abbc7a09a.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/page-1d972fd3baee7474.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/overview/page-2dae733c8e1582bf.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-7325c65533e4cf60.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-e7ba910803086460.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-0f877a8a2550a1ea.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-201ce34cf7a0a9ed.js +10 -0
  732. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-8965749fb7d0fac3.js → page-bcf9d97ab4dc20d9.js} +1 -1
  733. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-5b11b61863963cad.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-843c810c0818ce1b.js → page-58d8d0fa5523ff95.js} +1 -1
  735. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-0be4cac4f06ef3e2.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-97c920b552343488.js → page-a8b151d5ae9004ea.js} +1 -1
  737. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/swarm/page-594a59006196a03a.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-d57c129c03c9cb36.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-a8af04fbd6293d2f.js → page-61d162d7a7f88a11.js} +1 -1
  740. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/{page-5433f8ac60dd59f0.js → page-483f01fd35d212f5.js} +1 -1
  741. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-9144cc5f6a208199.js → layout-d62e22634bbd6c94.js} +1 -1
  742. package/app/.next-cli-build/static/chunks/app/_global-error/page-ab464cb25617d9dd.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/_not-found/{page-732ac0fa56005849.js → page-0161671512f52984.js} +1 -1
  744. package/app/.next-cli-build/static/chunks/app/api/alerts/test/route-ab464cb25617d9dd.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-ab464cb25617d9dd.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-ab464cb25617d9dd.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-ab464cb25617d9dd.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-ab464cb25617d9dd.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-ab464cb25617d9dd.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-ab464cb25617d9dd.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-ab464cb25617d9dd.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/breaker/route-ab464cb25617d9dd.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/cache/route-ab464cb25617d9dd.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-ab464cb25617d9dd.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-ab464cb25617d9dd.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-ab464cb25617d9dd.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-ab464cb25617d9dd.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-ab464cb25617d9dd.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-ab464cb25617d9dd.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-ab464cb25617d9dd.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-ab464cb25617d9dd.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-ab464cb25617d9dd.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-ab464cb25617d9dd.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-ab464cb25617d9dd.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-ab464cb25617d9dd.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-ab464cb25617d9dd.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-ab464cb25617d9dd.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-ab464cb25617d9dd.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-ab464cb25617d9dd.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-ab464cb25617d9dd.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-ab464cb25617d9dd.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/combos/route-ab464cb25617d9dd.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/combos/validate-roles/route-ab464cb25617d9dd.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/dashboard/stream/route-ab464cb25617d9dd.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-ab464cb25617d9dd.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-ab464cb25617d9dd.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-ab464cb25617d9dd.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/health/providers/route-ab464cb25617d9dd.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/health/route-ab464cb25617d9dd.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/health/stream/route-ab464cb25617d9dd.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/init/route-ab464cb25617d9dd.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-ab464cb25617d9dd.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/keys/route-ab464cb25617d9dd.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/locale/route-ab464cb25617d9dd.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-ab464cb25617d9dd.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-ab464cb25617d9dd.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-ab464cb25617d9dd.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-ab464cb25617d9dd.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-ab464cb25617d9dd.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-ab464cb25617d9dd.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-ab464cb25617d9dd.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-ab464cb25617d9dd.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-ab464cb25617d9dd.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-ab464cb25617d9dd.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-ab464cb25617d9dd.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/models/route-ab464cb25617d9dd.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/models/test/route-ab464cb25617d9dd.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/oauth/1min/import/route-ab464cb25617d9dd.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-ab464cb25617d9dd.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-ab464cb25617d9dd.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-ab464cb25617d9dd.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-ab464cb25617d9dd.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-ab464cb25617d9dd.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-ab464cb25617d9dd.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-ab464cb25617d9dd.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-ab464cb25617d9dd.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-ab464cb25617d9dd.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-ab464cb25617d9dd.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-ab464cb25617d9dd.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-ab464cb25617d9dd.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-ab464cb25617d9dd.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/oauth/qwen/import/route-ab464cb25617d9dd.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/oauth/wp-studio/import/route-ab464cb25617d9dd.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-ab464cb25617d9dd.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-ab464cb25617d9dd.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/pricing/route-ab464cb25617d9dd.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-ab464cb25617d9dd.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-ab464cb25617d9dd.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-ab464cb25617d9dd.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/agnes-profile/route-ab464cb25617d9dd.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/freebuff-profile/route-ab464cb25617d9dd.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/health-timeline/route-ab464cb25617d9dd.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/inxora-profile/route-ab464cb25617d9dd.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-ab464cb25617d9dd.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-api-profile/route-ab464cb25617d9dd.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-profile/route-ab464cb25617d9dd.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/qwencloud-profile/route-ab464cb25617d9dd.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-ab464cb25617d9dd.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-ab464cb25617d9dd.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-ab464cb25617d9dd.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/v0-profile/route-ab464cb25617d9dd.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/vault-pool/route-ab464cb25617d9dd.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zenmux-plans/route-ab464cb25617d9dd.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-ab464cb25617d9dd.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-ab464cb25617d9dd.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/api/providers/route-ab464cb25617d9dd.js +1 -0
  837. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-ab464cb25617d9dd.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-ab464cb25617d9dd.js +1 -0
  839. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-ab464cb25617d9dd.js +1 -0
  840. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-ab464cb25617d9dd.js +1 -0
  841. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-ab464cb25617d9dd.js +1 -0
  842. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-ab464cb25617d9dd.js +1 -0
  843. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-ab464cb25617d9dd.js +1 -0
  844. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-ab464cb25617d9dd.js +1 -0
  845. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-ab464cb25617d9dd.js +1 -0
  846. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-ab464cb25617d9dd.js +1 -0
  847. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-ab464cb25617d9dd.js +1 -0
  848. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-ab464cb25617d9dd.js +1 -0
  849. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-ab464cb25617d9dd.js +1 -0
  850. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-ab464cb25617d9dd.js +1 -0
  851. package/app/.next-cli-build/static/chunks/app/api/settings/route-ab464cb25617d9dd.js +1 -0
  852. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-ab464cb25617d9dd.js +1 -0
  853. package/app/.next-cli-build/static/chunks/app/api/swarm/active/route-ab464cb25617d9dd.js +1 -0
  854. package/app/.next-cli-build/static/chunks/app/api/swarm/stream/route-ab464cb25617d9dd.js +1 -0
  855. package/app/.next-cli-build/static/chunks/app/api/tags/route-ab464cb25617d9dd.js +1 -0
  856. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-ab464cb25617d9dd.js +1 -0
  857. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-ab464cb25617d9dd.js +1 -0
  858. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-ab464cb25617d9dd.js +1 -0
  859. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-ab464cb25617d9dd.js +1 -0
  860. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-ab464cb25617d9dd.js +1 -0
  861. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-ab464cb25617d9dd.js +1 -0
  862. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-ab464cb25617d9dd.js +1 -0
  863. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-ab464cb25617d9dd.js +1 -0
  864. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-ab464cb25617d9dd.js +1 -0
  865. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-ab464cb25617d9dd.js +1 -0
  866. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-ab464cb25617d9dd.js +1 -0
  867. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-ab464cb25617d9dd.js +1 -0
  868. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-ab464cb25617d9dd.js +1 -0
  869. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-ab464cb25617d9dd.js +1 -0
  870. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-ab464cb25617d9dd.js +1 -0
  871. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-ab464cb25617d9dd.js +1 -0
  872. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-ab464cb25617d9dd.js +1 -0
  873. package/app/.next-cli-build/static/chunks/app/api/usage/leaderboard/route-ab464cb25617d9dd.js +1 -0
  874. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-ab464cb25617d9dd.js +1 -0
  875. package/app/.next-cli-build/static/chunks/app/api/usage/meta/route-ab464cb25617d9dd.js +1 -0
  876. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-ab464cb25617d9dd.js +1 -0
  877. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-ab464cb25617d9dd.js +1 -0
  878. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-ab464cb25617d9dd.js +1 -0
  879. package/app/.next-cli-build/static/chunks/app/api/usage/retry-stats/route-ab464cb25617d9dd.js +1 -0
  880. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-ab464cb25617d9dd.js +1 -0
  881. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-ab464cb25617d9dd.js +1 -0
  882. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-ab464cb25617d9dd.js +1 -0
  883. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-ab464cb25617d9dd.js +1 -0
  884. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-ab464cb25617d9dd.js +1 -0
  885. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-ab464cb25617d9dd.js +1 -0
  886. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-ab464cb25617d9dd.js +1 -0
  887. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-ab464cb25617d9dd.js +1 -0
  888. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-ab464cb25617d9dd.js +1 -0
  889. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-ab464cb25617d9dd.js +1 -0
  890. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-ab464cb25617d9dd.js +1 -0
  891. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-ab464cb25617d9dd.js +1 -0
  892. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-ab464cb25617d9dd.js +1 -0
  893. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-ab464cb25617d9dd.js +1 -0
  894. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-ab464cb25617d9dd.js +1 -0
  895. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-ab464cb25617d9dd.js +1 -0
  896. package/app/.next-cli-build/static/chunks/app/api/v1/route-ab464cb25617d9dd.js +1 -0
  897. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-ab464cb25617d9dd.js +1 -0
  898. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-ab464cb25617d9dd.js +1 -0
  899. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-ab464cb25617d9dd.js +1 -0
  900. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-ab464cb25617d9dd.js +1 -0
  901. package/app/.next-cli-build/static/chunks/app/api/version/route-ab464cb25617d9dd.js +1 -0
  902. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-ab464cb25617d9dd.js +1 -0
  903. package/app/.next-cli-build/static/chunks/app/api/version/update/route-ab464cb25617d9dd.js +1 -0
  904. package/app/.next-cli-build/static/chunks/app/callback/{page-4e8ab9d9128acffb.js → page-20e990994d8da6d3.js} +1 -1
  905. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/{page-d4eb2ba84eef2143.js → page-bb9f307074c5c23a.js} +1 -1
  906. package/app/.next-cli-build/static/chunks/app/landing/{page-ade86a48ca5749f4.js → page-468c5cb1d127c02a.js} +1 -1
  907. package/app/.next-cli-build/static/chunks/app/layout-10bff7b57a2a3c2c.js +1 -0
  908. package/app/.next-cli-build/static/chunks/app/login/page-32ab5d7c75651107.js +1 -0
  909. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-ab464cb25617d9dd.js +1 -0
  910. package/app/.next-cli-build/static/chunks/app/page-ab464cb25617d9dd.js +1 -0
  911. package/app/.next-cli-build/static/chunks/main-ab3c4d38db15f747.js +5 -0
  912. package/app/.next-cli-build/static/chunks/main-app-f661afc91c813cfe.js +1 -0
  913. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-ab464cb25617d9dd.js +1 -0
  914. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-ab464cb25617d9dd.js +1 -0
  915. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-8fecb2690f5e9ae2.js +1 -0
  916. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-ab464cb25617d9dd.js +1 -0
  917. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-ab464cb25617d9dd.js +1 -0
  918. package/app/.next-cli-build/static/chunks/webpack-c2bac8d80aa27536.js +1 -0
  919. package/app/.next-cli-build/static/css/27a3eadf22014a5b.css +1 -0
  920. package/app/.next-cli-build/static/j7bBgtavtSkTBPfbmetr9/_buildManifest.js +1 -0
  921. package/app/custom-server.js +9 -0
  922. package/app/node_modules/@emnapi/runtime/dist/emnapi.cjs.js +1381 -0
  923. package/app/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.js +1 -0
  924. package/app/node_modules/@emnapi/runtime/index.js +5 -0
  925. package/app/node_modules/@emnapi/runtime/package.json +48 -0
  926. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/container.js +106 -51
  927. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/css-syntax-error.js +47 -14
  928. package/app/node_modules/postcss/lib/fromJSON.js +107 -0
  929. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/input.js +67 -33
  930. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/lazy-result.js +127 -51
  931. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/list.js +1 -0
  932. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/map-generator.js +26 -9
  933. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/no-work-result.js +57 -55
  934. package/app/node_modules/postcss/lib/node.js +494 -0
  935. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/parser.js +46 -38
  936. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/previous-map.js +34 -12
  937. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/processor.js +7 -7
  938. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/result.js +5 -5
  939. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/root.js +16 -1
  940. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/stringifier.js +140 -32
  941. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/tokenize.js +6 -2
  942. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/warning.js +10 -0
  943. package/app/node_modules/{next/node_modules/postcss → postcss}/package.json +48 -48
  944. package/app/package.json +8 -2
  945. package/app/public/i18n/literals/ar.json +195 -195
  946. package/app/public/i18n/literals/bn.json +195 -195
  947. package/app/public/i18n/literals/cs.json +195 -195
  948. package/app/public/i18n/literals/da.json +195 -195
  949. package/app/public/i18n/literals/de.json +195 -195
  950. package/app/public/i18n/literals/el.json +195 -195
  951. package/app/public/i18n/literals/es.json +195 -195
  952. package/app/public/i18n/literals/fi.json +195 -195
  953. package/app/public/i18n/literals/fr.json +195 -195
  954. package/app/public/i18n/literals/he.json +195 -195
  955. package/app/public/i18n/literals/hi.json +195 -195
  956. package/app/public/i18n/literals/hu.json +195 -195
  957. package/app/public/i18n/literals/id.json +195 -195
  958. package/app/public/i18n/literals/it.json +195 -195
  959. package/app/public/i18n/literals/ja.json +195 -195
  960. package/app/public/i18n/literals/ko.json +195 -195
  961. package/app/public/i18n/literals/nl.json +195 -195
  962. package/app/public/i18n/literals/no.json +195 -195
  963. package/app/public/i18n/literals/pl.json +195 -195
  964. package/app/public/i18n/literals/pt-BR.json +195 -195
  965. package/app/public/i18n/literals/pt-PT.json +195 -195
  966. package/app/public/i18n/literals/ro.json +195 -195
  967. package/app/public/i18n/literals/ru.json +195 -195
  968. package/app/public/i18n/literals/sv.json +195 -195
  969. package/app/public/i18n/literals/th.json +195 -195
  970. package/app/public/i18n/literals/tl.json +195 -195
  971. package/app/public/i18n/literals/tr.json +195 -195
  972. package/app/public/i18n/literals/uk.json +195 -195
  973. package/app/public/i18n/literals/ur.json +195 -195
  974. package/app/public/i18n/literals/vi.json +195 -195
  975. package/app/public/i18n/literals/zh-CN.json +773 -773
  976. package/app/public/i18n/literals/zh-TW.json +195 -195
  977. package/app/public/providers/1min-api.svg +15 -0
  978. package/app/public/providers/1min.svg +15 -0
  979. package/app/public/providers/agnes-api.svg +6 -6
  980. package/app/public/providers/agnes-web.svg +6 -6
  981. package/app/public/providers/alibaba-cn.svg +11 -11
  982. package/app/public/providers/alibaba.svg +11 -11
  983. package/app/public/providers/bynara.svg +22 -22
  984. package/app/public/providers/cline.svg +17 -0
  985. package/app/public/providers/clinepass.svg +20 -0
  986. package/app/public/providers/codestral.svg +16 -0
  987. package/app/public/providers/databricks.svg +21 -0
  988. package/app/public/providers/deepinfra.svg +18 -0
  989. package/app/public/providers/devin.svg +5 -5
  990. package/app/public/providers/featherless.svg +8 -8
  991. package/app/public/providers/forge.svg +9 -9
  992. package/app/public/providers/freebuff-web.svg +6 -6
  993. package/app/public/providers/grok-web.svg +14 -0
  994. package/app/public/providers/hcnsec.svg +10 -10
  995. package/app/public/providers/inxorastudio-web.svg +4 -4
  996. package/app/public/providers/inxorastudio.svg +4 -4
  997. package/app/public/providers/marathon.svg +18 -0
  998. package/app/public/providers/moonshot.svg +8 -8
  999. package/app/public/providers/openvecta.svg +7 -7
  1000. package/app/public/providers/perplexity-agent.svg +13 -13
  1001. package/app/public/providers/qwen-cloud.svg +1 -1
  1002. package/app/public/providers/qwen2api.svg +16 -0
  1003. package/app/public/providers/qwencloud.svg +6 -6
  1004. package/app/public/providers/stepfun.svg +53 -53
  1005. package/app/public/providers/tokenrouter.svg +15 -15
  1006. package/app/public/providers/unimodel.svg +26 -0
  1007. package/app/public/providers/venice.svg +15 -0
  1008. package/app/public/providers/vercel-ai-gateway.svg +13 -0
  1009. package/app/public/providers/wp-studio.svg +11 -11
  1010. package/app/public/providers/zed.svg +11 -11
  1011. package/app/public/providers/zenmux-free.svg +9 -9
  1012. package/app/server.js +1 -1
  1013. package/app/src/lib/db/adapters/sqljsAdapter.js +115 -115
  1014. package/app/src/lib/db/migrate.js +286 -286
  1015. package/app/src/lib/network/pickProxyPoolId.js +38 -38
  1016. package/app/src/lib/updater/updater.js +235 -235
  1017. package/app/src/mitm/server.js +2 -2
  1018. package/cli.js +830 -830
  1019. package/package.json +66 -66
  1020. package/src/cli/api/client.js +556 -556
  1021. package/src/cli/menus/cliTools.js +618 -618
  1022. package/src/cli/terminalUI.js +121 -121
  1023. package/src/cli/tray/autostart.js +306 -306
  1024. package/src/cli/tray/tray.js +322 -322
  1025. package/src/cli/tray/tray.ps1 +130 -130
  1026. package/app/.next-cli-build/server/chunks/1051.js +0 -1
  1027. package/app/.next-cli-build/server/chunks/1216.js +0 -3
  1028. package/app/.next-cli-build/server/chunks/23.js +0 -9
  1029. package/app/.next-cli-build/server/chunks/4362.js +0 -9
  1030. package/app/.next-cli-build/server/chunks/5050.js +0 -1
  1031. package/app/.next-cli-build/server/chunks/6316.js +0 -2
  1032. package/app/.next-cli-build/server/chunks/9140.js +0 -1
  1033. package/app/.next-cli-build/server/chunks/9630.js +0 -1
  1034. package/app/.next-cli-build/static/ZpBU8xc4kSeLftltRrIa6/_buildManifest.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/1696-bafe4b44a7a0439e.js +0 -3
  1036. package/app/.next-cli-build/static/chunks/1966.b8f83f7ba376c962.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/3899.3f761f7e3a944e8c.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/5497-2e59e6171ac782ae.js +0 -7
  1039. package/app/.next-cli-build/static/chunks/705-b7d7b61f41806f0d.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/8105-42ffe16677c2f8f8.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-afc62a0533448ca0.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-61b6cf127f421af9.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-a8c4d8c681e19868.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-408845bd809806a6.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/health/page-d077213deca8c217.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-92a0799a23d869b3.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/page-99540bfed3193080.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/overview/page-262fa6911888d4f1.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-f644da989b8878c3.js +0 -1
  1050. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-0a50de81e7b688fc.js +0 -1
  1051. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-aa26b25a26b5dac8.js +0 -1
  1052. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-eca89af2e4f561e3.js +0 -10
  1053. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-96d3eb0dfde0711b.js +0 -1
  1054. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-bc16a0312f0a7915.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/swarm/page-9739651f4f19cec6.js +0 -1
  1056. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-2592739cbb862828.js +0 -1
  1057. package/app/.next-cli-build/static/chunks/app/_global-error/page-dfe796be45352c7b.js +0 -1
  1058. package/app/.next-cli-build/static/chunks/app/api/alerts/test/route-dfe796be45352c7b.js +0 -1
  1059. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-dfe796be45352c7b.js +0 -1
  1060. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-dfe796be45352c7b.js +0 -1
  1061. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-dfe796be45352c7b.js +0 -1
  1062. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-dfe796be45352c7b.js +0 -1
  1063. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-dfe796be45352c7b.js +0 -1
  1064. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-dfe796be45352c7b.js +0 -1
  1065. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-dfe796be45352c7b.js +0 -1
  1066. package/app/.next-cli-build/static/chunks/app/api/cache/route-dfe796be45352c7b.js +0 -1
  1067. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-dfe796be45352c7b.js +0 -1
  1068. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-dfe796be45352c7b.js +0 -1
  1069. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-dfe796be45352c7b.js +0 -1
  1070. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-dfe796be45352c7b.js +0 -1
  1071. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-dfe796be45352c7b.js +0 -1
  1072. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-dfe796be45352c7b.js +0 -1
  1073. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-dfe796be45352c7b.js +0 -1
  1074. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-dfe796be45352c7b.js +0 -1
  1075. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-dfe796be45352c7b.js +0 -1
  1076. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-dfe796be45352c7b.js +0 -1
  1077. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-dfe796be45352c7b.js +0 -1
  1078. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-dfe796be45352c7b.js +0 -1
  1079. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-dfe796be45352c7b.js +0 -1
  1080. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-dfe796be45352c7b.js +0 -1
  1081. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-dfe796be45352c7b.js +0 -1
  1082. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-dfe796be45352c7b.js +0 -1
  1083. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-dfe796be45352c7b.js +0 -1
  1084. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-dfe796be45352c7b.js +0 -1
  1085. package/app/.next-cli-build/static/chunks/app/api/combos/route-dfe796be45352c7b.js +0 -1
  1086. package/app/.next-cli-build/static/chunks/app/api/combos/validate-roles/route-dfe796be45352c7b.js +0 -1
  1087. package/app/.next-cli-build/static/chunks/app/api/dashboard/stream/route-dfe796be45352c7b.js +0 -1
  1088. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-dfe796be45352c7b.js +0 -1
  1089. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-dfe796be45352c7b.js +0 -1
  1090. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-dfe796be45352c7b.js +0 -1
  1091. package/app/.next-cli-build/static/chunks/app/api/health/providers/route-dfe796be45352c7b.js +0 -1
  1092. package/app/.next-cli-build/static/chunks/app/api/health/route-dfe796be45352c7b.js +0 -1
  1093. package/app/.next-cli-build/static/chunks/app/api/health/stream/route-dfe796be45352c7b.js +0 -1
  1094. package/app/.next-cli-build/static/chunks/app/api/init/route-dfe796be45352c7b.js +0 -1
  1095. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-dfe796be45352c7b.js +0 -1
  1096. package/app/.next-cli-build/static/chunks/app/api/keys/route-dfe796be45352c7b.js +0 -1
  1097. package/app/.next-cli-build/static/chunks/app/api/locale/route-dfe796be45352c7b.js +0 -1
  1098. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-dfe796be45352c7b.js +0 -1
  1099. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-dfe796be45352c7b.js +0 -1
  1100. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-dfe796be45352c7b.js +0 -1
  1101. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-dfe796be45352c7b.js +0 -1
  1102. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-dfe796be45352c7b.js +0 -1
  1103. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-dfe796be45352c7b.js +0 -1
  1104. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-dfe796be45352c7b.js +0 -1
  1105. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-dfe796be45352c7b.js +0 -1
  1106. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-dfe796be45352c7b.js +0 -1
  1107. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-dfe796be45352c7b.js +0 -1
  1108. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-dfe796be45352c7b.js +0 -1
  1109. package/app/.next-cli-build/static/chunks/app/api/models/route-dfe796be45352c7b.js +0 -1
  1110. package/app/.next-cli-build/static/chunks/app/api/models/test/route-dfe796be45352c7b.js +0 -1
  1111. package/app/.next-cli-build/static/chunks/app/api/oauth/1min/import/route-dfe796be45352c7b.js +0 -1
  1112. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-dfe796be45352c7b.js +0 -1
  1113. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-dfe796be45352c7b.js +0 -1
  1114. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-dfe796be45352c7b.js +0 -1
  1115. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-dfe796be45352c7b.js +0 -1
  1116. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-dfe796be45352c7b.js +0 -1
  1117. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-dfe796be45352c7b.js +0 -1
  1118. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-dfe796be45352c7b.js +0 -1
  1119. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-dfe796be45352c7b.js +0 -1
  1120. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-dfe796be45352c7b.js +0 -1
  1121. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-dfe796be45352c7b.js +0 -1
  1122. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-dfe796be45352c7b.js +0 -1
  1123. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-dfe796be45352c7b.js +0 -1
  1124. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-dfe796be45352c7b.js +0 -1
  1125. package/app/.next-cli-build/static/chunks/app/api/oauth/qwen/import/route-dfe796be45352c7b.js +0 -1
  1126. package/app/.next-cli-build/static/chunks/app/api/oauth/wp-studio/import/route-dfe796be45352c7b.js +0 -1
  1127. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-dfe796be45352c7b.js +0 -1
  1128. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-dfe796be45352c7b.js +0 -1
  1129. package/app/.next-cli-build/static/chunks/app/api/pricing/route-dfe796be45352c7b.js +0 -1
  1130. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-dfe796be45352c7b.js +0 -1
  1131. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-dfe796be45352c7b.js +0 -1
  1132. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-dfe796be45352c7b.js +0 -1
  1133. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/agnes-profile/route-dfe796be45352c7b.js +0 -1
  1134. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/freebuff-profile/route-dfe796be45352c7b.js +0 -1
  1135. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/health-timeline/route-dfe796be45352c7b.js +0 -1
  1136. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/inxora-profile/route-dfe796be45352c7b.js +0 -1
  1137. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-dfe796be45352c7b.js +0 -1
  1138. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-api-profile/route-dfe796be45352c7b.js +0 -1
  1139. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-profile/route-dfe796be45352c7b.js +0 -1
  1140. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/qwencloud-profile/route-dfe796be45352c7b.js +0 -1
  1141. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-dfe796be45352c7b.js +0 -1
  1142. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-dfe796be45352c7b.js +0 -1
  1143. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-dfe796be45352c7b.js +0 -1
  1144. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/v0-profile/route-dfe796be45352c7b.js +0 -1
  1145. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/vault-pool/route-dfe796be45352c7b.js +0 -1
  1146. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zenmux-plans/route-dfe796be45352c7b.js +0 -1
  1147. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-dfe796be45352c7b.js +0 -1
  1148. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-dfe796be45352c7b.js +0 -1
  1149. package/app/.next-cli-build/static/chunks/app/api/providers/route-dfe796be45352c7b.js +0 -1
  1150. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-dfe796be45352c7b.js +0 -1
  1151. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-dfe796be45352c7b.js +0 -1
  1152. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-dfe796be45352c7b.js +0 -1
  1153. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-dfe796be45352c7b.js +0 -1
  1154. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-dfe796be45352c7b.js +0 -1
  1155. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-dfe796be45352c7b.js +0 -1
  1156. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-dfe796be45352c7b.js +0 -1
  1157. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-dfe796be45352c7b.js +0 -1
  1158. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-dfe796be45352c7b.js +0 -1
  1159. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-dfe796be45352c7b.js +0 -1
  1160. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-dfe796be45352c7b.js +0 -1
  1161. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-dfe796be45352c7b.js +0 -1
  1162. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-dfe796be45352c7b.js +0 -1
  1163. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-dfe796be45352c7b.js +0 -1
  1164. package/app/.next-cli-build/static/chunks/app/api/settings/route-dfe796be45352c7b.js +0 -1
  1165. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-dfe796be45352c7b.js +0 -1
  1166. package/app/.next-cli-build/static/chunks/app/api/swarm/active/route-dfe796be45352c7b.js +0 -1
  1167. package/app/.next-cli-build/static/chunks/app/api/swarm/stream/route-dfe796be45352c7b.js +0 -1
  1168. package/app/.next-cli-build/static/chunks/app/api/tags/route-dfe796be45352c7b.js +0 -1
  1169. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-dfe796be45352c7b.js +0 -1
  1170. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-dfe796be45352c7b.js +0 -1
  1171. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-dfe796be45352c7b.js +0 -1
  1172. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-dfe796be45352c7b.js +0 -1
  1173. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-dfe796be45352c7b.js +0 -1
  1174. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-dfe796be45352c7b.js +0 -1
  1175. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-dfe796be45352c7b.js +0 -1
  1176. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-dfe796be45352c7b.js +0 -1
  1177. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-dfe796be45352c7b.js +0 -1
  1178. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-dfe796be45352c7b.js +0 -1
  1179. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-dfe796be45352c7b.js +0 -1
  1180. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-dfe796be45352c7b.js +0 -1
  1181. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-dfe796be45352c7b.js +0 -1
  1182. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-dfe796be45352c7b.js +0 -1
  1183. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-dfe796be45352c7b.js +0 -1
  1184. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-dfe796be45352c7b.js +0 -1
  1185. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-dfe796be45352c7b.js +0 -1
  1186. package/app/.next-cli-build/static/chunks/app/api/usage/leaderboard/route-dfe796be45352c7b.js +0 -1
  1187. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-dfe796be45352c7b.js +0 -1
  1188. package/app/.next-cli-build/static/chunks/app/api/usage/meta/route-dfe796be45352c7b.js +0 -1
  1189. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-dfe796be45352c7b.js +0 -1
  1190. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-dfe796be45352c7b.js +0 -1
  1191. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-dfe796be45352c7b.js +0 -1
  1192. package/app/.next-cli-build/static/chunks/app/api/usage/retry-stats/route-dfe796be45352c7b.js +0 -1
  1193. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-dfe796be45352c7b.js +0 -1
  1194. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-dfe796be45352c7b.js +0 -1
  1195. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-dfe796be45352c7b.js +0 -1
  1196. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-dfe796be45352c7b.js +0 -1
  1197. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-dfe796be45352c7b.js +0 -1
  1198. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-dfe796be45352c7b.js +0 -1
  1199. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-dfe796be45352c7b.js +0 -1
  1200. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-dfe796be45352c7b.js +0 -1
  1201. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-dfe796be45352c7b.js +0 -1
  1202. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-dfe796be45352c7b.js +0 -1
  1203. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-dfe796be45352c7b.js +0 -1
  1204. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-dfe796be45352c7b.js +0 -1
  1205. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-dfe796be45352c7b.js +0 -1
  1206. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-dfe796be45352c7b.js +0 -1
  1207. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-dfe796be45352c7b.js +0 -1
  1208. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-dfe796be45352c7b.js +0 -1
  1209. package/app/.next-cli-build/static/chunks/app/api/v1/route-dfe796be45352c7b.js +0 -1
  1210. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-dfe796be45352c7b.js +0 -1
  1211. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-dfe796be45352c7b.js +0 -1
  1212. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-dfe796be45352c7b.js +0 -1
  1213. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-dfe796be45352c7b.js +0 -1
  1214. package/app/.next-cli-build/static/chunks/app/api/version/route-dfe796be45352c7b.js +0 -1
  1215. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-dfe796be45352c7b.js +0 -1
  1216. package/app/.next-cli-build/static/chunks/app/api/version/update/route-dfe796be45352c7b.js +0 -1
  1217. package/app/.next-cli-build/static/chunks/app/layout-16b611f4f5717ccd.js +0 -1
  1218. package/app/.next-cli-build/static/chunks/app/login/page-0831b035aa4c0f17.js +0 -1
  1219. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-dfe796be45352c7b.js +0 -1
  1220. package/app/.next-cli-build/static/chunks/app/page-dfe796be45352c7b.js +0 -1
  1221. package/app/.next-cli-build/static/chunks/main-28015457a328b97c.js +0 -5
  1222. package/app/.next-cli-build/static/chunks/main-app-705d8c306f358a5f.js +0 -1
  1223. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-dfe796be45352c7b.js +0 -1
  1224. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-dfe796be45352c7b.js +0 -1
  1225. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-22e44aa316880902.js +0 -1
  1226. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-dfe796be45352c7b.js +0 -1
  1227. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-dfe796be45352c7b.js +0 -1
  1228. package/app/.next-cli-build/static/chunks/webpack-a990cabb6976f421.js +0 -1
  1229. package/app/.next-cli-build/static/css/58f8f5fb2d2ac134.css +0 -1
  1230. package/app/cli/.build-home/AppData/Local/npm-cache/_update-notifier-last-checked +0 -0
  1231. package/app/cli/.build-home/AppData/Roaming/extremerouter/.migrated-from +0 -1
  1232. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/schema-3-to-4-0.8.0-20260802-152036/data.sqlite +0 -0
  1233. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/upgrade-0.7.7-to-0.7.8-0.7.8-20260727-004850/data.sqlite +0 -0
  1234. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/upgrade-0.7.8-to-0.7.9-0.7.9-20260729-181011/data.sqlite +0 -0
  1235. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/upgrade-0.7.9-to-0.8.0-0.8.0-20260729-213634/data.sqlite +0 -0
  1236. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/data.sqlite +0 -0
  1237. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/data.sqlite-shm +0 -0
  1238. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/data.sqlite-wal +0 -0
  1239. package/app/cli/.build-home/AppData/Roaming/extremerouter/jwt-secret +0 -1
  1240. package/app/cli/.build-home/AppData/Roaming/extremerouter/machine-id +0 -1
  1241. package/app/cli/.build-home/AppData/Roaming/nextjs-nodejs/Config/config.json +0 -7
  1242. package/app/node_modules/next/node_modules/postcss/lib/fromJSON.js +0 -54
  1243. package/app/node_modules/next/node_modules/postcss/lib/node.js +0 -381
  1244. package/app/.next-cli-build/static/{ZpBU8xc4kSeLftltRrIa6 → j7bBgtavtSkTBPfbmetr9}/_ssgManifest.js +0 -0
  1245. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/at-rule.js +0 -0
  1246. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/comment.js +0 -0
  1247. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/declaration.js +4 -4
  1248. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/document.js +0 -0
  1249. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/parse.js +1 -1
  1250. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/postcss.js +12 -12
  1251. package/app/node_modules/{next/node_modules/postcss → postcss}/lib/rule.js +6 -6
  1252. /package/app/node_modules/{next/node_modules/postcss → postcss}/lib/stringify.js +0 -0
  1253. /package/app/node_modules/{next/node_modules/postcss → postcss}/lib/symbols.js +0 -0
  1254. /package/app/node_modules/{next/node_modules/postcss → postcss}/lib/terminal-highlight.js +0 -0
  1255. /package/app/node_modules/{next/node_modules/postcss → postcss}/lib/warn-once.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=5612,exports.ids=[5612],exports.modules={16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(39422)},19225:(a,b,c)=>{a.exports=c(44870)},39006:a=>{a.exports={rE:"0.8.1"}},49903:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>D,OPTIONS:()=>C,buildModelsList:()=>B});var d=c(81329),e=c(40615),f=c(89718),g=c(16655),h=c(29679),i=c(52007),j=c(53225),k=c(39609),l=c(75924),m=c(8521);let n=new Map;async function o(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,k.proxyAwareFetch)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":`vscode/${l.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${l.x0.COPILOT_CHAT_VERSION}`,"user-agent":l.x0.USER_AGENT,"x-github-api-version":l.x0.API_VERSION},cache:"no-store",signal:b||c.signal});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function p(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=n.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await o(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,m.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await o(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(n.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var q=c(52284);async function r(a){let b=!!a?.apiKey,c=b?a.apiKey:a?.accessToken;if(!c)return null;let d=new AbortController,e=setTimeout(()=>d.abort(),5e3);try{let a=b?{Accept:"application/json",Authorization:`Bearer ${c}`,"HTTP-Referer":"https://cline.bot","X-Title":"Cline"}:(0,q.w$)(c,{Accept:"application/json"}),e=await fetch("https://api.cline.bot/api/v1/models",{method:"GET",headers:a,signal:d.signal});if(!e.ok)return null;let f=await e.json(),g=Array.isArray(f)?f:f?.data;if(!Array.isArray(g))return null;let h=g.filter(a=>"string"==typeof a?.id&&a.id.startsWith("cline-pass/")).map(a=>({id:a.id,name:a.name||a.id}));return h.length?{models:h}:null}catch{return null}finally{clearTimeout(e)}}var s=c(5733),t=c(67828),u=c(66306);let v={kiro:async a=>{let b=await (0,h.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},qoder:async a=>{let b=await (0,j.EV)({accessToken:a.accessToken,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models.map(a=>({id:a.id,name:a.name}))}:null},kimchi:async a=>{let b=await (0,i.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},github:async a=>{let b=await p({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,onCredentialsRefreshed:async b=>{await (0,t.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return b?.models?.length?{models:b.models}:null},clinepass:async a=>{let b=await r({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null},"zenmux-free":async a=>{let b=String(a?.apiKey||"").match(/ctoken=([^;]+)/),c=b?.[1]||"",d=a?.providerSpecificData?.zenmuxPlan||"free";if(c){let a=await (0,s.A2)(c);a&&(d=a)}let e=await (0,s.UL)(d);return e?.length?{models:e}:null}},w=/[-_][0-9a-f]{8,}$/i,x={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function y(a){let b=a?.kind||a?.type;return b&&x[b]||"llm"}async function z(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{var f;let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let g=(f=await e.json(),Array.isArray(f)?f:f?.data||f?.models||f?.results||[]);return Array.from(new Set(g.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}function A(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function B(a){let b=[];try{b=(b=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, returning all models")}let h=[];try{h=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let i=[];try{i=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let j={};try{j=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let k={};try{k=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let l=(a,b)=>Array.isArray(k[a])&&k[a].includes(b),m=new Map;for(let a of b)m.has(a.provider)||m.set(a.provider,a);let n=[];try{let{getActiveVaultProviders:a}=await c.e(7524).then(c.bind(c,37524));n=a()}catch{}for(let a of n)m.has(a)||m.set(a,{provider:a,authType:"apikey",apiKey:null,isActive:!0,providerSpecificData:{vaultPool:!0}});let o=[];for(let b of h){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;let c={id:b.name,object:"model",owned_by:"combo"};("webSearch"===b.kind||"webFetch"===b.kind)&&(c.kind=b.kind),o.push(c)}if(0===b.length){let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(A(b[c]||c,a))for(let b of e)a.includes(y(b))&&(l(c,b.id)||o.push({id:`${c}/${b.id}`,object:"model",owned_by:c}));for(let b of i){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&o.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[b,c]of m.entries()){if(!A(b,a))continue;let f=d.Xg[b]||b,g=(c?.providerSpecificData?.prefix||(0,e.wG)(b)||f).trim(),h=d.vq[f]||[],k=c?.providerSpecificData?.enabledModels,m=Array.isArray(k)&&k.length>0,n=(0,e.mq)(b)||(0,e.gb)(b),p=new Map(h.map(a=>[a.id,y(a)])),q=new Map,r=new Map,s=m?Array.from(new Set(k.filter(a=>"string"==typeof a&&""!==a.trim()))):h.map(a=>a.id);n&&0===s.length&&!w.test(b)&&(s=await z(c));let t=v[b];if(t&&!m)try{let a=await t(c);a?.models?.length&&(s=a.models.map(a=>a.id),q=new Map(a.models.filter(a=>a?.id).map(a=>[a.id,y(a)])),r=new Map(a.models.filter(a=>a?.id&&a.capabilities).map(a=>[a.id,a.capabilities])))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}let x=s.map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),B=new Map;for(let c of Array.from(new Set([...x,...i.filter(c=>{if(!c?.id)return!1;let e=(0,d.CP)(c)||"llm";if(!a.includes(e)&&!("imageToText"===e&&a.includes("llm")))return!1;let h=c.providerAlias;return h===f||h===g||h===b}).map(a=>{let b=String(a.id).trim();return b&&B.set(b,(0,d.CP)(a)||"llm"),b}).filter(a=>""!==a),...Object.values(j||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${g}/`)||a.startsWith(`${f}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let b=B.get(c),d=q.get(c),e=b||d||p.get(c)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c),h="imageToText"===e&&a.includes("llm");if(!a.includes(e)&&!h||l(g,c)||l(f,c))continue;let i={id:`${g}/${c}`,object:"model",owned_by:g},j=r.get(c)||(0,u.a0)(b||d);j&&(i.capabilities=j),o.push(i)}let C=e.AI_PROVIDERS[b];a.includes("webSearch")&&C?.searchConfig&&o.push({id:`${g}/search`,object:"model",kind:"webSearch",owned_by:g}),a.includes("webFetch")&&C?.fetchConfig&&o.push({id:`${g}/fetch`,object:"model",kind:"webFetch",owned_by:g})}let p=[],q=new Set;for(let a of o)!a?.id||q.has(a.id)||(q.add(a.id),p.push(a));return p}async function C(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function D(){try{let a=await B(["llm"]);return Response.json({object:"list",data:a},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},52284:(a,b,c)=>{c.d(b,{w$:()=>d}),c(39006).rE;function d(a,b={}){let c,e=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")||function(a){if("string"!=typeof a)return!1;let b=a.trim();return!!b&&(!!/^(cline-|sk-|cp-|clinepass-|cl-)/i.test(b)||3!==b.split(".").length&&!(!(b.length>=40)||b.includes(".")))}(b)?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",f={"HTTP-Referer":"https://cline.bot","X-Title":"Cline",...b};return e&&(f.Authorization=e),f}},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(45699);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
1
+ "use strict";exports.id=5612,exports.ids=[5612],exports.modules={16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(39422)},19225:(a,b,c)=>{a.exports=c(44870)},39006:a=>{a.exports={rE:"0.8.3"}},49903:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>D,OPTIONS:()=>C,buildModelsList:()=>B});var d=c(81329),e=c(40615),f=c(89718),g=c(16655),h=c(29679),i=c(52007),j=c(53225),k=c(39609),l=c(75924),m=c(8521);let n=new Map;async function o(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,k.proxyAwareFetch)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":`vscode/${l.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${l.x0.COPILOT_CHAT_VERSION}`,"user-agent":l.x0.USER_AGENT,"x-github-api-version":l.x0.API_VERSION},cache:"no-store",signal:b||c.signal});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function p(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=n.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await o(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,m.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await o(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(n.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var q=c(52284);async function r(a){let b=!!a?.apiKey,c=b?a.apiKey:a?.accessToken;if(!c)return null;let d=new AbortController,e=setTimeout(()=>d.abort(),5e3);try{let a=b?{Accept:"application/json",Authorization:`Bearer ${c}`,"HTTP-Referer":"https://cline.bot","X-Title":"Cline"}:(0,q.w$)(c,{Accept:"application/json"}),e=await fetch("https://api.cline.bot/api/v1/models",{method:"GET",headers:a,signal:d.signal});if(!e.ok)return null;let f=await e.json(),g=Array.isArray(f)?f:f?.data;if(!Array.isArray(g))return null;let h=g.filter(a=>"string"==typeof a?.id&&a.id.startsWith("cline-pass/")).map(a=>({id:a.id,name:a.name||a.id}));return h.length?{models:h}:null}catch{return null}finally{clearTimeout(e)}}var s=c(5733),t=c(67828),u=c(66306);let v={kiro:async a=>{let b=await (0,h.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},qoder:async a=>{let b=await (0,j.EV)({accessToken:a.accessToken,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models.map(a=>({id:a.id,name:a.name}))}:null},kimchi:async a=>{let b=await (0,i.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},github:async a=>{let b=await p({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,onCredentialsRefreshed:async b=>{await (0,t.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return b?.models?.length?{models:b.models}:null},clinepass:async a=>{let b=await r({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null},"zenmux-free":async a=>{let b=String(a?.apiKey||"").match(/ctoken=([^;]+)/),c=b?.[1]||"",d=a?.providerSpecificData?.zenmuxPlan||"free";if(c){let a=await (0,s.A2)(c);a&&(d=a)}let e=await (0,s.UL)(d);return e?.length?{models:e}:null}},w=/[-_][0-9a-f]{8,}$/i,x={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function y(a){let b=a?.kind||a?.type;return b&&x[b]||"llm"}async function z(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{var f;let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let g=(f=await e.json(),Array.isArray(f)?f:f?.data||f?.models||f?.results||[]);return Array.from(new Set(g.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}function A(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function B(a){let b=[];try{b=(b=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, returning all models")}let h=[];try{h=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let i=[];try{i=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let j={};try{j=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let k={};try{k=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let l=(a,b)=>Array.isArray(k[a])&&k[a].includes(b),m=new Map;for(let a of b)m.has(a.provider)||m.set(a.provider,a);let n=[];try{let{getActiveVaultProviders:a}=await c.e(7524).then(c.bind(c,37524));n=a()}catch{}for(let a of n)m.has(a)||m.set(a,{provider:a,authType:"apikey",apiKey:null,isActive:!0,providerSpecificData:{vaultPool:!0}});let o=[];for(let b of h){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;let c={id:b.name,object:"model",owned_by:"combo"};("webSearch"===b.kind||"webFetch"===b.kind)&&(c.kind=b.kind),Number.isInteger(b.context_length)&&b.context_length>0&&(c.context_length=b.context_length),o.push(c)}if(0===b.length){let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(A(b[c]||c,a))for(let b of e)a.includes(y(b))&&(l(c,b.id)||o.push({id:`${c}/${b.id}`,object:"model",owned_by:c}));for(let b of i){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&o.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[b,c]of m.entries()){if(!A(b,a))continue;let f=d.Xg[b]||b,g=(c?.providerSpecificData?.prefix||(0,e.wG)(b)||f).trim(),h=d.vq[f]||[],k=c?.providerSpecificData?.enabledModels,m=Array.isArray(k)&&k.length>0,n=(0,e.mq)(b)||(0,e.gb)(b),p=new Map(h.map(a=>[a.id,y(a)])),q=new Map,r=new Map,s=m?Array.from(new Set(k.filter(a=>"string"==typeof a&&""!==a.trim()))):h.map(a=>a.id);n&&0===s.length&&!w.test(b)&&(s=await z(c));let t=v[b];if(t&&!m)try{let a=await t(c);a?.models?.length&&(s=a.models.map(a=>a.id),q=new Map(a.models.filter(a=>a?.id).map(a=>[a.id,y(a)])),r=new Map(a.models.filter(a=>a?.id&&a.capabilities).map(a=>[a.id,a.capabilities])))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}let x=s.map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),B=new Map;for(let c of Array.from(new Set([...x,...i.filter(c=>{if(!c?.id)return!1;let e=(0,d.CP)(c)||"llm";if(!a.includes(e)&&!("imageToText"===e&&a.includes("llm")))return!1;let h=c.providerAlias;return h===f||h===g||h===b}).map(a=>{let b=String(a.id).trim();return b&&B.set(b,(0,d.CP)(a)||"llm"),b}).filter(a=>""!==a),...Object.values(j||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${g}/`)||a.startsWith(`${f}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let b=B.get(c),d=q.get(c),e=b||d||p.get(c)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c),h="imageToText"===e&&a.includes("llm");if(!a.includes(e)&&!h||l(g,c)||l(f,c))continue;let i={id:`${g}/${c}`,object:"model",owned_by:g},j=r.get(c)||(0,u.a0)(b||d);j&&(i.capabilities=j),o.push(i)}let C=e.AI_PROVIDERS[b];a.includes("webSearch")&&C?.searchConfig&&o.push({id:`${g}/search`,object:"model",kind:"webSearch",owned_by:g}),a.includes("webFetch")&&C?.fetchConfig&&o.push({id:`${g}/fetch`,object:"model",kind:"webFetch",owned_by:g})}let p=[],q=new Set;for(let a of o)!a?.id||q.has(a.id)||(q.add(a.id),p.push(a));return p}async function C(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function D(){try{let a=await B(["llm"]);return Response.json({object:"list",data:a},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},52284:(a,b,c)=>{c.d(b,{w$:()=>d}),c(39006).rE;function d(a,b={}){let c,e=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")||function(a){if("string"!=typeof a)return!1;let b=a.trim();return!!b&&(!!/^(cline-|sk-|cp-|clinepass-|cl-)/i.test(b)||3!==b.split(".").length&&!(!(b.length>=40)||b.includes(".")))}(b)?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",f={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","x-client-type":"cline-cli",...b};return e&&(f.Authorization=e),f}},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(45699);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
@@ -40,4 +40,4 @@
40
40
  <style>body{font-family:system-ui;display:flex;justify-content:center;align-items:center;height:100vh;margin:0;background:#f5f5f5}.c{text-align:center;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.i{color:${a?"#22c55e":"#ef4444"};font-size:3rem}h1{margin:1rem 0}p{color:#666}</style>
41
41
  </head><body><div class="c"><div class="i">${a?"&#10003;":"&#10007;"}</div><h1>${c}</h1><p>${d}</p><p>Closing in <span id="cd">3</span>s...</p>
42
42
  <script>let n=3;const c=document.getElementById("cd");const t=setInterval(()=>{n--;c.textContent=n;if(n<=0){clearInterval(t);window.close();}},1000);</script>
43
- </div></body></html>`}function q(a){return new Promise(b=>{if(i)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new f.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let g=e.searchParams.get("code"),h=e.searchParams.get("state"),i=e.searchParams.get("error"),j=h?l.get(h):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!g)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(6306),c.e(2701),c.e(7187),c.e(2926),c.e(5330),c.e(8895),c.e(1241)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),f=await a("codex",g,j.redirectUri,j.codeVerifier,h),k=await b({provider:"codex",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});j.status="done",j.connectionId=k.id,j.email=k.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(p(!0,"You can close this window."))}catch(a){j.status="error",j.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(p(!1,a.message))}finally{r()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),r()});d.listen(k,"127.0.0.1",()=>{i=d,j=setTimeout(()=>r(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function r(){j&&(clearTimeout(j),j=null),i&&(i.close(),i=null)}let s=null,t=null,u=new Map;function v({state:a,codeVerifier:b,redirectUri:c}){return!!a&&!!b&&!!c&&(u.set(a,{codeVerifier:b,redirectUri:c,status:"pending",createdAt:Date.now()}),!0)}function w(a){return u.get(a)||null}function x(a){u.delete(a)}function y(a){return new Promise(b=>{if(s)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new f.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let g=e.searchParams.get("code"),h=e.searchParams.get("state"),i=e.searchParams.get("error"),j=h?u.get(h):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!g)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(6306),c.e(2701),c.e(7187),c.e(2926),c.e(5330),c.e(8895),c.e(1241)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),f=await a("xai",g,j.redirectUri,j.codeVerifier,h),k=await b({provider:"xai",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});j.status="done",j.connectionId=k.id,j.email=k.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(p(!0,"You can close this window."))}catch(a){j.status="error",j.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(p(!1,a.message))}finally{z()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),z()});d.listen(56121,"127.0.0.1",()=>{s=d,t=setTimeout(()=>z(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function z(){t&&(clearTimeout(t),t=null),s&&(s.close(),s=null)}},73159:(a,b,c)=>{c.d(b,{Ue:()=>k,oT:()=>l});var d=c(26070);let e=d.xq.xai?.clientId,f="https://auth.x.ai",g="/oauth2/authorize",h="/oauth2/token",i="/.well-known/openid-configuration",j="/callback",k=96,l={clientId:e,issuer:f,authEndpointPath:g,tokenEndpointPath:h,discoveryPath:i,authorizeUrl:`${f}${g}`,tokenUrl:`${f}${h}`,discoveryUrl:`${f}${i}`,scope:"openid profile email offline_access grok-cli:access api:access",apiBaseUrl:"https://api.x.ai/v1",redirectUri:`http://127.0.0.1:56121${j}`,loopbackPort:56121,callbackPath:j,pkceVerifierBytes:96,refreshLeadSeconds:300,userAgent:"grok-cli/extremerouter",codeChallengeMethod:"S256"}},92990:(a,b,c)=>{c.d(b,{DI:()=>i,Hp:()=>k,LT:()=>j,MZ:()=>v,Nl:()=>z,Nu:()=>p,OV:()=>h,S6:()=>s,Td:()=>A,Tx:()=>q,WN:()=>t,Ww:()=>C,YT:()=>n,ZL:()=>m,cD:()=>o,f7:()=>y,hF:()=>l,lB:()=>w,t:()=>u,vg:()=>B,w1:()=>x});var d=c(21820),e=c(74129),f=c(26070);function g(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let h={...f.sr.claude},i={...f.sr.codex},j={...e.w3,...f.sr["gemini-cli"]},k={...f.sr.qwen},l={...f.sr.qoder},m={...f.sr.iflow},n={...e.XP,...f.sr.antigravity,loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:g(),pluginType:2})};function o(){return{ideType:9,platform:g(),pluginType:2}}({...f.sr.openai});let p={...f.sr.github},q={...f.sr.kiro},r=/^[a-z]{2}-[a-z]+-\d{1,2}$/;function s(a){if("string"!=typeof a||!r.test(a))throw Error("Invalid region");return a}let t={...f.sr.cursor,tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"}},u={...f.sr["kimi-coding"],clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||f.xq["kimi-coding"]?.clientId},v={...f.sr.kilocode},w={...f.sr.cline},x={...f.sr.clinepass},y={...f.sr.gitlab},z={...f.sr["codebuddy-cn"]},A={...f.sr.kimchi},B={...f.sr.zed,tokenStoragePaths:{linux:"~/.local/share/zed/ (or libsecret keyring)",macos:"macOS Keychain (zed)",windows:"Windows Credential Manager"}},C=3e5}};
43
+ </div></body></html>`}function q(a){return new Promise(b=>{if(i)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new f.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let g=e.searchParams.get("code"),h=e.searchParams.get("state"),i=e.searchParams.get("error"),j=h?l.get(h):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!g)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(6306),c.e(7187),c.e(2701),c.e(3437),c.e(5330),c.e(8895),c.e(1241)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),f=await a("codex",g,j.redirectUri,j.codeVerifier,h),k=await b({provider:"codex",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});j.status="done",j.connectionId=k.id,j.email=k.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(p(!0,"You can close this window."))}catch(a){j.status="error",j.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(p(!1,a.message))}finally{r()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),r()});d.listen(k,"127.0.0.1",()=>{i=d,j=setTimeout(()=>r(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function r(){j&&(clearTimeout(j),j=null),i&&(i.close(),i=null)}let s=null,t=null,u=new Map;function v({state:a,codeVerifier:b,redirectUri:c}){return!!a&&!!b&&!!c&&(u.set(a,{codeVerifier:b,redirectUri:c,status:"pending",createdAt:Date.now()}),!0)}function w(a){return u.get(a)||null}function x(a){u.delete(a)}function y(a){return new Promise(b=>{if(s)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new f.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let g=e.searchParams.get("code"),h=e.searchParams.get("state"),i=e.searchParams.get("error"),j=h?u.get(h):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!g)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(6306),c.e(7187),c.e(2701),c.e(3437),c.e(5330),c.e(8895),c.e(1241)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),f=await a("xai",g,j.redirectUri,j.codeVerifier,h),k=await b({provider:"xai",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});j.status="done",j.connectionId=k.id,j.email=k.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(p(!0,"You can close this window."))}catch(a){j.status="error",j.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(p(!1,a.message))}finally{z()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),z()});d.listen(56121,"127.0.0.1",()=>{s=d,t=setTimeout(()=>z(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function z(){t&&(clearTimeout(t),t=null),s&&(s.close(),s=null)}},73159:(a,b,c)=>{c.d(b,{Ue:()=>k,oT:()=>l});var d=c(26070);let e=d.xq.xai?.clientId,f="https://auth.x.ai",g="/oauth2/authorize",h="/oauth2/token",i="/.well-known/openid-configuration",j="/callback",k=96,l={clientId:e,issuer:f,authEndpointPath:g,tokenEndpointPath:h,discoveryPath:i,authorizeUrl:`${f}${g}`,tokenUrl:`${f}${h}`,discoveryUrl:`${f}${i}`,scope:"openid profile email offline_access grok-cli:access api:access",apiBaseUrl:"https://api.x.ai/v1",redirectUri:`http://127.0.0.1:56121${j}`,loopbackPort:56121,callbackPath:j,pkceVerifierBytes:96,refreshLeadSeconds:300,userAgent:"grok-cli/extremerouter",codeChallengeMethod:"S256"}},92990:(a,b,c)=>{c.d(b,{DI:()=>i,Hp:()=>k,LT:()=>j,MZ:()=>v,Nl:()=>z,Nu:()=>p,OV:()=>h,S6:()=>s,Td:()=>A,Tx:()=>q,WN:()=>t,Ww:()=>C,YT:()=>n,ZL:()=>m,cD:()=>o,f7:()=>y,hF:()=>l,lB:()=>w,t:()=>u,vg:()=>B,w1:()=>x});var d=c(21820),e=c(74129),f=c(26070);function g(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let h={...f.sr.claude},i={...f.sr.codex},j={...e.w3,...f.sr["gemini-cli"]},k={...f.sr.qwen},l={...f.sr.qoder},m={...f.sr.iflow},n={...e.XP,...f.sr.antigravity,loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:g(),pluginType:2})};function o(){return{ideType:9,platform:g(),pluginType:2}}({...f.sr.openai});let p={...f.sr.github},q={...f.sr.kiro},r=/^[a-z]{2}-[a-z]+-\d{1,2}$/;function s(a){if("string"!=typeof a||!r.test(a))throw Error("Invalid region");return a}let t={...f.sr.cursor,tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"}},u={...f.sr["kimi-coding"],clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||f.xq["kimi-coding"]?.clientId},v={...f.sr.kilocode},w={...f.sr.cline},x={...f.sr.clinepass},y={...f.sr.gitlab},z={...f.sr["codebuddy-cn"]},A={...f.sr.kimchi},B={...f.sr.zed,tokenStoragePaths:{linux:"~/.local/share/zed/ (or libsecret keyring)",macos:"macOS Keychain (zed)",windows:"Windows Credential Manager"}},C=3e5}};
@@ -1 +1 @@
1
- "use strict";exports.id=5628,exports.ids=[5628],exports.modules={15628:(a,b,c)=>{c.d(b,{H:()=>k,L:()=>g,getProviderHealth:()=>j,recordHealthSample:()=>i});var d=c(78474);let e=200/3e5;global._healthMonitors||(global._healthMonitors=new Map,global._healthEmitter=new d.EventEmitter,global._healthEmitter.setMaxListeners(100));let f=global._healthMonitors,g=global._healthEmitter,h={enabled:!0,windowMs:3e5};function i(a,{success:b,latencyMs:d,status:k,trafficClass:l="user"},m={}){var n,o,p;let q,r,s={...h,...m?.healthMonitor||{}},t=(n=s.windowMs,q=f.get(a),r=n||h.windowMs,q||(q={provider:a,samples:[],windowMs:r,emitTimer:null,lastSuccessRate:void 0,maxSamples:Math.max(200,Math.ceil(e*r*5)),cachedAggregate:null,cachedAt:0},f.set(a,q)),q);if(t._enabled=s.enabled,!s.enabled){t.emitTimer&&(clearTimeout(t.emitTimer),t.emitTimer=null);return}if("user"!==l)return;let u=Date.now();t.samples.push({ts:u,success:!!b,latencyMs:d||0,status:k||200*!!b,trafficClass:l}),t.cachedAggregate=null;let v=u-t.windowMs;t.samples=t.samples.filter(a=>a.ts>=v),t.samples.length>t.maxSamples&&(t.samples=t.samples.slice(-t.maxSamples)),o=a,(p=t).emitTimer&&clearTimeout(p.emitTimer),p.emitTimer=setTimeout(()=>{if(p.emitTimer=null,!p._enabled)return;let a=j(o);if(!a)return;g.emit("health:update",a);let b=a.successRate,d=p.lastSuccessRate??1;if(null!==b&&b<.7&&d>=.7&&a.total>=5){let e={provider:o,successRate:Math.round(100*b),avgLatencyMs:a.avgLatencyMs,message:`Provider "${o}" health degraded — success rate dropped to ${Math.round(100*b)}% (from ${Math.round(100*d)}%).`};g.emit("health:degraded",{type:"health_degraded",...e}),Promise.all([c.e(9703),c.e(9422),c.e(9903)]).then(c.bind(c,49573)).then(({dispatchAlert:a})=>{try{a("health_degraded",e)}catch(a){console.error("[HEALTH] Alert dispatch failed:",a?.message||a)}}).catch(a=>{console.error("[HEALTH] Alert module load failed:",a?.message||a)})}p.lastSuccessRate=b},500)}function j(a){let b=f.get(a);if(!b)return null;let c=Date.now();if(b.cachedAggregate&&c-b.cachedAt<1e3)return b.cachedAggregate;let d=c-b.windowMs,e=b.samples.filter(a=>a.ts>=d);if(0===e.length)return{provider:a,total:0,successes:0,failures:0,successRate:null,avgLatencyMs:null,p95LatencyMs:null,lastError:null,lastErrorAt:null};let g=e.filter(a=>a.success).length,h=e.length-g,i=e.filter(a=>a.latencyMs>0).map(a=>a.latencyMs),j=i.length>0?Math.round(i.reduce((a,b)=>a+b,0)/i.length):null,k=i.length>0?Math.round(function(a){if(0===a.length)return 0;if(1===a.length)return a[0];let b=.95*(a.length-1),c=Math.floor(b),d=Math.ceil(b),e=b-c;return a[c]*(1-e)+a[d]*e}([...i].sort((a,b)=>a-b))):null,l=[...e].reverse().find(a=>!a.success),m={provider:a,total:e.length,successes:g,failures:h,successRate:g/e.length,avgLatencyMs:j,p95LatencyMs:k,lastError:l?"0"===String(l.status)?"Network error":String(l.status):null,lastErrorAt:l?l.ts:null};return b.cachedAggregate=m,b.cachedAt=c,m}function k(){return[...f.keys()].map(a=>j(a)).filter(Boolean).sort((a,b)=>b.total-a.total)}}};
1
+ "use strict";exports.id=5628,exports.ids=[5628],exports.modules={15628:(a,b,c)=>{c.d(b,{H:()=>m,L:()=>g,getProviderHealth:()=>k,recordHealthSample:()=>j});var d=c(78474);let e=200/3e5;global._healthMonitors||(global._healthMonitors=new Map,global._healthEmitter=new d.EventEmitter,global._healthEmitter.setMaxListeners(100));let f=global._healthMonitors,g=global._healthEmitter,h={enabled:!0,windowMs:3e5};function i(a){return Math.min(2e3,Math.max(200,Math.ceil(e*a*5)))}function j(a,{success:b,latencyMs:d,status:e,trafficClass:l="user"},m={}){var n,o,p;let q,r,s={...h,...m?.healthMonitor||{}},t=(n=s.windowMs,q=f.get(a),r=n||h.windowMs,q?q.windowMs!==r&&(q.windowMs=r,q.maxSamples=i(r),q.cachedAggregate=null):(q={provider:a,samples:[],windowMs:r,emitTimer:null,lastSuccessRate:void 0,lastActivityAt:Date.now(),maxSamples:i(r),cachedAggregate:null,cachedAt:0},f.set(a,q)),q);if(t._enabled=s.enabled,t.lastActivityAt=Date.now(),!s.enabled){t.emitTimer&&(clearTimeout(t.emitTimer),t.emitTimer=null);return}if("user"!==l)return;let u=Date.now();t.samples.push({ts:u,success:!!b,latencyMs:d||0,status:e||200*!!b,trafficClass:l}),t.cachedAggregate=null;let v=u-t.windowMs;t.samples=t.samples.filter(a=>a.ts>=v),t.samples.length>t.maxSamples&&(t.samples=t.samples.slice(-t.maxSamples)),o=a,(p=t).emitTimer&&clearTimeout(p.emitTimer),p.emitTimer=setTimeout(()=>{if(p.emitTimer=null,!p._enabled)return;let a=k(o);if(!a)return;g.emit("health:update",a);let b=a.successRate,d=p.lastSuccessRate??1;if(null!==b&&b<.7&&d>=.7&&a.total>=5){let e={provider:o,successRate:Math.round(100*b),avgLatencyMs:a.avgLatencyMs,message:`Provider "${o}" health degraded — success rate dropped to ${Math.round(100*b)}% (from ${Math.round(100*d)}%).`};g.emit("health:degraded",{type:"health_degraded",...e}),Promise.all([c.e(9703),c.e(9422),c.e(9903)]).then(c.bind(c,49573)).then(({dispatchAlert:a})=>{try{a("health_degraded",e)}catch(a){console.error("[HEALTH] Alert dispatch failed:",a?.message||a)}}).catch(a=>{console.error("[HEALTH] Alert module load failed:",a?.message||a)})}p.lastSuccessRate=b},500)}function k(a){let b=f.get(a);if(!b)return null;let c=Date.now();if(b.cachedAggregate&&c-b.cachedAt<1e3)return b.cachedAggregate;let d=c-b.windowMs,e=b.samples.filter(a=>a.ts>=d);if(0===e.length)return{provider:a,total:0,successes:0,failures:0,successRate:null,avgLatencyMs:null,p95LatencyMs:null,lastError:null,lastErrorAt:null};let g=e.filter(a=>a.success).length,h=e.length-g,i=e.filter(a=>a.latencyMs>0).map(a=>a.latencyMs),j=i.length>0?Math.round(i.reduce((a,b)=>a+b,0)/i.length):null,k=i.length>0?Math.round(function(a){if(0===a.length)return 0;if(1===a.length)return a[0];let b=.95*(a.length-1),c=Math.floor(b),d=Math.ceil(b),e=b-c;return a[c]*(1-e)+a[d]*e}([...i].sort((a,b)=>a-b))):null,l=[...e].reverse().find(a=>!a.success),m={provider:a,total:e.length,successes:g,failures:h,successRate:g/e.length,avgLatencyMs:j,p95LatencyMs:k,lastError:l?"0"===String(l.status)?"Network error":String(l.status):null,lastErrorAt:l?l.ts:null};return b.cachedAggregate=m,b.cachedAt=c,m}let l=0;function m(){return!function(a){if(a-l<6e4)return;l=a;let b=a-6e5;for(let[a,c]of f)(c.lastActivityAt||0)<b&&(c.emitTimer&&clearTimeout(c.emitTimer),f.delete(a))}(Date.now()),[...f.keys()].map(a=>k(a)).filter(Boolean).sort((a,b)=>b.total-a.total)}}};
@@ -1 +1 @@
1
- "use strict";exports.id=5699,exports.ids=[5699],exports.modules={35024:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(26070);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]}},45699:(a,b,c)=>{c.d(b,{Xg:()=>o,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>q,ux:()=>k,OA:()=>l,kt:()=>m,KC:()=>p,SM:()=>i});var d=c(35024),e=c(31630),f=c(26070),g=c(99511);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}function k(a,b){let c=f.vq[a];return c?(0,g.gr)(c.find(a=>a.id===b)):null}function l(a,b){let c=f.vq[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.kind||d?.type||null}function m(a,b){let c=f.vq[a],d=c?.find(a=>a.id===b);if(d?.upstreamModelId){let a=d.upstreamModelId,c=a.match(/\([^()]+\)\s*$/),e=c?.[0]||"";if(e){let d=a.slice(0,c.index).trim(),f="string"==typeof b?b.match(/-(high|medium|low)$/i):null;return d+((f?.[0]?`(${f[0].slice(1).toLowerCase()})`:"")||e)}return a}return"cx"===a&&"string"==typeof b&&b.endsWith(h)?b.slice(0,-h.length):b}let n=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),o=Object.fromEntries(Object.keys(d.xq).map(a=>[a,n[a]||a]));function p(a){let b=o[a]||a;return f.vq[b]||[]}function q(a,b){return(0,g.g5)(f.vq[a]?.find(a=>a.id===b))}}};
1
+ "use strict";exports.id=5699,exports.ids=[5699],exports.modules={35024:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(26070);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]}},45699:(a,b,c)=>{c.d(b,{Xg:()=>o,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>q,ux:()=>k,OA:()=>l,kt:()=>m,KC:()=>p,SM:()=>i});var d=c(35024),e=c(96970),f=c(26070),g=c(99511);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}function k(a,b){let c=f.vq[a];return c?(0,g.gr)(c.find(a=>a.id===b)):null}function l(a,b){let c=f.vq[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.kind||d?.type||null}function m(a,b){let c=f.vq[a],d=c?.find(a=>a.id===b);if(d?.upstreamModelId){let a=d.upstreamModelId,c=a.match(/\([^()]+\)\s*$/),e=c?.[0]||"";if(e){let d=a.slice(0,c.index).trim(),f="string"==typeof b?b.match(/-(high|medium|low)$/i):null;return d+((f?.[0]?`(${f[0].slice(1).toLowerCase()})`:"")||e)}return a}return"cx"===a&&"string"==typeof b&&b.endsWith(h)?b.slice(0,-h.length):b}let n=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),o=Object.fromEntries(Object.keys(d.xq).map(a=>[a,n[a]||a]));function p(a){let b=o[a]||a;return f.vq[b]||[]}function q(a,b){return(0,g.g5)(f.vq[a]?.find(a=>a.id===b))}}};
@@ -1,5 +1,5 @@
1
1
  exports.id=5852,exports.ids=[5852],exports.modules={20602:(a,b,c)=>{let d=c(81950);a.exports=function(a){let b=function(a){let b=function(){let a={},b=Object.keys(d);for(let c=b.length,d=0;d<c;d++)a[b[d]]={distance:-1,parent:null};return a}(),c=[a];for(b[a].distance=0;c.length;){let a=c.pop(),e=Object.keys(d[a]);for(let d=e.length,f=0;f<d;f++){let d=e[f],g=b[d];-1===g.distance&&(g.distance=b[a].distance+1,g.parent=a,c.unshift(d))}}return b}(a),c={},e=Object.keys(b);for(let a=e.length,f=0;f<a;f++){let a=e[f];null!==b[a].parent&&(c[a]=function(a,b){let c=[b[a].parent,a],e=d[b[a].parent][a],f=b[a].parent;for(;b[f].parent;)c.unshift(b[f].parent),e=function(a,b){return function(c){return b(a(c))}}(d[b[f].parent][f],e),f=b[f].parent;return e.conversion=c,e}(a,b))}return c}},33471:(a,b,c)=>{"use strict";let d,e,f,g,h,i,j;c.r(b),c.d(b,{XaiService:()=>bG,decodeIdTokenEmail:()=>bF,discoverEndpoints:()=>bE,validateOAuthEndpoint:()=>bD});var k=c(1708),l=c(76760),m=c(73136),n=c(31421),o=c(51455),p=c(48161),q=c(73024);function r(){return void 0===e&&(e=(()=>{try{return q.statSync("/run/.containerenv"),!0}catch{return!1}})()||(void 0===d&&(d=function(){try{return q.statSync("/.dockerenv"),!0}catch{return!1}}()||function(){try{return q.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}()),d)),e}let s=()=>{if("linux"!==k.platform)return!1;if(p.release().toLowerCase().includes("microsoft"))return!r();try{if(q.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft"))return!r()}catch{}return!!(q.existsSync("/proc/sys/fs/binfmt_misc/WSLInterop")||q.existsSync("/run/WSL"))&&!r()},t=k.env.__IS_WSL_TEST__?s:s();var u=c(57975),v=c(4573);let w=(0,u.promisify)(n.execFile),x=()=>`${k.env.SYSTEMROOT||k.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`,y=async(a,b={})=>{let{powerShellPath:c,...d}=b,e=y.encodeCommand(a);return w(c??x(),[...y.argumentsPrefix,e],{encoding:"utf8",...d})};y.argumentsPrefix=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"],y.encodeCommand=a=>v.Buffer.from(a,"utf16le").toString("base64"),y.escapeArgument=a=>`'${String(a).replaceAll("'","''")}'`;let z=(0,u.promisify)(n.execFile),A=(i="/mnt/",async function(){if(h)return h;let a="/etc/wsl.conf",b=!1;try{await o.access(a,o.constants.F_OK),b=!0}catch{}if(!b)return i;let c=function(a){for(let b of a.split("\n")){if(/^\s*#/.test(b))continue;let a=/^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(b);if(a)return a.groups.mountPoint.trim().replaceAll(/^["']|["']$/g,"")}}(await o.readFile(a,{encoding:"utf8"}));return void 0===c?i:h=(h=c).endsWith("/")?h:`${h}/`}),B=async()=>{let a=await A();return`${a}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},C=t?B:x,D=async()=>f??=(async()=>{try{let a=await C();return await o.access(a,o.constants.X_OK),!0}catch{return!1}})(),E=async()=>{let a=await C(),b=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,{stdout:c}=await y(b,{powerShellPath:a});return c.trim()},F=async a=>{if(/^[a-z]+:\/\//i.test(a))return a;try{let{stdout:b}=await z("wslpath",["-aw",a],{encoding:"utf8"});return b.trim()}catch{return a}};function G(a,b,c){let d=c=>Object.defineProperty(a,b,{value:c,enumerable:!0,writable:!0});return Object.defineProperty(a,b,{configurable:!0,enumerable:!0,get(){let a=c();return d(a),a},set(a){d(a)}}),a}let H=(0,u.promisify)(n.execFile),I={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},J=new Map(Object.entries(I));class K extends Error{}async function L(a=H){let{stdout:b}=await a("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),c=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(b);if(!c)throw new K(`Cannot find Windows browser in stdout: ${JSON.stringify(b)}`);let{id:d}=c.groups,e=d.lastIndexOf("."),f=d.lastIndexOf("-"),g=-1===e?void 0:d.slice(0,e),h=-1===f?void 0:d.slice(0,f);return I[d]??I[g]??I[h]??{name:d,id:d}}let M=(0,u.promisify)(n.execFile);async function N(){if("darwin"!==k.platform)throw Error("macOS only");let{stdout:a}=await M("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),b=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(a),c=b?.groups.id??"com.apple.Safari";return"com.apple.safari"===c?"com.apple.Safari":c}let O=(0,u.promisify)(n.execFile);async function P(a,{humanReadableOutput:b=!0,signal:c}={}){if("darwin"!==k.platform)throw Error("macOS only");let d={};c&&(d.signal=c);let{stdout:e}=await O("osascript",["-e",a,b?[]:["-ss"]],d);return e.trim()}async function Q(a){return P(`tell application "Finder" to set app_path to application file id "${a}" as string
2
- tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}let R=(0,u.promisify)(n.execFile);async function S(){if("darwin"===k.platform){let a=await N();return{name:await Q(a),id:a}}if("linux"===k.platform){let{stdout:a}=await R("xdg-mime",["query","default","x-scheme-handler/http"]),b=a.trim();return{name:b.replace(/.desktop$/,"").replace("-"," ").toLowerCase().replaceAll(/(?:^|\s|-)\S/g,a=>a.toUpperCase()),id:b}}if("win32"===k.platform)return L();throw Error("Only macOS, Linux, and Windows are supported")}let T=!!(k.env.SSH_CONNECTION||k.env.SSH_CLIENT||k.env.SSH_TTY),U=Symbol("fallbackAttempt"),V=l.dirname((0,m.fileURLToPath)("file:///C:/Users/Administrator/Desktop/Projects/ExtremeRouter/node_modules/open/index.js")),W=l.join(V,"xdg-open"),{platform:X,arch:Y}=k,Z=async(a,b)=>{if(0===a.length)return;let c=[];for(let d of a)try{return await b(d)}catch(a){c.push(a)}throw AggregateError(c,"Failed to open in all supported apps")},$=async a=>{let b,c=!0===(a={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...a})[U];if(delete a[U],Array.isArray(a.app))return Z(a.app,b=>$({...a,app:b,[U]:!0}));let{name:d,arguments:e=[]}=a.app??{};if(e=[...e],Array.isArray(d))return Z(d,b=>$({...a,app:{name:b,arguments:e},[U]:!0}));if("browser"===d||"browserPrivate"===d){let b,c={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge","com.apple.safari":"safari"};if(t){let a=await E();b=J.get(a)??{}}else b=await S();if(b.id in c){let f=c[b.id.toLowerCase()];if("browserPrivate"===d){if("safari"===f)throw Error("Safari doesn't support opening in private mode via command line");e.push({chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"}[f])}return $({...a,app:{name:ab[f],arguments:e}})}throw Error(`${b.name} is not supported as a default browser`)}let f=[],g={},h=!1;if(!t||r()||T||d||(h=await D()),"darwin"===X)b="open",a.wait&&f.push("--wait-apps"),a.background&&f.push("--background"),a.newInstance&&f.push("--new"),d&&f.push("-a",d);else if("win32"===X||h){b=await C(),f.push(...y.argumentsPrefix),t||(g.windowsVerbatimArguments=!0),t&&a.target&&(a.target=await F(a.target));let c=["$ProgressPreference = 'SilentlyContinue';","Start"];a.wait&&c.push("-Wait"),d?(c.push(y.escapeArgument(d)),a.target&&e.push(a.target)):a.target&&c.push(y.escapeArgument(a.target)),e.length>0&&c.push("-ArgumentList",(e=e.map(a=>y.escapeArgument(a))).join(",")),a.target=y.encodeCommand(c.join(" ")),a.wait||(g.stdio="ignore")}else{if(d)b=d;else{let a=!1;try{await o.access(W,o.constants.X_OK),a=!0}catch{}b=k.versions.electron??("android"===X||!V||"/"===V||!a)?"xdg-open":W}e.length>0&&f.push(...e),a.wait||(g.stdio="ignore",g.detached=!0)}"darwin"===X&&e.length>0&&f.push("--args",...e),a.target&&f.push(a.target);let i=n.spawn(b,f,g);return a.wait?new Promise((b,c)=>{i.once("error",c),i.once("close",d=>{a.allowNonzeroExitCode||0===d?b(i):c(Error(`Exited with code ${d}`))})}):c?new Promise((a,b)=>{i.once("error",b),i.once("spawn",()=>{i.once("close",c=>{(i.off("error",b),0!==c)?b(Error(`Exited with code ${c}`)):(i.unref(),a(i))})})}):(i.unref(),new Promise((a,b)=>{i.once("error",b),i.once("spawn",()=>{i.off("error",b),a(i)})}))};function _(a){if("string"==typeof a||Array.isArray(a))return a;let{[Y]:b}=a;if(!b)throw Error(`${Y} is not supported`);return b}function aa({[X]:a},{wsl:b}={}){if(b&&t)return _(b);if(!a)throw Error(`${X} is not supported`);return _(a)}let ab={browser:"browser",browserPrivate:"browserPrivate"};G(ab,"chrome",()=>aa({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium","chromium-browser"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}})),G(ab,"brave",()=>aa({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}})),G(ab,"firefox",()=>aa({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"})),G(ab,"edge",()=>aa({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"})),G(ab,"safari",()=>aa({darwin:"Safari"}));let ac=(a,b)=>{if("string"!=typeof a)throw TypeError("Expected a `target`");return $({...b,target:a})};var ad=c(22898),ae=c(13808);c(91747);let af=(a=0)=>b=>`\u001B[${b+a}m`,ag=(a=0)=>b=>`\u001B[${38+a};5;${b}m`,ah=(a=0)=>(b,c,d)=>`\u001B[${38+a};2;${b};${c};${d}m`,ai={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(ai.modifier),[...Object.keys(ai.color),...Object.keys(ai.bgColor)];let aj=function(){let a=new Map;for(let[b,c]of Object.entries(ai)){for(let[b,d]of Object.entries(c))ai[b]={open:`\u001B[${d[0]}m`,close:`\u001B[${d[1]}m`},c[b]=ai[b],a.set(d[0],d[1]);Object.defineProperty(ai,b,{value:c,enumerable:!1})}return Object.defineProperty(ai,"codes",{value:a,enumerable:!1}),ai.color.close="\x1b[39m",ai.bgColor.close="\x1b[49m",ai.color.ansi=af(),ai.color.ansi256=ag(),ai.color.ansi16m=ah(),ai.bgColor.ansi=af(10),ai.bgColor.ansi256=ag(10),ai.bgColor.ansi16m=ah(10),Object.defineProperties(ai,{rgbToAnsi256:{value:(a,b,c)=>a===b&&b===c?a<8?16:a>248?231:Math.round((a-8)/247*24)+232:16+36*Math.round(a/255*5)+6*Math.round(b/255*5)+Math.round(c/255*5),enumerable:!1},hexToRgb:{value(a){let b=/[a-f\d]{6}|[a-f\d]{3}/i.exec(a.toString(16));if(!b)return[0,0,0];let[c]=b;3===c.length&&(c=[...c].map(a=>a+a).join(""));let d=Number.parseInt(c,16);return[d>>16&255,d>>8&255,255&d]},enumerable:!1},hexToAnsi256:{value:a=>ai.rgbToAnsi256(...ai.hexToRgb(a)),enumerable:!1},ansi256ToAnsi:{value(a){let b,c,d;if(a<8)return 30+a;if(a<16)return 90+(a-8);if(a>=232)c=b=((a-232)*10+8)/255,d=b;else{let e=(a-=16)%36;b=Math.floor(a/36)/5,c=Math.floor(e/6)/5,d=e%6/5}let e=2*Math.max(b,c,d);if(0===e)return 30;let f=30+(Math.round(d)<<2|Math.round(c)<<1|Math.round(b));return 2===e&&(f+=60),f},enumerable:!1},rgbToAnsi:{value:(a,b,c)=>ai.ansi256ToAnsi(ai.rgbToAnsi256(a,b,c)),enumerable:!1},hexToAnsi:{value:a=>ai.ansi256ToAnsi(ai.hexToAnsi256(a)),enumerable:!1}}),ai}();var ak=c(7066);function al(a,b=globalThis.Deno?globalThis.Deno.args:k.argv){let c=a.startsWith("-")?"":1===a.length?"-":"--",d=b.indexOf(c+a),e=b.indexOf("--");return -1!==d&&(-1===e||d<e)}let{env:am}=k;function an(a,b={}){var c;return 0!==(c=function(a,{streamIsTTY:b,sniffFlags:c=!0}={}){let d=function(){if("FORCE_COLOR"in am)return"true"===am.FORCE_COLOR?1:"false"===am.FORCE_COLOR?0:0===am.FORCE_COLOR.length?1:Math.min(Number.parseInt(am.FORCE_COLOR,10),3)}();void 0!==d&&(g=d);let e=c?g:d;if(0===e)return 0;if(c){if(al("color=16m")||al("color=full")||al("color=truecolor"))return 3;if(al("color=256"))return 2}if("TF_BUILD"in am&&"AGENT_NAME"in am)return 1;if(a&&!b&&void 0===e)return 0;let f=e||0;if("dumb"===am.TERM)return f;if("win32"===k.platform){let a=p.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in am)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(a=>a in am)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(a=>a in am)||"codeship"===am.CI_NAME?1:f;if("TEAMCITY_VERSION"in am)return+!!/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(am.TEAMCITY_VERSION);if("truecolor"===am.COLORTERM||"xterm-kitty"===am.TERM||"xterm-ghostty"===am.TERM||"wezterm"===am.TERM)return 3;if("TERM_PROGRAM"in am){let a=Number.parseInt((am.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(am.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(am.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(am.TERM)||"COLORTERM"in am?1:f}(a,{streamIsTTY:a&&a.isTTY,...b}))&&{level:c,hasBasic:!0,has256:c>=2,has16m:c>=3}}al("no-color")||al("no-colors")||al("color=false")||al("color=never")?g=0:(al("color")||al("colors")||al("color=true")||al("color=always"))&&(g=1);let{stdout:ao,stderr:ap}={stdout:an({isTTY:ak.isatty(1)}),stderr:an({isTTY:ak.isatty(2)})},aq=Symbol("GENERATOR"),ar=Symbol("STYLER"),as=Symbol("IS_EMPTY"),at=["ansi","ansi","ansi256","ansi16m"],au=Object.create(null);function av(a){let b;return((a,b={})=>{if(b.level&&!(Number.isInteger(b.level)&&b.level>=0&&b.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let c=ao?ao.level:0;a.level=void 0===b.level?c:b.level})(b=(...a)=>a.join(" "),a),Object.setPrototypeOf(b,av.prototype),b}for(let[a,b]of(Object.setPrototypeOf(av.prototype,Function.prototype),Object.entries(aj)))au[a]={get(){let c=az(this,ay(b.open,b.close,this[ar]),this[as]);return Object.defineProperty(this,a,{value:c}),c}};au.visible={get(){let a=az(this,this[ar],!0);return Object.defineProperty(this,"visible",{value:a}),a}};let aw=(a,b,c,...d)=>"rgb"===a?"ansi16m"===b?aj[c].ansi16m(...d):"ansi256"===b?aj[c].ansi256(aj.rgbToAnsi256(...d)):aj[c].ansi(aj.rgbToAnsi(...d)):"hex"===a?aw("rgb",b,c,...aj.hexToRgb(...d)):aj[c][a](...d);for(let a of["rgb","hex","ansi256"])au[a]={get(){let{level:b}=this;return function(...c){return az(this,ay(aw(a,at[b],"color",...c),aj.color.close,this[ar]),this[as])}}},au["bg"+a[0].toUpperCase()+a.slice(1)]={get(){let{level:b}=this;return function(...c){return az(this,ay(aw(a,at[b],"bgColor",...c),aj.bgColor.close,this[ar]),this[as])}}};let ax=Object.defineProperties(()=>{},{...au,level:{enumerable:!0,get(){return this[aq].level},set(a){this[aq].level=a}}}),ay=(a,b,c)=>{let d,e;return void 0===c?(d=a,e=b):(d=c.openAll+a,e=b+c.closeAll),{open:a,close:b,openAll:d,closeAll:e,parent:c}},az=(a,b,c)=>{let d=(...a)=>aA(d,1===a.length?""+a[0]:a.join(" "));return Object.setPrototypeOf(d,ax),d[aq]=a,d[ar]=b,d[as]=c,d},aA=(a,b)=>{if(a.level<=0||!b)return a[as]?"":b;let c=a[ar];if(void 0===c)return b;let{openAll:d,closeAll:e}=c;if(b.includes("\x1b"))for(;void 0!==c;)b=function(a,b,c){let d=a.indexOf(b);if(-1===d)return a;let e=b.length,f=0,g="";do g+=a.slice(f,d)+b+c,f=d+e,d=a.indexOf(b,f);while(-1!==d);return g+a.slice(f)}(b,c.close,c.open),c=c.parent;let f=b.indexOf("\n");return -1!==f&&(b=function(a,b,c,d){let e=0,f="";do{let g="\r"===a[d-1];f+=a.slice(e,g?d-1:d)+b+(g?"\r\n":"\n")+c,e=d+1,d=a.indexOf("\n",e)}while(-1!==d);return f+a.slice(e)}(b,e,d,f)),d+b+e};Object.defineProperties(av.prototype,au);let aB=av();av({level:ap?ap.level:0});let aC=(a,b,c,d)=>{if("length"===c||"prototype"===c||"arguments"===c||"caller"===c)return;let e=Object.getOwnPropertyDescriptor(a,c),f=Object.getOwnPropertyDescriptor(b,c);(aD(e,f)||!d)&&Object.defineProperty(a,c,f)},aD=function(a,b){return void 0===a||a.configurable||a.writable===b.writable&&a.enumerable===b.enumerable&&a.configurable===b.configurable&&(a.writable||a.value===b.value)},aE=(a,b)=>`/* Wrapped ${a}*/
2
+ tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}let R=(0,u.promisify)(n.execFile);async function S(){if("darwin"===k.platform){let a=await N();return{name:await Q(a),id:a}}if("linux"===k.platform){let{stdout:a}=await R("xdg-mime",["query","default","x-scheme-handler/http"]),b=a.trim();return{name:b.replace(/.desktop$/,"").replace("-"," ").toLowerCase().replaceAll(/(?:^|\s|-)\S/g,a=>a.toUpperCase()),id:b}}if("win32"===k.platform)return L();throw Error("Only macOS, Linux, and Windows are supported")}let T=!!(k.env.SSH_CONNECTION||k.env.SSH_CLIENT||k.env.SSH_TTY),U=Symbol("fallbackAttempt"),V=l.dirname((0,m.fileURLToPath)("file:///home/runner/work/ExtremeRouter/ExtremeRouter/node_modules/open/index.js")),W=l.join(V,"xdg-open"),{platform:X,arch:Y}=k,Z=async(a,b)=>{if(0===a.length)return;let c=[];for(let d of a)try{return await b(d)}catch(a){c.push(a)}throw AggregateError(c,"Failed to open in all supported apps")},$=async a=>{let b,c=!0===(a={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...a})[U];if(delete a[U],Array.isArray(a.app))return Z(a.app,b=>$({...a,app:b,[U]:!0}));let{name:d,arguments:e=[]}=a.app??{};if(e=[...e],Array.isArray(d))return Z(d,b=>$({...a,app:{name:b,arguments:e},[U]:!0}));if("browser"===d||"browserPrivate"===d){let b,c={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge","com.apple.safari":"safari"};if(t){let a=await E();b=J.get(a)??{}}else b=await S();if(b.id in c){let f=c[b.id.toLowerCase()];if("browserPrivate"===d){if("safari"===f)throw Error("Safari doesn't support opening in private mode via command line");e.push({chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"}[f])}return $({...a,app:{name:ab[f],arguments:e}})}throw Error(`${b.name} is not supported as a default browser`)}let f=[],g={},h=!1;if(!t||r()||T||d||(h=await D()),"darwin"===X)b="open",a.wait&&f.push("--wait-apps"),a.background&&f.push("--background"),a.newInstance&&f.push("--new"),d&&f.push("-a",d);else if("win32"===X||h){b=await C(),f.push(...y.argumentsPrefix),t||(g.windowsVerbatimArguments=!0),t&&a.target&&(a.target=await F(a.target));let c=["$ProgressPreference = 'SilentlyContinue';","Start"];a.wait&&c.push("-Wait"),d?(c.push(y.escapeArgument(d)),a.target&&e.push(a.target)):a.target&&c.push(y.escapeArgument(a.target)),e.length>0&&c.push("-ArgumentList",(e=e.map(a=>y.escapeArgument(a))).join(",")),a.target=y.encodeCommand(c.join(" ")),a.wait||(g.stdio="ignore")}else{if(d)b=d;else{let a=!1;try{await o.access(W,o.constants.X_OK),a=!0}catch{}b=k.versions.electron??("android"===X||!V||"/"===V||!a)?"xdg-open":W}e.length>0&&f.push(...e),a.wait||(g.stdio="ignore",g.detached=!0)}"darwin"===X&&e.length>0&&f.push("--args",...e),a.target&&f.push(a.target);let i=n.spawn(b,f,g);return a.wait?new Promise((b,c)=>{i.once("error",c),i.once("close",d=>{a.allowNonzeroExitCode||0===d?b(i):c(Error(`Exited with code ${d}`))})}):c?new Promise((a,b)=>{i.once("error",b),i.once("spawn",()=>{i.once("close",c=>{(i.off("error",b),0!==c)?b(Error(`Exited with code ${c}`)):(i.unref(),a(i))})})}):(i.unref(),new Promise((a,b)=>{i.once("error",b),i.once("spawn",()=>{i.off("error",b),a(i)})}))};function _(a){if("string"==typeof a||Array.isArray(a))return a;let{[Y]:b}=a;if(!b)throw Error(`${Y} is not supported`);return b}function aa({[X]:a},{wsl:b}={}){if(b&&t)return _(b);if(!a)throw Error(`${X} is not supported`);return _(a)}let ab={browser:"browser",browserPrivate:"browserPrivate"};G(ab,"chrome",()=>aa({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium","chromium-browser"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}})),G(ab,"brave",()=>aa({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}})),G(ab,"firefox",()=>aa({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"})),G(ab,"edge",()=>aa({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"})),G(ab,"safari",()=>aa({darwin:"Safari"}));let ac=(a,b)=>{if("string"!=typeof a)throw TypeError("Expected a `target`");return $({...b,target:a})};var ad=c(22898),ae=c(13808);c(91747);let af=(a=0)=>b=>`\u001B[${b+a}m`,ag=(a=0)=>b=>`\u001B[${38+a};5;${b}m`,ah=(a=0)=>(b,c,d)=>`\u001B[${38+a};2;${b};${c};${d}m`,ai={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(ai.modifier),[...Object.keys(ai.color),...Object.keys(ai.bgColor)];let aj=function(){let a=new Map;for(let[b,c]of Object.entries(ai)){for(let[b,d]of Object.entries(c))ai[b]={open:`\u001B[${d[0]}m`,close:`\u001B[${d[1]}m`},c[b]=ai[b],a.set(d[0],d[1]);Object.defineProperty(ai,b,{value:c,enumerable:!1})}return Object.defineProperty(ai,"codes",{value:a,enumerable:!1}),ai.color.close="\x1b[39m",ai.bgColor.close="\x1b[49m",ai.color.ansi=af(),ai.color.ansi256=ag(),ai.color.ansi16m=ah(),ai.bgColor.ansi=af(10),ai.bgColor.ansi256=ag(10),ai.bgColor.ansi16m=ah(10),Object.defineProperties(ai,{rgbToAnsi256:{value:(a,b,c)=>a===b&&b===c?a<8?16:a>248?231:Math.round((a-8)/247*24)+232:16+36*Math.round(a/255*5)+6*Math.round(b/255*5)+Math.round(c/255*5),enumerable:!1},hexToRgb:{value(a){let b=/[a-f\d]{6}|[a-f\d]{3}/i.exec(a.toString(16));if(!b)return[0,0,0];let[c]=b;3===c.length&&(c=[...c].map(a=>a+a).join(""));let d=Number.parseInt(c,16);return[d>>16&255,d>>8&255,255&d]},enumerable:!1},hexToAnsi256:{value:a=>ai.rgbToAnsi256(...ai.hexToRgb(a)),enumerable:!1},ansi256ToAnsi:{value(a){let b,c,d;if(a<8)return 30+a;if(a<16)return 90+(a-8);if(a>=232)c=b=((a-232)*10+8)/255,d=b;else{let e=(a-=16)%36;b=Math.floor(a/36)/5,c=Math.floor(e/6)/5,d=e%6/5}let e=2*Math.max(b,c,d);if(0===e)return 30;let f=30+(Math.round(d)<<2|Math.round(c)<<1|Math.round(b));return 2===e&&(f+=60),f},enumerable:!1},rgbToAnsi:{value:(a,b,c)=>ai.ansi256ToAnsi(ai.rgbToAnsi256(a,b,c)),enumerable:!1},hexToAnsi:{value:a=>ai.ansi256ToAnsi(ai.hexToAnsi256(a)),enumerable:!1}}),ai}();var ak=c(7066);function al(a,b=globalThis.Deno?globalThis.Deno.args:k.argv){let c=a.startsWith("-")?"":1===a.length?"-":"--",d=b.indexOf(c+a),e=b.indexOf("--");return -1!==d&&(-1===e||d<e)}let{env:am}=k;function an(a,b={}){var c;return 0!==(c=function(a,{streamIsTTY:b,sniffFlags:c=!0}={}){let d=function(){if("FORCE_COLOR"in am)return"true"===am.FORCE_COLOR?1:"false"===am.FORCE_COLOR?0:0===am.FORCE_COLOR.length?1:Math.min(Number.parseInt(am.FORCE_COLOR,10),3)}();void 0!==d&&(g=d);let e=c?g:d;if(0===e)return 0;if(c){if(al("color=16m")||al("color=full")||al("color=truecolor"))return 3;if(al("color=256"))return 2}if("TF_BUILD"in am&&"AGENT_NAME"in am)return 1;if(a&&!b&&void 0===e)return 0;let f=e||0;if("dumb"===am.TERM)return f;if("win32"===k.platform){let a=p.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in am)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(a=>a in am)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(a=>a in am)||"codeship"===am.CI_NAME?1:f;if("TEAMCITY_VERSION"in am)return+!!/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(am.TEAMCITY_VERSION);if("truecolor"===am.COLORTERM||"xterm-kitty"===am.TERM||"xterm-ghostty"===am.TERM||"wezterm"===am.TERM)return 3;if("TERM_PROGRAM"in am){let a=Number.parseInt((am.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(am.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(am.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(am.TERM)||"COLORTERM"in am?1:f}(a,{streamIsTTY:a&&a.isTTY,...b}))&&{level:c,hasBasic:!0,has256:c>=2,has16m:c>=3}}al("no-color")||al("no-colors")||al("color=false")||al("color=never")?g=0:(al("color")||al("colors")||al("color=true")||al("color=always"))&&(g=1);let{stdout:ao,stderr:ap}={stdout:an({isTTY:ak.isatty(1)}),stderr:an({isTTY:ak.isatty(2)})},aq=Symbol("GENERATOR"),ar=Symbol("STYLER"),as=Symbol("IS_EMPTY"),at=["ansi","ansi","ansi256","ansi16m"],au=Object.create(null);function av(a){let b;return((a,b={})=>{if(b.level&&!(Number.isInteger(b.level)&&b.level>=0&&b.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let c=ao?ao.level:0;a.level=void 0===b.level?c:b.level})(b=(...a)=>a.join(" "),a),Object.setPrototypeOf(b,av.prototype),b}for(let[a,b]of(Object.setPrototypeOf(av.prototype,Function.prototype),Object.entries(aj)))au[a]={get(){let c=az(this,ay(b.open,b.close,this[ar]),this[as]);return Object.defineProperty(this,a,{value:c}),c}};au.visible={get(){let a=az(this,this[ar],!0);return Object.defineProperty(this,"visible",{value:a}),a}};let aw=(a,b,c,...d)=>"rgb"===a?"ansi16m"===b?aj[c].ansi16m(...d):"ansi256"===b?aj[c].ansi256(aj.rgbToAnsi256(...d)):aj[c].ansi(aj.rgbToAnsi(...d)):"hex"===a?aw("rgb",b,c,...aj.hexToRgb(...d)):aj[c][a](...d);for(let a of["rgb","hex","ansi256"])au[a]={get(){let{level:b}=this;return function(...c){return az(this,ay(aw(a,at[b],"color",...c),aj.color.close,this[ar]),this[as])}}},au["bg"+a[0].toUpperCase()+a.slice(1)]={get(){let{level:b}=this;return function(...c){return az(this,ay(aw(a,at[b],"bgColor",...c),aj.bgColor.close,this[ar]),this[as])}}};let ax=Object.defineProperties(()=>{},{...au,level:{enumerable:!0,get(){return this[aq].level},set(a){this[aq].level=a}}}),ay=(a,b,c)=>{let d,e;return void 0===c?(d=a,e=b):(d=c.openAll+a,e=b+c.closeAll),{open:a,close:b,openAll:d,closeAll:e,parent:c}},az=(a,b,c)=>{let d=(...a)=>aA(d,1===a.length?""+a[0]:a.join(" "));return Object.setPrototypeOf(d,ax),d[aq]=a,d[ar]=b,d[as]=c,d},aA=(a,b)=>{if(a.level<=0||!b)return a[as]?"":b;let c=a[ar];if(void 0===c)return b;let{openAll:d,closeAll:e}=c;if(b.includes("\x1b"))for(;void 0!==c;)b=function(a,b,c){let d=a.indexOf(b);if(-1===d)return a;let e=b.length,f=0,g="";do g+=a.slice(f,d)+b+c,f=d+e,d=a.indexOf(b,f);while(-1!==d);return g+a.slice(f)}(b,c.close,c.open),c=c.parent;let f=b.indexOf("\n");return -1!==f&&(b=function(a,b,c,d){let e=0,f="";do{let g="\r"===a[d-1];f+=a.slice(e,g?d-1:d)+b+(g?"\r\n":"\n")+c,e=d+1,d=a.indexOf("\n",e)}while(-1!==d);return f+a.slice(e)}(b,e,d,f)),d+b+e};Object.defineProperties(av.prototype,au);let aB=av();av({level:ap?ap.level:0});let aC=(a,b,c,d)=>{if("length"===c||"prototype"===c||"arguments"===c||"caller"===c)return;let e=Object.getOwnPropertyDescriptor(a,c),f=Object.getOwnPropertyDescriptor(b,c);(aD(e,f)||!d)&&Object.defineProperty(a,c,f)},aD=function(a,b){return void 0===a||a.configurable||a.writable===b.writable&&a.enumerable===b.enumerable&&a.configurable===b.configurable&&(a.writable||a.value===b.value)},aE=(a,b)=>`/* Wrapped ${a}*/
3
3
  ${b}`,aF=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),aG=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),aH=new WeakMap,aI=(a,b={})=>{let c;if("function"!=typeof a)throw TypeError("Expected a function");let d=0,e=a.displayName||a.name||"<anonymous>",f=function(...g){if(aH.set(f,++d),1===d)c=a.apply(this,g),a=void 0;else if(!0===b.throw)throw Error(`Function \`${e}\` can only be called once`);return c};return!function(a,b,{ignoreNonConfigurable:c=!1}={}){let d,{name:e}=a;for(let d of Reflect.ownKeys(b))aC(a,b,d,c);(d=Object.getPrototypeOf(b))!==Object.getPrototypeOf(a)&&Object.setPrototypeOf(a,d),((a,b,c)=>{let d=""===c?"":`with ${c.trim()}() `,e=aE.bind(null,d,b.toString());Object.defineProperty(e,"name",aG);let{writable:f,enumerable:g,configurable:h}=aF;Object.defineProperty(a,"toString",{value:e,writable:f,enumerable:g,configurable:h})})(a,b,e)}(f,a),aH.set(f,d),f};aI.callCount=a=>{if(!aH.has(a))throw Error(`The given function \`${a.name}\` is not wrapped by the \`onetime\` package`);return aH.get(a)};let aJ=[];aJ.push("SIGHUP","SIGINT","SIGTERM"),"win32"!==process.platform&&aJ.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT"),"linux"===process.platform&&aJ.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");let aK=a=>!!a&&"object"==typeof a&&"function"==typeof a.removeListener&&"function"==typeof a.emit&&"function"==typeof a.reallyExit&&"function"==typeof a.listeners&&"function"==typeof a.kill&&"number"==typeof a.pid&&"function"==typeof a.on,aL=Symbol.for("signal-exit emitter"),aM=globalThis,aN=Object.defineProperty.bind(Object);class aO{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(aM[aL])return aM[aL];aN(aM,aL,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(a,b){this.listeners[a].push(b)}removeListener(a,b){let c=this.listeners[a],d=c.indexOf(b);-1!==d&&(0===d&&1===c.length?c.length=0:c.splice(d,1))}emit(a,b,c){if(this.emitted[a])return!1;this.emitted[a]=!0;let d=!1;for(let e of this.listeners[a])d=!0===e(b,c)||d;return"exit"===a&&(d=this.emit("afterExit",b,c)||d),d}}class aP{}class aQ extends aP{onExit(){return()=>{}}load(){}unload(){}}class aR extends aP{#a="win32"===aS.platform?"SIGINT":"SIGHUP";#b=new aO;#c;#d;#e;#f={};#g=!1;constructor(a){for(const b of(super(),this.#c=a,this.#f={},aJ))this.#f[b]=()=>{let c=this.#c.listeners(b),{count:d}=this.#b;if("object"==typeof a.__signal_exit_emitter__&&"number"==typeof a.__signal_exit_emitter__.count&&(d+=a.__signal_exit_emitter__.count),c.length===d){this.unload();let c=this.#b.emit("exit",null,b),d="SIGHUP"===b?this.#a:b;c||a.kill(a.pid,d)}};this.#e=a.reallyExit,this.#d=a.emit}onExit(a,b){if(!aK(this.#c))return()=>{};!1===this.#g&&this.load();let c=b?.alwaysLast?"afterExit":"exit";return this.#b.on(c,a),()=>{this.#b.removeListener(c,a),0===this.#b.listeners.exit.length&&0===this.#b.listeners.afterExit.length&&this.unload()}}load(){if(!this.#g){for(let a of(this.#g=!0,this.#b.count+=1,aJ))try{let b=this.#f[a];b&&this.#c.on(a,b)}catch(a){}this.#c.emit=(a,...b)=>this.#h(a,...b),this.#c.reallyExit=a=>this.#i(a)}}unload(){this.#g&&(this.#g=!1,aJ.forEach(a=>{let b=this.#f[a];if(!b)throw Error("Listener not defined for signal: "+a);try{this.#c.removeListener(a,b)}catch(a){}}),this.#c.emit=this.#d,this.#c.reallyExit=this.#e,this.#b.count-=1)}#i(a){return aK(this.#c)?(this.#c.exitCode=a||0,this.#b.emit("exit",this.#c.exitCode,null),this.#e.call(this.#c,this.#c.exitCode)):0}#h(a,...b){let c=this.#d;if(!("exit"===a&&aK(this.#c)))return c.call(this.#c,a,...b);{"number"==typeof b[0]&&(this.#c.exitCode=b[0]);let d=c.call(this.#c,a,...b);return this.#b.emit("exit",this.#c.exitCode,null),d}}}let aS=globalThis.process,{onExit:aT,load:aU,unload:aV}=(j=aK(aS)?new aR(aS):new aQ,{onExit:(a,b)=>j.onExit(a,b),load:()=>j.load(),unload:()=>j.unload()}),aW=k.stderr.isTTY?k.stderr:k.stdout.isTTY?k.stdout:void 0,aX=aW?aI(()=>{aT(()=>{aW.write("\x1b[?25h")},{alwaysLast:!0})}):()=>{},aY=!1,aZ={};aZ.show=(a=k.stderr)=>{a.isTTY&&(aY=!1,a.write("\x1b[?25h"))},aZ.hide=(a=k.stderr)=>{a.isTTY&&(aX(),aY=!0,a.write("\x1b[?25l"))},aZ.toggle=(a,b)=>{void 0!==a&&(aY=a),aY?aZ.show(b):aZ.hide(b)};let a$=JSON.parse('{"dots":{"interval":80,"frames":["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"]},"dots2":{"interval":80,"frames":["⣾","⣽","⣻","⢿","⡿","⣟","⣯","⣷"]},"dots3":{"interval":80,"frames":["⠋","⠙","⠚","⠞","⠖","⠦","⠴","⠲","⠳","⠓"]},"dots4":{"interval":80,"frames":["⠄","⠆","⠇","⠋","⠙","⠸","⠰","⠠","⠰","⠸","⠙","⠋","⠇","⠆"]},"dots5":{"interval":80,"frames":["⠋","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋"]},"dots6":{"interval":80,"frames":["⠁","⠉","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠤","⠄","⠄","⠤","⠴","⠲","⠒","⠂","⠂","⠒","⠚","⠙","⠉","⠁"]},"dots7":{"interval":80,"frames":["⠈","⠉","⠋","⠓","⠒","⠐","⠐","⠒","⠖","⠦","⠤","⠠","⠠","⠤","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋","⠉","⠈"]},"dots8":{"interval":80,"frames":["⠁","⠁","⠉","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠤","⠄","⠄","⠤","⠠","⠠","⠤","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋","⠉","⠈","⠈"]},"dots9":{"interval":80,"frames":["⢹","⢺","⢼","⣸","⣇","⡧","⡗","⡏"]},"dots10":{"interval":80,"frames":["⢄","⢂","⢁","⡁","⡈","⡐","⡠"]},"dots11":{"interval":100,"frames":["⠁","⠂","⠄","⡀","⢀","⠠","⠐","⠈"]},"dots12":{"interval":80,"frames":["⢀⠀","⡀⠀","⠄⠀","⢂⠀","⡂⠀","⠅⠀","⢃⠀","⡃⠀","⠍⠀","⢋⠀","⡋⠀","⠍⠁","⢋⠁","⡋⠁","⠍⠉","⠋⠉","⠋⠉","⠉⠙","⠉⠙","⠉⠩","⠈⢙","⠈⡙","⢈⠩","⡀⢙","⠄⡙","⢂⠩","⡂⢘","⠅⡘","⢃⠨","⡃⢐","⠍⡐","⢋⠠","⡋⢀","⠍⡁","⢋⠁","⡋⠁","⠍⠉","⠋⠉","⠋⠉","⠉⠙","⠉⠙","⠉⠩","⠈⢙","⠈⡙","⠈⠩","⠀⢙","⠀⡙","⠀⠩","⠀⢘","⠀⡘","⠀⠨","⠀⢐","⠀⡐","⠀⠠","⠀⢀","⠀⡀"]},"dots13":{"interval":80,"frames":["⣼","⣹","⢻","⠿","⡟","⣏","⣧","⣶"]},"dots14":{"interval":80,"frames":["⠉⠉","⠈⠙","⠀⠹","⠀⢸","⠀⣰","⢀⣠","⣀⣀","⣄⡀","⣆⠀","⡇⠀","⠏⠀","⠋⠁"]},"dots8Bit":{"interval":80,"frames":["⠀","⠁","⠂","⠃","⠄","⠅","⠆","⠇","⡀","⡁","⡂","⡃","⡄","⡅","⡆","⡇","⠈","⠉","⠊","⠋","⠌","⠍","⠎","⠏","⡈","⡉","⡊","⡋","⡌","⡍","⡎","⡏","⠐","⠑","⠒","⠓","⠔","⠕","⠖","⠗","⡐","⡑","⡒","⡓","⡔","⡕","⡖","⡗","⠘","⠙","⠚","⠛","⠜","⠝","⠞","⠟","⡘","⡙","⡚","⡛","⡜","⡝","⡞","⡟","⠠","⠡","⠢","⠣","⠤","⠥","⠦","⠧","⡠","⡡","⡢","⡣","⡤","⡥","⡦","⡧","⠨","⠩","⠪","⠫","⠬","⠭","⠮","⠯","⡨","⡩","⡪","⡫","⡬","⡭","⡮","⡯","⠰","⠱","⠲","⠳","⠴","⠵","⠶","⠷","⡰","⡱","⡲","⡳","⡴","⡵","⡶","⡷","⠸","⠹","⠺","⠻","⠼","⠽","⠾","⠿","⡸","⡹","⡺","⡻","⡼","⡽","⡾","⡿","⢀","⢁","⢂","⢃","⢄","⢅","⢆","⢇","⣀","⣁","⣂","⣃","⣄","⣅","⣆","⣇","⢈","⢉","⢊","⢋","⢌","⢍","⢎","⢏","⣈","⣉","⣊","⣋","⣌","⣍","⣎","⣏","⢐","⢑","⢒","⢓","⢔","⢕","⢖","⢗","⣐","⣑","⣒","⣓","⣔","⣕","⣖","⣗","⢘","⢙","⢚","⢛","⢜","⢝","⢞","⢟","⣘","⣙","⣚","⣛","⣜","⣝","⣞","⣟","⢠","⢡","⢢","⢣","⢤","⢥","⢦","⢧","⣠","⣡","⣢","⣣","⣤","⣥","⣦","⣧","⢨","⢩","⢪","⢫","⢬","⢭","⢮","⢯","⣨","⣩","⣪","⣫","⣬","⣭","⣮","⣯","⢰","⢱","⢲","⢳","⢴","⢵","⢶","⢷","⣰","⣱","⣲","⣳","⣴","⣵","⣶","⣷","⢸","⢹","⢺","⢻","⢼","⢽","⢾","⢿","⣸","⣹","⣺","⣻","⣼","⣽","⣾","⣿"]},"dotsCircle":{"interval":80,"frames":["⢎ ","⠎⠁","⠊⠑","⠈⠱"," ⡱","⢀⡰","⢄⡠","⢆⡀"]},"sand":{"interval":80,"frames":["⠁","⠂","⠄","⡀","⡈","⡐","⡠","⣀","⣁","⣂","⣄","⣌","⣔","⣤","⣥","⣦","⣮","⣶","⣷","⣿","⡿","⠿","⢟","⠟","⡛","⠛","⠫","⢋","⠋","⠍","⡉","⠉","⠑","⠡","⢁"]},"line":{"interval":130,"frames":["-","\\\\","|","/"]},"line2":{"interval":100,"frames":["⠂","-","–","—","–","-"]},"rollingLine":{"interval":80,"frames":["/ "," - "," \\\\ "," |"," |"," \\\\ "," - ","/ "]},"pipe":{"interval":100,"frames":["┤","┘","┴","└","├","┌","┬","┐"]},"simpleDots":{"interval":400,"frames":[". ",".. ","..."," "]},"simpleDotsScrolling":{"interval":200,"frames":[". ",".. ","..."," .."," ."," "]},"star":{"interval":70,"frames":["✶","✸","✹","✺","✹","✷"]},"star2":{"interval":80,"frames":["+","x","*"]},"flip":{"interval":70,"frames":["_","_","_","-","`","`","\'","\xb4","-","_","_","_"]},"hamburger":{"interval":100,"frames":["☱","☲","☴"]},"growVertical":{"interval":120,"frames":["▁","▃","▄","▅","▆","▇","▆","▅","▄","▃"]},"growHorizontal":{"interval":120,"frames":["▏","▎","▍","▌","▋","▊","▉","▊","▋","▌","▍","▎"]},"balloon":{"interval":140,"frames":[" ",".","o","O","@","*"," "]},"balloon2":{"interval":120,"frames":[".","o","O","\xb0","O","o","."]},"noise":{"interval":100,"frames":["▓","▒","░"]},"bounce":{"interval":120,"frames":["⠁","⠂","⠄","⠂"]},"boxBounce":{"interval":120,"frames":["▖","▘","▝","▗"]},"boxBounce2":{"interval":100,"frames":["▌","▀","▐","▄"]},"triangle":{"interval":50,"frames":["◢","◣","◤","◥"]},"binary":{"interval":80,"frames":["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},"arc":{"interval":100,"frames":["◜","◠","◝","◞","◡","◟"]},"circle":{"interval":120,"frames":["◡","⊙","◠"]},"squareCorners":{"interval":180,"frames":["◰","◳","◲","◱"]},"circleQuarters":{"interval":120,"frames":["◴","◷","◶","◵"]},"circleHalves":{"interval":50,"frames":["◐","◓","◑","◒"]},"squish":{"interval":100,"frames":["╫","╪"]},"toggle":{"interval":250,"frames":["⊶","⊷"]},"toggle2":{"interval":80,"frames":["▫","▪"]},"toggle3":{"interval":120,"frames":["□","■"]},"toggle4":{"interval":100,"frames":["■","□","▪","▫"]},"toggle5":{"interval":100,"frames":["▮","▯"]},"toggle6":{"interval":300,"frames":["ဝ","၀"]},"toggle7":{"interval":80,"frames":["⦾","⦿"]},"toggle8":{"interval":100,"frames":["◍","◌"]},"toggle9":{"interval":100,"frames":["◉","◎"]},"toggle10":{"interval":100,"frames":["㊂","㊀","㊁"]},"toggle11":{"interval":50,"frames":["⧇","⧆"]},"toggle12":{"interval":120,"frames":["☗","☖"]},"toggle13":{"interval":80,"frames":["=","*","-"]},"arrow":{"interval":100,"frames":["←","↖","↑","↗","→","↘","↓","↙"]},"arrow2":{"interval":80,"frames":["⬆️ ","↗️ ","➡️ ","↘️ ","⬇️ ","↙️ ","⬅️ ","↖️ "]},"arrow3":{"interval":120,"frames":["▹▹▹▹▹","▸▹▹▹▹","▹▸▹▹▹","▹▹▸▹▹","▹▹▹▸▹","▹▹▹▹▸"]},"bouncingBar":{"interval":80,"frames":["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},"bouncingBall":{"interval":80,"frames":["( ● )","( ● )","( ● )","( ● )","( ●)","( ● )","( ● )","( ● )","( ● )","(● )"]},"smiley":{"interval":200,"frames":["\uD83D\uDE04 ","\uD83D\uDE1D "]},"monkey":{"interval":300,"frames":["\uD83D\uDE48 ","\uD83D\uDE48 ","\uD83D\uDE49 ","\uD83D\uDE4A "]},"hearts":{"interval":100,"frames":["\uD83D\uDC9B ","\uD83D\uDC99 ","\uD83D\uDC9C ","\uD83D\uDC9A ","\uD83D\uDC97 "]},"clock":{"interval":100,"frames":["\uD83D\uDD5B ","\uD83D\uDD50 ","\uD83D\uDD51 ","\uD83D\uDD52 ","\uD83D\uDD53 ","\uD83D\uDD54 ","\uD83D\uDD55 ","\uD83D\uDD56 ","\uD83D\uDD57 ","\uD83D\uDD58 ","\uD83D\uDD59 ","\uD83D\uDD5A "]},"earth":{"interval":180,"frames":["\uD83C\uDF0D ","\uD83C\uDF0E ","\uD83C\uDF0F "]},"material":{"interval":17,"frames":["█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁","███████▁▁▁▁▁▁▁▁▁▁▁▁▁","████████▁▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","██████████▁▁▁▁▁▁▁▁▁▁","███████████▁▁▁▁▁▁▁▁▁","█████████████▁▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁▁██████████████▁▁▁▁","▁▁▁██████████████▁▁▁","▁▁▁▁█████████████▁▁▁","▁▁▁▁██████████████▁▁","▁▁▁▁██████████████▁▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁▁██████████████","▁▁▁▁▁▁██████████████","▁▁▁▁▁▁▁█████████████","▁▁▁▁▁▁▁█████████████","▁▁▁▁▁▁▁▁████████████","▁▁▁▁▁▁▁▁████████████","▁▁▁▁▁▁▁▁▁███████████","▁▁▁▁▁▁▁▁▁███████████","▁▁▁▁▁▁▁▁▁▁██████████","▁▁▁▁▁▁▁▁▁▁██████████","▁▁▁▁▁▁▁▁▁▁▁▁████████","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","██████▁▁▁▁▁▁▁▁▁▁▁▁▁█","████████▁▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","███████████▁▁▁▁▁▁▁▁▁","████████████▁▁▁▁▁▁▁▁","████████████▁▁▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁▁▁█████████████▁▁▁▁","▁▁▁▁▁████████████▁▁▁","▁▁▁▁▁████████████▁▁▁","▁▁▁▁▁▁███████████▁▁▁","▁▁▁▁▁▁▁▁█████████▁▁▁","▁▁▁▁▁▁▁▁█████████▁▁▁","▁▁▁▁▁▁▁▁▁█████████▁▁","▁▁▁▁▁▁▁▁▁█████████▁▁","▁▁▁▁▁▁▁▁▁▁█████████▁","▁▁▁▁▁▁▁▁▁▁▁████████▁","▁▁▁▁▁▁▁▁▁▁▁████████▁","▁▁▁▁▁▁▁▁▁▁▁▁███████▁","▁▁▁▁▁▁▁▁▁▁▁▁███████▁","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁"]},"moon":{"interval":80,"frames":["\uD83C\uDF11 ","\uD83C\uDF12 ","\uD83C\uDF13 ","\uD83C\uDF14 ","\uD83C\uDF15 ","\uD83C\uDF16 ","\uD83C\uDF17 ","\uD83C\uDF18 "]},"runner":{"interval":140,"frames":["\uD83D\uDEB6 ","\uD83C\uDFC3 "]},"pong":{"interval":80,"frames":["▐⠂ ▌","▐⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂▌","▐ ⠠▌","▐ ⡀▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐⠠ ▌"]},"shark":{"interval":120,"frames":["▐|\\\\____________▌","▐_|\\\\___________▌","▐__|\\\\__________▌","▐___|\\\\_________▌","▐____|\\\\________▌","▐_____|\\\\_______▌","▐______|\\\\______▌","▐_______|\\\\_____▌","▐________|\\\\____▌","▐_________|\\\\___▌","▐__________|\\\\__▌","▐___________|\\\\_▌","▐____________|\\\\▌","▐____________/|▌","▐___________/|_▌","▐__________/|__▌","▐_________/|___▌","▐________/|____▌","▐_______/|_____▌","▐______/|______▌","▐_____/|_______▌","▐____/|________▌","▐___/|_________▌","▐__/|__________▌","▐_/|___________▌","▐/|____________▌"]},"dqpb":{"interval":100,"frames":["d","q","p","b"]},"weather":{"interval":100,"frames":["☀️ ","☀️ ","☀️ ","\uD83C\uDF24 ","⛅️ ","\uD83C\uDF25 ","☁️ ","\uD83C\uDF27 ","\uD83C\uDF28 ","\uD83C\uDF27 ","\uD83C\uDF28 ","\uD83C\uDF27 ","\uD83C\uDF28 ","⛈ ","\uD83C\uDF28 ","\uD83C\uDF27 ","\uD83C\uDF28 ","☁️ ","\uD83C\uDF25 ","⛅️ ","\uD83C\uDF24 ","☀️ ","☀️ "]},"christmas":{"interval":400,"frames":["\uD83C\uDF32","\uD83C\uDF84"]},"grenade":{"interval":80,"frames":["، ","′ "," \xb4 "," ‾ "," ⸌"," ⸊"," |"," ⁎"," ⁕"," ෴ "," ⁓"," "," "," "]},"point":{"interval":125,"frames":["∙∙∙","●∙∙","∙●∙","∙∙●","∙∙∙"]},"layer":{"interval":150,"frames":["-","=","≡"]},"betaWave":{"interval":80,"frames":["ρββββββ","βρβββββ","ββρββββ","βββρβββ","ββββρββ","βββββρβ","ββββββρ"]},"fingerDance":{"interval":160,"frames":["\uD83E\uDD18 ","\uD83E\uDD1F ","\uD83D\uDD96 ","✋ ","\uD83E\uDD1A ","\uD83D\uDC46 "]},"fistBump":{"interval":80,"frames":["\uD83E\uDD1C    \uD83E\uDD1B ","\uD83E\uDD1C    \uD83E\uDD1B ","\uD83E\uDD1C    \uD83E\uDD1B "," \uD83E\uDD1C  \uD83E\uDD1B  ","  \uD83E\uDD1C\uD83E\uDD1B   "," \uD83E\uDD1C✨\uD83E\uDD1B   ","\uD83E\uDD1C ✨ \uD83E\uDD1B  "]},"soccerHeader":{"interval":80,"frames":[" \uD83E\uDDD1⚽️ \uD83E\uDDD1 ","\uD83E\uDDD1 ⚽️ \uD83E\uDDD1 ","\uD83E\uDDD1 ⚽️ \uD83E\uDDD1 ","\uD83E\uDDD1 ⚽️ \uD83E\uDDD1 ","\uD83E\uDDD1 ⚽️ \uD83E\uDDD1 ","\uD83E\uDDD1 ⚽️ \uD83E\uDDD1 ","\uD83E\uDDD1 ⚽️\uD83E\uDDD1 ","\uD83E\uDDD1 ⚽️ \uD83E\uDDD1 ","\uD83E\uDDD1 ⚽️ \uD83E\uDDD1 ","\uD83E\uDDD1 ⚽️ \uD83E\uDDD1 ","\uD83E\uDDD1 ⚽️ \uD83E\uDDD1 ","\uD83E\uDDD1 ⚽️ \uD83E\uDDD1 "]},"mindblown":{"interval":160,"frames":["\uD83D\uDE10 ","\uD83D\uDE10 ","\uD83D\uDE2E ","\uD83D\uDE2E ","\uD83D\uDE26 ","\uD83D\uDE26 ","\uD83D\uDE27 ","\uD83D\uDE27 ","\uD83E\uDD2F ","\uD83D\uDCA5 ","✨ ","  ","  ","  "]},"speaker":{"interval":160,"frames":["\uD83D\uDD08 ","\uD83D\uDD09 ","\uD83D\uDD0A ","\uD83D\uDD09 "]},"orangePulse":{"interval":100,"frames":["\uD83D\uDD38 ","\uD83D\uDD36 ","\uD83D\uDFE0 ","\uD83D\uDFE0 ","\uD83D\uDD36 "]},"bluePulse":{"interval":100,"frames":["\uD83D\uDD39 ","\uD83D\uDD37 ","\uD83D\uDD35 ","\uD83D\uDD35 ","\uD83D\uDD37 "]},"orangeBluePulse":{"interval":100,"frames":["\uD83D\uDD38 ","\uD83D\uDD36 ","\uD83D\uDFE0 ","\uD83D\uDFE0 ","\uD83D\uDD36 ","\uD83D\uDD39 ","\uD83D\uDD37 ","\uD83D\uDD35 ","\uD83D\uDD35 ","\uD83D\uDD37 "]},"timeTravel":{"interval":100,"frames":["\uD83D\uDD5B ","\uD83D\uDD5A ","\uD83D\uDD59 ","\uD83D\uDD58 ","\uD83D\uDD57 ","\uD83D\uDD56 ","\uD83D\uDD55 ","\uD83D\uDD54 ","\uD83D\uDD53 ","\uD83D\uDD52 ","\uD83D\uDD51 ","\uD83D\uDD50 "]},"aesthetic":{"interval":80,"frames":["▰▱▱▱▱▱▱","▰▰▱▱▱▱▱","▰▰▰▱▱▱▱","▰▰▰▰▱▱▱","▰▰▰▰▰▱▱","▰▰▰▰▰▰▱","▰▰▰▰▰▰▰","▰▱▱▱▱▱▱"]},"dwarfFortress":{"interval":80,"frames":[" ██████\xa3\xa3\xa3 ","☺██████\xa3\xa3\xa3 ","☺██████\xa3\xa3\xa3 ","☺▓█████\xa3\xa3\xa3 ","☺▓█████\xa3\xa3\xa3 ","☺▒█████\xa3\xa3\xa3 ","☺▒█████\xa3\xa3\xa3 ","☺░█████\xa3\xa3\xa3 ","☺░█████\xa3\xa3\xa3 ","☺ █████\xa3\xa3\xa3 "," ☺█████\xa3\xa3\xa3 "," ☺█████\xa3\xa3\xa3 "," ☺▓████\xa3\xa3\xa3 "," ☺▓████\xa3\xa3\xa3 "," ☺▒████\xa3\xa3\xa3 "," ☺▒████\xa3\xa3\xa3 "," ☺░████\xa3\xa3\xa3 "," ☺░████\xa3\xa3\xa3 "," ☺ ████\xa3\xa3\xa3 "," ☺████\xa3\xa3\xa3 "," ☺████\xa3\xa3\xa3 "," ☺▓███\xa3\xa3\xa3 "," ☺▓███\xa3\xa3\xa3 "," ☺▒███\xa3\xa3\xa3 "," ☺▒███\xa3\xa3\xa3 "," ☺░███\xa3\xa3\xa3 "," ☺░███\xa3\xa3\xa3 "," ☺ ███\xa3\xa3\xa3 "," ☺███\xa3\xa3\xa3 "," ☺███\xa3\xa3\xa3 "," ☺▓██\xa3\xa3\xa3 "," ☺▓██\xa3\xa3\xa3 "," ☺▒██\xa3\xa3\xa3 "," ☺▒██\xa3\xa3\xa3 "," ☺░██\xa3\xa3\xa3 "," ☺░██\xa3\xa3\xa3 "," ☺ ██\xa3\xa3\xa3 "," ☺██\xa3\xa3\xa3 "," ☺██\xa3\xa3\xa3 "," ☺▓█\xa3\xa3\xa3 "," ☺▓█\xa3\xa3\xa3 "," ☺▒█\xa3\xa3\xa3 "," ☺▒█\xa3\xa3\xa3 "," ☺░█\xa3\xa3\xa3 "," ☺░█\xa3\xa3\xa3 "," ☺ █\xa3\xa3\xa3 "," ☺█\xa3\xa3\xa3 "," ☺█\xa3\xa3\xa3 "," ☺▓\xa3\xa3\xa3 "," ☺▓\xa3\xa3\xa3 "," ☺▒\xa3\xa3\xa3 "," ☺▒\xa3\xa3\xa3 "," ☺░\xa3\xa3\xa3 "," ☺░\xa3\xa3\xa3 "," ☺ \xa3\xa3\xa3 "," ☺\xa3\xa3\xa3 "," ☺\xa3\xa3\xa3 "," ☺▓\xa3\xa3 "," ☺▓\xa3\xa3 "," ☺▒\xa3\xa3 "," ☺▒\xa3\xa3 "," ☺░\xa3\xa3 "," ☺░\xa3\xa3 "," ☺ \xa3\xa3 "," ☺\xa3\xa3 "," ☺\xa3\xa3 "," ☺▓\xa3 "," ☺▓\xa3 "," ☺▒\xa3 "," ☺▒\xa3 "," ☺░\xa3 "," ☺░\xa3 "," ☺ \xa3 "," ☺\xa3 "," ☺\xa3 "," ☺▓ "," ☺▓ "," ☺▒ "," ☺▒ "," ☺░ "," ☺░ "," ☺ "," ☺ &"," ☺ ☼&"," ☺ ☼ &"," ☺☼ &"," ☺☼ & "," ‼ & "," ☺ & "," ‼ & "," ☺ & "," ‼ & "," ☺ & ","‼ & "," & "," & "," & ░ "," & ▒ "," & ▓ "," & \xa3 "," & ░\xa3 "," & ▒\xa3 "," & ▓\xa3 "," & \xa3\xa3 "," & ░\xa3\xa3 "," & ▒\xa3\xa3 ","& ▓\xa3\xa3 ","& \xa3\xa3\xa3 "," ░\xa3\xa3\xa3 "," ▒\xa3\xa3\xa3 "," ▓\xa3\xa3\xa3 "," █\xa3\xa3\xa3 "," ░█\xa3\xa3\xa3 "," ▒█\xa3\xa3\xa3 "," ▓█\xa3\xa3\xa3 "," ██\xa3\xa3\xa3 "," ░██\xa3\xa3\xa3 "," ▒██\xa3\xa3\xa3 "," ▓██\xa3\xa3\xa3 "," ███\xa3\xa3\xa3 "," ░███\xa3\xa3\xa3 "," ▒███\xa3\xa3\xa3 "," ▓███\xa3\xa3\xa3 "," ████\xa3\xa3\xa3 "," ░████\xa3\xa3\xa3 "," ▒████\xa3\xa3\xa3 "," ▓████\xa3\xa3\xa3 "," █████\xa3\xa3\xa3 "," ░█████\xa3\xa3\xa3 "," ▒█████\xa3\xa3\xa3 "," ▓█████\xa3\xa3\xa3 "," ██████\xa3\xa3\xa3 "," ██████\xa3\xa3\xa3 "]},"fish":{"interval":80,"frames":["~~~~~~~~~~~~~~~~~~~~","> ~~~~~~~~~~~~~~~~~~","\xba> ~~~~~~~~~~~~~~~~~","(\xba> ~~~~~~~~~~~~~~~~","((\xba> ~~~~~~~~~~~~~~~","<((\xba> ~~~~~~~~~~~~~~","><((\xba> ~~~~~~~~~~~~~"," ><((\xba> ~~~~~~~~~~~~","~ ><((\xba> ~~~~~~~~~~~","~~ <>((\xba> ~~~~~~~~~~","~~~ ><((\xba> ~~~~~~~~~","~~~~ <>((\xba> ~~~~~~~~","~~~~~ ><((\xba> ~~~~~~~","~~~~~~ <>((\xba> ~~~~~~","~~~~~~~ ><((\xba> ~~~~~","~~~~~~~~ <>((\xba> ~~~~","~~~~~~~~~ ><((\xba> ~~~","~~~~~~~~~~ <>((\xba> ~~","~~~~~~~~~~~ ><((\xba> ~","~~~~~~~~~~~~ <>((\xba> ","~~~~~~~~~~~~~ ><((\xba>","~~~~~~~~~~~~~~ <>((\xba","~~~~~~~~~~~~~~~ ><((","~~~~~~~~~~~~~~~~ <>(","~~~~~~~~~~~~~~~~~ ><","~~~~~~~~~~~~~~~~~~ <","~~~~~~~~~~~~~~~~~~~~"]}}');Object.keys(a$);let a_=ak?.WriteStream?.prototype?.hasColors?.()??!1,a0=(a,b)=>{if(!a_)return a=>a;let c=`\u001B[${a}m`,d=`\u001B[${b}m`;return a=>{let e=a+"",f=e.indexOf(d);if(-1===f)return c+e+d;let g=c,h=0,i=(22===b?d:"")+c;for(;-1!==f;)g+=e.slice(h,f)+i,h=f+d.length,f=e.indexOf(d,h);return g+(e.slice(h)+d)}};a0(0,0),a0(1,22),a0(2,22),a0(3,23),a0(4,24),a0(53,55),a0(7,27),a0(8,28),a0(9,29),a0(30,39);let a1=a0(31,39),a2=a0(32,39),a3=a0(33,39),a4=a0(34,39);function a5(){let{env:a}=k,{TERM:b,TERM_PROGRAM:c}=a;return"win32"!==k.platform?"linux"!==b:!!a.WT_SESSION||!!a.TERMINUS_SUBLIME||"{cmd::Cmder}"===a.ConEmuTask||"Terminus-Sublime"===c||"vscode"===c||"xterm-256color"===b||"alacritty"===b||"rxvt-unicode"===b||"rxvt-unicode-256color"===b||"JetBrains-JediTerm"===a.TERMINAL_EMULATOR}a0(35,39),a0(36,39),a0(37,39),a0(90,39),a0(40,49),a0(41,49),a0(42,49),a0(43,49),a0(44,49),a0(45,49),a0(46,49),a0(47,49),a0(100,49),a0(91,39),a0(92,39),a0(93,39),a0(94,39),a0(95,39),a0(96,39),a0(97,39),a0(101,49),a0(102,49),a0(103,49),a0(104,49),a0(105,49),a0(106,49),a0(107,49);let a6=a5(),a7=a4(a6?"ℹ":"i"),a8=a2(a6?"✔":"√"),a9=a3(a6?"⚠":"‼"),ba=a1(a6?"✖":"\xd7"),bb=function({onlyFirst:a=!1}={}){return RegExp("(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",a?void 0:"g")}(),bc=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],bd=[12288,12288,65281,65376,65504,65510],be=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],bf=(a,b)=>{let c=0,d=Math.floor(a.length/2)-1;for(;c<=d;){let e=Math.floor((c+d)/2),f=2*e;if(b<a[f])d=e-1;else{if(!(b>a[f+1]))return!0;c=e+1}}return!1},[bg,bh]=function(a){let b=a[0],c=a[1];for(let d=0;d<a.length;d+=2){let e=a[d],f=a[d+1];if(19968>=e&&19968<=f)return[e,f];f-e>c-b&&(b=e,c=f)}return[b,c]}(be);function bi(a,{ambiguousAsWide:b=!1}={}){if(!Number.isSafeInteger(a))throw TypeError(`Expected a code point, got \`${typeof a}\`.`);return!(a<12288)&&!(a>65510)&&bf(bd,a)||a>=bg&&a<=bh||!(a<4352)&&!(a>262141)&&bf(be,a)||b&&!(a<161)&&!(a>1114109)&&bf(bc,a)?2:1}let bj=new Intl.Segmenter,bk=/^(?:\p{Default_Ignorable_Code_Point}|\p{Control}|\p{Format}|\p{Mark}|\p{Surrogate})+$/v,bl=/^[\p{Default_Ignorable_Code_Point}\p{Control}\p{Format}\p{Mark}\p{Surrogate}]+/v,bm=/^\p{RGI_Emoji}$/v,bn=/^[\d#*]\u20E3$/,bo=/\p{Extended_Pictographic}/gu;function bp(a){return a>=4352&&a<=4447||a>=43360&&a<=43388}function bq(a){return a>=4448&&a<=4519||a>=55216&&a<=55238}function br(a){return a>=4520&&a<=4607||a>=55243&&a<=55291}class bs{#j=0;#k;#l=!1;#m=!1;#n=a=>{a?.length&&("string"==typeof a?a.codePointAt(0):a[0])===3&&k.kill(k.pid,"SIGINT")};start(){this.#j++,1===this.#j&&this.#o()}stop(){0!==this.#j&&0==--this.#j&&this.#p()}#o(){let{stdin:a}=k;if("win32"===k.platform||!a?.isTTY||"function"!=typeof a.setRawMode){this.#k=void 0;return}this.#k=a,this.#l=a.isPaused(),this.#m=!!a.isRaw,a.setRawMode(!0),a.prependListener("data",this.#n),this.#l&&a.resume()}#p(){if(!this.#k)return;let a=this.#k;a.off("data",this.#n),a.isTTY&&a.setRawMode?.(this.#m),this.#l&&a.pause(),this.#k=void 0,this.#l=!1,this.#m=!1}}let bt=Object.freeze(new bs),bu=new Map,bv=new Set(["black","red","green","yellow","blue","magenta","cyan","white","gray"]);class bw{#q=0;#r=-1;#s=0;#t;#u;#v;#w;#x=new Map;#y=!1;#z;#A;#B=!1;#C;#D(a){this.#y=!0;try{return a()}finally{this.#y=!1}}#E(){this.isSpinning&&this.render()}#F(a,b){return null==a?"":"string"==typeof a?a:Buffer.isBuffer(a)||ArrayBuffer.isView(a)?Buffer.from(a).toString("string"==typeof b&&b&&"buffer"!==b?b:"utf8"):String(a)}#G(a){if(!a)return!1;let b=a.at(-1);return"\n"===b||"\r"===b}#H(){this.#A||(this.#A=setTimeout(()=>{this.#A=void 0,this.isSpinning&&this.#E()},200),"function"==typeof this.#A?.unref&&this.#A.unref())}#I(){this.#A&&(clearTimeout(this.#A),this.#A=void 0)}#J(a,b,c,d){return this.#K(c," ")+a+("string"==typeof b?(a?" ":"")+b:"")+this.#L(d," ")}constructor(a){if("string"==typeof a&&(a={text:a}),this.#t={color:"cyan",stream:k.stderr,discardStdin:!0,hideCursor:!0,...a},this.color=this.#t.color,this.#v=this.#t.stream,"boolean"!=typeof this.#t.isEnabled&&(this.#t.isEnabled=function({stream:a=process.stdout}={}){return!!(a&&a.isTTY&&"dumb"!==process.env.TERM&&!("CI"in process.env))}({stream:this.#v})),"boolean"!=typeof this.#t.isSilent&&(this.#t.isSilent=!1),void 0!==this.#t.interval&&!(Number.isInteger(this.#t.interval)&&this.#t.interval>0))throw Error("The `interval` option must be a positive integer");const b=this.#t.interval;this.spinner=this.#t.spinner,this.#t.interval=b,this.text=this.#t.text,this.prefixText=this.#t.prefixText,this.suffixText=this.#t.suffixText,this.indent=this.#t.indent}get indent(){return this.#t.indent}set indent(a=0){if(!(a>=0&&Number.isInteger(a)))throw Error("The `indent` option must be an integer from 0 and up");this.#t.indent=a}get interval(){return this.#t.interval??this.#u.interval??100}get spinner(){return this.#u}set spinner(a){if(this.#r=-1,this.#t.interval=void 0,"object"==typeof a){if(!Array.isArray(a.frames)||0===a.frames.length||a.frames.some(a=>"string"!=typeof a))throw Error("The given spinner must have a non-empty `frames` array of strings");if(void 0!==a.interval&&!(Number.isInteger(a.interval)&&a.interval>0))throw Error("`spinner.interval` must be a positive integer if provided");this.#u=a}else if(a5())if(void 0===a)this.#u=a$.dots;else if("default"!==a&&a$[a])this.#u=a$[a];else throw Error(`There is no built-in spinner named '${a}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`);else this.#u=a$.line}get text(){return this.#t.text}set text(a=""){this.#t.text=a}get prefixText(){return this.#t.prefixText}set prefixText(a=""){this.#t.prefixText=a}get suffixText(){return this.#t.suffixText}set suffixText(a=""){this.#t.suffixText=a}get isSpinning(){return void 0!==this.#w}#M(a,b,c=!1){let d="function"==typeof a?a():a;return"string"==typeof d&&""!==d?c?b+d:d+b:""}#K(a=this.#t.prefixText,b=" "){return this.#M(a,b,!1)}#L(a=this.#t.suffixText,b=" "){return this.#M(a,b,!0)}#N(a,b){let c=0;for(let d of(0,u.stripVTControlCharacters)(a).split("\n"))c+=Math.max(1,Math.ceil(function(a,b={}){if("string"!=typeof a||0===a.length)return 0;let{ambiguousIsNarrow:c=!0,countAnsiEscapeCodes:d=!1}=b,e=a;if(!d&&(e.includes("\x1b")||e.includes("\x9b"))&&(e=function(a){if("string"!=typeof a)throw TypeError(`Expected a \`string\`, got \`${typeof a}\``);return a.includes("\x1b")||a.includes("\x9b")?a.replace(bb,""):a}(e)),0===e.length)return 0;if(/^[\u0020-\u007E]*$/.test(e))return e.length;let f=0,g={ambiguousAsWide:!c};for(let{segment:a}of bj.segment(e)){if(bk.test(a))continue;if(bm.test(a)||function(a){if(a.length>50)return!1;if(bn.test(a))return!0;if(a.includes("‍")){let b=a.match(bo);return null!==b&&b.length>=2}return!1}(a)){f+=2;continue}let b=a.replace(bl,""),c=function(a,b){let c=[];for(let b of a)bk.test(b)||c.push(b.codePointAt(0));if(0===c.length)return;let d=0;for(let a=0;a<c.length;a++){let e=c[a];if(!(bp(e)||bq(e)||br(e))){if(0===d)return;for(let e=a;e<c.length;e++)d+=bi(c[e],b);break}if(bp(e)&&bq(c[a+1])){d+=2,a+=br(c[a+2])?2:1;continue}d+=bi(e,b)}return d}(b,g);if(void 0!==c){f+=c;continue}f+=bi(b.codePointAt(0),g),f+=function(a,b){let c=0,d=!0;for(let e of a){if(d){d=!1;continue}e>="＀"&&e<="￯"&&(c+=bi(e.codePointAt(0),b))}return c}(b,g)}return f}(d)/b));return c}get color(){return this.#C}set color(a){if(void 0!==a&&!1!==a&&!bv.has(a))throw Error("The `color` option must be a valid color or `false` to disable");this.#C=a}get isEnabled(){return this.#t.isEnabled&&!this.#t.isSilent}set isEnabled(a){if("boolean"!=typeof a)throw TypeError("The `isEnabled` option must be a boolean");this.#t.isEnabled=a}get isSilent(){return this.#t.isSilent}set isSilent(a){if("boolean"!=typeof a)throw TypeError("The `isSilent` option must be a boolean");this.#t.isSilent=a}frame(){let a=Date.now();(-1===this.#r||a-this.#s>=this.interval)&&(this.#r=(this.#r+1)%this.#u.frames.length,this.#s=a);let{frames:b}=this.#u,c=b[this.#r];return this.#C&&(c=aB[this.#C](c)),this.#K(this.#t.prefixText," ")+c+("string"==typeof this.text?" "+this.text:"")+this.#L(this.#t.suffixText," ")}clear(){return this.isEnabled&&this.#v.isTTY&&(this.#D(()=>{this.#v.cursorTo(0);for(let a=0;a<this.#q;a++)a>0&&this.#v.moveCursor(0,-1),this.#v.clearLine(1);this.#t.indent&&this.#v.cursorTo(this.#t.indent)}),this.#q=0),this}#O(a){if(!a||this.#x.has(a)||!a.isTTY||"function"!=typeof a.write)return;bu.has(a)&&console.warn("[ora] Multiple concurrent spinners detected. This may cause visual corruption. Use one spinner at a time.");let b=a.write;this.#x.set(a,b),bu.set(a,this),a.write=(c,d,e)=>this.#P(a,b,c,d,e)}#Q(){if(this.isEnabled&&!(this.#x.size>0))for(let a of new Set([this.#v,k.stdout,k.stderr]))this.#O(a)}#R(){for(let[a,b]of this.#x)a.write=b,bu.get(a)===this&&bu.delete(a);this.#x.clear()}#P(a,b,c,d,e){if("function"==typeof d&&(e=d,d=void 0),this.#y)return b.call(a,c,d,e);this.clear();let f=this.#F(c,d),g=this.#G(f),h=b.call(a,c,d,e);return g?this.#I():f.length>0&&this.#H(),this.isSpinning&&!this.#A&&this.render(),h}render(){if(!this.isEnabled||this.#z||this.#A)return this;let a=this.#v.isTTY,b=!1;try{a&&(this.#D(()=>this.#v.write("\x1b[?2026h")),b=!0),this.clear();let c=this.frame(),d=this.#v.columns??80,e=this.#N(c,d),f=this.#v.rows;f&&f>1&&e>f&&(c=[...c.split("\n").slice(0,f-1),"... (content truncated to fit terminal)"].join("\n"));let g=this.#D(()=>this.#v.write(c));!1===g&&this.#v.isTTY&&(this.#z=()=>{this.#z=void 0,this.#E()},this.#v.once("drain",this.#z)),this.#q=this.#N(c,d)}finally{b&&this.#D(()=>this.#v.write("\x1b[?2026l"))}return this}start(a){if(void 0!==a&&(this.text=a),this.isSilent)return this;if(!this.isEnabled){let a=this.text?"-":"",b=" ".repeat(this.#t.indent)+this.#J(a,this.text,this.#t.prefixText,this.#t.suffixText);return""!==b.trim()&&this.#D(()=>this.#v.write(b+"\n")),this}return this.isSpinning||(this.#t.hideCursor&&aZ.hide(this.#v),this.#t.discardStdin&&k.stdin.isTTY&&(bt.start(),this.#B=!0),this.#Q(),this.render(),this.#w=setInterval(this.render.bind(this),this.interval)),this}stop(){return clearInterval(this.#w),this.#w=void 0,this.#r=-1,this.#s=0,this.#I(),this.#R(),this.#z&&(this.#v.removeListener("drain",this.#z),this.#z=void 0),this.isEnabled&&(this.clear(),this.#t.hideCursor&&aZ.show(this.#v)),this.#B&&(this.#B=!1,bt.stop()),this}succeed(a){return this.stopAndPersist({symbol:a8,text:a})}fail(a){return this.stopAndPersist({symbol:ba,text:a})}warn(a){return this.stopAndPersist({symbol:a9,text:a})}info(a){return this.stopAndPersist({symbol:a7,text:a})}stopAndPersist(a={}){if(this.isSilent)return this;let b=a.symbol??" ",c=a.text??this.text,d=a.prefixText??this.#t.prefixText,e=a.suffixText??this.#t.suffixText,f=this.#J(b,c,d,e)+"\n";return this.stop(),this.#D(()=>this.#v.write(f)),this}}var bx=c(92990);class by{constructor(a){this.config=a}buildAuthUrl(a,b,c,d={}){let e=new URLSearchParams({client_id:this.config.clientId,response_type:"code",redirect_uri:a,state:b,code_challenge:c,code_challenge_method:this.config.codeChallengeMethod,...d});return`${this.config.authorizeUrl}?${e.toString()}`}async startAuthFlow(a,b){let c=new bw("Starting local server...").start(),d=null,{port:e,close:f}=await (0,ad.Pd)(a=>{d=a}),g=`http://localhost:${e}/callback`;return c.succeed(`Local server started on port ${e}`),{redirectUri:g,port:e,close:f,waitForCallback:async()=>{if(c.start(`Waiting for ${b} authorization...`),await new Promise((a,b)=>{let c=setTimeout(()=>{b(Error("Authentication timeout (5 minutes)"))},bx.Ww),e=setInterval(()=>{d&&(clearInterval(e),clearTimeout(c),a())},100)}),c.stop(),f(),d.error)throw Error(d.error_description||d.error);if(!d.code)throw Error("No authorization code received");return d}}}async exchangeCode(a,b,c,d="application/x-www-form-urlencoded"){let e="application/json"===d?JSON.stringify({grant_type:"authorization_code",client_id:this.config.clientId,code:a,redirect_uri:b,code_verifier:c}):new URLSearchParams({grant_type:"authorization_code",client_id:this.config.clientId,code:a,redirect_uri:b,code_verifier:c}),f=await fetch(this.config.tokenUrl,{method:"POST",headers:{"Content-Type":d,Accept:"application/json"},body:e});if(!f.ok){let a=await f.text();throw Error(`Token exchange failed: ${a}`)}return await f.json()}async authenticate(a,b){let{codeVerifier:c,codeChallenge:d,state:e}=(0,ae.lz)(),{redirectUri:f,waitForCallback:g}=await this.startAuthFlow(null,a),h=b(f,e,d);console.log(`
4
4
  Opening browser for ${a} authentication...`),console.log(`If browser doesn't open, visit:
5
5
  ${h}
@@ -1 +1 @@
1
- "use strict";exports.id=5961,exports.ids=[5628,5961],exports.modules={3894:(a,b,c)=>{c.d(b,{Qh:()=>p,ag:()=>l,kI:()=>m,sy:()=>o});var d=c(79646),e=c(33873),f=c.n(e);let g="win32"===process.platform,h=g?"where":"which",i=[...g?[`${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"],process.env.PATH||""].filter(Boolean).join(f().delimiter),j=["python3.13","python3.12","python3.11","python3.10","python3","python"],k=new Set(["localhost","127.0.0.1","::1","[::1]","0.0.0.0"]),l=process.env.HEADROOM_URL||"http://localhost:8787";function m(){try{let a=(0,d.execSync)(`${h} headroom`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:i}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}async function n(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 o(a){try{let b=new URL(a);return k.has(b.hostname)}catch{return!1}}async function p(a){let b=m(),c=function(){for(let a of j)try{let b=(0,d.execSync)(`${a} --version`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:i}}).toString().trim().match(/(\d+)\.(\d+)/);if(!b)continue;let[c,e]=[parseInt(b[1],10),parseInt(b[2],10)];if(c>3||3===c&&e>=10)return a}catch{}return null}(),e=!!b,f=await n(a),g=o(a);return{installed:e,path:b,running:f,python:c,localUrl:g,canStart:e&&g}}},15628:(a,b,c)=>{c.d(b,{H:()=>k,L:()=>g,getProviderHealth:()=>j,recordHealthSample:()=>i});var d=c(78474);let e=200/3e5;global._healthMonitors||(global._healthMonitors=new Map,global._healthEmitter=new d.EventEmitter,global._healthEmitter.setMaxListeners(100));let f=global._healthMonitors,g=global._healthEmitter,h={enabled:!0,windowMs:3e5};function i(a,{success:b,latencyMs:d,status:k,trafficClass:l="user"},m={}){var n,o,p;let q,r,s={...h,...m?.healthMonitor||{}},t=(n=s.windowMs,q=f.get(a),r=n||h.windowMs,q||(q={provider:a,samples:[],windowMs:r,emitTimer:null,lastSuccessRate:void 0,maxSamples:Math.max(200,Math.ceil(e*r*5)),cachedAggregate:null,cachedAt:0},f.set(a,q)),q);if(t._enabled=s.enabled,!s.enabled){t.emitTimer&&(clearTimeout(t.emitTimer),t.emitTimer=null);return}if("user"!==l)return;let u=Date.now();t.samples.push({ts:u,success:!!b,latencyMs:d||0,status:k||200*!!b,trafficClass:l}),t.cachedAggregate=null;let v=u-t.windowMs;t.samples=t.samples.filter(a=>a.ts>=v),t.samples.length>t.maxSamples&&(t.samples=t.samples.slice(-t.maxSamples)),o=a,(p=t).emitTimer&&clearTimeout(p.emitTimer),p.emitTimer=setTimeout(()=>{if(p.emitTimer=null,!p._enabled)return;let a=j(o);if(!a)return;g.emit("health:update",a);let b=a.successRate,d=p.lastSuccessRate??1;if(null!==b&&b<.7&&d>=.7&&a.total>=5){let e={provider:o,successRate:Math.round(100*b),avgLatencyMs:a.avgLatencyMs,message:`Provider "${o}" health degraded — success rate dropped to ${Math.round(100*b)}% (from ${Math.round(100*d)}%).`};g.emit("health:degraded",{type:"health_degraded",...e}),Promise.all([c.e(9703),c.e(9422),c.e(9903)]).then(c.bind(c,49573)).then(({dispatchAlert:a})=>{try{a("health_degraded",e)}catch(a){console.error("[HEALTH] Alert dispatch failed:",a?.message||a)}}).catch(a=>{console.error("[HEALTH] Alert module load failed:",a?.message||a)})}p.lastSuccessRate=b},500)}function j(a){let b=f.get(a);if(!b)return null;let c=Date.now();if(b.cachedAggregate&&c-b.cachedAt<1e3)return b.cachedAggregate;let d=c-b.windowMs,e=b.samples.filter(a=>a.ts>=d);if(0===e.length)return{provider:a,total:0,successes:0,failures:0,successRate:null,avgLatencyMs:null,p95LatencyMs:null,lastError:null,lastErrorAt:null};let g=e.filter(a=>a.success).length,h=e.length-g,i=e.filter(a=>a.latencyMs>0).map(a=>a.latencyMs),j=i.length>0?Math.round(i.reduce((a,b)=>a+b,0)/i.length):null,k=i.length>0?Math.round(function(a){if(0===a.length)return 0;if(1===a.length)return a[0];let b=.95*(a.length-1),c=Math.floor(b),d=Math.ceil(b),e=b-c;return a[c]*(1-e)+a[d]*e}([...i].sort((a,b)=>a-b))):null,l=[...e].reverse().find(a=>!a.success),m={provider:a,total:e.length,successes:g,failures:h,successRate:g/e.length,avgLatencyMs:j,p95LatencyMs:k,lastError:l?"0"===String(l.status)?"Network error":String(l.status):null,lastErrorAt:l?l.ts:null};return b.cachedAggregate=m,b.cachedAt=c,m}function k(){return[...f.keys()].map(a=>j(a)).filter(Boolean).sort((a,b)=>b.total-a.total)}},22673:(a,b,c)=>{c.d(b,{Eb:()=>g,ar:()=>h});let d=parseInt(process.env.EXTREMEROUTER_RATE_LIMIT_RPM||"60",10),e=parseInt(process.env.EXTREMEROUTER_RATE_LIMIT_BURST||"10",10),f=global._rateLimitBuckets??=new Map;function g(a,b=d,c=e,h=1){let i=Math.max(1,Number(h)||1),j=Math.max(c,i);if(!a)return{allowed:!0,retryAfterMs:0,remaining:j};let k=Date.now(),l=b/60,m=f.get(a);(!m||k-m.lastEvicted>3e5)&&(m={tokens:j,lastRefill:k,lastEvicted:k},f.set(a,m));let n=(k-m.lastRefill)/1e3;return(m.tokens=Math.min(j,m.tokens+n*l),m.lastRefill=k,m.lastEvicted=k,m.tokens>=i)?(m.tokens-=i,{allowed:!0,retryAfterMs:0,remaining:Math.floor(m.tokens)}):{allowed:!1,retryAfterMs:Math.max(Math.ceil((i-m.tokens)/l*1e3),1e3),remaining:0}}function h(){let a=Date.now();for(let[b,c]of f)a-c.lastEvicted>3e5&&f.delete(b)}},26951:(a,b,c)=>{c.d(b,{I:()=>g});var d=c(12280),e=c(66306),f=c(58920);function g({body:a,config:b,leaves:c=[],logicalCalls:h=1}){let i=(0,d.X3)(b).budgets,j=Math.ceil((a=>{try{return JSON.stringify(a).length}catch{return 0}})(a)/4),k=0;for(let a of c){let b=(0,f.getPricingForModel)(a.provider,a.model);if(!b)continue;let c=Math.min((0,e.nl)(a.provider,a.model).maxOutput||4e3,4e3);k+=j*(b.input/1e6)+c*(b.output/1e6)}if(h>i.maxLogicalCalls)return{ok:!1,code:"combo_call_budget_exceeded",logicalCalls:h,limit:i.maxLogicalCalls};if(k>i.maxEstimatedCostUsd)return{ok:!1,code:"combo_cost_budget_exceeded",estimatedCostUsd:k,limit:i.maxEstimatedCostUsd};let l=0;return{ok:!0,inputTokens:j,estimatedCostUsd:k,limits:i,consumeOutput(a){let b=String(a||"").length;return l+=b,b<=i.maxOutputChars&&l<=i.maxAggregateOutputChars},clampOutput(a){let b=Math.max(0,Math.min(i.maxOutputChars,i.maxAggregateOutputChars-l)),c=String(a||"").slice(0,b||i.maxOutputChars);return l+=c.length,c},snapshot:()=>({inputTokens:j,estimatedCostUsd:k,aggregateOutputChars:l,limits:i})}}},38775:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>i});var d=c(89718),e=c(40669),f=c(31630);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}},75627:(a,b,c)=>{c.d(b,{Q:()=>d});async function d(a,b=0xa00000){let c=parseInt(a.headers.get("content-length")||"0",10);if(c>b)throw Error(`Request body too large: ${c} bytes exceeds ${b} byte limit`);let e=a.body?.getReader();if(!e)return"";let f=new TextDecoder,g=0,h="";for(;;){let{done:a,value:c}=await e.read();if(a)break;if((g+=c.length)>b){try{e.cancel()}catch{}throw Error(`Request body too large: exceeds ${b} byte limit`)}h+=f.decode(c,{stream:!0})}return h+f.decode()}},76199:(a,b,c)=>{c.d(b,{HQ:()=>g,m2:()=>f});var d=c(12280);let e=global._comboAdmissionState??={global:0,principals:new Map};function f(a){let b=a||"local",c=e.principals.get(b)||0;if(c>=d.wg.maxConcurrentRunsPerPrincipal)return{ok:!1,status:429,code:"combo_concurrency_exceeded",retryAfter:1};if(e.global>=d.wg.maxConcurrentRunsGlobal)return{ok:!1,status:503,code:"combo_capacity_exceeded",retryAfter:1};e.global++,e.principals.set(b,c+1);let f=!1;return{ok:!0,release(){if(f)return;f=!0,e.global=Math.max(0,e.global-1);let a=Math.max(0,(e.principals.get(b)||1)-1);0===a?e.principals.delete(b):e.principals.set(b,a)}}}function g(a,b){if(!b?.ok||!a?.body)return b?.release?.(),a;let c=a.body.getReader();return new Response(new ReadableStream({async pull(a){try{let{done:d,value:e}=await c.read();if(d){b.release(),a.close();return}a.enqueue(e)}catch(c){b.release(),a.error(c)}},cancel:a=>(b.release(),c.cancel(a))}),{status:a.status,statusText:a.statusText,headers:a.headers})}},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>C});var e=c(48895),f=c(80238),g=c(71750),h=c(75627),i=c(22673),j=c(89718),k=c(38775),l=c(92500),m=c(3894),n=c(87631),o=c(43659),p=c(82121),q=c(27349),r=c(41004),s=c(14170),t=c(7803),u=c(67828),v=c(38160),w=c(24467),x=c(15628),y=c(81182),z=c(76199),A=c(26951),B=a([e,l]);[e,l]=B.then?(await B)():B;let F=new Set(["fallback","round-robin","fusion","swarm","cascade"]);async function C(a,b=null){let c;try{let b=await (0,h.Q)(a,0xa00000);c=JSON.parse(b)}catch(a){if(a.message?.includes("too large"))return(0,o.yj)(r.gx.BAD_REQUEST,a.message);return t.warn("CHAT","Invalid JSON body"),(0,o.yj)(r.gx.BAD_REQUEST,"Invalid JSON body")}b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())}),(0,g.n)(b.headers);let d=new URL(a.url),e=c.model,k=c.messages?.length||c.input?.length||0,l=c.tools?.length||0,m=c.reasoning_effort||c.reasoning?.effort||null;t.request("POST",`${d.pathname} | ${e} | ${k} msgs${l?` | ${l} tools`:""}${m?` | effort=${m}`:""}`);let n=a.headers.get("Authorization"),p=(0,f.Tr)(a),s=p||b?.headers?.["x-9r-real-ip"]||"anonymous",u=(0,i.Eb)(s);if((0,i.ar)(),!u.allowed)return t.warn("RATE",`Rate limited: ${s.slice(0,12)}... retry in ${Math.ceil(u.retryAfterMs/1e3)}s`),new Response(JSON.stringify({error:{message:`Rate limit exceeded. Try again in ${Math.ceil(u.retryAfterMs/1e3)} seconds.`,type:"rate_limit_error",code:"rate_limited"}}),{status:429,headers:{"Content-Type":"application/json","Retry-After":String(Math.ceil(u.retryAfterMs/1e3)),"X-RateLimit-Remaining":String(u.remaining)}});if(n&&p){let a=t.maskKey(p);t.debug("AUTH",`API Key: ${a}`)}else t.debug("AUTH","No API key provided (local mode)");let v=await (0,j.mt)();if(v.requireApiKey){if(!p)return t.warn("AUTH","Missing API key (requireApiKey=true)"),(0,o.yj)(r.gx.UNAUTHORIZED,"Missing API key");if(!await (0,f.kI)(p))return t.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,o.yj)(r.gx.UNAUTHORIZED,"Invalid API key")}if(!e)return t.warn("CHAT","Missing model"),(0,o.yj)(r.gx.BAD_REQUEST,"Missing model");let w=null;p&&(w=await (0,j.mY)(p).catch(a=>(t.warn("AUTH",`ACL lookup error: ${a?.message||a}`),null)));let x=a?.headers?.get("user-agent")||"",B=(0,q.c)(c,e,x,!!v.ccFilterNaming);if(B)return B.response||B;let F=e.includes("/")?null:await (0,j.Dj)(e);if(F?.models?.length)try{let d=await (0,y.R)(F,v.comboStrategies?.[e]||{fallbackStrategy:v.comboStrategy}),f=(0,y.O)(w,d);if(!f.allowed)return t.warn("AUTH",`Combo "${e}" denied expanded models: ${f.denied.join(", ")}`),(0,o.yj)(r.gx.FORBIDDEN,`Combo execution includes models not allowed for this API key: ${f.denied.join(", ")}`);if(d.logicalCalls>1&&!(0,i.Eb)(s,void 0,void 0,d.logicalCalls-1).allowed)return(0,o.yj)(r.gx.TOO_MANY_REQUESTS,"Combo rate limit exceeded");let g=(0,A.I)({body:c,config:d.config,leaves:d.leaves,logicalCalls:d.logicalCalls});if(!g.ok)return(0,o.yj)(r.gx.BAD_REQUEST,`Combo budget rejected: ${g.code}`);let h=(0,z.m2)(w?.id||s);if(!h.ok)return new Response(JSON.stringify({error:{message:"Combo capacity unavailable",code:h.code}}),{status:h.status,headers:{"Content-Type":"application/json","Retry-After":String(h.retryAfter)}});let j=new AbortController,k=()=>j.abort(a.signal?.reason||Error("client disconnected"));a.signal?.aborted?k():a.signal?.addEventListener("abort",k,{once:!0});try{let e=await D({body:c,graph:d,clientRawRequest:b,request:a,apiKey:p,settings:v,signal:j.signal,budget:g,principalId:w?.id||"local"});return(0,z.HQ)(e,h)}catch(a){throw h.release(),a}finally{a.signal?.removeEventListener("abort",k)}}catch(a){return t.warn("COMBO",`Combo resolution failed: ${a?.message||a}`),(0,o.yj)(r.gx.BAD_REQUEST,a?.message||"Invalid combo configuration")}return w&&Array.isArray(w.allowedModels)&&w.allowedModels.length>0&&!w.allowedModels.some(a=>a===e||a.endsWith("/")&&e.startsWith(a))?(0,o.yj)(r.gx.FORBIDDEN,`Model "${e}" is not allowed for this API key`):E(c,e,b,a,p)}async function D({body:a,graph:b,clientRawRequest:c,request:d,apiKey:e,settings:f,signal:g,budget:h,principalId:i}){let{comboName:j,config:k,members:l}=b,m=k.fallbackStrategy,n=k?.thinking,o=(a,b,f={})=>{let g="boolean"==typeof f?{isPanel:f}:f,h=function(a,b){if(!a||"auto"===a.type||"off"===a.type)return null;if(b&&a.roles?.[b]){let c=a.roles[b];return"inherit"===c.type||void 0===c.type?{...a,...c,roles:void 0}:c}return a}(n,g.role),i=c;if(g.isPanel&&c){let{tools:a,tool_choice:b,...d}=c.body||{};i={...c,body:d}}return E(a,b,i,d,e,{skipBreaker:g.isPanel,signal:g.signal,trafficClass:g.trafficClass||(g.isPanel?"panel":"user"),thinking:h})};return"fusion"===m?(t.info("CHAT",`Combo "${j}" with ${l.length} models (strategy: fusion)`),(0,p.vt)({body:a,models:l,handleSingleModel:o,log:t,comboName:j,judgeModel:k.judgeModel,tuning:k.fusionTuning,signal:g,runBudget:h})):"swarm"===m?(t.info("CHAT",`Combo "${j}" with ${l.length} models (strategy: swarm)`),(0,p.je)({body:a,models:l,handleSingleModel:o,log:t,comboName:j,managerModel:k.managerModel,staffModel:k.staffModel,auditModel:k.auditModel,workerCount:k.workerCount,swarmTuning:k.swarmTuning,telemetry:k.enableTelemetry,signal:g,runBudget:h,principalId:i,autoScale:k.autoScale})):"cascade"===m?(t.info("CHAT",`Combo "${j}" with ${l.length} models (strategy: cascade)`),(0,p.Ni)({body:a,models:l,handleSingleModel:o,log:t,comboName:j,tuning:k.cascade,signal:g})):(t.info("CHAT",`Combo "${j}" with ${l.length} models (strategy: ${m})`),(0,p.Pr)({body:a,models:l,handleSingleModel:o,log:t,comboName:j,comboStrategy:m,comboStickyLimit:f.comboStickyRoundRobinLimit,breakerSettings:f,signal:g,runBudget:h}))}async function E(a,b,c=null,d=null,e=null,g={}){let h=await (0,k.mA)(b);if(!h.provider){let f=await (0,k.d_)(b);if(f){let g=await (0,j.mt)(),h=g.comboStrategies||{},i=h[b]?.fallbackStrategy,k=function(a){if("string"!=typeof a)return"fallback";let b=a.trim().toLowerCase();return F.has(b)?b:"fallback"}(i||g.comboStrategy||"fallback");if("fusion"===k)return t.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: fusion)`),(0,p.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 E(a,b,g,d,e,{skipBreaker:f})},log:t,comboName:b,judgeModel:h[b]?.judgeModel,tuning:h[b]?.fusionTuning});let l=g.comboStickyRoundRobinLimit;if("swarm"===k){t.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: swarm)`);let g=h[b]||{};return(0,p.je)({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 E(a,b,g,d,e,{skipBreaker:f})},log:t,comboName:b,managerModel:g.managerModel,staffModel:g.staffModel,auditModel:g.auditModel,workerCount:g.workerCount,swarmTuning:g.swarmTuning,telemetry:!1!==g.enableTelemetry})}return t.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: ${k}, sticky: ${l})`),(0,p.Pr)({body:a,models:f,handleSingleModel:(a,b)=>E(a,b,c,d,e),log:t,comboName:b,comboStrategy:k,comboStickyLimit:l,breakerSettings:g})}return t.warn("CHAT","Invalid model format",{model:b}),(0,o.yj)(r.gx.BAD_REQUEST,"Invalid model format")}let{provider:i,model:q}=h;b!==`${i}/${q}`?t.info("ROUTING",`${b} → ${i}/${q}`):t.info("ROUTING",`Provider: ${i}, Model: ${q}`);let y=d?.headers?.get("user-agent")||"",z=new Set,A=null,B=null,C=await (0,j.mt)();for(;;){let b=await (0,f.c1)(i,z,q);if(!b||b.allRateLimited){if(b?.allRateLimited){let a=A||b.lastError||"Unavailable",c=B||Number(b.lastErrorCode)||r.gx.SERVICE_UNAVAILABLE;return t.warn("CHAT",`[${i}/${q}] ${a} (${b.retryAfterHuman})`),(0,x.recordHealthSample)(i,{success:!1,latencyMs:0,status:c},C),(0,o.wO)(c,`[${i}/${q}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(0===z.size)return t.warn("AUTH",`No active credentials for provider: ${i}`),(0,x.recordHealthSample)(i,{success:!1,latencyMs:0,status:404},C),(0,o.yj)(r.gx.NOT_FOUND,`No active credentials for provider: ${i}`);return t.warn("CHAT","No more accounts available",{provider:i}),(0,x.recordHealthSample)(i,{success:!1,latencyMs:0,status:B||503},C),(0,o.yj)(B||r.gx.SERVICE_UNAVAILABLE,A||"All accounts unavailable")}t.info("AUTH",`\x1b[32mUsing ${i} account: ${b.connectionName}\x1b[0m`);let h=await (0,u.eU)(i,b);if(("antigravity"===i||"gemini-cli"===i)&&!h.projectId){let a=await (0,v.eG)(b.connectionId,h.accessToken,i);a&&(h.projectId=a,(0,u.vN)(b.connectionId,{projectId:a}).catch(()=>{}))}let j=g.thinking||(C.providerThinking||{})[i]||null,k=(0,n.ux)(),p=Date.now(),D=(0,w.gI)(i,h?.providerSpecificData||{}),E=await (0,l.w)({body:{...a,model:`${i}/${q}`},modelInfo:{provider:i,model:q},credentials:h,log:t,clientRawRequest:c,connectionId:b.connectionId,userAgent:y,apiKey:e,ccFilterNaming:!!C.ccFilterNaming,rtkEnabled:!!C.rtkEnabled,headroomEnabled:!!C.headroomEnabled,headroomUrl:C.headroomUrl||m.ag,headroomCompressUserMessages:!!C.headroomCompressUserMessages,cavemanEnabled:!!C.cavemanEnabled,cavemanLevel:C.cavemanLevel||"full",ponytailEnabled:!!C.ponytailEnabled,ponytailLevel:C.ponytailLevel||"full",pxpipeEnabled:!!C.pxpipeEnabled,pxpipeDir:k,pxpipeMinChars:C.pxpipeMinChars||25e3,pxpipeTimeoutMs:C.pxpipeTimeoutMs||5e3,semanticCacheEnabled:!!C.semanticCacheEnabled,semanticCacheThreshold:"number"==typeof C.semanticCacheThreshold?C.semanticCacheThreshold:.85,providerThinking:j,sourceFormatOverride:d?.url?(0,s.t)(new URL(d.url).pathname,a):null,externalSignal:g.signal,onCredentialsRefreshed:async a=>{await (0,u.vN)(b.connectionId,{...a,existingProviderSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(b.connectionId,b,q)}}).catch(a=>{throw g.skipBreaker||(0,w.aS)(i,D),g.skipBreaker||(0,x.recordHealthSample)(i,{success:!1,latencyMs:Date.now()-p,status:0},C),a});if(E.success){let a=Date.now()-p;return g.skipBreaker||(0,w.j8)(i,C,D),(0,x.recordHealthSample)(i,{success:!0,latencyMs:a},C),E.response}let F="vault"===b.connectionId?b.connectionName?.replace("Vault \xb7 ",""):null,{shouldFallback:G}=await (0,f.vk)(b.connectionId,E.status,E.error,i,q,E.resetsAtMs,F),H=Date.now()-p;if((0,x.recordHealthSample)(i,{success:!1,latencyMs:H,status:E.status},C),(0,w.hy)(E.status)&&!g.skipBreaker?(0,w.i5)(i,E.status,C,D):g.skipBreaker||(0,w.aS)(i,D),G){t.warn("AUTH",`Account ${b.connectionName} unavailable (${E.status}), trying fallback`),z.add(b.connectionId),A=E.error,B=E.status;continue}return E.response}}d()}catch(a){d(a)}})},81182:(a,b,c)=>{c.d(b,{O:()=>h,R:()=>g});var d=c(38775),e=c(12280);let f=(a,b)=>a.some(a=>a===b||a.endsWith("/")&&b.startsWith(a));async function g(a,b={}){let c=Array.isArray(a?.models)?[...a.models]:[],f=(0,e.X3)(a?.strategyConfig&&Object.keys(a.strategyConfig).length?a.strategyConfig:b),h=c[0]||"",i="fusion"===f.fallbackStrategy?{judge:f.judgeModel||h}:"swarm"===f.fallbackStrategy?{manager:f.managerModel||h,staff:f.staffModel||f.managerModel||h,audit:f.auditModel||f.staffModel||f.managerModel||h}:{},j=[...c,...Object.values(i)].filter(Boolean),k=[];for(let a of j){let b=await (0,d.mA)(a);if(!b?.provider||!b?.model)throw Error(`Unresolved combo model: ${a}`);k.push({ref:a,provider:b.provider,model:b.model,canonical:`${b.provider}/${b.model}`})}return Object.freeze({comboName:a.name,comboId:a.id,members:Object.freeze(c),config:Object.freeze(f),roleModels:Object.freeze(i),leaves:Object.freeze(k),logicalCalls:(0,e.jm)(f,c.length)})}function h(a,b){let c=a?.allowedModels;if(!Array.isArray(c)||0===c.length)return{allowed:!0,denied:[]};let d=[];for(let a of(f(c,b.comboName)||d.push(b.comboName),b.leaves))f(c,a.ref)||f(c,a.canonical)||d.push(a.ref);return{allowed:0===d.length,denied:[...new Set(d)]}}},85081:(a,b,c)=>{c.d(b,{Ay:()=>j});var d=c(77598);let e=function(a){return Array.isArray(a)?a=Buffer.from(a):"string"==typeof a&&(a=Buffer.from(a,"utf8")),(0,d.createHash)("sha1").update(a).digest()},f=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,g=function(a){let b;if(!("string"==typeof a&&f.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};var h=c(50122);function i(a,b,c,d){var f=b,i=d;let j="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,k="string"==typeof f?g(f):f;if("string"==typeof f&&(f=g(f)),f?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+j.length);if(l.set(k),l.set(j,k.length),(l=e(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,c){if((i=i||0)<0||i+16>c.length)throw RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);for(let a=0;a<16;++a)c[i+a]=l[a];return c}return(0,h.k)(l)}i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let j=i},87631:(a,b,c)=>{c.d(b,{ED:()=>l,tM:()=>m,ux:()=>k});var d=c(73024),e=c(76760),f=c(31421),g=c(58273);let h=(0,e.join)(g.n||".","pxpipe"),i=(0,e.join)(h,".installed-version"),j="pxpipe-proxy";function k(){return h}function l(){try{(0,d.existsSync)(h)||(0,d.mkdirSync)(h,{recursive:!0});let a=(0,e.join)(h,"package.json");(0,d.existsSync)(a)||(0,d.writeFileSync)(a,JSON.stringify({name:"extremerouter-pxpipe",private:!0,type:"module"},null,2)),(0,f.execSync)(`npm install ${j}@latest --no-save --prefix "${h}"`,{cwd:h,stdio:"pipe",timeout:6e4});let b="unknown";try{b=JSON.parse((0,d.readFileSync)((0,e.join)(h,"node_modules",j,"package.json"),"utf-8")).version||"unknown"}catch{}return(0,d.writeFileSync)(i,b),{success:!0,version:b}}catch(a){return{success:!1,error:a?.message||String(a)}}}function m(){return{installed:function(){try{let{createRequire:a}=c(98995);return a("file:///C:/Users/Administrator/Desktop/Projects/ExtremeRouter/src/lib/pxpipe/manager.js").resolve("pxpipe-proxy/transform",{paths:[h]}),!0}catch{return!1}}(),version:function(){try{return(0,d.readFileSync)(i,"utf-8").trim()||null}catch{return null}}(),dir:h}}}};
1
+ "use strict";exports.id=5961,exports.ids=[5628,5961],exports.modules={3894:(a,b,c)=>{c.d(b,{Qh:()=>p,ag:()=>l,kI:()=>m,sy:()=>o});var d=c(79646),e=c(33873),f=c.n(e);let g="win32"===process.platform,h=g?"where":"which",i=[...g?[`${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"],process.env.PATH||""].filter(Boolean).join(f().delimiter),j=["python3.13","python3.12","python3.11","python3.10","python3","python"],k=new Set(["localhost","127.0.0.1","::1","[::1]","0.0.0.0"]),l=process.env.HEADROOM_URL||"http://localhost:8787";function m(){try{let a=(0,d.execSync)(`${h} headroom`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:i}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}async function n(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 o(a){try{let b=new URL(a);return k.has(b.hostname)}catch{return!1}}async function p(a){let b=m(),c=function(){for(let a of j)try{let b=(0,d.execSync)(`${a} --version`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:i}}).toString().trim().match(/(\d+)\.(\d+)/);if(!b)continue;let[c,e]=[parseInt(b[1],10),parseInt(b[2],10)];if(c>3||3===c&&e>=10)return a}catch{}return null}(),e=!!b,f=await n(a),g=o(a);return{installed:e,path:b,running:f,python:c,localUrl:g,canStart:e&&g}}},15628:(a,b,c)=>{c.d(b,{H:()=>m,L:()=>g,getProviderHealth:()=>k,recordHealthSample:()=>j});var d=c(78474);let e=200/3e5;global._healthMonitors||(global._healthMonitors=new Map,global._healthEmitter=new d.EventEmitter,global._healthEmitter.setMaxListeners(100));let f=global._healthMonitors,g=global._healthEmitter,h={enabled:!0,windowMs:3e5};function i(a){return Math.min(2e3,Math.max(200,Math.ceil(e*a*5)))}function j(a,{success:b,latencyMs:d,status:e,trafficClass:l="user"},m={}){var n,o,p;let q,r,s={...h,...m?.healthMonitor||{}},t=(n=s.windowMs,q=f.get(a),r=n||h.windowMs,q?q.windowMs!==r&&(q.windowMs=r,q.maxSamples=i(r),q.cachedAggregate=null):(q={provider:a,samples:[],windowMs:r,emitTimer:null,lastSuccessRate:void 0,lastActivityAt:Date.now(),maxSamples:i(r),cachedAggregate:null,cachedAt:0},f.set(a,q)),q);if(t._enabled=s.enabled,t.lastActivityAt=Date.now(),!s.enabled){t.emitTimer&&(clearTimeout(t.emitTimer),t.emitTimer=null);return}if("user"!==l)return;let u=Date.now();t.samples.push({ts:u,success:!!b,latencyMs:d||0,status:e||200*!!b,trafficClass:l}),t.cachedAggregate=null;let v=u-t.windowMs;t.samples=t.samples.filter(a=>a.ts>=v),t.samples.length>t.maxSamples&&(t.samples=t.samples.slice(-t.maxSamples)),o=a,(p=t).emitTimer&&clearTimeout(p.emitTimer),p.emitTimer=setTimeout(()=>{if(p.emitTimer=null,!p._enabled)return;let a=k(o);if(!a)return;g.emit("health:update",a);let b=a.successRate,d=p.lastSuccessRate??1;if(null!==b&&b<.7&&d>=.7&&a.total>=5){let e={provider:o,successRate:Math.round(100*b),avgLatencyMs:a.avgLatencyMs,message:`Provider "${o}" health degraded — success rate dropped to ${Math.round(100*b)}% (from ${Math.round(100*d)}%).`};g.emit("health:degraded",{type:"health_degraded",...e}),Promise.all([c.e(9703),c.e(9422),c.e(9903)]).then(c.bind(c,49573)).then(({dispatchAlert:a})=>{try{a("health_degraded",e)}catch(a){console.error("[HEALTH] Alert dispatch failed:",a?.message||a)}}).catch(a=>{console.error("[HEALTH] Alert module load failed:",a?.message||a)})}p.lastSuccessRate=b},500)}function k(a){let b=f.get(a);if(!b)return null;let c=Date.now();if(b.cachedAggregate&&c-b.cachedAt<1e3)return b.cachedAggregate;let d=c-b.windowMs,e=b.samples.filter(a=>a.ts>=d);if(0===e.length)return{provider:a,total:0,successes:0,failures:0,successRate:null,avgLatencyMs:null,p95LatencyMs:null,lastError:null,lastErrorAt:null};let g=e.filter(a=>a.success).length,h=e.length-g,i=e.filter(a=>a.latencyMs>0).map(a=>a.latencyMs),j=i.length>0?Math.round(i.reduce((a,b)=>a+b,0)/i.length):null,k=i.length>0?Math.round(function(a){if(0===a.length)return 0;if(1===a.length)return a[0];let b=.95*(a.length-1),c=Math.floor(b),d=Math.ceil(b),e=b-c;return a[c]*(1-e)+a[d]*e}([...i].sort((a,b)=>a-b))):null,l=[...e].reverse().find(a=>!a.success),m={provider:a,total:e.length,successes:g,failures:h,successRate:g/e.length,avgLatencyMs:j,p95LatencyMs:k,lastError:l?"0"===String(l.status)?"Network error":String(l.status):null,lastErrorAt:l?l.ts:null};return b.cachedAggregate=m,b.cachedAt=c,m}let l=0;function m(){return!function(a){if(a-l<6e4)return;l=a;let b=a-6e5;for(let[a,c]of f)(c.lastActivityAt||0)<b&&(c.emitTimer&&clearTimeout(c.emitTimer),f.delete(a))}(Date.now()),[...f.keys()].map(a=>k(a)).filter(Boolean).sort((a,b)=>b.total-a.total)}},22673:(a,b,c)=>{c.d(b,{Eb:()=>g,ar:()=>h});let d=parseInt(process.env.EXTREMEROUTER_RATE_LIMIT_RPM||"60",10),e=parseInt(process.env.EXTREMEROUTER_RATE_LIMIT_BURST||"10",10),f=global._rateLimitBuckets??=new Map;function g(a,b=d,c=e,h=1){let i=Math.max(1,Number(h)||1),j=Math.max(c,i);if(!a)return{allowed:!0,retryAfterMs:0,remaining:j};let k=Date.now(),l=b/60,m=f.get(a);(!m||k-m.lastEvicted>3e5)&&(m={tokens:j,lastRefill:k,lastEvicted:k},f.set(a,m));let n=(k-m.lastRefill)/1e3;return(m.tokens=Math.min(j,m.tokens+n*l),m.lastRefill=k,m.lastEvicted=k,m.tokens>=i)?(m.tokens-=i,{allowed:!0,retryAfterMs:0,remaining:Math.floor(m.tokens)}):{allowed:!1,retryAfterMs:Math.max(Math.ceil((i-m.tokens)/l*1e3),1e3),remaining:0}}function h(){let a=Date.now();for(let[b,c]of f)a-c.lastEvicted>3e5&&f.delete(b)}},26951:(a,b,c)=>{c.d(b,{I:()=>g});var d=c(12280),e=c(66306),f=c(58920);function g({body:a,config:b,leaves:c=[],logicalCalls:h=1}){let i=(0,d.X3)(b).budgets,j=Math.ceil((a=>{try{return JSON.stringify(a).length}catch{return 0}})(a)/4),k=0;for(let a of c){let b=(0,f.getPricingForModel)(a.provider,a.model);if(!b)continue;let c=Math.min((0,e.nl)(a.provider,a.model).maxOutput||4e3,4e3);k+=j*(b.input/1e6)+c*(b.output/1e6)}if(h>i.maxLogicalCalls)return{ok:!1,code:"combo_call_budget_exceeded",logicalCalls:h,limit:i.maxLogicalCalls};if(k>i.maxEstimatedCostUsd)return{ok:!1,code:"combo_cost_budget_exceeded",estimatedCostUsd:k,limit:i.maxEstimatedCostUsd};let l=0;return{ok:!0,inputTokens:j,estimatedCostUsd:k,limits:i,consumeOutput(a){let b=String(a||"").length;return l+=b,b<=i.maxOutputChars&&l<=i.maxAggregateOutputChars},clampOutput(a){let b=Math.max(0,Math.min(i.maxOutputChars,i.maxAggregateOutputChars-l)),c=String(a||"").slice(0,b||i.maxOutputChars);return l+=c.length,c},snapshot:()=>({inputTokens:j,estimatedCostUsd:k,aggregateOutputChars:l,limits:i})}}},38775:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>i});var d=c(89718),e=c(40669),f=c(96970);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}},75627:(a,b,c)=>{c.d(b,{Q:()=>d});async function d(a,b=0xa00000){let c=parseInt(a.headers.get("content-length")||"0",10);if(c>b)throw Error(`Request body too large: ${c} bytes exceeds ${b} byte limit`);let e=a.body?.getReader();if(!e)return"";let f=new TextDecoder,g=0,h="";for(;;){let{done:a,value:c}=await e.read();if(a)break;if((g+=c.length)>b){try{e.cancel()}catch{}throw Error(`Request body too large: exceeds ${b} byte limit`)}h+=f.decode(c,{stream:!0})}return h+f.decode()}},76199:(a,b,c)=>{c.d(b,{HQ:()=>g,m2:()=>f});var d=c(12280);let e=global._comboAdmissionState??={global:0,principals:new Map};function f(a){let b=a||"local",c=e.principals.get(b)||0;if(c>=d.wg.maxConcurrentRunsPerPrincipal)return{ok:!1,status:429,code:"combo_concurrency_exceeded",retryAfter:1};if(e.global>=d.wg.maxConcurrentRunsGlobal)return{ok:!1,status:503,code:"combo_capacity_exceeded",retryAfter:1};e.global++,e.principals.set(b,c+1);let f=!1;return{ok:!0,release(){if(f)return;f=!0,e.global=Math.max(0,e.global-1);let a=Math.max(0,(e.principals.get(b)||1)-1);0===a?e.principals.delete(b):e.principals.set(b,a)}}}function g(a,b){if(!b?.ok||!a?.body)return b?.release?.(),a;let c=a.body.getReader();return new Response(new ReadableStream({async pull(a){try{let{done:d,value:e}=await c.read();if(d){b.release(),a.close();return}a.enqueue(e)}catch(c){b.release(),a.error(c)}},cancel:a=>(b.release(),c.cancel(a))}),{status:a.status,statusText:a.statusText,headers:a.headers})}},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>E});var e=c(48895),f=c(80238),g=c(71750),h=c(75627),i=c(22673),j=c(89718),k=c(92060),l=c(38775),m=c(92500),n=c(3894),o=c(87631),p=c(43659),q=c(82121),r=c(27349),s=c(41004),t=c(14170),u=c(7803),v=c(67828),w=c(38160),x=c(24467),y=c(15628),z=c(81182),A=c(76199),B=c(26951),C=a([e,m]);async function D(a,{body:b,clientRawRequest:c,request:d,apiKey:e,settings:f,keyObj:g,rateLimitKey:h}){if(a.includes("/"))return null;let k=await (0,j.Dj)(a);if(!k?.models?.length)return null;try{let j=await (0,z.R)(k,f.comboStrategies?.[a]),l=(0,z.O)(g,j);if(!l.allowed)return u.warn("AUTH",`Combo "${a}" denied expanded models: ${l.denied.join(", ")}`),(0,p.yj)(s.gx.FORBIDDEN,`Combo execution includes models not allowed for this API key: ${l.denied.join(", ")}`);if(j.logicalCalls>1&&!(0,i.Eb)(h,void 0,void 0,j.logicalCalls-1).allowed)return(0,p.yj)(s.gx.TOO_MANY_REQUESTS,"Combo rate limit exceeded");let m=(0,B.I)({body:b,config:j.config,leaves:j.leaves,logicalCalls:j.logicalCalls});if(!m.ok)return(0,p.yj)(s.gx.BAD_REQUEST,`Combo budget rejected: ${m.code}`);let n=(0,A.m2)(g?.id||h);if(!n.ok)return new Response(JSON.stringify({error:{message:"Combo capacity unavailable",code:n.code}}),{status:n.status,headers:{"Content-Type":"application/json","Retry-After":String(n.retryAfter)}});let o=new AbortController,q=()=>o.abort(d.signal?.reason||Error("client disconnected"));d.signal?.aborted?q():d.signal?.addEventListener("abort",q,{once:!0});try{let a=await F({body:b,graph:j,clientRawRequest:c,request:d,apiKey:e,settings:f,signal:o.signal,budget:m,principalId:g?.id||"local",keyObj:g});return(0,A.HQ)(a,n)}catch(a){throw n.release(),a}finally{d.signal?.removeEventListener("abort",q)}}catch(a){return u.warn("COMBO",`Combo resolution failed: ${a?.message||a}`),(0,p.yj)(s.gx.BAD_REQUEST,a?.message||"Invalid combo configuration")}}async function E(a,b=null){let c;try{let b=await (0,h.Q)(a,0xa00000);c=JSON.parse(b)}catch(a){if(a.message?.includes("too large"))return(0,p.yj)(s.gx.BAD_REQUEST,a.message);return u.warn("CHAT","Invalid JSON body"),(0,p.yj)(s.gx.BAD_REQUEST,"Invalid JSON body")}b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())}),(0,g.n)(b.headers);let d=new URL(a.url),e=c.model,l=c.messages?.length||c.input?.length||0,m=c.tools?.length||0,n=c.reasoning_effort||c.reasoning?.effort||null;u.request("POST",`${d.pathname} | ${e} | ${l} msgs${m?` | ${m} tools`:""}${n?` | effort=${n}`:""}`);let o=a.headers.get("Authorization"),q=(0,f.Tr)(a),t=q||b?.headers?.["x-9r-real-ip"]||"anonymous",v=(0,i.Eb)(t);if((0,i.ar)(),!v.allowed)return u.warn("RATE",`Rate limited: ${t.slice(0,12)}... retry in ${Math.ceil(v.retryAfterMs/1e3)}s`),new Response(JSON.stringify({error:{message:`Rate limit exceeded. Try again in ${Math.ceil(v.retryAfterMs/1e3)} seconds.`,type:"rate_limit_error",code:"rate_limited"}}),{status:429,headers:{"Content-Type":"application/json","Retry-After":String(Math.ceil(v.retryAfterMs/1e3)),"X-RateLimit-Remaining":String(v.remaining)}});if(o&&q){let a=u.maskKey(q);u.debug("AUTH",`API Key: ${a}`)}else u.debug("AUTH","No API key provided (local mode)");let w=await (0,j.mt)();if(w.requireApiKey){if(!q)return u.warn("AUTH","Missing API key (requireApiKey=true)"),(0,p.yj)(s.gx.UNAUTHORIZED,"Missing API key");if(!await (0,f.kI)(q))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");let x=null;q&&(x=await (0,j.mY)(q).catch(a=>(u.warn("AUTH",`ACL lookup error: ${a?.message||a}`),null)));let y=a?.headers?.get("user-agent")||"",z=(0,r.c)(c,e,y,!!w.ccFilterNaming);if(z)return z.response||z;let A=e.includes("/")?null:await (0,j.Dj)(e);if(A?.models?.length)return await D(e,{body:c,clientRawRequest:b,request:a,apiKey:q,settings:w,keyObj:x,rateLimitKey:t});let B=(0,k.ox)(x,e);return B||G(c,e,b,a,q)}async function F({body:a,graph:b,clientRawRequest:c,request:d,apiKey:e,settings:f,signal:g,budget:h,principalId:i,keyObj:j}){let{comboName:k,config:l,members:m}=b,n=l.fallbackStrategy,o=l?.thinking,p=(a,b,f={})=>{let g="boolean"==typeof f?{isPanel:f}:f,h=function(a,b){if(!a||"auto"===a.type||"off"===a.type)return null;if(b&&a.roles?.[b]){let c=a.roles[b];return"inherit"===c.type||void 0===c.type?{...a,...c,roles:void 0}:c}return a}(o,g.role),i=c;if(g.isPanel&&c){let{tools:a,tool_choice:b,...d}=c.body||{};i={...c,body:d}}return G(a,b,i,d,e,{skipBreaker:g.isPanel,signal:g.signal,trafficClass:g.trafficClass||(g.isPanel?"panel":"user"),thinking:h,keyObj:j})};return"fusion"===n?(u.info("CHAT",`Combo "${k}" with ${m.length} models (strategy: fusion)`),(0,q.vt)({body:a,models:m,handleSingleModel:p,log:u,comboName:k,judgeModel:l.judgeModel,tuning:l.fusionTuning,signal:g,runBudget:h})):"swarm"===n?(u.info("CHAT",`Combo "${k}" with ${m.length} models (strategy: swarm)`),(0,q.je)({body:a,models:m,handleSingleModel:p,log:u,comboName:k,managerModel:l.managerModel,staffModel:l.staffModel,auditModel:l.auditModel,workerCount:l.workerCount,swarmTuning:l.swarmTuning,telemetry:l.enableTelemetry,signal:g,runBudget:h,principalId:i,autoScale:l.autoScale})):"cascade"===n?(u.info("CHAT",`Combo "${k}" with ${m.length} models (strategy: cascade)`),(0,q.Ni)({body:a,models:m,handleSingleModel:p,log:u,comboName:k,tuning:l.cascade,signal:g})):(u.info("CHAT",`Combo "${k}" with ${m.length} models (strategy: ${n})`),(0,q.Pr)({body:a,models:m,handleSingleModel:p,log:u,comboName:k,comboStrategy:n,comboStickyLimit:f.comboStickyRoundRobinLimit,breakerSettings:f,signal:g,runBudget:h}))}async function G(a,b,c=null,d=null,e=null,g={}){let h=await (0,l.mA)(b);if(!h.provider){let f=await (0,j.mt)(),h=await D(b,{body:a,clientRawRequest:c,request:d,apiKey:e,settings:f,keyObj:g.keyObj||null,rateLimitKey:g.principalId||g.rateLimitKey||"local"});return h||(u.warn("CHAT","Invalid model format",{model:b}),(0,p.yj)(s.gx.BAD_REQUEST,"Invalid model format"))}let{provider:i,model:k}=h;b!==`${i}/${k}`?u.info("ROUTING",`${b} → ${i}/${k}`):u.info("ROUTING",`Provider: ${i}, Model: ${k}`);let q=d?.headers?.get("user-agent")||"",r=new Set,z=null,A=null,B=await (0,j.mt)();for(;;){let b=await (0,f.c1)(i,r,k);if(!b||b.allRateLimited){if(b?.allRateLimited){let a=z||b.lastError||"Unavailable",c=A||Number(b.lastErrorCode)||s.gx.SERVICE_UNAVAILABLE;return u.warn("CHAT",`[${i}/${k}] ${a} (${b.retryAfterHuman})`),(0,y.recordHealthSample)(i,{success:!1,latencyMs:0,status:c},B),(0,x.aS)(i),(0,p.wO)(c,`[${i}/${k}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(0===r.size)return u.warn("AUTH",`No active credentials for provider: ${i}`),(0,y.recordHealthSample)(i,{success:!1,latencyMs:0,status:404},B),(0,x.aS)(i),(0,p.yj)(s.gx.NOT_FOUND,`No active credentials for provider: ${i}`);return u.warn("CHAT","No more accounts available",{provider:i}),(0,y.recordHealthSample)(i,{success:!1,latencyMs:0,status:A||503},B),(0,x.aS)(i),(0,p.yj)(A||s.gx.SERVICE_UNAVAILABLE,z||"All accounts unavailable")}u.info("AUTH",`\x1b[32mUsing ${i} account: ${b.connectionName}\x1b[0m`);let h=await (0,v.eU)(i,b);if(("antigravity"===i||"gemini-cli"===i)&&!h.projectId){let a=await (0,w.eG)(b.connectionId,h.accessToken,i);a&&(h.projectId=a,(0,v.vN)(b.connectionId,{projectId:a}).catch(()=>{}))}let j=g.thinking||(B.providerThinking||{})[i]||null,l=(0,o.ux)(),C=Date.now(),D=(0,x.gI)(i,h?.providerSpecificData||{}),E=await (0,m.w)({body:{...a,model:`${i}/${k}`},modelInfo:{provider:i,model:k},credentials:h,log:u,clientRawRequest:c,connectionId:b.connectionId,userAgent:q,apiKey:e,ccFilterNaming:!!B.ccFilterNaming,rtkEnabled:!!B.rtkEnabled,headroomEnabled:!!B.headroomEnabled,headroomUrl:B.headroomUrl||n.ag,headroomCompressUserMessages:!!B.headroomCompressUserMessages,cavemanEnabled:!!B.cavemanEnabled,cavemanLevel:B.cavemanLevel||"full",ponytailEnabled:!!B.ponytailEnabled,ponytailLevel:B.ponytailLevel||"full",pxpipeEnabled:!!B.pxpipeEnabled,pxpipeDir:l,pxpipeMinChars:B.pxpipeMinChars||25e3,pxpipeTimeoutMs:B.pxpipeTimeoutMs||5e3,semanticCacheEnabled:!!B.semanticCacheEnabled,semanticCacheThreshold:"number"==typeof B.semanticCacheThreshold?B.semanticCacheThreshold:.85,providerThinking:j,sourceFormatOverride:d?.url?(0,t.t)(new URL(d.url).pathname,a):null,externalSignal:g.signal,onCredentialsRefreshed:async a=>{await (0,v.vN)(b.connectionId,{...a,existingProviderSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(b.connectionId,b,k)}}).catch(a=>{throw g.skipBreaker||(0,x.aS)(i,D),g.skipBreaker||(0,y.recordHealthSample)(i,{success:!1,latencyMs:Date.now()-C,status:0},B),a});if(E.success){let a=Date.now()-C;return g.skipBreaker||(0,x.j8)(i,B,D),(0,y.recordHealthSample)(i,{success:!0,latencyMs:a},B),E.response}let F="vault"===b.connectionId?b.connectionName?.replace("Vault \xb7 ",""):null,{shouldFallback:G}=await (0,f.vk)(b.connectionId,E.status,E.error,i,k,E.resetsAtMs,F),H=Date.now()-C;if((0,y.recordHealthSample)(i,{success:!1,latencyMs:H,status:E.status},B),(0,x.hy)(E.status)&&!g.skipBreaker?(0,x.i5)(i,E.status,B,D):g.skipBreaker||(0,x.aS)(i,D),G){u.warn("AUTH",`Account ${b.connectionName} unavailable (${E.status}), trying fallback`),r.add(b.connectionId),z=E.error,A=E.status;continue}return E.response}}[e,m]=C.then?(await C)():C,d()}catch(a){d(a)}})},81182:(a,b,c)=>{c.d(b,{O:()=>h,R:()=>g});var d=c(38775),e=c(12280),f=c(92060);async function g(a,b={}){let c=Array.isArray(a?.models)?[...a.models]:[],f=a?.strategyConfig&&"object"==typeof a?.strategyConfig?a.strategyConfig:{},h=(0,e.X3)({...f,...b&&"object"==typeof b?b:{}}),i=c[0]||"",j="fusion"===h.fallbackStrategy?{judge:h.judgeModel||i}:"swarm"===h.fallbackStrategy?{manager:h.managerModel||i,staff:h.staffModel||h.managerModel||i,audit:h.auditModel||h.staffModel||h.managerModel||i}:{},k=[...c,...Object.values(j)].filter(Boolean),l=[];for(let a of k){let b=await (0,d.mA)(a);if(!b?.provider||!b?.model)throw Error(`Unresolved combo model: ${a}`);l.push({ref:a,provider:b.provider,model:b.model,canonical:`${b.provider}/${b.model}`})}return Object.freeze({comboName:a.name,comboId:a.id,members:Object.freeze(c),config:Object.freeze(h),roleModels:Object.freeze(j),leaves:Object.freeze(l),logicalCalls:(0,e.jm)(h,c.length)})}function h(a,b){let c=a?.allowedModels;if(!Array.isArray(c)||0===c.length)return{allowed:!0,denied:[]};let d=[];for(let a of((0,f.mQ)(c,b.comboName)||d.push(b.comboName),b.leaves))(0,f.mQ)(c,a.ref)||(0,f.mQ)(c,a.canonical)||d.push(a.ref);return{allowed:0===d.length,denied:[...new Set(d)]}}},85081:(a,b,c)=>{c.d(b,{Ay:()=>j});var d=c(77598);let e=function(a){return Array.isArray(a)?a=Buffer.from(a):"string"==typeof a&&(a=Buffer.from(a,"utf8")),(0,d.createHash)("sha1").update(a).digest()},f=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,g=function(a){let b;if(!("string"==typeof a&&f.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};var h=c(50122);function i(a,b,c,d){var f=b,i=d;let j="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,k="string"==typeof f?g(f):f;if("string"==typeof f&&(f=g(f)),f?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+j.length);if(l.set(k),l.set(j,k.length),(l=e(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,c){if((i=i||0)<0||i+16>c.length)throw RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);for(let a=0;a<16;++a)c[i+a]=l[a];return c}return(0,h.k)(l)}i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let j=i},87631:(a,b,c)=>{c.d(b,{ED:()=>l,tM:()=>m,ux:()=>k});var d=c(73024),e=c(76760),f=c(31421),g=c(58273);let h=(0,e.join)(g.n||".","pxpipe"),i=(0,e.join)(h,".installed-version"),j="pxpipe-proxy";function k(){return h}function l(){try{(0,d.existsSync)(h)||(0,d.mkdirSync)(h,{recursive:!0});let a=(0,e.join)(h,"package.json");(0,d.existsSync)(a)||(0,d.writeFileSync)(a,JSON.stringify({name:"extremerouter-pxpipe",private:!0,type:"module"},null,2)),(0,f.execSync)(`npm install ${j}@latest --no-save --prefix "${h}"`,{cwd:h,stdio:"pipe",timeout:6e4});let b="unknown";try{b=JSON.parse((0,d.readFileSync)((0,e.join)(h,"node_modules",j,"package.json"),"utf-8")).version||"unknown"}catch{}return(0,d.writeFileSync)(i,b),{success:!0,version:b}}catch(a){return{success:!1,error:a?.message||String(a)}}}function m(){return{installed:function(){try{let{createRequire:a}=c(98995);return a("file:///home/runner/work/ExtremeRouter/ExtremeRouter/src/lib/pxpipe/manager.js").resolve("pxpipe-proxy/transform",{paths:[h]}),!0}catch{return!1}}(),version:function(){try{return(0,d.readFileSync)(i,"utf-8").trim()||null}catch{return null}}(),dir:h}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=6070,exports.ids=[6070],exports.modules={3662:(a,b,c)=>{c.d(b,{EQ:()=>f,LY:()=>d,O:()=>e,fh:()=>h,gd:()=>i,t2:()=>j,wf:()=>g});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Model not found",406:"Model not supported",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},f={base:2e3,max:3e5,maxLevel:15},g=3e4,h=18e5,i={kiro:864e5},j=[{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"improperly formed request",cooldownMs:12e4},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{status:401,cooldownMs:12e4},{status:402,cooldownMs:12e4},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:429,backoff:!0}]},26070:(a,b,c)=>{c.d(b,{xq:()=>p,B$:()=>s,vq:()=>q,sr:()=>r});var d=c(31630),e=c(41004);let f={baseUrl:"",format:"openai",headers:{},auth:{header:"Authorization",scheme:"bearer",source:["accessToken","apiKey"]},forceStream:!1,urlSuffix:"",quirks:{},passthroughModels:!1,retry:e.cI,timeoutMs:e.pH,executor:"default"};var g=c(99511);let h={alloy:{id:"alloy",name:"Alloy"},ash:{id:"ash",name:"Ash"},ballad:{id:"ballad",name:"Ballad"},cedar:{id:"cedar",name:"Cedar"},coral:{id:"coral",name:"Coral"},echo:{id:"echo",name:"Echo"},fable:{id:"fable",name:"Fable"},marin:{id:"marin",name:"Marin"},nova:{id:"nova",name:"Nova"},onyx:{id:"onyx",name:"Onyx"},sage:{id:"sage",name:"Sage"},shimmer:{id:"shimmer",name:"Shimmer"},verse:{id:"verse",name:"Verse"}},i=(...a)=>a.map(a=>({...h[a],type:"tts"})),j=i("alloy","ash","coral","echo","fable","nova","onyx","sage","shimmer"),k=i("alloy","ash","ballad","cedar","coral","echo","fable","marin","nova","onyx","sage","shimmer","verse"),l=["Zephyr","Puck","Charon","Kore","Fenrir","Leda","Orus","Aoede","Callirrhoe","Autonoe","Enceladus","Iapetus","Umbriel","Algieba","Despina","Erinome","Algenib","Rasalgethi","Laomedeia","Achernar","Alnilam","Schedar","Gacrux","Pulcherrima","Achird","Zubenelgenubi","Vindemiatrix","Sadachbia","Sadaltager","Sulafat"].map(a=>({id:a,name:a,type:"tts"})),m={openai:{models:[{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"tts-1",name:"TTS-1",type:"tts"}],voices:{"gpt-4o-mini-tts":k,"tts-1":j,"tts-1-hd":j},allVoices:k},openrouter:{models:[{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"openai/tts-1",name:"TTS-1",type:"tts"}],voices:{"openai/gpt-4o-mini-tts":k,"openai/tts-1":j,"openai/tts-1-hd":j},allVoices:k},elevenlabs:{models:[{id:"eleven_flash_v2_5",name:"Flash v2.5 (Fastest)",type:"tts"},{id:"eleven_turbo_v2_5",name:"Turbo v2.5 (Fast)",type:"tts"},{id:"eleven_multilingual_v2",name:"Multilingual v2 (Quality)",type:"tts"},{id:"eleven_monolingual_v1",name:"Monolingual v1 (English)",type:"tts"}]},"edge-tts":{defaults:[{id:"en-US-AriaNeural",name:"Aria (en-US)",type:"tts"},{id:"en-US-GuyNeural",name:"Guy (en-US)",type:"tts"},{id:"en-GB-SoniaNeural",name:"Sonia (en-GB)",type:"tts"},{id:"vi-VN-HoaiMyNeural",name:"Hoai My (vi-VN)",type:"tts"},{id:"vi-VN-NamMinhNeural",name:"Nam Minh (vi-VN)",type:"tts"},{id:"zh-CN-XiaoxiaoNeural",name:"Xiaoxiao (zh-CN)",type:"tts"},{id:"zh-CN-YunxiNeural",name:"Yunxi (zh-CN)",type:"tts"},{id:"fr-FR-DeniseNeural",name:"Denise (fr-FR)",type:"tts"},{id:"de-DE-KatjaNeural",name:"Katja (de-DE)",type:"tts"},{id:"ja-JP-NanamiNeural",name:"Nanami (ja-JP)",type:"tts"},{id:"ko-KR-SunHiNeural",name:"SunHi (ko-KR)",type:"tts"}]},"local-device":{defaults:[{id:"default",name:"System Default Voice",type:"tts"}]},"google-tts":{defaults:[{id:"af",name:"Afrikaans",type:"tts"},{id:"ar",name:"Arabic",type:"tts"},{id:"bg",name:"Bulgarian",type:"tts"},{id:"bn",name:"Bengali",type:"tts"},{id:"bs",name:"Bosnian",type:"tts"},{id:"ca",name:"Catalan",type:"tts"},{id:"cs",name:"Czech",type:"tts"},{id:"cy",name:"Welsh",type:"tts"},{id:"da",name:"Danish",type:"tts"},{id:"de",name:"German",type:"tts"},{id:"el",name:"Greek",type:"tts"},{id:"en",name:"English",type:"tts"},{id:"eo",name:"Esperanto",type:"tts"},{id:"es",name:"Spanish",type:"tts"},{id:"et",name:"Estonian",type:"tts"},{id:"fi",name:"Finnish",type:"tts"},{id:"fr",name:"French",type:"tts"},{id:"gu",name:"Gujarati",type:"tts"},{id:"hi",name:"Hindi",type:"tts"},{id:"hr",name:"Croatian",type:"tts"},{id:"hu",name:"Hungarian",type:"tts"},{id:"hy",name:"Armenian",type:"tts"},{id:"id",name:"Indonesian",type:"tts"},{id:"is",name:"Icelandic",type:"tts"},{id:"it",name:"Italian",type:"tts"},{id:"ja",name:"Japanese",type:"tts"},{id:"jw",name:"Javanese",type:"tts"},{id:"km",name:"Khmer",type:"tts"},{id:"kn",name:"Kannada",type:"tts"},{id:"ko",name:"Korean",type:"tts"},{id:"la",name:"Latin",type:"tts"},{id:"lv",name:"Latvian",type:"tts"},{id:"mk",name:"Macedonian",type:"tts"},{id:"ml",name:"Malayalam",type:"tts"},{id:"mr",name:"Marathi",type:"tts"},{id:"my",name:"Myanmar (Burmese)",type:"tts"},{id:"ne",name:"Nepali",type:"tts"},{id:"nl",name:"Dutch",type:"tts"},{id:"no",name:"Norwegian",type:"tts"},{id:"pl",name:"Polish",type:"tts"},{id:"pt",name:"Portuguese",type:"tts"},{id:"ro",name:"Romanian",type:"tts"},{id:"ru",name:"Russian",type:"tts"},{id:"si",name:"Sinhala",type:"tts"},{id:"sk",name:"Slovak",type:"tts"},{id:"sq",name:"Albanian",type:"tts"},{id:"sr",name:"Serbian",type:"tts"},{id:"su",name:"Sundanese",type:"tts"},{id:"sv",name:"Swedish",type:"tts"},{id:"sw",name:"Swahili",type:"tts"},{id:"ta",name:"Tamil",type:"tts"},{id:"te",name:"Telugu",type:"tts"},{id:"th",name:"Thai",type:"tts"},{id:"tl",name:"Filipino",type:"tts"},{id:"tr",name:"Turkish",type:"tts"},{id:"uk",name:"Ukrainian",type:"tts"},{id:"ur",name:"Urdu",type:"tts"},{id:"vi",name:"Vietnamese",type:"tts"},{id:"zh-CN",name:"Chinese (Simplified)",type:"tts"},{id:"zh-TW",name:"Chinese (Traditional)",type:"tts"}]},gemini:{models:[{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",type:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",type:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",type:"tts"}],voices:{"gemini-3.1-flash-tts-preview":l,"gemini-2.5-flash-preview-tts":l,"gemini-2.5-pro-preview-tts":l},allVoices:l}},n=["clientId","clientSecret","tokenUrl"],o=new Set(["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"]),p={},q={},r={},s={};for(let a of d.A){a.transport&&(p[a.id]=function(a,b){let c={...a};if(c.format||(c.format=f.format),b)for(let a of n)void 0===c[a]&&void 0!==b[a]&&(c[a]=b[a]);return c}(a.transport,a.oauth),a.transports&&(p[a.id].transports=a.transports)),void 0!==a.models&&(q[a.alias||a.id]=a.models.map(g.pk)),a.oauth&&(r[a.id]=a.oauth);let b={};for(let c of o)void 0!==a[c]&&(b[c]=a[c]);a.media&&Object.assign(b,a.media),Object.keys(b).length&&(s[a.id]=b)}Object.assign(q,function(){let a={};for(let[b,c]of Object.entries(m))c.models&&(a[`${b}-tts-models`]=c.models),c.allVoices&&(a[`${b}-tts-voices`]=c.allVoices),c.defaults&&(a[b]=c.defaults);return a["openai-tts-voices"]=m.openai.allVoices,a["openrouter-tts-voices"]=m.openrouter.allVoices,a}())},41004:(a,b,c)=>{c.d(b,{C8:()=>n,DR:()=>m,IK:()=>i,Uc:()=>j,cI:()=>l,eo:()=>k,gx:()=>d,pH:()=>h,v1:()=>e,xM:()=>g}),c(3662);let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},e={sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20};function f(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}let g=f("STREAM_STALL_TIMEOUT_MS",36e4);f("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5);let h=f("FETCH_CONNECT_TIMEOUT_MS",6e4),i=f("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3),j=64e3,k=32e3,l={429:{attempts:0,delayMs:0},502:{attempts:3,delayMs:3e3},503:{attempts:3,delayMs:2e3},504:{attempts:2,delayMs:3e3}};function m(a){return null==a?{attempts:0,delayMs:2e3}:"number"==typeof a?{attempts:a,delayMs:2e3}:{attempts:a.attempts||0,delayMs:null!=a.delayMs?a.delayMs:2e3}}let n=["Please write a 5-10 word title for the following conversation:"]},99511:(a,b,c)=>{function d(a){return a.split(/[-_\s]+/).filter(Boolean).map(a=>/^\d/.test(a)?a:a.charAt(0).toUpperCase()+a.slice(1)).join(" ")}c.d(b,{g5:()=>g,gr:()=>h,pk:()=>f});let e=[[/^kimi-k(\d+(?:\.\d+)?)(-thinking)?$/i,a=>`Kimi K${a[1]}${a[2]?" Thinking":""}`],[/^glm-(\d+(?:\.\d+)?)(v)?$/i,a=>`GLM ${a[1]}${a[2]?"V (Vision)":""}`],[/^minimax-m(\d+(?:\.\d+)?)$/i,a=>`MiniMax M${a[1]}`],[/^gpt-(.+)$/i,a=>`GPT ${d(a[1])}`],[/^gemini-(.+)$/i,a=>`Gemini ${d(a[1])}`],[/^grok-(.+)$/i,a=>`Grok ${d(a[1])}`],[/^deepseek-(.+)$/i,a=>`DeepSeek ${d(a[1])}`],[/^qwen([\d.]+.*)$/i,a=>`Qwen ${d(a[1])}`]];function f(a){let b="string"==typeof a?{id:a}:a;return void 0!==b.name?b:{...b,name:function(a){if("string"!=typeof a)return a;for(let[b,c]of e){let d=a.match(b);if(d)return c(d)}return a}(b.id)}}function g(a){return a?.strip||[]}function h(a){return a?.targetFormat||null}}};
1
+ "use strict";exports.id=6070,exports.ids=[6070],exports.modules={3662:(a,b,c)=>{c.d(b,{EQ:()=>f,LY:()=>d,O:()=>e,fh:()=>h,gd:()=>i,t2:()=>j,wf:()=>g});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Model not found",406:"Model not supported",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},f={base:2e3,max:3e5,maxLevel:15},g=3e4,h=18e5,i={kiro:864e5},j=[{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"improperly formed request",cooldownMs:12e4},{text:"empty response",cooldownMs:5e3},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{status:401,cooldownMs:12e4},{status:402,cooldownMs:12e4},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:429,backoff:!0}]},26070:(a,b,c)=>{c.d(b,{xq:()=>p,B$:()=>s,vq:()=>q,sr:()=>r});var d=c(96970),e=c(41004);let f={baseUrl:"",format:"openai",headers:{},auth:{header:"Authorization",scheme:"bearer",source:["accessToken","apiKey"]},forceStream:!1,urlSuffix:"",quirks:{},passthroughModels:!1,retry:e.cI,timeoutMs:e.pH,executor:"default"};var g=c(99511);let h={alloy:{id:"alloy",name:"Alloy"},ash:{id:"ash",name:"Ash"},ballad:{id:"ballad",name:"Ballad"},cedar:{id:"cedar",name:"Cedar"},coral:{id:"coral",name:"Coral"},echo:{id:"echo",name:"Echo"},fable:{id:"fable",name:"Fable"},marin:{id:"marin",name:"Marin"},nova:{id:"nova",name:"Nova"},onyx:{id:"onyx",name:"Onyx"},sage:{id:"sage",name:"Sage"},shimmer:{id:"shimmer",name:"Shimmer"},verse:{id:"verse",name:"Verse"}},i=(...a)=>a.map(a=>({...h[a],type:"tts"})),j=i("alloy","ash","coral","echo","fable","nova","onyx","sage","shimmer"),k=i("alloy","ash","ballad","cedar","coral","echo","fable","marin","nova","onyx","sage","shimmer","verse"),l=["Zephyr","Puck","Charon","Kore","Fenrir","Leda","Orus","Aoede","Callirrhoe","Autonoe","Enceladus","Iapetus","Umbriel","Algieba","Despina","Erinome","Algenib","Rasalgethi","Laomedeia","Achernar","Alnilam","Schedar","Gacrux","Pulcherrima","Achird","Zubenelgenubi","Vindemiatrix","Sadachbia","Sadaltager","Sulafat"].map(a=>({id:a,name:a,type:"tts"})),m={openai:{models:[{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"tts-1",name:"TTS-1",type:"tts"}],voices:{"gpt-4o-mini-tts":k,"tts-1":j,"tts-1-hd":j},allVoices:k},openrouter:{models:[{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"openai/tts-1",name:"TTS-1",type:"tts"}],voices:{"openai/gpt-4o-mini-tts":k,"openai/tts-1":j,"openai/tts-1-hd":j},allVoices:k},elevenlabs:{models:[{id:"eleven_flash_v2_5",name:"Flash v2.5 (Fastest)",type:"tts"},{id:"eleven_turbo_v2_5",name:"Turbo v2.5 (Fast)",type:"tts"},{id:"eleven_multilingual_v2",name:"Multilingual v2 (Quality)",type:"tts"},{id:"eleven_monolingual_v1",name:"Monolingual v1 (English)",type:"tts"}]},"edge-tts":{defaults:[{id:"en-US-AriaNeural",name:"Aria (en-US)",type:"tts"},{id:"en-US-GuyNeural",name:"Guy (en-US)",type:"tts"},{id:"en-GB-SoniaNeural",name:"Sonia (en-GB)",type:"tts"},{id:"vi-VN-HoaiMyNeural",name:"Hoai My (vi-VN)",type:"tts"},{id:"vi-VN-NamMinhNeural",name:"Nam Minh (vi-VN)",type:"tts"},{id:"zh-CN-XiaoxiaoNeural",name:"Xiaoxiao (zh-CN)",type:"tts"},{id:"zh-CN-YunxiNeural",name:"Yunxi (zh-CN)",type:"tts"},{id:"fr-FR-DeniseNeural",name:"Denise (fr-FR)",type:"tts"},{id:"de-DE-KatjaNeural",name:"Katja (de-DE)",type:"tts"},{id:"ja-JP-NanamiNeural",name:"Nanami (ja-JP)",type:"tts"},{id:"ko-KR-SunHiNeural",name:"SunHi (ko-KR)",type:"tts"}]},"local-device":{defaults:[{id:"default",name:"System Default Voice",type:"tts"}]},"google-tts":{defaults:[{id:"af",name:"Afrikaans",type:"tts"},{id:"ar",name:"Arabic",type:"tts"},{id:"bg",name:"Bulgarian",type:"tts"},{id:"bn",name:"Bengali",type:"tts"},{id:"bs",name:"Bosnian",type:"tts"},{id:"ca",name:"Catalan",type:"tts"},{id:"cs",name:"Czech",type:"tts"},{id:"cy",name:"Welsh",type:"tts"},{id:"da",name:"Danish",type:"tts"},{id:"de",name:"German",type:"tts"},{id:"el",name:"Greek",type:"tts"},{id:"en",name:"English",type:"tts"},{id:"eo",name:"Esperanto",type:"tts"},{id:"es",name:"Spanish",type:"tts"},{id:"et",name:"Estonian",type:"tts"},{id:"fi",name:"Finnish",type:"tts"},{id:"fr",name:"French",type:"tts"},{id:"gu",name:"Gujarati",type:"tts"},{id:"hi",name:"Hindi",type:"tts"},{id:"hr",name:"Croatian",type:"tts"},{id:"hu",name:"Hungarian",type:"tts"},{id:"hy",name:"Armenian",type:"tts"},{id:"id",name:"Indonesian",type:"tts"},{id:"is",name:"Icelandic",type:"tts"},{id:"it",name:"Italian",type:"tts"},{id:"ja",name:"Japanese",type:"tts"},{id:"jw",name:"Javanese",type:"tts"},{id:"km",name:"Khmer",type:"tts"},{id:"kn",name:"Kannada",type:"tts"},{id:"ko",name:"Korean",type:"tts"},{id:"la",name:"Latin",type:"tts"},{id:"lv",name:"Latvian",type:"tts"},{id:"mk",name:"Macedonian",type:"tts"},{id:"ml",name:"Malayalam",type:"tts"},{id:"mr",name:"Marathi",type:"tts"},{id:"my",name:"Myanmar (Burmese)",type:"tts"},{id:"ne",name:"Nepali",type:"tts"},{id:"nl",name:"Dutch",type:"tts"},{id:"no",name:"Norwegian",type:"tts"},{id:"pl",name:"Polish",type:"tts"},{id:"pt",name:"Portuguese",type:"tts"},{id:"ro",name:"Romanian",type:"tts"},{id:"ru",name:"Russian",type:"tts"},{id:"si",name:"Sinhala",type:"tts"},{id:"sk",name:"Slovak",type:"tts"},{id:"sq",name:"Albanian",type:"tts"},{id:"sr",name:"Serbian",type:"tts"},{id:"su",name:"Sundanese",type:"tts"},{id:"sv",name:"Swedish",type:"tts"},{id:"sw",name:"Swahili",type:"tts"},{id:"ta",name:"Tamil",type:"tts"},{id:"te",name:"Telugu",type:"tts"},{id:"th",name:"Thai",type:"tts"},{id:"tl",name:"Filipino",type:"tts"},{id:"tr",name:"Turkish",type:"tts"},{id:"uk",name:"Ukrainian",type:"tts"},{id:"ur",name:"Urdu",type:"tts"},{id:"vi",name:"Vietnamese",type:"tts"},{id:"zh-CN",name:"Chinese (Simplified)",type:"tts"},{id:"zh-TW",name:"Chinese (Traditional)",type:"tts"}]},gemini:{models:[{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",type:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",type:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",type:"tts"}],voices:{"gemini-3.1-flash-tts-preview":l,"gemini-2.5-flash-preview-tts":l,"gemini-2.5-pro-preview-tts":l},allVoices:l}},n=["clientId","clientSecret","tokenUrl"],o=new Set(["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"]),p={},q={},r={},s={};for(let a of d.A){a.transport&&(p[a.id]=function(a,b){let c={...a};if(c.format||(c.format=f.format),b)for(let a of n)void 0===c[a]&&void 0!==b[a]&&(c[a]=b[a]);return c}(a.transport,a.oauth),a.transports&&(p[a.id].transports=a.transports)),void 0!==a.models&&(q[a.alias||a.id]=a.models.map(g.pk)),a.oauth&&(r[a.id]=a.oauth);let b={};for(let c of o)void 0!==a[c]&&(b[c]=a[c]);a.media&&Object.assign(b,a.media),Object.keys(b).length&&(s[a.id]=b)}Object.assign(q,function(){let a={};for(let[b,c]of Object.entries(m))c.models&&(a[`${b}-tts-models`]=c.models),c.allVoices&&(a[`${b}-tts-voices`]=c.allVoices),c.defaults&&(a[b]=c.defaults);return a["openai-tts-voices"]=m.openai.allVoices,a["openrouter-tts-voices"]=m.openrouter.allVoices,a}())},41004:(a,b,c)=>{c.d(b,{C8:()=>n,DR:()=>m,IK:()=>i,Uc:()=>j,cI:()=>l,eo:()=>k,gx:()=>d,pH:()=>h,v1:()=>e,xM:()=>g}),c(3662);let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},e={sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20};function f(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}let g=f("STREAM_STALL_TIMEOUT_MS",36e4);f("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5);let h=f("FETCH_CONNECT_TIMEOUT_MS",6e4),i=f("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3),j=64e3,k=32e3,l={429:{attempts:0,delayMs:0},502:{attempts:3,delayMs:3e3},503:{attempts:3,delayMs:2e3},504:{attempts:2,delayMs:3e3}};function m(a){return null==a?{attempts:0,delayMs:2e3}:"number"==typeof a?{attempts:a,delayMs:2e3}:{attempts:a.attempts||0,delayMs:null!=a.delayMs?a.delayMs:2e3}}let n=["Please write a 5-10 word title for the following conversation:"]},99511:(a,b,c)=>{function d(a){return a.split(/[-_\s]+/).filter(Boolean).map(a=>/^\d/.test(a)?a:a.charAt(0).toUpperCase()+a.slice(1)).join(" ")}c.d(b,{g5:()=>g,gr:()=>h,pk:()=>f});let e=[[/^kimi-k(\d+(?:\.\d+)?)(-thinking)?$/i,a=>`Kimi K${a[1]}${a[2]?" Thinking":""}`],[/^glm-(\d+(?:\.\d+)?)(v)?$/i,a=>`GLM ${a[1]}${a[2]?"V (Vision)":""}`],[/^minimax-m(\d+(?:\.\d+)?)$/i,a=>`MiniMax M${a[1]}`],[/^gpt-(.+)$/i,a=>`GPT ${d(a[1])}`],[/^gemini-(.+)$/i,a=>`Gemini ${d(a[1])}`],[/^grok-(.+)$/i,a=>`Grok ${d(a[1])}`],[/^deepseek-(.+)$/i,a=>`DeepSeek ${d(a[1])}`],[/^qwen([\d.]+.*)$/i,a=>`Qwen ${d(a[1])}`]];function f(a){let b="string"==typeof a?{id:a}:a;return void 0!==b.name?b:{...b,name:function(a){if("string"!=typeof a)return a;for(let[b,c]of e){let d=a.match(b);if(d)return c(d)}return a}(b.id)}}function g(a){return a?.strip||[]}function h(a){return a?.targetFormat||null}}};
@@ -1 +1 @@
1
- "use strict";exports.id=615,exports.ids=[615],exports.modules={40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>u,js:()=>y,DI:()=>p,fg:()=>m,Pd:()=>q,IS:()=>j,nJ:()=>k,zN:()=>l,JH:()=>o,jO:()=>A,wb:()=>z,br:()=>n,wG:()=>x,zt:()=>v,gb:()=>s,gC:()=>t,mq:()=>r,rs:()=>w});var d=c(31630);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"],g={toolUse:!0,fileAccess:!0,streaming:!0,multiTurn:!0},h={webCookie:{toolUse:!1,fileAccess:!1,streaming:!0,multiTurn:!0}},i=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{},...a.comingSoon?{comingSoon:!0}:{},capabilities:function(a){if(a.capabilities&&"object"==typeof a.capabilities)return{...g,...a.capabilities};let b=h[a.category];return b?{...b}:{...g}}(a)}}(a)])),j=i("free"),k=i("freeTier"),l=i("oauth"),m=i("apikey"),n=i("webCookie"),o="openai-compatible-",p="anthropic-compatible-",q="custom-embedding-";function r(a){return"string"==typeof a&&a.startsWith(o)}function s(a){return"string"==typeof a&&a.startsWith(p)}function t(a){return"string"==typeof a&&a.startsWith(q)}let u={...j,...k,...l,...m,...n};function v(a){for(let b of Object.values(u))if(b.alias===a||b.id===a)return b;return null}function w(a){let b=v(a);return b?.id||a}function x(a){let b=u[a];return b?.alias||a}let y=Object.values(u).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(u).reduce((a,b)=>(a[b.id]=b.alias,a),{});let z=d.A.filter(a=>a.features?.usage).map(a=>a.id),A=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id)}};
1
+ "use strict";exports.id=615,exports.ids=[615],exports.modules={40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>u,js:()=>y,DI:()=>p,fg:()=>m,Pd:()=>q,IS:()=>j,nJ:()=>k,zN:()=>l,JH:()=>o,jO:()=>A,wb:()=>z,br:()=>n,wG:()=>x,zt:()=>v,gb:()=>s,gC:()=>t,mq:()=>r,rs:()=>w});var d=c(96970);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"],g={toolUse:!0,fileAccess:!0,streaming:!0,multiTurn:!0},h={webCookie:{toolUse:!1,fileAccess:!1,streaming:!0,multiTurn:!0}},i=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{},...a.comingSoon?{comingSoon:!0}:{},capabilities:function(a){if(a.capabilities&&"object"==typeof a.capabilities)return{...g,...a.capabilities};let b=h[a.category];return b?{...b}:{...g}}(a)}}(a)])),j=i("free"),k=i("freeTier"),l=i("oauth"),m=i("apikey"),n=i("webCookie"),o="openai-compatible-",p="anthropic-compatible-",q="custom-embedding-";function r(a){return"string"==typeof a&&a.startsWith(o)}function s(a){return"string"==typeof a&&a.startsWith(p)}function t(a){return"string"==typeof a&&a.startsWith(q)}let u={...j,...k,...l,...m,...n};function v(a){for(let b of Object.values(u))if(b.alias===a||b.id===a)return b;return null}function w(a){let b=v(a);return b?.id||a}function x(a){let b=u[a];return b?.alias||a}let y=Object.values(u).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(u).reduce((a,b)=>(a[b.id]=b.alias,a),{});let z=d.A.filter(a=>a.features?.usage).map(a=>a.id),A=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id)}};