@techysy/10router 1.3.0 → 1.3.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 (1070) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +7 -6
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/react-loadable-manifest.json +1 -1
  6. package/app/.next-cli-build/routes-manifest.json +6 -0
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page.js.nft.json +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +5 -5
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  79. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  80. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  81. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  84. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  85. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  86. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  87. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  88. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/_not-found.html +2 -2
  91. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  92. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  93. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
  94. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  95. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/status/route.js +2 -2
  116. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/verify-password/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/auth/verify-password/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +2 -2
  120. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/claude-profiles/route.js +2 -2
  126. package/app/.next-cli-build/server/app/api/cli-tools/claude-profiles/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  128. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  132. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  136. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  140. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  144. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  148. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
  150. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  152. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  158. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  166. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/keys/rotate/route.js +1 -1
  184. package/app/.next-cli-build/server/app/api/keys/rotate/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  186. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/models/caps/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/models/caps/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/models/custom/bulk/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/models/custom/bulk/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/network/egress-region/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/network/egress-region/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/checkin/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/checkin/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/export/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/export/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  238. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/oauth/qoder/checkin/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/oauth/qoder/checkin/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/oauth/qoder-cn/checkin/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/oauth/qoder-cn/checkin/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/oauth/transfer/export/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/oauth/transfer/export/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
  264. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-kill/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-kill/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-status/route.js +2 -2
  268. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-status/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
  270. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  274. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  280. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  282. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  286. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  292. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  304. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  306. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  308. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  312. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  314. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  316. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
  318. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  320. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  322. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  326. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  328. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/security/status/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/security/status/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/settings/database/import-usage/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/settings/database/import-usage/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/settings/route.js +2 -1
  340. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  346. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  348. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  370. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  372. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  376. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/usage/dashboard/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/usage/dashboard/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  382. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  383. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  384. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  386. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/usage/quotas/route.js +1 -1
  388. package/app/.next-cli-build/server/app/api/usage/quotas/route.js.nft.json +1 -1
  389. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  392. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  394. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  395. package/app/.next-cli-build/server/app/api/usage/stream/route.js +1 -1
  396. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  398. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  400. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  401. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  402. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  403. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  404. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  405. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  406. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  407. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  408. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  409. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  410. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  411. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  412. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  413. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  414. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  415. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  416. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  417. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  418. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  419. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  420. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  421. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  422. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  423. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  424. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  425. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  426. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  427. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  428. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  429. package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
  430. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  431. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  432. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  433. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  434. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  435. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  436. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  437. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  438. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  439. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  440. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  441. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  442. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  443. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  444. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  445. package/app/.next-cli-build/server/app/api/version/route.js +2 -1
  446. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  447. package/app/.next-cli-build/server/app/api/version/shell-update/route.js +2 -0
  448. package/app/.next-cli-build/server/app/api/version/shell-update/route.js.nft.json +1 -0
  449. package/app/.next-cli-build/server/app/api/version/shell-update/route_client-reference-manifest.js +1 -0
  450. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  451. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  452. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  453. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  454. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  455. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  456. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  457. package/app/.next-cli-build/server/app/callback.html +2 -2
  458. package/app/.next-cli-build/server/app/callback.rsc +6 -6
  459. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
  460. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  461. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +6 -6
  462. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +2 -2
  463. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +8 -8
  464. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +8 -8
  465. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
  466. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  467. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +2 -2
  468. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +8 -8
  469. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
  470. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
  471. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  472. package/app/.next-cli-build/server/app/dashboard/combos.html +2 -2
  473. package/app/.next-cli-build/server/app/dashboard/combos.rsc +8 -8
  474. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
  475. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
  476. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  477. package/app/.next-cli-build/server/app/dashboard/endpoint.html +2 -2
  478. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +8 -8
  479. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
  480. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
  481. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  482. package/app/.next-cli-build/server/app/dashboard/experimental.html +2 -2
  483. package/app/.next-cli-build/server/app/dashboard/experimental.rsc +8 -8
  484. package/app/.next-cli-build/server/app/dashboard/experimental.segments/!KGRhc2hib2FyZCk/dashboard/experimental/__PAGE__.segment.rsc +8 -8
  485. package/app/.next-cli-build/server/app/dashboard/experimental.segments/_full.segment.rsc +8 -8
  486. package/app/.next-cli-build/server/app/dashboard/experimental.segments/_tree.segment.rsc +2 -2
  487. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +2 -2
  488. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +8 -8
  489. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +8 -8
  490. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +8 -8
  491. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  492. package/app/.next-cli-build/server/app/dashboard/mitm.html +2 -2
  493. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +8 -8
  494. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +8 -8
  495. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
  496. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  497. package/app/.next-cli-build/server/app/dashboard/profile.html +2 -2
  498. package/app/.next-cli-build/server/app/dashboard/profile.rsc +8 -8
  499. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
  500. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
  501. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  502. package/app/.next-cli-build/server/app/dashboard/providers/new.html +2 -2
  503. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +8 -8
  504. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +8 -8
  505. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
  506. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  507. package/app/.next-cli-build/server/app/dashboard/providers.html +2 -2
  508. package/app/.next-cli-build/server/app/dashboard/providers.rsc +8 -8
  509. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
  510. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
  511. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  512. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +2 -2
  513. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +8 -8
  514. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
  515. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
  516. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  517. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +2 -2
  518. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +8 -8
  519. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +8 -8
  520. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +8 -8
  521. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  522. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -3
  523. package/app/.next-cli-build/server/app/dashboard/quota.rsc +9 -9
  524. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +9 -9
  525. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
  526. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  527. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  528. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  529. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  530. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +2 -2
  531. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +6 -6
  532. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  533. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  534. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +6 -6
  535. package/app/.next-cli-build/server/app/dashboard/skills.html +2 -2
  536. package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
  537. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +8 -8
  538. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
  539. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  540. package/app/.next-cli-build/server/app/dashboard/token-saver.html +2 -2
  541. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +8 -8
  542. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +8 -8
  543. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +8 -8
  544. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  545. package/app/.next-cli-build/server/app/dashboard/translator.html +2 -2
  546. package/app/.next-cli-build/server/app/dashboard/translator.rsc +8 -8
  547. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +8 -8
  548. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +8 -8
  549. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  550. package/app/.next-cli-build/server/app/dashboard/usage.html +2 -2
  551. package/app/.next-cli-build/server/app/dashboard/usage.rsc +8 -8
  552. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +8 -8
  553. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
  554. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  555. package/app/.next-cli-build/server/app/dashboard.html +2 -2
  556. package/app/.next-cli-build/server/app/dashboard.rsc +8 -8
  557. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
  558. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +8 -8
  559. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  560. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  561. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  562. package/app/.next-cli-build/server/app/index.html +1 -1
  563. package/app/.next-cli-build/server/app/index.rsc +6 -6
  564. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +6 -6
  565. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  566. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  567. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  568. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  569. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  570. package/app/.next-cli-build/server/app/landing.html +2 -2
  571. package/app/.next-cli-build/server/app/landing.rsc +7 -7
  572. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +7 -7
  573. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  574. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +7 -7
  575. package/app/.next-cli-build/server/app/login/page.js +1 -1
  576. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  577. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  578. package/app/.next-cli-build/server/app/login.html +2 -2
  579. package/app/.next-cli-build/server/app/login.rsc +7 -7
  580. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
  581. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  582. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +7 -7
  583. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  584. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  585. package/app/.next-cli-build/server/app/page.js +1 -1
  586. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  587. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  588. package/app/.next-cli-build/server/app-paths-manifest.json +7 -6
  589. package/app/.next-cli-build/server/chunks/1159.js +1 -1
  590. package/app/.next-cli-build/server/chunks/1329.js +1 -1
  591. package/app/.next-cli-build/server/chunks/1710.js +1 -1
  592. package/app/.next-cli-build/server/chunks/2112.js +1 -1
  593. package/app/.next-cli-build/server/chunks/2120.js +1 -1
  594. package/app/.next-cli-build/server/chunks/2132.js +1 -1
  595. package/app/.next-cli-build/server/chunks/2269.js +1 -0
  596. package/app/.next-cli-build/server/chunks/2468.js +1 -0
  597. package/app/.next-cli-build/server/chunks/2926.js +1 -1
  598. package/app/.next-cli-build/server/chunks/3245.js +1 -1
  599. package/app/.next-cli-build/server/chunks/3433.js +2 -2
  600. package/app/.next-cli-build/server/chunks/3500.js +4 -4
  601. package/app/.next-cli-build/server/chunks/3535.js +1 -1
  602. package/app/.next-cli-build/server/chunks/3792.js +1 -1
  603. package/app/.next-cli-build/server/chunks/3885.js +1 -1
  604. package/app/.next-cli-build/server/chunks/3943.js +1 -1
  605. package/app/.next-cli-build/server/chunks/4123.js +2 -1
  606. package/app/.next-cli-build/server/chunks/4177.js +1 -1
  607. package/app/.next-cli-build/server/chunks/4282.js +1 -1
  608. package/app/.next-cli-build/server/chunks/436.js +1 -1
  609. package/app/.next-cli-build/server/chunks/4575.js +1 -1
  610. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  611. package/app/.next-cli-build/server/chunks/4803.js +1 -1
  612. package/app/.next-cli-build/server/chunks/4927.js +3 -3
  613. package/app/.next-cli-build/server/chunks/5210.js +26 -26
  614. package/app/.next-cli-build/server/chunks/5330.js +3 -3
  615. package/app/.next-cli-build/server/chunks/539.js +1 -1
  616. package/app/.next-cli-build/server/chunks/5485.js +1 -1
  617. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  618. package/app/.next-cli-build/server/chunks/5781.js +1 -1
  619. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  620. package/app/.next-cli-build/server/chunks/615.js +1 -1
  621. package/app/.next-cli-build/server/chunks/6306.js +1 -1
  622. package/app/.next-cli-build/server/chunks/6326.js +1 -1
  623. package/app/.next-cli-build/server/chunks/6492.js +1 -1
  624. package/app/.next-cli-build/server/chunks/6756.js +1 -1
  625. package/app/.next-cli-build/server/chunks/6763.js +1 -1
  626. package/app/.next-cli-build/server/chunks/6922.js +1 -1
  627. package/app/.next-cli-build/server/chunks/6956.js +1 -1
  628. package/app/.next-cli-build/server/chunks/6960.js +5 -5
  629. package/app/.next-cli-build/server/chunks/7067.js +1 -1
  630. package/app/.next-cli-build/server/chunks/7070.js +1 -0
  631. package/app/.next-cli-build/server/chunks/7122.js +1 -1
  632. package/app/.next-cli-build/server/chunks/7247.js +1 -1
  633. package/app/.next-cli-build/server/chunks/7274.js +3 -3
  634. package/app/.next-cli-build/server/chunks/7322.js +1 -1
  635. package/app/.next-cli-build/server/chunks/7774.js +2 -2
  636. package/app/.next-cli-build/server/chunks/7828.js +1 -1
  637. package/app/.next-cli-build/server/chunks/7965.js +1 -1
  638. package/app/.next-cli-build/server/chunks/8172.js +2 -2
  639. package/app/.next-cli-build/server/chunks/8370.js +1 -1
  640. package/app/.next-cli-build/server/chunks/8410.js +1 -1
  641. package/app/.next-cli-build/server/chunks/8499.js +13 -13
  642. package/app/.next-cli-build/server/chunks/8520.js +1 -1
  643. package/app/.next-cli-build/server/chunks/8595.js +1 -1
  644. package/app/.next-cli-build/server/chunks/8672.js +1 -1
  645. package/app/.next-cli-build/server/chunks/8749.js +1 -1
  646. package/app/.next-cli-build/server/chunks/8895.js +6 -6
  647. package/app/.next-cli-build/server/chunks/8920.js +1 -1
  648. package/app/.next-cli-build/server/chunks/9046.js +1 -1
  649. package/app/.next-cli-build/server/chunks/9154.js +1 -1
  650. package/app/.next-cli-build/server/chunks/939.js +1 -1
  651. package/app/.next-cli-build/server/chunks/9489.js +2 -2
  652. package/app/.next-cli-build/server/chunks/9609.js +1 -1
  653. package/app/.next-cli-build/server/chunks/9628.js +1 -1
  654. package/app/.next-cli-build/server/instrumentation.js +1 -1
  655. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  656. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  657. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  658. package/app/.next-cli-build/server/middleware.js +4 -4
  659. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  660. package/app/.next-cli-build/server/pages/404.html +2 -2
  661. package/app/.next-cli-build/server/pages/500.html +1 -1
  662. package/app/.next-cli-build/static/HXtMOamjH7NR-IuqflR2K/_buildManifest.js +1 -0
  663. package/app/.next-cli-build/static/chunks/1321-04a0bd75a8aa1806.js +1 -0
  664. package/app/.next-cli-build/static/chunks/5497-9afa8ec82cb51857.js +7 -0
  665. package/app/.next-cli-build/static/chunks/{6808-d3ffacc1373713c6.js → 6808-7c2c0ea1ee14763c.js} +1 -1
  666. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/experimental/page-5ec2e868aa2ff281.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-7c9d46f8c09d480e.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-0ee5ba586a2d3dfa.js +14 -0
  669. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-bc56399135571dd5.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/_global-error/{page-2b9ff155b9d0f304.js → page-1058a44b968ee535.js} +1 -1
  671. package/app/.next-cli-build/static/chunks/app/api/auth/login/{route-2b9ff155b9d0f304.js → route-1058a44b968ee535.js} +1 -1
  672. package/app/.next-cli-build/static/chunks/app/api/auth/logout/{route-2b9ff155b9d0f304.js → route-1058a44b968ee535.js} +1 -1
  673. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/{route-2b9ff155b9d0f304.js → route-1058a44b968ee535.js} +1 -1
  674. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-1058a44b968ee535.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-1058a44b968ee535.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-1058a44b968ee535.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-1058a44b968ee535.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-1058a44b968ee535.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-1058a44b968ee535.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-1058a44b968ee535.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-1058a44b968ee535.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/auth/verify-password/route-1058a44b968ee535.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-1058a44b968ee535.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-1058a44b968ee535.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-1058a44b968ee535.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-profiles/route-1058a44b968ee535.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-1058a44b968ee535.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-1058a44b968ee535.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-1058a44b968ee535.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-1058a44b968ee535.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-1058a44b968ee535.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-1058a44b968ee535.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-1058a44b968ee535.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-1058a44b968ee535.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-1058a44b968ee535.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-1058a44b968ee535.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-1058a44b968ee535.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-1058a44b968ee535.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-1058a44b968ee535.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-1058a44b968ee535.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-1058a44b968ee535.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-1058a44b968ee535.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-1058a44b968ee535.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-1058a44b968ee535.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/combos/route-1058a44b968ee535.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-1058a44b968ee535.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-1058a44b968ee535.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-1058a44b968ee535.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-1058a44b968ee535.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-1058a44b968ee535.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-1058a44b968ee535.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/health/route-1058a44b968ee535.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/init/route-1058a44b968ee535.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-1058a44b968ee535.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/keys/rotate/route-1058a44b968ee535.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/keys/route-1058a44b968ee535.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/locale/route-1058a44b968ee535.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-1058a44b968ee535.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-1058a44b968ee535.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-1058a44b968ee535.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-1058a44b968ee535.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-1058a44b968ee535.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-1058a44b968ee535.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-1058a44b968ee535.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-1058a44b968ee535.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-1058a44b968ee535.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/models/caps/route-1058a44b968ee535.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/models/custom/bulk/route-1058a44b968ee535.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-1058a44b968ee535.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-1058a44b968ee535.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/models/route-1058a44b968ee535.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/models/test/route-1058a44b968ee535.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/network/egress-region/route-1058a44b968ee535.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-1058a44b968ee535.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-1058a44b968ee535.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/checkin/route-1058a44b968ee535.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/export/route-1058a44b968ee535.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-1058a44b968ee535.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-1058a44b968ee535.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-1058a44b968ee535.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-1058a44b968ee535.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-1058a44b968ee535.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-1058a44b968ee535.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-1058a44b968ee535.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-1058a44b968ee535.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-1058a44b968ee535.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-1058a44b968ee535.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-1058a44b968ee535.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-1058a44b968ee535.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/oauth/qoder/checkin/route-1058a44b968ee535.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/oauth/qoder-cn/checkin/route-1058a44b968ee535.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/export/route-1058a44b968ee535.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/import/route-1058a44b968ee535.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-1058a44b968ee535.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-1058a44b968ee535.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/desktop-kill/route-1058a44b968ee535.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/desktop-status/route-1058a44b968ee535.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-1058a44b968ee535.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-1058a44b968ee535.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/pricing/route-1058a44b968ee535.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-1058a44b968ee535.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-1058a44b968ee535.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-1058a44b968ee535.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-1058a44b968ee535.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-1058a44b968ee535.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-1058a44b968ee535.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-1058a44b968ee535.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-1058a44b968ee535.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-1058a44b968ee535.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/providers/route-1058a44b968ee535.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-1058a44b968ee535.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-1058a44b968ee535.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-1058a44b968ee535.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-1058a44b968ee535.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-1058a44b968ee535.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-1058a44b968ee535.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-1058a44b968ee535.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-1058a44b968ee535.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-1058a44b968ee535.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-1058a44b968ee535.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-1058a44b968ee535.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-1058a44b968ee535.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-1058a44b968ee535.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-1058a44b968ee535.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-1058a44b968ee535.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-1058a44b968ee535.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-1058a44b968ee535.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/security/status/route-1058a44b968ee535.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/settings/database/import-usage/route-1058a44b968ee535.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-1058a44b968ee535.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-1058a44b968ee535.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-1058a44b968ee535.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/settings/route-1058a44b968ee535.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-1058a44b968ee535.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/tags/route-1058a44b968ee535.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-1058a44b968ee535.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-1058a44b968ee535.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-1058a44b968ee535.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-1058a44b968ee535.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-1058a44b968ee535.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-1058a44b968ee535.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-1058a44b968ee535.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-1058a44b968ee535.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-1058a44b968ee535.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-1058a44b968ee535.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-1058a44b968ee535.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-1058a44b968ee535.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-1058a44b968ee535.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-1058a44b968ee535.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-1058a44b968ee535.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-1058a44b968ee535.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-1058a44b968ee535.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/usage/dashboard/route-1058a44b968ee535.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-1058a44b968ee535.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-1058a44b968ee535.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-1058a44b968ee535.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/usage/quotas/route-1058a44b968ee535.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-1058a44b968ee535.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-1058a44b968ee535.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-1058a44b968ee535.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-1058a44b968ee535.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-1058a44b968ee535.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-1058a44b968ee535.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-1058a44b968ee535.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-1058a44b968ee535.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-1058a44b968ee535.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-1058a44b968ee535.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-1058a44b968ee535.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-1058a44b968ee535.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-1058a44b968ee535.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-1058a44b968ee535.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-1058a44b968ee535.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-1058a44b968ee535.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-1058a44b968ee535.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-1058a44b968ee535.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/api/v1/route-1058a44b968ee535.js +1 -0
  837. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-1058a44b968ee535.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-1058a44b968ee535.js +1 -0
  839. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-1058a44b968ee535.js +1 -0
  840. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-1058a44b968ee535.js +1 -0
  841. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-1058a44b968ee535.js +1 -0
  842. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-1058a44b968ee535.js +1 -0
  843. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-1058a44b968ee535.js +1 -0
  844. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-1058a44b968ee535.js +1 -0
  845. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-1058a44b968ee535.js +1 -0
  846. package/app/.next-cli-build/static/chunks/app/api/version/route-1058a44b968ee535.js +1 -0
  847. package/app/.next-cli-build/static/chunks/app/api/version/shell-update/route-1058a44b968ee535.js +1 -0
  848. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-1058a44b968ee535.js +1 -0
  849. package/app/.next-cli-build/static/chunks/app/api/version/update/route-1058a44b968ee535.js +1 -0
  850. package/app/.next-cli-build/static/chunks/app/landing/page-01cca10383327c01.js +1 -0
  851. package/app/.next-cli-build/static/chunks/app/login/page-b5eb40dc7d4e285e.js +1 -0
  852. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-1058a44b968ee535.js +1 -0
  853. package/app/.next-cli-build/static/chunks/app/page-1058a44b968ee535.js +1 -0
  854. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-1058a44b968ee535.js +1 -0
  855. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-1058a44b968ee535.js +1 -0
  856. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-1058a44b968ee535.js +1 -0
  857. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-1058a44b968ee535.js +1 -0
  858. package/app/.next-cli-build/static/chunks/{webpack-34fe8baab4ced03b.js → webpack-1adc95943fa90500.js} +1 -1
  859. package/app/.next-cli-build/static/css/b28513ee0ebc26ad.css +1 -0
  860. package/app/package.json +71 -71
  861. package/app/public/i18n/changelog/en.md +47 -0
  862. package/app/public/i18n/changelog/zh-CN.md +47 -0
  863. package/app/public/i18n/changelog/zh-TW.md +47 -0
  864. package/app/public/i18n/literals/zh-CN.json +49 -4
  865. package/app/public/i18n/literals/zh-TW.json +50 -4
  866. package/app/public/providers/apinex.png +0 -0
  867. package/app/public/providers/atria.png +0 -0
  868. package/app/public/providers/minimax-free.png +0 -0
  869. package/app/public/providers/muse.png +0 -0
  870. package/app/public/providers/opencode-zen.png +0 -0
  871. package/app/public/providers/tokenharbor.png +0 -0
  872. package/app/public/providers/v1m.png +0 -0
  873. package/package.json +61 -61
  874. package/src/cli/menus/providers.js +3 -2
  875. package/src/cli/utils/modelSelector.js +1 -1
  876. package/app/.next-cli-build/server/chunks/2051.js +0 -1
  877. package/app/.next-cli-build/server/chunks/4290.js +0 -1
  878. package/app/.next-cli-build/server/chunks/8247.js +0 -1
  879. package/app/.next-cli-build/static/chunks/1321-b226b10e6272fc21.js +0 -1
  880. package/app/.next-cli-build/static/chunks/5497-c5b293fd9b36c51d.js +0 -7
  881. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/experimental/page-f2be5e1e9fb2a81d.js +0 -1
  882. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-912bf60e8bad7f94.js +0 -1
  883. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-2bc7898568623185.js +0 -14
  884. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-f7223ed3275a94a5.js +0 -1
  885. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-2b9ff155b9d0f304.js +0 -1
  886. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-2b9ff155b9d0f304.js +0 -1
  887. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-2b9ff155b9d0f304.js +0 -1
  888. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-2b9ff155b9d0f304.js +0 -1
  889. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-2b9ff155b9d0f304.js +0 -1
  890. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-2b9ff155b9d0f304.js +0 -1
  891. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-2b9ff155b9d0f304.js +0 -1
  892. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-2b9ff155b9d0f304.js +0 -1
  893. package/app/.next-cli-build/static/chunks/app/api/auth/verify-password/route-2b9ff155b9d0f304.js +0 -1
  894. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-2b9ff155b9d0f304.js +0 -1
  895. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-2b9ff155b9d0f304.js +0 -1
  896. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-2b9ff155b9d0f304.js +0 -1
  897. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-profiles/route-2b9ff155b9d0f304.js +0 -1
  898. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-2b9ff155b9d0f304.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-2b9ff155b9d0f304.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-2b9ff155b9d0f304.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-2b9ff155b9d0f304.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-2b9ff155b9d0f304.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-2b9ff155b9d0f304.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-2b9ff155b9d0f304.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-2b9ff155b9d0f304.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-2b9ff155b9d0f304.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-2b9ff155b9d0f304.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-2b9ff155b9d0f304.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-2b9ff155b9d0f304.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-2b9ff155b9d0f304.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-2b9ff155b9d0f304.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-2b9ff155b9d0f304.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-2b9ff155b9d0f304.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-2b9ff155b9d0f304.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-2b9ff155b9d0f304.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/combos/route-2b9ff155b9d0f304.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-2b9ff155b9d0f304.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-2b9ff155b9d0f304.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-2b9ff155b9d0f304.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-2b9ff155b9d0f304.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-2b9ff155b9d0f304.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-2b9ff155b9d0f304.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/health/route-2b9ff155b9d0f304.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/init/route-2b9ff155b9d0f304.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-2b9ff155b9d0f304.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/keys/rotate/route-2b9ff155b9d0f304.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/keys/route-2b9ff155b9d0f304.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/locale/route-2b9ff155b9d0f304.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-2b9ff155b9d0f304.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-2b9ff155b9d0f304.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-2b9ff155b9d0f304.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-2b9ff155b9d0f304.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-2b9ff155b9d0f304.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-2b9ff155b9d0f304.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-2b9ff155b9d0f304.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-2b9ff155b9d0f304.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-2b9ff155b9d0f304.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/models/caps/route-2b9ff155b9d0f304.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/models/custom/bulk/route-2b9ff155b9d0f304.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-2b9ff155b9d0f304.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-2b9ff155b9d0f304.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/models/route-2b9ff155b9d0f304.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/models/test/route-2b9ff155b9d0f304.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/network/egress-region/route-2b9ff155b9d0f304.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-2b9ff155b9d0f304.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-2b9ff155b9d0f304.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/checkin/route-2b9ff155b9d0f304.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/export/route-2b9ff155b9d0f304.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-2b9ff155b9d0f304.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-2b9ff155b9d0f304.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-2b9ff155b9d0f304.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-2b9ff155b9d0f304.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-2b9ff155b9d0f304.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-2b9ff155b9d0f304.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-2b9ff155b9d0f304.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-2b9ff155b9d0f304.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-2b9ff155b9d0f304.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-2b9ff155b9d0f304.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-2b9ff155b9d0f304.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-2b9ff155b9d0f304.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/oauth/qoder/checkin/route-2b9ff155b9d0f304.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/oauth/qoder-cn/checkin/route-2b9ff155b9d0f304.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/export/route-2b9ff155b9d0f304.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/import/route-2b9ff155b9d0f304.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-2b9ff155b9d0f304.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-2b9ff155b9d0f304.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/desktop-kill/route-2b9ff155b9d0f304.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/desktop-status/route-2b9ff155b9d0f304.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-2b9ff155b9d0f304.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-2b9ff155b9d0f304.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/pricing/route-2b9ff155b9d0f304.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-2b9ff155b9d0f304.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-2b9ff155b9d0f304.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-2b9ff155b9d0f304.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-2b9ff155b9d0f304.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-2b9ff155b9d0f304.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-2b9ff155b9d0f304.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-2b9ff155b9d0f304.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-2b9ff155b9d0f304.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-2b9ff155b9d0f304.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/providers/route-2b9ff155b9d0f304.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-2b9ff155b9d0f304.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-2b9ff155b9d0f304.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-2b9ff155b9d0f304.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-2b9ff155b9d0f304.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-2b9ff155b9d0f304.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-2b9ff155b9d0f304.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-2b9ff155b9d0f304.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-2b9ff155b9d0f304.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-2b9ff155b9d0f304.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-2b9ff155b9d0f304.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-2b9ff155b9d0f304.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-2b9ff155b9d0f304.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-2b9ff155b9d0f304.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-2b9ff155b9d0f304.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-2b9ff155b9d0f304.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-2b9ff155b9d0f304.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-2b9ff155b9d0f304.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/security/status/route-2b9ff155b9d0f304.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/settings/database/import-usage/route-2b9ff155b9d0f304.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-2b9ff155b9d0f304.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-2b9ff155b9d0f304.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-2b9ff155b9d0f304.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/settings/route-2b9ff155b9d0f304.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-2b9ff155b9d0f304.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/tags/route-2b9ff155b9d0f304.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-2b9ff155b9d0f304.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-2b9ff155b9d0f304.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-2b9ff155b9d0f304.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-2b9ff155b9d0f304.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-2b9ff155b9d0f304.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-2b9ff155b9d0f304.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-2b9ff155b9d0f304.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-2b9ff155b9d0f304.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-2b9ff155b9d0f304.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-2b9ff155b9d0f304.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-2b9ff155b9d0f304.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-2b9ff155b9d0f304.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-2b9ff155b9d0f304.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-2b9ff155b9d0f304.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-2b9ff155b9d0f304.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-2b9ff155b9d0f304.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-2b9ff155b9d0f304.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/usage/dashboard/route-2b9ff155b9d0f304.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-2b9ff155b9d0f304.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-2b9ff155b9d0f304.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-2b9ff155b9d0f304.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/usage/quotas/route-2b9ff155b9d0f304.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-2b9ff155b9d0f304.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-2b9ff155b9d0f304.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-2b9ff155b9d0f304.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-2b9ff155b9d0f304.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-2b9ff155b9d0f304.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-2b9ff155b9d0f304.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-2b9ff155b9d0f304.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-2b9ff155b9d0f304.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-2b9ff155b9d0f304.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-2b9ff155b9d0f304.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-2b9ff155b9d0f304.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-2b9ff155b9d0f304.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-2b9ff155b9d0f304.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-2b9ff155b9d0f304.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-2b9ff155b9d0f304.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-2b9ff155b9d0f304.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-2b9ff155b9d0f304.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-2b9ff155b9d0f304.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/app/api/v1/route-2b9ff155b9d0f304.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-2b9ff155b9d0f304.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-2b9ff155b9d0f304.js +0 -1
  1050. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-2b9ff155b9d0f304.js +0 -1
  1051. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-2b9ff155b9d0f304.js +0 -1
  1052. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-2b9ff155b9d0f304.js +0 -1
  1053. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-2b9ff155b9d0f304.js +0 -1
  1054. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-2b9ff155b9d0f304.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-2b9ff155b9d0f304.js +0 -1
  1056. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-2b9ff155b9d0f304.js +0 -1
  1057. package/app/.next-cli-build/static/chunks/app/api/version/route-2b9ff155b9d0f304.js +0 -1
  1058. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-2b9ff155b9d0f304.js +0 -1
  1059. package/app/.next-cli-build/static/chunks/app/api/version/update/route-2b9ff155b9d0f304.js +0 -1
  1060. package/app/.next-cli-build/static/chunks/app/landing/page-38924391f8649361.js +0 -1
  1061. package/app/.next-cli-build/static/chunks/app/login/page-0c4e2808c937c740.js +0 -1
  1062. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-2b9ff155b9d0f304.js +0 -1
  1063. package/app/.next-cli-build/static/chunks/app/page-2b9ff155b9d0f304.js +0 -1
  1064. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-2b9ff155b9d0f304.js +0 -1
  1065. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-2b9ff155b9d0f304.js +0 -1
  1066. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-2b9ff155b9d0f304.js +0 -1
  1067. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-2b9ff155b9d0f304.js +0 -1
  1068. package/app/.next-cli-build/static/css/bdf1d87cd5f4db94.css +0 -1
  1069. package/app/.next-cli-build/static/wj14lzSQILIu20--ipzW4/_buildManifest.js +0 -1
  1070. /package/app/.next-cli-build/static/{wj14lzSQILIu20--ipzW4 → HXtMOamjH7NR-IuqflR2K}/_ssgManifest.js +0 -0
