@ltgiang/9router 0.5.12 → 0.5.13

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 (1743) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +15 -13
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +27 -3
  5. package/app/.next-cli-build/required-server-files.json +12 -4
  6. package/app/.next-cli-build/routes-manifest.json +22 -0
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -0
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -0
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -0
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  74. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  76. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  77. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  78. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  79. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  80. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  81. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  84. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  85. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  88. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  89. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  90. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  91. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +6 -6
  92. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  93. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  94. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +3 -3
  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/login/route_client-reference-manifest.js +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route_client-reference-manifest.js +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/oidc/start/route_client-reference-manifest.js +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/oidc/test/route_client-reference-manifest.js +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/reset-password/route_client-reference-manifest.js +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  117. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +1 -1
  119. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  120. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  126. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  135. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  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-registry/route_client-reference-manifest.js +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  141. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  147. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route_client-reference-manifest.js +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  150. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  153. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route_client-reference-manifest.js +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  156. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route_client-reference-manifest.js +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  159. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  161. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  162. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  164. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  165. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -1
  167. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  170. package/app/.next-cli-build/server/app/api/combos/reorder/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/combos/reorder/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/combos/reorder/route_client-reference-manifest.js +1 -1
  173. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/combos/route_client-reference-manifest.js +1 -1
  176. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/headroom/start/route_client-reference-manifest.js +1 -1
  179. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/headroom/status/route_client-reference-manifest.js +1 -1
  182. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -1
  185. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  186. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/health/route_client-reference-manifest.js +1 -1
  188. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/init/route_client-reference-manifest.js +1 -1
  191. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  194. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  195. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/keys/route_client-reference-manifest.js +1 -1
  197. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/locale/route_client-reference-manifest.js +1 -1
  200. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  201. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +1 -1
  203. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +5 -5
  204. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +1 -1
  206. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +1 -1
  209. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +1 -1
  212. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +1 -1
  215. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +1 -1
  218. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +1 -1
  221. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  224. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  227. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/models/custom/route_client-reference-manifest.js +1 -1
  230. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/models/disabled/route_client-reference-manifest.js +1 -1
  233. package/app/.next-cli-build/server/app/api/models/order/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/models/order/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/models/order/route_client-reference-manifest.js +1 -1
  236. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/models/route_client-reference-manifest.js +1 -1
  239. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/models/test/route_client-reference-manifest.js +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  245. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route_client-reference-manifest.js +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +1 -1
  251. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  252. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  254. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  257. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +1 -1
  260. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -1
  263. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route_client-reference-manifest.js +1 -1
  266. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  269. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  272. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -0
  273. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -0
  274. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route_client-reference-manifest.js +1 -0
  275. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  278. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  281. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  282. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  284. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  287. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  290. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  293. package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route_client-reference-manifest.js +1 -1
  296. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  297. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  299. package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route_client-reference-manifest.js +1 -1
  302. package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/providers/[id]/pool/route_client-reference-manifest.js +1 -1
  305. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  308. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  311. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -1
  314. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  317. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +1 -1
  320. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/providers/route_client-reference-manifest.js +1 -1
  323. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/providers/suggested-models/route_client-reference-manifest.js +1 -1
  326. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  329. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  332. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  333. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -1
  335. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -1
  338. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  339. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +1 -1
  341. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  342. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +1 -1
  344. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -1
  347. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  348. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +1 -1
  350. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  351. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/settings/database/route_client-reference-manifest.js +1 -1
  353. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -1
  356. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  357. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  359. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/settings/route_client-reference-manifest.js +1 -1
  362. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  363. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  365. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/tags/route_client-reference-manifest.js +1 -1
  368. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  369. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -1
  371. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +4 -2
  372. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -1
  374. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  375. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  376. package/app/.next-cli-build/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  377. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  380. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  381. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  383. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  384. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  386. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  387. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -1
  389. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -1
  392. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  393. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -1
  395. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  396. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +1 -1
  398. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  399. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +1 -1
  401. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  402. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  403. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +1 -1
  404. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  405. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.js +1 -1
  407. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  408. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  409. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route_client-reference-manifest.js +1 -1
  410. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  411. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  413. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  414. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  415. package/app/.next-cli-build/server/app/api/usage/chart/route_client-reference-manifest.js +1 -1
  416. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  417. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  418. package/app/.next-cli-build/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  419. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -0
  420. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -0
  421. package/app/.next-cli-build/server/app/api/usage/logs/route_client-reference-manifest.js +1 -0
  422. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  423. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  424. package/app/.next-cli-build/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
  425. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  426. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  427. package/app/.next-cli-build/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
  428. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  429. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  430. package/app/.next-cli-build/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  431. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  432. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  433. package/app/.next-cli-build/server/app/api/usage/stats/route_client-reference-manifest.js +1 -1
  434. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  435. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  436. package/app/.next-cli-build/server/app/api/usage/stream/route_client-reference-manifest.js +1 -1
  437. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  438. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  439. package/app/.next-cli-build/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  440. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  441. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  442. package/app/.next-cli-build/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  443. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  444. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  445. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  446. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  447. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  448. package/app/.next-cli-build/server/app/api/v1/audio/voices/route_client-reference-manifest.js +1 -1
  449. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  450. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  451. package/app/.next-cli-build/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  452. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  453. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  454. package/app/.next-cli-build/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  455. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  456. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  457. package/app/.next-cli-build/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  458. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  459. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  460. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  461. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  462. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  463. package/app/.next-cli-build/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  464. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  465. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  466. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route_client-reference-manifest.js +1 -1
  467. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  468. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  469. package/app/.next-cli-build/server/app/api/v1/models/info/route_client-reference-manifest.js +1 -1
  470. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  471. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  472. package/app/.next-cli-build/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  473. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  474. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  475. package/app/.next-cli-build/server/app/api/v1/responses/compact/route_client-reference-manifest.js +1 -1
  476. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  477. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  478. package/app/.next-cli-build/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  479. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  480. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  481. package/app/.next-cli-build/server/app/api/v1/route_client-reference-manifest.js +1 -1
  482. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  483. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  484. package/app/.next-cli-build/server/app/api/v1/search/route_client-reference-manifest.js +1 -1
  485. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  486. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  487. package/app/.next-cli-build/server/app/api/v1/web/fetch/route_client-reference-manifest.js +1 -1
  488. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  489. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  490. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  491. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  492. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  493. package/app/.next-cli-build/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  494. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  495. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  496. package/app/.next-cli-build/server/app/api/version/route_client-reference-manifest.js +1 -1
  497. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  498. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  499. package/app/.next-cli-build/server/app/api/version/shutdown/route_client-reference-manifest.js +1 -1
  500. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  501. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  502. package/app/.next-cli-build/server/app/api/version/update/route_client-reference-manifest.js +1 -1
  503. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  504. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  505. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  506. package/app/.next-cli-build/server/app/callback.html +1 -1
  507. package/app/.next-cli-build/server/app/callback.rsc +7 -7
  508. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +7 -7
  509. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  510. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +6 -6
  511. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +3 -3
  512. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
  513. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  514. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  515. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +9 -9
  516. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  517. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  518. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  519. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  520. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +9 -9
  521. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  522. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +6 -6
  523. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +4 -4
  524. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  525. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +10 -10
  526. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  527. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  528. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  529. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  530. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +10 -10
  531. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  532. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +6 -6
  533. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +4 -4
  534. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  535. package/app/.next-cli-build/server/app/dashboard/combos.rsc +9 -9
  536. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  537. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  538. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  539. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  540. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +9 -9
  541. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  542. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +6 -6
  543. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +4 -4
  544. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  545. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +10 -10
  546. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  547. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  548. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  549. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  550. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +10 -10
  551. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  552. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +6 -6
  553. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +4 -4
  554. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +9 -9
  556. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  557. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  558. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  559. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  560. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  561. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +9 -9
  562. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  563. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +6 -6
  564. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +4 -4
  565. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  566. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +9 -9
  567. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  568. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  569. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  570. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  571. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +9 -9
  572. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  573. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +6 -6
  574. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +4 -4
  575. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  576. package/app/.next-cli-build/server/app/dashboard/profile.rsc +9 -9
  577. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  578. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  579. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  580. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  581. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +9 -9
  582. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  583. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +6 -6
  584. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +4 -4
  585. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  586. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +9 -9
  587. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  588. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  589. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  590. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  591. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  592. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +9 -9
  593. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  594. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +6 -6
  595. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +4 -4
  596. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  597. package/app/.next-cli-build/server/app/dashboard/providers.rsc +9 -9
  598. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  599. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  600. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  601. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  602. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +9 -9
  603. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  604. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +6 -6
  605. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +4 -4
  606. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  607. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +9 -9
  608. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  609. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  610. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  611. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  612. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +9 -9
  613. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  614. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +6 -6
  615. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +4 -4
  616. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  617. package/app/.next-cli-build/server/app/dashboard/quota.rsc +10 -10
  618. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  619. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  620. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  621. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  622. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +10 -10
  623. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  624. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +6 -6
  625. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +4 -4
  626. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  627. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  628. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  629. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  630. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +7 -7
  631. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +7 -7
  632. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  633. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +6 -6
  634. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -3
  635. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
  636. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  637. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  638. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  639. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  640. package/app/.next-cli-build/server/app/dashboard/skills.rsc +9 -9
  641. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  642. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  643. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  644. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  645. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +9 -9
  646. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  647. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +6 -6
  648. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +4 -4
  649. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -0
  650. package/app/.next-cli-build/server/app/dashboard/token-saver.meta +17 -0
  651. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +24 -0
  652. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +6 -0
  653. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +5 -0
  654. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  655. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  656. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +24 -0
  657. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +6 -0
  658. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +9 -0
  659. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +5 -0
  660. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  661. package/app/.next-cli-build/server/app/dashboard/translator.rsc +9 -9
  662. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  663. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  664. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  665. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  666. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +9 -9
  667. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  668. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +6 -6
  669. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +4 -4
  670. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  671. package/app/.next-cli-build/server/app/dashboard/usage.rsc +9 -9
  672. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  673. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  674. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  675. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  676. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +9 -9
  677. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  678. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +6 -6
  679. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +4 -4
  680. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  681. package/app/.next-cli-build/server/app/dashboard.rsc +10 -10
  682. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  683. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  684. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  685. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +10 -10
  686. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  687. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +6 -6
  688. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +4 -4
  689. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  690. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  691. package/app/.next-cli-build/server/app/index.html +1 -1
  692. package/app/.next-cli-build/server/app/index.rsc +6 -6
  693. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  694. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  695. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  696. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +6 -6
  697. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +3 -3
  698. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  699. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  700. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  701. package/app/.next-cli-build/server/app/landing.html +1 -1
  702. package/app/.next-cli-build/server/app/landing.rsc +7 -7
  703. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +7 -7
  704. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  705. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +6 -6
  706. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +3 -3
  707. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
  708. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  709. package/app/.next-cli-build/server/app/login/page.js +2 -2
  710. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  711. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  712. package/app/.next-cli-build/server/app/login.html +1 -1
  713. package/app/.next-cli-build/server/app/login.rsc +8 -8
  714. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +8 -8
  715. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  716. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +6 -6
  717. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +4 -4
  718. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
  719. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  720. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  721. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  722. package/app/.next-cli-build/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  723. package/app/.next-cli-build/server/app/page.js +2 -2
  724. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  725. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  726. package/app/.next-cli-build/server/app-paths-manifest.json +15 -13
  727. package/app/.next-cli-build/server/chunks/1051.js +1 -0
  728. package/app/.next-cli-build/server/chunks/1275.js +4 -4
  729. package/app/.next-cli-build/server/chunks/1315.js +64 -0
  730. package/app/.next-cli-build/server/chunks/212.js +1 -0
  731. package/app/.next-cli-build/server/chunks/2231.js +1 -1
  732. package/app/.next-cli-build/server/chunks/260.js +1 -0
  733. package/app/.next-cli-build/server/chunks/318.js +12 -12
  734. package/app/.next-cli-build/server/chunks/319.js +3 -3
  735. package/app/.next-cli-build/server/chunks/3593.js +1 -1
  736. package/app/.next-cli-build/server/chunks/3938.js +1 -0
  737. package/app/.next-cli-build/server/chunks/4055.js +1 -1
  738. package/app/.next-cli-build/server/chunks/412.js +2 -2
  739. package/app/.next-cli-build/server/chunks/4632.js +1 -1
  740. package/app/.next-cli-build/server/chunks/4739.js +1 -1
  741. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  742. package/app/.next-cli-build/server/chunks/4780.js +1 -1
  743. package/app/.next-cli-build/server/chunks/4827.js +1 -1
  744. package/app/.next-cli-build/server/chunks/507.js +1 -1
  745. package/app/.next-cli-build/server/chunks/5217.js +1 -1
  746. package/app/.next-cli-build/server/chunks/5258.js +1 -1
  747. package/app/.next-cli-build/server/chunks/5615.js +2 -2
  748. package/app/.next-cli-build/server/chunks/5699.js +1 -1
  749. package/app/.next-cli-build/server/chunks/5852.js +2 -2
  750. package/app/.next-cli-build/server/chunks/5961.js +1 -1
  751. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  752. package/app/.next-cli-build/server/chunks/615.js +1 -1
  753. package/app/.next-cli-build/server/chunks/6182.js +3 -3
  754. package/app/.next-cli-build/server/chunks/6306.js +1 -1
  755. package/app/.next-cli-build/server/chunks/6482.js +1 -1
  756. package/app/.next-cli-build/server/chunks/6763.js +1 -1
  757. package/app/.next-cli-build/server/chunks/6777.js +1 -0
  758. package/app/.next-cli-build/server/chunks/698.js +1 -1
  759. package/app/.next-cli-build/server/chunks/7220.js +1 -0
  760. package/app/.next-cli-build/server/chunks/7248.js +3 -0
  761. package/app/.next-cli-build/server/chunks/7879.js +10 -0
  762. package/app/.next-cli-build/server/chunks/7965.js +1 -1
  763. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  764. package/app/.next-cli-build/server/chunks/8271.js +1 -1
  765. package/app/.next-cli-build/server/chunks/8520.js +1 -1
  766. package/app/.next-cli-build/server/chunks/8895.js +5 -5
  767. package/app/.next-cli-build/server/chunks/8920.js +1 -1
  768. package/app/.next-cli-build/server/chunks/914.js +10 -4
  769. package/app/.next-cli-build/server/chunks/9350.js +1 -0
  770. package/app/.next-cli-build/server/chunks/9630.js +1 -0
  771. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  772. package/app/.next-cli-build/server/middleware.js +4 -4
  773. package/app/.next-cli-build/server/next-font-manifest.js +1 -1
  774. package/app/.next-cli-build/server/next-font-manifest.json +1 -1
  775. package/app/.next-cli-build/server/pages/404.html +1 -1
  776. package/app/.next-cli-build/server/pages/500.html +1 -1
  777. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  778. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  779. package/app/.next-cli-build/static/chunks/1321-477cb6560b016b26.js +1 -0
  780. package/app/.next-cli-build/static/chunks/1a258343-1aa1820b9db68d51.js +1 -0
  781. package/app/.next-cli-build/static/chunks/3807-460da912ae27731f.js +64 -0
  782. package/app/.next-cli-build/static/chunks/5497-8a3f99dd781f8c61.js +7 -0
  783. package/app/.next-cli-build/static/chunks/705-979ff3eb195b9023.js +1 -0
  784. package/app/.next-cli-build/static/chunks/7784-265a15eadd679bdc.js +3 -0
  785. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-34ca4e62572e698d.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-de896f949e4db0a5.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-92479cb56b307663.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-c2349580aa9b9430.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-ee26499f5039ddf4.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-037703dc965abed1.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-0a3bdda39731c8e8.js → page-d68cb371259802c9.js} +1 -1
  792. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-7c57929647c07f91.js → page-7459b843d657f2d3.js} +1 -1
  793. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-f2545778dd849c11.js → page-487958212cd92c45.js} +1 -1
  794. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-d69ecce859cd7454.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-734221f9292c2f0b.js → page-797101916aa47351.js} +1 -1
  796. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-a2ccd01e7798869c.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-693cf10831316638.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-92fcb60312dda26e.js +10 -0
  799. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-728ddba2783d1f16.js → page-f2eda137bc8e146b.js} +1 -1
  800. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-753b0a5d477ae4e7.js → page-5ff67d74a24a6256.js} +1 -1
  801. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-32cc33885248badf.js → page-0f2f03b57f31bac2.js} +2 -2
  802. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/{page-fb204465ae19409a.js → page-ed110f504537c514.js} +1 -1
  803. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-e3890a44492370b7.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-8939090f4358b4bd.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-854c277a8364d017.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-430c6ce20faf59b3.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-9d94f30df88cbcd7.js → layout-e74f0a0d9c9cec73.js} +1 -1
  808. package/app/.next-cli-build/static/chunks/app/_global-error/{page-0006630ca3232027.js → page-743dde8cb8e721b7.js} +1 -1
  809. package/app/.next-cli-build/static/chunks/app/_not-found/{page-e4d84f64a8c852f7.js → page-5b7961cf7eeec8c2.js} +1 -1
  810. package/app/.next-cli-build/static/chunks/app/api/auth/login/{route-0006630ca3232027.js → route-743dde8cb8e721b7.js} +1 -1
  811. package/app/.next-cli-build/static/chunks/app/api/auth/logout/{route-0006630ca3232027.js → route-743dde8cb8e721b7.js} +1 -1
  812. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/{route-0006630ca3232027.js → route-743dde8cb8e721b7.js} +1 -1
  813. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-743dde8cb8e721b7.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-743dde8cb8e721b7.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-743dde8cb8e721b7.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-743dde8cb8e721b7.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-743dde8cb8e721b7.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-743dde8cb8e721b7.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-743dde8cb8e721b7.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-743dde8cb8e721b7.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-743dde8cb8e721b7.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-743dde8cb8e721b7.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-743dde8cb8e721b7.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-743dde8cb8e721b7.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-743dde8cb8e721b7.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-743dde8cb8e721b7.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-743dde8cb8e721b7.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-743dde8cb8e721b7.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-743dde8cb8e721b7.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-743dde8cb8e721b7.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-743dde8cb8e721b7.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-743dde8cb8e721b7.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-743dde8cb8e721b7.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-743dde8cb8e721b7.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/api/combos/reorder/route-743dde8cb8e721b7.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/api/combos/route-743dde8cb8e721b7.js +1 -0
  837. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-743dde8cb8e721b7.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-743dde8cb8e721b7.js +1 -0
  839. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-743dde8cb8e721b7.js +1 -0
  840. package/app/.next-cli-build/static/chunks/app/api/health/route-743dde8cb8e721b7.js +1 -0
  841. package/app/.next-cli-build/static/chunks/app/api/init/route-743dde8cb8e721b7.js +1 -0
  842. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-743dde8cb8e721b7.js +1 -0
  843. package/app/.next-cli-build/static/chunks/app/api/keys/route-743dde8cb8e721b7.js +1 -0
  844. package/app/.next-cli-build/static/chunks/app/api/locale/route-743dde8cb8e721b7.js +1 -0
  845. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-743dde8cb8e721b7.js +1 -0
  846. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-743dde8cb8e721b7.js +1 -0
  847. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-743dde8cb8e721b7.js +1 -0
  848. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-743dde8cb8e721b7.js +1 -0
  849. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-743dde8cb8e721b7.js +1 -0
  850. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-743dde8cb8e721b7.js +1 -0
  851. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-743dde8cb8e721b7.js +1 -0
  852. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-743dde8cb8e721b7.js +1 -0
  853. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-743dde8cb8e721b7.js +1 -0
  854. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-743dde8cb8e721b7.js +1 -0
  855. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-743dde8cb8e721b7.js +1 -0
  856. package/app/.next-cli-build/static/chunks/app/api/models/order/route-743dde8cb8e721b7.js +1 -0
  857. package/app/.next-cli-build/static/chunks/app/api/models/route-743dde8cb8e721b7.js +1 -0
  858. package/app/.next-cli-build/static/chunks/app/api/models/test/route-743dde8cb8e721b7.js +1 -0
  859. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-743dde8cb8e721b7.js +1 -0
  860. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-743dde8cb8e721b7.js +1 -0
  861. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-743dde8cb8e721b7.js +1 -0
  862. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-743dde8cb8e721b7.js +1 -0
  863. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-743dde8cb8e721b7.js +1 -0
  864. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-743dde8cb8e721b7.js +1 -0
  865. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-743dde8cb8e721b7.js +1 -0
  866. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-743dde8cb8e721b7.js +1 -0
  867. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-743dde8cb8e721b7.js +1 -0
  868. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-743dde8cb8e721b7.js +1 -0
  869. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-743dde8cb8e721b7.js +1 -0
  870. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-743dde8cb8e721b7.js +1 -0
  871. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-743dde8cb8e721b7.js +1 -0
  872. package/app/.next-cli-build/static/chunks/app/api/pricing/route-743dde8cb8e721b7.js +1 -0
  873. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-743dde8cb8e721b7.js +1 -0
  874. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-743dde8cb8e721b7.js +1 -0
  875. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-743dde8cb8e721b7.js +1 -0
  876. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/connections/disabled/route-743dde8cb8e721b7.js +1 -0
  877. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-743dde8cb8e721b7.js +1 -0
  878. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/pull/route-743dde8cb8e721b7.js +1 -0
  879. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/route-743dde8cb8e721b7.js +1 -0
  880. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-743dde8cb8e721b7.js +1 -0
  881. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-743dde8cb8e721b7.js +1 -0
  882. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-743dde8cb8e721b7.js +1 -0
  883. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-743dde8cb8e721b7.js +1 -0
  884. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-743dde8cb8e721b7.js +1 -0
  885. package/app/.next-cli-build/static/chunks/app/api/providers/route-743dde8cb8e721b7.js +1 -0
  886. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-743dde8cb8e721b7.js +1 -0
  887. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-743dde8cb8e721b7.js +1 -0
  888. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-743dde8cb8e721b7.js +1 -0
  889. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-743dde8cb8e721b7.js +1 -0
  890. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-743dde8cb8e721b7.js +1 -0
  891. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-743dde8cb8e721b7.js +1 -0
  892. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-743dde8cb8e721b7.js +1 -0
  893. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-743dde8cb8e721b7.js +1 -0
  894. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-743dde8cb8e721b7.js +1 -0
  895. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-743dde8cb8e721b7.js +1 -0
  896. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-743dde8cb8e721b7.js +1 -0
  897. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-743dde8cb8e721b7.js +1 -0
  898. package/app/.next-cli-build/static/chunks/app/api/settings/route-743dde8cb8e721b7.js +1 -0
  899. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-743dde8cb8e721b7.js +1 -0
  900. package/app/.next-cli-build/static/chunks/app/api/tags/route-743dde8cb8e721b7.js +1 -0
  901. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-743dde8cb8e721b7.js +1 -0
  902. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-743dde8cb8e721b7.js +1 -0
  903. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-743dde8cb8e721b7.js +1 -0
  904. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-743dde8cb8e721b7.js +1 -0
  905. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-743dde8cb8e721b7.js +1 -0
  906. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-743dde8cb8e721b7.js +1 -0
  907. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-743dde8cb8e721b7.js +1 -0
  908. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-743dde8cb8e721b7.js +1 -0
  909. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-743dde8cb8e721b7.js +1 -0
  910. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-743dde8cb8e721b7.js +1 -0
  911. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-743dde8cb8e721b7.js +1 -0
  912. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-743dde8cb8e721b7.js +1 -0
  913. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-743dde8cb8e721b7.js +1 -0
  914. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-743dde8cb8e721b7.js +1 -0
  915. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-743dde8cb8e721b7.js +1 -0
  916. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-743dde8cb8e721b7.js +1 -0
  917. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-743dde8cb8e721b7.js +1 -0
  918. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-743dde8cb8e721b7.js +1 -0
  919. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-743dde8cb8e721b7.js +1 -0
  920. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-743dde8cb8e721b7.js +1 -0
  921. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-743dde8cb8e721b7.js +1 -0
  922. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-743dde8cb8e721b7.js +1 -0
  923. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-743dde8cb8e721b7.js +1 -0
  924. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-743dde8cb8e721b7.js +1 -0
  925. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-743dde8cb8e721b7.js +1 -0
  926. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-743dde8cb8e721b7.js +1 -0
  927. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-743dde8cb8e721b7.js +1 -0
  928. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-743dde8cb8e721b7.js +1 -0
  929. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-743dde8cb8e721b7.js +1 -0
  930. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-743dde8cb8e721b7.js +1 -0
  931. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-743dde8cb8e721b7.js +1 -0
  932. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-743dde8cb8e721b7.js +1 -0
  933. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-743dde8cb8e721b7.js +1 -0
  934. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-743dde8cb8e721b7.js +1 -0
  935. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-743dde8cb8e721b7.js +1 -0
  936. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-743dde8cb8e721b7.js +1 -0
  937. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-743dde8cb8e721b7.js +1 -0
  938. package/app/.next-cli-build/static/chunks/app/api/v1/route-743dde8cb8e721b7.js +1 -0
  939. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-743dde8cb8e721b7.js +1 -0
  940. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-743dde8cb8e721b7.js +1 -0
  941. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-743dde8cb8e721b7.js +1 -0
  942. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-743dde8cb8e721b7.js +1 -0
  943. package/app/.next-cli-build/static/chunks/app/api/version/route-743dde8cb8e721b7.js +1 -0
  944. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-743dde8cb8e721b7.js +1 -0
  945. package/app/.next-cli-build/static/chunks/app/api/version/update/route-743dde8cb8e721b7.js +1 -0
  946. package/app/.next-cli-build/static/chunks/app/callback/page-874c1d62c44041eb.js +1 -0
  947. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-af91b33b144badc9.js +1 -0
  948. package/app/.next-cli-build/static/chunks/app/landing/{page-34fb5bf37abde153.js → page-e9702e315a419701.js} +1 -1
  949. package/app/.next-cli-build/static/chunks/app/{layout-ad10b603c07438f2.js → layout-70c637ccaa3f6ede.js} +1 -1
  950. package/app/.next-cli-build/static/chunks/app/login/page-9ea942c9628e5ad8.js +1 -0
  951. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-743dde8cb8e721b7.js +1 -0
  952. package/app/.next-cli-build/static/chunks/app/page-743dde8cb8e721b7.js +1 -0
  953. package/app/.next-cli-build/static/chunks/{main-app-3057ce86fdd7f7ab.js → main-app-bc058b5e1f4a8632.js} +1 -1
  954. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-743dde8cb8e721b7.js +1 -0
  955. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-743dde8cb8e721b7.js +1 -0
  956. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-957f3d80a84331d4.js +1 -0
  957. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-743dde8cb8e721b7.js +1 -0
  958. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-743dde8cb8e721b7.js +1 -0
  959. package/app/.next-cli-build/static/css/{599369d853c61df7.css → 008a05b0ad6b854a.css} +1 -1
  960. package/app/.next-cli-build/static/css/{88fb3376e840da30.css → 8f9ac5a7bd3a79e5.css} +1 -1
  961. package/app/.next-cli-build/static/css/d615baddd1113a17.css +1 -0
  962. package/app/.next-cli-build/static/kFxC_DXGaiOo8II5Pb_Mu/_buildManifest.js +1 -0
  963. package/app/.next-cli-build/static/media/material-symbols-outlined.ec1fa111.woff2 +0 -0
  964. package/app/cli/.build-home/.9router/db/data.sqlite +0 -0
  965. package/app/cli/.build-home/.9router/jwt-secret +1 -1
  966. package/app/cli/.build-home/.9router/machine-id +1 -1
  967. package/app/cli/.build-home/.config/nextjs-nodejs/config.json +3 -3
  968. package/app/node_modules/baseline-browser-mapping/dist/index.cjs +1 -1
  969. package/app/node_modules/baseline-browser-mapping/package.json +3 -3
  970. package/app/node_modules/caniuse-lite/data/agents.js +1 -1
  971. package/app/node_modules/caniuse-lite/data/browserVersions.js +1 -1
  972. package/app/node_modules/caniuse-lite/data/features/aac.js +1 -1
  973. package/app/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -1
  974. package/app/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -1
  975. package/app/node_modules/caniuse-lite/data/features/accelerometer.js +1 -1
  976. package/app/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -1
  977. package/app/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -1
  978. package/app/node_modules/caniuse-lite/data/features/ambient-light.js +1 -1
  979. package/app/node_modules/caniuse-lite/data/features/apng.js +1 -1
  980. package/app/node_modules/caniuse-lite/data/features/array-find-index.js +1 -1
  981. package/app/node_modules/caniuse-lite/data/features/array-find.js +1 -1
  982. package/app/node_modules/caniuse-lite/data/features/array-flat.js +1 -1
  983. package/app/node_modules/caniuse-lite/data/features/array-includes.js +1 -1
  984. package/app/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -1
  985. package/app/node_modules/caniuse-lite/data/features/asmjs.js +1 -1
  986. package/app/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -1
  987. package/app/node_modules/caniuse-lite/data/features/async-functions.js +1 -1
  988. package/app/node_modules/caniuse-lite/data/features/atob-btoa.js +1 -1
  989. package/app/node_modules/caniuse-lite/data/features/audio-api.js +1 -1
  990. package/app/node_modules/caniuse-lite/data/features/audio.js +1 -1
  991. package/app/node_modules/caniuse-lite/data/features/audiotracks.js +1 -1
  992. package/app/node_modules/caniuse-lite/data/features/autofocus.js +1 -1
  993. package/app/node_modules/caniuse-lite/data/features/auxclick.js +1 -1
  994. package/app/node_modules/caniuse-lite/data/features/av1.js +1 -1
  995. package/app/node_modules/caniuse-lite/data/features/avif.js +1 -1
  996. package/app/node_modules/caniuse-lite/data/features/background-attachment.js +1 -1
  997. package/app/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -1
  998. package/app/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -1
  999. package/app/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -1
  1000. package/app/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -1
  1001. package/app/node_modules/caniuse-lite/data/features/background-sync.js +1 -1
  1002. package/app/node_modules/caniuse-lite/data/features/battery-status.js +1 -1
  1003. package/app/node_modules/caniuse-lite/data/features/beacon.js +1 -1
  1004. package/app/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -1
  1005. package/app/node_modules/caniuse-lite/data/features/bigint.js +1 -1
  1006. package/app/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -1
  1007. package/app/node_modules/caniuse-lite/data/features/bloburls.js +1 -1
  1008. package/app/node_modules/caniuse-lite/data/features/border-image.js +1 -1
  1009. package/app/node_modules/caniuse-lite/data/features/border-radius.js +1 -1
  1010. package/app/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -1
  1011. package/app/node_modules/caniuse-lite/data/features/brotli.js +1 -1
  1012. package/app/node_modules/caniuse-lite/data/features/calc.js +1 -1
  1013. package/app/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -1
  1014. package/app/node_modules/caniuse-lite/data/features/canvas-text.js +1 -1
  1015. package/app/node_modules/caniuse-lite/data/features/canvas.js +1 -1
  1016. package/app/node_modules/caniuse-lite/data/features/ch-unit.js +1 -1
  1017. package/app/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -1
  1018. package/app/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -1
  1019. package/app/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -1
  1020. package/app/node_modules/caniuse-lite/data/features/classlist.js +1 -1
  1021. package/app/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -1
  1022. package/app/node_modules/caniuse-lite/data/features/clipboard.js +1 -1
  1023. package/app/node_modules/caniuse-lite/data/features/colr-v1.js +1 -1
  1024. package/app/node_modules/caniuse-lite/data/features/colr.js +1 -1
  1025. package/app/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -1
  1026. package/app/node_modules/caniuse-lite/data/features/console-basic.js +1 -1
  1027. package/app/node_modules/caniuse-lite/data/features/console-time.js +1 -1
  1028. package/app/node_modules/caniuse-lite/data/features/const.js +1 -1
  1029. package/app/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -1
  1030. package/app/node_modules/caniuse-lite/data/features/contenteditable.js +1 -1
  1031. package/app/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -1
  1032. package/app/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -1
  1033. package/app/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -1
  1034. package/app/node_modules/caniuse-lite/data/features/cors.js +1 -1
  1035. package/app/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -1
  1036. package/app/node_modules/caniuse-lite/data/features/credential-management.js +1 -1
  1037. package/app/node_modules/caniuse-lite/data/features/cross-document-view-transitions.js +1 -1
  1038. package/app/node_modules/caniuse-lite/data/features/cryptography.js +1 -1
  1039. package/app/node_modules/caniuse-lite/data/features/css-all.js +1 -1
  1040. package/app/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +1 -1
  1041. package/app/node_modules/caniuse-lite/data/features/css-animation.js +1 -1
  1042. package/app/node_modules/caniuse-lite/data/features/css-any-link.js +1 -1
  1043. package/app/node_modules/caniuse-lite/data/features/css-appearance.js +1 -1
  1044. package/app/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -1
  1045. package/app/node_modules/caniuse-lite/data/features/css-autofill.js +1 -1
  1046. package/app/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -1
  1047. package/app/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -1
  1048. package/app/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -1
  1049. package/app/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -1
  1050. package/app/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -1
  1051. package/app/node_modules/caniuse-lite/data/features/css-canvas.js +1 -1
  1052. package/app/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -1
  1053. package/app/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -1
  1054. package/app/node_modules/caniuse-lite/data/features/css-cascade-scope.js +1 -1
  1055. package/app/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -1
  1056. package/app/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -1
  1057. package/app/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -1
  1058. package/app/node_modules/caniuse-lite/data/features/css-color-function.js +1 -1
  1059. package/app/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -1
  1060. package/app/node_modules/caniuse-lite/data/features/css-container-queries-style.js +1 -1
  1061. package/app/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -1
  1062. package/app/node_modules/caniuse-lite/data/features/css-container-query-units.js +1 -1
  1063. package/app/node_modules/caniuse-lite/data/features/css-containment.js +1 -1
  1064. package/app/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -1
  1065. package/app/node_modules/caniuse-lite/data/features/css-counters.js +1 -1
  1066. package/app/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -1
  1067. package/app/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -1
  1068. package/app/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -1
  1069. package/app/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -1
  1070. package/app/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -1
  1071. package/app/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -1
  1072. package/app/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -1
  1073. package/app/node_modules/caniuse-lite/data/features/css-element-function.js +1 -1
  1074. package/app/node_modules/caniuse-lite/data/features/css-env-function.js +1 -1
  1075. package/app/node_modules/caniuse-lite/data/features/css-exclusions.js +1 -1
  1076. package/app/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -1
  1077. package/app/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -1
  1078. package/app/node_modules/caniuse-lite/data/features/css-filter-function.js +1 -1
  1079. package/app/node_modules/caniuse-lite/data/features/css-filters.js +1 -1
  1080. package/app/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -1
  1081. package/app/node_modules/caniuse-lite/data/features/css-first-line.js +1 -1
  1082. package/app/node_modules/caniuse-lite/data/features/css-fixed.js +1 -1
  1083. package/app/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -1
  1084. package/app/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -1
  1085. package/app/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -1
  1086. package/app/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -1
  1087. package/app/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -1
  1088. package/app/node_modules/caniuse-lite/data/features/css-gencontent.js +1 -1
  1089. package/app/node_modules/caniuse-lite/data/features/css-gradients.js +1 -1
  1090. package/app/node_modules/caniuse-lite/data/features/css-grid-animation.js +1 -1
  1091. package/app/node_modules/caniuse-lite/data/features/css-grid-lanes.js +1 -1
  1092. package/app/node_modules/caniuse-lite/data/features/css-grid.js +1 -1
  1093. package/app/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -1
  1094. package/app/node_modules/caniuse-lite/data/features/css-has.js +1 -1
  1095. package/app/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -1
  1096. package/app/node_modules/caniuse-lite/data/features/css-if.js +1 -1
  1097. package/app/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -1
  1098. package/app/node_modules/caniuse-lite/data/features/css-image-set.js +1 -1
  1099. package/app/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -1
  1100. package/app/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -1
  1101. package/app/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -1
  1102. package/app/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -1
  1103. package/app/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -1
  1104. package/app/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -1
  1105. package/app/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -1
  1106. package/app/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -1
  1107. package/app/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -1
  1108. package/app/node_modules/caniuse-lite/data/features/css-masks.js +1 -1
  1109. package/app/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -1
  1110. package/app/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -1
  1111. package/app/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -1
  1112. package/app/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +1 -1
  1113. package/app/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -1
  1114. package/app/node_modules/caniuse-lite/data/features/css-media-scripting.js +1 -1
  1115. package/app/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -1
  1116. package/app/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -1
  1117. package/app/node_modules/caniuse-lite/data/features/css-module-scripts.js +1 -1
  1118. package/app/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -1
  1119. package/app/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -1
  1120. package/app/node_modules/caniuse-lite/data/features/css-nesting.js +1 -1
  1121. package/app/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -1
  1122. package/app/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -1
  1123. package/app/node_modules/caniuse-lite/data/features/css-opacity.js +1 -1
  1124. package/app/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -1
  1125. package/app/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -1
  1126. package/app/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -1
  1127. package/app/node_modules/caniuse-lite/data/features/css-overflow.js +1 -1
  1128. package/app/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -1
  1129. package/app/node_modules/caniuse-lite/data/features/css-page-break.js +1 -1
  1130. package/app/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -1
  1131. package/app/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -1
  1132. package/app/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -1
  1133. package/app/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -1
  1134. package/app/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +1 -1
  1135. package/app/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -1
  1136. package/app/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -1
  1137. package/app/node_modules/caniuse-lite/data/features/css-reflections.js +1 -1
  1138. package/app/node_modules/caniuse-lite/data/features/css-regions.js +1 -1
  1139. package/app/node_modules/caniuse-lite/data/features/css-relative-colors.js +1 -1
  1140. package/app/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -1
  1141. package/app/node_modules/caniuse-lite/data/features/css-resize.js +1 -1
  1142. package/app/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -1
  1143. package/app/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -1
  1144. package/app/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -1
  1145. package/app/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -1
  1146. package/app/node_modules/caniuse-lite/data/features/css-sel2.js +1 -1
  1147. package/app/node_modules/caniuse-lite/data/features/css-sel3.js +1 -1
  1148. package/app/node_modules/caniuse-lite/data/features/css-selection.js +1 -1
  1149. package/app/node_modules/caniuse-lite/data/features/css-shapes.js +1 -1
  1150. package/app/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -1
  1151. package/app/node_modules/caniuse-lite/data/features/css-sticky.js +1 -1
  1152. package/app/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -1
  1153. package/app/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -1
  1154. package/app/node_modules/caniuse-lite/data/features/css-table.js +1 -1
  1155. package/app/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -1
  1156. package/app/node_modules/caniuse-lite/data/features/css-text-box-trim.js +1 -1
  1157. package/app/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -1
  1158. package/app/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -1
  1159. package/app/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -1
  1160. package/app/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -1
  1161. package/app/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +1 -1
  1162. package/app/node_modules/caniuse-lite/data/features/css-textshadow.js +1 -1
  1163. package/app/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -1
  1164. package/app/node_modules/caniuse-lite/data/features/css-transitions.js +1 -1
  1165. package/app/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -1
  1166. package/app/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -1
  1167. package/app/node_modules/caniuse-lite/data/features/css-variables.js +1 -1
  1168. package/app/node_modules/caniuse-lite/data/features/css-when-else.js +1 -1
  1169. package/app/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -1
  1170. package/app/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -1
  1171. package/app/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -1
  1172. package/app/node_modules/caniuse-lite/data/features/css-zoom.js +1 -1
  1173. package/app/node_modules/caniuse-lite/data/features/css3-attr.js +1 -1
  1174. package/app/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -1
  1175. package/app/node_modules/caniuse-lite/data/features/css3-colors.js +1 -1
  1176. package/app/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -1
  1177. package/app/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -1
  1178. package/app/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -1
  1179. package/app/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -1
  1180. package/app/node_modules/caniuse-lite/data/features/currentcolor.js +1 -1
  1181. package/app/node_modules/caniuse-lite/data/features/custom-elements.js +1 -1
  1182. package/app/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -1
  1183. package/app/node_modules/caniuse-lite/data/features/customevent.js +1 -1
  1184. package/app/node_modules/caniuse-lite/data/features/customizable-select.js +1 -1
  1185. package/app/node_modules/caniuse-lite/data/features/datalist.js +1 -1
  1186. package/app/node_modules/caniuse-lite/data/features/dataset.js +1 -1
  1187. package/app/node_modules/caniuse-lite/data/features/datauri.js +1 -1
  1188. package/app/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -1
  1189. package/app/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +1 -1
  1190. package/app/node_modules/caniuse-lite/data/features/decorators.js +1 -1
  1191. package/app/node_modules/caniuse-lite/data/features/details.js +1 -1
  1192. package/app/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -1
  1193. package/app/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -1
  1194. package/app/node_modules/caniuse-lite/data/features/dialog.js +1 -1
  1195. package/app/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -1
  1196. package/app/node_modules/caniuse-lite/data/features/dnssec.js +1 -1
  1197. package/app/node_modules/caniuse-lite/data/features/do-not-track.js +1 -1
  1198. package/app/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -1
  1199. package/app/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +1 -1
  1200. package/app/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -1
  1201. package/app/node_modules/caniuse-lite/data/features/document-policy.js +1 -1
  1202. package/app/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -1
  1203. package/app/node_modules/caniuse-lite/data/features/documenthead.js +1 -1
  1204. package/app/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -1
  1205. package/app/node_modules/caniuse-lite/data/features/dom-range.js +1 -1
  1206. package/app/node_modules/caniuse-lite/data/features/domcontentloaded.js +1 -1
  1207. package/app/node_modules/caniuse-lite/data/features/dommatrix.js +1 -1
  1208. package/app/node_modules/caniuse-lite/data/features/download.js +1 -1
  1209. package/app/node_modules/caniuse-lite/data/features/dragndrop.js +1 -1
  1210. package/app/node_modules/caniuse-lite/data/features/element-closest.js +1 -1
  1211. package/app/node_modules/caniuse-lite/data/features/element-from-point.js +1 -1
  1212. package/app/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -1
  1213. package/app/node_modules/caniuse-lite/data/features/eme.js +1 -1
  1214. package/app/node_modules/caniuse-lite/data/features/eot.js +1 -1
  1215. package/app/node_modules/caniuse-lite/data/features/es5.js +1 -1
  1216. package/app/node_modules/caniuse-lite/data/features/es6-class.js +1 -1
  1217. package/app/node_modules/caniuse-lite/data/features/es6-generators.js +1 -1
  1218. package/app/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -1
  1219. package/app/node_modules/caniuse-lite/data/features/es6-module.js +1 -1
  1220. package/app/node_modules/caniuse-lite/data/features/es6-number.js +1 -1
  1221. package/app/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -1
  1222. package/app/node_modules/caniuse-lite/data/features/es6.js +1 -1
  1223. package/app/node_modules/caniuse-lite/data/features/eventsource.js +1 -1
  1224. package/app/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -1
  1225. package/app/node_modules/caniuse-lite/data/features/feature-policy.js +1 -1
  1226. package/app/node_modules/caniuse-lite/data/features/fetch.js +1 -1
  1227. package/app/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -1
  1228. package/app/node_modules/caniuse-lite/data/features/fileapi.js +1 -1
  1229. package/app/node_modules/caniuse-lite/data/features/filereader.js +1 -1
  1230. package/app/node_modules/caniuse-lite/data/features/filereadersync.js +1 -1
  1231. package/app/node_modules/caniuse-lite/data/features/filesystem.js +1 -1
  1232. package/app/node_modules/caniuse-lite/data/features/flac.js +1 -1
  1233. package/app/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -1
  1234. package/app/node_modules/caniuse-lite/data/features/flexbox.js +1 -1
  1235. package/app/node_modules/caniuse-lite/data/features/flow-root.js +1 -1
  1236. package/app/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -1
  1237. package/app/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -1
  1238. package/app/node_modules/caniuse-lite/data/features/font-feature.js +1 -1
  1239. package/app/node_modules/caniuse-lite/data/features/font-kerning.js +1 -1
  1240. package/app/node_modules/caniuse-lite/data/features/font-loading.js +1 -1
  1241. package/app/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -1
  1242. package/app/node_modules/caniuse-lite/data/features/font-smooth.js +1 -1
  1243. package/app/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -1
  1244. package/app/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -1
  1245. package/app/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -1
  1246. package/app/node_modules/caniuse-lite/data/features/fontface.js +1 -1
  1247. package/app/node_modules/caniuse-lite/data/features/form-attribute.js +1 -1
  1248. package/app/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -1
  1249. package/app/node_modules/caniuse-lite/data/features/form-validation.js +1 -1
  1250. package/app/node_modules/caniuse-lite/data/features/forms.js +1 -1
  1251. package/app/node_modules/caniuse-lite/data/features/fullscreen.js +1 -1
  1252. package/app/node_modules/caniuse-lite/data/features/gamepad.js +1 -1
  1253. package/app/node_modules/caniuse-lite/data/features/geolocation.js +1 -1
  1254. package/app/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -1
  1255. package/app/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -1
  1256. package/app/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -1
  1257. package/app/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -1
  1258. package/app/node_modules/caniuse-lite/data/features/gyroscope.js +1 -1
  1259. package/app/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -1
  1260. package/app/node_modules/caniuse-lite/data/features/hashchange.js +1 -1
  1261. package/app/node_modules/caniuse-lite/data/features/heif.js +1 -1
  1262. package/app/node_modules/caniuse-lite/data/features/hevc.js +1 -1
  1263. package/app/node_modules/caniuse-lite/data/features/hidden.js +1 -1
  1264. package/app/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -1
  1265. package/app/node_modules/caniuse-lite/data/features/history.js +1 -1
  1266. package/app/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -1
  1267. package/app/node_modules/caniuse-lite/data/features/html5semantic.js +1 -1
  1268. package/app/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -1
  1269. package/app/node_modules/caniuse-lite/data/features/http2.js +1 -1
  1270. package/app/node_modules/caniuse-lite/data/features/http3.js +1 -1
  1271. package/app/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -1
  1272. package/app/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -1
  1273. package/app/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -1
  1274. package/app/node_modules/caniuse-lite/data/features/imagecapture.js +1 -1
  1275. package/app/node_modules/caniuse-lite/data/features/ime.js +1 -1
  1276. package/app/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +1 -1
  1277. package/app/node_modules/caniuse-lite/data/features/import-maps.js +1 -1
  1278. package/app/node_modules/caniuse-lite/data/features/imports.js +1 -1
  1279. package/app/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -1
  1280. package/app/node_modules/caniuse-lite/data/features/indexeddb.js +1 -1
  1281. package/app/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -1
  1282. package/app/node_modules/caniuse-lite/data/features/inline-block.js +1 -1
  1283. package/app/node_modules/caniuse-lite/data/features/innertext.js +1 -1
  1284. package/app/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -1
  1285. package/app/node_modules/caniuse-lite/data/features/input-color.js +1 -1
  1286. package/app/node_modules/caniuse-lite/data/features/input-datetime.js +1 -1
  1287. package/app/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -1
  1288. package/app/node_modules/caniuse-lite/data/features/input-event.js +1 -1
  1289. package/app/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -1
  1290. package/app/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -1
  1291. package/app/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -1
  1292. package/app/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -1
  1293. package/app/node_modules/caniuse-lite/data/features/input-minlength.js +1 -1
  1294. package/app/node_modules/caniuse-lite/data/features/input-number.js +1 -1
  1295. package/app/node_modules/caniuse-lite/data/features/input-pattern.js +1 -1
  1296. package/app/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -1
  1297. package/app/node_modules/caniuse-lite/data/features/input-range.js +1 -1
  1298. package/app/node_modules/caniuse-lite/data/features/input-search.js +1 -1
  1299. package/app/node_modules/caniuse-lite/data/features/input-selection.js +1 -1
  1300. package/app/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -1
  1301. package/app/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -1
  1302. package/app/node_modules/caniuse-lite/data/features/internationalization.js +1 -1
  1303. package/app/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -1
  1304. package/app/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -1
  1305. package/app/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -1
  1306. package/app/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -1
  1307. package/app/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -1
  1308. package/app/node_modules/caniuse-lite/data/features/jpegxl.js +1 -1
  1309. package/app/node_modules/caniuse-lite/data/features/jpegxr.js +1 -1
  1310. package/app/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -1
  1311. package/app/node_modules/caniuse-lite/data/features/json.js +1 -1
  1312. package/app/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -1
  1313. package/app/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -1
  1314. package/app/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +1 -1
  1315. package/app/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -1
  1316. package/app/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -1
  1317. package/app/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -1
  1318. package/app/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -1
  1319. package/app/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -1
  1320. package/app/node_modules/caniuse-lite/data/features/lazyload.js +1 -1
  1321. package/app/node_modules/caniuse-lite/data/features/let.js +1 -1
  1322. package/app/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -1
  1323. package/app/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -1
  1324. package/app/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -1
  1325. package/app/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -1
  1326. package/app/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -1
  1327. package/app/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -1
  1328. package/app/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -1
  1329. package/app/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -1
  1330. package/app/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -1
  1331. package/app/node_modules/caniuse-lite/data/features/loading-lazy-media.js +1 -1
  1332. package/app/node_modules/caniuse-lite/data/features/localecompare.js +1 -1
  1333. package/app/node_modules/caniuse-lite/data/features/magnetometer.js +1 -1
  1334. package/app/node_modules/caniuse-lite/data/features/matchesselector.js +1 -1
  1335. package/app/node_modules/caniuse-lite/data/features/matchmedia.js +1 -1
  1336. package/app/node_modules/caniuse-lite/data/features/mathml.js +1 -1
  1337. package/app/node_modules/caniuse-lite/data/features/maxlength.js +1 -1
  1338. package/app/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +1 -1
  1339. package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +1 -1
  1340. package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +1 -1
  1341. package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +1 -1
  1342. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +1 -1
  1343. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +1 -1
  1344. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +1 -1
  1345. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +1 -1
  1346. package/app/node_modules/caniuse-lite/data/features/media-fragments.js +1 -1
  1347. package/app/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -1
  1348. package/app/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -1
  1349. package/app/node_modules/caniuse-lite/data/features/mediasource.js +1 -1
  1350. package/app/node_modules/caniuse-lite/data/features/menu.js +1 -1
  1351. package/app/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -1
  1352. package/app/node_modules/caniuse-lite/data/features/meter.js +1 -1
  1353. package/app/node_modules/caniuse-lite/data/features/midi.js +1 -1
  1354. package/app/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -1
  1355. package/app/node_modules/caniuse-lite/data/features/mp3.js +1 -1
  1356. package/app/node_modules/caniuse-lite/data/features/mpeg-dash.js +1 -1
  1357. package/app/node_modules/caniuse-lite/data/features/mpeg4.js +1 -1
  1358. package/app/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -1
  1359. package/app/node_modules/caniuse-lite/data/features/multicolumn.js +1 -1
  1360. package/app/node_modules/caniuse-lite/data/features/mutation-events.js +1 -1
  1361. package/app/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -1
  1362. package/app/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -1
  1363. package/app/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -1
  1364. package/app/node_modules/caniuse-lite/data/features/nav-timing.js +1 -1
  1365. package/app/node_modules/caniuse-lite/data/features/netinfo.js +1 -1
  1366. package/app/node_modules/caniuse-lite/data/features/notifications.js +1 -1
  1367. package/app/node_modules/caniuse-lite/data/features/object-entries.js +1 -1
  1368. package/app/node_modules/caniuse-lite/data/features/object-fit.js +1 -1
  1369. package/app/node_modules/caniuse-lite/data/features/object-observe.js +1 -1
  1370. package/app/node_modules/caniuse-lite/data/features/object-values.js +1 -1
  1371. package/app/node_modules/caniuse-lite/data/features/objectrtc.js +1 -1
  1372. package/app/node_modules/caniuse-lite/data/features/offline-apps.js +1 -1
  1373. package/app/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -1
  1374. package/app/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -1
  1375. package/app/node_modules/caniuse-lite/data/features/ogv.js +1 -1
  1376. package/app/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -1
  1377. package/app/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -1
  1378. package/app/node_modules/caniuse-lite/data/features/online-status.js +1 -1
  1379. package/app/node_modules/caniuse-lite/data/features/opus.js +1 -1
  1380. package/app/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -1
  1381. package/app/node_modules/caniuse-lite/data/features/outline.js +1 -1
  1382. package/app/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -1
  1383. package/app/node_modules/caniuse-lite/data/features/page-transition-events.js +1 -1
  1384. package/app/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -1
  1385. package/app/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -1
  1386. package/app/node_modules/caniuse-lite/data/features/passkeys.js +1 -1
  1387. package/app/node_modules/caniuse-lite/data/features/passwordrules.js +1 -1
  1388. package/app/node_modules/caniuse-lite/data/features/path2d.js +1 -1
  1389. package/app/node_modules/caniuse-lite/data/features/payment-request.js +1 -1
  1390. package/app/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -1
  1391. package/app/node_modules/caniuse-lite/data/features/permissions-api.js +1 -1
  1392. package/app/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -1
  1393. package/app/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -1
  1394. package/app/node_modules/caniuse-lite/data/features/picture.js +1 -1
  1395. package/app/node_modules/caniuse-lite/data/features/ping.js +1 -1
  1396. package/app/node_modules/caniuse-lite/data/features/png-alpha.js +1 -1
  1397. package/app/node_modules/caniuse-lite/data/features/pointer-events.js +1 -1
  1398. package/app/node_modules/caniuse-lite/data/features/pointer.js +1 -1
  1399. package/app/node_modules/caniuse-lite/data/features/pointerlock.js +1 -1
  1400. package/app/node_modules/caniuse-lite/data/features/portals.js +1 -1
  1401. package/app/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -1
  1402. package/app/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -1
  1403. package/app/node_modules/caniuse-lite/data/features/progress.js +1 -1
  1404. package/app/node_modules/caniuse-lite/data/features/promise-finally.js +1 -1
  1405. package/app/node_modules/caniuse-lite/data/features/promises.js +1 -1
  1406. package/app/node_modules/caniuse-lite/data/features/proximity.js +1 -1
  1407. package/app/node_modules/caniuse-lite/data/features/proxy.js +1 -1
  1408. package/app/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -1
  1409. package/app/node_modules/caniuse-lite/data/features/push-api.js +1 -1
  1410. package/app/node_modules/caniuse-lite/data/features/queryselector.js +1 -1
  1411. package/app/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -1
  1412. package/app/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -1
  1413. package/app/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -1
  1414. package/app/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -1
  1415. package/app/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -1
  1416. package/app/node_modules/caniuse-lite/data/features/rellist.js +1 -1
  1417. package/app/node_modules/caniuse-lite/data/features/rem.js +1 -1
  1418. package/app/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -1
  1419. package/app/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -1
  1420. package/app/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -1
  1421. package/app/node_modules/caniuse-lite/data/features/resource-timing.js +1 -1
  1422. package/app/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -1
  1423. package/app/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -1
  1424. package/app/node_modules/caniuse-lite/data/features/ruby.js +1 -1
  1425. package/app/node_modules/caniuse-lite/data/features/run-in.js +1 -1
  1426. package/app/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -1
  1427. package/app/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -1
  1428. package/app/node_modules/caniuse-lite/data/features/script-async.js +1 -1
  1429. package/app/node_modules/caniuse-lite/data/features/script-defer.js +1 -1
  1430. package/app/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -1
  1431. package/app/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +1 -1
  1432. package/app/node_modules/caniuse-lite/data/features/sdch.js +1 -1
  1433. package/app/node_modules/caniuse-lite/data/features/selection-api.js +1 -1
  1434. package/app/node_modules/caniuse-lite/data/features/server-timing.js +1 -1
  1435. package/app/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -1
  1436. package/app/node_modules/caniuse-lite/data/features/setimmediate.js +1 -1
  1437. package/app/node_modules/caniuse-lite/data/features/shadowdom.js +1 -1
  1438. package/app/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -1
  1439. package/app/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -1
  1440. package/app/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -1
  1441. package/app/node_modules/caniuse-lite/data/features/sni.js +1 -1
  1442. package/app/node_modules/caniuse-lite/data/features/spdy.js +1 -1
  1443. package/app/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -1
  1444. package/app/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -1
  1445. package/app/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -1
  1446. package/app/node_modules/caniuse-lite/data/features/sql-storage.js +1 -1
  1447. package/app/node_modules/caniuse-lite/data/features/srcset.js +1 -1
  1448. package/app/node_modules/caniuse-lite/data/features/stream.js +1 -1
  1449. package/app/node_modules/caniuse-lite/data/features/streams.js +1 -1
  1450. package/app/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -1
  1451. package/app/node_modules/caniuse-lite/data/features/style-scoped.js +1 -1
  1452. package/app/node_modules/caniuse-lite/data/features/subresource-bundling.js +1 -1
  1453. package/app/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -1
  1454. package/app/node_modules/caniuse-lite/data/features/svg-css.js +1 -1
  1455. package/app/node_modules/caniuse-lite/data/features/svg-filters.js +1 -1
  1456. package/app/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -1
  1457. package/app/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -1
  1458. package/app/node_modules/caniuse-lite/data/features/svg-html.js +1 -1
  1459. package/app/node_modules/caniuse-lite/data/features/svg-html5.js +1 -1
  1460. package/app/node_modules/caniuse-lite/data/features/svg-img.js +1 -1
  1461. package/app/node_modules/caniuse-lite/data/features/svg-smil.js +1 -1
  1462. package/app/node_modules/caniuse-lite/data/features/svg.js +1 -1
  1463. package/app/node_modules/caniuse-lite/data/features/sxg.js +1 -1
  1464. package/app/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -1
  1465. package/app/node_modules/caniuse-lite/data/features/template-literals.js +1 -1
  1466. package/app/node_modules/caniuse-lite/data/features/template.js +1 -1
  1467. package/app/node_modules/caniuse-lite/data/features/temporal.js +1 -1
  1468. package/app/node_modules/caniuse-lite/data/features/testfeat.js +1 -1
  1469. package/app/node_modules/caniuse-lite/data/features/text-decoration.js +1 -1
  1470. package/app/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -1
  1471. package/app/node_modules/caniuse-lite/data/features/text-overflow.js +1 -1
  1472. package/app/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -1
  1473. package/app/node_modules/caniuse-lite/data/features/text-stroke.js +1 -1
  1474. package/app/node_modules/caniuse-lite/data/features/textcontent.js +1 -1
  1475. package/app/node_modules/caniuse-lite/data/features/textencoder.js +1 -1
  1476. package/app/node_modules/caniuse-lite/data/features/tls1-1.js +1 -1
  1477. package/app/node_modules/caniuse-lite/data/features/tls1-2.js +1 -1
  1478. package/app/node_modules/caniuse-lite/data/features/tls1-3.js +1 -1
  1479. package/app/node_modules/caniuse-lite/data/features/touch.js +1 -1
  1480. package/app/node_modules/caniuse-lite/data/features/transforms2d.js +1 -1
  1481. package/app/node_modules/caniuse-lite/data/features/transforms3d.js +1 -1
  1482. package/app/node_modules/caniuse-lite/data/features/trusted-types.js +1 -1
  1483. package/app/node_modules/caniuse-lite/data/features/ttf.js +1 -1
  1484. package/app/node_modules/caniuse-lite/data/features/typedarrays.js +1 -1
  1485. package/app/node_modules/caniuse-lite/data/features/u2f.js +1 -1
  1486. package/app/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -1
  1487. package/app/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -1
  1488. package/app/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -1
  1489. package/app/node_modules/caniuse-lite/data/features/url.js +1 -1
  1490. package/app/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -1
  1491. package/app/node_modules/caniuse-lite/data/features/use-strict.js +1 -1
  1492. package/app/node_modules/caniuse-lite/data/features/user-select-none.js +1 -1
  1493. package/app/node_modules/caniuse-lite/data/features/user-timing.js +1 -1
  1494. package/app/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -1
  1495. package/app/node_modules/caniuse-lite/data/features/vector-effect.js +1 -1
  1496. package/app/node_modules/caniuse-lite/data/features/vibration.js +1 -1
  1497. package/app/node_modules/caniuse-lite/data/features/video.js +1 -1
  1498. package/app/node_modules/caniuse-lite/data/features/videotracks.js +1 -1
  1499. package/app/node_modules/caniuse-lite/data/features/view-transitions.js +1 -1
  1500. package/app/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -1
  1501. package/app/node_modules/caniuse-lite/data/features/viewport-units.js +1 -1
  1502. package/app/node_modules/caniuse-lite/data/features/wai-aria.js +1 -1
  1503. package/app/node_modules/caniuse-lite/data/features/wake-lock.js +1 -1
  1504. package/app/node_modules/caniuse-lite/data/features/wasm-bigint.js +1 -1
  1505. package/app/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js +1 -1
  1506. package/app/node_modules/caniuse-lite/data/features/wasm-extended-const.js +1 -1
  1507. package/app/node_modules/caniuse-lite/data/features/wasm-gc.js +1 -1
  1508. package/app/node_modules/caniuse-lite/data/features/wasm-multi-memory.js +1 -1
  1509. package/app/node_modules/caniuse-lite/data/features/wasm-multi-value.js +1 -1
  1510. package/app/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js +1 -1
  1511. package/app/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js +1 -1
  1512. package/app/node_modules/caniuse-lite/data/features/wasm-reference-types.js +1 -1
  1513. package/app/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js +1 -1
  1514. package/app/node_modules/caniuse-lite/data/features/wasm-signext.js +1 -1
  1515. package/app/node_modules/caniuse-lite/data/features/wasm-simd.js +1 -1
  1516. package/app/node_modules/caniuse-lite/data/features/wasm-tail-calls.js +1 -1
  1517. package/app/node_modules/caniuse-lite/data/features/wasm-threads.js +1 -1
  1518. package/app/node_modules/caniuse-lite/data/features/wasm.js +1 -1
  1519. package/app/node_modules/caniuse-lite/data/features/wav.js +1 -1
  1520. package/app/node_modules/caniuse-lite/data/features/wbr-element.js +1 -1
  1521. package/app/node_modules/caniuse-lite/data/features/web-animation.js +1 -1
  1522. package/app/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -1
  1523. package/app/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -1
  1524. package/app/node_modules/caniuse-lite/data/features/web-serial.js +1 -1
  1525. package/app/node_modules/caniuse-lite/data/features/web-share.js +1 -1
  1526. package/app/node_modules/caniuse-lite/data/features/webauthn.js +1 -1
  1527. package/app/node_modules/caniuse-lite/data/features/webcodecs.js +1 -1
  1528. package/app/node_modules/caniuse-lite/data/features/webgl.js +1 -1
  1529. package/app/node_modules/caniuse-lite/data/features/webgl2.js +1 -1
  1530. package/app/node_modules/caniuse-lite/data/features/webgpu.js +1 -1
  1531. package/app/node_modules/caniuse-lite/data/features/webhid.js +1 -1
  1532. package/app/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -1
  1533. package/app/node_modules/caniuse-lite/data/features/webm.js +1 -1
  1534. package/app/node_modules/caniuse-lite/data/features/webnfc.js +1 -1
  1535. package/app/node_modules/caniuse-lite/data/features/webp.js +1 -1
  1536. package/app/node_modules/caniuse-lite/data/features/websockets.js +1 -1
  1537. package/app/node_modules/caniuse-lite/data/features/webtransport.js +1 -1
  1538. package/app/node_modules/caniuse-lite/data/features/webusb.js +1 -1
  1539. package/app/node_modules/caniuse-lite/data/features/webvr.js +1 -1
  1540. package/app/node_modules/caniuse-lite/data/features/webvtt.js +1 -1
  1541. package/app/node_modules/caniuse-lite/data/features/webworkers.js +1 -1
  1542. package/app/node_modules/caniuse-lite/data/features/webxr.js +1 -1
  1543. package/app/node_modules/caniuse-lite/data/features/will-change.js +1 -1
  1544. package/app/node_modules/caniuse-lite/data/features/woff.js +1 -1
  1545. package/app/node_modules/caniuse-lite/data/features/woff2.js +1 -1
  1546. package/app/node_modules/caniuse-lite/data/features/word-break.js +1 -1
  1547. package/app/node_modules/caniuse-lite/data/features/wordwrap.js +1 -1
  1548. package/app/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -1
  1549. package/app/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -1
  1550. package/app/node_modules/caniuse-lite/data/features/xhr2.js +1 -1
  1551. package/app/node_modules/caniuse-lite/data/features/xhtml.js +1 -1
  1552. package/app/node_modules/caniuse-lite/data/features/xhtmlsmil.js +1 -1
  1553. package/app/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -1
  1554. package/app/node_modules/caniuse-lite/data/features/zstd.js +1 -1
  1555. package/app/node_modules/caniuse-lite/package.json +1 -1
  1556. package/app/node_modules/nanoid/non-secure/index.cjs +0 -10
  1557. package/app/node_modules/nanoid/package.json +1 -1
  1558. package/app/package.json +1 -1
  1559. package/app/public/i18n/literals/zh-CN.json +1 -0
  1560. package/app/server.js +1 -1
  1561. package/package.json +1 -1
  1562. package/app/.next-cli-build/server/chunks/2091.js +0 -1
  1563. package/app/.next-cli-build/server/chunks/2996.js +0 -1
  1564. package/app/.next-cli-build/server/chunks/3390.js +0 -1
  1565. package/app/.next-cli-build/server/chunks/3453.js +0 -1
  1566. package/app/.next-cli-build/server/chunks/3913.js +0 -64
  1567. package/app/.next-cli-build/server/chunks/4161.js +0 -1
  1568. package/app/.next-cli-build/server/chunks/5002.js +0 -1
  1569. package/app/.next-cli-build/server/chunks/5692.js +0 -1
  1570. package/app/.next-cli-build/server/chunks/6445.js +0 -10
  1571. package/app/.next-cli-build/server/chunks/6568.js +0 -3
  1572. package/app/.next-cli-build/server/chunks/7828.js +0 -1
  1573. package/app/.next-cli-build/server/chunks/8080.js +0 -1
  1574. package/app/.next-cli-build/server/chunks/8255.js +0 -1
  1575. package/app/.next-cli-build/server/chunks/8914.js +0 -1
  1576. package/app/.next-cli-build/server/chunks/9549.js +0 -1
  1577. package/app/.next-cli-build/static/6KXTQVOT_lRgjerwT-tv3/_buildManifest.js +0 -1
  1578. package/app/.next-cli-build/static/chunks/1051-080896ceff7ba88d.js +0 -64
  1579. package/app/.next-cli-build/static/chunks/1321-3c8b61c89c7c00b1.js +0 -1
  1580. package/app/.next-cli-build/static/chunks/1a258343-5938f676ed376386.js +0 -1
  1581. package/app/.next-cli-build/static/chunks/5497-9693b69a6ba714c2.js +0 -7
  1582. package/app/.next-cli-build/static/chunks/6502-54f3e96cead0a0a3.js +0 -3
  1583. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-35beb2949f0feaa0.js +0 -1
  1584. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-a93420694c4be022.js +0 -1
  1585. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-fad4cd709b370642.js +0 -1
  1586. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-9548f5a1140005d5.js +0 -1
  1587. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-4ce59558e8fe3be1.js +0 -1
  1588. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-5ef89f751912e1ef.js +0 -1
  1589. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-8eb2e65f0ce52b79.js +0 -1
  1590. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-92cff164200e3f2a.js +0 -1
  1591. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-1d82df0c59998142.js +0 -1
  1592. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-31cc0cda6436a0b9.js +0 -10
  1593. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-8824acbc5ab93904.js +0 -1
  1594. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-b3c27640638a72ce.js +0 -1
  1595. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-893cbf6a96a3e92c.js +0 -1
  1596. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-0006630ca3232027.js +0 -1
  1597. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-0006630ca3232027.js +0 -1
  1598. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-0006630ca3232027.js +0 -1
  1599. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-0006630ca3232027.js +0 -1
  1600. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-0006630ca3232027.js +0 -1
  1601. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-0006630ca3232027.js +0 -1
  1602. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-0006630ca3232027.js +0 -1
  1603. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-0006630ca3232027.js +0 -1
  1604. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-0006630ca3232027.js +0 -1
  1605. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-0006630ca3232027.js +0 -1
  1606. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-0006630ca3232027.js +0 -1
  1607. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-0006630ca3232027.js +0 -1
  1608. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-0006630ca3232027.js +0 -1
  1609. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-0006630ca3232027.js +0 -1
  1610. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-0006630ca3232027.js +0 -1
  1611. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-0006630ca3232027.js +0 -1
  1612. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-0006630ca3232027.js +0 -1
  1613. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-0006630ca3232027.js +0 -1
  1614. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-0006630ca3232027.js +0 -1
  1615. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-0006630ca3232027.js +0 -1
  1616. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-0006630ca3232027.js +0 -1
  1617. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-0006630ca3232027.js +0 -1
  1618. package/app/.next-cli-build/static/chunks/app/api/combos/reorder/route-0006630ca3232027.js +0 -1
  1619. package/app/.next-cli-build/static/chunks/app/api/combos/route-0006630ca3232027.js +0 -1
  1620. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-0006630ca3232027.js +0 -1
  1621. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-0006630ca3232027.js +0 -1
  1622. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-0006630ca3232027.js +0 -1
  1623. package/app/.next-cli-build/static/chunks/app/api/health/route-0006630ca3232027.js +0 -1
  1624. package/app/.next-cli-build/static/chunks/app/api/init/route-0006630ca3232027.js +0 -1
  1625. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-0006630ca3232027.js +0 -1
  1626. package/app/.next-cli-build/static/chunks/app/api/keys/route-0006630ca3232027.js +0 -1
  1627. package/app/.next-cli-build/static/chunks/app/api/locale/route-0006630ca3232027.js +0 -1
  1628. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-0006630ca3232027.js +0 -1
  1629. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-0006630ca3232027.js +0 -1
  1630. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-0006630ca3232027.js +0 -1
  1631. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-0006630ca3232027.js +0 -1
  1632. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-0006630ca3232027.js +0 -1
  1633. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-0006630ca3232027.js +0 -1
  1634. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-0006630ca3232027.js +0 -1
  1635. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-0006630ca3232027.js +0 -1
  1636. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-0006630ca3232027.js +0 -1
  1637. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-0006630ca3232027.js +0 -1
  1638. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-0006630ca3232027.js +0 -1
  1639. package/app/.next-cli-build/static/chunks/app/api/models/order/route-0006630ca3232027.js +0 -1
  1640. package/app/.next-cli-build/static/chunks/app/api/models/route-0006630ca3232027.js +0 -1
  1641. package/app/.next-cli-build/static/chunks/app/api/models/test/route-0006630ca3232027.js +0 -1
  1642. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-0006630ca3232027.js +0 -1
  1643. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-0006630ca3232027.js +0 -1
  1644. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-0006630ca3232027.js +0 -1
  1645. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-0006630ca3232027.js +0 -1
  1646. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-0006630ca3232027.js +0 -1
  1647. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-0006630ca3232027.js +0 -1
  1648. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-0006630ca3232027.js +0 -1
  1649. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-0006630ca3232027.js +0 -1
  1650. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-0006630ca3232027.js +0 -1
  1651. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-0006630ca3232027.js +0 -1
  1652. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-0006630ca3232027.js +0 -1
  1653. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-0006630ca3232027.js +0 -1
  1654. package/app/.next-cli-build/static/chunks/app/api/pricing/route-0006630ca3232027.js +0 -1
  1655. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-0006630ca3232027.js +0 -1
  1656. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-0006630ca3232027.js +0 -1
  1657. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-0006630ca3232027.js +0 -1
  1658. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/connections/disabled/route-0006630ca3232027.js +0 -1
  1659. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-0006630ca3232027.js +0 -1
  1660. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/pull/route-0006630ca3232027.js +0 -1
  1661. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/route-0006630ca3232027.js +0 -1
  1662. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-0006630ca3232027.js +0 -1
  1663. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-0006630ca3232027.js +0 -1
  1664. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-0006630ca3232027.js +0 -1
  1665. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-0006630ca3232027.js +0 -1
  1666. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-0006630ca3232027.js +0 -1
  1667. package/app/.next-cli-build/static/chunks/app/api/providers/route-0006630ca3232027.js +0 -1
  1668. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-0006630ca3232027.js +0 -1
  1669. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-0006630ca3232027.js +0 -1
  1670. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-0006630ca3232027.js +0 -1
  1671. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-0006630ca3232027.js +0 -1
  1672. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-0006630ca3232027.js +0 -1
  1673. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-0006630ca3232027.js +0 -1
  1674. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-0006630ca3232027.js +0 -1
  1675. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-0006630ca3232027.js +0 -1
  1676. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-0006630ca3232027.js +0 -1
  1677. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-0006630ca3232027.js +0 -1
  1678. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-0006630ca3232027.js +0 -1
  1679. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-0006630ca3232027.js +0 -1
  1680. package/app/.next-cli-build/static/chunks/app/api/settings/route-0006630ca3232027.js +0 -1
  1681. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-0006630ca3232027.js +0 -1
  1682. package/app/.next-cli-build/static/chunks/app/api/tags/route-0006630ca3232027.js +0 -1
  1683. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-0006630ca3232027.js +0 -1
  1684. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-0006630ca3232027.js +0 -1
  1685. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-0006630ca3232027.js +0 -1
  1686. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-0006630ca3232027.js +0 -1
  1687. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-0006630ca3232027.js +0 -1
  1688. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-0006630ca3232027.js +0 -1
  1689. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-0006630ca3232027.js +0 -1
  1690. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-0006630ca3232027.js +0 -1
  1691. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-0006630ca3232027.js +0 -1
  1692. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-0006630ca3232027.js +0 -1
  1693. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-0006630ca3232027.js +0 -1
  1694. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-0006630ca3232027.js +0 -1
  1695. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-0006630ca3232027.js +0 -1
  1696. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-0006630ca3232027.js +0 -1
  1697. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-0006630ca3232027.js +0 -1
  1698. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-0006630ca3232027.js +0 -1
  1699. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-0006630ca3232027.js +0 -1
  1700. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-0006630ca3232027.js +0 -1
  1701. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-0006630ca3232027.js +0 -1
  1702. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-0006630ca3232027.js +0 -1
  1703. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-0006630ca3232027.js +0 -1
  1704. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-0006630ca3232027.js +0 -1
  1705. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-0006630ca3232027.js +0 -1
  1706. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-0006630ca3232027.js +0 -1
  1707. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-0006630ca3232027.js +0 -1
  1708. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-0006630ca3232027.js +0 -1
  1709. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-0006630ca3232027.js +0 -1
  1710. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-0006630ca3232027.js +0 -1
  1711. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-0006630ca3232027.js +0 -1
  1712. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-0006630ca3232027.js +0 -1
  1713. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-0006630ca3232027.js +0 -1
  1714. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-0006630ca3232027.js +0 -1
  1715. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-0006630ca3232027.js +0 -1
  1716. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-0006630ca3232027.js +0 -1
  1717. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-0006630ca3232027.js +0 -1
  1718. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-0006630ca3232027.js +0 -1
  1719. package/app/.next-cli-build/static/chunks/app/api/v1/route-0006630ca3232027.js +0 -1
  1720. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-0006630ca3232027.js +0 -1
  1721. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-0006630ca3232027.js +0 -1
  1722. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-0006630ca3232027.js +0 -1
  1723. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-0006630ca3232027.js +0 -1
  1724. package/app/.next-cli-build/static/chunks/app/api/version/route-0006630ca3232027.js +0 -1
  1725. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-0006630ca3232027.js +0 -1
  1726. package/app/.next-cli-build/static/chunks/app/api/version/update/route-0006630ca3232027.js +0 -1
  1727. package/app/.next-cli-build/static/chunks/app/callback/page-69c80ed172191a02.js +0 -1
  1728. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-feda7f7a9c272877.js +0 -1
  1729. package/app/.next-cli-build/static/chunks/app/login/page-100ca7d1326036fd.js +0 -1
  1730. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-0006630ca3232027.js +0 -1
  1731. package/app/.next-cli-build/static/chunks/app/page-0006630ca3232027.js +0 -1
  1732. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-0006630ca3232027.js +0 -1
  1733. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-0006630ca3232027.js +0 -1
  1734. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-9e6846bb98322e86.js +0 -1
  1735. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-0006630ca3232027.js +0 -1
  1736. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-0006630ca3232027.js +0 -1
  1737. package/app/.next-cli-build/static/css/d434f5eb81ebb26f.css +0 -1
  1738. package/app/.next-cli-build/static/media/material-symbols-outlined.50fdf095.woff2 +0 -0
  1739. package/app/cli/.build-home/.9router/db/backups/upgrade-0.4.83-to-0.4.84-0.4.84-20260625-092251/data.sqlite +0 -0
  1740. package/app/cli/.build-home/.9router/db/backups/upgrade-0.4.84-to-0.5.9-0.5.9-20260625-151604/data.sqlite +0 -0
  1741. package/app/cli/.build-home/.9router/db/backups/upgrade-0.5.10-to-0.5.11-0.5.11-20260626-154318/data.sqlite +0 -0
  1742. package/app/cli/.build-home/.9router/db/backups/upgrade-0.5.9-to-0.5.10-0.5.10-20260625-164702/data.sqlite +0 -0
  1743. /package/app/.next-cli-build/static/{6KXTQVOT_lRgjerwT-tv3 → kFxC_DXGaiOo8II5Pb_Mu}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- "use strict";exports.id=4161,exports.ids=[615,1998,2996,4161],exports.modules={7803:(a,b,c)=>{c.r(b),c.d(b,{debug:()=>f,error:()=>i,info:()=>g,maskKey:()=>m,request:()=>j,response:()=>k,stream:()=>l,warn:()=>h});function d(){let a=new Date(Date.now()+252e5),b=String(a.getUTCHours()).padStart(2,"0"),c=String(a.getUTCMinutes()).padStart(2,"0"),d=String(a.getUTCSeconds()).padStart(2,"0");return`${b}:${c}:${d}`}function e(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function f(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] 🔍 [${a}] ${b}${f}`)}}function g(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] ℹ️ [${a}] ${b}${f}`)}}function h(a,b,c){c&&e(c)}function i(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] ❌ [${a}] ${b}${f}`)}}function j(a,b,c){let f=c?` ${e(c)}`:"";console.log(`\x1b[36m[${d()}] 📥 ${a} ${b}${f}\x1b[0m`)}function k(a,b,c){let f=c?` ${e(c)}`:"";console.log(`[${d()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${f}`)}function l(a,b){let c=b?` ${e(b)}`:"";console.log(`[${d()}] 🌊 [STREAM] ${a}${c}`)}function m(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}},19225:(a,b,c)=>{a.exports=c(44870)},39326:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(71998);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},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,isAnthropicCompatibleProvider:()=>q,gC:()=>r,isOpenAICompatibleProvider:()=>p,rs:()=>u});var d=c(35002);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h={...g("free"),qoder:{id:"qoder",alias:"qd",name:"Qoder AI",icon:"water_drop",color:"#EC4899",deprecated:!0,deprecationNotice:e,website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"}}},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.A.filter(a=>a.features?.usage).map(a=>a.id),y=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id)},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},71998:(a,b,c)=>{c.d(b,{Ax:()=>d.Ax,CK:()=>d.CK,EE:()=>d.EE,Fh:()=>d.Fh,ID:()=>d.ID,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Wq:()=>d.Wq,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fu:()=>d.fu,fv:()=>d.fv,g4:()=>d.g4,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,ik:()=>d.ik,o5:()=>d.o5,op:()=>d.op,q5:()=>d.q5,rj:()=>d.updateProviderConnection,sN:()=>d.sN,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},80238:(a,b,c)=>{c.d(b,{Pt:()=>q,Tr:()=>r,c1:()=>n,kI:()=>s,vk:()=>p});var d=c(89718),e=c(39326),f=c(12557),g=c(3662),h=c(40615),i=c(7803);let j=Promise.resolve(),k=new Set;async function l(){try{let a=await (0,d.getProviderConnections)({provider:"cloudflare-ai"}),b=new Date().toISOString(),c=a.filter(a=>{let c=a.providerSpecificData||{};return!0===c.cloudflareQuotaDisabled&&c.cloudflareReEnableAt&&c.cloudflareReEnableAt<=b});if(0===c.length)return;for(let a of c){let b={...a.providerSpecificData||{}};delete b.cloudflareQuotaDisabled,delete b.cloudflareReEnableAt,await (0,d.updateProviderConnection)(a.id,{isActive:!0,providerSpecificData:b});let c=a.displayName||a.name||a.email||a.id.slice(0,8);i.info("AUTH",`[CLOUDFLARE] Re-enabled ${c} — daily quota cooldown expired (was disabled until ${a.providerSpecificData?.cloudflareReEnableAt})`)}}catch(a){i.warn("AUTH",`[CLOUDFLARE] re-enable check failed: ${a.message}`)}}async function m(){try{let a=await (0,d.getProviderConnections)({provider:"siliconflow"}),b=new Date().toISOString(),c=a.filter(a=>{let c=a.providerSpecificData||{};return!0===c.siliconflowBusyDisabled&&c.siliconflowReEnableAt&&c.siliconflowReEnableAt<=b});if(0===c.length)return;for(let a of c){let b={...a.providerSpecificData||{}};delete b.siliconflowBusyDisabled,delete b.siliconflowReEnableAt,await (0,d.updateProviderConnection)(a.id,{isActive:!0,providerSpecificData:b});let c=a.displayName||a.name||a.email||a.id.slice(0,8);i.info("AUTH",`[SILICONFLOW] Re-enabled ${c} — server busy cooldown expired (was disabled until ${a.providerSpecificData?.siliconflowReEnableAt})`)}}catch(a){i.warn("AUTH",`[SILICONFLOW] re-enable check failed: ${a.message}`)}}async function n(a,b=null,c=null,g={}){let k,o=b instanceof Set?b:b?new Set([b]):new Set,p=g?.preferredConnectionId||null,q=j;j=new Promise(a=>{k=a});try{let b;await q,await l(),await m();let g=(0,h.rs)(a);if(h.IS[g]?.noAuth){let a=((await (0,d.mt)()).providerStrategies||{})[g]||{},b=await (0,e.B)({proxyPoolId:a.proxyPoolId||""});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl,connectionNoProxy:b.connectionNoProxy,connectionProxyPoolId:b.proxyPoolId||null,vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy}}}let j=await (0,d.getProviderConnections)({provider:g,isActive:!0});if(i.debug("AUTH",`${a} | total connections: ${j.length}, excludeIds: ${o.size>0?[...o].join(","):"none"}, model: ${c||"any"}`),0===j.length)return i.warn("AUTH",`No credentials for ${a}`),null;let k=j.filter(a=>!(o.has(a.id)||(0,f.Bl)(a,c)));if(i.debug("AUTH",`${a} | available: ${k.length}/${j.length}`),j.forEach(a=>{let b=o.has(a.id),d=(0,f.Bl)(a,c);if(b||d){let e=(0,f.kJ)(a);i.debug("AUTH",` → ${a.id?.slice(0,8)} | ${b?"excluded":""} ${d?`modelLocked(${c}) until ${e}`:""}`)}}),0===k.length){let b=j.filter(a=>(0,f.Bl)(a,c)),d=b.map(a=>(0,f.kJ)(a)).filter(Boolean).sort()[0]||null;if(d){let e=b[0];return i.warn("AUTH",`${a} | all ${j.length} accounts locked for ${c||"all"} (${(0,f.Qo)(d)}) | lastError=${e?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:d,retryAfterHuman:(0,f.Qo)(d),lastError:e?.lastError||null,lastErrorCode:e?.errorCode||null}}return i.warn("AUTH",`${a} | all ${j.length} accounts unavailable`),null}let n=await (0,d.mt)(),r=(n.providerStrategies||{})[g]||{},s=r.fallbackStrategy||n.fallbackStrategy||"fill-first";if(p&&(b=k.find(a=>a.id===p))&&i.info("AUTH",`${a} | pinned to ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`),b);else if("round-robin"===s){let a=r.stickyRoundRobinLimit||n.stickyRoundRobinLimit||3,c=[...k].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=c?.consecutiveUseCount||0;c&&c.lastUsedAt&&e<a?(b=c,await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(b.consecutiveUseCount||0)+1})):(b=[...k].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else b=k[0];let t=await (0,e.B)(b.providerSpecificData||{});return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,idToken:b.idToken,expiresAt:b.expiresAt,expiresIn:b.expiresIn,lastRefreshAt:b.lastRefreshAt,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:t.connectionProxyEnabled,connectionProxyUrl:t.connectionProxyUrl,connectionNoProxy:t.connectionNoProxy,connectionProxyPoolId:t.proxyPoolId||null,vercelRelayUrl:t.vercelRelayUrl||"",strictProxy:!0===t.strictProxy},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b}}finally{k&&k()}}async function o(a,b){if(!k.has(b)){k.add(b);try{let[c,e]=await Promise.all([(0,d.CK)(a),(0,d.getProviderConnections)({provider:a,isActive:!0})]);if(!c)return;let f=e.map(a=>a.apiKey).filter(Boolean),g=await (0,d.Ax)(a,1,f);if(!g.length){i.warn("AUTH",`[POOL] pool empty for ${a}, cannot auto-replace`),await (0,d.updateProviderConnection)(b,{isActive:!1});return}let h=e.find(a=>a.providerSpecificData?.baseUrl)?.providerSpecificData||null,j=await (0,d.q5)(a,g,f,h);0===j&&i.warn("AUTH",`[POOL] replacement key already in connections for ${a}`),await (0,d.updateProviderConnection)(b,{isActive:!1}),i.info("AUTH",`[POOL] auto-replaced key for ${a} (created=${j})`)}catch(a){i.warn("AUTH",`[POOL] auto-replace failed: ${a.message}`)}finally{k.delete(b)}}}async function p(a,b,c,e=null,h=null,j=null){let k,l,m;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};let n=await (0,d.getProviderConnections)({provider:e}),q=n.find(b=>b.id===a),r=q?.backoffLevel||0;if(j&&j>Date.now()?(k=!0,l=Math.min(j-Date.now(),g.fh),m=0):{shouldFallback:k,cooldownMs:l,newBackoffLevel:m}=(0,f.hk)(b,c,r),!k)return{shouldFallback:!1,cooldownMs:0};let s="string"==typeof c?c.slice(0,100):"Provider error";if("cloudflare-ai"===e&&"string"==typeof c&&c.toLowerCase().includes("used up your daily free allocation")){let c,e,f=((e=new Date(Date.UTC((c=new Date).getUTCFullYear(),c.getUTCMonth(),c.getUTCDate(),0,10,0,0))).getTime()<=c.getTime()&&e.setUTCDate(e.getUTCDate()+1),e.toISOString()),g={...q?.providerSpecificData||{},cloudflareQuotaDisabled:!0,cloudflareReEnableAt:f};await (0,d.updateProviderConnection)(a,{isActive:!1,providerSpecificData:g,testStatus:"unavailable",lastError:s,errorCode:b,lastErrorAt:new Date().toISOString()});let h=q?.displayName||q?.name||q?.email||a.slice(0,8);return i.warn("AUTH",`[CLOUDFLARE] ${h} disabled due to daily quota exhaustion — will re-enable at ${f}`),console.error(`❌ cloudflare-ai [${b}]: Daily quota exhausted — disabled until ${f}`),{shouldFallback:!0,cooldownMs:0}}if("siliconflow"===e&&"string"==typeof c&&c.toLowerCase().includes("system is really busy")){let a=new Date(Date.now()+9e5).toISOString();for(let c of n){let e={...c.providerSpecificData||{},siliconflowBusyDisabled:!0,siliconflowReEnableAt:a};await (0,d.updateProviderConnection)(c.id,{isActive:!1,providerSpecificData:e,testStatus:"unavailable",lastError:s,errorCode:b,lastErrorAt:new Date().toISOString()})}return i.warn("AUTH",`[SILICONFLOW] Disabled ${n.length} connection(s) due to server busy (503) — will re-enable at ${a}`),console.error(`❌ siliconflow [${b}]: System busy — disabled ${n.length} connection(s) until ${a}`),{shouldFallback:!0,cooldownMs:0}}let t=(0,f.S5)(h,l);await (0,d.updateProviderConnection)(a,{...t,testStatus:"unavailable",lastError:s,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:m??r});let u=Object.keys(t)[0],v=q?.displayName||q?.name||q?.email||a.slice(0,8);return i.warn("AUTH",`${v} locked ${u} for ${Math.round(l/1e3)}s [${b}]`),e&&b&&s&&console.error(`❌ ${e} [${b}]: ${s}`),(400===b||402===b||403===b)&&e&&(g.eq.some(a=>s.toLowerCase().includes(a))?o(e,a).catch(()=>{}):403===b&&i.warn("AUTH",`[POOL] 403 received but no quota pattern matched — reason: "${s.slice(0,80)}"`)),{shouldFallback:!0,cooldownMs:l}}async function q(a,b,c=null){if(!a||"noauth"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function r(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function s(a){return!!a&&await (0,d.ek)(a)}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=5002,exports.ids=[5002],exports.modules={35002:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(74129);c(21820);let e=[{id:"alicode",priority:20,alias:"alicode",display:{name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com",notice:{apiKeyUrl:"https://bailian.console.aliyun.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",headers:{}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"alicode-intl",priority:10,alias:"alicode-intl",display:{name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",headers:{}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"anthropic",priority:30,alias:"anthropic",display:{name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com",notice:{apiKeyUrl:"https://console.anthropic.com/settings/keys"}},category:"apikey",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"}},models:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],serviceKinds:["llm","imageToText"]},{id:"antigravity",priority:20,alias:"ag",uiAlias:"ag",display:{name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",website:"https://antigravity.google",notice:{signupUrl:"https://antigravity.google"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",serviceKinds:["llm","image"],transport:{baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],format:"antigravity",headers:{"User-Agent":"antigravity/1.107.0 darwin/arm64"},retry:{429:{attempts:3},503:{attempts:3}},usage:{quotaApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token"},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3-flash-agent",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3.5-flash-low",name:"Gemini 3.5 Flash (Medium)"},{id:"gemini-3.5-flash-extra-low",name:"Gemini 3.5 Flash (Low)"},{id:"gemini-pro-agent",name:"Gemini 3.1 Pro (High)"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro (Low)"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Thinking)"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 (Thinking)"},{id:"gpt-oss-120b-medium",name:"GPT-OSS 120B (Medium)"},{id:"gemini-3-flash",name:"Gemini 3 Flash",thinking:!1},{id:"gemini-3.1-flash-image",name:"Gemini 3.1 Flash (Image)",kind:"image",imageGen:!0,capabilities:["textToImage"]}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",loadCodeAssistApiClient:"google-cloud-sdk vscode_cloudshelleditor/0.1",refreshLeadMs:3e5},features:{usage:!0}},{id:"assemblyai",priority:30,alias:"assemblyai",aliases:["aai"],uiAlias:"aai",display:{name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com",notice:{apiKeyUrl:"https://www.assemblyai.com/app/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",validateUrl:"https://api.assemblyai.com/v1/account"},models:[{id:"universal-3-pro",name:"Universal 3 Pro",params:["language"],kind:"stt"},{id:"universal-2",name:"Universal 2",params:["language"],kind:"stt"},{id:"best",name:"Best (Nano + Universal)",kind:"stt"},{id:"nano",name:"Nano (Fast)",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"authorization",format:"assemblyai"}},{id:"aws-polly",alias:"polly",display:{name:"AWS Polly",icon:"record_voice_over",color:"#FF9900",textIcon:"PL",website:"https://aws.amazon.com/polly/",notice:{text:"Use AWS Secret Access Key as API key; set providerSpecificData.accessKeyId and optional region.",apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://polly.{region}.amazonaws.com/v1/speech",authType:"apikey",authHeader:"aws-sigv4",format:"aws-polly",models:[{id:"standard",name:"Standard"},{id:"neural",name:"Neural"},{id:"long-form",name:"Long-form"},{id:"generative",name:"Generative"}]},hasProviderSpecificData:!0},{id:"azure",priority:40,alias:"azure",display:{name:"Azure OpenAI",icon:"cloud",color:"#0078D4",textIcon:"AZ",website:"https://azure.microsoft.com/en-us/products/ai-services/openai-service",notice:{apiKeyUrl:"https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/OpenAI"}},category:"apikey",hasProviderSpecificData:!0,transport:{baseUrl:"",headers:{}}},{id:"black-forest-labs",priority:50,alias:"black-forest-labs",aliases:["bfl"],uiAlias:"bfl",display:{name:"Black Forest Labs",icon:"image",color:"#111827",textIcon:"BF",website:"https://blackforestlabs.ai",notice:{apiKeyUrl:"https://api.bfl.ai"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"flux-pro-1.1",name:"FLUX Pro 1.1",params:["n","size"],kind:"image"},{id:"flux-pro-1.1-ultra",name:"FLUX Pro 1.1 Ultra",params:["size"],kind:"image"},{id:"flux-pro",name:"FLUX Pro",params:["n","size"],kind:"image"},{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"flux-kontext-pro",name:"FLUX Kontext Pro (Edit)",params:["size"],capabilities:["edit"],kind:"image"},{id:"flux-kontext-max",name:"FLUX Kontext Max (Edit)",params:["size"],capabilities:["edit"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.bfl.ai/v1"}},{id:"blackbox",priority:50,alias:"blackbox",aliases:["bb"],uiAlias:"bb",display:{name:"Blackbox AI",icon:"smart_toy",color:"#5B5FEF",textIcon:"BB",website:"https://blackbox.ai",notice:{apiKeyUrl:"https://www.blackbox.ai/api-management"}},category:"apikey",transport:{baseUrl:"https://api.blackbox.ai/chat/completions",thinkingFormat:"openai"},models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o mini"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Legacy)"},{id:"claude-opus-4-6",name:"Claude Opus 4.6 (Legacy)"},{id:"deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek-v3-671b",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"o1",name:"OpenAI o1"},{id:"o3-mini",name:"OpenAI o3-mini"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"}]},{id:"brave-search",alias:"brave",display:{name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",notice:{apiKeyUrl:"https://api-dashboard.search.brave.com/app/keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.search.brave.com/res/v1",method:"GET",authType:"apikey",authHeader:"x-subscription-token",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"byteplus",priority:70,alias:"byteplus",aliases:["bpm"],uiAlias:"bpm",display:{name:"BytePlus ModelArk",icon:"cloud",color:"#2563EB",textIcon:"BP",website:"https://console.byteplus.com/ark",notice:{text:"Free credits for new accounts. Access to Seed 2.0, Kimi K2 Thinking, GLM 4.7, GPT-OSS-120B models.",apiKeyUrl:"https://console.byteplus.com/ark/region:ark+ap-southeast-1/apiKey"}},category:"freeTier",transport:{baseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"seed-2-0-pro-260328",name:"Seed 2.0 Pro"},{id:"seed-2-0-code-preview-260328",name:"Seed 2.0 Code Preview"},{id:"seed-2-0-mini-260215",name:"Seed 2.0 Mini"},{id:"seed-2-0-lite-260228",name:"Seed 2.0 Lite"},{id:"kimi-k2-thinking-251104",name:"Kimi K2 Thinking"},{id:"glm-4-7-251222",name:"GLM 4.7"},{id:"gpt-oss-120b-250805",name:"GPT-OSS-120B"}],serviceKinds:["llm"]},{id:"cartesia",alias:"cartesia",display:{name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai",notice:{apiKeyUrl:"https://play.cartesia.ai/keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{id:"sonic-3",name:"Sonic 3"}]},hidden:!0},{id:"cerebras",priority:60,alias:"cerebras",display:{name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai",notice:{apiKeyUrl:"https://cloud.cerebras.ai/platform"}},category:"apikey",transport:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",validateUrl:"https://api.cerebras.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},{id:"chutes",priority:70,alias:"chutes",aliases:["ch"],uiAlias:"ch",display:{name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai",notice:{apiKeyUrl:"https://chutes.ai/app/api"}},category:"apikey",transport:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",validateUrl:"https://llm.chutes.ai/v1/models"}},{id:"claude",priority:10,alias:"cc",uiAlias:"cc",display:{name:"Claude Code",icon:"smart_toy",color:"#D97757",website:"https://claude.ai",notice:{signupUrl:"https://claude.ai"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.92 (external, sdk-cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.80.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"600"},quirks:{cloakToolsOnOAuth:!0},auth:{apiKey:{header:"x-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"},hooks:["claudeOverlay"]},usage:{oauthUrl:"https://api.anthropic.com/api/oauth/usage",orgUrl:"https://api.anthropic.com/v1/organizations/{org_id}/usage",settingsUrl:"https://api.anthropic.com/v1/settings"}},models:[{id:"claude-opus-4-8",name:"Claude Opus 4.8"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],oauth:{clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256",refreshLeadMs:144e5,refresh:{encoding:"json"}},features:{usage:!0}},{id:"cline",priority:80,alias:"cl",uiAlias:"cl",display:{name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL",website:"https://cline.bot",notice:{signupUrl:"https://cline.bot"}},category:"oauth",transport:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]}},models:[{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"openai/gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"kwaipilot/kat-coder-pro",name:"KAT Coder Pro"}],oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"}},{id:"cloudflare-ai",priority:60,hasFree:!0,alias:"cloudflare-ai",aliases:["cf"],uiAlias:"cf",display:{name:"Cloudflare",icon:"cloud",color:"#F38020",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",notice:{text:"Workers AI free tier. Requires a Cloudflare API token and Account ID.",apiKeyUrl:"https://dash.cloudflare.com/profile/api-tokens"}},category:"freeTier",hasProviderSpecificData:!0,transport:{baseUrl:"https://api.cloudflare.com/client/v4/accounts/{accountId}/ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"@cf/meta/llama-3.2-1b-instruct",name:"Llama 3.2 1B Instruct"},{id:"@cf/meta/llama-3.2-3b-instruct",name:"Llama 3.2 3B Instruct"},{id:"@cf/meta/llama-3.1-8b-instruct-fp8-fast",name:"Llama 3.1 8B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.1-8b-instruct-awq",name:"Llama 3.1 8B Instruct AWQ"},{id:"@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct"},{id:"@cf/meta/llama-3.1-70b-instruct-fp8-fast",name:"Llama 3.1 70B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct FP8 Fast"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B"},{id:"@cf/moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"@cf/moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"@cf/zai-org/glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"@cf/qwen/qwq-32b",name:"QwQ 32B"},{id:"@cf/qwen/qwen2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B Instruct"},{id:"@cf/black-forest-labs/flux-2-klein-9b",name:"FLUX.2 Klein 9B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-klein-4b",name:"FLUX.2 Klein 4B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-dev",name:"FLUX.2 Dev",params:["size"],kind:"image"},{id:"@cf/leonardo/lucid-origin",name:"Lucid Origin",params:["size"],kind:"image"},{id:"@cf/leonardo/phoenix-1.0",name:"Phoenix 1.0",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-1-schnell",name:"FLUX.1 Schnell",params:["size"],kind:"image"},{id:"@cf/bytedance/stable-diffusion-xl-lightning",name:"SDXL Lightning",params:["size"],kind:"image"},{id:"@cf/lykon/dreamshaper-8-lcm",name:"DreamShaper 8 LCM",params:["size"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-img2img",name:"Stable Diffusion v1.5 Img2Img",params:["size"],capabilities:["edit"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-inpainting",name:"Stable Diffusion v1.5 Inpainting",params:["size"],capabilities:["edit","mask"],kind:"image"},{id:"@cf/stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:["size"],kind:"image"}],serviceKinds:["llm","image"],imageConfig:{baseUrl:"https://api.cloudflare.com/client/v4/accounts"}},{id:"codebuddy-cn",alias:"cbcn",uiAlias:"cbcn",hidden:!1,priority:90,display:{name:"CodeBuddy CN",icon:"smart_toy",color:"#006EFF",website:"https://copilot.tencent.com",notice:{signupUrl:"https://copilot.tencent.com"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://copilot.tencent.com/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",headers:{"User-Agent":"CLI/2.108.1 CodeBuddy/2.108.1","X-Product":"SaaS","X-IDE-Type":"CLI","X-IDE-Name":"CLI","x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://copilot.tencent.com/v2/billing/meter/get-user-resource"}},models:[{id:"glm-5.2",name:"GLM-5.2"},{id:"glm-5.1",name:"GLM-5.1"},{id:"glm-5.0",name:"GLM-5.0"},{id:"glm-5.0-turbo",name:"GLM-5.0-Turbo"},{id:"glm-5v-turbo",name:"GLM-5v-Turbo"},{id:"glm-4.7",name:"GLM-4.7"},{id:"minimax-m3",name:"MiniMax-M3"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"kimi-k2.7",name:"Kimi-K2.7-Code"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"hy3-preview",name:"Hy3 Preview"},{id:"deepseek-v4-pro",name:"DeepSeek-V4-Pro"},{id:"deepseek-v4-flash",name:"DeepSeek-V4-Flash"},{id:"deepseek-v3-2-volc",name:"DeepSeek-V3.2"}],oauth:{baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},{id:"codex",priority:30,alias:"cx",uiAlias:"cx",display:{name:"OpenAI Codex",icon:"code",color:"#3B82F6",website:"https://chatgpt.com/codex",notice:{signupUrl:"https://chatgpt.com/codex"},deprecated:!0,deprecationNotice:"RISK_NOTICE",kindNotice:{image:"Requires a ChatGPT Plus (or higher) account. Free accounts are not supported for image generation."}},category:"oauth",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",forceStream:!0,headers:{originator:"codex_cli_rs","User-Agent":"codex_cli_rs/0.136.0"},usage:{url:"https://chatgpt.com/backend-api/wham/usage",resetCreditsConsumeUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume"}},models:[{id:"gpt-5.5",name:"GPT 5.5"},{id:"gpt-5.5-review",name:"GPT 5.5 Review",upstreamModelId:"gpt-5.5",quotaFamily:"review"},{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.4-review",name:"GPT 5.4 Review",upstreamModelId:"gpt-5.4",quotaFamily:"review"},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini"},{id:"gpt-5.4-mini-review",name:"GPT 5.4 Mini Review",upstreamModelId:"gpt-5.4-mini",quotaFamily:"review"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-review",name:"GPT 5.3 Codex Review",upstreamModelId:"gpt-5.3-codex",quotaFamily:"review"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-xhigh-review",name:"GPT 5.3 Codex (xHigh) Review",upstreamModelId:"gpt-5.3-codex-xhigh",quotaFamily:"review"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-high-review",name:"GPT 5.3 Codex (High) Review",upstreamModelId:"gpt-5.3-codex-high",quotaFamily:"review"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-low-review",name:"GPT 5.3 Codex (Low) Review",upstreamModelId:"gpt-5.3-codex-low",quotaFamily:"review"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.3-codex-none-review",name:"GPT 5.3 Codex (None) Review",upstreamModelId:"gpt-5.3-codex-none",quotaFamily:"review"},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark"},{id:"gpt-5.3-codex-spark-review",name:"GPT 5.3 Codex Spark Review",upstreamModelId:"gpt-5.3-codex-spark",quotaFamily:"review"},{id:"gpt-5.5-image",name:"GPT 5.5 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.4-image",name:"GPT 5.4 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.3-image",name:"GPT 5.3 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"}],serviceKinds:["llm","image"],oauth:{clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",fixedPort:1455,callbackPath:"/auth/callback",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"},refreshLeadMs:432e6,refresh:{encoding:"form",scope:"openid profile email offline_access"},maxRefreshAgeMs:6912e5,trackRefreshAt:!0},features:{usage:!0}},{id:"cohere",priority:90,alias:"cohere",display:{name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com",notice:{apiKeyUrl:"https://dashboard.cohere.com/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.cohere.ai/v1/chat/completions",validateUrl:"https://api.cohere.ai/v1/models"},models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},{id:"comfyui",priority:120,alias:"comfyui",display:{name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},category:"apikey",transport:null,models:[{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"sdxl",name:"SDXL",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:8188"}},{id:"commandcode",priority:100,alias:"commandcode",aliases:["cmc"],uiAlias:"cmc",display:{name:"Command Code",icon:"smart_toy",color:"#000000",textIcon:"CC",website:"https://commandcode.ai",notice:{text:"Use your CommandCode CLI API key (starts with user_...) from ~/.commandcode/auth.json or commandcode.ai/studio.",apiKeyUrl:"https://commandcode.ai/studio"}},category:"apikey",transport:{baseUrl:"https://api.commandcode.ai/alpha/generate",format:"commandcode",forceStream:!0,headers:{"x-command-code-version":"0.25.7","x-cli-environment":"cli"}},models:[{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"Qwen/Qwen3.6-Max-Preview",name:"Qwen 3.6 Max Preview"},{id:"Qwen/Qwen3.6-Plus",name:"Qwen 3.6 Plus"},{id:"stepfun/Step-3.5-Flash",name:"Step 3.5 Flash"}]},{id:"coqui",alias:"coqui",display:{name:"Coqui TTS",icon:"record_voice_over",color:"#10B981",textIcon:"CQ",website:"https://github.com/coqui-ai/TTS"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},hidden:!0},{id:"cursor",priority:50,alias:"cu",uiAlias:"cu",display:{name:"Cursor IDE",icon:"edit_note",color:"#00D4AA",website:"https://cursor.com",notice:{signupUrl:"https://cursor.com"}},category:"oauth",transport:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"3.1.0"},models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"claude-4.6-opus-max",name:"Claude 4.6 Opus Max"},{id:"claude-4.6-sonnet-medium-thinking",name:"Claude 4.6 Sonnet Medium Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"}],oauth:{apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetDefaultModelNudgeData",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.1.0",clientType:"ide",dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}}},{id:"deepgram",priority:20,alias:"deepgram",aliases:["dg"],uiAlias:"dg",display:{name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com",notice:{text:"$200 free credit on signup (no card required). Aura-1: $0.015/1k chars, Aura-2: $0.030/1k chars (Pay-As-You-Go).",apiKeyUrl:"https://console.deepgram.com/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.deepgram.com/v1/listen"},models:[{id:"nova-3",name:"Nova 3",params:["language"],kind:"stt"},{id:"nova-2",name:"Nova 2",params:["language"],kind:"stt"},{id:"whisper-large",name:"Whisper Large",params:["language"],kind:"stt"},{id:"nova",name:"Nova",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram"}},{id:"deepseek",priority:110,alias:"deepseek",aliases:["ds"],uiAlias:"ds",display:{name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com",notice:{apiKeyUrl:"https://platform.deepseek.com/api_keys"}},category:"apikey",transport:{baseUrl:"https://api.deepseek.com/chat/completions",validateUrl:"https://api.deepseek.com/models",reasoningInject:{scope:"all"}},transports:[{format:"openai",baseUrl:"https://api.deepseek.com/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.deepseek.com/anthropic/v1/messages",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-max",name:"DeepSeek V4 Pro Max",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-pro-none",name:"DeepSeek V4 Pro No Thinking",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}]},{id:"edge-tts",alias:"edge-tts",display:{name:"Edge TTS",icon:"record_voice_over",color:"#0078D4",textIcon:"ET"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"edge-tts",authType:"none",authHeader:"none",format:"edge-tts",models:[]}},{id:"elevenlabs",alias:"el",display:{name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io",notice:{apiKeyUrl:"https://elevenlabs.io/app/settings/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]}},{id:"exa",alias:"exa",display:{name:"Exa",icon:"manage_search",color:"#2563EB",textIcon:"EX",website:"https://exa.ai",notice:{apiKeyUrl:"https://dashboard.exa.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.exa.ai/search",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.007,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.exa.ai/contents",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:1e3,formats:["text","markdown"],maxCharacters:1e5,timeoutMs:15e3}},{id:"fal-ai",priority:90,hasFree:!0,alias:"fal-ai",aliases:["fal"],uiAlias:"fal",display:{name:"Fal.ai",icon:"image",color:"#2563EB",textIcon:"FL",website:"https://fal.ai",notice:{apiKeyUrl:"https://fal.ai/dashboard/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"fal-ai/flux/schnell",name:"FLUX Schnell",params:["n","size"],kind:"image"},{id:"fal-ai/flux/dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1",name:"FLUX Pro v1.1",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1-ultra",name:"FLUX Pro v1.1 Ultra",params:["n","size"],kind:"image"},{id:"fal-ai/recraft-v3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"fal-ai/ideogram/v2",name:"Ideogram V2",params:["n","size","style"],kind:"image"},{id:"fal-ai/stable-diffusion-v35-large",name:"SD 3.5 Large",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://queue.fal.run"}},{id:"firecrawl",alias:"firecrawl",display:{name:"Firecrawl",icon:"local_fire_department",color:"#F59E0B",textIcon:"FC",website:"https://firecrawl.dev",notice:{apiKeyUrl:"https://www.firecrawl.dev/app/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://api.firecrawl.dev/v1/scrape",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.002,freeMonthlyQuota:500,formats:["markdown","html","text"],maxCharacters:2e5,timeoutMs:3e4}},{id:"fireworks",priority:50,alias:"fireworks",display:{name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai",notice:{apiKeyUrl:"https://fireworks.ai/account/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",validateUrl:"https://api.fireworks.ai/inference/v1/models"},models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"},{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.fireworks.ai/inference/v1/embeddings"}},{id:"gemini",priority:50,hasFree:!0,alias:"gemini",display:{name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",notice:{apiKeyUrl:"https://aistudio.google.com/app/apikey"}},category:"freeTier",mediaPriority:1,transport:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",auth:{apiKey:{header:"x-goog-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}}},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",kind:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",kind:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",kind:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",kind:"embedding"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Nano Banana 2)",params:[],kind:"image"},{id:"gemini-3-pro-image-preview",name:"Gemini 3 Pro Image (Nano Banana Pro)",params:[],kind:"image"},{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image (Nano Banana)",params:[],kind:"image"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",kind:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",kind:"tts"},{id:"embedding-001",name:"Embedding 001",dimensions:768,kind:"embedding"}],serviceKinds:["llm","embedding","image","imageToText","webSearch","tts","stt"],ttsConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-tts"},sttConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-stt"},embeddingConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key"},imageConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models"},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",pricingUrl:"https://ai.google.dev/pricing",freeTier:"Free tier: 15 RPM, 1M tokens/day on gemini-2.5-flash via AI Studio."}},{id:"gemini-cli",priority:20,hasFree:!0,alias:"gc",uiAlias:"gc",display:{name:"Gemini CLI",icon:"terminal",color:"#4285F4",website:"https://github.com/google-gemini/gemini-cli",notice:{signupUrl:"https://github.com/google-gemini/gemini-cli"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",cliVersion:"0.34.0",apiClient:"google-genai-sdk/1.41.0 gl-node/v22.19.0",usage:{quotaUrl:"https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota",loadCodeAssistUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist"},clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"],refresh:{encoding:"form"}},features:{usage:!0}},{id:"github",priority:40,alias:"gh",uiAlias:"gh",display:{name:"GitHub Copilot",icon:"code",color:"#333333",website:"https://github.com/features/copilot",notice:{signupUrl:"https://github.com/features/copilot"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},copilot:{vscodeVersion:"1.110.0",chatVersion:"0.38.0",userAgent:"GitHubCopilotChat/0.38.0",apiVersion:"2025-04-01"},usage:{url:"https://api.github.com/copilot_internal/user"}},models:[{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"},{id:"goldeneye-free-auto",name:"GoldenEye"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small (GitHub)",kind:"embedding"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large (GitHub)",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://models.github.ai/inference/embeddings",authType:"apikey",authHeader:"bearer"},oauth:{clientId:"Iv1.b507a08c87ecfe98",authorizeUrl:"https://github.com/login/oauth/authorize",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},features:{usage:!0}},{id:"gitlab",hidden:!0,priority:100,display:{name:"GitLab Duo",icon:"code",color:"#FC6D26",textIcon:"GL",website:"https://gitlab.com",notice:{signupUrl:"https://gitlab.com"}},category:"oauth",transport:{baseUrl:"https://gitlab.com/api/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},oauth:{defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"}},{id:"glm",priority:140,alias:"glm",display:{name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{url:"https://api.z.ai/api/monitor/usage/quota/limit"}},transports:[{format:"openai",baseUrl:"https://api.z.ai/api/coding/paas/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],features:{usage:!0,usageApikey:!0}},{id:"glm-cn",priority:130,alias:"glm-cn",display:{name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",headers:{},usage:{url:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"}},models:[{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],features:{usage:!0,usageApikey:!0}},{id:"google-pse",alias:"gpse",display:{name:"Google PSE",icon:"search",color:"#4285F4",textIcon:"GP",website:"https://programmablesearchengine.google.com",notice:{apiKeyUrl:"https://programmablesearchengine.google.com/controlpanel/create"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.googleapis.com/customsearch/v1",method:"GET",authType:"apikey",authHeader:"key",costPerQuery:.005,freeMonthlyQuota:3e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"google-tts",alias:"google-tts",display:{name:"Google TTS",icon:"record_voice_over",color:"#4285F4",textIcon:"GT"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"google-tts",authType:"none",authHeader:"none",format:"google-tts",models:[]}},{id:"grok-web",priority:150,alias:"grok-web",aliases:["gw"],uiAlias:"gw",display:{name:"Grok Web (Subscription)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GW",website:"https://grok.com"},category:"webCookie",authType:"cookie",authHint:"Paste your sso= cookie value from grok.com",transport:{baseUrl:"https://grok.com/rest/app-chat/conversations/new",format:"grok-web",authType:"cookie"},models:[{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini (Thinking)"},{id:"grok-3-thinking",name:"Grok 3 Thinking"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-mini",name:"Grok 4 Mini (Thinking)"},{id:"grok-4-thinking",name:"Grok 4 Thinking"},{id:"grok-4-heavy",name:"Grok 4 Heavy (SuperGrok)"},{id:"grok-4.1-mini",name:"Grok 4.1 Mini (Thinking)"},{id:"grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"grok-4.1-expert",name:"Grok 4.1 Expert"},{id:"grok-4.1-thinking",name:"Grok 4.1 Thinking"},{id:"grok-4.2",name:"Grok 4.2 (4.20 Beta)"}],passthroughModels:!0},{id:"groq",priority:60,hasFree:!0,alias:"groq",display:{name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",notice:{apiKeyUrl:"https://console.groq.com/keys"}},category:"apikey",transport:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",validateUrl:"https://api.groq.com/openai/v1/models"},models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"},{id:"whisper-large-v3",name:"Whisper Large v3",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["llm","imageToText","stt"],sttConfig:{baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"huggingface",priority:70,hasFree:!0,alias:"huggingface",aliases:["hf"],uiAlias:"hf",display:{name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",notice:{apiKeyUrl:"https://huggingface.co/settings/tokens"}},category:"apikey",authType:"apikey",hiddenKinds:["tts"],transport:null,models:[{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell",params:[],kind:"image"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:[],kind:"image"},{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)",params:["language"],kind:"stt"},{id:"openai/whisper-small",name:"Whisper Small (HF)",params:["language"],kind:"stt"}],serviceKinds:["image","stt"],imageConfig:{baseUrl:"https://api-inference.huggingface.co/models"}},{id:"hyperbolic",priority:160,alias:"hyperbolic",aliases:["hyp"],uiAlias:"hyp",display:{name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz",notice:{apiKeyUrl:"https://app.hyperbolic.xyz/settings"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",validateUrl:"https://api.hyperbolic.xyz/v1/models"},models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]},{id:"iflow",hidden:!0,priority:110,alias:"if",display:{name:"iFlow AI",icon:"water_drop",color:"#6366F1",website:"https://iflow.cn",notice:{signupUrl:"https://iflow.cn"}},category:"oauth",transport:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",thinkingFormat:"openai",headers:{"User-Agent":"iFlow-Cli"}},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"qwen3-235b",name:"Qwen3 235B A22B"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 Exp"},{id:"deepseek-v3.1",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-v3",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"iflow-rome-30ba3b",name:"iFlow ROME"}],oauth:{clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"},refreshLeadMs:864e5}},{id:"inworld",alias:"inworld",display:{name:"Inworld TTS",icon:"record_voice_over",color:"#FF6B6B",textIcon:"IW",website:"https://inworld.ai",notice:{text:"Free tier: 40 minutes/month TTS. Paid: TTS-1.5 Mini $0.01/min ($15/1M chars), TTS-1.5 Max $0.025/min ($30/1M chars). 270+ voices, 15 languages.",apiKeyUrl:"https://platform.inworld.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini ($0.01/min)"},{id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max ($0.025/min)"}]}},{id:"jina-ai",alias:"jina",display:{name:"Jina AI",icon:"blur_on",color:"#2563EB",textIcon:"JA",website:"https://jina.ai",notice:{text:"10M free tokens on signup (non-commercial), no credit card required.",apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.jina.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"jina-embeddings-v3",name:"Jina Embeddings v3",dimensions:1024},{id:"jina-embeddings-v2-base-en",name:"Jina Embeddings v2 Base EN",dimensions:768},{id:"jina-embeddings-v2-base-code",name:"Jina Embeddings v2 Base Code",dimensions:768}]}},{id:"jina-reader",alias:"jina-reader",display:{name:"Jina Reader",icon:"menu_book",color:"#000000",textIcon:"JR",website:"https://jina.ai/reader",notice:{apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://r.jina.ai",method:"GET",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e6,formats:["markdown","text","html"],maxCharacters:2e5,timeoutMs:3e4}},{id:"kilocode",priority:70,alias:"kc",uiAlias:"kc",display:{name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC",website:"https://kilocode.ai",notice:{signupUrl:"https://kilocode.ai"}},category:"oauth",transport:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",headers:{},auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kilocodeOrg"]}},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"}],oauth:{apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"}},{id:"kimi",priority:170,alias:"kimi",display:{name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn",notice:{apiKeyUrl:"https://platform.moonshot.ai/console/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.kimi.com/coding/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}},transports:[{format:"openai",baseUrl:"https://api.kimi.com/coding/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"kimi-k2.5",endpoint:"https://api.moonshot.cn/v1/chat/completions",pricingUrl:"https://platform.moonshot.ai/docs/pricing/chat"}},{id:"kimi-coding",hidden:!0,priority:120,alias:"kmc",display:{name:"Kimi Coding",icon:"psychology",color:"#1E40AF",textIcon:"KC",website:"https://kimi.moonshot.cn",notice:{signupUrl:"https://kimi.moonshot.cn"}},category:"oauth",transport:{baseUrl:"https://api.kimi.com/coding/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...d.Bi},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}},transports:[{format:"openai",baseUrl:"https://api.kimi.com/coding/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kimiHeaders"]}},{format:"claude",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}}],models:[{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],oauth:{deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshLeadMs:3e5},features:{usage:!0}},{id:"kiro",priority:10,alias:"kr",uiAlias:"kr",display:{name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35",website:"https://kiro.dev",notice:{signupUrl:"https://kiro.dev"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://runtime.us-east-1.kiro.dev/generateAssistantResponse",baseUrls:["https://runtime.us-east-1.kiro.dev/generateAssistantResponse","https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse","https://q.us-east-1.amazonaws.com/generateAssistantResponse"],format:"kiro",retry:{429:0},headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev",usage:{cwHost:"https://codewhisperer.us-east-1.amazonaws.com",qHost:"https://q.us-east-1.amazonaws.com",limitsPath:"/getUsageLimits"}},models:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"deepseek-3.2",name:"DeepSeek 3.2",strip:["image","audio"]},{id:"qwen3-coder-next",name:"Qwen3 Coder Next",strip:["image","audio"]},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"claude-sonnet-4.5-thinking",name:"Claude Sonnet 4.5 (Thinking)"},{id:"claude-haiku-4.5-thinking",name:"Claude Haiku 4.5 (Thinking)"},{id:"claude-sonnet-4.5-agentic",name:"Claude Sonnet 4.5 (Agentic)"},{id:"claude-haiku-4.5-agentic",name:"Claude Haiku 4.5 (Agentic)"},{id:"claude-sonnet-4.5-thinking-agentic",name:"Claude Sonnet 4.5 (Thinking + Agentic)"},{id:"claude-haiku-4.5-thinking-agentic",name:"Claude Haiku 4.5 (Thinking + Agentic)"}],oauth:{ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},features:{usage:!0,usageApikey:!0}},{id:"linkup",alias:"linkup",display:{name:"Linkup",icon:"link",color:"#0EA5E9",textIcon:"LK",website:"https://linkup.so",notice:{apiKeyUrl:"https://app.linkup.so/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.linkup.so/v1/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"local-device",alias:"local-device",display:{name:"Local Device",icon:"speaker",color:"#64748B",textIcon:"LD"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"local-device",authType:"none",authHeader:"none",format:"local-device",models:[]}},{id:"mimo-free",priority:50,hasFree:!0,alias:"mmf",uiAlias:"mmf",display:{name:"MiMo Code Free",icon:"smart_toy",color:"#FF6900",textIcon:"MF"},category:"free",noAuth:!0,transport:{baseUrl:"https://api.xiaomimimo.com/api/free-ai/openai/chat",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto"}],modelsFetcher:{url:"https://models.dev/api.json",type:"mimo-free"},passthroughModels:!0},{id:"minimax",priority:90,alias:"minimax",display:{name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...d.Bi},quirks:{dropOutputConfig:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimax.io/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"minimax-image-01",name:"MiniMax Image 01",params:["n","size","response_format"],kind:"image"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","image","imageToText","webSearch","tts"],ttsConfig:{baseUrl:"https://api.minimax.io/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},imageConfig:{baseUrl:"https://api.minimaxi.com/v1/images/generations"},searchViaChat:{defaultModel:"MiniMax-M2.7",endpoint:"https://api.minimaxi.com/v1/text/chatcompletion_v2",pricingUrl:"https://www.minimaxi.com/document/price"},features:{usage:!0,usageApikey:!0}},{id:"minimax-cn",priority:190,alias:"minimax-cn",display:{name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...d.Bi},quirks:{dropOutputConfig:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimaxi.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","tts"],ttsConfig:{baseUrl:"https://api.minimaxi.com/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},features:{usage:!0,usageApikey:!0}},{id:"mistral",priority:80,alias:"mistral",display:{name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai",notice:{apiKeyUrl:"https://console.mistral.ai/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.mistral.ai/v1/chat/completions",validateUrl:"https://api.mistral.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"},{id:"mistral-embed",name:"Mistral Embed",kind:"embedding"}],serviceKinds:["llm","imageToText","embedding"],embeddingConfig:{baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"mmf",hidden:!0,priority:200,display:{name:"MMF",icon:"hub",color:"#6366F1",textIcon:"MF"},category:"apikey",transport:{baseUrl:"https://api.xiaomimimo.com/api/free-ai/openai/chat",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto"}]},{id:"nanobanana",priority:80,hasFree:!0,alias:"nanobanana",aliases:["nb"],uiAlias:"nb",display:{name:"NanoBanana API",icon:"extension",color:"#FFD700",textIcon:"\uD83C\uDF4C",website:"https://nanobananaapi.ai",notice:{text:"3rd-party proxy for Google Nano Banana (Gemini 2.5/3 Flash Image). For official, use Gemini provider.",apiKeyUrl:"https://nanobananaapi.ai/dashboard"}},category:"apikey",transport:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",validateUrl:"https://api.nanobananaapi.ai/v1/models"},models:[{id:"nanobanana-flash",name:"NanoBanana Flash",params:["n","size"],kind:"image"},{id:"nanobanana-pro",name:"NanoBanana Pro",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",pollUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info"}},{id:"nebius",priority:70,alias:"nebius",display:{name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com",notice:{apiKeyUrl:"https://studio.nebius.com/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",validateUrl:"https://api.studio.nebius.ai/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"},{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings"}},{id:"nvidia",priority:20,hasFree:!0,alias:"nvidia",display:{name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},category:"freeTier",transport:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",validateUrl:"https://integrate.api.nvidia.com/v1/models"},models:[{id:"minimaxai/minimax-m2.7",name:"Minimax M2.7"},{id:"z-ai/glm4.7",name:"GLM 4.7"},{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",kind:"embedding"},{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B",params:["language"],kind:"stt"},{id:"fastpitch",name:"FastPitch",kind:"tts"},{id:"tacotron2",name:"Tacotron2",kind:"tts"}],serviceKinds:["llm","tts","embedding"],ttsConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts"},embeddingConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"ollama",priority:30,hasFree:!0,alias:"ollama",display:{name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo \xb7 Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},category:"freeTier",transport:{baseUrl:"https://ollama.com/api/chat",validateUrl:"https://ollama.com/api/tags",format:"ollama"},models:[{id:"gpt-oss:120b",name:"GPT OSS 120B"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"qwen3.5",name:"Qwen3.5"}],serviceKinds:["llm"],features:{usage:!0}},{id:"ollama-local",priority:50,hasFree:!0,alias:"ollama-local",display:{name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},category:"apikey",transport:{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},serviceKinds:["llm"]},{id:"openai",priority:30,alias:"openai",display:{name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",notice:{apiKeyUrl:"https://platform.openai.com/api-keys"}},category:"apikey",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://api.openai.com/v1/chat/completions",forceStream:!0},models:[{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"o3",name:"O3"},{id:"o3-mini",name:"O3 Mini"},{id:"o3-pro",name:"O3 Pro"},{id:"o4-mini",name:"O4 Mini"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",kind:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",kind:"embedding"},{id:"tts-1",name:"TTS-1",kind:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"whisper-1",name:"Whisper 1",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-image-1",name:"GPT Image 1",params:["n","size","quality","response_format"],kind:"image"},{id:"dall-e-3",name:"DALL-E 3",params:["size","quality","style","response_format"],kind:"image"},{id:"dall-e-2",name:"DALL-E 2",params:["n","size","response_format"],kind:"image"}],serviceKinds:["llm","embedding","tts","stt","image","imageToText","webSearch"],ttsConfig:{baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultModel:"gpt-4o-mini-tts"},sttConfig:{baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"},embeddingConfig:{baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.openai.com/v1/images/generations"},searchViaChat:{defaultModel:"gpt-4o-mini",pricingUrl:"https://openai.com/api/pricing"}},{id:"opencode",priority:40,hasFree:!0,alias:"oc",uiAlias:"oc",display:{name:"OpenCode Free",icon:"terminal",color:"#E87040",textIcon:"OC"},category:"free",noAuth:!0,transport:{baseUrl:"https://opencode.ai",headers:{"x-opencode-client":"desktop"},noAuth:!0},models:[],modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"},passthroughModels:!0},{id:"opencode-go",priority:210,alias:"opencode-go",aliases:["ocg"],uiAlias:"ocg",display:{name:"OpenCode Go",icon:"terminal",color:"#E87040",textIcon:"OC",website:"https://opencode.ai/auth",notice:{text:"OpenCode Go subscription: $5/mo (then 0/mo). Access to Kimi, GLM, Qwen, MiMo, MiniMax models.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",transport:{baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",headers:{}},models:[{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"minimax-m3",name:"MiniMax M3",targetFormat:"claude"},{id:"minimax-m2.7",name:"MiniMax M2.7",targetFormat:"claude"},{id:"minimax-m2.5",name:"MiniMax M2.5",targetFormat:"claude"},{id:"qwen3.7-max",name:"Qwen 3.7 Max",targetFormat:"claude"},{id:"qwen3.7-plus",name:"Qwen 3.7 Plus",targetFormat:"claude"},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",targetFormat:"claude"}]},{id:"openrouter",priority:10,hasFree:!0,alias:"openrouter",display:{name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After 0 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"}},category:"freeTier",transport:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",thinkingFormat:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},models:[{id:"openai/text-embedding-3-large",name:"OpenAI Text Embedding 3 Large",kind:"embedding"},{id:"openai/text-embedding-3-small",name:"OpenAI Text Embedding 3 Small",kind:"embedding"},{id:"openai/text-embedding-ada-002",name:"OpenAI Text Embedding Ada 002",kind:"embedding"},{id:"qwen/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-4b",name:"Perplexity Embed V1 4B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-0.6b",name:"Perplexity Embed V1 0.6B",kind:"embedding"},{id:"nvidia/llama-nemotron-embed-vl-1b-v2:free",name:"NVIDIA Nemotron Embed VL 1B V2 (Free)",kind:"embedding"},{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"openai/tts-1",name:"TTS-1",kind:"tts"},{id:"openai/dall-e-3",name:"DALL-E 3 (via OpenRouter)",params:["size","quality","style","response_format"],kind:"image"},{id:"openai/gpt-image-1",name:"GPT Image 1 (via OpenRouter)",params:["n","size","quality","response_format"],kind:"image"},{id:"google/imagen-3.0-generate-002",name:"Imagen 3 (via OpenRouter)",params:["n","size"],kind:"image"},{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell (via OpenRouter)",params:["n","size"],kind:"image"}],serviceKinds:["llm","embedding","tts","imageToText"],ttsConfig:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",defaultModel:"openai/gpt-4o-mini-tts",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},embeddingConfig:{baseUrl:"https://openrouter.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},imageConfig:{baseUrl:"https://openrouter.ai/api/v1/images/generations",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"},passthroughModels:!0},{id:"perplexity",priority:180,alias:"perplexity",aliases:["pplx"],uiAlias:"pplx",display:{name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai",notice:{apiKeyUrl:"https://www.perplexity.ai/settings/api"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.perplexity.ai/chat/completions",validateUrl:"https://api.perplexity.ai/models"},models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"sonar",endpoint:"https://api.perplexity.ai/chat/completions",pricingUrl:"https://docs.perplexity.ai/guides/pricing"}},{id:"perplexity-web",priority:220,alias:"perplexity-web",aliases:["pw"],uiAlias:"pw",display:{name:"Perplexity Web (Pro/Max)",icon:"search",color:"#20808D",textIcon:"PW",website:"https://www.perplexity.ai"},category:"webCookie",authType:"cookie",authHint:"Paste your __Secure-next-auth.session-token cookie value from perplexity.ai",transport:{baseUrl:"https://www.perplexity.ai/rest/sse/perplexity_ask",format:"perplexity-web",authType:"cookie"},models:[{id:"pplx-auto",name:"Perplexity Auto (Free)"},{id:"pplx-sonar",name:"Perplexity Sonar"},{id:"pplx-gpt",name:"GPT-5.4 (via Perplexity)"},{id:"pplx-gemini",name:"Gemini 3.1 Pro (via Perplexity)"},{id:"pplx-sonnet",name:"Claude Sonnet 4.6 (via Perplexity)"},{id:"pplx-opus",name:"Claude Opus 4.6 (via Perplexity)"},{id:"pplx-nemotron",name:"Nemotron 3 Super (via Perplexity)"}]},{id:"playht",alias:"playht",display:{name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht",notice:{apiKeyUrl:"https://play.ht/studio/api-access"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{id:"Play3.0-mini",name:"Play 3.0 Mini"}]},hidden:!0},{id:"qoder",priority:30,alias:"qd",uiAlias:"qd",display:{name:"Qoder",icon:"water_drop",color:"#EC4899",website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",headers:{},timeoutMs:12e4,stallTimeoutMs:12e4,usage:{url:"https://openapi.qoder.sh/api/v2/quota/usage"}},models:[{id:"qmodel_latest",name:"Qoder Qwen 3.7 Max"}],oauth:{openApiBaseUrl:"https://openapi.qoder.sh",centerBaseUrl:"https://center.qoder.sh",chatBaseUrl:"https://api3.qoder.sh",deviceTokenUrl:"https://openapi.qoder.sh/api/v1/deviceToken/poll",refreshUrl:"https://center.qoder.sh/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.sh/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.sh/api/v2/quota/usage",loginUrl:"https://qoder.com/device/selectAccounts"},features:{usage:!0}},{id:"qwen",hidden:!0,priority:130,alias:"qw",display:{name:"Qwen Code",icon:"psychology",color:"#10B981",website:"https://chat.qwen.ai",notice:{signupUrl:"https://chat.qwen.ai"}},category:"oauth",transport:{baseUrl:"https://portal.qwen.ai/v1/chat/completions"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.6 Coder Model"}],oauth:{clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256",refreshLeadMs:12e5}},{id:"recraft",priority:70,alias:"recraft",display:{name:"Recraft",icon:"image",color:"#EC4899",textIcon:"RC",website:"https://recraft.ai",notice:{apiKeyUrl:"https://www.recraft.ai/profile/api"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"recraftv3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"recraftv2",name:"Recraft V2",params:["n","size","style"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://external.api.recraft.ai/v1/images/generations"}},{id:"runwayml",priority:80,alias:"runwayml",aliases:["runway"],uiAlias:"runway",display:{name:"Runway ML",icon:"movie",color:"#000000",textIcon:"RW",website:"https://runwayml.com",notice:{apiKeyUrl:"https://dev.runwayml.com"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"gen4_image",name:"Gen-4 Image",params:["size"],kind:"image"},{id:"gen4_image_turbo",name:"Gen-4 Image Turbo",params:["size"],kind:"image"},{id:"gen4_turbo",name:"Gen-4 Turbo",params:[],kind:"video"},{id:"gen3a_turbo",name:"Gen-3 Alpha Turbo",params:[],kind:"video"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.dev.runwayml.com/v1"}},{id:"sdwebui",priority:110,alias:"sdwebui",display:{name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},category:"apikey",transport:null,models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5",params:["n","size"],kind:"image"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:7860/sdapi/v1/txt2img"}},{id:"searchapi",alias:"searchapi",display:{name:"SearchAPI",icon:"search",color:"#0EA5A4",textIcon:"SA",website:"https://www.searchapi.io",notice:{apiKeyUrl:"https://www.searchapi.io/dashboard"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.searchapi.io/api/v1/search",method:"GET",authType:"apikey",authHeader:"api_key",costPerQuery:.004,freeMonthlyQuota:100,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"searxng",alias:"searxng",display:{name:"SearXNG",icon:"saved_search",color:"#3B82F6",textIcon:"SX",website:"https://docs.searxng.org"},category:"freeTier",authType:"none",serviceKinds:["webSearch"],noAuth:!0,searchConfig:{baseUrl:"http://localhost:8888/search",method:"GET",authType:"none",authHeader:"none",costPerQuery:0,freeMonthlyQuota:999999,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:18e4}},{id:"serper",alias:"serper",display:{name:"Serper",icon:"search",color:"#4F46E5",textIcon:"SP",website:"https://serper.dev",notice:{apiKeyUrl:"https://serper.dev/api-key"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://google.serper.dev",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:2500,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"siliconflow",priority:250,alias:"siliconflow",display:{name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com",notice:{apiKeyUrl:"https://cloud.siliconflow.com/account/ak"}},category:"apikey",transport:{baseUrl:"https://api.siliconflow.com/v1/chat/completions",validateUrl:"https://api.siliconflow.com/v1/models",thinkingFormat:"openai"},models:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.2-Exp",name:"DeepSeek V3.2 Exp"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen 3.5 397B A17B"},{id:"Qwen/Qwen3.5-122B-A10B",name:"Qwen 3.5 122B A10B"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"inclusionAI/Ling-flash-2.0",name:"Ling Flash 2.0"}]},{id:"stability-ai",priority:60,alias:"stability-ai",aliases:["stability"],uiAlias:"stability",display:{name:"Stability AI",icon:"image",color:"#8B5CF6",textIcon:"SA",website:"https://stability.ai",notice:{apiKeyUrl:"https://platform.stability.ai/account/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"stable-image-ultra",name:"Stable Image Ultra",params:["size"],kind:"image"},{id:"stable-image-core",name:"Stable Image Core",params:["size","style"],kind:"image"},{id:"sd3.5-large",name:"Stable Diffusion 3.5 Large",params:["size"],kind:"image"},{id:"sd3.5-large-turbo",name:"Stable Diffusion 3.5 Large Turbo",params:["size"],kind:"image"},{id:"sd3.5-medium",name:"Stable Diffusion 3.5 Medium",params:["size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.stability.ai/v2beta/stable-image/generate"}},{id:"tavily",alias:"tavily",display:{name:"Tavily",icon:"search",color:"#5B21B6",textIcon:"TV",website:"https://tavily.com",notice:{apiKeyUrl:"https://app.tavily.com/home"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.tavily.com/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.tavily.com/extract",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,formats:["markdown","text"],maxCharacters:1e5,timeoutMs:15e3}},{id:"together",priority:60,alias:"together",display:{name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",notice:{apiKeyUrl:"https://api.together.xyz/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.together.xyz/v1/chat/completions",validateUrl:"https://api.together.xyz/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",kind:"embedding"},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.together.xyz/v1/embeddings"}},{id:"topaz",alias:"topaz",display:{name:"Topaz",icon:"image",color:"#059669",textIcon:"TP",website:"https://topazlabs.com",notice:{apiKeyUrl:"https://topazlabs.com/account"}},category:"apikey",authType:"apikey",serviceKinds:["image"]},{id:"tortoise",alias:"tortoise",display:{name:"Tortoise TTS",icon:"record_voice_over",color:"#7C3AED",textIcon:"TT",website:"https://github.com/neonbjb/tortoise-tts"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},hidden:!0},{id:"vercel-ai-gateway",priority:160,alias:"vercel-ai-gateway",aliases:["vercel"],uiAlias:"vercel",display:{name:"Vercel AI Gateway",icon:"deployed_code",color:"#111827",textIcon:"VG",website:"https://vercel.com/ai-gateway",notice:{text:"Unified OpenAI-compatible endpoint from Vercel. Use your AI Gateway API key, then pick models with provider/model IDs like anthropic/claude-sonnet-4.6 or openai/gpt-5.4.",apiKeyUrl:"https://vercel.com/dashboard/~/ai-gateway"}},category:"apikey",transport:{baseUrl:"https://ai-gateway.vercel.sh/v1/chat/completions",thinkingFormat:"openai",retry:{429:2},usage:{url:"https://ai-gateway.vercel.sh/v1/credits"}},serviceKinds:["llm","embedding","image","imageToText","webSearch"],embeddingConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/embeddings"},imageConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/images/generations"},searchViaChat:{defaultModel:"openai/gpt-4o-mini",pricingUrl:"https://vercel.com/docs/ai-gateway/pricing"},modelsFetcher:{url:"https://ai-gateway.vercel.sh/v1/models",type:"openai"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"vertex",priority:40,alias:"vertex",aliases:["vx"],uiAlias:"vx",display:{name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"freeTier",transport:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"}],serviceKinds:["llm","imageToText"]},{id:"vertex-partner",priority:260,alias:"vertex-partner",aliases:["vxp"],uiAlias:"vxp",display:{name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models",notice:{apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"apikey",transport:{baseUrl:"https://aiplatform.googleapis.com"},models:[{id:"deepseek-ai/deepseek-v3.2-maas",name:"DeepSeek V3.2 (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-thinking-maas",name:"Qwen3 Next 80B Thinking (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-instruct-maas",name:"Qwen3 Next 80B Instruct (Vertex)"},{id:"zai-org/glm-5-maas",name:"GLM-5 (Vertex)"}]},{id:"volcengine-ark",priority:270,alias:"volcengine-ark",aliases:["ark"],uiAlias:"ark",display:{name:"Volcengine Ark",icon:"cloud",color:"#1677FF",textIcon:"ARK",website:"https://ark.cn-beijing.volces.com",notice:{apiKeyUrl:"https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey"}},category:"apikey",transport:{baseUrl:"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"Doubao-Seed-2.0-Code",name:"Doubao-Seed-2.0-Code"},{id:"Doubao-Seed-2.0-pro",name:"Doubao-Seed-2.0-pro"},{id:"Doubao-Seed-2.0-lite",name:"Doubao-Seed-2.0-lite"},{id:"Doubao-Seed-Code",name:"Doubao-Seed-Code"},{id:"DeepSeek-V4-Flash",name:"DeepSeek-V4-Flash"},{id:"DeepSeek-V4-Pro",name:"DeepSeek-V4-Pro"},{id:"GLM-5.1",name:"GLM-5.1"},{id:"MiniMax-M2.7",name:"MiniMax-M2.7"},{id:"Kimi-K2.6",name:"Kimi-K2.6"}]},{id:"voyage-ai",priority:40,alias:"voyage-ai",uiAlias:"voyage",display:{name:"Voyage AI",icon:"data_array",color:"#0EA5E9",textIcon:"VG",website:"https://www.voyageai.com",notice:{apiKeyUrl:"https://dash.voyageai.com/api-keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"voyage-3-large",name:"Voyage 3 Large",kind:"embedding"},{id:"voyage-3.5",name:"Voyage 3.5",kind:"embedding"},{id:"voyage-3.5-lite",name:"Voyage 3.5 Lite",kind:"embedding"},{id:"voyage-code-3",name:"Voyage Code 3",kind:"embedding"},{id:"voyage-finance-2",name:"Voyage Finance 2",kind:"embedding"},{id:"voyage-law-2",name:"Voyage Law 2",kind:"embedding"},{id:"voyage-multilingual-2",name:"Voyage Multilingual 2",kind:"embedding"}],serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.voyageai.com/v1/embeddings"}},{id:"xai",priority:280,alias:"xai",display:{name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai",notice:{apiKeyUrl:"https://console.x.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.x.ai/v1/chat/completions",validateUrl:"https://api.x.ai/v1/models",responsesUrl:"https://api.x.ai/v1/responses",clientId:"b1a00492-073a-47ea-816f-4c329264a828",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token"},models:[{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"},{id:"grok-2-image-1212",name:"Grok 2 Image",params:["n","response_format"],kind:"image"}],serviceKinds:["llm","imageToText","webSearch","image"],imageConfig:{baseUrl:"https://api.x.ai/v1/images/generations",bodyFields:["model","prompt","n","response_format"]},searchViaChat:{defaultModel:"grok-4.20-reasoning",endpoint:"https://api.x.ai/v1/responses",pricingUrl:"https://x.ai/api#pricing"}},{id:"xiaomi-mimo",priority:290,alias:"xiaomi-mimo",aliases:["mimo"],uiAlias:"mimo",display:{name:"Xiaomi MiMo",icon:"smart_toy",color:"#FF6900",textIcon:"XM",website:"https://xiaomimimo.com",notice:{apiKeyUrl:"https://xiaomimimo.com"}},category:"apikey",transport:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",validateUrl:"https://api.xiaomimimo.com/v1/models"},transports:[{format:"openai",baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.xiaomimimo.com/anthropic/v1/messages",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-flash",name:"MiMo V2 Flash"}]},{id:"xiaomi-tokenplan",priority:300,alias:"xiaomi-tokenplan",aliases:["xmtp"],uiAlias:"xmtp",display:{name:"Xiaomi MiMo (Token Plan)",icon:"smart_toy",color:"#FF6700",textIcon:"XT",website:"https://mimo.xiaomi.com",notice:{text:"Xiaomi MiMo Token Plan subscription (API key starts with tp-). Token Plan keys are cluster-specific — select the region matching your subscription.",apiKeyUrl:"https://mimo.xiaomi.com"}},category:"apikey",hasProviderSpecificData:!0,defaultRegion:"sgp",transport:{baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1/chat/completions",regions:{sgp:"https://token-plan-sgp.xiaomimimo.com/v1",cn:"https://token-plan-cn.xiaomimimo.com/v1",ams:"https://token-plan-ams.xiaomimimo.com/v1"},defaultRegion:"sgp"},transports:[{format:"openai",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5-pro-claude",name:"MiMo V2.5 Pro (Claude Native)",targetFormat:"claude",upstreamModelId:"mimo-v2.5-pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-pro",name:"MiMo V2 Pro"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-tts",name:"MiMo V2 TTS"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS"},{id:"mimo-v2.5-tts-voiceclone",name:"MiMo V2.5 TTS Voice Clone"},{id:"mimo-v2.5-tts-voicedesign",name:"MiMo V2.5 TTS Voice Design"}]},{id:"youcom",alias:"youcom",display:{name:"You.com Search",icon:"search",color:"#7C3AED",textIcon:"YC",website:"https://you.com",notice:{apiKeyUrl:"https://api.you.com"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://ydc-index.io/v1/search",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:.005,freeMonthlyQuota:0,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}}]},74129:(a,b,c)=>{c.d(b,{$B:()=>g,Bi:()=>f,Es:()=>h,XP:()=>j,b8:()=>e,ky:()=>i,w3:()=>k});var d=c(21820);let e="2023-06-01",f={"Anthropic-Version":e,"Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},g={"Anthropic-Version":e,"Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.92 (external, sdk-cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.80.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,d.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,d.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,d.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,d.platform)()}`}}(),"X-Stainless-Timeout":"600"},h="https://api.openai.com/v1",i="https://api.anthropic.com/v1",j={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},k={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"}}};
@@ -1 +0,0 @@
1
- exports.id=5692,exports.ids=[5692],exports.modules={962:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/McpMarketplaceModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/McpMarketplaceModal.js","default")},2422:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/UsageStats.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/UsageStats.js","default")},3080:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/OAuthModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/OAuthModal.js","default")},4996:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/CapacityBadges.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/CapacityBadges.js","default")},5843:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/NoAuthProxyCard.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/NoAuthProxyCard.js","default")},7290:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/Card.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Card.js","default")},10079:(a,b,c)=>{"use strict";c.d(b,{ConfirmModal:()=>f,default:()=>e});var d=c(77943);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/Modal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Modal.js","default"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call ConfirmModal() from the server but ConfirmModal is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Modal.js","ConfirmModal")},14285:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/KiroOAuthWrapper.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/KiroOAuthWrapper.js","default")},18200:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/AddCustomEmbeddingModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/AddCustomEmbeddingModal.js","default")},18421:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/Tooltip.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Tooltip.js","default")},19083:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/RequestLogger.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/RequestLogger.js","default")},20307:(a,b,c)=>{Promise.resolve().then(c.bind(c,18200)),Promise.resolve().then(c.bind(c,70061)),Promise.resolve().then(c.bind(c,33893)),Promise.resolve().then(c.bind(c,45512)),Promise.resolve().then(c.bind(c,4996)),Promise.resolve().then(c.bind(c,7290)),Promise.resolve().then(c.bind(c,33811)),Promise.resolve().then(c.bind(c,20493)),Promise.resolve().then(c.bind(c,40167)),Promise.resolve().then(c.bind(c,70139)),Promise.resolve().then(c.bind(c,49123)),Promise.resolve().then(c.bind(c,64148)),Promise.resolve().then(c.bind(c,92669)),Promise.resolve().then(c.bind(c,29354)),Promise.resolve().then(c.bind(c,80342)),Promise.resolve().then(c.bind(c,71230)),Promise.resolve().then(c.bind(c,82448)),Promise.resolve().then(c.bind(c,14285)),Promise.resolve().then(c.bind(c,87228)),Promise.resolve().then(c.bind(c,45205)),Promise.resolve().then(c.bind(c,64420)),Promise.resolve().then(c.bind(c,61780)),Promise.resolve().then(c.bind(c,92082)),Promise.resolve().then(c.bind(c,70603)),Promise.resolve().then(c.bind(c,962)),Promise.resolve().then(c.bind(c,10079)),Promise.resolve().then(c.bind(c,94582)),Promise.resolve().then(c.bind(c,29674)),Promise.resolve().then(c.bind(c,5843)),Promise.resolve().then(c.bind(c,3080)),Promise.resolve().then(c.bind(c,81923)),Promise.resolve().then(c.bind(c,19083)),Promise.resolve().then(c.bind(c,54065)),Promise.resolve().then(c.bind(c,83784)),Promise.resolve().then(c.bind(c,26866)),Promise.resolve().then(c.bind(c,89886)),Promise.resolve().then(c.bind(c,40515)),Promise.resolve().then(c.bind(c,70092)),Promise.resolve().then(c.bind(c,18421)),Promise.resolve().then(c.bind(c,2422))},20493:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/ComboFormModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/ComboFormModal.js","default")},26866:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/Sidebar.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Sidebar.js","default")},29354:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/HeaderMenu.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/HeaderMenu.js","default")},29674:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/NineRemoteButton.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/NineRemoteButton.js","default")},30508:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(5735);c(45512),c(71230),c(83784),c(7290),c(10079),c(92082),c(70061),c(33893),c(70092),c(40515),c(89886),c(26866),c(92669),c(49123),c(3080),c(94582),c(70603),c(20493),c(962),c(2422),c(45205),c(29674),c(29354),c(33811),c(19083),c(82448),c(14285),c(87228),c(40167),c(80342),c(64148),c(70139),c(18200),c(5843),c(54065),c(18421),c(81923),c(4996);var e=c(61780);function f({children:a}){return(0,d.jsx)(e.default,{children:a})}c(64420)},33811:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/ChangelogModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/ChangelogModal.js","default")},33893:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/Badge.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Badge.js","default")},40167:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/CursorAuthModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/CursorAuthModal.js","default")},40515:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/ThemeToggle.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/ThemeToggle.js","default")},45205:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/LanguageSwitcher.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/LanguageSwitcher.js","default")},45512:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/Button.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Button.js","default")},49123:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/Footer.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Footer.js","default")},54065:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/SegmentedControl.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/SegmentedControl.js","default")},57259:(a,b,c)=>{Promise.resolve().then(c.bind(c,67738)),Promise.resolve().then(c.bind(c,25919)),Promise.resolve().then(c.bind(c,75171)),Promise.resolve().then(c.bind(c,99070)),Promise.resolve().then(c.bind(c,38930)),Promise.resolve().then(c.bind(c,17660)),Promise.resolve().then(c.bind(c,11229)),Promise.resolve().then(c.bind(c,62727)),Promise.resolve().then(c.bind(c,51109)),Promise.resolve().then(c.bind(c,51585)),Promise.resolve().then(c.bind(c,48781)),Promise.resolve().then(c.bind(c,43182)),Promise.resolve().then(c.bind(c,47036)),Promise.resolve().then(c.bind(c,3236)),Promise.resolve().then(c.bind(c,79488)),Promise.resolve().then(c.bind(c,83552)),Promise.resolve().then(c.bind(c,8590)),Promise.resolve().then(c.bind(c,5291)),Promise.resolve().then(c.bind(c,56110)),Promise.resolve().then(c.bind(c,267)),Promise.resolve().then(c.bind(c,53838)),Promise.resolve().then(c.bind(c,85306)),Promise.resolve().then(c.bind(c,74812)),Promise.resolve().then(c.bind(c,39645)),Promise.resolve().then(c.bind(c,20084)),Promise.resolve().then(c.bind(c,95145)),Promise.resolve().then(c.bind(c,83352)),Promise.resolve().then(c.bind(c,23048)),Promise.resolve().then(c.bind(c,50585)),Promise.resolve().then(c.bind(c,79346)),Promise.resolve().then(c.bind(c,11633)),Promise.resolve().then(c.bind(c,91809)),Promise.resolve().then(c.bind(c,91099)),Promise.resolve().then(c.bind(c,4770)),Promise.resolve().then(c.bind(c,42196)),Promise.resolve().then(c.bind(c,19308)),Promise.resolve().then(c.bind(c,53845)),Promise.resolve().then(c.bind(c,95514)),Promise.resolve().then(c.bind(c,32971)),Promise.resolve().then(c.bind(c,87226))},61780:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/layouts/DashboardLayout.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/layouts/DashboardLayout.js","default")},64148:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/GitLabAuthModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/GitLabAuthModal.js","default")},64420:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/layouts/AuthLayout.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/layouts/AuthLayout.js","default")},70061:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/Avatar.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Avatar.js","default")},70092:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/Toggle.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Toggle.js","default")},70139:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/EditConnectionModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/EditConnectionModal.js","default")},70603:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/ManualConfigModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/ManualConfigModal.js","default")},71230:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/Input.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Input.js","default")},80342:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/IFlowCookieModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/IFlowCookieModal.js","default")},81923:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/ProviderInfoCard.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/ProviderInfoCard.js","default")},82448:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/KiroAuthModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/KiroAuthModal.js","default")},83784:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/Select.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Select.js","default")},87228:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/KiroSocialOAuthModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/KiroSocialOAuthModal.js","default")},92082:(a,b,c)=>{"use strict";c.d(b,{CardSkeleton:()=>h,PageLoading:()=>f,Skeleton:()=>g,Spinner:()=>e,default:()=>i});var d=c(77943);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call Spinner() from the server but Spinner is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Loading.js","Spinner"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call PageLoading() from the server but PageLoading is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Loading.js","PageLoading"),g=(0,d.registerClientReference)(function(){throw Error("Attempted to call Skeleton() from the server but Skeleton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Loading.js","Skeleton"),h=(0,d.registerClientReference)(function(){throw Error("Attempted to call CardSkeleton() from the server but CardSkeleton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Loading.js","CardSkeleton"),i=(0,d.registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/Loading.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Loading.js","default")},92669:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/Header.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/Header.js","default")},94582:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/shared/components/ModelSelectModal.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/shared/components/ModelSelectModal.js","default")}};
@@ -1,10 +0,0 @@
1
- "use strict";exports.id=6445,exports.ids=[615,2996,6445],exports.modules={29679:(a,b,c)=>{c.d(b,{cW:()=>l});var d=c(94755),e=c(55511),f=c(8521);let g="1.0.0",h="0.10.32",i="us-east-1",j=new Map;async function k(a,b){let c,f,j,k=a?.providerSpecificData?.profileArn||"",l=function(a){if(!a||"string"!=typeof a)return i;let b=a.split(":");return b.length>=4&&b[3]?b[3]:i}(k),m=new URLSearchParams;m.set("origin","AI_EDITOR"),k&&m.set("profileArn",k);let n=`https://q.${l}.amazonaws.com/ListAvailableModels?${m.toString()}`,o={...(f=a?.providerSpecificData?.clientId||a?.refreshToken||a?.providerSpecificData?.profileArn||a?.accessToken||"kiro-anonymous",j=(0,e.createHash)("sha256").update(String(f)).digest("hex"),{"User-Agent":`aws-sdk-js/${g} ua/2.1 os/windows#10.0.26200 lang/js md/nodejs#22.21.1 api/codewhispererruntime#${g} m/N,E KiroIDE-${h}-${j}`,"x-amz-user-agent":`aws-sdk-js/${g} KiroIDE-${h}-${j}`,"x-amzn-kiro-agent-mode":"vibe","x-amzn-codewhisperer-optout":"true","amz-sdk-request":"attempt=1; max=1","amz-sdk-invocation-id":(0,d.A)(),Accept:"application/json"}),Authorization:`Bearer ${a?.accessToken||""}`},p=new AbortController,q=setTimeout(()=>p.abort("timeout"),3e4);b&&"function"==typeof b.addEventListener&&b.addEventListener("abort",()=>p.abort(b.reason));try{c=await fetch(n,{method:"GET",headers:o,signal:p.signal})}finally{clearTimeout(q)}if(!c.ok){let a=await c.text().catch(()=>""),b=Error(`Kiro ListAvailableModels ${c.status}: ${a||c.statusText}`);throw b.status=c.status,b.body=a,b}let r=await c.json();return Array.isArray(r?.models)?r.models:[]}async function l(a,b={}){let c,d,g;if(!a||!a.accessToken)return b.log?.debug?.("KIRO_MODELS","No accessToken; skipping live fetch"),null;let h=(g=(d=a?.providerSpecificData||{}).profileArn||d.clientId||a?.refreshToken||a?.accessToken||"anonymous",(0,e.createHash)("sha256").update(`kiro:${g}`).digest("hex")),i=Date.now();if(!b.forceRefresh){let a=j.get(h);if(a&&a.expiresAt>i)return{models:a.models,rawModels:a.rawModels}}try{c=await k(a,b.signal)}catch(d){if(!d||401!==d.status||!a.refreshToken)return b.log?.warn?.("KIRO_MODELS",`ListAvailableModels failed: ${d?.message||d}`),null;{b.log?.info?.("KIRO_MODELS","Got 401 from Kiro; refreshing token");let d=await (0,f.Ql)(a.refreshToken,a.providerSpecificData,b.log);if(!d?.accessToken)return b.log?.warn?.("KIRO_MODELS","Token refresh did not return accessToken"),null;{let e={...a,...d};if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed(d)}catch(a){b.log?.warn?.("KIRO_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await k(e,b.signal),a.accessToken=e.accessToken,e.refreshToken&&(a.refreshToken=e.refreshToken)}catch(a){return b.log?.warn?.("KIRO_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}}let m=[];for(let a of c){if(!a||"object"!=typeof a)continue;let b=a.modelId||a.id;if(!b)continue;let c=function(a,b,c){let d=(a||b||"Kiro").trim(),e=Number(c);if(!Number.isFinite(e)||1e-9>Math.abs(e-1)||e<=0)return`Kiro ${d}`;let f=e.toFixed(1).replace(",",".");return`Kiro ${d} (${f}x credit)`}(a.modelName,b,a.rateMultiplier),d=Number(a?.tokenLimits?.maxInputTokens)||2e5;for(let e of function(a,b){let c,d=((c=a).endsWith("-agentic")&&(c=c.slice(0,-8)),c.endsWith("-thinking")&&(c=c.slice(0,-9)),c),e=b||`Kiro ${d}`,f=[{id:d,name:e,capabilities:{thinking:!1,agentic:!1}},{id:`${d}-thinking`,name:`${e} (Thinking)`,capabilities:{thinking:!0,agentic:!1}}];return"auto"!==d&&(f.push({id:`${d}-agentic`,name:`${e} (Agentic)`,capabilities:{thinking:!1,agentic:!0}}),f.push({id:`${d}-thinking-agentic`,name:`${e} (Thinking + Agentic)`,capabilities:{thinking:!0,agentic:!0}})),f}(b,c))m.push({...e,contextLength:d,rateMultiplier:Number.isFinite(Number(a.rateMultiplier))?Number(a.rateMultiplier):1,upstreamModelId:b,description:a.description||""})}return j.set(h,{expiresAt:i+3e5,models:m,rawModels:c}),{models:m,rawModels:c}}},30015:(a,b,c)=>{c.d(b,{d:()=>i});var d=c(55511),e=c.n(d),f=c(94755),g=c(69704);function h(a){return e().createHash("md5").update(a).digest("hex")}function i(a,b,c){var d;let i,j;if(!c?.userId)throw Error("cosy: user id is empty");if(!c?.authToken)throw Error("cosy: auth token is empty");let k=Buffer.isBuffer(a)?a:"string"==typeof a?Buffer.from(a,"latin1"):Buffer.from(a||[]),{cosyKey:l,info:m}=(d={uid:c.userId,security_oauth_token:c.authToken,name:c.name||"",aid:"",email:c.email||""},i=(0,f.A)().slice(0,16),j=function(a,b){var c;let d,f,g=Buffer.from(b,"utf8");if(16!==g.length)throw Error(`aes key must be 16 bytes, got ${g.length}`);let h=g.subarray(0,16),i=e().createCipheriv("aes-128-cbc",g,h);i.setAutoPadding(!1);let j=(d=16-(c=Buffer.from(a,"utf8")).length%16,f=Buffer.alloc(c.length+d,d),c.copy(f,0),f);return Buffer.concat([i.update(j),i.final()]).toString("base64")}(JSON.stringify(d),i),{cosyKey:e().publicEncrypt({key:g.pr,padding:e().constants.RSA_PKCS1_PADDING},Buffer.from(i,"utf8")).toString("base64"),info:j}),n=String(Math.floor(Date.now()/1e3)),o=JSON.stringify({version:"v1",requestId:(0,f.A)(),info:m,cosyVersion:g.cT,ideVersion:""}),p=Buffer.from(o,"utf8").toString("base64"),q=function(a){let b;try{b=new URL(a).pathname||""}catch{return""}return b.startsWith("/algo")?b.slice(5):b}(b),r=`${p}
2
- ${l}
3
- ${n}
4
- ${k.toString("latin1")}
5
- ${q}`,s=h(Buffer.from(r,"latin1")),t=c.machineId||(0,f.A)(),u=h(k),v=String(k.length);return{Authorization:`Bearer COSY.${p}.${s}`,"Cosy-Key":l,"Cosy-User":c.userId,"Cosy-Date":n,"Cosy-Version":g.cT,"Cosy-Machineid":t,"Cosy-Machinetoken":t,"Cosy-Machinetype":g.RB,"Cosy-Machineos":g.pM,"Cosy-Clienttype":g.Ty,"Cosy-Clientip":"127.0.0.1","Cosy-Bodyhash":u,"Cosy-Bodylength":v,"Cosy-Sigpath":q,"Cosy-Data-Policy":g.qk,"Cosy-Organization-Id":"","Cosy-Organization-Tags":"","Login-Version":g.xG,"X-Request-Id":(0,f.A)()}}},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,isAnthropicCompatibleProvider:()=>q,gC:()=>r,isOpenAICompatibleProvider:()=>p,rs:()=>u});var d=c(35002);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h={...g("free"),qoder:{id:"qoder",alias:"qd",name:"Qoder AI",icon:"water_drop",color:"#EC4899",deprecated:!0,deprecationNotice:e,website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"}}},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.A.filter(a=>a.features?.usage).map(a=>a.id),y=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id)},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},53225:(a,b,c)=>{c.d(b,{EV:()=>l,X5:()=>k});var d=c(55511),e=c(39609),f=c(30015),g=c(69704);let h=new Map,i=new Map;async function j(a,b,c=null){let d,h,i={userId:(h=a?.providerSpecificData||{}).userId,authToken:a.accessToken,name:a.displayName||"",email:a.email||"",machineId:h.machineId||""};if(!i.userId||!i.authToken)return null;let k={Accept:"application/json","Accept-Encoding":"identity",...(0,f.d)(Buffer.alloc(0),g.t6,i)},l=new AbortController,m=null,n=null;try{m=setTimeout(()=>l.abort("timeout"),15e3),b&&"function"==typeof b.addEventListener&&(b.aborted?l.abort(b.reason):(n=()=>l.abort(b.reason),b.addEventListener("abort",n))),d=await (0,e.proxyAwareFetch)(g.t6,{method:"GET",headers:k,signal:l.signal},c)}finally{m&&clearTimeout(m),b&&n&&b.removeEventListener("abort",n)}if(!d.ok)return null;let o=await d.json().catch(()=>null);if(!o||!Array.isArray(o.chat))return null;let p=[],q=new Map;for(let a of o.chat){if(!a||"object"!=typeof a)continue;let b=a.key;if(!b||(q.set(b,a),!1===a.enable))continue;let c=a.display_name||b,d=Number(a.max_input_tokens)||131072;p.push({id:b,name:`${c}`,contextLength:d,isVL:!!a.is_vl,isReasoning:!!a.is_reasoning,maxOutputTokens:Number(a.max_output_tokens)||0,description:a.description||""})}return{models:p,rawConfigs:q}}async function k(a,b,c={}){let d=await l(a,c);if(!d)return null;let e=d.rawConfigs.get(b);return e?{...e,key:b}:null}async function l(a,b={}){let c;if(!a?.accessToken||!(a.providerSpecificData||{}).userId)return null;let e=(c=(a?.providerSpecificData||{}).userId||a?.refreshToken||a?.accessToken||"anonymous",(0,d.createHash)("sha256").update(`qoder:${c}`).digest("hex")),f=Date.now();if(!b.forceRefresh){let a=h.get(e);if(a&&a.expiresAt>f)return a}let g=i.get(e);if(g&&!b.forceRefresh)return g;let k=(async()=>{let c=await j(a,b.signal,b.proxyOptions);if(!c)return null;let d={expiresAt:Date.now()+36e5,models:c.models,rawConfigs:c.rawConfigs,fetched:!0};return h.set(e,d),d})();i.set(e,k);try{return await k}finally{i.get(e)===k&&i.delete(e)}}},69704:(a,b,c)=>{c.d(b,{KC:()=>j,RB:()=>q,Ty:()=>m,_G:()=>h,bg:()=>g,cT:()=>l,pM:()=>p,pr:()=>r,qk:()=>n,rf:()=>f,t6:()=>k,xG:()=>o});let d="https://openapi.qoder.sh",e="https://api3.qoder.sh",f="https://qoder.com/device/selectAccounts",g=`${d}/api/v1/deviceToken/poll`,h=`${d}/api/v1/userinfo`,i=`${e}/algo/api/v2/service/pro/sse/agent_chat_generation?FetchKeys=llm_model_result&AgentId=agent_common`,j=`${i}&Encode=1`,k=`${e}/algo/api/v2/model/list`,l="1.0.0",m="5",n="disagree",o="v2",p="x86_64_windows",q="5",r=`-----BEGIN PUBLIC KEY-----
6
- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA8iMH5c02LilrsERw9t6Pv5Nc
7
- 4k6Pz1EaDicBMpdpxKduSZu5OANqUq8er4GM95omAGIOPOh+Nx0spthYA2BqGz+l
8
- 6HRkPJ7S236FZz73In/KVuLnwI8JJ2CbuJap8kvheCCZpmAWpb/cPx/3Vr/J6I17
9
- XcW+ML9FoCI6AOvOzwIDAQAB
10
- -----END PUBLIC KEY-----`},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
@@ -1,3 +0,0 @@
1
- exports.id=6568,exports.ids=[6568],exports.modules={11346:(a,b,c)=>{Promise.resolve().then(c.bind(c,51747))},37773:(a,b,c)=>{"use strict";c.d(b,{default:()=>r});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412),i=c(50377);c(99258);let j=["zh-CN","zh-TW"],k=[{icon:"public",title:"Access Anywhere",desc:"Use your API from any network"},{icon:"group",title:"Share Endpoint",desc:"Share URL with team members"},{icon:"code",title:"Use in Cursor/Cline",desc:"Connect AI tools remotely"},{icon:"lock",title:"Encrypted",desc:"End-to-end TLS via Cloudflare"}],l=[{id:"lite",label:"Lite",desc:"Drop filler, keep grammar"},{id:"full",label:"Full",desc:"Drop articles, fragments OK"},{id:"ultra",label:"Ultra",desc:"Telegraphic, max compression"},{id:"wenyan-lite",label:"文 Lite",desc:"Classical Chinese, light compression",wenyan:!0},{id:"wenyan",label:"文 Full",desc:"Maximum 文言文, 80-90% reduction",wenyan:!0},{id:"wenyan-ultra",label:"文 Ultra",desc:"Extreme classical compression",wenyan:!0}],m=[{id:"lite",label:"Lite",desc:"Build asked, name lazier option"},{id:"full",label:"Full",desc:"Ladder enforced: stdlib/native first"},{id:"ultra",label:"Ultra",desc:"YAGNI extremist, deletion first"}];function n({label:a,url:b,copyId:c,copied:e,onCopy:f,badge:g,actions:i}){return(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[88px] text-center ${"CF"===g||"TS"===g?"bg-primary/10 text-primary":"bg-surface-2 text-text-muted"}`,children:a}),(0,d.jsx)(h.pd,{value:b,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)("button",{onClick:()=>f(b,c),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:e===c?"check":"content_copy"})}),i]})}function o({status:a,className:b=""}){return(0,d.jsx)("div",{className:`p-2 rounded text-sm ${b} ${"success"===a.type?"bg-green-500/10 text-green-600 dark:text-green-400":"warning"===a.type?"bg-yellow-500/10 text-yellow-600 dark:text-yellow-400":"info"===a.type?"bg-blue-500/10 text-blue-600 dark:text-blue-400":"bg-red-500/10 text-red-600 dark:text-red-400"}`,children:a.message.split(/(https?:\/\/[^\s]+)/g).map((a,b)=>/^https?:\/\//.test(a)?(0,d.jsx)("a",{href:a,target:"_blank",rel:"noreferrer",className:"underline font-medium",children:a},b):a)})}function p({text:a}){return(0,d.jsxs)("span",{className:"relative group inline-flex items-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] text-text-muted cursor-help",children:"help"}),(0,d.jsx)("span",{className:"pointer-events-none absolute left-5 top-1/2 -translate-y-1/2 z-50 w-64 rounded bg-gray-900 dark:bg-gray-800 text-white text-xs px-2.5 py-1.5 opacity-0 group-hover:opacity-100 transition-opacity shadow-lg",children:a})]})}function q({message:a,action:b}){return(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/20 text-amber-700 dark:text-amber-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] shrink-0 mt-0.5",children:"warning"}),(0,d.jsx)("p",{className:"text-xs flex-1",children:a}),b&&(0,d.jsx)("a",{href:b.href,className:"text-xs font-medium underline shrink-0 hover:opacity-80",onClick:b.href.startsWith("#")?a=>{a.preventDefault(),document.getElementById(b.href.slice(1))?.scrollIntoView({behavior:"smooth"})}:void 0,children:b.label})]})}function r({machineId:a}){let[b,c]=(0,e.useState)([]),[f,g]=(0,e.useState)(!0),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(""),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(null),[A,B]=(0,e.useState)(!1),[C,D]=(0,e.useState)(!0),[E,F]=(0,e.useState)(!0),[G,H]=(0,e.useState)(!1),[I,J]=(0,e.useState)(!0),[K,L]=(0,e.useState)(!1),[M,N]=(0,e.useState)("http://localhost:8787"),[O,P]=(0,e.useState)(!1),[Q,R]=(0,e.useState)({installed:!1,running:!1,python:null,loading:!0}),[S,T]=(0,e.useState)(!1),[U,V]=(0,e.useState)(!1),[W,X]=(0,e.useState)(""),[Y,Z]=(0,e.useState)(!1),[$,_]=(0,e.useState)("full"),[aa,ab]=(0,e.useState)(!1),[ac,ad]=(0,e.useState)("full"),[ae,af]=(0,e.useState)("en"),[ag,ah]=(0,e.useState)(!0),[ai,aj]=(0,e.useState)(!1),[ak,al]=(0,e.useState)(!1),[am,an]=(0,e.useState)(""),[ao,ap]=(0,e.useState)(""),[aq,ar]=(0,e.useState)(!1),[as,at]=(0,e.useState)(""),[au,av]=(0,e.useState)(null),[aw,ax]=(0,e.useState)(!1),[ay,az]=(0,e.useState)(!1),[aA,aB]=(0,e.useState)(!1),[aC,aD]=(0,e.useState)(!1),[aE,aF]=(0,e.useState)(""),[aG,aH]=(0,e.useState)(!1),[aI,aJ]=(0,e.useState)(""),[aK,aL]=(0,e.useState)(null),[aM,aN]=(0,e.useState)(""),[aO,aP]=(0,e.useState)(""),[aQ,aR]=(0,e.useState)(null),[aS,aT]=(0,e.useState)(!1),[aU,aV]=(0,e.useState)([]),[aW,aX]=(0,e.useState)(""),[aY,aZ]=(0,e.useState)(!1),[a$,a_]=(0,e.useState)(!1),[a0,a1]=(0,e.useState)(!1),a2=(0,e.useRef)(null);(0,e.useRef)(0),(0,e.useRef)(0),(0,e.useRef)(!1),(0,e.useRef)(!1),(0,e.useRef)(!1),(0,e.useRef)(!1);let[a3,a4]=(0,e.useState)(!1),[a5,a6]=(0,e.useState)(!1),[a7,a8]=(0,e.useState)(new Set),[a9,ba]=(0,e.useState)(!1),bb=j.includes(ae)?l:l.filter(a=>!a.wenyan),{copied:bc,copy:bd}=(0,i.C)(),be=!C||!E,bf=C?"Change the default dashboard password before activating the tunnel.":'Enable "Require login" and set a custom password before activating the tunnel.';(0,e.useCallback)((a,b,c,d,e,f)=>{b.current?(c.current=0,d(!0),e.current||(e.current=!0,f(!0))):(c.current+=1,c.current>=5&&d(!1))},[]);let bg=async a=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({tunnelDashboardAccess:a})})).ok&&H(a)}catch(a){console.log("Error updating tunnelDashboardAccess:",a)}},bh=async a=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApiKey:a})})).ok&&B(a)}catch(a){console.log("Error updating requireApiKey:",a)}},bi=async a=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rtkEnabled:a})})).ok&&J(a)}catch(a){console.log("Error updating rtkEnabled:",a)}},bj=async a=>{try{await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})}catch(a){console.log("Error updating setting:",a)}},bk=async()=>{let a=M.trim()||"http://localhost:8787";N(a),await bj({headroomUrl:a}),bl()},bl=(0,e.useCallback)(async()=>{R(a=>({...a,loading:!0}));try{let a=await fetch("/api/headroom/status",{headers:{"Cache-Control":"no-store"}}),b=await a.json();R({...b,loading:!1})}catch{R({installed:!1,running:!1,python:null,loading:!1})}},[]),bm=(0,e.useCallback)(async()=>{X(""),V(!0);try{let a=await fetch("/api/headroom/start",{method:"POST"}),b=await a.json().catch(()=>({}));if(!a.ok)throw Error(b.error||"Failed to start proxy");await bl()}catch(a){X(a.message)}finally{V(!1)}},[bl]),bn=(0,e.useCallback)(async()=>{V(!0);try{await fetch("/api/headroom/stop",{method:"POST"}),await bl()}finally{V(!1)}},[bl]),bo=async()=>{try{let a=await fetch("/api/keys"),b=await a.json();a.ok&&c(b.keys||[])}catch(a){console.log("Error fetching data:",a)}finally{g(!1)}},bp=async(...a)=>{ar(!0),at("Waiting for tunnel ready...");let b=a.filter(Boolean).map(a=>`${a}/api/health`),c=Date.now();for(;Date.now()-c<3e5;){if(await new Promise(a=>setTimeout(a,2e3)),await Promise.any(b.map(async a=>{if((await fetch(a,{mode:"cors",cache:"no-store"})).ok)return!0;throw Error("not ready")})).catch(()=>!1))return aj(!0),ar(!1),at(""),!0;if((Date.now()-c)%1e4<2e3)try{let a=await fetch("/api/tunnel/status");if(a.ok){let b=await a.json();if(!b.tunnel?.enabled)return av({type:"error",message:"Tunnel process stopped unexpectedly."}),ar(!1),at(""),!1}}catch{}}return av({type:"error",message:"Tunnel created but not reachable. Please try again."}),ar(!1),at(""),!1},bq=async()=>{ax(!1),ar(!0),av(null),at("Creating tunnel...");let a=!0;(async()=>{for(;a;){try{let b=await fetch("/api/tunnel/status");if(b.ok){let c=await b.json();c.download?.downloading?at(`Downloading cloudflared... ${c.download.progress}%`):a&&at("Creating tunnel...")}}catch{}await new Promise(a=>setTimeout(a,1e3))}})();try{let b=await fetch("/api/tunnel/enable",{method:"POST"});a=!1;let c=await b.json();if(!b.ok)return void av({type:"error",message:c.error||"Failed to enable tunnel"});let d=c.tunnelUrl;if(!d)return void av({type:"error",message:"No tunnel URL returned"});an(d),ap(c.publicUrl||""),await bp(c.publicUrl,d)}catch(a){av({type:"error",message:a.message})}finally{a=!1,ar(!1),at("")}},br=async()=>{ar(!0),av(null);try{let a=await fetch("/api/tunnel/disable",{method:"POST"}),b=await a.json();a.ok?(aj(!1),an(""),az(!1),av({type:"success",message:"Tunnel disabled"})):av({type:"error",message:b.error||"Failed to disable tunnel"})}catch(a){av({type:"error",message:a.message})}finally{ar(!1)}},bs=async()=>{aR(null);try{let a=await fetch("/api/tunnel/tailscale-check");if(a.ok){let b=await a.json();return aR(b.installed),b}}catch{}return aR(!1),{installed:!1}},bt=async()=>{aT(!0),aL(null),aV([]);try{let a=await fetch("/api/tunnel/tailscale-install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sudoPassword:aW})});aX("");let b=a.body.getReader(),c=new TextDecoder,d="";for(;;){let{done:a,value:e}=await b.read();if(a)break;let f=(d+=c.decode(e,{stream:!0})).split("\n\n");for(let a of(d=f.pop()||"",f)){let b=a.split("\n"),c="progress",d=null;for(let a of b)if(a.startsWith("event: ")&&(c=a.slice(7).trim()),a.startsWith("data: "))try{d=JSON.parse(a.slice(6))}catch{}if(d)if("progress"===c)aV(a=>[...a.slice(-50),d.message]);else if("done"===c){aR(!0),aT(!1),a_(!1),bx();return}else"error"===c&&aL({type:"error",message:d.error||"Install failed"})}}}catch(a){aL({type:"error",message:a.message})}finally{aT(!1)}},bu=async a=>{aJ("Waiting for Tailscale ready...");let b=`${a}/api/health`,c=Date.now();for(;Date.now()-c<3e5;){await new Promise(a=>setTimeout(a,2e3));try{let a=await fetch(b,{mode:"no-cors",cache:"no-store"});if(a.ok||"opaque"===a.type)return!0}catch{}}return!1},bv=(a,b)=>{aN(a),aP(b)},bw=()=>{aN(""),aP("")},bx=async()=>{a_(!1),aZ(!0),aH(!0),aL(null),aJ("Connecting..."),bw();try{let a=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),b=await a.json();if(a.ok&&b.success){aF(b.tunnelUrl||"");let a=await bu(b.tunnelUrl);aB(!0),aL(a?null:{type:"warning",message:"Connected but not reachable yet."});return}if(b.needsLogin&&b.authUrl){bv(b.authUrl,"Open Login Page"),aJ('Login required — click "Open Login Page" to continue');for(let a=0;a<40;a++){await new Promise(a=>setTimeout(a,3e3));try{let a=await fetch("/api/tunnel/tailscale-check");if(a.ok&&(await a.json()).loggedIn){bw(),aJ("Starting funnel...");let a=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),b=await a.json();if(a.ok&&b.success){aF(b.tunnelUrl||"");let a=await bu(b.tunnelUrl);aB(!0),aL(a?null:{type:"warning",message:"Connected but not reachable yet."})}else b.funnelNotEnabled&&b.enableUrl?await by(b.enableUrl):aL({type:"error",message:b.error||"Failed to start funnel"});return}}catch{}}bw(),aL({type:"error",message:"Login timed out. Please try again."});return}if(b.funnelNotEnabled&&b.enableUrl)return void await by(b.enableUrl);aL({type:"error",message:b.error||"Failed to connect"})}catch(a){aL({type:"error",message:a.message})}finally{aH(!1),aZ(!1),aJ(""),bw()}},by=async a=>{bv(a,"Open Funnel Settings"),aJ('Click "Open Funnel Settings" to enable Funnel...');for(let a=0;a<40;a++){await new Promise(a=>setTimeout(a,3e3));try{let a=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),b=await a.json();if(a.ok&&b.success){bw(),aF(b.tunnelUrl||"");let a=await bu(b.tunnelUrl);aB(!0),aL(a?null:{type:"warning",message:"Connected but not reachable yet."});return}if(b.funnelNotEnabled)continue;if(b.error){bw(),aL({type:"error",message:b.error});return}}catch{}}bw(),aL({type:"error",message:"Timed out waiting for Funnel to be enabled."})},bz=async()=>{aH(!0),aL(null);try{let a=await fetch("/api/tunnel/tailscale-disable",{method:"POST"}),b=await a.json();a.ok?(aB(!1),aF(""),a1(!1),aL({type:"success",message:"Tailscale disabled"})):aL({type:"error",message:b.error||"Failed to disable Tailscale"})}catch(a){aL({type:"error",message:a.message})}finally{aH(!1)}},bA=async()=>{aL(null),aV([]);let a=await bs();a?.installed&&a?.hasCachedPassword?bx():a_(!0)},bB=async()=>{if(u.trim())try{let a=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:u})}),b=await a.json();a.ok&&(x(b.key),await bo(),v(""),t(!1))}catch(a){console.log("Error creating key:",a)}},bC=async a=>{z({title:"Delete API Key",message:"Delete this API key?",onConfirm:async()=>{z(null);try{(await fetch(`/api/keys/${a}`,{method:"DELETE"})).ok&&(c(b.filter(b=>b.id!==a)),a8(b=>{let c=new Set(b);return c.delete(a),c}))}catch(a){console.log("Error deleting key:",a)}}})},bD=async(a,b)=>{try{(await fetch(`/api/keys/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:b})})).ok&&c(c=>c.map(c=>c.id===a?{...c,isActive:b}:c))}catch(a){console.log("Error toggling key:",a)}},[bE,bF]=(0,e.useState)("/v1");if(f)return(0,d.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,d.jsx)(h.Qv,{}),(0,d.jsx)(h.Qv,{})]});let bG=!!Q.running,bH=!1!==Q.localUrl,bI=!!Q.canStart,bJ=bH&&!!Q.managedPid,bK=Q.loading?"Checking…":bG?"Running":bH&&!Q.installed?"Not installed":bH?"Proxy off":"Unreachable";return(0,d.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,d.jsxs)(h.Zp,{children:[(0,d.jsxs)("h2",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"api"}),"API Endpoint"]}),(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(n,{label:"Local",url:bE,copyId:"local_url",copied:bc,onCopy:bd}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[88px] text-center ${ai?"bg-primary/10 text-primary":"bg-surface-2 text-text-muted"}`,children:"Tunnel"}),ai&&!aq&&ak?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.pd,{value:`${ao||am}/v1`,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)("button",{onClick:()=>bd(`${ao||am}/v1`,"tunnel_url"),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"tunnel_url"===bc?"check":"content_copy"})}),(0,d.jsx)("button",{onClick:()=>az(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Disable Tunnel",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):!ai||aq||ak?aq?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-input text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),as||"Creating tunnel..."]}),(0,d.jsx)("button",{onClick:()=>{ar(!1),at("")},className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Stop",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):au?.type==="error"?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-red-300 dark:border-red-800 bg-red-500/5 text-sm text-red-600 dark:text-red-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"error"}),au.message]}),(0,d.jsx)(h.$n,{size:"sm",icon:"cloud_upload",onClick:()=>ax(!0),children:"Enable"})]}):ag?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-input text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Checking..."]}),(0,d.jsx)("button",{onClick:()=>ah(!1),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Stop",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):(0,d.jsx)(h.$n,{size:"sm",icon:"cloud_upload",onClick:()=>{be?av({type:"error",message:`Security required: ${bf}`}):A?ax(!0):av({type:"error",message:'Security required: Enable "Require API key" before activating the tunnel.'})},children:"Enable"}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-amber-300 dark:border-amber-800 bg-amber-500/5 text-sm text-amber-600 dark:text-amber-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),a3?"Tunnel reconnecting...":"Tunnel checking..."]}),(0,d.jsx)("button",{onClick:()=>az(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Disable Tunnel",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[88px] text-center ${aA?"bg-primary/10 text-primary":"bg-surface-2 text-text-muted"}`,children:"Tailscale"}),aA&&!aG&&aC?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.pd,{value:`${aE}/v1`,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)("button",{onClick:()=>bd(`${aE}/v1`,"ts_url"),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"ts_url"===bc?"check":"content_copy"})}),(0,d.jsx)("button",{onClick:()=>a1(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Disable Tailscale",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):!aA||aG||aC?aG||aY?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-input text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),aI||"Connecting..."]}),aM&&(0,d.jsx)(h.$n,{size:"sm",icon:"open_in_new",onClick:()=>window.open(aM,"tailscale_auth","width=600,height=700,noopener,noreferrer"),children:aO||"Open"}),(0,d.jsx)("button",{onClick:()=>{aH(!1),aZ(!1),aJ(""),bw()},className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Stop",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):aK?.type==="error"?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-red-300 dark:border-red-800 bg-red-500/5 text-sm text-red-600 dark:text-red-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"error"}),aK.message]}),(0,d.jsx)(h.$n,{size:"sm",icon:"vpn_lock",onClick:bA,children:"Enable"})]}):(0,d.jsx)(h.$n,{size:"sm",icon:"vpn_lock",onClick:()=>{be?aL({type:"error",message:`Security required: ${bf}`}):bA()},className:"bg-linear-to-r from-indigo-500 to-purple-500 hover:from-indigo-600 hover:to-purple-600 text-white!",children:"Enable"}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-amber-300 dark:border-amber-800 bg-amber-500/5 text-sm text-amber-600 dark:text-amber-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),a5?"Tailscale reconnecting...":"Tailscale checking..."]}),(0,d.jsx)("button",{onClick:()=>a1(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Disable Tailscale",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]})]})]}),be&&!ai&&!aA&&(0,d.jsx)("div",{className:"mt-4",children:(0,d.jsx)(q,{message:bf,action:{label:"Open settings",href:"/dashboard/profile"}})}),(ai||aA)&&(0,d.jsxs)("div",{className:"mt-4 flex flex-col gap-2",children:[!A&&(0,d.jsx)(q,{message:"Require API key is disabled — your endpoint is publicly accessible without authentication.",action:{label:"Enable",href:"#require-api-key"}}),(!C||!E)&&(0,d.jsx)(q,{message:C?"Dashboard uses the default password — change it in Profile settings.":"Require login is disabled — anyone can access your dashboard via tunnel.",action:{label:C?"Change password":"Enable",href:"/dashboard/profile"}})]}),(ai||aA)&&(0,d.jsxs)("div",{className:"mt-4 pt-4 border-t border-border flex items-center gap-3",children:[(0,d.jsx)(h.lM,{checked:G,onChange:()=>bg(!G)}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("p",{className:"font-medium text-sm",children:"Allow dashboard access via tunnel"}),(0,d.jsx)(p,{text:"When enabled, the dashboard can be accessed through your tunnel or Tailscale URL (login still required). When disabled, dashboard access via tunnel/Tailscale is completely blocked."})]})]})]}),(0,d.jsxs)(h.Zp,{id:"require-api-key",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsxs)("h2",{className:"text-lg font-semibold flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"vpn_key"}),"API Keys"]}),(0,d.jsx)(h.$n,{icon:"add",onClick:()=>t(!0),children:"Create Key"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between pb-4 mb-4 border-b border-border",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"font-medium",children:"Require API key"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Requests without a valid key will be rejected"})]}),(0,d.jsx)(h.lM,{checked:A,onChange:()=>bh(!A)})]}),a9&&!A&&(0,d.jsx)("div",{className:"mb-4 -mt-2",children:(0,d.jsx)(q,{message:"Endpoint is exposed without an API key."})}),0===b.length?(0,d.jsxs)("div",{className:"text-center py-12",children:[(0,d.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-primary/10 text-primary mb-4",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[32px]",children:"vpn_key"})}),(0,d.jsx)("p",{className:"text-text-main font-medium mb-1",children:"No API keys yet"}),(0,d.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Create your first API key to get started"}),(0,d.jsx)(h.$n,{icon:"add",onClick:()=>t(!0),children:"Create Key"})]}):(0,d.jsx)("div",{className:"flex flex-col",children:b.map(a=>{var b;return(0,d.jsxs)("div",{className:`group flex items-center justify-between py-3 border-b border-black/[0.03] dark:border-white/[0.03] last:border-b-0 ${!1===a.isActive?"opacity-60":""}`,children:[(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:a.name}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,d.jsx)("code",{className:"text-xs text-text-muted font-mono",children:a7.has(a.id)?a.key:(b=a.key)&&!(b.length<=10)?b.slice(0,6)+"•".repeat(b.length-10)+b.slice(-4):b||""}),(0,d.jsx)("button",{onClick:()=>{var b;return b=a.id,void a8(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:"p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",title:a7.has(a.id)?"Hide key":"Show key",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:a7.has(a.id)?"visibility_off":"visibility"})}),(0,d.jsx)("button",{onClick:()=>bd(a.key,a.id),className:"p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:bc===a.id?"check":"content_copy"})})]}),(0,d.jsxs)("p",{className:"text-xs text-text-muted mt-1",children:["Created ",new Date(a.createdAt).toLocaleDateString()]}),!1===a.isActive&&(0,d.jsx)("p",{className:"text-xs text-orange-500 mt-1",children:"Paused"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(h.lM,{size:"sm",checked:a.isActive??!0,onChange:b=>{a.isActive&&!b?z({title:"Pause API Key",message:`Pause API key "${a.name}"?
2
-
3
- This key will stop working immediately but can be resumed later.`,onConfirm:async()=>{z(null),bD(a.id,b)}}):bD(a.id,b)},title:a.isActive?"Pause key":"Resume key"}),(0,d.jsx)("button",{onClick:()=>bC(a.id),className:"p-2 hover:bg-red-500/10 rounded text-red-500 opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"delete"})})]})]},a.id)})})]}),(0,d.jsxs)(h.Zp,{id:"rtk",children:[(0,d.jsx)("div",{className:"flex items-center justify-between mb-2",children:(0,d.jsxs)("h2",{className:"text-lg font-semibold flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"bolt"}),"Token Saver"]})}),(0,d.jsxs)("div",{className:"flex items-center justify-between pt-2 pb-4 border-b border-border gap-4",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("p",{className:"font-medium",children:["Compress tool output"," ",(0,d.jsx)("a",{href:"https://github.com/rtk-ai/rtk",target:"_blank",rel:"noreferrer",className:"text-xs font-normal text-primary underline hover:opacity-80",children:"(RTK)"})]}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"git/grep/ls/tree/logs → 60-90% fewer input tokens"})]}),(0,d.jsx)(h.lM,{checked:I,onChange:()=>bi(!I)})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between py-4 border-b border-border gap-4 flex-wrap",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 flex-wrap",children:[(0,d.jsxs)("p",{className:"font-medium",children:["Compress context"," ",(0,d.jsx)("a",{href:"https://github.com/chopratejas/headroom",target:"_blank",rel:"noreferrer",className:"text-xs font-normal text-primary underline hover:opacity-80",children:"(Headroom)"})]}),(0,d.jsx)("span",{className:`text-xs px-2 py-0.5 rounded ${bG?"bg-success/15 text-success":"bg-warning/15 text-warning"}`,children:bK}),(0,d.jsx)("button",{type:"button",onClick:()=>T(!0),className:"text-xs text-primary underline hover:opacity-80",children:bG?"Manage":"Setup"})]}),(0,d.jsx)("p",{className:"text-sm text-text-muted mt-1",children:"Compress prompts via /v1/compress before routing to the model"})]}),(0,d.jsx)(h.lM,{checked:K&&bG,disabled:!bG,onChange:()=>{var a;let b;return a=!K,void(N(b=M.trim()||"http://localhost:8787"),L(a),bj({headroomEnabled:a,headroomUrl:b}))}})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between pt-4 gap-4 flex-wrap",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("p",{className:"font-medium",children:["Compress LLM output"," ",(0,d.jsx)("a",{href:"https://github.com/JuliusBrussee/caveman",target:"_blank",rel:"noreferrer",className:"text-xs font-normal text-primary underline hover:opacity-80",children:"(Caveman)"})]}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Terse-style system prompt → ~65% fewer output tokens (up to 87%)"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-3 shrink-0",children:[Y&&(0,d.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,d.jsx)("div",{className:"flex items-center gap-1.5",children:bb.map(a=>(0,d.jsx)("button",{onClick:()=>{var b;_(b=a.id),bj({cavemanLevel:b})},className:`px-3 py-1.5 rounded text-xs font-medium border transition-colors ${$===a.id?"bg-primary text-white border-primary":"bg-transparent border-border text-text-muted hover:bg-surface-2"}`,title:a.desc,children:a.label},a.id))}),(0,d.jsx)("p",{className:"text-xs text-primary",children:l.find(a=>a.id===$)?.desc})]}),(0,d.jsx)(h.lM,{checked:Y,onChange:()=>{var a;Z(a=!Y),bj({cavemanEnabled:a})}})]})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between pt-4 mt-4 border-t border-border gap-4 flex-wrap",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("p",{className:"font-medium",children:["Lazy senior dev"," ",(0,d.jsx)("a",{href:"https://github.com/DietrichGebert/ponytail",target:"_blank",rel:"noreferrer",className:"text-xs font-normal text-primary underline hover:opacity-80",children:"(Ponytail)"})]}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Bias the model toward minimal code: YAGNI, reuse stdlib, deletion over addition"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-3 shrink-0",children:[aa&&(0,d.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,d.jsx)("div",{className:"flex items-center gap-1.5",children:m.map(a=>(0,d.jsx)("button",{onClick:()=>{var b;ad(b=a.id),bj({ponytailLevel:b})},className:`px-3 py-1.5 rounded text-xs font-medium border transition-colors ${ac===a.id?"bg-primary text-white border-primary":"bg-transparent border-border text-text-muted hover:bg-surface-2"}`,title:a.desc,children:a.label},a.id))}),(0,d.jsx)("p",{className:"text-xs text-primary",children:m.find(a=>a.id===ac)?.desc})]}),(0,d.jsx)(h.lM,{checked:aa,onChange:()=>{var a;ab(a=!aa),bj({ponytailEnabled:a})}})]})]})]}),(0,d.jsx)(h.aF,{isOpen:s,title:"Create API Key",onClose:()=>{t(!1),v("")},children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(h.pd,{label:"Key Name",value:u,onChange:a=>v(a.target.value),placeholder:"Production Key"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:bB,fullWidth:!0,disabled:!u.trim(),children:"Create"}),(0,d.jsx)(h.$n,{onClick:()=>{t(!1),v("")},variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:!!w,title:"API Key Created",onClose:()=>x(null),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4",children:[(0,d.jsx)("p",{className:"text-sm text-yellow-800 dark:text-yellow-200 mb-2 font-medium",children:"Save this key now!"}),(0,d.jsx)("p",{className:"text-sm text-yellow-700 dark:text-yellow-300",children:"This is the only time you will see this key. Store it securely."})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.pd,{value:w||"",readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)(h.$n,{variant:"secondary",icon:"created_key"===bc?"check":"content_copy",onClick:()=>bd(w,"created_key"),children:"created_key"===bc?"Copied!":"Copy"})]}),(0,d.jsx)(h.$n,{onClick:()=>x(null),fullWidth:!0,children:"Done"})]})}),(0,d.jsx)(h.aF,{isOpen:aw,title:"Enable Tunnel",onClose:()=>ax(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("div",{className:"bg-surface-2 border border-border-subtle rounded-lg p-4",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"cloud_upload"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm text-text-main font-medium mb-1",children:"Cloudflare Tunnel"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Expose your local 9Router to the internet. No port forwarding, no static IP needed. Share endpoint URL with your team or use it in Cursor, Cline, and other AI tools from anywhere."})]})]})}),(0,d.jsx)("div",{className:"grid grid-cols-2 gap-3",children:k.map(a=>(0,d.jsxs)("div",{className:"flex flex-col items-center text-center p-3 rounded-lg bg-sidebar/50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-xl text-primary mb-1",children:a.icon}),(0,d.jsx)("p",{className:"text-xs font-semibold",children:a.title}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:a.desc})]},a.title))}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Requires outbound port 7844 (TCP/UDP). Connection may take 10-30s."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:bq,fullWidth:!0,children:"Start Tunnel"}),(0,d.jsx)(h.$n,{onClick:()=>ax(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:ay,title:"Disable Tunnel",onClose:()=>!aq&&az(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"The Cloudflare tunnel will be disconnected. Remote access via tunnel URL will stop working."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:br,fullWidth:!0,disabled:aq,variant:"danger",children:aq?"Disabling...":"Disable"}),(0,d.jsx)(h.$n,{onClick:()=>az(!1),variant:"ghost",fullWidth:!0,disabled:aq,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:a$,title:"Tailscale Funnel",onClose:()=>{aS||(a_(!1),aX(""),aL(null))},children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[null===aQ&&(0,d.jsxs)("p",{className:"text-sm text-text-muted flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Checking..."]}),!1===aQ&&!aS&&(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Tailscale is not installed. Install it to enable Funnel."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:bt,fullWidth:!0,children:"Install Tailscale"}),(0,d.jsx)(h.$n,{onClick:()=>a_(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),aS&&(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Installing Tailscale..."]}),aU.length>0&&(0,d.jsx)("div",{ref:a2,className:"bg-black/5 dark:bg-white/5 rounded p-2 max-h-40 overflow-y-auto font-mono text-xs text-text-muted",children:aU.map((a,b)=>(0,d.jsx)("div",{children:a},b))})]}),!0===aQ&&!aS&&(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"check_circle"}),"Tailscale installed"]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>bx(),fullWidth:!0,children:"Connect"}),(0,d.jsx)(h.$n,{onClick:()=>a_(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),aK&&(0,d.jsx)(o,{status:aK})]})}),(0,d.jsx)(h.aF,{isOpen:a0,title:"Disable Tailscale",onClose:()=>!aG&&a1(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Tailscale Funnel will be stopped. Remote access via Tailscale URL will stop working."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:bz,fullWidth:!0,disabled:aG,variant:"danger",children:aG?"Disabling...":"Disable"}),(0,d.jsx)(h.$n,{onClick:()=>a1(!1),variant:"ghost",fullWidth:!0,disabled:aG,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:S,title:bG?"Headroom":"Setup Headroom",onClose:()=>T(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,d.jsx)("span",{children:"Status"}),(0,d.jsx)("span",{className:bG?"text-success":"text-warning",children:bK})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:"Proxy URL"}),(0,d.jsx)(h.pd,{value:M,onChange:a=>N(a.target.value),onBlur:bk,placeholder:"http://localhost:8787",className:"font-mono text-sm"}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Use a local proxy for Start/Stop, or an external Docker sidecar like http://headroom:8787."})]}),bJ?(0,d.jsx)(h.$n,{onClick:bn,variant:"ghost",fullWidth:!0,disabled:U,children:U?"Stopping…":"Stop Headroom"}):bG?(0,d.jsx)("p",{className:"text-sm text-success",children:"Headroom proxy is reachable. You can enable the token saver."}):bI?(0,d.jsx)(h.$n,{onClick:bm,fullWidth:!0,disabled:U,children:U?"Starting…":"Start Headroom"}):bH?Q.python?(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:"Install then click Start:"}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("pre",{className:"flex-1 rounded bg-black/5 dark:bg-white/5 p-2 text-xs font-mono overflow-x-auto",children:'pip install "headroom-ai[proxy]"'}),(0,d.jsx)(h.$n,{size:"sm",variant:"ghost",onClick:()=>bd('pip install "headroom-ai[proxy]"'),children:bc?"Copied":"Copy"})]})]}):(0,d.jsx)("p",{className:"text-sm text-warning",children:"Python ≥ 3.10 required for local managed mode. Install Python first, or use an external proxy URL."}):(0,d.jsx)("p",{className:"text-sm text-warning",children:"Start Headroom separately at the configured URL, then recheck."}),W&&(0,d.jsx)("p",{className:"text-sm text-warning",children:W}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>bl(),variant:"ghost",fullWidth:!0,children:"Recheck"}),(0,d.jsx)(h.$n,{onClick:()=>T(!1),fullWidth:!0,children:"Done"})]})]})}),(0,d.jsx)(h.uo,{isOpen:!!y,onClose:()=>z(null),onConfirm:y?.onConfirm,title:y?.title||"Confirm",message:y?.message,variant:"danger"})]})}r.propTypes={machineId:g().string.isRequired}},51747:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js","default")},54603:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},58202:(a,b,c)=>{Promise.resolve().then(c.bind(c,37773))},87250:(a,b,c)=>{"use strict";c.d(b,{D:()=>e});var d=c(54603);async function e(){return await (0,d.Xj)()}}};