@@ -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 t(a){return new Promise(b=>{if(l)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new h.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let f=e.searchParams.get("code"),g=e.searchParams.get("state"),i=e.searchParams.get("error"),j=g?o.get(g):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!f)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(3500),c.e(1159),c.e(2120),c.e(6922),c.e(2051),c.e(8499),c.e(5330),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),h=await a("codex",f,j.redirectUri,j.codeVerifier,g),k=await b({provider:"codex",authType:"oauth",...h,expiresAt:h.expiresIn?new Date(Date.now()+1e3*h.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(s(!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(s(!1,a.message))}finally{u()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),u()});d.listen(n,"127.0.0.1",()=>{l=d,m=setTimeout(()=>u(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function u(){m&&(clearTimeout(m),m=null),l&&(l.close(),l=null)}let v=null,w=null,x=new Map;function y({state:a,codeVerifier:b,redirectUri:c}){return!!a&&!!b&&!!c&&(x.set(a,{codeVerifier:b,redirectUri:c,status:"pending",createdAt:Date.now()}),!0)}function z(a){return x.get(a)||null}function A(a){x.delete(a)}function B(a){return new Promise(b=>{if(v)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new h.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let f=e.searchParams.get("code"),g=e.searchParams.get("state"),i=e.searchParams.get("error"),j=g?x.get(g):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!f)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(3500),c.e(1159),c.e(2120),c.e(6922),c.e(2051),c.e(8499),c.e(5330),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),h=await a("xai",f,j.redirectUri,j.codeVerifier,g),k=await b({provider:"xai",authType:"oauth",...h,expiresAt:h.expiresIn?new Date(Date.now()+1e3*h.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(s(!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(s(!1,a.message))}finally{C()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),C()});d.listen(56121,"127.0.0.1",()=>{v=d,w=setTimeout(()=>C(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function C(){w&&(clearTimeout(w),w=null),v&&(v.close(),v=null)}let D=null,E=null,F=null,G=null;function H({state:a}){return!!a&&(G={state:a,status:"pending",createdAt:Date.now()},!0)}function I(a){return!G||a&&G.state!==a?null:G}function J(a){(!a||G&&G.state===a)&&(G=null)}function K(){return new Promise(a=>{if(D)return void a({success:!0,port:F,callbackUrl:`http://127.0.0.1:${F}${i.SK.callbackPath}`});let b=e().createServer(async(a,b)=>{let d=new h.URL(a.url,"http://localhost");if(d.pathname!==i.SK.callbackPath&&"/auth/callback"!==d.pathname){b.writeHead(404),b.end("Not found");return}let e=G;if(!e){b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"No active Trae login session"));return}if(!j(a.headers.origin)){b.writeHead(403,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"Cross-origin callback rejected"));return}let f=d.searchParams.get("state");if(f&&e.state&&f!==e.state){e.status="error",e.error="Trae callback state mismatch",b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,e.error)),L();return}let g=`${d.pathname}?${d.searchParams.toString()}`;try{let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(3500),c.e(1159),c.e(2120),c.e(6922),c.e(2051),c.e(8499),c.e(5330),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:d}=await c.e(1998).then(c.bind(c,71998)),f=await a("trae",g),h=await d({provider:"trae",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});e.status="done",e.connectionId=h.id,e.email=h.email,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!0,"You can close this window."))}catch(a){e.status="error",e.error=a.message,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,a.message))}finally{L()}});b.listen(0,"127.0.0.1",()=>{D=b,F=b.address().port,E=setTimeout(()=>L(),i.SK.oauthTimeoutMs),a({success:!0,port:F,callbackUrl:`http://127.0.0.1:${F}${i.SK.callbackPath}`})}),b.on("error",b=>a({success:!1,reason:b.message}))})}function L(){E&&(clearTimeout(E),E=null),D&&(D.close(),D=null),F=null}let M=null,N=null,O=null,P=null;function Q({state:a}){return!!a&&(P={state:a,status:"pending",createdAt:Date.now()},!0)}function R(a){return!P||a&&P.state!==a?null:P}function S(a){(!a||P&&P.state===a)&&(P=null)}function T(){return new Promise(a=>{if(M)return void a({success:!0,port:O,callbackUrl:`http://127.0.0.1:${O}${i.eD.callbackPath}`});let b=e().createServer(async(a,b)=>{let d=new h.URL(a.url,"http://localhost");if(d.pathname!==i.eD.callbackPath){b.writeHead(404),b.end("Not found");return}let e=P;if(!e){b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"No active Windsurf login session"));return}if(!j(a.headers.origin)){b.writeHead(403,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"Cross-origin callback rejected"));return}let f=d.searchParams.get("state");if(!f||!e.state||f!==e.state){e.status="error",e.error="Windsurf callback state mismatch",b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,e.error)),U();return}let g=`${d.pathname}?${d.searchParams.toString()}`;try{let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(3500),c.e(1159),c.e(2120),c.e(6922),c.e(2051),c.e(8499),c.e(5330),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:d}=await c.e(1998).then(c.bind(c,71998)),f=await a("windsurf",g,null,null,e.state),h=await d({provider:"windsurf",authType:"api_key",...f,testStatus:"active"});e.status="done",e.connectionId=h.id,e.email=h.email,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!0,"You can close this window."))}catch(a){e.status="error",e.error=a.message,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,a.message))}finally{U()}});b.listen(0,"127.0.0.1",()=>{M=b,O=b.address().port,N=setTimeout(()=>U(),i.eD.oauthTimeoutMs),a({success:!0,port:O,callbackUrl:`http://127.0.0.1:${O}${i.eD.callbackPath}`})}),b.on("error",b=>a({success:!1,reason:b.message}))})}function U(){N&&(clearTimeout(N),N=null),M&&(M.close(),M=null),O=null}let V=null,W=null,X=null,Y=null;function Z({state:a,codeVerifier:b}){return!!a&&!!b&&(Y={state:a,codeVerifier:b,status:"pending",createdAt:Date.now()},!0)}function $(a){return!Y||a&&Y.state!==a?null:Y}function _(a){(!a||Y&&Y.state===a)&&(Y=null)}function aa(a=0){return new Promise(b=>{if(V)return void b({success:!0,port:X,callbackUrl:`http://127.0.0.1:${X}/`});let d=e().createServer(async(a,b)=>{let d=new h.URL(a.url,"http://localhost"),e=Object.fromEntries(d.searchParams);for(let a of["access_token","user_id","code_verifier","state"])e[a]&&(e[a]="<redacted>");if(console.log("[Zed proxy]",a.method,d.pathname,JSON.stringify(e)),"/"!==d.pathname&&"/callback"!==d.pathname){b.writeHead(404),b.end("Not found");return}let f=Y;if(!f){b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"No active Zed login session"));return}if(!j(a.headers.origin)){b.writeHead(403,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"Cross-origin callback rejected"));return}let g=d.search?`${d.pathname}?${d.searchParams.toString()}`:d.pathname;try{let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(3500),c.e(1159),c.e(2120),c.e(6922),c.e(2051),c.e(8499),c.e(5330),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:d}=await c.e(1998).then(c.bind(c,71998)),e=await a("zed",g,null,f.codeVerifier,f.state),h=await d({provider:"zed",authType:"oauth",...e,testStatus:"active"});f.status="done",f.connectionId=h.id,f.email=h.email,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!0,"You can close this window."))}catch(a){f.status="error",f.error=a.message,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,a.message))}finally{ab()}}),f=Number(a)||0;d.on("error",a=>{"EADDRINUSE"===a.code&&0!==f?(console.log(`[Zed proxy] port ${f} busy, falling back to random`),d.listen(0,"127.0.0.1",()=>{V=d,X=d.address().port,W=setTimeout(()=>ab(),i.RY.oauthTimeoutMs),console.log(`[Zed proxy] listening on random port ${X}`),b({success:!0,port:X,callbackUrl:`http://127.0.0.1:${X}/`})})):(console.log(`[Zed proxy] listen error: ${a.message}`),b({success:!1,reason:a.message}))}),d.listen(f,"127.0.0.1",()=>{V=d,X=d.address().port,W=setTimeout(()=>{console.log("[Zed proxy] timeout, stopping"),ab()},i.RY.oauthTimeoutMs),console.log(`[Zed proxy] listening on port ${X}`),b({success:!0,port:X,callbackUrl:`http://127.0.0.1:${X}/`})})})}function ab(){console.log(`[Zed proxy] stopping (port ${X||"-"})`),W&&(clearTimeout(W),W=null),V&&(V.close(),V=null),X=null}let ac=null,ad=null,ae=null,af=new h.URL(i.oe.platformUrl).origin,ag=null;function ah(a,b){let c=new h.URL(`${i.oe.platformUrl}/authorize/callback`);return c.searchParams.set("status",a),b&&c.searchParams.set("message",b),c.toString()}let ai=new Map;function aj({state:a,privateKeyDer:b}){if(!a||!b)return!1;let c=Date.now()-i.oe.pendingTtlMs;for(let[a,b]of ai)b.createdAt<c&&ai.delete(a);for(;ai.size>=8;){let a=ai.keys().next();if(a.done)break;ai.delete(a.value)}return ai.set(a,{privateKeyDer:b,status:"pending",createdAt:Date.now()}),!0}function ak(a){let b=ai.get(a);return b?{status:b.status,result:b.result||null,error:b.error||null}:null}function al(a){ai.delete(a)}async function am(a){let b=function(a){let b=String(a??"").trim();if(!b)return"";let c=b.match(/(?:^|[?&])(?:u|code)=([^&\s]+)/);if(c)try{b=decodeURIComponent(c[1])}catch{b=c[1]}return(b=(b=b.replace(/^(?:授权码|验证码)\s*[::=]?\s*/,"").replace(/^(?:authorization\s*code|code)\s*[::=]\s*/i,"")).replace(/^[`'"“”‘’<([{]+/,"").replace(/[`'"“”‘’>)\]},.;:。,;:]+$/,"")).replace(/\s+/g,"")}(a);if(!b)return{ok:!1,error:"empty_payload"};if(b.length<60)return{ok:!1,error:"payload_too_short"};let d=[...ai.entries()].filter(([,a])=>"pending"===a.status);if(0===d.length)return{ok:!1,error:"no_pending_session"};let{decryptCallback:e}=await c.e(4152).then(c.bind(c,34152)),f=!1;for(let[a,c]of d){let d;try{d=e(c.privateKeyDer,b)}catch{continue}if(!d.sk){f=!0;continue}return c.status="done",c.result={uid:d.uid,accessToken:d.sk,baseUrl:d.url||i.oe.defaultBaseUrl},{ok:!0,state:a,result:c.result}}let g=f?"missing_api_key":"decrypt_failed";return console.warn(`[xiaomi-mimo oauth] code rejected (${g}): ${b.length} chars, ${d.length} pending session(s)`),{ok:!1,error:g}}function an(){return new Promise(a=>{if(ac)return void a({success:!0,port:ad,callbackUrl:`http://127.0.0.1:${ad}${ag}`});let b=ag||(ag=`/callback/${g().randomBytes(16).toString("hex")}`),c=e().createServer(async(a,c)=>{let d=a.headers.origin||"",e=d===af?{"Access-Control-Allow-Origin":d,"Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*","Access-Control-Max-Age":"600",Vary:"Origin"}:{Vary:"Origin"};if("OPTIONS"===a.method){c.writeHead(204,e),c.end();return}let f=new h.URL(a.url,"http://127.0.0.1");if(f.pathname!==b){c.writeHead(404,e),c.end("Not Found");return}let g=f.searchParams.get("u");if(!g){c.writeHead(302,{...e,Location:ah("error","missing_data")}),c.end();return}let i=[...ai.entries()].filter(([,a])=>"pending"===a.status);try{let a=await am(g);if(!a.ok)throw Error("missing_api_key"===a.error?"Decrypted payload missing sk (API key)":"Could not decrypt with any pending session key");c.writeHead(302,{...e,Location:ah("success")}),c.end(),console.log("[xiaomi-mimo oauth] callback decrypted")}catch(a){if(console.error("[xiaomi-mimo oauth] decrypt failed:",a.message),1===i.length){let[,b]=i[0];b.status="error",b.error=a.message}c.writeHead(302,{...e,Location:ah("error","decrypt_failed")}),c.end()}});c.on("error",b=>{console.log("[xiaomi-mimo oauth] listen error:",b.message),a({success:!1,reason:b.message})}),c.listen(0,"127.0.0.1",()=>{ac=c,ad=c.address().port,ae=setTimeout(()=>{console.log("[xiaomi-mimo oauth] timeout, stopping"),ao()},i.oe.timeoutMs),console.log(`[xiaomi-mimo oauth] listening on port ${ad}`),a({success:!0,port:ad,callbackUrl:`http://127.0.0.1:${ad}${b}`})})})}function ao(){console.log(`[xiaomi-mimo oauth] stopping (port ${ad||"-"})`),ae&&(clearTimeout(ae),ae=null),ac&&(ac.close(),ac=null),ad=null,ag=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/10router",codeChallengeMethod:"S256"}},92990:(a,b,c)=>{c.d(b,{DI:()=>i,DV:()=>z,LT:()=>j,MZ:()=>u,Nl:()=>y,Nu:()=>o,OV:()=>h,RY:()=>F,S6:()=>r,SK:()=>D,Td:()=>A,Tx:()=>p,WN:()=>s,Ww:()=>G,YT:()=>m,ZL:()=>l,aV:()=>t,cD:()=>n,eD:()=>E,f7:()=>x,hF:()=>k,lB:()=>v,oe:()=>C,qp:()=>B,w1:()=>w});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.dG,...f.sr["gemini-cli"]},k={...f.sr.qoder},l={...f.sr.iflow},m={...e.XP,...f.sr.antigravity,loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:g(),pluginType:2})};function n(){return{ideType:9,platform:g(),pluginType:2}}({...f.sr.openai});let o={...f.sr.github},p={...f.sr.kiro},q=/^[a-z]{2}-[a-z]+-\d{1,2}$/;function r(a){if("string"!=typeof a||!q.test(a))throw Error("Invalid region");return a}let s={...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"}},t={...f.sr.kimi,clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||process.env.KIMI_OAUTH_CLIENT_ID||f.xq.kimi?.clientId||f.sr.kimi?.clientId},u={...f.sr.kilocode},v={...f.sr.cline},w={...f.sr.clinepass},x={...f.sr.gitlab},y={...f.sr["codebuddy-cn"]},z={...f.sr["codebuddy-intl"]},A={...f.sr.kimchi},B={...f.sr["grok-cli"]},C={platformUrl:process.env.MIMO_PLATFORM_URL||"https://platform.xiaomimimo.com",defaultBaseUrl:"https://api.xiaomimimo.com/v1",kn:"mimocode",app:"MiMo",timeoutMs:3e5,pendingTtlMs:864e5},D={clientId:"ono9krqynydwx5",clientSecret:"-",loginGuidanceUrls:["https://api.marscode.com/cloudide/api/v3/trae/GetLoginGuidance","https://api.trae.ai/cloudide/api/v3/trae/GetLoginGuidance","https://www.trae.ai/cloudide/api/v3/trae/GetLoginGuidance"],apiOrigins:["https://api.marscode.com","https://api.trae.ai","https://www.trae.ai","https://www.marscode.com"],exchangeTokenPath:"/cloudide/api/v3/trae/oauth/ExchangeToken",getUserInfoPath:"/cloudide/api/v3/trae/GetUserInfo",authorizationPath:"/authorization",callbackPath:"/callback",minAppVersion:"3.5.54",defaultAppVersion:"3.5.54",defaultAppType:"stable",defaultPluginVersion:"local",defaultDeviceId:"0",userAgent:"Trae/1.0.0 antigravity-cockpit-tools",webUrl:"https://www.trae.ai",authScheme:"Cloud-IDE-JWT",tokenLifetimeDays:14,oauthTimeoutMs:6e5},E={clientId:"3GUryQ7ldAeKEuD2obYnppsnmj58eP5u",authBaseUrl:"https://www.windsurf.com",signInPath:"/windsurf/signin",registerApiBaseUrl:"https://register.windsurf.com",registerPath:"/exa.seat_management_pb.SeatManagementService/RegisterUser",oneTimeAuthPath:"/exa.seat_management_pb.SeatManagementService/GetOneTimeAuthToken",currentUserPath:"/exa.seat_management_pb.SeatManagementService/GetCurrentUser",planStatusPath:"/exa.seat_management_pb.SeatManagementService/GetPlanStatus",userStatusPath:"/exa.seat_management_pb.SeatManagementService/GetUserStatus",defaultApiServerUrl:"https://server.codeium.com",firebaseApiKey:"AIzaSyDsOl-1XpT5err0Tcn0TFFod1H8gVGIycY",callbackPath:"/windsurf-auth-callback",userAgent:"antigravity-cockpit-tools",oauthTimeoutMs:6e5},F={webBaseUrl:"https://zed.dev",cloudBaseUrl:"https://cloud.zed.dev",llmBaseUrl:"https://cloud.zed.dev",defaultNativeAppPort:58443,oauthTimeoutMs:6e5},G=3e5}};
43
+ </div></body></html>`}function t(a){return new Promise(b=>{if(l)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new h.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let f=e.searchParams.get("code"),g=e.searchParams.get("state"),i=e.searchParams.get("error"),j=g?o.get(g):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!f)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(3500),c.e(1159),c.e(2120),c.e(6922),c.e(7070),c.e(8499),c.e(5330),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),h=await a("codex",f,j.redirectUri,j.codeVerifier,g),k=await b({provider:"codex",authType:"oauth",...h,expiresAt:h.expiresIn?new Date(Date.now()+1e3*h.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(s(!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(s(!1,a.message))}finally{u()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),u()});d.listen(n,"127.0.0.1",()=>{l=d,m=setTimeout(()=>u(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function u(){m&&(clearTimeout(m),m=null),l&&(l.close(),l=null)}let v=null,w=null,x=new Map;function y({state:a,codeVerifier:b,redirectUri:c}){return!!a&&!!b&&!!c&&(x.set(a,{codeVerifier:b,redirectUri:c,status:"pending",createdAt:Date.now()}),!0)}function z(a){return x.get(a)||null}function A(a){x.delete(a)}function B(a){return new Promise(b=>{if(v)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new h.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let f=e.searchParams.get("code"),g=e.searchParams.get("state"),i=e.searchParams.get("error"),j=g?x.get(g):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!f)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(3500),c.e(1159),c.e(2120),c.e(6922),c.e(7070),c.e(8499),c.e(5330),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),h=await a("xai",f,j.redirectUri,j.codeVerifier,g),k=await b({provider:"xai",authType:"oauth",...h,expiresAt:h.expiresIn?new Date(Date.now()+1e3*h.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(s(!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(s(!1,a.message))}finally{C()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),C()});d.listen(56121,"127.0.0.1",()=>{v=d,w=setTimeout(()=>C(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function C(){w&&(clearTimeout(w),w=null),v&&(v.close(),v=null)}let D=null,E=null,F=null,G=null;function H({state:a}){return!!a&&(G={state:a,status:"pending",createdAt:Date.now()},!0)}function I(a){return!G||a&&G.state!==a?null:G}function J(a){(!a||G&&G.state===a)&&(G=null)}function K(){return new Promise(a=>{if(D)return void a({success:!0,port:F,callbackUrl:`http://127.0.0.1:${F}${i.SK.callbackPath}`});let b=e().createServer(async(a,b)=>{let d=new h.URL(a.url,"http://localhost");if(d.pathname!==i.SK.callbackPath&&"/auth/callback"!==d.pathname){b.writeHead(404),b.end("Not found");return}let e=G;if(!e){b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"No active Trae login session"));return}if(!j(a.headers.origin)){b.writeHead(403,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"Cross-origin callback rejected"));return}let f=d.searchParams.get("state");if(f&&e.state&&f!==e.state){e.status="error",e.error="Trae callback state mismatch",b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,e.error)),L();return}let g=`${d.pathname}?${d.searchParams.toString()}`;try{let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(3500),c.e(1159),c.e(2120),c.e(6922),c.e(7070),c.e(8499),c.e(5330),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:d}=await c.e(1998).then(c.bind(c,71998)),f=await a("trae",g),h=await d({provider:"trae",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});e.status="done",e.connectionId=h.id,e.email=h.email,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!0,"You can close this window."))}catch(a){e.status="error",e.error=a.message,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,a.message))}finally{L()}});b.listen(0,"127.0.0.1",()=>{D=b,F=b.address().port,E=setTimeout(()=>L(),i.SK.oauthTimeoutMs),a({success:!0,port:F,callbackUrl:`http://127.0.0.1:${F}${i.SK.callbackPath}`})}),b.on("error",b=>a({success:!1,reason:b.message}))})}function L(){E&&(clearTimeout(E),E=null),D&&(D.close(),D=null),F=null}let M=null,N=null,O=null,P=null;function Q({state:a}){return!!a&&(P={state:a,status:"pending",createdAt:Date.now()},!0)}function R(a){return!P||a&&P.state!==a?null:P}function S(a){(!a||P&&P.state===a)&&(P=null)}function T(){return new Promise(a=>{if(M)return void a({success:!0,port:O,callbackUrl:`http://127.0.0.1:${O}${i.eD.callbackPath}`});let b=e().createServer(async(a,b)=>{let d=new h.URL(a.url,"http://localhost");if(d.pathname!==i.eD.callbackPath){b.writeHead(404),b.end("Not found");return}let e=P;if(!e){b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"No active Windsurf login session"));return}if(!j(a.headers.origin)){b.writeHead(403,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"Cross-origin callback rejected"));return}let f=d.searchParams.get("state");if(!f||!e.state||f!==e.state){e.status="error",e.error="Windsurf callback state mismatch",b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,e.error)),U();return}let g=`${d.pathname}?${d.searchParams.toString()}`;try{let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(3500),c.e(1159),c.e(2120),c.e(6922),c.e(7070),c.e(8499),c.e(5330),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:d}=await c.e(1998).then(c.bind(c,71998)),f=await a("windsurf",g,null,null,e.state),h=await d({provider:"windsurf",authType:"api_key",...f,testStatus:"active"});e.status="done",e.connectionId=h.id,e.email=h.email,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!0,"You can close this window."))}catch(a){e.status="error",e.error=a.message,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,a.message))}finally{U()}});b.listen(0,"127.0.0.1",()=>{M=b,O=b.address().port,N=setTimeout(()=>U(),i.eD.oauthTimeoutMs),a({success:!0,port:O,callbackUrl:`http://127.0.0.1:${O}${i.eD.callbackPath}`})}),b.on("error",b=>a({success:!1,reason:b.message}))})}function U(){N&&(clearTimeout(N),N=null),M&&(M.close(),M=null),O=null}let V=null,W=null,X=null,Y=null;function Z({state:a,codeVerifier:b}){return!!a&&!!b&&(Y={state:a,codeVerifier:b,status:"pending",createdAt:Date.now()},!0)}function $(a){return!Y||a&&Y.state!==a?null:Y}function _(a){(!a||Y&&Y.state===a)&&(Y=null)}function aa(a=0){return new Promise(b=>{if(V)return void b({success:!0,port:X,callbackUrl:`http://127.0.0.1:${X}/`});let d=e().createServer(async(a,b)=>{let d=new h.URL(a.url,"http://localhost"),e=Object.fromEntries(d.searchParams);for(let a of["access_token","user_id","code_verifier","state"])e[a]&&(e[a]="<redacted>");if(console.log("[Zed proxy]",a.method,d.pathname,JSON.stringify(e)),"/"!==d.pathname&&"/callback"!==d.pathname){b.writeHead(404),b.end("Not found");return}let f=Y;if(!f){b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"No active Zed login session"));return}if(!j(a.headers.origin)){b.writeHead(403,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"Cross-origin callback rejected"));return}let g=d.search?`${d.pathname}?${d.searchParams.toString()}`:d.pathname;try{let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(3500),c.e(1159),c.e(2120),c.e(6922),c.e(7070),c.e(8499),c.e(5330),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:d}=await c.e(1998).then(c.bind(c,71998)),e=await a("zed",g,null,f.codeVerifier,f.state),h=await d({provider:"zed",authType:"oauth",...e,testStatus:"active"});f.status="done",f.connectionId=h.id,f.email=h.email,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!0,"You can close this window."))}catch(a){f.status="error",f.error=a.message,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,a.message))}finally{ab()}}),f=Number(a)||0;d.on("error",a=>{"EADDRINUSE"===a.code&&0!==f?(console.log(`[Zed proxy] port ${f} busy, falling back to random`),d.listen(0,"127.0.0.1",()=>{V=d,X=d.address().port,W=setTimeout(()=>ab(),i.RY.oauthTimeoutMs),console.log(`[Zed proxy] listening on random port ${X}`),b({success:!0,port:X,callbackUrl:`http://127.0.0.1:${X}/`})})):(console.log(`[Zed proxy] listen error: ${a.message}`),b({success:!1,reason:a.message}))}),d.listen(f,"127.0.0.1",()=>{V=d,X=d.address().port,W=setTimeout(()=>{console.log("[Zed proxy] timeout, stopping"),ab()},i.RY.oauthTimeoutMs),console.log(`[Zed proxy] listening on port ${X}`),b({success:!0,port:X,callbackUrl:`http://127.0.0.1:${X}/`})})})}function ab(){console.log(`[Zed proxy] stopping (port ${X||"-"})`),W&&(clearTimeout(W),W=null),V&&(V.close(),V=null),X=null}let ac=null,ad=null,ae=null,af=new h.URL(i.oe.platformUrl).origin,ag=null;function ah(a,b){let c=new h.URL(`${i.oe.platformUrl}/authorize/callback`);return c.searchParams.set("status",a),b&&c.searchParams.set("message",b),c.toString()}let ai=new Map;function aj({state:a,privateKeyDer:b}){if(!a||!b)return!1;let c=Date.now()-i.oe.pendingTtlMs;for(let[a,b]of ai)b.createdAt<c&&ai.delete(a);for(;ai.size>=8;){let a=ai.keys().next();if(a.done)break;ai.delete(a.value)}return ai.set(a,{privateKeyDer:b,status:"pending",createdAt:Date.now()}),!0}function ak(a){let b=ai.get(a);return b?{status:b.status,result:b.result||null,error:b.error||null}:null}function al(a){ai.delete(a)}async function am(a){let b=function(a){let b=String(a??"").trim();if(!b)return"";let c=b.match(/(?:^|[?&])(?:u|code)=([^&\s]+)/);if(c)try{b=decodeURIComponent(c[1])}catch{b=c[1]}return(b=(b=b.replace(/^(?:授权码|验证码)\s*[::=]?\s*/,"").replace(/^(?:authorization\s*code|code)\s*[::=]\s*/i,"")).replace(/^[`'"“”‘’<([{]+/,"").replace(/[`'"“”‘’>)\]},.;:。,;:]+$/,"")).replace(/\s+/g,"")}(a);if(!b)return{ok:!1,error:"empty_payload"};if(b.length<60)return{ok:!1,error:"payload_too_short"};let d=[...ai.entries()].filter(([,a])=>"pending"===a.status);if(0===d.length)return{ok:!1,error:"no_pending_session"};let{decryptCallback:e}=await c.e(4152).then(c.bind(c,34152)),f=!1;for(let[a,c]of d){let d;try{d=e(c.privateKeyDer,b)}catch{continue}if(!d.sk){f=!0;continue}return c.status="done",c.result={uid:d.uid,accessToken:d.sk,baseUrl:d.url||i.oe.defaultBaseUrl},{ok:!0,state:a,result:c.result}}let g=f?"missing_api_key":"decrypt_failed";return console.warn(`[xiaomi-mimo oauth] code rejected (${g}): ${b.length} chars, ${d.length} pending session(s)`),{ok:!1,error:g}}function an(){return new Promise(a=>{if(ac)return void a({success:!0,port:ad,callbackUrl:`http://127.0.0.1:${ad}${ag}`});let b=ag||(ag=`/callback/${g().randomBytes(16).toString("hex")}`),c=e().createServer(async(a,c)=>{let d=a.headers.origin||"",e=d===af?{"Access-Control-Allow-Origin":d,"Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*","Access-Control-Max-Age":"600",Vary:"Origin"}:{Vary:"Origin"};if("OPTIONS"===a.method){c.writeHead(204,e),c.end();return}let f=new h.URL(a.url,"http://127.0.0.1");if(f.pathname!==b){c.writeHead(404,e),c.end("Not Found");return}let g=f.searchParams.get("u");if(!g){c.writeHead(302,{...e,Location:ah("error","missing_data")}),c.end();return}let i=[...ai.entries()].filter(([,a])=>"pending"===a.status);try{let a=await am(g);if(!a.ok)throw Error("missing_api_key"===a.error?"Decrypted payload missing sk (API key)":"Could not decrypt with any pending session key");c.writeHead(302,{...e,Location:ah("success")}),c.end(),console.log("[xiaomi-mimo oauth] callback decrypted")}catch(a){if(console.error("[xiaomi-mimo oauth] decrypt failed:",a.message),1===i.length){let[,b]=i[0];b.status="error",b.error=a.message}c.writeHead(302,{...e,Location:ah("error","decrypt_failed")}),c.end()}});c.on("error",b=>{console.log("[xiaomi-mimo oauth] listen error:",b.message),a({success:!1,reason:b.message})}),c.listen(0,"127.0.0.1",()=>{ac=c,ad=c.address().port,ae=setTimeout(()=>{console.log("[xiaomi-mimo oauth] timeout, stopping"),ao()},i.oe.timeoutMs),console.log(`[xiaomi-mimo oauth] listening on port ${ad}`),a({success:!0,port:ad,callbackUrl:`http://127.0.0.1:${ad}${b}`})})})}function ao(){console.log(`[xiaomi-mimo oauth] stopping (port ${ad||"-"})`),ae&&(clearTimeout(ae),ae=null),ac&&(ac.close(),ac=null),ad=null,ag=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/10router",codeChallengeMethod:"S256"}},92990:(a,b,c)=>{c.d(b,{DI:()=>i,DV:()=>z,LT:()=>j,MZ:()=>u,Nl:()=>y,Nu:()=>o,OV:()=>h,RY:()=>H,S6:()=>r,SK:()=>D,Td:()=>A,Tx:()=>p,WN:()=>s,Ww:()=>I,YT:()=>m,ZL:()=>l,_0:()=>F,aV:()=>t,cD:()=>n,eD:()=>E,f7:()=>x,hF:()=>k,lB:()=>v,oe:()=>C,qp:()=>B,sA:()=>G,w1:()=>w});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.dG,...f.sr["gemini-cli"]},k={...f.sr.qoder},l={...f.sr.iflow},m={...e.XP,...f.sr.antigravity,loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:g(),pluginType:2})};function n(){return{ideType:9,platform:g(),pluginType:2}}({...f.sr.openai});let o={...f.sr.github},p={...f.sr.kiro},q=/^[a-z]{2}-[a-z]+-\d{1,2}$/;function r(a){if("string"!=typeof a||!q.test(a))throw Error("Invalid region");return a}let s={...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"}},t={...f.sr.kimi,clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||process.env.KIMI_OAUTH_CLIENT_ID||f.xq.kimi?.clientId||f.sr.kimi?.clientId},u={...f.sr.kilocode},v={...f.sr.cline},w={...f.sr.clinepass},x={...f.sr.gitlab},y={...f.sr["codebuddy-cn"]},z={...f.sr["codebuddy-intl"]},A={...f.sr.kimchi},B={...f.sr["grok-cli"]},C={platformUrl:process.env.MIMO_PLATFORM_URL||"https://platform.xiaomimimo.com",defaultBaseUrl:"https://api.xiaomimimo.com/v1",kn:"mimocode",app:"MiMo",timeoutMs:3e5,pendingTtlMs:864e5},D={clientId:"ono9krqynydwx5",clientSecret:"-",loginGuidanceUrls:["https://api.marscode.com/cloudide/api/v3/trae/GetLoginGuidance","https://api.trae.ai/cloudide/api/v3/trae/GetLoginGuidance","https://www.trae.ai/cloudide/api/v3/trae/GetLoginGuidance"],apiOrigins:["https://api.marscode.com","https://api.trae.ai","https://www.trae.ai","https://www.marscode.com"],exchangeTokenPath:"/cloudide/api/v3/trae/oauth/ExchangeToken",getUserInfoPath:"/cloudide/api/v3/trae/GetUserInfo",authorizationPath:"/authorization",callbackPath:"/callback",minAppVersion:"3.5.54",defaultAppVersion:"3.5.54",defaultAppType:"stable",defaultPluginVersion:"local",defaultDeviceId:"0",userAgent:"Trae/1.0.0 antigravity-cockpit-tools",webUrl:"https://www.trae.ai",authScheme:"Cloud-IDE-JWT",tokenLifetimeDays:14,oauthTimeoutMs:6e5},E={clientId:"3GUryQ7ldAeKEuD2obYnppsnmj58eP5u",authBaseUrl:"https://www.windsurf.com",signInPath:"/windsurf/signin",registerApiBaseUrl:"https://register.windsurf.com",registerPath:"/exa.seat_management_pb.SeatManagementService/RegisterUser",oneTimeAuthPath:"/exa.seat_management_pb.SeatManagementService/GetOneTimeAuthToken",currentUserPath:"/exa.seat_management_pb.SeatManagementService/GetCurrentUser",planStatusPath:"/exa.seat_management_pb.SeatManagementService/GetPlanStatus",userStatusPath:"/exa.seat_management_pb.SeatManagementService/GetUserStatus",defaultApiServerUrl:"https://server.codeium.com",firebaseApiKey:"AIzaSyDsOl-1XpT5err0Tcn0TFFod1H8gVGIycY",callbackPath:"/windsurf-auth-callback",userAgent:"antigravity-cockpit-tools",oauthTimeoutMs:6e5},F={...f.sr.glm},G={...f.sr.muse},H={webBaseUrl:"https://zed.dev",cloudBaseUrl:"https://cloud.zed.dev",llmBaseUrl:"https://cloud.zed.dev",defaultNativeAppPort:58443,oauthTimeoutMs:6e5},I=3e5}};
@@ -3,4 +3,4 @@
3
3
  ON CONFLICT(id) DO UPDATE SET
4
4
  provider=excluded.provider, authType=excluded.authType, name=excluded.name,
5
5
  email=excluded.email, priority=excluded.priority, isActive=excluded.isActive,
6
- data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.provider,c.authType,c.name,c.email,c.priority,c.isActive,c.data,c.createdAt,c.updatedAt])}async function l(a={}){let b=await (0,e.cK)(),c=[],d=[];a.provider&&(c.push("provider = ?"),d.push(a.provider)),void 0!==a.isActive&&(c.push("isActive = ?"),d.push(+!!a.isActive));let f=`SELECT * FROM providerConnections${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,d).map(j);return g.sort((a,b)=>(a.priority||999)-(b.priority||999)),g}async function m(a){return j((await (0,e.cK)()).get("SELECT * FROM providerConnections WHERE id = ?",[a]))}function n(a,b){let c=a.all("SELECT * FROM providerConnections WHERE provider = ?",[b]).map(j);c.sort((a,b)=>{let c=(a.priority||0)-(b.priority||0);return 0!==c?c:new Date(b.updatedAt||0)-new Date(a.updatedAt||0)}),c.forEach((b,c)=>{let d=c+1;(b.priority||0)!==d&&a.run("UPDATE providerConnections SET priority = ? WHERE id = ?",[d,b.id])})}async function o(a){let b,f=await (0,e.cK)(),h=new Date().toISOString(),l=!1;if(f.transaction(()=>{var c;let e="apikey"===a.authType&&!!a.name,g=e?f.all("SELECT * FROM providerConnections WHERE provider = ? AND authType = ? AND name = ?",[a.provider,"apikey",a.name]).map(j):f.all("SELECT * FROM providerConnections WHERE provider = ?",[a.provider]).map(j),m=e?f.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a.provider])?.n??g.length:g.length;l=0===m;let n=null;if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.username,c=a.providerSpecificData?.chatgptAccountId;n=g.find(d=>{if("oauth"!==d.authType||d.email!==a.email)return!1;if("codex"===a.provider){let a=d.providerSpecificData?.chatgptAccountId;return!!c&&!!a&&c===a}let e=d.providerSpecificData?.chatgptAccountId;if(c&&e)return c===e;if(c&&!e||!c&&e)return!1;let f=d.providerSpecificData?.username;return b&&f?b===f:!b&&!f})}else"apikey"===a.authType&&a.name&&(n=g.find(b=>"apikey"===b.authType&&b.name===a.name));if(n){if(!1===a.allowOverwrite){let b=Error(`A connection named "${n.name}" already exists for provider "${a.provider}". Pass allowOverwrite: true to replace it.`);throw b.code="PROVIDER_NAME_CONFLICT",b.existingId=n.id,b.existingName=n.name,b}let c={...n,...a,updatedAt:h};for(let b of["lastError","lastErrorAt","errorCode"])void 0===a[b]&&(c[b]=null);void 0===a.testStatus&&"unavailable"===c.testStatus&&(c.testStatus="active"),k(f,c),b=c;return}let o=a.name||null;o||"oauth"!==a.authType&&"access_token"!==a.authType||(c=a.email||`Account ${m+1}`,o="github"===a.provider&&(a.providerSpecificData?.githubLogin||a.providerSpecificData?.githubEmail||a.email||a.providerSpecificData?.githubName)||c);let p=a.priority;if(!p){let b=f.get("SELECT MAX(priority) AS m FROM providerConnections WHERE provider = ?",[a.provider]);p=(b?.m||0)+1}let q={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:o,priority:p,isActive:void 0===a.isActive||a.isActive,createdAt:h,updatedAt:h};for(let b of i)void 0!==a[b]&&null!==a[b]&&(q[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(q.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(q.email=a.email),k(f,q),b=q}),l&&b)try{let{PROVIDER_MODELS:b,PROVIDER_ID_TO_ALIAS:d}=await Promise.all([c.e(8247),c.e(6070),c.e(7247)]).then(c.bind(c,57247)),e=d[a.provider]||a.provider,f=(b[e]||[]).filter(a=>!a.kind||"llm"===a.kind).map(a=>a.id);if(f.length>0){let a=await (0,g.jw)(e);0===a.length&&await (0,g.tm)(e,f)}}catch(a){console.log("Default-disable init skipped:",a?.message||a)}return b}async function p(a,b){let c,d=await (0,e.cK)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=j(e),g={...f,...b,updatedAt:new Date().toISOString()};if("resetErrorState"in g){let a=!0===g.resetErrorState;if(delete g.resetErrorState,a){let a={lastError:null,lastErrorAt:null,errorCode:null,testStatus:null};for(let c of Object.keys(a))void 0!==b[c]&&delete a[c];Object.assign(g,a)}}k(d,g),void 0!==b.priority&&n(d,f.provider),c=g}),c}async function q(a){let b=await (0,e.cK)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),n(b,d.provider),c=!0)}),c}async function r(a){let b=await (0,e.cK)(),c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a]);return b.run("DELETE FROM providerConnections WHERE provider = ?",[a]),c?.n||0}async function s(a){let b=await (0,e.cK)();b.transaction(()=>n(b,a))}async function t(){let a=await (0,e.cK)(),b=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","consecutiveUseCount"],c=0;return a.transaction(()=>{for(let d of a.all("SELECT * FROM providerConnections")){let e=j(d),f=!1;for(let a of b)(null===e[a]||void 0===e[a])&&a in e&&(delete e[a],c++,f=!0);e.providerSpecificData&&0===Object.keys(e.providerSpecificData).length&&(delete e.providerSpecificData,c++,f=!0),f&&k(a,e)}}),c}},29424:(a,b,c)=>{c.d(b,{jw:()=>k,oF:()=>p,qi:()=>h,tm:()=>o,vF:()=>j});var d=c(36366),e=c(644);let f="disabledModels",g=null;async function h(){if(g)return g;let a=new Map,b=new Map;try{let d=await c.e(8247).then(c.bind(c,48247));for(let c of d.default||d.REGISTRY||[]){let d=c.uiAlias||c.alias||c.id;if(!d)continue;let e=new Set([c.id,c.alias,c.uiAlias,...Array.isArray(c.aliases)?c.aliases:[]].filter(Boolean)),f=b.get(d)||new Set;for(let b of e)a.set(b,d),f.add(b);b.set(d,f)}}catch(a){console.log("Disabled-model key map unavailable:",a?.message||a)}return g={toCanonical:a,byCanonical:b}}async function i(a){let{toCanonical:b,byCanonical:c}=await h(),d=b.get(a)||a,e=c.get(d),f=new Set(e?[...e]:[]);return f.add(a),f.add(d),{canonical:d,keys:[...f]}}async function j(){let a=(await (0,d.cK)()).all("SELECT key, value FROM kv WHERE scope = ?",[f]),{toCanonical:b,byCanonical:c}=await h(),g=new Map;for(let c of a){let a=b.get(c.key)||c.key,d=g.get(a);d||(d={own:null,union:new Set},g.set(a,d));let f=(0,e.q)(c.value,[])||[];for(let b of(c.key===a&&(d.own=new Set(f)),f))d.union.add(b)}let i={};for(let[a,b]of g){let d=[...b.own||b.union];i[a]=d;let e=c.get(a);if(e)for(let a of e)i[a]=d}return i}async function k(a){return a&&(await j())[a]||[]}let l="INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",m="DELETE FROM kv WHERE scope = ? AND key = ?";function n(a,b,c){let d=null,g=new Set;for(let h of b){let b=a.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[f,h]);if(!b)continue;let i=(0,e.q)(b.value,[])||[];for(let a of(h===c&&(d=i),i))g.add(a)}return null!==d?d:[...g]}async function o(a,b){if(!a||!Array.isArray(b))return;let c=await (0,d.cK)(),{canonical:g,keys:h}=await i(a);c.transaction(()=>{let a=[...new Set([...n(c,h,g),...b])];for(let b of(c.run(l,[f,g,(0,e.s)(a)]),h))b!==g&&c.run(m,[f,b])})}async function p(a,b){if(!a)return;let c=await (0,d.cK)(),{canonical:g,keys:h}=await i(a),j=!Array.isArray(b)||0===b.length;c.transaction(()=>{let a=[];if(!j){let d=new Set(b);a=n(c,h,g).filter(a=>!d.has(a))}if(0===a.length){for(let a of h)c.run(m,[f,a]);return}for(let b of(c.run(l,[f,g,(0,e.s)(a)]),h))b!==g&&c.run(m,[f,b])})}},36366:(a,b,c)=>{c.d(b,{cK:()=>n});var d=c(76760),e=c.n(d),f=c(95658);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1,lastDriverError:null});let g=global._dbAdapter;async function h(){try{let{createRequire:a}=await Promise.resolve().then(c.t.bind(c,98995,23)),b=a(e().join(f.Rf,"_noop.js"))("better-sqlite3");return b?.default??b}catch{}try{let a=await Promise.resolve().then(c.t.bind(c,87550,23));return a?.default??a}catch{return null}}async function i(){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(4739).then(c.bind(c,24739));return await a(f.AL)}catch(a){return g.lastDriverError=`bun:sqlite: ${a.message}`,console.warn(`[DB] bun:sqlite unavailable: ${a.message}`),null}}async function j(){if(process.versions.bun)return null;let[a]=process.versions.node.split(".").map(Number);if(a>=24)return null;try{let a=await h();if(!a)throw Error("not installed (runtime copy and bare specifier both missing)");let{createBetterSqliteAdapter:b}=await c.e(5258).then(c.bind(c,25258));return b(f.AL,a)}catch(a){return g.lastDriverError=`better-sqlite3: ${a.message}`,console.warn(`[DB] better-sqlite3 unavailable: ${a.message}`),null}}async function k(){if(process.versions.bun)return null;let[a,b]=process.versions.node.split(".").map(Number);if(a<22||22===a&&b<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(8520).then(c.bind(c,88520));return await a(f.AL)}catch(a){return g.lastDriverError=`node:sqlite: ${a.message}`,console.warn(`[DB] node:sqlite unavailable: ${a.message}`),null}}async function l(){try{let{createSqlJsAdapter:a}=await c.e(3593).then(c.bind(c,53593));return await a(f.AL)}catch(a){return g.lastDriverError=`sql.js: ${a.message}`,console.warn(`[DB] sql.js unavailable: ${a.message}`),null}}async function m(){(0,f.Jh)();let a=await i();if(a||(a=await j()),a||(a=await k()),a||(a=await l()),!a)throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)");g.logged||(console.log(`[DB] Driver: ${a.driver} | file: ${f.AL}`),g.logged=!0);let{runMigrationOnce:b}=await c.e(976).then(c.bind(c,20976));return await b(a),a}async function n(){return g.instance?g.instance:(g.initPromise||(g.initPromise=m().then(a=>(g.instance=a,a))),g.initPromise)}},49120:(a,b,c)=>{c.d(b,{jL:()=>l,nJ:()=>p,ok:()=>o});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="10router",k="9router",l={main:"db.json",usage:"usage.json",disabled:"disabledModels.json",details:"request-details.json"};function m(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),k):g().join(i().homedir(),`.${k}`)}function n(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}function o(){let a=process.env.DATA_DIR;if(!a)return!function(){try{let a=m(),b=n();if(!e().existsSync(a)||e().existsSync(g().join(b,"db","data.sqlite"))||Object.values(l).some(a=>e().existsSync(g().join(b,a))))return;e().cpSync(a,b,{recursive:!0,force:!1}),console.log(`[migration] copied legacy data dir ${a} → ${b}`)}catch(a){console.warn(`[migration] failed to migrate ${m()} → ${n()}: ${a?.message}`)}}(),n();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),n();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),n();throw b}}let p=o()},72082:(a,b,c)=>{c.r(b),c.d(b,{CONNECTION_SECRET_FIELDS:()=>n,CredentialCryptoError:()=>q,UNREADABLE_CREDENTIALS_KEY:()=>z,connectionDataHasPlaintextSecrets:()=>D,decryptConnectionData:()=>B,decryptSecret:()=>v,encryptConnectionData:()=>y,encryptSecret:()=>u,getCredentialKey:()=>s,hasUnreadableCredentials:()=>A,isEncrypted:()=>r,resetCredentialKeyCache:()=>t,restoreUnreadableCredentials:()=>C});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(49120),k=c(77134);let l="enc:v1:",m="aes-256-gcm",n=["accessToken","refreshToken","idToken","apiKey"],o=/(token|secret|password|cookie|credential|api[-_]?key|proxyurl)/i,p=null;class q extends Error{constructor(a){super(a),this.name="CredentialCryptoError"}}function r(a){return"string"==typeof a&&a.startsWith(l)}function s(){if(p)return p;let a=process.env.CREDENTIAL_SECRET;if("string"==typeof a&&a.trim())return p=e().createHash("sha256").update(a.trim()).digest();let b=i().join(j.nJ,"credential-key");try{let a=g().readFileSync(b,"utf8").trim();if(a)return p=e().createHash("sha256").update(a).digest()}catch{}g().mkdirSync(j.nJ,{recursive:!0});let c=e().randomBytes(32).toString("hex");return g().writeFileSync(b,c,{mode:384}),(0,k.E)(b),p=e().createHash("sha256").update(c).digest()}function t(){p=null}function u(a){if("string"!=typeof a||""===a||r(a))return a;let b=e().randomBytes(12),c=e().createCipheriv(m,s(),b),d=Buffer.concat([c.update(a,"utf8"),c.final()]);return`${l}${b.toString("base64url")}:${c.getAuthTag().toString("base64url")}:${d.toString("base64url")}`}function v(a){if("string"!=typeof a||!r(a))return a;let b=a.slice(l.length).split(":");if(3!==b.length)throw new q("stored credential is malformed");let[c,d,f]=b;try{let a=e().createDecipheriv(m,s(),Buffer.from(c,"base64url"));return a.setAuthTag(Buffer.from(d,"base64url")),Buffer.concat([a.update(Buffer.from(f,"base64url")),a.final()]).toString("utf8")}catch{throw new q("stored credential cannot be decrypted with the current key")}}function w(a){return a&&"object"==typeof a?Object.keys(a).filter(b=>o.test(b)&&"string"==typeof a[b]):[]}function x(a){return w(a).filter(b=>""!==a[b])}function y(a){if(!a||"object"!=typeof a)return a;let b={...a};for(let a of n)"string"==typeof b[a]&&(b[a]=u(b[a]));let c=w(b.providerSpecificData);if(c.length){let a={...b.providerSpecificData};for(let b of c)a[b]=u(a[b]);b.providerSpecificData=a}return b}let z="__unreadableCredentials";function A(a){return!!(a&&"object"==typeof a&&a[z])}function B(a){if(!a||"object"!=typeof a)return{data:a,error:null,unreadable:null};let b={...a},c=null,d=null,e=(a,b,c)=>{d||(d={}),d[a]||(d[a]={}),d[a][b]=c};for(let a of n)if(r(b[a]))try{b[a]=v(b[a])}catch(d){e("fields",a,b[a]),delete b[a],c=d.message}let f=x(b.providerSpecificData).filter(a=>r(b.providerSpecificData[a]));if(f.length){let a={...b.providerSpecificData};for(let b of f)try{a[b]=v(a[b])}catch(d){e("providerSpecificData",b,a[b]),delete a[b],c=d.message}b.providerSpecificData=a}return{data:b,error:c,unreadable:d}}function C(a){if(!a||"object"!=typeof a||!a[z])return a;let{[z]:b,...c}=a,d=a=>null==a||""===a;for(let[a,e]of Object.entries(b.fields||{}))d(c[a])&&(c[a]=e);let e=b.providerSpecificData||{};if(Object.keys(e).length){let a={...c.providerSpecificData||{}};for(let[b,c]of Object.entries(e))d(a[b])&&(a[b]=c);c.providerSpecificData=a}let f=b.synthesized;return f&&(c.testStatus===f.testStatus&&delete c.testStatus,c.lastError===f.lastError&&delete c.lastError),c}function D(a){if(!a||"object"!=typeof a)return!1;for(let b of n)if("string"==typeof a[b]&&""!==a[b]&&!r(a[b]))return!0;return x(a.providerSpecificData).some(b=>!r(a.providerSpecificData[b]))}},77134:(a,b,c)=>{c.d(b,{E:()=>i});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(31421);function i(a){if(a){if("win32"===process.platform){try{let b=[process.env.USERDOMAIN,process.env.USERNAME].filter(Boolean).join("\\")||g().userInfo().username;(0,h.execFileSync)("icacls",[a,"/inheritance:r","/grant:r",`${b}:(F)`],{stdio:"ignore",windowsHide:!0})}catch(b){console.warn(`⚠️ Could not restrict ACLs on ${a}: ${b.message}`)}return}try{e().chmodSync(a,384)}catch(b){console.warn(`⚠️ Could not restrict permissions on ${a}: ${b.message}`)}}}},95658:(a,b,c)=>{c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>n,KQ:()=>k,Or:()=>m,Rf:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(49120);let i=e().join(h.nJ,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l=e().join(h.nJ,"runtime"),m=Object.fromEntries(Object.entries(h.jL).map(([a,b])=>[a,e().join(h.nJ,b)]));function n(){for(let a of[h.nJ,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}}};
6
+ data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.provider,c.authType,c.name,c.email,c.priority,c.isActive,c.data,c.createdAt,c.updatedAt])}async function l(a={}){let b=await (0,e.cK)(),c=[],d=[];a.provider&&(c.push("provider = ?"),d.push(a.provider)),void 0!==a.isActive&&(c.push("isActive = ?"),d.push(+!!a.isActive));let f=`SELECT * FROM providerConnections${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,d).map(j);return g.sort((a,b)=>(a.priority||999)-(b.priority||999)),g}async function m(a){return j((await (0,e.cK)()).get("SELECT * FROM providerConnections WHERE id = ?",[a]))}function n(a,b){let c=a.all("SELECT * FROM providerConnections WHERE provider = ?",[b]).map(j);c.sort((a,b)=>{let c=(a.priority||0)-(b.priority||0);return 0!==c?c:new Date(b.updatedAt||0)-new Date(a.updatedAt||0)}),c.forEach((b,c)=>{let d=c+1;(b.priority||0)!==d&&a.run("UPDATE providerConnections SET priority = ? WHERE id = ?",[d,b.id])})}async function o(a){let b,f=await (0,e.cK)(),h=new Date().toISOString(),l=!1;if(f.transaction(()=>{var c;let e="apikey"===a.authType&&!!a.name,g=e?f.all("SELECT * FROM providerConnections WHERE provider = ? AND authType = ? AND name = ?",[a.provider,"apikey",a.name]).map(j):f.all("SELECT * FROM providerConnections WHERE provider = ?",[a.provider]).map(j),m=e?f.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a.provider])?.n??g.length:g.length;l=0===m;let n=null;if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.username,c=a.providerSpecificData?.chatgptAccountId;n=g.find(d=>{if("oauth"!==d.authType||d.email!==a.email)return!1;if("codex"===a.provider){let a=d.providerSpecificData?.chatgptAccountId;return!!c&&!!a&&c===a}let e=d.providerSpecificData?.chatgptAccountId;if(c&&e)return c===e;if(c&&!e||!c&&e)return!1;let f=d.providerSpecificData?.username;return b&&f?b===f:!b&&!f})}else"apikey"===a.authType&&a.name&&(n=g.find(b=>"apikey"===b.authType&&b.name===a.name));if(n){if(!1===a.allowOverwrite){let b=Error(`A connection named "${n.name}" already exists for provider "${a.provider}". Pass allowOverwrite: true to replace it.`);throw b.code="PROVIDER_NAME_CONFLICT",b.existingId=n.id,b.existingName=n.name,b}let c={...n,...a,updatedAt:h};for(let b of["lastError","lastErrorAt","errorCode"])void 0===a[b]&&(c[b]=null);void 0===a.testStatus&&"unavailable"===c.testStatus&&(c.testStatus="active"),k(f,c),b=c;return}let o=a.name||null;o||"oauth"!==a.authType&&"access_token"!==a.authType||(c=a.email||`Account ${m+1}`,o="github"===a.provider&&(a.providerSpecificData?.githubLogin||a.providerSpecificData?.githubEmail||a.email||a.providerSpecificData?.githubName)||c);let p=a.priority;if(!p){let b=f.get("SELECT MAX(priority) AS m FROM providerConnections WHERE provider = ?",[a.provider]);p=(b?.m||0)+1}let q={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:o,priority:p,isActive:void 0===a.isActive||a.isActive,createdAt:h,updatedAt:h};for(let b of i)void 0!==a[b]&&null!==a[b]&&(q[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(q.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(q.email=a.email),k(f,q),b=q}),l&&b)try{let{PROVIDER_MODELS:b,PROVIDER_ID_TO_ALIAS:d}=await Promise.all([c.e(2269),c.e(6070),c.e(7247)]).then(c.bind(c,57247)),e=d[a.provider]||a.provider,f=(b[e]||[]).filter(a=>!a.kind||"llm"===a.kind).map(a=>a.id);if(f.length>0){let a=await (0,g.jw)(e);0===a.length&&await (0,g.tm)(e,f)}}catch(a){console.log("Default-disable init skipped:",a?.message||a)}return b}async function p(a,b){let c,d=await (0,e.cK)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=j(e),g={...f,...b,updatedAt:new Date().toISOString()};if("resetErrorState"in g){let a=!0===g.resetErrorState;if(delete g.resetErrorState,a){let a={lastError:null,lastErrorAt:null,errorCode:null,testStatus:null};for(let c of Object.keys(a))void 0!==b[c]&&delete a[c];Object.assign(g,a)}}k(d,g),void 0!==b.priority&&n(d,f.provider),c=g}),c}async function q(a){let b=await (0,e.cK)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),n(b,d.provider),c=!0)}),c}async function r(a){let b=await (0,e.cK)(),c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a]);return b.run("DELETE FROM providerConnections WHERE provider = ?",[a]),c?.n||0}async function s(a){let b=await (0,e.cK)();b.transaction(()=>n(b,a))}async function t(){let a=await (0,e.cK)(),b=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","consecutiveUseCount"],c=0;return a.transaction(()=>{for(let d of a.all("SELECT * FROM providerConnections")){let e=j(d),f=!1;for(let a of b)(null===e[a]||void 0===e[a])&&a in e&&(delete e[a],c++,f=!0);e.providerSpecificData&&0===Object.keys(e.providerSpecificData).length&&(delete e.providerSpecificData,c++,f=!0),f&&k(a,e)}}),c}},29424:(a,b,c)=>{c.d(b,{jw:()=>k,oF:()=>p,qi:()=>h,tm:()=>o,vF:()=>j});var d=c(36366),e=c(644);let f="disabledModels",g=null;async function h(){if(g)return g;let a=new Map,b=new Map;try{let d=await c.e(2269).then(c.bind(c,82269));for(let c of d.default||d.REGISTRY||[]){let d=c.uiAlias||c.alias||c.id;if(!d)continue;let e=new Set([c.id,c.alias,c.uiAlias,...Array.isArray(c.aliases)?c.aliases:[]].filter(Boolean)),f=b.get(d)||new Set;for(let b of e)a.set(b,d),f.add(b);b.set(d,f)}}catch(a){console.log("Disabled-model key map unavailable:",a?.message||a)}return g={toCanonical:a,byCanonical:b}}async function i(a){let{toCanonical:b,byCanonical:c}=await h(),d=b.get(a)||a,e=c.get(d),f=new Set(e?[...e]:[]);return f.add(a),f.add(d),{canonical:d,keys:[...f]}}async function j(){let a=(await (0,d.cK)()).all("SELECT key, value FROM kv WHERE scope = ?",[f]),{toCanonical:b,byCanonical:c}=await h(),g=new Map;for(let c of a){let a=b.get(c.key)||c.key,d=g.get(a);d||(d={own:null,union:new Set},g.set(a,d));let f=(0,e.q)(c.value,[])||[];for(let b of(c.key===a&&(d.own=new Set(f)),f))d.union.add(b)}let i={};for(let[a,b]of g){let d=[...b.own||b.union];i[a]=d;let e=c.get(a);if(e)for(let a of e)i[a]=d}return i}async function k(a){return a&&(await j())[a]||[]}let l="INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",m="DELETE FROM kv WHERE scope = ? AND key = ?";function n(a,b,c){let d=null,g=new Set;for(let h of b){let b=a.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[f,h]);if(!b)continue;let i=(0,e.q)(b.value,[])||[];for(let a of(h===c&&(d=i),i))g.add(a)}return null!==d?d:[...g]}async function o(a,b){if(!a||!Array.isArray(b))return;let c=await (0,d.cK)(),{canonical:g,keys:h}=await i(a);c.transaction(()=>{let a=[...new Set([...n(c,h,g),...b])];for(let b of(c.run(l,[f,g,(0,e.s)(a)]),h))b!==g&&c.run(m,[f,b])})}async function p(a,b){if(!a)return;let c=await (0,d.cK)(),{canonical:g,keys:h}=await i(a),j=!Array.isArray(b)||0===b.length;c.transaction(()=>{let a=[];if(!j){let d=new Set(b);a=n(c,h,g).filter(a=>!d.has(a))}if(0===a.length){for(let a of h)c.run(m,[f,a]);return}for(let b of(c.run(l,[f,g,(0,e.s)(a)]),h))b!==g&&c.run(m,[f,b])})}},36366:(a,b,c)=>{c.d(b,{cK:()=>n});var d=c(76760),e=c.n(d),f=c(95658);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1,lastDriverError:null});let g=global._dbAdapter;async function h(){try{let{createRequire:a}=await Promise.resolve().then(c.t.bind(c,98995,23)),b=a(e().join(f.Rf,"_noop.js"))("better-sqlite3");return b?.default??b}catch{}try{let a=await Promise.resolve().then(c.t.bind(c,87550,23));return a?.default??a}catch{return null}}async function i(){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(4739).then(c.bind(c,24739));return await a(f.AL)}catch(a){return g.lastDriverError=`bun:sqlite: ${a.message}`,console.warn(`[DB] bun:sqlite unavailable: ${a.message}`),null}}async function j(){if(process.versions.bun)return null;let[a]=process.versions.node.split(".").map(Number);if(a>=24)return null;try{let a=await h();if(!a)throw Error("not installed (runtime copy and bare specifier both missing)");let{createBetterSqliteAdapter:b}=await c.e(5258).then(c.bind(c,25258));return b(f.AL,a)}catch(a){return g.lastDriverError=`better-sqlite3: ${a.message}`,console.warn(`[DB] better-sqlite3 unavailable: ${a.message}`),null}}async function k(){if(process.versions.bun)return null;let[a,b]=process.versions.node.split(".").map(Number);if(a<22||22===a&&b<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(8520).then(c.bind(c,88520));return await a(f.AL)}catch(a){return g.lastDriverError=`node:sqlite: ${a.message}`,console.warn(`[DB] node:sqlite unavailable: ${a.message}`),null}}async function l(){try{let{createSqlJsAdapter:a}=await c.e(3593).then(c.bind(c,53593));return await a(f.AL)}catch(a){return g.lastDriverError=`sql.js: ${a.message}`,console.warn(`[DB] sql.js unavailable: ${a.message}`),null}}async function m(){(0,f.Jh)();let a=await i();if(a||(a=await j()),a||(a=await k()),a||(a=await l()),!a)throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)");g.logged||(console.log(`[DB] Driver: ${a.driver} | file: ${f.AL}`),g.logged=!0);let{runMigrationOnce:b}=await c.e(976).then(c.bind(c,20976));return await b(a),a}async function n(){return g.instance?g.instance:(g.initPromise||(g.initPromise=m().then(a=>(g.instance=a,a))),g.initPromise)}},49120:(a,b,c)=>{c.d(b,{jL:()=>l,nJ:()=>p,ok:()=>o});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="10router",k="9router",l={main:"db.json",usage:"usage.json",disabled:"disabledModels.json",details:"request-details.json"};function m(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),k):g().join(i().homedir(),`.${k}`)}function n(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}function o(){let a=process.env.DATA_DIR;if(!a)return!function(){try{let a=m(),b=n();if(!e().existsSync(a)||e().existsSync(g().join(b,"db","data.sqlite"))||Object.values(l).some(a=>e().existsSync(g().join(b,a))))return;e().cpSync(a,b,{recursive:!0,force:!1}),console.log(`[migration] copied legacy data dir ${a} → ${b}`)}catch(a){console.warn(`[migration] failed to migrate ${m()} → ${n()}: ${a?.message}`)}}(),n();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),n();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),n();throw b}}let p=o()},72082:(a,b,c)=>{c.r(b),c.d(b,{CONNECTION_SECRET_FIELDS:()=>n,CredentialCryptoError:()=>q,UNREADABLE_CREDENTIALS_KEY:()=>z,connectionDataHasPlaintextSecrets:()=>D,decryptConnectionData:()=>B,decryptSecret:()=>v,encryptConnectionData:()=>y,encryptSecret:()=>u,getCredentialKey:()=>s,hasUnreadableCredentials:()=>A,isEncrypted:()=>r,resetCredentialKeyCache:()=>t,restoreUnreadableCredentials:()=>C});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(49120),k=c(77134);let l="enc:v1:",m="aes-256-gcm",n=["accessToken","refreshToken","idToken","apiKey"],o=/(token|secret|password|cookie|credential|api[-_]?key|proxyurl)/i,p=null;class q extends Error{constructor(a){super(a),this.name="CredentialCryptoError"}}function r(a){return"string"==typeof a&&a.startsWith(l)}function s(){if(p)return p;let a=process.env.CREDENTIAL_SECRET;if("string"==typeof a&&a.trim())return p=e().createHash("sha256").update(a.trim()).digest();let b=i().join(j.nJ,"credential-key");try{let a=g().readFileSync(b,"utf8").trim();if(a)return p=e().createHash("sha256").update(a).digest()}catch{}g().mkdirSync(j.nJ,{recursive:!0});let c=e().randomBytes(32).toString("hex");return g().writeFileSync(b,c,{mode:384}),(0,k.E)(b),p=e().createHash("sha256").update(c).digest()}function t(){p=null}function u(a){if("string"!=typeof a||""===a||r(a))return a;let b=e().randomBytes(12),c=e().createCipheriv(m,s(),b),d=Buffer.concat([c.update(a,"utf8"),c.final()]);return`${l}${b.toString("base64url")}:${c.getAuthTag().toString("base64url")}:${d.toString("base64url")}`}function v(a){if("string"!=typeof a||!r(a))return a;let b=a.slice(l.length).split(":");if(3!==b.length)throw new q("stored credential is malformed");let[c,d,f]=b;try{let a=e().createDecipheriv(m,s(),Buffer.from(c,"base64url"));return a.setAuthTag(Buffer.from(d,"base64url")),Buffer.concat([a.update(Buffer.from(f,"base64url")),a.final()]).toString("utf8")}catch{throw new q("stored credential cannot be decrypted with the current key")}}function w(a){return a&&"object"==typeof a?Object.keys(a).filter(b=>o.test(b)&&"string"==typeof a[b]):[]}function x(a){return w(a).filter(b=>""!==a[b])}function y(a){if(!a||"object"!=typeof a)return a;let b={...a};for(let a of n)"string"==typeof b[a]&&(b[a]=u(b[a]));let c=w(b.providerSpecificData);if(c.length){let a={...b.providerSpecificData};for(let b of c)a[b]=u(a[b]);b.providerSpecificData=a}return b}let z="__unreadableCredentials";function A(a){return!!(a&&"object"==typeof a&&a[z])}function B(a){if(!a||"object"!=typeof a)return{data:a,error:null,unreadable:null};let b={...a},c=null,d=null,e=(a,b,c)=>{d||(d={}),d[a]||(d[a]={}),d[a][b]=c};for(let a of n)if(r(b[a]))try{b[a]=v(b[a])}catch(d){e("fields",a,b[a]),delete b[a],c=d.message}let f=x(b.providerSpecificData).filter(a=>r(b.providerSpecificData[a]));if(f.length){let a={...b.providerSpecificData};for(let b of f)try{a[b]=v(a[b])}catch(d){e("providerSpecificData",b,a[b]),delete a[b],c=d.message}b.providerSpecificData=a}return{data:b,error:c,unreadable:d}}function C(a){if(!a||"object"!=typeof a||!a[z])return a;let{[z]:b,...c}=a,d=a=>null==a||""===a;for(let[a,e]of Object.entries(b.fields||{}))d(c[a])&&(c[a]=e);let e=b.providerSpecificData||{};if(Object.keys(e).length){let a={...c.providerSpecificData||{}};for(let[b,c]of Object.entries(e))d(a[b])&&(a[b]=c);c.providerSpecificData=a}let f=b.synthesized;return f&&(c.testStatus===f.testStatus&&delete c.testStatus,c.lastError===f.lastError&&delete c.lastError),c}function D(a){if(!a||"object"!=typeof a)return!1;for(let b of n)if("string"==typeof a[b]&&""!==a[b]&&!r(a[b]))return!0;return x(a.providerSpecificData).some(b=>!r(a.providerSpecificData[b]))}},77134:(a,b,c)=>{c.d(b,{E:()=>i});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(31421);function i(a){if(a){if("win32"===process.platform){try{let b=[process.env.USERDOMAIN,process.env.USERNAME].filter(Boolean).join("\\")||g().userInfo().username;(0,h.execFileSync)("icacls",[a,"/inheritance:r","/grant:r",`${b}:(F)`],{stdio:"ignore",windowsHide:!0})}catch(b){console.warn(`⚠️ Could not restrict ACLs on ${a}: ${b.message}`)}return}try{e().chmodSync(a,384)}catch(b){console.warn(`⚠️ Could not restrict permissions on ${a}: ${b.message}`)}}}},95658:(a,b,c)=>{c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>n,KQ:()=>k,Or:()=>m,Rf:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(49120);let i=e().join(h.nJ,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l=e().join(h.nJ,"runtime"),m=Object.fromEntries(Object.entries(h.jL).map(([a,b])=>[a,e().join(h.nJ,b)]));function n(){for(let a of[h.nJ,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}}};
@@ -1 +1 @@
1
- "use strict";exports.id=6070,exports.ids=[6070],exports.modules={26070:(a,b,c)=>{c.d(b,{xq:()=>p,B$:()=>s,vq:()=>q,sr:()=>r});var d=c(48247),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},"xiaomi-mimo":{models:[{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",type:"tts"}],voices:{"mimo-v2.5-tts":[{id:"mimo_default",name:"mimo_default"},{id:"冰糖",name:"冰糖"},{id:"茉莉",name:"茉莉"},{id:"苏打",name:"苏打"},{id:"白桦",name:"白桦"},{id:"Mia",name:"Mia"},{id:"Chloe",name:"Chloe"},{id:"Milo",name:"Milo"},{id:"Dean",name:"Dean"}].map(a=>({type:"tts",...a}))}}},n=["clientId","clientSecret","tokenUrl"],o=new Set(["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"]),p={},q={},r={},s={};for(let a of d.default){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}())},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:()=>h,ec:()=>j,gr:()=>i,pk:()=>g,Kq:()=>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){return"string"!=typeof a?a:a.replace(/(\d)-(\d)/g,"$1.$2")}function g(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 h(a){return a?.strip||[]}function i(a){return a?.targetFormat||null}function j(a){return a?.supportedFormats||null}}};
1
+ "use strict";exports.id=6070,exports.ids=[6070],exports.modules={26070:(a,b,c)=>{c.d(b,{xq:()=>p,B$:()=>s,vq:()=>q,sr:()=>r});var d=c(82269),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},"xiaomi-mimo":{models:[{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",type:"tts"}],voices:{"mimo-v2.5-tts":[{id:"mimo_default",name:"mimo_default"},{id:"冰糖",name:"冰糖"},{id:"茉莉",name:"茉莉"},{id:"苏打",name:"苏打"},{id:"白桦",name:"白桦"},{id:"Mia",name:"Mia"},{id:"Chloe",name:"Chloe"},{id:"Milo",name:"Milo"},{id:"Dean",name:"Dean"}].map(a=>({type:"tts",...a}))}}},n=["clientId","clientSecret","tokenUrl"],o=new Set(["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"]),p={},q={},r={},s={};for(let a of d.default){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}())},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:()=>h,ec:()=>j,gr:()=>i,pk:()=>g,Kq:()=>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){return"string"!=typeof a?a:a.replace(/(\d)-(\d)/g,"$1.$2")}function g(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 h(a){return a?.strip||[]}function i(a){return a?.targetFormat||null}function j(a){return a?.supportedFormats||null}}};
@@ -1 +1 @@
1
- "use strict";exports.id=615,exports.ids=[615],exports.modules={40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,rs:()=>u});var d=c(48247);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.default.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.default.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...a.topologyHiddenByDefault?{topologyHiddenByDefault:!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.exposeStaticModels?{exposeStaticModels:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.community?{community:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=d.default.filter(a=>a.features?.usage).map(a=>a.id),y=d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)}};
1
+ "use strict";exports.id=615,exports.ids=[615],exports.modules={40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,rs:()=>u});var d=c(82269);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.default.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.default.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...a.topologyHiddenByDefault?{topologyHiddenByDefault:!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.exposeStaticModels?{exposeStaticModels:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.community?{community:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=d.default.filter(a=>a.features?.usage).map(a=>a.id),y=d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)}};
@@ -1 +1 @@
1
- "use strict";exports.id=6306,exports.ids=[6306],exports.modules={66306:(a,b,c)=>{c.d(b,{Q5:()=>function a(b,c=null,d=null,e=0){if(!b?.length||e>6)return null;let f=b.map(b=>{if(!b.includes("/")&&c?.[b])return a(c[b],c,d,e+1)??d?.(b)??n(null,b);let f=b.indexOf("/"),g=n(-1===f?null:b.slice(0,f),-1===f?b:b.slice(f+1)),h=d?.(b);return h?{...g,...h}:g}),g=f[0];return{vision:f.some(a=>a.vision),pdf:f.some(a=>a.pdf),audioInput:f.some(a=>a.audioInput),videoInput:f.some(a=>a.videoInput),imageOutput:f.some(a=>a.imageOutput),audioOutput:f.some(a=>a.audioOutput),search:f.some(a=>a.search),tools:f.every(a=>a.tools),reasoning:g.reasoning,thinkingFormat:g.thinkingFormat,thinkingCanDisable:g.thinkingCanDisable,thinkingRange:g.thinkingRange,contextWindow:Math.min(...f.map(a=>a.contextWindow)),maxOutput:Math.max(...f.map(a=>a.maxOutput))}},a0:()=>g,nl:()=>n});var d=c(58920);let e={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},f={imageToText:{vision:!0},image:{imageOutput:!0},stt:{audioInput:!0},tts:{audioOutput:!0},embedding:{tools:!1}};function g(a){return f[a]||null}let h={"claude-fable-5-1":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},"claude-opus-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"muse-spark-1.2-contributor-free":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072},"muse-spark-1.3-contributor-free":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072},"big-pickle":{reasoning:!0,thinkingFormat:"openai",contextWindow:262144,maxOutput:65536},"mimo-v2.5-free":{reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:65536},"ling-3.0-flash-fin-free":{reasoning:!0,thinkingFormat:"openai",contextWindow:131072,maxOutput:32768},"nemotron-3-ultra-free":{reasoning:!0,thinkingFormat:"openai",contextWindow:262144,maxOutput:65536},"nemotron-3.5-lightning-free":{reasoning:!0,thinkingFormat:"openai",contextWindow:262144,maxOutput:65536},"claude-opus-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.6-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"GLM-4.6V-Flash":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:2e5},"glm-5.3-flash":{vision:!0,videoInput:!0,pdf:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:1e6,maxOutput:131072},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"glm-5.3":{reasoning:!0,thinkingFormat:"zai",contextWindow:1e6,maxOutput:131072},"glm-5.2":{reasoning:!0,thinkingFormat:"zai",contextWindow:1e6,maxOutput:131072},"glm-5.1":{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:131072},"glm-5":{reasoning:!0,thinkingFormat:"zai",contextWindow:204800,maxOutput:131072},"qwen3.8-max":{vision:!0,videoInput:!0,pdf:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:131072},"qwen3.8-flash":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:131072},"mimo-v2-pro":{contextWindow:1048576,maxOutput:131072},"mimo-v2.5-pro":{contextWindow:1048576,maxOutput:131072},"mimo-v2.6-pro":{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072},"mimo-v2.6-flash":{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072},"mimo-v2.6-flash-free":{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072},"mimo-v2.6-pro-ultraspeed":{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072},"mimo-v2.6-pro-claude":{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072},"mimo-v2-omni":{vision:!0,audioInput:!0,videoInput:!0,pdf:!0,contextWindow:262144,maxOutput:131072},hy3:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:256e3,maxOutput:128e3},"hy3-preview":{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:256e3,maxOutput:64e3},"step-5-preview":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"step",contextWindow:1e6},"step-3.7-flash":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"step",contextWindow:256e3},"step-3.5-flash":{reasoning:!0,thinkingFormat:"step",contextWindow:256e3},"step-3.5-flash-2603":{reasoning:!0,thinkingFormat:"step",contextWindow:256e3},"step-1o-turbo-vision":{vision:!0,contextWindow:32e3},"step-router-v1":{reasoning:!0,thinkingFormat:"step",contextWindow:256e3},"grok-4.5":{vision:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:5e5,maxOutput:5e5},"grok-4.6":{vision:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:5e5,maxOutput:5e5},"grok-4.7":{vision:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:5e5,maxOutput:5e5},"gpt-5.6-luna":{vision:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:105e4,maxOutput:128e3},"gpt-6-luna":{vision:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:105e4,maxOutput:128e3},"kimi-k2.6":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144},"kimi-k3":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072},k3:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072},"kimi-for-coding":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-for-coding-highspeed":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-k2.7-code":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-k2.7-code-highspeed":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"agnes-2.5-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:65536},"agnes-2.5-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},"deepseek-v4-flash-vision-exp":{vision:!0,reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3},"deepseek-flash":{vision:!0,reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3},"deepseek-v4.1-flash":{vision:!0,reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3},"muse-spark-1.1":{vision:!0,videoInput:!0,pdf:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072},"muse-spark-1.2":{vision:!0,videoInput:!0,pdf:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072},"muse-spark-1.3":{vision:!0,videoInput:!0,pdf:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072},"muse-spark-1.2-contributor":{vision:!0,videoInput:!0,pdf:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072},"muse-spark-1.3-contributor":{vision:!0,videoInput:!0,pdf:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072},"fugu-ultra":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:131072},"hy4-preview":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:64e3},"gpt-audio":{audioInput:!0,audioOutput:!0,contextWindow:128e3,maxOutput:16384},"gpt-audio-mini":{audioInput:!0,audioOutput:!0,contextWindow:128e3,maxOutput:16384},"LongCat-2.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:131072},"LongCat-2.5-Preview":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:131072},"longcat-2.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:131072},"longcat-2.5-preview-free":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:131072},"space-bunny-free":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:524288},"sensenova-6.8-flash-lite":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:262144,maxOutput:65536},"venice-uncensored-1-2":{vision:!0,contextWindow:128e3,maxOutput:8192},"morph-v3-large":{tools:!1,contextWindow:32e3,maxOutput:32e3},"morph-v3-fast":{tools:!1,contextWindow:16e3,maxOutput:16e3}},i={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},j={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:372e3,maxOutput:128e3},k={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},l={antigravity:{"gemini-pro-agent":{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},nvidia:{"minimaxai/minimax-m2.7":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072},"minimaxai/minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:131072},"z-ai/glm-5.2":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"deepseek-ai/deepseek-v4-pro":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"deepseek-ai/deepseek-v4-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536}},amd:{"DeepSeek-V4-Flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:65536},"DeepSeek-V4-Flash-Vision-Exp":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:65536},"Qwen3.8-Flash-Next":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!0,contextWindow:262144,maxOutput:32768},"MiniCPM5-2B":{reasoning:!1,contextWindow:131072,maxOutput:32768}},dahl:{"zai-org/GLM-5.3-Flash":{vision:!0,videoInput:!0,pdf:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:1e6,maxOutput:131072},"deepseek-ai/DeepSeek-V4-Flash-0731":{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},atria:{"Atria-Dawn-Preview":{vision:!1,reasoning:!1}},tokenharbor:{"deepseek-v4.1-flash:free":{vision:!0,reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},codex:{"gpt-6-astra":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},"gpt-5.6-sol":j,"gpt-5.6-sol-review":j,"gpt-5.6-terra":k,"gpt-5.6-terra-review":k,"gpt-5.6-luna":k,"gpt-5.6-luna-review":k},kiro:{"gpt-5.6-sol":i,"gpt-5.6-terra":i,"gpt-5.6-luna":i,"gpt-5.6-sol-thinking":i,"gpt-5.6-terra-thinking":i,"gpt-5.6-luna-thinking":i,"gpt-5.6-sol-agentic":i,"gpt-5.6-terra-agentic":i,"gpt-5.6-luna-agentic":i,"gpt-5.6-sol-thinking-agentic":i,"gpt-5.6-terra-thinking-agentic":i,"gpt-5.6-luna-thinking-agentic":i},"codebuddy-cn":{"glm-5.2":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!0,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:64e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:128e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},hy3:{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"hy4-preview":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:64e3},"glm-5.3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!0,contextWindow:1e6,maxOutput:48e3},"glm-5.3-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!0,contextWindow:1e6,maxOutput:32e3},"kimi-k3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:32e3},"deepseek-v4-pro":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!0,contextWindow:1e6,maxOutput:384e3},"deepseek-v4.1-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!0,contextWindow:1e6,maxOutput:128e3}},qoder:{ultimate:{vision:!0,reasoning:!0,thinkingFormat:"claude-adaptive",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},performance:{vision:!0,reasoning:!0,thinkingFormat:"claude-adaptive",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},dmodel:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},dfmodel:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},gmodel:{reasoning:!0,thinkingFormat:"zai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},gfmodel:{vision:!0,reasoning:!0,thinkingFormat:"zai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},kmodel_latest:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},kmodel:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:65536},mmodel:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:512e3},qmodel_latest:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},qmodel:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},qfmodel:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},qmodel_38max:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536}},"qoder-cn":{dmodel:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},dfmodel:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},gmodel:{reasoning:!0,thinkingFormat:"zai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},gfmodel:{vision:!0,reasoning:!0,thinkingFormat:"zai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},gm51model:{reasoning:!0,thinkingFormat:"zai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},kmodel_latest:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},kmodel:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:65536},mmodel:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:512e3},qmodel_latest:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},qmodel:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},q37fmodel:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},qfmodel:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},qmodel_38max:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536}},poolside:{"laguna-s-2.1":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:32e3},"laguna-xs-2.1":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}}},m=[{pattern:"*claude*opus-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3.8*",caps:{vision:!0,audioInput:!0,videoInput:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-3.7*",caps:{vision:!0,audioInput:!0,videoInput:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:5e5,maxOutput:5e5}},{pattern:"*grok-4.5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:5e5,maxOutput:64e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k3*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072}},{pattern:"*kimi*for-coding*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1e6,maxOutput:131072}},{pattern:"*minimax-m2.7*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax-m2.5*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*preview*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*laguna-s-2.1*free*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}},{pattern:"*laguna-s-2.1*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:32e3}},{pattern:"*laguna*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}},{pattern:"*seed-2-0-pro*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:128e3}},{pattern:"*seed-2.0-pro*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:128e3}},{pattern:"*seed-2-0-code*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:262144,maxOutput:131072}},{pattern:"*seed-2.0-code*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:262144,maxOutput:131072}},{pattern:"*seed-2-0-mini*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:131072}},{pattern:"*seed-2.0-mini*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:131072}},{pattern:"*seed-2-0-lite*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:131072}},{pattern:"*seed-2.0-lite*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:131072}},{pattern:"*seed-code*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:32768}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function n(a,b){if(!b)return{...e};let c=b.includes("/")?b.split("/").pop():b;if(a){let d=l[a];if(d?.[b])return{...e,...d[b]};if(d?.[c])return{...e,...d[c]}}if(h[c])return{...e,...h[c]};if(h[b])return{...e,...h[b]};for(let{pattern:a,caps:f}of m)if((0,d.gH)(a,c)||(0,d.gH)(a,b))return{...e,...f};return{...e}}}};
1
+ "use strict";exports.id=6306,exports.ids=[6306],exports.modules={66306:(a,b,c)=>{c.d(b,{Q5:()=>function a(b,c=null,d=null,e=0){if(!b?.length||e>6)return null;let f=b.map(b=>{if(!b.includes("/")&&c?.[b])return a(c[b],c,d,e+1)??d?.(b)??s(null,b);let f=b.indexOf("/"),g=s(-1===f?null:b.slice(0,f),-1===f?b:b.slice(f+1)),h=d?.(b);return h?{...g,...h}:g}),g=f[0];return{vision:f.some(a=>a.vision),pdf:f.some(a=>a.pdf),audioInput:f.some(a=>a.audioInput),videoInput:f.some(a=>a.videoInput),imageOutput:f.some(a=>a.imageOutput),audioOutput:f.some(a=>a.audioOutput),search:f.some(a=>a.search),tools:f.every(a=>a.tools),reasoning:g.reasoning,thinkingFormat:g.thinkingFormat,thinkingCanDisable:g.thinkingCanDisable,thinkingRange:g.thinkingRange,contextWindow:Math.min(...f.map(a=>a.contextWindow)),maxOutput:Math.max(...f.map(a=>a.maxOutput))}},a0:()=>g,nl:()=>s});var d=c(58920);let e={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},f={imageToText:{vision:!0},image:{imageOutput:!0},stt:{audioInput:!0},tts:{audioOutput:!0},embedding:{tools:!1}};function g(a){return f[a]||null}let h={"claude-fable-5-1":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},"claude-opus-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5.5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5.5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5.5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5.5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"muse-spark-1.2-contributor-free":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072},"muse-spark-1.3-contributor-free":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072},"big-pickle":{reasoning:!0,thinkingFormat:"openai",contextWindow:262144,maxOutput:65536},"mimo-v2.5-free":{reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:65536},"ling-3.0-flash-fin-free":{reasoning:!0,thinkingFormat:"openai",contextWindow:131072,maxOutput:32768},"nemotron-3-ultra-free":{reasoning:!0,thinkingFormat:"openai",contextWindow:262144,maxOutput:65536},"nemotron-3.5-lightning-free":{reasoning:!0,thinkingFormat:"openai",contextWindow:262144,maxOutput:65536},"claude-opus-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.6-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"GLM-4.6V-Flash":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:2e5},"glm-5.3-flash":{vision:!0,videoInput:!0,pdf:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:1e6,maxOutput:131072},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"glm-5.3":{reasoning:!0,thinkingFormat:"zai",contextWindow:1e6,maxOutput:131072},"glm-5.2":{reasoning:!0,thinkingFormat:"zai",contextWindow:1e6,maxOutput:131072},"glm-5.1":{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:131072},"glm-5":{reasoning:!0,thinkingFormat:"zai",contextWindow:204800,maxOutput:131072},"qwen3.8-max":{vision:!0,videoInput:!0,pdf:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:131072},"qwen3.8-flash":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:131072},"mimo-v2-pro":{contextWindow:1048576,maxOutput:131072},"mimo-v2.5-pro":{contextWindow:1048576,maxOutput:131072},"mimo-v2.6-pro":{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072},"mimo-v2.6-flash":{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072},"mimo-v2.6-flash-free":{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072},"mimo-v2.6-pro-ultraspeed":{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072},"mimo-v2.6-pro-claude":{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072},"mimo-v2-omni":{vision:!0,audioInput:!0,videoInput:!0,pdf:!0,contextWindow:262144,maxOutput:131072},hy3:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:256e3,maxOutput:128e3},"hy3-preview":{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:256e3,maxOutput:64e3},"step-5-preview":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"step",contextWindow:1e6},"step-3.7-flash":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"step",contextWindow:256e3},"step-3.5-flash":{reasoning:!0,thinkingFormat:"step",contextWindow:256e3},"step-3.5-flash-2603":{reasoning:!0,thinkingFormat:"step",contextWindow:256e3},"step-1o-turbo-vision":{vision:!0,contextWindow:32e3},"step-router-v1":{reasoning:!0,thinkingFormat:"step",contextWindow:256e3},"grok-4.5":{vision:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:5e5,maxOutput:5e5},"grok-4.6":{vision:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:5e5,maxOutput:5e5},"grok-4.7":{vision:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:5e5,maxOutput:5e5},"gpt-5.6-luna":{vision:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:105e4,maxOutput:128e3},"gpt-6-luna":{vision:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:105e4,maxOutput:128e3},"kimi-k2.6":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144},"kimi-k3":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072},k3:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072},"kimi-for-coding":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-for-coding-highspeed":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-k2.7-code":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-k2.7-code-highspeed":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"agnes-2.5-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:65536},"agnes-2.5-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},"deepseek-v4-flash-vision-exp":{vision:!0,reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3},"deepseek-flash":{vision:!0,reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3},"deepseek-v4.1-flash":{vision:!0,reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3},"deepseek-v4-1-flash":{vision:!0,reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3},"muse-spark-1.1":{vision:!0,videoInput:!0,pdf:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072},"muse-spark-1.2":{vision:!0,videoInput:!0,pdf:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072},"muse-spark-1.3":{vision:!0,videoInput:!0,pdf:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072},"muse-spark-1.2-contributor":{vision:!0,videoInput:!0,pdf:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072},"muse-spark-1.3-contributor":{vision:!0,videoInput:!0,pdf:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072},"fugu-ultra":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:131072},"hy4-preview":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:64e3},"gpt-audio":{audioInput:!0,audioOutput:!0,contextWindow:128e3,maxOutput:16384},"gpt-audio-mini":{audioInput:!0,audioOutput:!0,contextWindow:128e3,maxOutput:16384},"LongCat-2.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:131072},"LongCat-2.5-Preview":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:131072},"longcat-2.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:131072},"longcat-2.5-preview-free":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:131072},"space-bunny-free":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:524288},"MiniMax-M3.1-Flash-Preview":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:512e3},"MiniMax-M3":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!0,contextWindow:1e6,maxOutput:131072},"fledge-alpha-free":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072},"sensenova-6.8-flash-lite":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:262144,maxOutput:65536},"venice-uncensored-1-2":{vision:!0,contextWindow:128e3,maxOutput:8192},"morph-v3-large":{tools:!1,contextWindow:32e3,maxOutput:32e3},"morph-v3-fast":{tools:!1,contextWindow:16e3,maxOutput:16e3}},i={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},j={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:372e3,maxOutput:128e3},k={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},l={...k,contextWindow:872e3},m={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3};function n(a,b){let c={...a};for(let[d,e]of Object.entries(b))c[d]=a[e];return c}let o={"Qwen3.8-Max":"qmodel_38max","Qwen3.7-Max":"qmodel_latest","Qwen3.7-Plus":"qmodel","Qwen3.8-Flash":"qfmodel","Kimi-K3":"kmodel_latest","Kimi-K2.7-Code":"kmodel","GLM-5.3":"gmodel","GLM-5.3-Flash":"gfmodel","DeepSeek-V4-Pro":"dmodel","DeepSeek-V4-Flash":"dfmodel","MiniMax-M3":"mmodel"},p={...o,"Qwen3.7-Flash":"q37fmodel","GLM-5.2":"gm51model"},q={antigravity:{"gemini-pro-agent":{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},nvidia:{"minimaxai/minimax-m2.7":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072},"minimaxai/minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:131072},"z-ai/glm-5.2":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"deepseek-ai/deepseek-v4-pro":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"deepseek-ai/deepseek-v4-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536}},amd:{"DeepSeek-V4-Flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:65536},"DeepSeek-V4-Flash-Vision-Exp":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:65536},"Qwen3.8-Flash-Next":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!0,contextWindow:262144,maxOutput:32768},"MiniCPM5-2B":{reasoning:!1,contextWindow:131072,maxOutput:32768}},atria:{"Atria-Dawn-Preview":{vision:!1,reasoning:!1}},tokenharbor:{"deepseek-v4.1-flash:free":{vision:!0,reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3},"qwen3.8-flash:free":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:131072},"mimo-v2.6-flash:free":{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072}},codex:{"gpt-6-astra":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},"gpt-6-sol":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},"gpt-6-luna":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},"gpt-6-astra[1m]":l,"gpt-6-sol[1m]":l,"gpt-6-luna[1m]":l,"gpt-5.6-sol[1m]":l,"gpt-5.6-terra[1m]":l,"gpt-5.6-luna[1m]":l,"gpt-5.6-sol":j,"gpt-5.6-sol-review":j,"gpt-5.6-terra":k,"gpt-5.6-terra-review":k,"gpt-5.6-luna":k,"gpt-5.6-luna-review":k,"gpt-daybreak-blue-latest":k,"gpt-reserve":k},kiro:{"gpt-5.6-sol":i,"gpt-5.6-terra":i,"gpt-5.6-luna":i,"gpt-5.6-sol-thinking":i,"gpt-5.6-terra-thinking":i,"gpt-5.6-luna-thinking":i,"gpt-5.6-sol-agentic":i,"gpt-5.6-terra-agentic":i,"gpt-5.6-luna-agentic":i,"gpt-5.6-sol-thinking-agentic":i,"gpt-5.6-terra-thinking-agentic":i,"gpt-5.6-luna-thinking-agentic":i},"devin-cli":{"gpt-5.4-high":m,"gpt-5.4-medium":m,"gpt-5.4-low":m,"gpt-5.5-xhigh":m,"gpt-5.5-high":m,"gpt-5.5-medium":m,"gpt-5.5-low":m},apinex:{"claude-fable-5.1":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"claude-opus-5":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"claude-opus-5.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"deepseek-v4-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"deepseek-v4-pro":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"deepseek-v4.1-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"gemini-3.1-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"gemini-3.8-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"glm-5.3":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"glm-5.3-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"gpt-5.6-terra":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"gpt-6-astra":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"gpt-6-luna":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:105e4,maxOutput:128e3},"gpt-6.1-sol":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"grok-4.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:5e5,maxOutput:128e3},"kimi-k3":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"free/claude-opus-4.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"free/claude-sonnet-4.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"free/deepseek-v4-flash-0731":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"free/deepseek-v4-pro-0813":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"free/deepseek-v4.1-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"free/gemini-3.1-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"free/gemini-3.8-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"free/glm-5.3-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:128e3},"free/gpt-6-luna":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:105e4,maxOutput:128e3},"free/hy4":{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:65536},"free/kimi-k2.8":{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:65536},"free/kimi-k3":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"free/mimo-v2.6-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"free/mimo-v2.6-pro":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"free/minimax-m3":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:512e3},"free/minimax-m3.1":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:512e3},"free/muse-spark-1.3":{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:65536},"free/qwen-3.8-max":{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536}},"codebuddy-cn":{"glm-5.2":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!0,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:64e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:128e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},hy3:{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"hy4-preview":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:64e3},"space-bunny":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:64e3},"glm-5.3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!0,contextWindow:1e6,maxOutput:48e3},"glm-5.3-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!0,contextWindow:1e6,maxOutput:32e3},"kimi-k3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:32e3},"deepseek-v4-pro":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!0,contextWindow:1e6,maxOutput:384e3},"deepseek-v4.1-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!0,contextWindow:1e6,maxOutput:128e3}},qoder:n({auto:{vision:!0,reasoning:!0,thinkingFormat:"claude-adaptive",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},ultimate:{vision:!0,reasoning:!0,thinkingFormat:"claude-adaptive",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},performance:{vision:!0,reasoning:!0,thinkingFormat:"claude-adaptive",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},efficient:{vision:!0,reasoning:!0,thinkingFormat:"claude-adaptive",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},dmodel:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},dfmodel:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},gmodel:{reasoning:!0,thinkingFormat:"zai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},gfmodel:{vision:!0,reasoning:!0,thinkingFormat:"zai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},kmodel_latest:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},kmodel:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:65536},mmodel:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:512e3},qmodel_latest:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},qmodel:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},qfmodel:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},qmodel_38max:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536}},{...o,Auto:"auto",Ultimate:"ultimate",Performance:"performance",Efficient:"efficient"}),"qoder-cn":n({auto:{vision:!0,reasoning:!0,thinkingFormat:"claude-adaptive",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},dmodel:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},dfmodel:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},gmodel:{reasoning:!0,thinkingFormat:"zai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},gfmodel:{vision:!0,reasoning:!0,thinkingFormat:"zai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:128e3},gm51model:{reasoning:!0,thinkingFormat:"zai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},kmodel_latest:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},kmodel:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:65536},mmodel:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:512e3},qmodel_latest:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},qmodel:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},q37fmodel:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},qfmodel:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536},qmodel_38max:{vision:!0,reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:65536}},{...p,Auto:"auto"}),poolside:{"laguna-s-2.1":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:32e3},"laguna-xs-2.1":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}}};q.cx=q.codex,q.dv=q["devin-cli"],q.devin=q["devin-cli"];let r=[{pattern:"*claude*opus-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*sonnet-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3.8*",caps:{vision:!0,audioInput:!0,videoInput:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-3.7*",caps:{vision:!0,audioInput:!0,videoInput:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,pdf:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:105e4,maxOutput:128e3}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5.4-mini*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5.4-nano*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5.4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:105e4,maxOutput:128e3}},{pattern:"*gpt-5.5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:105e4,maxOutput:128e3}},{pattern:"*gpt-5.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:105e4,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:5e5,maxOutput:5e5}},{pattern:"*grok-4.5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:5e5,maxOutput:64e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k3*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072}},{pattern:"*kimi*for-coding*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1e6,maxOutput:131072}},{pattern:"*minimax-m2.7*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax-m2.5*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*preview*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*laguna-s-2.1*free*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}},{pattern:"*laguna-s-2.1*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:32e3}},{pattern:"*laguna*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}},{pattern:"*seed-2-0-pro*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:128e3}},{pattern:"*seed-2.0-pro*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:128e3}},{pattern:"*seed-2-0-code*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:262144,maxOutput:131072}},{pattern:"*seed-2.0-code*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:262144,maxOutput:131072}},{pattern:"*seed-2-0-mini*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:131072}},{pattern:"*seed-2.0-mini*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:131072}},{pattern:"*seed-2-0-lite*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:131072}},{pattern:"*seed-2.0-lite*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:131072}},{pattern:"*seed-code*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:256e3,maxOutput:32768}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function s(a,b){if(!b)return{...e};let c=b.includes("/")?b.split("/").pop():b;if(a){let d=q[a];if(d?.[b])return{...e,...d[b]};if(d?.[c])return{...e,...d[c]}}if(h[c])return{...e,...h[c]};if(h[b])return{...e,...h[b]};for(let{pattern:a,caps:f}of r)if((0,d.gH)(a,c)||(0,d.gH)(a,b))return{...e,...f};return{...e}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=6326,exports.ids=[6326],exports.modules={7803:(a,b,c)=>{c.r(b),c.d(b,{debug:()=>o,error:()=>r,errorLine:()=>l,fmtThink:()=>m,info:()=>p,line:()=>k,maskKey:()=>v,nextTag:()=>i,request:()=>s,response:()=>t,stream:()=>u,tagForSession:()=>j,warn:()=>q});let d={DEBUG:0,INFO:1,WARN:2,ERROR:3},e=d[process.env.LOG_LEVEL?.toUpperCase?.()]??d.INFO;function f(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}let g=["\uD83D\uDFE2","\uD83D\uDD35","\uD83D\uDFE3","\uD83D\uDFE1","\uD83D\uDFE0","\uD83D\uDD34","⚪","\uD83D\uDFE4"],h=0;function i(){let a=g[h%g.length];return h++,a}function j(a){if(!a)return i();let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)|0;return g[Math.abs(b)%g.length]}function k(a,b,c){e>d.INFO||console.log(`[${f()}] ${a} ${b} ${c}`)}function l(a,b,c){console.log(`[${f()}] ${a} ${b} ${c}`)}function m(a){return a&&a.mode?"none"===a.mode?"off":"auto"===a.mode?"auto":"budget"===a.mode?a.budget>=1e3?`${Math.round(a.budget/1e3)}k`:`${a.budget}`:"level"===a.mode?a.level:null:null}function n(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function o(a,b,c){if(e<=d.DEBUG){let d=c?` ${n(c)}`:"";console.log(`[${f()}] 🔍 [${a}] ${b}${d}`)}}function p(a,b,c){if(e<=d.INFO){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ℹ️ [${a}] ${b}${d}`)}}function q(a,b,c){if(e<=d.WARN){let d=c?` ${n(c)}`:"";console.warn(`[${f()}] ⚠️ [${a}] ${b}${d}`)}}function r(a,b,c){if(e<=d.ERROR){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ❌ [${a}] ${b}${d}`)}}function s(a,b,c){let d=c?` ${n(c)}`:"";console.log(`\x1b[36m[${f()}] 📥 ${a} ${b}${d}\x1b[0m`)}function t(a,b,c){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${d}`)}function u(a,b){let c=b?` ${n(b)}`:"";console.log(`[${f()}] 🌊 [STREAM] ${a}${c}`)}function v(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}},46326:(a,b,c)=>{c.r(b),c.d(b,{__internals:()=>N,isEligibleCbIntlConnection:()=>r,isEligibleCbcnConnection:()=>q,mapDailyCheckinStatus:()=>t,msUntilNextTick:()=>u,runCodebuddyCheckinTick:()=>H,runCodebuddyIntlSessionTick:()=>I,startCodebuddyCheckin:()=>L,stopCodebuddyCheckin:()=>M});var d=c(7803);let e="https://www.codebuddy.cn/v2/billing/meter/daily-checkin",f="https://www.codebuddy.cn/v2/billing/meter/checkin-activity-status",g="https://www.codebuddy.ai/v2/chat/completions",h="hy4-preview",i=!1,j=null,k=null;async function l(){if(k)return k;let a=await x(),b=a?.codeBuddyDailyDone;return k=b&&"object"==typeof b&&!Array.isArray(b)?{...b}:{}}async function m(){if(!k)return;let a=p(),b={};for(let[c,d]of Object.entries(k))d===a&&(b[c]=d);try{let{updateSettings:a}=await Promise.all([c.e(8247),c.e(6070),c.e(1329),c.e(5781),c.e(7274),c.e(8838)]).then(c.bind(c,89718));for(let c of(await a({codeBuddyDailyDone:b}),Object.keys(k)))delete k[c];Object.assign(k,b)}catch(a){d.warn("CB_CN_CHECKIN","Persist daily-done map failed (swallowed)",{error:a?.message??String(a)})}}function n(a){try{let b=String(a).split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),c=b+"=".repeat((4-b.length%4)%4);return JSON.parse(Buffer.from(c,"base64").toString("utf8"))}catch{return null}}function o(a){return"string"==typeof a&&(a.includes("codebuddy.cn")||a.includes("copilot.tencent.com"))}function p(a=Date.now()){let b=new Date(a),c=a=>String(a).padStart(2,"0");return`${b.getFullYear()}-${c(b.getMonth()+1)}-${c(b.getDate())}`}function q(a){return!!a&&!!a.accessToken&&"codebuddy-cn"===a.provider&&!1!==a.isActive&&o((n(a.accessToken)||{}).iss||"")}function r(a){var b;return!!a&&!!a.accessToken&&"codebuddy-intl"===a.provider&&!1!==a.isActive&&"string"==typeof(b=(n(a.accessToken)||{}).iss||"")&&b.includes("codebuddy")}function s(a){return"string"==typeof a&&/已签到|签到过|重复签到|already|repeat/i.test(a)}function t({httpStatus:a,code:b,msg:c}={}){return a>=200&&a<300?"checked-in":400===a&&(10001===b||"10001"===b||s(c))?"already":"failed"}function u(a=Date.now(),b=Math.random){return Math.max(72e5+Math.floor(6e5*b()),1e3)}async function v(){let{getProviderConnections:a}=await Promise.all([c.e(5781),c.e(4755)]).then(c.bind(c,5781));return a({provider:"codebuddy-cn"})}async function w(){let{getProviderConnections:a}=await Promise.all([c.e(5781),c.e(4755)]).then(c.bind(c,5781));return a({provider:"codebuddy-intl"})}async function x(){try{let{getSettings:a}=await Promise.all([c.e(8247),c.e(6070),c.e(1329),c.e(5781),c.e(7274),c.e(8838)]).then(c.bind(c,89718));return await a()}catch{return{}}}async function y(a,b){let{checkAndRefreshToken:d}=await Promise.all([c.e(8247),c.e(6070),c.e(1329),c.e(5781),c.e(7274),c.e(436),c.e(3943),c.e(7828),c.e(6457)]).then(c.bind(c,67828)),e=await d(a,b,{force:!0});return e?.accessToken?e:null}function z(a){return a?.proxyOptions||{enabled:a?.connectionProxyEnabled,url:a?.connectionProxyUrl,noProxy:a?.connectionNoProxy}}function A(a,b){return{Authorization:`Bearer ${a}`,"X-User-Id":String(b),"Content-Type":"application/json",Accept:"application/json"}}async function B(a,b,d){let{proxyAwareFetch:f}=await c.e(9609).then(c.bind(c,39609)),g=await f(e,{method:"POST",headers:A(a,b),body:"{}"},d),h=await g.text(),i=null;try{i=h?JSON.parse(h):null}catch{i=null}return{httpStatus:g.status,code:i?.code??i?.error_code,msg:i?.msg??i?.message,rawBody:i}}async function C(a,b,d){let{proxyAwareFetch:e}=await c.e(9609).then(c.bind(c,39609)),g=await e(f,{method:"POST",headers:A(a,b),body:"{}"},d),h=await g.text(),i=null;try{i=h?JSON.parse(h):null}catch{i=null}return{httpStatus:g.status,body:i}}async function D(a,b){let c=b?.refreshConnection||(a=>y("codebuddy-cn",a)),e=a.accessToken,f=(n(e)||{}).sub||a.id,g=z(a);for(let b=0;b<2;b++)try{let h=await B(e,f,g),i=t(h);if("failed"!==i)return{status:i};if(401===h.httpStatus&&0===b){d.info("CB_CN_CHECKIN","401 on daily-check-in, refreshing token once",{id:a.id});let b=await c(a);if(!b?.accessToken)return{status:"failed",error:"refresh_failed"};e=b.accessToken;continue}return{status:i,error:h.msg||`http_${h.httpStatus}`}}catch(a){return{status:"failed",error:a?.message||String(a)}}return{status:"failed",error:"unexpected"}}async function E(a,b){let c=z(a),d=(n(a.accessToken)||{}).sub||a.id;try{var e;let b;if(e=await C(a.accessToken,d,c),b=e?.body?.data||{},200===e.httpStatus&&(!0===b.today_checked_in||!0===b.checked_in))return{status:"already"}}catch{}return D(a,b)}async function F(a,b){let c=b?.refreshConnection||(a=>y("codebuddy-intl",a)),e=a.accessToken,f=z(a);for(let b=0;b<2;b++)try{let g=await G(e,f);if(g.httpStatus>=200&&g.httpStatus<300)return{status:"session-ok"};if(401===g.httpStatus&&0===b){d.info("CB_INTL_SESSION","401 on active-session probe, refreshing token once",{id:a.id});let b=await c(a);if(!b?.accessToken)return{status:"failed",error:"refresh_failed"};e=b.accessToken;continue}return{status:"failed",error:g.msg||`http_${g.httpStatus}`}}catch(a){return{status:"failed",error:a?.message||String(a)}}return{status:"failed",error:"unexpected"}}async function G(a,b){let{proxyAwareFetch:d}=await c.e(9609).then(c.bind(c,39609)),{default:e}=await c.e(939).then(c.bind(c,30939)),f={...e?.transport?.headers||{},Authorization:`Bearer ${a}`,"Content-Type":"application/json",Accept:"text/event-stream"},i=JSON.stringify({model:h,stream:!0,max_tokens:16,messages:[{role:"system",content:"You are CodeBuddy Code."},{role:"user",content:[{type:"text",text:"hi"}]}]}),j=await d(g,{method:"POST",headers:f,body:i},b),k="";if(j.ok&&j.body)try{await j.text()}catch{}else try{k=(await j.text()||"").slice(0,200)}catch{}return{httpStatus:j.status,msg:k}}async function H(a={}){let b=[],c=a.loadConnections||v,e=[];try{e=await c()}catch(a){return d.warn("CB_CN_CHECKIN","Tick: failed to load codebuddy-cn connections (swallowed)",{error:a?.message??String(a)}),b}let f=(Array.isArray(e)?e:[]).filter(q);if(0===f.length)return d.debug("CB_CN_CHECKIN","Tick: no eligible codebuddy-cn connections",{total:Array.isArray(e)?e.length:0}),b;d.info("CB_CN_CHECKIN","Daily check-in pass started",{eligible:f.length,ids:f.map(a=>a.id).filter(Boolean)});let g=a.memo||null,h=p(),i=a.checkinConnection||(a.skipIfCheckedToday?E:D);for(let c of f)try{if(g&&g[c.id]===h){d.debug("CB_CN_CHECKIN",`${c.name||c.id}: 已确认今日完成,跳过`,{id:c.id});continue}let e=await i(c,a);g&&("checked-in"===e.status||"already"===e.status)&&(g[c.id]=h),b.push({id:c.id,name:c.name||c.id,status:e.status,...e.error?{error:e.error}:{}});let f="checked-in"===e.status?"签到成功":"already"===e.status?"今日已签到":`失败${e.error?`(${e.error})`:""}`;d.info("CB_CN_CHECKIN",`${c.name||c.id}: ${f}`,{id:c.id})}catch(a){b.push({id:c.id,name:c.name||c.id,status:"failed"}),d.warn("CB_CN_CHECKIN","Connection check-in failed (swallowed)",{id:c?.id,error:a?.message??String(a)})}return b}async function I(a={}){let b=[],c=a.loadConnections||w,e=[];try{e=await c()}catch(a){return d.warn("CB_INTL_SESSION","Tick: failed to load codebuddy-intl connections (swallowed)",{error:a?.message??String(a)}),b}let f=(Array.isArray(e)?e:[]).filter(r);if(0===f.length)return d.debug("CB_INTL_SESSION","Tick: no eligible codebuddy-intl connections",{total:Array.isArray(e)?e.length:0}),b;d.info("CB_INTL_SESSION","Daily active-session pass started",{eligible:f.length,ids:f.map(a=>a.id).filter(Boolean)});let g=a.memo||null,h=p();for(let c of f)try{if(g&&g[c.id]===h){d.debug("CB_INTL_SESSION",`${c.name||c.id}: 已确认今日完成,跳过`,{id:c.id});continue}let e=a.probeConnection?await a.probeConnection(c):await F(c,a);g&&"session-ok"===e.status&&(g[c.id]=h),b.push({id:c.id,name:c.name||c.id,status:e.status,...e.error?{error:e.error}:{}}),d.info("CB_INTL_SESSION",`${c.name||c.id}: ${"session-ok"===e.status?"活跃会话完成":`失败(${e.error||e.status})`}`,{id:c.id})}catch(a){b.push({id:c.id,name:c.name||c.id,status:"failed"}),d.warn("CB_INTL_SESSION","Connection probe failed (swallowed)",{id:c?.id,error:a?.message??String(a)})}return b}async function J(a){try{let b=await x(),c=await l();!0===b.codeBuddyCheckin?(await H({skipIfCheckedToday:!0,memo:c}),await m()):d.debug("CB_CN_CHECKIN",`Scheduled ${a}: setting off, skipping`),!0===b.codeBuddyIntlSession?(await I({memo:c}),await m()):d.debug("CB_INTL_SESSION",`Scheduled ${a}: setting off, skipping`)}catch(b){d.warn("CB_CN_CHECKIN",`Scheduled ${a} rejected (swallowed)`,{error:b?.message??String(b)})}}function K(){j&&(clearTimeout(j),j=null)}function L(a={}){let b;return!i&&("phase-production-build"===(b=process.env.NEXT_PHASE||"")||"phase-export"===b||"phase-static"===b?(d.debug("CB_CN_CHECKIN","Skip start outside long-running server runtime"),!1):(i=!0,!0!==a.skipBoot&&J("boot"),!function a(){if(!i)return;let b=u();K(),(j=setTimeout(()=>{J("tick").finally(()=>a())},b)).unref&&j.unref(),d.info("CB_CN_CHECKIN","Next all-day check-in tick scheduled",{delayMs:Math.round(b/1e3)})}(),d.info("CB_CN_CHECKIN","Scheduler started (all-day cadence)"),!0))}function M(){K(),i&&(i=!1,d.info("CB_CN_CHECKIN","Scheduler stopped"))}let N={decodeJwt:n,isCodeBuddyCnRealm:o,isIdempotentAlready:s,DAILY_CHECKIN_URL:e,STATUS_URL:f,INTL_CHAT_URL:g,INTL_PROBE_MODEL:h,dayKey:p,msUntilNextTick:u,getDoneMap:l,persistDoneMap:m,isEligibleCbIntlConnection:r}}};
1
+ "use strict";exports.id=6326,exports.ids=[6326],exports.modules={7803:(a,b,c)=>{c.r(b),c.d(b,{debug:()=>o,error:()=>r,errorLine:()=>l,fmtThink:()=>m,info:()=>p,line:()=>k,maskKey:()=>v,nextTag:()=>i,request:()=>s,response:()=>t,stream:()=>u,tagForSession:()=>j,warn:()=>q});let d={DEBUG:0,INFO:1,WARN:2,ERROR:3},e=d[process.env.LOG_LEVEL?.toUpperCase?.()]??d.INFO;function f(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}let g=["\uD83D\uDFE2","\uD83D\uDD35","\uD83D\uDFE3","\uD83D\uDFE1","\uD83D\uDFE0","\uD83D\uDD34","⚪","\uD83D\uDFE4"],h=0;function i(){let a=g[h%g.length];return h++,a}function j(a){if(!a)return i();let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)|0;return g[Math.abs(b)%g.length]}function k(a,b,c){e>d.INFO||console.log(`[${f()}] ${a} ${b} ${c}`)}function l(a,b,c){console.log(`[${f()}] ${a} ${b} ${c}`)}function m(a){return a&&a.mode?"none"===a.mode?"off":"auto"===a.mode?"auto":"budget"===a.mode?a.budget>=1e3?`${Math.round(a.budget/1e3)}k`:`${a.budget}`:"level"===a.mode?a.level:null:null}function n(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function o(a,b,c){if(e<=d.DEBUG){let d=c?` ${n(c)}`:"";console.log(`[${f()}] 🔍 [${a}] ${b}${d}`)}}function p(a,b,c){if(e<=d.INFO){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ℹ️ [${a}] ${b}${d}`)}}function q(a,b,c){if(e<=d.WARN){let d=c?` ${n(c)}`:"";console.warn(`[${f()}] ⚠️ [${a}] ${b}${d}`)}}function r(a,b,c){if(e<=d.ERROR){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ❌ [${a}] ${b}${d}`)}}function s(a,b,c){let d=c?` ${n(c)}`:"";console.log(`\x1b[36m[${f()}] 📥 ${a} ${b}${d}\x1b[0m`)}function t(a,b,c){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${d}`)}function u(a,b){let c=b?` ${n(b)}`:"";console.log(`[${f()}] 🌊 [STREAM] ${a}${c}`)}function v(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}},46326:(a,b,c)=>{c.r(b),c.d(b,{__internals:()=>N,isEligibleCbIntlConnection:()=>r,isEligibleCbcnConnection:()=>q,mapDailyCheckinStatus:()=>t,msUntilNextTick:()=>u,runCodebuddyCheckinTick:()=>H,runCodebuddyIntlSessionTick:()=>I,startCodebuddyCheckin:()=>L,stopCodebuddyCheckin:()=>M});var d=c(7803);let e="https://www.codebuddy.cn/v2/billing/meter/daily-checkin",f="https://www.codebuddy.cn/v2/billing/meter/checkin-activity-status",g="https://www.codebuddy.ai/v2/chat/completions",h="hy4-preview",i=!1,j=null,k=null;async function l(){if(k)return k;let a=await x(),b=a?.codeBuddyDailyDone;return k=b&&"object"==typeof b&&!Array.isArray(b)?{...b}:{}}async function m(){if(!k)return;let a=p(),b={};for(let[c,d]of Object.entries(k))d===a&&(b[c]=d);try{let{updateSettings:a}=await Promise.all([c.e(2269),c.e(6070),c.e(1329),c.e(5781),c.e(7274),c.e(8838)]).then(c.bind(c,89718));for(let c of(await a({codeBuddyDailyDone:b}),Object.keys(k)))delete k[c];Object.assign(k,b)}catch(a){d.warn("CB_CN_CHECKIN","Persist daily-done map failed (swallowed)",{error:a?.message??String(a)})}}function n(a){try{let b=String(a).split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),c=b+"=".repeat((4-b.length%4)%4);return JSON.parse(Buffer.from(c,"base64").toString("utf8"))}catch{return null}}function o(a){return"string"==typeof a&&(a.includes("codebuddy.cn")||a.includes("copilot.tencent.com"))}function p(a=Date.now()){let b=new Date(a),c=a=>String(a).padStart(2,"0");return`${b.getFullYear()}-${c(b.getMonth()+1)}-${c(b.getDate())}`}function q(a){return!!a&&!!a.accessToken&&"codebuddy-cn"===a.provider&&!1!==a.isActive&&o((n(a.accessToken)||{}).iss||"")}function r(a){var b;return!!a&&!!a.accessToken&&"codebuddy-intl"===a.provider&&!1!==a.isActive&&"string"==typeof(b=(n(a.accessToken)||{}).iss||"")&&b.includes("codebuddy")}function s(a){return"string"==typeof a&&/已签到|签到过|重复签到|already|repeat/i.test(a)}function t({httpStatus:a,code:b,msg:c}={}){return a>=200&&a<300?"checked-in":400===a&&(10001===b||"10001"===b||s(c))?"already":"failed"}function u(a=Date.now(),b=Math.random){return Math.max(72e5+Math.floor(6e5*b()),1e3)}async function v(){let{getProviderConnections:a}=await Promise.all([c.e(5781),c.e(4755)]).then(c.bind(c,5781));return a({provider:"codebuddy-cn"})}async function w(){let{getProviderConnections:a}=await Promise.all([c.e(5781),c.e(4755)]).then(c.bind(c,5781));return a({provider:"codebuddy-intl"})}async function x(){try{let{getSettings:a}=await Promise.all([c.e(2269),c.e(6070),c.e(1329),c.e(5781),c.e(7274),c.e(8838)]).then(c.bind(c,89718));return await a()}catch{return{}}}async function y(a,b){let{checkAndRefreshToken:d}=await Promise.all([c.e(2269),c.e(6070),c.e(1329),c.e(5781),c.e(7274),c.e(436),c.e(3943),c.e(7828),c.e(6457)]).then(c.bind(c,67828)),e=await d(a,b,{force:!0});return e?.accessToken?e:null}function z(a){return a?.proxyOptions||{enabled:a?.connectionProxyEnabled,url:a?.connectionProxyUrl,noProxy:a?.connectionNoProxy}}function A(a,b){return{Authorization:`Bearer ${a}`,"X-User-Id":String(b),"Content-Type":"application/json",Accept:"application/json"}}async function B(a,b,d){let{proxyAwareFetch:f}=await c.e(9609).then(c.bind(c,39609)),g=await f(e,{method:"POST",headers:A(a,b),body:"{}"},d),h=await g.text(),i=null;try{i=h?JSON.parse(h):null}catch{i=null}return{httpStatus:g.status,code:i?.code??i?.error_code,msg:i?.msg??i?.message,rawBody:i}}async function C(a,b,d){let{proxyAwareFetch:e}=await c.e(9609).then(c.bind(c,39609)),g=await e(f,{method:"POST",headers:A(a,b),body:"{}"},d),h=await g.text(),i=null;try{i=h?JSON.parse(h):null}catch{i=null}return{httpStatus:g.status,body:i}}async function D(a,b){let c=b?.refreshConnection||(a=>y("codebuddy-cn",a)),e=a.accessToken,f=(n(e)||{}).sub||a.id,g=z(a);for(let b=0;b<2;b++)try{let h=await B(e,f,g),i=t(h);if("failed"!==i)return{status:i};if(401===h.httpStatus&&0===b){d.info("CB_CN_CHECKIN","401 on daily-check-in, refreshing token once",{id:a.id});let b=await c(a);if(!b?.accessToken)return{status:"failed",error:"refresh_failed"};e=b.accessToken;continue}return{status:i,error:h.msg||`http_${h.httpStatus}`}}catch(a){return{status:"failed",error:a?.message||String(a)}}return{status:"failed",error:"unexpected"}}async function E(a,b){let c=z(a),d=(n(a.accessToken)||{}).sub||a.id;try{var e;let b;if(e=await C(a.accessToken,d,c),b=e?.body?.data||{},200===e.httpStatus&&(!0===b.today_checked_in||!0===b.checked_in))return{status:"already"}}catch{}return D(a,b)}async function F(a,b){let c=b?.refreshConnection||(a=>y("codebuddy-intl",a)),e=a.accessToken,f=z(a);for(let b=0;b<2;b++)try{let g=await G(e,f);if(g.httpStatus>=200&&g.httpStatus<300)return{status:"session-ok"};if(401===g.httpStatus&&0===b){d.info("CB_INTL_SESSION","401 on active-session probe, refreshing token once",{id:a.id});let b=await c(a);if(!b?.accessToken)return{status:"failed",error:"refresh_failed"};e=b.accessToken;continue}return{status:"failed",error:g.msg||`http_${g.httpStatus}`}}catch(a){return{status:"failed",error:a?.message||String(a)}}return{status:"failed",error:"unexpected"}}async function G(a,b){let{proxyAwareFetch:d}=await c.e(9609).then(c.bind(c,39609)),{default:e}=await c.e(939).then(c.bind(c,30939)),f={...e?.transport?.headers||{},Authorization:`Bearer ${a}`,"Content-Type":"application/json",Accept:"text/event-stream"},i=JSON.stringify({model:h,stream:!0,max_tokens:16,messages:[{role:"system",content:"You are CodeBuddy Code."},{role:"user",content:[{type:"text",text:"hi"}]}]}),j=await d(g,{method:"POST",headers:f,body:i},b),k="";if(j.ok&&j.body)try{await j.text()}catch{}else try{k=(await j.text()||"").slice(0,200)}catch{}return{httpStatus:j.status,msg:k}}async function H(a={}){let b=[],c=a.loadConnections||v,e=[];try{e=await c()}catch(a){return d.warn("CB_CN_CHECKIN","Tick: failed to load codebuddy-cn connections (swallowed)",{error:a?.message??String(a)}),b}let f=(Array.isArray(e)?e:[]).filter(q);if(0===f.length)return d.debug("CB_CN_CHECKIN","Tick: no eligible codebuddy-cn connections",{total:Array.isArray(e)?e.length:0}),b;d.info("CB_CN_CHECKIN","Daily check-in pass started",{eligible:f.length,ids:f.map(a=>a.id).filter(Boolean)});let g=a.memo||null,h=p(),i=a.checkinConnection||(a.skipIfCheckedToday?E:D);for(let c of f)try{if(g&&g[c.id]===h){d.debug("CB_CN_CHECKIN",`${c.name||c.id}: 已确认今日完成,跳过`,{id:c.id});continue}let e=await i(c,a);g&&("checked-in"===e.status||"already"===e.status)&&(g[c.id]=h),b.push({id:c.id,name:c.name||c.id,status:e.status,...e.error?{error:e.error}:{}});let f="checked-in"===e.status?"签到成功":"already"===e.status?"今日已签到":`失败${e.error?`(${e.error})`:""}`;d.info("CB_CN_CHECKIN",`${c.name||c.id}: ${f}`,{id:c.id})}catch(a){b.push({id:c.id,name:c.name||c.id,status:"failed"}),d.warn("CB_CN_CHECKIN","Connection check-in failed (swallowed)",{id:c?.id,error:a?.message??String(a)})}return b}async function I(a={}){let b=[],c=a.loadConnections||w,e=[];try{e=await c()}catch(a){return d.warn("CB_INTL_SESSION","Tick: failed to load codebuddy-intl connections (swallowed)",{error:a?.message??String(a)}),b}let f=(Array.isArray(e)?e:[]).filter(r);if(0===f.length)return d.debug("CB_INTL_SESSION","Tick: no eligible codebuddy-intl connections",{total:Array.isArray(e)?e.length:0}),b;d.info("CB_INTL_SESSION","Daily active-session pass started",{eligible:f.length,ids:f.map(a=>a.id).filter(Boolean)});let g=a.memo||null,h=p();for(let c of f)try{if(g&&g[c.id]===h){d.debug("CB_INTL_SESSION",`${c.name||c.id}: 已确认今日完成,跳过`,{id:c.id});continue}let e=a.probeConnection?await a.probeConnection(c):await F(c,a);g&&"session-ok"===e.status&&(g[c.id]=h),b.push({id:c.id,name:c.name||c.id,status:e.status,...e.error?{error:e.error}:{}}),d.info("CB_INTL_SESSION",`${c.name||c.id}: ${"session-ok"===e.status?"活跃会话完成":`失败(${e.error||e.status})`}`,{id:c.id})}catch(a){b.push({id:c.id,name:c.name||c.id,status:"failed"}),d.warn("CB_INTL_SESSION","Connection probe failed (swallowed)",{id:c?.id,error:a?.message??String(a)})}return b}async function J(a){try{let b=await x(),c=await l();!0===b.codeBuddyCheckin?(await H({skipIfCheckedToday:!0,memo:c}),await m()):d.debug("CB_CN_CHECKIN",`Scheduled ${a}: setting off, skipping`),!0===b.codeBuddyIntlSession?(await I({memo:c}),await m()):d.debug("CB_INTL_SESSION",`Scheduled ${a}: setting off, skipping`)}catch(b){d.warn("CB_CN_CHECKIN",`Scheduled ${a} rejected (swallowed)`,{error:b?.message??String(b)})}}function K(){j&&(clearTimeout(j),j=null)}function L(a={}){let b;return!i&&("phase-production-build"===(b=process.env.NEXT_PHASE||"")||"phase-export"===b||"phase-static"===b?(d.debug("CB_CN_CHECKIN","Skip start outside long-running server runtime"),!1):(i=!0,!0!==a.skipBoot&&J("boot"),!function a(){if(!i)return;let b=u();K(),(j=setTimeout(()=>{J("tick").finally(()=>a())},b)).unref&&j.unref(),d.info("CB_CN_CHECKIN","Next all-day check-in tick scheduled",{delayMs:Math.round(b/1e3)})}(),d.info("CB_CN_CHECKIN","Scheduler started (all-day cadence)"),!0))}function M(){K(),i&&(i=!1,d.info("CB_CN_CHECKIN","Scheduler stopped"))}let N={decodeJwt:n,isCodeBuddyCnRealm:o,isIdempotentAlready:s,DAILY_CHECKIN_URL:e,STATUS_URL:f,INTL_CHAT_URL:g,INTL_PROBE_MODEL:h,dayKey:p,msUntilNextTick:u,getDoneMap:l,persistDoneMap:m,isEligibleCbIntlConnection:r}}};