@yina-npm/openrouterx 0.4.38 → 0.4.52

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 (856) hide show
  1. package/README.md +1145 -300
  2. package/app/.next/BUILD_ID +1 -1
  3. package/app/.next/app-path-routes-manifest.json +6 -6
  4. package/app/.next/build-manifest.json +2 -2
  5. package/app/.next/required-server-files.json +16 -3
  6. package/app/.next/routes-manifest.json +26 -24
  7. package/app/.next/server/app/(dashboard)/dashboard/admin/keys/page.js +2 -2
  8. package/app/.next/server/app/(dashboard)/dashboard/admin/keys/page.js.nft.json +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/admin/keys/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/admin/users/page.js +2 -2
  11. package/app/.next/server/app/(dashboard)/dashboard/admin/users/page.js.nft.json +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/admin/users/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  14. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +24 -0
  17. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -0
  18. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -0
  19. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  20. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  23. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  26. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  29. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/(dashboard)/dashboard/focus-ui/page.js +2 -2
  32. package/app/.next/server/app/(dashboard)/dashboard/focus-ui/page.js.nft.json +1 -1
  33. package/app/.next/server/app/(dashboard)/dashboard/focus-ui/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +10 -10
  35. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  36. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  38. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  39. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  41. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  42. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  43. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  44. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  45. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  46. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  47. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  48. package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/(dashboard)/dashboard/network-analysis/page.js +2 -2
  50. package/app/.next/server/app/(dashboard)/dashboard/network-analysis/page.js.nft.json +1 -1
  51. package/app/.next/server/app/(dashboard)/dashboard/network-analysis/page_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
  53. package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  54. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  56. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  57. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  59. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  60. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  62. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  63. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  64. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  65. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  66. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +4 -4
  68. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  69. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  70. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  71. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  72. package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  73. package/app/.next/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  74. package/app/.next/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  75. package/app/.next/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  76. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  77. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  78. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  79. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  80. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  81. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/(dashboard)/dashboard/user/page.js +3 -3
  83. package/app/.next/server/app/(dashboard)/dashboard/user/page.js.nft.json +1 -1
  84. package/app/.next/server/app/(dashboard)/dashboard/user/page_client-reference-manifest.js +1 -1
  85. package/app/.next/server/app/_global-error/page.js +2 -2
  86. package/app/.next/server/app/_global-error/page.js.nft.json +1 -1
  87. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  88. package/app/.next/server/app/_global-error.html +1 -1
  89. package/app/.next/server/app/_global-error.rsc +1 -1
  90. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  91. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  92. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  93. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  94. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  95. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  96. package/app/.next/server/app/_not-found/page.js +2 -2
  97. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  98. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  99. package/app/.next/server/app/_not-found.html +1 -1
  100. package/app/.next/server/app/_not-found.rsc +4 -4
  101. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  102. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  103. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
  104. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  105. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  106. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  107. package/app/.next/server/app/api/auth/login/route.js +1 -1
  108. package/app/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  109. package/app/.next/server/app/api/auth/logout/route.js +1 -1
  110. package/app/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  111. package/app/.next/server/app/api/auth/me/route.js +1 -1
  112. package/app/.next/server/app/api/auth/me/route.js.nft.json +1 -1
  113. package/app/.next/server/app/api/auth/oidc/callback/route.js +1 -1
  114. package/app/.next/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  115. package/app/.next/server/app/api/auth/oidc/start/route.js +1 -1
  116. package/app/.next/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  117. package/app/.next/server/app/api/auth/oidc/test/route.js +1 -1
  118. package/app/.next/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  119. package/app/.next/server/app/api/auth/status/route.js +1 -1
  120. package/app/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  121. package/app/.next/server/app/api/cli-tools/all-statuses/route.js +10 -2
  122. package/app/.next/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  123. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  124. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  125. package/app/.next/server/app/api/cli-tools/antigravity-mitm/inject-auth/route.js +1 -1
  126. package/app/.next/server/app/api/cli-tools/antigravity-mitm/inject-auth/route.js.nft.json +1 -1
  127. package/app/.next/server/app/api/cli-tools/antigravity-mitm/restart/route.js +1 -1
  128. package/app/.next/server/app/api/cli-tools/antigravity-mitm/restart/route.js.nft.json +1 -1
  129. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  130. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  131. package/app/.next/server/app/api/cli-tools/antigravity-mitm/test/route.js +1 -1
  132. package/app/.next/server/app/api/cli-tools/antigravity-mitm/test/route.js.nft.json +1 -1
  133. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  134. package/app/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  135. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +1 -1
  136. package/app/.next/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  137. package/app/.next/server/app/api/cli-tools/codex-settings/activate-account/route.js +2 -2
  138. package/app/.next/server/app/api/cli-tools/codex-settings/activate-account/route.js.nft.json +1 -1
  139. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
  140. package/app/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  141. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  142. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  143. package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  144. package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  145. package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  146. package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  147. package/app/.next/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  148. package/app/.next/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  149. package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js +9 -0
  150. package/app/.next/server/app/api/{cloud/auth → cli-tools/deepseek-tui-settings}/route.js.nft.json +1 -1
  151. package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route_client-reference-manifest.js +1 -0
  152. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
  153. package/app/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  154. package/app/.next/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  155. package/app/.next/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  156. package/app/.next/server/app/api/cli-tools/jcode-settings/route.js +3 -0
  157. package/app/.next/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -0
  158. package/app/.next/server/app/api/cli-tools/jcode-settings/route_client-reference-manifest.js +1 -0
  159. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  160. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  161. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  162. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  163. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  164. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  165. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  166. package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
  167. package/app/.next/server/app/api/combos/route.js +1 -1
  168. package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
  169. package/app/.next/server/app/api/health/route.js +1 -1
  170. package/app/.next/server/app/api/health/route.js.nft.json +1 -1
  171. package/app/.next/server/app/api/init/route.js +1 -1
  172. package/app/.next/server/app/api/init/route.js.nft.json +1 -1
  173. package/app/.next/server/app/api/keys/[id]/route.js +1 -1
  174. package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
  175. package/app/.next/server/app/api/keys/route.js +1 -1
  176. package/app/.next/server/app/api/keys/route.js.nft.json +1 -1
  177. package/app/.next/server/app/api/locale/route.js +1 -1
  178. package/app/.next/server/app/api/locale/route.js.nft.json +1 -1
  179. package/app/.next/server/app/api/mcp/[plugin]/message/route.js +3 -3
  180. package/app/.next/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  181. package/app/.next/server/app/api/mcp/[plugin]/sse/route.js +4 -4
  182. package/app/.next/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  183. package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  184. package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  185. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  186. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  187. package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  188. package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  189. package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js +1 -0
  190. package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -0
  191. package/app/.next/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +1 -0
  192. package/app/.next/server/app/api/media-providers/tts/voices/route.js +1 -1
  193. package/app/.next/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  194. package/app/.next/server/app/api/models/alias/route.js +1 -1
  195. package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
  196. package/app/.next/server/app/api/models/availability/route.js +1 -1
  197. package/app/.next/server/app/api/models/availability/route.js.nft.json +1 -1
  198. package/app/.next/server/app/api/models/custom/route.js +1 -1
  199. package/app/.next/server/app/api/models/custom/route.js.nft.json +1 -1
  200. package/app/.next/server/app/api/models/disabled/route.js +1 -1
  201. package/app/.next/server/app/api/models/disabled/route.js.nft.json +1 -1
  202. package/app/.next/server/app/api/models/route.js +1 -1
  203. package/app/.next/server/app/api/models/route.js.nft.json +1 -1
  204. package/app/.next/server/app/api/models/test/route.js +1 -1
  205. package/app/.next/server/app/api/models/test/route.js.nft.json +1 -1
  206. package/app/.next/server/app/api/network-analysis/route.js +2 -2
  207. package/app/.next/server/app/api/network-analysis/route.js.nft.json +1 -1
  208. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +2 -2
  209. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  210. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  211. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  212. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  213. package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  214. package/app/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
  215. package/app/.next/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  216. package/app/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
  217. package/app/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  218. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  219. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  220. package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  221. package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  222. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  223. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  224. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  225. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  226. package/app/.next/server/app/api/pricing/route.js +1 -1
  227. package/app/.next/server/app/api/pricing/route.js.nft.json +1 -1
  228. package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  229. package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  230. package/app/.next/server/app/api/provider-nodes/route.js +1 -1
  231. package/app/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
  232. package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
  233. package/app/.next/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  234. package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
  235. package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  236. package/app/.next/server/app/api/providers/[id]/route.js +1 -1
  237. package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
  238. package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
  239. package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  240. package/app/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
  241. package/app/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  242. package/app/.next/server/app/api/providers/client/route.js +1 -1
  243. package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
  244. package/app/.next/server/app/api/providers/kilo/free-models/route.js +1 -1
  245. package/app/.next/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  246. package/app/.next/server/app/api/providers/route.js +1 -1
  247. package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
  248. package/app/.next/server/app/api/providers/suggested-models/route.js +1 -1
  249. package/app/.next/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  250. package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
  251. package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  252. package/app/.next/server/app/api/providers/validate/route.js +1 -1
  253. package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
  254. package/app/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
  255. package/app/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  256. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  257. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  258. package/app/.next/server/app/api/proxy-pools/route.js +1 -1
  259. package/app/.next/server/app/api/proxy-pools/route.js.nft.json +1 -1
  260. package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  261. package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  262. package/app/.next/server/app/api/settings/database/route.js +1 -1
  263. package/app/.next/server/app/api/settings/database/route.js.nft.json +1 -1
  264. package/app/.next/server/app/api/settings/proxy-test/route.js +1 -1
  265. package/app/.next/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  266. package/app/.next/server/app/api/settings/require-login/route.js +1 -1
  267. package/app/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
  268. package/app/.next/server/app/api/settings/route.js +1 -1
  269. package/app/.next/server/app/api/settings/route.js.nft.json +1 -1
  270. package/app/.next/server/app/api/shutdown/route.js +1 -1
  271. package/app/.next/server/app/api/shutdown/route.js.nft.json +1 -1
  272. package/app/.next/server/app/api/startup-notices/route.js +2 -2
  273. package/app/.next/server/app/api/startup-notices/route.js.nft.json +1 -1
  274. package/app/.next/server/app/api/tags/route.js +1 -1
  275. package/app/.next/server/app/api/tags/route.js.nft.json +1 -1
  276. package/app/.next/server/app/api/translator/console-logs/route.js +1 -1
  277. package/app/.next/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  278. package/app/.next/server/app/api/translator/console-logs/stream/route.js +2 -2
  279. package/app/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  280. package/app/.next/server/app/api/translator/load/route.js +1 -1
  281. package/app/.next/server/app/api/translator/load/route.js.nft.json +1 -1
  282. package/app/.next/server/app/api/translator/save/route.js +1 -1
  283. package/app/.next/server/app/api/translator/save/route.js.nft.json +1 -1
  284. package/app/.next/server/app/api/translator/send/route.js +1 -1
  285. package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
  286. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  287. package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
  288. package/app/.next/server/app/api/tunnel/disable/route.js +1 -1
  289. package/app/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  290. package/app/.next/server/app/api/tunnel/enable/route.js +1 -1
  291. package/app/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  292. package/app/.next/server/app/api/tunnel/status/route.js +1 -1
  293. package/app/.next/server/app/api/tunnel/status/route.js.nft.json +1 -1
  294. package/app/.next/server/app/api/tunnel/tailscale-check/route.js +1 -1
  295. package/app/.next/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  296. package/app/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  297. package/app/.next/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  298. package/app/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  299. package/app/.next/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  300. package/app/.next/server/app/api/tunnel/tailscale-install/route.js +4 -4
  301. package/app/.next/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  302. package/app/.next/server/app/api/tunnel/tailscale-login/route.js +1 -1
  303. package/app/.next/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  304. package/app/.next/server/app/api/tunnel/tailscale-start-daemon/route.js +2 -2
  305. package/app/.next/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  306. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  307. package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  308. package/app/.next/server/app/api/usage/api-keys/route.js +1 -1
  309. package/app/.next/server/app/api/usage/api-keys/route.js.nft.json +1 -1
  310. package/app/.next/server/app/api/usage/chart/route.js +1 -1
  311. package/app/.next/server/app/api/usage/chart/route.js.nft.json +1 -1
  312. package/app/.next/server/app/api/usage/history/route.js +1 -1
  313. package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
  314. package/app/.next/server/app/api/usage/logs/route.js +1 -1
  315. package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
  316. package/app/.next/server/app/api/usage/providers/route.js +1 -1
  317. package/app/.next/server/app/api/usage/providers/route.js.nft.json +1 -1
  318. package/app/.next/server/app/api/usage/request-details/route.js +1 -1
  319. package/app/.next/server/app/api/usage/request-details/route.js.nft.json +1 -1
  320. package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
  321. package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  322. package/app/.next/server/app/api/usage/stats/route.js +1 -1
  323. package/app/.next/server/app/api/usage/stats/route.js.nft.json +1 -1
  324. package/app/.next/server/app/api/usage/stream/route.js +2 -2
  325. package/app/.next/server/app/api/usage/stream/route.js.nft.json +1 -1
  326. package/app/.next/server/app/api/users/[id]/route.js +1 -1
  327. package/app/.next/server/app/api/users/[id]/route.js.nft.json +1 -1
  328. package/app/.next/server/app/api/users/route.js +1 -1
  329. package/app/.next/server/app/api/users/route.js.nft.json +1 -1
  330. package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
  331. package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  332. package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
  333. package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  334. package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
  335. package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  336. package/app/.next/server/app/api/v1/audio/voices/route.js +1 -1
  337. package/app/.next/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  338. package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
  339. package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  340. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  341. package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  342. package/app/.next/server/app/api/v1/images/generations/route.js +1 -1
  343. package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  344. package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
  345. package/app/.next/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  346. package/app/.next/server/app/api/v1/messages/route.js +1 -1
  347. package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
  348. package/app/.next/server/app/api/v1/models/[kind]/route.js +1 -1
  349. package/app/.next/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  350. package/app/.next/server/app/api/v1/models/info/route.js +1 -1
  351. package/app/.next/server/app/api/v1/models/info/route.js.nft.json +1 -1
  352. package/app/.next/server/app/api/v1/models/route.js +1 -1
  353. package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  354. package/app/.next/server/app/api/v1/responses/compact/route.js +1 -1
  355. package/app/.next/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  356. package/app/.next/server/app/api/v1/responses/route.js +1 -1
  357. package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
  358. package/app/.next/server/app/api/v1/route.js +1 -1
  359. package/app/.next/server/app/api/v1/route.js.nft.json +1 -1
  360. package/app/.next/server/app/api/v1/search/route.js +1 -1
  361. package/app/.next/server/app/api/v1/search/route.js.nft.json +1 -1
  362. package/app/.next/server/app/api/v1/web/fetch/route.js +1 -1
  363. package/app/.next/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  364. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  365. package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  366. package/app/.next/server/app/api/v1beta/models/route.js +1 -1
  367. package/app/.next/server/app/api/v1beta/models/route.js.nft.json +1 -1
  368. package/app/.next/server/app/api/version/route.js +1 -1
  369. package/app/.next/server/app/api/version/route.js.nft.json +1 -1
  370. package/app/.next/server/app/api/version/shutdown/route.js +1 -1
  371. package/app/.next/server/app/api/version/shutdown/route.js.nft.json +1 -1
  372. package/app/.next/server/app/api/version/update/route.js +1 -1
  373. package/app/.next/server/app/api/version/update/route.js.nft.json +1 -1
  374. package/app/.next/server/app/callback/page.js +2 -2
  375. package/app/.next/server/app/callback/page.js.nft.json +1 -1
  376. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  377. package/app/.next/server/app/callback.html +1 -1
  378. package/app/.next/server/app/callback.rsc +4 -4
  379. package/app/.next/server/app/callback.segments/_full.segment.rsc +4 -4
  380. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  381. package/app/.next/server/app/callback.segments/_index.segment.rsc +4 -4
  382. package/app/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
  383. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  384. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  385. package/app/.next/server/app/dashboard/settings/pricing/page.js +2 -2
  386. package/app/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  387. package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  388. package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
  389. package/app/.next/server/app/dashboard/settings/pricing.rsc +4 -4
  390. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  391. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  392. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  393. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  394. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  395. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  396. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  397. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  398. package/app/.next/server/app/favicon.ico/route.js +1 -1
  399. package/app/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  400. package/app/.next/server/app/index.html +1 -1
  401. package/app/.next/server/app/index.rsc +4 -4
  402. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  403. package/app/.next/server/app/index.segments/_full.segment.rsc +4 -4
  404. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  405. package/app/.next/server/app/index.segments/_index.segment.rsc +4 -4
  406. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  407. package/app/.next/server/app/landing/page.js +2 -2
  408. package/app/.next/server/app/landing/page.js.nft.json +1 -1
  409. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  410. package/app/.next/server/app/landing.html +1 -1
  411. package/app/.next/server/app/landing.rsc +4 -4
  412. package/app/.next/server/app/landing.segments/_full.segment.rsc +4 -4
  413. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  414. package/app/.next/server/app/landing.segments/_index.segment.rsc +4 -4
  415. package/app/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
  416. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  417. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  418. package/app/.next/server/app/login/page.js +2 -2
  419. package/app/.next/server/app/login/page.js.nft.json +1 -1
  420. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  421. package/app/.next/server/app/login.html +1 -1
  422. package/app/.next/server/app/login.rsc +5 -5
  423. package/app/.next/server/app/login.segments/_full.segment.rsc +5 -5
  424. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  425. package/app/.next/server/app/login.segments/_index.segment.rsc +4 -4
  426. package/app/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  427. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  428. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  429. package/app/.next/server/app/manifest.webmanifest/route.js +2 -2
  430. package/app/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  431. package/app/.next/server/app/page.js +2 -2
  432. package/app/.next/server/app/page.js.nft.json +1 -1
  433. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  434. package/app/.next/server/app-paths-manifest.json +6 -6
  435. package/app/.next/server/chunks/1350.js +4 -4
  436. package/app/.next/server/chunks/1476.js +1 -0
  437. package/app/.next/server/chunks/2415.js +17 -0
  438. package/app/.next/server/chunks/2506.js +4 -4
  439. package/app/.next/server/chunks/2560.js +1 -1
  440. package/app/.next/server/chunks/2574.js +1 -0
  441. package/app/.next/server/chunks/2722.js +58 -0
  442. package/app/.next/server/chunks/3110.js +56 -5
  443. package/app/.next/server/chunks/3493.js +2 -2
  444. package/app/.next/server/chunks/3593.js +2 -2
  445. package/app/.next/server/chunks/412.js +5 -5
  446. package/app/.next/server/chunks/{9641.js → 4565.js} +2 -2
  447. package/app/.next/server/chunks/4664.js +1 -1
  448. package/app/.next/server/chunks/5217.js +1 -1
  449. package/app/.next/server/chunks/5330.js +7 -5
  450. package/app/.next/server/chunks/5681.js +1 -1
  451. package/app/.next/server/chunks/6001.js +1 -1
  452. package/app/.next/server/chunks/6393.js +1 -1
  453. package/app/.next/server/chunks/7177.js +1 -0
  454. package/app/.next/server/chunks/7595.js +1 -1
  455. package/app/.next/server/chunks/7828.js +1 -1
  456. package/app/.next/server/chunks/7930.js +3 -0
  457. package/app/.next/server/chunks/8574.js +1 -0
  458. package/app/.next/server/chunks/8651.js +9 -0
  459. package/app/.next/server/chunks/8750.js +1 -0
  460. package/app/.next/server/chunks/8760.js +1 -1
  461. package/app/.next/server/chunks/8895.js +25 -16
  462. package/app/.next/server/chunks/9095.js +1 -0
  463. package/app/.next/server/chunks/9718.js +1 -1
  464. package/app/.next/server/chunks/9856.js +1 -1
  465. package/app/.next/server/functions-config-manifest.json +2 -30
  466. package/app/.next/server/middleware-build-manifest.js +1 -1
  467. package/app/.next/server/middleware.js +2 -2
  468. package/app/.next/server/pages/404.html +1 -1
  469. package/app/.next/server/pages/500.html +1 -1
  470. package/app/.next/server/server-reference-manifest.js +1 -1
  471. package/app/.next/server/server-reference-manifest.json +1 -1
  472. package/app/.next/static/Q5oB2dEL7XeWBhjwqT_vo/_buildManifest.js +1 -0
  473. package/app/.next/static/chunks/1321-621ed3470478397e.js +1 -0
  474. package/app/.next/static/chunks/4072-cc92fb1222a2752b.js +3 -0
  475. package/app/.next/static/chunks/{5095-42d435b0583b2f98.js → 5095-c2bb7e2fc99ab8c3.js} +2 -2
  476. package/app/.next/static/chunks/5497-bebd4378b1048022.js +7 -0
  477. package/app/.next/static/chunks/6069-7c51e16aef293430.js +58 -0
  478. package/app/.next/static/chunks/7055-e60e20f43bfbe5f8.js +1 -0
  479. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-efbd0b93d35d25cc.js +1 -0
  480. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-acbac7a67319955a.js +1 -0
  481. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-7fabe6d07b1f8823.js +1 -0
  482. package/app/.next/static/chunks/app/(dashboard)/dashboard/focus-ui/{page-fb59dea0e48968bf.js → page-329b3a170ddd28c6.js} +1 -1
  483. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-e43ee64cc1f1547c.js +59 -0
  484. package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/page-e0f570e37fcc4d53.js +1 -0
  485. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-31a6e1cb19ebc4d8.js → page-c3234f9c82b1a78e.js} +2 -2
  486. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-979e3e3663264d2b.js +1 -0
  487. package/app/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-5040868a50d977bf.js +4 -0
  488. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-814b95c8fc310a6a.js +1 -0
  489. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-18d6399108c458a6.js +1 -0
  490. package/app/.next/static/chunks/app/_global-error/page-814b95c8fc310a6a.js +1 -0
  491. package/app/.next/static/chunks/app/api/auth/login/route-814b95c8fc310a6a.js +1 -0
  492. package/app/.next/static/chunks/app/api/auth/logout/route-814b95c8fc310a6a.js +1 -0
  493. package/app/.next/static/chunks/app/api/auth/me/route-814b95c8fc310a6a.js +1 -0
  494. package/app/.next/static/chunks/app/api/auth/oidc/callback/route-814b95c8fc310a6a.js +1 -0
  495. package/app/.next/static/chunks/app/api/auth/oidc/start/route-814b95c8fc310a6a.js +1 -0
  496. package/app/.next/static/chunks/app/api/auth/oidc/test/route-814b95c8fc310a6a.js +1 -0
  497. package/app/.next/static/chunks/app/api/auth/status/route-814b95c8fc310a6a.js +1 -0
  498. package/app/.next/static/chunks/app/api/cli-tools/all-statuses/route-814b95c8fc310a6a.js +1 -0
  499. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-814b95c8fc310a6a.js +1 -0
  500. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/inject-auth/route-814b95c8fc310a6a.js +1 -0
  501. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/restart/route-814b95c8fc310a6a.js +1 -0
  502. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-814b95c8fc310a6a.js +1 -0
  503. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/test/route-814b95c8fc310a6a.js +1 -0
  504. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-814b95c8fc310a6a.js +1 -0
  505. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-814b95c8fc310a6a.js +1 -0
  506. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/activate-account/route-814b95c8fc310a6a.js +1 -0
  507. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-814b95c8fc310a6a.js +1 -0
  508. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-814b95c8fc310a6a.js +1 -0
  509. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-814b95c8fc310a6a.js +1 -0
  510. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-814b95c8fc310a6a.js +1 -0
  511. package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-814b95c8fc310a6a.js +1 -0
  512. package/app/.next/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-814b95c8fc310a6a.js +1 -0
  513. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-814b95c8fc310a6a.js +1 -0
  514. package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-814b95c8fc310a6a.js +1 -0
  515. package/app/.next/static/chunks/app/api/cli-tools/jcode-settings/route-814b95c8fc310a6a.js +1 -0
  516. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-814b95c8fc310a6a.js +1 -0
  517. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-814b95c8fc310a6a.js +1 -0
  518. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-814b95c8fc310a6a.js +1 -0
  519. package/app/.next/static/chunks/app/api/combos/[id]/route-814b95c8fc310a6a.js +1 -0
  520. package/app/.next/static/chunks/app/api/combos/route-814b95c8fc310a6a.js +1 -0
  521. package/app/.next/static/chunks/app/api/health/route-814b95c8fc310a6a.js +1 -0
  522. package/app/.next/static/chunks/app/api/init/route-814b95c8fc310a6a.js +1 -0
  523. package/app/.next/static/chunks/app/api/keys/[id]/route-814b95c8fc310a6a.js +1 -0
  524. package/app/.next/static/chunks/app/api/keys/route-814b95c8fc310a6a.js +1 -0
  525. package/app/.next/static/chunks/app/api/locale/route-814b95c8fc310a6a.js +1 -0
  526. package/app/.next/static/chunks/app/api/mcp/[plugin]/message/route-814b95c8fc310a6a.js +1 -0
  527. package/app/.next/static/chunks/app/api/mcp/[plugin]/sse/route-814b95c8fc310a6a.js +1 -0
  528. package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-814b95c8fc310a6a.js +1 -0
  529. package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-814b95c8fc310a6a.js +1 -0
  530. package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-814b95c8fc310a6a.js +1 -0
  531. package/app/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-814b95c8fc310a6a.js +1 -0
  532. package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-814b95c8fc310a6a.js +1 -0
  533. package/app/.next/static/chunks/app/api/models/alias/route-814b95c8fc310a6a.js +1 -0
  534. package/app/.next/static/chunks/app/api/models/availability/route-814b95c8fc310a6a.js +1 -0
  535. package/app/.next/static/chunks/app/api/models/custom/route-814b95c8fc310a6a.js +1 -0
  536. package/app/.next/static/chunks/app/api/models/disabled/route-814b95c8fc310a6a.js +1 -0
  537. package/app/.next/static/chunks/app/api/models/route-814b95c8fc310a6a.js +1 -0
  538. package/app/.next/static/chunks/app/api/models/test/route-814b95c8fc310a6a.js +1 -0
  539. package/app/.next/static/chunks/app/api/network-analysis/route-814b95c8fc310a6a.js +1 -0
  540. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-814b95c8fc310a6a.js +1 -0
  541. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-814b95c8fc310a6a.js +1 -0
  542. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-814b95c8fc310a6a.js +1 -0
  543. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-814b95c8fc310a6a.js +1 -0
  544. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-814b95c8fc310a6a.js +1 -0
  545. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-814b95c8fc310a6a.js +1 -0
  546. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-814b95c8fc310a6a.js +1 -0
  547. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-814b95c8fc310a6a.js +1 -0
  548. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-814b95c8fc310a6a.js +1 -0
  549. package/app/.next/static/chunks/app/api/pricing/route-814b95c8fc310a6a.js +1 -0
  550. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-814b95c8fc310a6a.js +1 -0
  551. package/app/.next/static/chunks/app/api/provider-nodes/route-814b95c8fc310a6a.js +1 -0
  552. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-814b95c8fc310a6a.js +1 -0
  553. package/app/.next/static/chunks/app/api/providers/[id]/models/route-814b95c8fc310a6a.js +1 -0
  554. package/app/.next/static/chunks/app/api/providers/[id]/route-814b95c8fc310a6a.js +1 -0
  555. package/app/.next/static/chunks/app/api/providers/[id]/test/route-814b95c8fc310a6a.js +1 -0
  556. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-814b95c8fc310a6a.js +1 -0
  557. package/app/.next/static/chunks/app/api/providers/client/route-814b95c8fc310a6a.js +1 -0
  558. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-814b95c8fc310a6a.js +1 -0
  559. package/app/.next/static/chunks/app/api/providers/route-814b95c8fc310a6a.js +1 -0
  560. package/app/.next/static/chunks/app/api/providers/suggested-models/route-814b95c8fc310a6a.js +1 -0
  561. package/app/.next/static/chunks/app/api/providers/test-batch/route-814b95c8fc310a6a.js +1 -0
  562. package/app/.next/static/chunks/app/api/providers/validate/route-814b95c8fc310a6a.js +1 -0
  563. package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-814b95c8fc310a6a.js +1 -0
  564. package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-814b95c8fc310a6a.js +1 -0
  565. package/app/.next/static/chunks/app/api/proxy-pools/route-814b95c8fc310a6a.js +1 -0
  566. package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-814b95c8fc310a6a.js +1 -0
  567. package/app/.next/static/chunks/app/api/settings/database/route-814b95c8fc310a6a.js +1 -0
  568. package/app/.next/static/chunks/app/api/settings/proxy-test/route-814b95c8fc310a6a.js +1 -0
  569. package/app/.next/static/chunks/app/api/settings/require-login/route-814b95c8fc310a6a.js +1 -0
  570. package/app/.next/static/chunks/app/api/settings/route-814b95c8fc310a6a.js +1 -0
  571. package/app/.next/static/chunks/app/api/shutdown/route-814b95c8fc310a6a.js +1 -0
  572. package/app/.next/static/chunks/app/api/startup-notices/route-814b95c8fc310a6a.js +1 -0
  573. package/app/.next/static/chunks/app/api/tags/route-814b95c8fc310a6a.js +1 -0
  574. package/app/.next/static/chunks/app/api/translator/console-logs/route-814b95c8fc310a6a.js +1 -0
  575. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-814b95c8fc310a6a.js +1 -0
  576. package/app/.next/static/chunks/app/api/translator/load/route-814b95c8fc310a6a.js +1 -0
  577. package/app/.next/static/chunks/app/api/translator/save/route-814b95c8fc310a6a.js +1 -0
  578. package/app/.next/static/chunks/app/api/translator/send/route-814b95c8fc310a6a.js +1 -0
  579. package/app/.next/static/chunks/app/api/translator/translate/route-814b95c8fc310a6a.js +1 -0
  580. package/app/.next/static/chunks/app/api/tunnel/disable/route-814b95c8fc310a6a.js +1 -0
  581. package/app/.next/static/chunks/app/api/tunnel/enable/route-814b95c8fc310a6a.js +1 -0
  582. package/app/.next/static/chunks/app/api/tunnel/status/route-814b95c8fc310a6a.js +1 -0
  583. package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-814b95c8fc310a6a.js +1 -0
  584. package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-814b95c8fc310a6a.js +1 -0
  585. package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-814b95c8fc310a6a.js +1 -0
  586. package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-814b95c8fc310a6a.js +1 -0
  587. package/app/.next/static/chunks/app/api/tunnel/tailscale-login/route-814b95c8fc310a6a.js +1 -0
  588. package/app/.next/static/chunks/app/api/tunnel/tailscale-start-daemon/route-814b95c8fc310a6a.js +1 -0
  589. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-814b95c8fc310a6a.js +1 -0
  590. package/app/.next/static/chunks/app/api/usage/api-keys/route-814b95c8fc310a6a.js +1 -0
  591. package/app/.next/static/chunks/app/api/usage/chart/route-814b95c8fc310a6a.js +1 -0
  592. package/app/.next/static/chunks/app/api/usage/history/route-814b95c8fc310a6a.js +1 -0
  593. package/app/.next/static/chunks/app/api/usage/logs/route-814b95c8fc310a6a.js +1 -0
  594. package/app/.next/static/chunks/app/api/usage/providers/route-814b95c8fc310a6a.js +1 -0
  595. package/app/.next/static/chunks/app/api/usage/request-details/route-814b95c8fc310a6a.js +1 -0
  596. package/app/.next/static/chunks/app/api/usage/request-logs/route-814b95c8fc310a6a.js +1 -0
  597. package/app/.next/static/chunks/app/api/usage/stats/route-814b95c8fc310a6a.js +1 -0
  598. package/app/.next/static/chunks/app/api/usage/stream/route-814b95c8fc310a6a.js +1 -0
  599. package/app/.next/static/chunks/app/api/users/[id]/route-814b95c8fc310a6a.js +1 -0
  600. package/app/.next/static/chunks/app/api/users/route-814b95c8fc310a6a.js +1 -0
  601. package/app/.next/static/chunks/app/api/v1/api/chat/route-814b95c8fc310a6a.js +1 -0
  602. package/app/.next/static/chunks/app/api/v1/audio/speech/route-814b95c8fc310a6a.js +1 -0
  603. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-814b95c8fc310a6a.js +1 -0
  604. package/app/.next/static/chunks/app/api/v1/audio/voices/route-814b95c8fc310a6a.js +1 -0
  605. package/app/.next/static/chunks/app/api/v1/chat/completions/route-814b95c8fc310a6a.js +1 -0
  606. package/app/.next/static/chunks/app/api/v1/embeddings/route-814b95c8fc310a6a.js +1 -0
  607. package/app/.next/static/chunks/app/api/v1/images/generations/route-814b95c8fc310a6a.js +1 -0
  608. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-814b95c8fc310a6a.js +1 -0
  609. package/app/.next/static/chunks/app/api/v1/messages/route-814b95c8fc310a6a.js +1 -0
  610. package/app/.next/static/chunks/app/api/v1/models/[kind]/route-814b95c8fc310a6a.js +1 -0
  611. package/app/.next/static/chunks/app/api/v1/models/info/route-814b95c8fc310a6a.js +1 -0
  612. package/app/.next/static/chunks/app/api/v1/models/route-814b95c8fc310a6a.js +1 -0
  613. package/app/.next/static/chunks/app/api/v1/responses/compact/route-814b95c8fc310a6a.js +1 -0
  614. package/app/.next/static/chunks/app/api/v1/responses/route-814b95c8fc310a6a.js +1 -0
  615. package/app/.next/static/chunks/app/api/v1/route-814b95c8fc310a6a.js +1 -0
  616. package/app/.next/static/chunks/app/api/v1/search/route-814b95c8fc310a6a.js +1 -0
  617. package/app/.next/static/chunks/app/api/v1/web/fetch/route-814b95c8fc310a6a.js +1 -0
  618. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-814b95c8fc310a6a.js +1 -0
  619. package/app/.next/static/chunks/app/api/v1beta/models/route-814b95c8fc310a6a.js +1 -0
  620. package/app/.next/static/chunks/app/api/version/route-814b95c8fc310a6a.js +1 -0
  621. package/app/.next/static/chunks/app/api/version/shutdown/route-814b95c8fc310a6a.js +1 -0
  622. package/app/.next/static/chunks/app/api/version/update/route-814b95c8fc310a6a.js +1 -0
  623. package/app/.next/static/chunks/app/manifest.webmanifest/route-814b95c8fc310a6a.js +1 -0
  624. package/app/.next/static/chunks/app/page-814b95c8fc310a6a.js +1 -0
  625. package/app/.next/static/chunks/{main-2237af167d2c1c35.js → main-b8d198db3858ff3e.js} +3 -3
  626. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-814b95c8fc310a6a.js +1 -0
  627. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-814b95c8fc310a6a.js +1 -0
  628. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-814b95c8fc310a6a.js +1 -0
  629. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-814b95c8fc310a6a.js +1 -0
  630. package/app/.next/static/css/402ee8646e1afa89.css +1 -0
  631. package/app/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  632. package/app/node_modules/sql.js/dist/sql-wasm.js +185 -0
  633. package/app/node_modules/sql.js/dist/sql-wasm.wasm +0 -0
  634. package/app/node_modules/sql.js/package.json +58 -0
  635. package/app/package.json +5 -1
  636. package/app/public/i18n/literals/ar.json +176 -173
  637. package/app/public/i18n/literals/bn.json +176 -173
  638. package/app/public/i18n/literals/cs.json +176 -173
  639. package/app/public/i18n/literals/da.json +176 -173
  640. package/app/public/i18n/literals/de.json +176 -173
  641. package/app/public/i18n/literals/el.json +176 -173
  642. package/app/public/i18n/literals/es.json +176 -173
  643. package/app/public/i18n/literals/fi.json +176 -173
  644. package/app/public/i18n/literals/fr.json +176 -173
  645. package/app/public/i18n/literals/he.json +176 -173
  646. package/app/public/i18n/literals/hi.json +176 -173
  647. package/app/public/i18n/literals/hu.json +176 -173
  648. package/app/public/i18n/literals/id.json +176 -173
  649. package/app/public/i18n/literals/it.json +176 -173
  650. package/app/public/i18n/literals/ja.json +176 -173
  651. package/app/public/i18n/literals/ko.json +176 -173
  652. package/app/public/i18n/literals/nl.json +176 -173
  653. package/app/public/i18n/literals/no.json +176 -173
  654. package/app/public/i18n/literals/pl.json +176 -173
  655. package/app/public/i18n/literals/pt-BR.json +176 -173
  656. package/app/public/i18n/literals/pt-PT.json +176 -173
  657. package/app/public/i18n/literals/ro.json +176 -173
  658. package/app/public/i18n/literals/ru.json +176 -173
  659. package/app/public/i18n/literals/sv.json +176 -173
  660. package/app/public/i18n/literals/th.json +176 -173
  661. package/app/public/i18n/literals/tl.json +176 -173
  662. package/app/public/i18n/literals/tr.json +176 -173
  663. package/app/public/i18n/literals/uk.json +176 -173
  664. package/app/public/i18n/literals/ur.json +176 -173
  665. package/app/public/i18n/literals/vi.json +176 -173
  666. package/app/public/i18n/literals/zh-CN.json +356 -359
  667. package/app/public/i18n/literals/zh-TW.json +184 -181
  668. package/app/public/providers/amp.png +0 -0
  669. package/app/public/providers/deepseek-tui.png +0 -0
  670. package/app/public/providers/jcode.png +0 -0
  671. package/app/public/providers/xiaomi-tokenplan.png +0 -0
  672. package/app/server.js +1 -1
  673. package/app/src/lib/db/migrate.js +56 -18
  674. package/app/src/mitm/config.js +16 -1
  675. package/app/src/mitm/handlers/antigravity.js +2 -1
  676. package/app/src/mitm/handlers/base.js +4 -1
  677. package/app/src/mitm/handlers/kiro.js +3 -1
  678. package/app/src/mitm/logger.js +11 -1
  679. package/app/src/mitm/server.js +18 -15
  680. package/package.json +1 -1
  681. package/app/.next/server/app/api/cloud/auth/route.js +0 -1
  682. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +0 -1
  683. package/app/.next/server/app/api/cloud/credentials/update/route.js +0 -1
  684. package/app/.next/server/app/api/cloud/credentials/update/route.js.nft.json +0 -1
  685. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +0 -1
  686. package/app/.next/server/app/api/cloud/model/resolve/route.js +0 -1
  687. package/app/.next/server/app/api/cloud/model/resolve/route.js.nft.json +0 -1
  688. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +0 -1
  689. package/app/.next/server/app/api/cloud/models/alias/route.js +0 -1
  690. package/app/.next/server/app/api/cloud/models/alias/route.js.nft.json +0 -1
  691. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +0 -1
  692. package/app/.next/server/chunks/2343.js +0 -1
  693. package/app/.next/server/chunks/3855.js +0 -1
  694. package/app/.next/server/chunks/4126.js +0 -1
  695. package/app/.next/server/chunks/4922.js +0 -9
  696. package/app/.next/server/chunks/5434.js +0 -1
  697. package/app/.next/server/chunks/5627.js +0 -17
  698. package/app/.next/server/chunks/723.js +0 -44
  699. package/app/.next/server/chunks/8866.js +0 -1
  700. package/app/.next/server/chunks/9300.js +0 -3
  701. package/app/.next/server/chunks/9460.js +0 -1
  702. package/app/.next/static/9qtW6KlzV_D2b828CZp1A/_buildManifest.js +0 -1
  703. package/app/.next/static/chunks/1321-634f2d25db77d618.js +0 -1
  704. package/app/.next/static/chunks/4072-91de6609dc7e6753.js +0 -3
  705. package/app/.next/static/chunks/5497-4a0f0c365aea0ea7.js +0 -7
  706. package/app/.next/static/chunks/5964-08d6048e026d4245.js +0 -44
  707. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-211e322f002d5464.js +0 -1
  708. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-69469b6440aff8d0.js +0 -1
  709. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-95d31a6372622fcf.js +0 -59
  710. package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/page-7ae37df256035f59.js +0 -1
  711. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-9d071b63170b7f71.js +0 -1
  712. package/app/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-7762d83be0982941.js +0 -4
  713. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-1879675a73caf73c.js +0 -1
  714. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-f77dc916ed5a6f99.js +0 -1
  715. package/app/.next/static/chunks/app/_global-error/page-1879675a73caf73c.js +0 -1
  716. package/app/.next/static/chunks/app/api/auth/login/route-1879675a73caf73c.js +0 -1
  717. package/app/.next/static/chunks/app/api/auth/logout/route-1879675a73caf73c.js +0 -1
  718. package/app/.next/static/chunks/app/api/auth/me/route-1879675a73caf73c.js +0 -1
  719. package/app/.next/static/chunks/app/api/auth/oidc/callback/route-1879675a73caf73c.js +0 -1
  720. package/app/.next/static/chunks/app/api/auth/oidc/start/route-1879675a73caf73c.js +0 -1
  721. package/app/.next/static/chunks/app/api/auth/oidc/test/route-1879675a73caf73c.js +0 -1
  722. package/app/.next/static/chunks/app/api/auth/status/route-1879675a73caf73c.js +0 -1
  723. package/app/.next/static/chunks/app/api/cli-tools/all-statuses/route-1879675a73caf73c.js +0 -1
  724. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-1879675a73caf73c.js +0 -1
  725. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/inject-auth/route-1879675a73caf73c.js +0 -1
  726. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/restart/route-1879675a73caf73c.js +0 -1
  727. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-1879675a73caf73c.js +0 -1
  728. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/test/route-1879675a73caf73c.js +0 -1
  729. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-1879675a73caf73c.js +0 -1
  730. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-1879675a73caf73c.js +0 -1
  731. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/activate-account/route-1879675a73caf73c.js +0 -1
  732. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-1879675a73caf73c.js +0 -1
  733. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-1879675a73caf73c.js +0 -1
  734. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-1879675a73caf73c.js +0 -1
  735. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-1879675a73caf73c.js +0 -1
  736. package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-1879675a73caf73c.js +0 -1
  737. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-1879675a73caf73c.js +0 -1
  738. package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-1879675a73caf73c.js +0 -1
  739. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-1879675a73caf73c.js +0 -1
  740. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-1879675a73caf73c.js +0 -1
  741. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-1879675a73caf73c.js +0 -1
  742. package/app/.next/static/chunks/app/api/cloud/auth/route-1879675a73caf73c.js +0 -1
  743. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-1879675a73caf73c.js +0 -1
  744. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-1879675a73caf73c.js +0 -1
  745. package/app/.next/static/chunks/app/api/cloud/models/alias/route-1879675a73caf73c.js +0 -1
  746. package/app/.next/static/chunks/app/api/combos/[id]/route-1879675a73caf73c.js +0 -1
  747. package/app/.next/static/chunks/app/api/combos/route-1879675a73caf73c.js +0 -1
  748. package/app/.next/static/chunks/app/api/health/route-1879675a73caf73c.js +0 -1
  749. package/app/.next/static/chunks/app/api/init/route-1879675a73caf73c.js +0 -1
  750. package/app/.next/static/chunks/app/api/keys/[id]/route-1879675a73caf73c.js +0 -1
  751. package/app/.next/static/chunks/app/api/keys/route-1879675a73caf73c.js +0 -1
  752. package/app/.next/static/chunks/app/api/locale/route-1879675a73caf73c.js +0 -1
  753. package/app/.next/static/chunks/app/api/mcp/[plugin]/message/route-1879675a73caf73c.js +0 -1
  754. package/app/.next/static/chunks/app/api/mcp/[plugin]/sse/route-1879675a73caf73c.js +0 -1
  755. package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-1879675a73caf73c.js +0 -1
  756. package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-1879675a73caf73c.js +0 -1
  757. package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-1879675a73caf73c.js +0 -1
  758. package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-1879675a73caf73c.js +0 -1
  759. package/app/.next/static/chunks/app/api/models/alias/route-1879675a73caf73c.js +0 -1
  760. package/app/.next/static/chunks/app/api/models/availability/route-1879675a73caf73c.js +0 -1
  761. package/app/.next/static/chunks/app/api/models/custom/route-1879675a73caf73c.js +0 -1
  762. package/app/.next/static/chunks/app/api/models/disabled/route-1879675a73caf73c.js +0 -1
  763. package/app/.next/static/chunks/app/api/models/route-1879675a73caf73c.js +0 -1
  764. package/app/.next/static/chunks/app/api/models/test/route-1879675a73caf73c.js +0 -1
  765. package/app/.next/static/chunks/app/api/network-analysis/route-1879675a73caf73c.js +0 -1
  766. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-1879675a73caf73c.js +0 -1
  767. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-1879675a73caf73c.js +0 -1
  768. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-1879675a73caf73c.js +0 -1
  769. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-1879675a73caf73c.js +0 -1
  770. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-1879675a73caf73c.js +0 -1
  771. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-1879675a73caf73c.js +0 -1
  772. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-1879675a73caf73c.js +0 -1
  773. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-1879675a73caf73c.js +0 -1
  774. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-1879675a73caf73c.js +0 -1
  775. package/app/.next/static/chunks/app/api/pricing/route-1879675a73caf73c.js +0 -1
  776. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-1879675a73caf73c.js +0 -1
  777. package/app/.next/static/chunks/app/api/provider-nodes/route-1879675a73caf73c.js +0 -1
  778. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-1879675a73caf73c.js +0 -1
  779. package/app/.next/static/chunks/app/api/providers/[id]/models/route-1879675a73caf73c.js +0 -1
  780. package/app/.next/static/chunks/app/api/providers/[id]/route-1879675a73caf73c.js +0 -1
  781. package/app/.next/static/chunks/app/api/providers/[id]/test/route-1879675a73caf73c.js +0 -1
  782. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-1879675a73caf73c.js +0 -1
  783. package/app/.next/static/chunks/app/api/providers/client/route-1879675a73caf73c.js +0 -1
  784. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-1879675a73caf73c.js +0 -1
  785. package/app/.next/static/chunks/app/api/providers/route-1879675a73caf73c.js +0 -1
  786. package/app/.next/static/chunks/app/api/providers/suggested-models/route-1879675a73caf73c.js +0 -1
  787. package/app/.next/static/chunks/app/api/providers/test-batch/route-1879675a73caf73c.js +0 -1
  788. package/app/.next/static/chunks/app/api/providers/validate/route-1879675a73caf73c.js +0 -1
  789. package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-1879675a73caf73c.js +0 -1
  790. package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-1879675a73caf73c.js +0 -1
  791. package/app/.next/static/chunks/app/api/proxy-pools/route-1879675a73caf73c.js +0 -1
  792. package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-1879675a73caf73c.js +0 -1
  793. package/app/.next/static/chunks/app/api/settings/database/route-1879675a73caf73c.js +0 -1
  794. package/app/.next/static/chunks/app/api/settings/proxy-test/route-1879675a73caf73c.js +0 -1
  795. package/app/.next/static/chunks/app/api/settings/require-login/route-1879675a73caf73c.js +0 -1
  796. package/app/.next/static/chunks/app/api/settings/route-1879675a73caf73c.js +0 -1
  797. package/app/.next/static/chunks/app/api/shutdown/route-1879675a73caf73c.js +0 -1
  798. package/app/.next/static/chunks/app/api/startup-notices/route-1879675a73caf73c.js +0 -1
  799. package/app/.next/static/chunks/app/api/tags/route-1879675a73caf73c.js +0 -1
  800. package/app/.next/static/chunks/app/api/translator/console-logs/route-1879675a73caf73c.js +0 -1
  801. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-1879675a73caf73c.js +0 -1
  802. package/app/.next/static/chunks/app/api/translator/load/route-1879675a73caf73c.js +0 -1
  803. package/app/.next/static/chunks/app/api/translator/save/route-1879675a73caf73c.js +0 -1
  804. package/app/.next/static/chunks/app/api/translator/send/route-1879675a73caf73c.js +0 -1
  805. package/app/.next/static/chunks/app/api/translator/translate/route-1879675a73caf73c.js +0 -1
  806. package/app/.next/static/chunks/app/api/tunnel/disable/route-1879675a73caf73c.js +0 -1
  807. package/app/.next/static/chunks/app/api/tunnel/enable/route-1879675a73caf73c.js +0 -1
  808. package/app/.next/static/chunks/app/api/tunnel/status/route-1879675a73caf73c.js +0 -1
  809. package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-1879675a73caf73c.js +0 -1
  810. package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-1879675a73caf73c.js +0 -1
  811. package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-1879675a73caf73c.js +0 -1
  812. package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-1879675a73caf73c.js +0 -1
  813. package/app/.next/static/chunks/app/api/tunnel/tailscale-login/route-1879675a73caf73c.js +0 -1
  814. package/app/.next/static/chunks/app/api/tunnel/tailscale-start-daemon/route-1879675a73caf73c.js +0 -1
  815. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-1879675a73caf73c.js +0 -1
  816. package/app/.next/static/chunks/app/api/usage/api-keys/route-1879675a73caf73c.js +0 -1
  817. package/app/.next/static/chunks/app/api/usage/chart/route-1879675a73caf73c.js +0 -1
  818. package/app/.next/static/chunks/app/api/usage/history/route-1879675a73caf73c.js +0 -1
  819. package/app/.next/static/chunks/app/api/usage/logs/route-1879675a73caf73c.js +0 -1
  820. package/app/.next/static/chunks/app/api/usage/providers/route-1879675a73caf73c.js +0 -1
  821. package/app/.next/static/chunks/app/api/usage/request-details/route-1879675a73caf73c.js +0 -1
  822. package/app/.next/static/chunks/app/api/usage/request-logs/route-1879675a73caf73c.js +0 -1
  823. package/app/.next/static/chunks/app/api/usage/stats/route-1879675a73caf73c.js +0 -1
  824. package/app/.next/static/chunks/app/api/usage/stream/route-1879675a73caf73c.js +0 -1
  825. package/app/.next/static/chunks/app/api/users/[id]/route-1879675a73caf73c.js +0 -1
  826. package/app/.next/static/chunks/app/api/users/route-1879675a73caf73c.js +0 -1
  827. package/app/.next/static/chunks/app/api/v1/api/chat/route-1879675a73caf73c.js +0 -1
  828. package/app/.next/static/chunks/app/api/v1/audio/speech/route-1879675a73caf73c.js +0 -1
  829. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-1879675a73caf73c.js +0 -1
  830. package/app/.next/static/chunks/app/api/v1/audio/voices/route-1879675a73caf73c.js +0 -1
  831. package/app/.next/static/chunks/app/api/v1/chat/completions/route-1879675a73caf73c.js +0 -1
  832. package/app/.next/static/chunks/app/api/v1/embeddings/route-1879675a73caf73c.js +0 -1
  833. package/app/.next/static/chunks/app/api/v1/images/generations/route-1879675a73caf73c.js +0 -1
  834. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-1879675a73caf73c.js +0 -1
  835. package/app/.next/static/chunks/app/api/v1/messages/route-1879675a73caf73c.js +0 -1
  836. package/app/.next/static/chunks/app/api/v1/models/[kind]/route-1879675a73caf73c.js +0 -1
  837. package/app/.next/static/chunks/app/api/v1/models/info/route-1879675a73caf73c.js +0 -1
  838. package/app/.next/static/chunks/app/api/v1/models/route-1879675a73caf73c.js +0 -1
  839. package/app/.next/static/chunks/app/api/v1/responses/compact/route-1879675a73caf73c.js +0 -1
  840. package/app/.next/static/chunks/app/api/v1/responses/route-1879675a73caf73c.js +0 -1
  841. package/app/.next/static/chunks/app/api/v1/route-1879675a73caf73c.js +0 -1
  842. package/app/.next/static/chunks/app/api/v1/search/route-1879675a73caf73c.js +0 -1
  843. package/app/.next/static/chunks/app/api/v1/web/fetch/route-1879675a73caf73c.js +0 -1
  844. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-1879675a73caf73c.js +0 -1
  845. package/app/.next/static/chunks/app/api/v1beta/models/route-1879675a73caf73c.js +0 -1
  846. package/app/.next/static/chunks/app/api/version/route-1879675a73caf73c.js +0 -1
  847. package/app/.next/static/chunks/app/api/version/shutdown/route-1879675a73caf73c.js +0 -1
  848. package/app/.next/static/chunks/app/api/version/update/route-1879675a73caf73c.js +0 -1
  849. package/app/.next/static/chunks/app/manifest.webmanifest/route-1879675a73caf73c.js +0 -1
  850. package/app/.next/static/chunks/app/page-1879675a73caf73c.js +0 -1
  851. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-1879675a73caf73c.js +0 -1
  852. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-1879675a73caf73c.js +0 -1
  853. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-1879675a73caf73c.js +0 -1
  854. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-1879675a73caf73c.js +0 -1
  855. package/app/.next/static/css/f6642f5333f94810.css +0 -1
  856. /package/app/.next/static/{9qtW6KlzV_D2b828CZp1A → Q5oB2dEL7XeWBhjwqT_vo}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"98":{"*":{"id":"4770","name":"*","chunks":[],"async":false}},"4823":{"*":{"id":"50585","name":"*","chunks":[],"async":false}},"7570":{"*":{"id":"33557","name":"*","chunks":[],"async":false}},"7648":{"*":{"id":"85306","name":"*","chunks":[],"async":false}},"11910":{"*":{"id":"83552","name":"*","chunks":[],"async":false}},"12572":{"*":{"id":"57422","name":"*","chunks":[],"async":false}},"15615":{"*":{"id":"14731","name":"*","chunks":[],"async":false}},"16144":{"*":{"id":"40410","name":"*","chunks":[],"async":false}},"17169":{"*":{"id":"39672","name":"*","chunks":[],"async":false}},"18042":{"*":{"id":"21682","name":"*","chunks":[],"async":false}},"21110":{"*":{"id":"19308","name":"*","chunks":[],"async":false}},"21931":{"*":{"id":"267","name":"*","chunks":[],"async":false}},"22662":{"*":{"id":"23296","name":"*","chunks":[],"async":false}},"23132":{"*":{"id":"28403","name":"*","chunks":[],"async":false}},"23615":{"*":{"id":"91809","name":"*","chunks":[],"async":false}},"23879":{"*":{"id":"34965","name":"*","chunks":[],"async":false}},"23936":{"*":{"id":"79488","name":"*","chunks":[],"async":false}},"25086":{"*":{"id":"74812","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"28058":{"*":{"id":"20084","name":"*","chunks":[],"async":false}},"28067":{"*":{"id":"91099","name":"*","chunks":[],"async":false}},"28815":{"*":{"id":"39645","name":"*","chunks":[],"async":false}},"30815":{"*":{"id":"51109","name":"*","chunks":[],"async":false}},"36548":{"*":{"id":"23048","name":"*","chunks":[],"async":false}},"36894":{"*":{"id":"48076","name":"*","chunks":[],"async":false}},"38587":{"*":{"id":"53845","name":"*","chunks":[],"async":false}},"40197":{"*":{"id":"11229","name":"*","chunks":[],"async":false}},"44493":{"*":{"id":"81157","name":"*","chunks":[],"async":false}},"45455":{"*":{"id":"62727","name":"*","chunks":[],"async":false}},"45699":{"*":{"id":"56725","name":"*","chunks":[],"async":false}},"47295":{"*":{"id":"76653","name":"*","chunks":[],"async":false}},"50433":{"*":{"id":"95745","name":"*","chunks":[],"async":false}},"51825":{"*":{"id":"11633","name":"*","chunks":[],"async":false}},"56061":{"*":{"id":"75171","name":"*","chunks":[],"async":false}},"56319":{"*":{"id":"25919","name":"*","chunks":[],"async":false}},"57076":{"*":{"id":"19388","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"59884":{"*":{"id":"19598","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"61500":{"*":{"id":"86209","name":"*","chunks":[],"async":false}},"62899":{"*":{"id":"5291","name":"*","chunks":[],"async":false}},"64082":{"*":{"id":"94558","name":"*","chunks":[],"async":false}},"64561":{"*":{"id":"61377","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"71088":{"*":{"id":"16316","name":"*","chunks":[],"async":false}},"72908":{"*":{"id":"83352","name":"*","chunks":[],"async":false}},"73579":{"*":{"id":"51585","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"74891":{"*":{"id":"86739","name":"*","chunks":[],"async":false}},"75228":{"*":{"id":"50692","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"80752":{"*":{"id":"3236","name":"*","chunks":[],"async":false}},"81127":{"*":{"id":"95145","name":"*","chunks":[],"async":false}},"81772":{"*":{"id":"40074","name":"*","chunks":[],"async":false}},"83016":{"*":{"id":"14412","name":"*","chunks":[],"async":false}},"84588":{"*":{"id":"17660","name":"*","chunks":[],"async":false}},"85941":{"*":{"id":"18968","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"87304":{"*":{"id":"14144","name":"*","chunks":[],"async":false}},"88512":{"*":{"id":"73180","name":"*","chunks":[],"async":false}},"89455":{"*":{"id":"44852","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"90882":{"*":{"id":"79346","name":"*","chunks":[],"async":false}},"91450":{"*":{"id":"53838","name":"*","chunks":[],"async":false}},"92173":{"*":{"id":"48781","name":"*","chunks":[],"async":false}},"92542":{"*":{"id":"99070","name":"*","chunks":[],"async":false}},"92622":{"*":{"id":"42196","name":"*","chunks":[],"async":false}},"94230":{"*":{"id":"56110","name":"*","chunks":[],"async":false}},"94588":{"*":{"id":"7870","name":"*","chunks":[],"async":false}},"94635":{"*":{"id":"5211","name":"*","chunks":[],"async":false}},"95088":{"*":{"id":"43182","name":"*","chunks":[],"async":false}},"95892":{"*":{"id":"37900","name":"*","chunks":[],"async":false}},"95907":{"*":{"id":"43173","name":"*","chunks":[],"async":false}},"96748":{"*":{"id":"67738","name":"*","chunks":[],"async":false}},"97677":{"*":{"id":"32971","name":"*","chunks":[],"async":false}},"98542":{"*":{"id":"95514","name":"*","chunks":[],"async":false}},"98572":{"*":{"id":"31402","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/material-symbols/outlined.css":{"id":5887,"name":"*","chunks":["1321","static/chunks/1321-634f2d25db77d618.js","7177","static/chunks/app/layout-2f20e93bb64f203d.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/globals.css":{"id":51743,"name":"*","chunks":["1321","static/chunks/1321-634f2d25db77d618.js","7177","static/chunks/app/layout-2f20e93bb64f203d.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/i18n/RuntimeI18nProvider.js":{"id":94635,"name":"*","chunks":["1321","static/chunks/1321-634f2d25db77d618.js","7177","static/chunks/app/layout-2f20e93bb64f203d.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/ThemeProvider.js":{"id":21110,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/callback/page.js":{"id":59884,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/dashboard/settings/pricing/page.js":{"id":87304,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/landing/page.js":{"id":85941,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/login/page.js":{"id":83016,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/AddCustomEmbeddingModal.js":{"id":96748,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/AddCustomImageModal.js":{"id":98572,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Avatar.js":{"id":56319,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Badge.js":{"id":56061,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Button.js":{"id":92542,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Card.js":{"id":84588,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/ChangelogModal.js":{"id":40197,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/ComboFormModal.js":{"id":45455,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/CursorAuthModal.js":{"id":30815,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/EditConnectionModal.js":{"id":73579,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Footer.js":{"id":92173,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/GitLabAuthModal.js":{"id":95088,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Header.js":{"id":74891,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/HeaderMenu.js":{"id":80752,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/IFlowCookieModal.js":{"id":23936,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Input.js":{"id":11910,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/KiroAuthModal.js":{"id":61500,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/KiroOAuthWrapper.js":{"id":62899,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/KiroSocialOAuthModal.js":{"id":94230,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/LanguageSwitcher.js":{"id":21931,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/layouts/AuthLayout.js":{"id":91450,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/layouts/DashboardLayout.js":{"id":7648,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Loading.js":{"id":25086,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/ManualConfigModal.js":{"id":28815,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/McpMarketplaceModal.js":{"id":28058,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Modal.js":{"id":81127,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/ModelSelectModal.js":{"id":72908,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/NineRemoteButton.js":{"id":36548,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/NoAuthProxyCard.js":{"id":4823,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/OAuthModal.js":{"id":90882,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/ProviderInfoCard.js":{"id":51825,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/RequestLogger.js":{"id":23615,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/SegmentedControl.js":{"id":28067,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Select.js":{"id":98,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Sidebar.js":{"id":92622,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/ThemeToggle.js":{"id":38587,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Toggle.js":{"id":98542,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Tooltip.js":{"id":97677,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/UsageStats.js":{"id":23132,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/UserRoleProvider.js":{"id":95892,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-634f2d25db77d618.js","5497","static/chunks/5497-4a0f0c365aea0ea7.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/admin/keys/page.js":{"id":36894,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/admin/users/page.js":{"id":17169,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.js":{"id":88512,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/cli-tools/CLIToolsPageClient.js":{"id":75228,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/combos/page.js":{"id":47295,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js":{"id":95907,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js":{"id":94588,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/media-providers/[kind]/page.js":{"id":16144,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js":{"id":22662,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/media-providers/web/page.js":{"id":71088,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/mitm/MitmPageClient.js":{"id":23879,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/providers/new/page.js":{"id":15615,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/quota/page.js":{"id":18042,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/skills/page.js":{"id":64082,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/usage/page.js":{"id":81772,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/user/page.js":{"id":50433,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/console-log/ConsoleLogClient.js":{"id":44493,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/focus-ui/FocusUIPageClient.js":{"id":89455,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/network-analysis/page.js":{"id":45699,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/profile/page.js":{"id":64561,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/proxy-pools/page.js":{"id":57076,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/providers/page.js":{"id":12572,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/providers/[id]/page.js":{"id":7570,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/bytedance/Documents/Projects/9router/src/":[],"/Users/bytedance/Documents/Projects/9router/src/app/layout":[{"inlined":false,"path":"static/css/fe3b2b4e527f4e99.css"},{"inlined":false,"path":"static/css/f6642f5333f94810.css"}],"/Users/bytedance/Documents/Projects/9router/src/app/page":[],"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/layout":[{"inlined":false,"path":"static/css/599369d853c61df7.css"}]},"rscModuleMapping":{"98":{"*":{"id":"83784","name":"*","chunks":[],"async":false}},"4823":{"*":{"id":"5843","name":"*","chunks":[],"async":false}},"5887":{"*":{"id":"36497","name":"*","chunks":[],"async":false}},"7570":{"*":{"id":"93110","name":"*","chunks":[],"async":false}},"7648":{"*":{"id":"61780","name":"*","chunks":[],"async":false}},"11910":{"*":{"id":"71230","name":"*","chunks":[],"async":false}},"12572":{"*":{"id":"44030","name":"*","chunks":[],"async":false}},"15615":{"*":{"id":"24885","name":"*","chunks":[],"async":false}},"16144":{"*":{"id":"6452","name":"*","chunks":[],"async":false}},"17169":{"*":{"id":"24684","name":"*","chunks":[],"async":false}},"18042":{"*":{"id":"16736","name":"*","chunks":[],"async":false}},"21110":{"*":{"id":"89886","name":"*","chunks":[],"async":false}},"21931":{"*":{"id":"45205","name":"*","chunks":[],"async":false}},"22662":{"*":{"id":"50254","name":"*","chunks":[],"async":false}},"23132":{"*":{"id":"2422","name":"*","chunks":[],"async":false}},"23615":{"*":{"id":"19083","name":"*","chunks":[],"async":false}},"23879":{"*":{"id":"8523","name":"*","chunks":[],"async":false}},"23936":{"*":{"id":"80342","name":"*","chunks":[],"async":false}},"25086":{"*":{"id":"92082","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"28058":{"*":{"id":"962","name":"*","chunks":[],"async":false}},"28067":{"*":{"id":"54065","name":"*","chunks":[],"async":false}},"28815":{"*":{"id":"70603","name":"*","chunks":[],"async":false}},"30815":{"*":{"id":"40167","name":"*","chunks":[],"async":false}},"36548":{"*":{"id":"29674","name":"*","chunks":[],"async":false}},"36894":{"*":{"id":"7314","name":"*","chunks":[],"async":false}},"38587":{"*":{"id":"40515","name":"*","chunks":[],"async":false}},"40197":{"*":{"id":"33811","name":"*","chunks":[],"async":false}},"44493":{"*":{"id":"99259","name":"*","chunks":[],"async":false}},"45455":{"*":{"id":"20493","name":"*","chunks":[],"async":false}},"45699":{"*":{"id":"9803","name":"*","chunks":[],"async":false}},"47295":{"*":{"id":"35447","name":"*","chunks":[],"async":false}},"50433":{"*":{"id":"79235","name":"*","chunks":[],"async":false}},"51743":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"51825":{"*":{"id":"81923","name":"*","chunks":[],"async":false}},"56061":{"*":{"id":"33893","name":"*","chunks":[],"async":false}},"56319":{"*":{"id":"70061","name":"*","chunks":[],"async":false}},"57076":{"*":{"id":"23450","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"59884":{"*":{"id":"3604","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"61500":{"*":{"id":"82448","name":"*","chunks":[],"async":false}},"62899":{"*":{"id":"14285","name":"*","chunks":[],"async":false}},"64082":{"*":{"id":"40852","name":"*","chunks":[],"async":false}},"64561":{"*":{"id":"50047","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"71088":{"*":{"id":"93918","name":"*","chunks":[],"async":false}},"72908":{"*":{"id":"94582","name":"*","chunks":[],"async":false}},"73579":{"*":{"id":"70139","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"74891":{"*":{"id":"92669","name":"*","chunks":[],"async":false}},"75228":{"*":{"id":"79518","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"80752":{"*":{"id":"29354","name":"*","chunks":[],"async":false}},"81127":{"*":{"id":"10079","name":"*","chunks":[],"async":false}},"81772":{"*":{"id":"87149","name":"*","chunks":[],"async":false}},"83016":{"*":{"id":"65674","name":"*","chunks":[],"async":false}},"84588":{"*":{"id":"7290","name":"*","chunks":[],"async":false}},"85941":{"*":{"id":"852","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"87304":{"*":{"id":"93870","name":"*","chunks":[],"async":false}},"88512":{"*":{"id":"79286","name":"*","chunks":[],"async":false}},"89455":{"*":{"id":"24830","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"90882":{"*":{"id":"3080","name":"*","chunks":[],"async":false}},"91450":{"*":{"id":"64420","name":"*","chunks":[],"async":false}},"92173":{"*":{"id":"49123","name":"*","chunks":[],"async":false}},"92542":{"*":{"id":"45512","name":"*","chunks":[],"async":false}},"92622":{"*":{"id":"26866","name":"*","chunks":[],"async":false}},"94230":{"*":{"id":"87228","name":"*","chunks":[],"async":false}},"94588":{"*":{"id":"69296","name":"*","chunks":[],"async":false}},"94635":{"*":{"id":"85117","name":"*","chunks":[],"async":false}},"95088":{"*":{"id":"64148","name":"*","chunks":[],"async":false}},"95892":{"*":{"id":"76978","name":"*","chunks":[],"async":false}},"95907":{"*":{"id":"51747","name":"*","chunks":[],"async":false}},"96748":{"*":{"id":"18200","name":"*","chunks":[],"async":false}},"97677":{"*":{"id":"18421","name":"*","chunks":[],"async":false}},"98542":{"*":{"id":"70092","name":"*","chunks":[],"async":false}},"98572":{"*":{"id":"26288","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"98":{"*":{"id":"4770","name":"*","chunks":[],"async":false}},"4823":{"*":{"id":"50585","name":"*","chunks":[],"async":false}},"7570":{"*":{"id":"33557","name":"*","chunks":[],"async":false}},"7648":{"*":{"id":"85306","name":"*","chunks":[],"async":false}},"11910":{"*":{"id":"83552","name":"*","chunks":[],"async":false}},"12572":{"*":{"id":"57422","name":"*","chunks":[],"async":false}},"15615":{"*":{"id":"14731","name":"*","chunks":[],"async":false}},"16144":{"*":{"id":"40410","name":"*","chunks":[],"async":false}},"17169":{"*":{"id":"39672","name":"*","chunks":[],"async":false}},"18042":{"*":{"id":"21682","name":"*","chunks":[],"async":false}},"21110":{"*":{"id":"19308","name":"*","chunks":[],"async":false}},"21931":{"*":{"id":"267","name":"*","chunks":[],"async":false}},"22662":{"*":{"id":"23296","name":"*","chunks":[],"async":false}},"23132":{"*":{"id":"28403","name":"*","chunks":[],"async":false}},"23615":{"*":{"id":"91809","name":"*","chunks":[],"async":false}},"23879":{"*":{"id":"34965","name":"*","chunks":[],"async":false}},"23936":{"*":{"id":"79488","name":"*","chunks":[],"async":false}},"25086":{"*":{"id":"74812","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"28058":{"*":{"id":"20084","name":"*","chunks":[],"async":false}},"28067":{"*":{"id":"91099","name":"*","chunks":[],"async":false}},"28815":{"*":{"id":"39645","name":"*","chunks":[],"async":false}},"30815":{"*":{"id":"51109","name":"*","chunks":[],"async":false}},"36548":{"*":{"id":"23048","name":"*","chunks":[],"async":false}},"36894":{"*":{"id":"48076","name":"*","chunks":[],"async":false}},"38587":{"*":{"id":"53845","name":"*","chunks":[],"async":false}},"40197":{"*":{"id":"11229","name":"*","chunks":[],"async":false}},"44493":{"*":{"id":"81157","name":"*","chunks":[],"async":false}},"45455":{"*":{"id":"62727","name":"*","chunks":[],"async":false}},"45699":{"*":{"id":"56725","name":"*","chunks":[],"async":false}},"47295":{"*":{"id":"18513","name":"*","chunks":[],"async":false}},"50433":{"*":{"id":"95745","name":"*","chunks":[],"async":false}},"51825":{"*":{"id":"11633","name":"*","chunks":[],"async":false}},"53501":{"*":{"id":"23658","name":"*","chunks":[],"async":false}},"56061":{"*":{"id":"75171","name":"*","chunks":[],"async":false}},"56319":{"*":{"id":"25919","name":"*","chunks":[],"async":false}},"57076":{"*":{"id":"19388","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"59884":{"*":{"id":"19598","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"61500":{"*":{"id":"86209","name":"*","chunks":[],"async":false}},"62899":{"*":{"id":"5291","name":"*","chunks":[],"async":false}},"64082":{"*":{"id":"94558","name":"*","chunks":[],"async":false}},"64561":{"*":{"id":"61377","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"71088":{"*":{"id":"16316","name":"*","chunks":[],"async":false}},"72908":{"*":{"id":"83352","name":"*","chunks":[],"async":false}},"73579":{"*":{"id":"51585","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"74891":{"*":{"id":"86739","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"80752":{"*":{"id":"3236","name":"*","chunks":[],"async":false}},"81127":{"*":{"id":"95145","name":"*","chunks":[],"async":false}},"81772":{"*":{"id":"40074","name":"*","chunks":[],"async":false}},"83016":{"*":{"id":"14412","name":"*","chunks":[],"async":false}},"84588":{"*":{"id":"17660","name":"*","chunks":[],"async":false}},"85309":{"*":{"id":"29499","name":"*","chunks":[],"async":false}},"85941":{"*":{"id":"18968","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"87304":{"*":{"id":"14144","name":"*","chunks":[],"async":false}},"88512":{"*":{"id":"73180","name":"*","chunks":[],"async":false}},"89455":{"*":{"id":"44852","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"90882":{"*":{"id":"79346","name":"*","chunks":[],"async":false}},"91450":{"*":{"id":"53838","name":"*","chunks":[],"async":false}},"92173":{"*":{"id":"48781","name":"*","chunks":[],"async":false}},"92542":{"*":{"id":"99070","name":"*","chunks":[],"async":false}},"92622":{"*":{"id":"42196","name":"*","chunks":[],"async":false}},"94230":{"*":{"id":"56110","name":"*","chunks":[],"async":false}},"94588":{"*":{"id":"7870","name":"*","chunks":[],"async":false}},"94635":{"*":{"id":"5211","name":"*","chunks":[],"async":false}},"95088":{"*":{"id":"43182","name":"*","chunks":[],"async":false}},"95892":{"*":{"id":"37900","name":"*","chunks":[],"async":false}},"95907":{"*":{"id":"43173","name":"*","chunks":[],"async":false}},"96748":{"*":{"id":"67738","name":"*","chunks":[],"async":false}},"97677":{"*":{"id":"32971","name":"*","chunks":[],"async":false}},"98542":{"*":{"id":"95514","name":"*","chunks":[],"async":false}},"98572":{"*":{"id":"31402","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/node_modules/material-symbols/outlined.css":{"id":5887,"name":"*","chunks":["1321","static/chunks/1321-621ed3470478397e.js","7177","static/chunks/app/layout-2f20e93bb64f203d.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/globals.css":{"id":51743,"name":"*","chunks":["1321","static/chunks/1321-621ed3470478397e.js","7177","static/chunks/app/layout-2f20e93bb64f203d.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/i18n/RuntimeI18nProvider.js":{"id":94635,"name":"*","chunks":["1321","static/chunks/1321-621ed3470478397e.js","7177","static/chunks/app/layout-2f20e93bb64f203d.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/ThemeProvider.js":{"id":21110,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/callback/page.js":{"id":59884,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/dashboard/settings/pricing/page.js":{"id":87304,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/landing/page.js":{"id":85941,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/login/page.js":{"id":83016,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/AddCustomEmbeddingModal.js":{"id":96748,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/AddCustomImageModal.js":{"id":98572,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Avatar.js":{"id":56319,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Badge.js":{"id":56061,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Button.js":{"id":92542,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Card.js":{"id":84588,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/ChangelogModal.js":{"id":40197,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/ComboFormModal.js":{"id":45455,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/CursorAuthModal.js":{"id":30815,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/EditConnectionModal.js":{"id":73579,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Footer.js":{"id":92173,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/GitLabAuthModal.js":{"id":95088,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Header.js":{"id":74891,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/HeaderMenu.js":{"id":80752,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/IFlowCookieModal.js":{"id":23936,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Input.js":{"id":11910,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/KiroAuthModal.js":{"id":61500,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/KiroOAuthWrapper.js":{"id":62899,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/KiroSocialOAuthModal.js":{"id":94230,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/LanguageSwitcher.js":{"id":21931,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/layouts/AuthLayout.js":{"id":91450,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/layouts/DashboardLayout.js":{"id":7648,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Loading.js":{"id":25086,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/ManualConfigModal.js":{"id":28815,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/McpMarketplaceModal.js":{"id":28058,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Modal.js":{"id":81127,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/ModelSelectModal.js":{"id":72908,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/NineRemoteButton.js":{"id":36548,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/NoAuthProxyCard.js":{"id":4823,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/OAuthModal.js":{"id":90882,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/ProviderInfoCard.js":{"id":51825,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/RequestLogger.js":{"id":23615,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/SegmentedControl.js":{"id":28067,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Select.js":{"id":98,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Sidebar.js":{"id":92622,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/ThemeToggle.js":{"id":38587,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Toggle.js":{"id":98542,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/Tooltip.js":{"id":97677,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/UsageStats.js":{"id":23132,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/shared/components/UserRoleProvider.js":{"id":95892,"name":"*","chunks":["3862","static/chunks/1a258343-5938f676ed376386.js","1051","static/chunks/1051-a02f07646d97d6ca.js","1321","static/chunks/1321-621ed3470478397e.js","5497","static/chunks/5497-bebd4378b1048022.js","9305","static/chunks/app/(dashboard)/layout-00b66bc0e6b38a14.js"],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/admin/keys/page.js":{"id":36894,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/admin/users/page.js":{"id":17169,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.js":{"id":88512,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/cli-tools/[toolId]/ToolDetailClient.js":{"id":85309,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/cli-tools/CLIToolsPageClient.js":{"id":53501,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/combos/page.js":{"id":47295,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js":{"id":95907,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js":{"id":94588,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/media-providers/[kind]/page.js":{"id":16144,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js":{"id":22662,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/media-providers/web/page.js":{"id":71088,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/mitm/MitmPageClient.js":{"id":23879,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/providers/new/page.js":{"id":15615,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/quota/page.js":{"id":18042,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/skills/page.js":{"id":64082,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/usage/page.js":{"id":81772,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/user/page.js":{"id":50433,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/console-log/ConsoleLogClient.js":{"id":44493,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/focus-ui/FocusUIPageClient.js":{"id":89455,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/network-analysis/page.js":{"id":45699,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/profile/page.js":{"id":64561,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/proxy-pools/page.js":{"id":57076,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/providers/page.js":{"id":12572,"name":"*","chunks":[],"async":false},"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/dashboard/providers/[id]/page.js":{"id":7570,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/bytedance/Documents/Projects/9router/src/":[],"/Users/bytedance/Documents/Projects/9router/src/app/layout":[{"inlined":false,"path":"static/css/fe3b2b4e527f4e99.css"},{"inlined":false,"path":"static/css/402ee8646e1afa89.css"}],"/Users/bytedance/Documents/Projects/9router/src/app/page":[],"/Users/bytedance/Documents/Projects/9router/src/app/(dashboard)/layout":[{"inlined":false,"path":"static/css/599369d853c61df7.css"}]},"rscModuleMapping":{"98":{"*":{"id":"83784","name":"*","chunks":[],"async":false}},"4823":{"*":{"id":"5843","name":"*","chunks":[],"async":false}},"5887":{"*":{"id":"36497","name":"*","chunks":[],"async":false}},"7570":{"*":{"id":"93110","name":"*","chunks":[],"async":false}},"7648":{"*":{"id":"61780","name":"*","chunks":[],"async":false}},"11910":{"*":{"id":"71230","name":"*","chunks":[],"async":false}},"12572":{"*":{"id":"44030","name":"*","chunks":[],"async":false}},"15615":{"*":{"id":"24885","name":"*","chunks":[],"async":false}},"16144":{"*":{"id":"6452","name":"*","chunks":[],"async":false}},"17169":{"*":{"id":"24684","name":"*","chunks":[],"async":false}},"18042":{"*":{"id":"16736","name":"*","chunks":[],"async":false}},"21110":{"*":{"id":"89886","name":"*","chunks":[],"async":false}},"21931":{"*":{"id":"45205","name":"*","chunks":[],"async":false}},"22662":{"*":{"id":"50254","name":"*","chunks":[],"async":false}},"23132":{"*":{"id":"2422","name":"*","chunks":[],"async":false}},"23615":{"*":{"id":"19083","name":"*","chunks":[],"async":false}},"23879":{"*":{"id":"8523","name":"*","chunks":[],"async":false}},"23936":{"*":{"id":"80342","name":"*","chunks":[],"async":false}},"25086":{"*":{"id":"92082","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"28058":{"*":{"id":"962","name":"*","chunks":[],"async":false}},"28067":{"*":{"id":"54065","name":"*","chunks":[],"async":false}},"28815":{"*":{"id":"70603","name":"*","chunks":[],"async":false}},"30815":{"*":{"id":"40167","name":"*","chunks":[],"async":false}},"36548":{"*":{"id":"29674","name":"*","chunks":[],"async":false}},"36894":{"*":{"id":"7314","name":"*","chunks":[],"async":false}},"38587":{"*":{"id":"40515","name":"*","chunks":[],"async":false}},"40197":{"*":{"id":"33811","name":"*","chunks":[],"async":false}},"44493":{"*":{"id":"99259","name":"*","chunks":[],"async":false}},"45455":{"*":{"id":"20493","name":"*","chunks":[],"async":false}},"45699":{"*":{"id":"9803","name":"*","chunks":[],"async":false}},"47295":{"*":{"id":"35447","name":"*","chunks":[],"async":false}},"50433":{"*":{"id":"79235","name":"*","chunks":[],"async":false}},"51743":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"51825":{"*":{"id":"81923","name":"*","chunks":[],"async":false}},"53501":{"*":{"id":"79518","name":"*","chunks":[],"async":false}},"56061":{"*":{"id":"33893","name":"*","chunks":[],"async":false}},"56319":{"*":{"id":"70061","name":"*","chunks":[],"async":false}},"57076":{"*":{"id":"23450","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"59884":{"*":{"id":"3604","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"61500":{"*":{"id":"82448","name":"*","chunks":[],"async":false}},"62899":{"*":{"id":"14285","name":"*","chunks":[],"async":false}},"64082":{"*":{"id":"40852","name":"*","chunks":[],"async":false}},"64561":{"*":{"id":"50047","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"71088":{"*":{"id":"93918","name":"*","chunks":[],"async":false}},"72908":{"*":{"id":"94582","name":"*","chunks":[],"async":false}},"73579":{"*":{"id":"70139","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"74891":{"*":{"id":"92669","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"80752":{"*":{"id":"29354","name":"*","chunks":[],"async":false}},"81127":{"*":{"id":"10079","name":"*","chunks":[],"async":false}},"81772":{"*":{"id":"87149","name":"*","chunks":[],"async":false}},"83016":{"*":{"id":"65674","name":"*","chunks":[],"async":false}},"84588":{"*":{"id":"7290","name":"*","chunks":[],"async":false}},"85309":{"*":{"id":"99005","name":"*","chunks":[],"async":false}},"85941":{"*":{"id":"852","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"87304":{"*":{"id":"93870","name":"*","chunks":[],"async":false}},"88512":{"*":{"id":"79286","name":"*","chunks":[],"async":false}},"89455":{"*":{"id":"24830","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"90882":{"*":{"id":"3080","name":"*","chunks":[],"async":false}},"91450":{"*":{"id":"64420","name":"*","chunks":[],"async":false}},"92173":{"*":{"id":"49123","name":"*","chunks":[],"async":false}},"92542":{"*":{"id":"45512","name":"*","chunks":[],"async":false}},"92622":{"*":{"id":"26866","name":"*","chunks":[],"async":false}},"94230":{"*":{"id":"87228","name":"*","chunks":[],"async":false}},"94588":{"*":{"id":"69296","name":"*","chunks":[],"async":false}},"94635":{"*":{"id":"85117","name":"*","chunks":[],"async":false}},"95088":{"*":{"id":"64148","name":"*","chunks":[],"async":false}},"95892":{"*":{"id":"76978","name":"*","chunks":[],"async":false}},"95907":{"*":{"id":"51747","name":"*","chunks":[],"async":false}},"96748":{"*":{"id":"18200","name":"*","chunks":[],"async":false}},"97677":{"*":{"id":"18421","name":"*","chunks":[],"async":false}},"98542":{"*":{"id":"70092","name":"*","chunks":[],"async":false}},"98572":{"*":{"id":"26288","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
@@ -21,15 +21,13 @@
21
21
  "/api/cli-tools/cowork-mcp-registry/route": "app/api/cli-tools/cowork-mcp-registry/route.js",
22
22
  "/api/cli-tools/cowork-mcp-tools/route": "app/api/cli-tools/cowork-mcp-tools/route.js",
23
23
  "/api/cli-tools/cowork-settings/route": "app/api/cli-tools/cowork-settings/route.js",
24
+ "/api/cli-tools/deepseek-tui-settings/route": "app/api/cli-tools/deepseek-tui-settings/route.js",
24
25
  "/api/cli-tools/droid-settings/route": "app/api/cli-tools/droid-settings/route.js",
25
26
  "/api/cli-tools/hermes-settings/route": "app/api/cli-tools/hermes-settings/route.js",
27
+ "/api/cli-tools/jcode-settings/route": "app/api/cli-tools/jcode-settings/route.js",
26
28
  "/api/cli-tools/kilo-settings/route": "app/api/cli-tools/kilo-settings/route.js",
27
29
  "/api/cli-tools/openclaw-settings/route": "app/api/cli-tools/openclaw-settings/route.js",
28
30
  "/api/cli-tools/opencode-settings/route": "app/api/cli-tools/opencode-settings/route.js",
29
- "/api/cloud/auth/route": "app/api/cloud/auth/route.js",
30
- "/api/cloud/credentials/update/route": "app/api/cloud/credentials/update/route.js",
31
- "/api/cloud/model/resolve/route": "app/api/cloud/model/resolve/route.js",
32
- "/api/cloud/models/alias/route": "app/api/cloud/models/alias/route.js",
33
31
  "/api/combos/[id]/route": "app/api/combos/[id]/route.js",
34
32
  "/api/health/route": "app/api/health/route.js",
35
33
  "/api/init/route": "app/api/init/route.js",
@@ -38,6 +36,7 @@
38
36
  "/api/media-providers/tts/deepgram/voices/route": "app/api/media-providers/tts/deepgram/voices/route.js",
39
37
  "/api/media-providers/tts/elevenlabs/voices/route": "app/api/media-providers/tts/elevenlabs/voices/route.js",
40
38
  "/api/media-providers/tts/inworld/voices/route": "app/api/media-providers/tts/inworld/voices/route.js",
39
+ "/api/media-providers/tts/minimax/voices/route": "app/api/media-providers/tts/minimax/voices/route.js",
41
40
  "/api/media-providers/tts/voices/route": "app/api/media-providers/tts/voices/route.js",
42
41
  "/api/models/availability/route": "app/api/models/availability/route.js",
43
42
  "/api/models/route": "app/api/models/route.js",
@@ -56,7 +55,6 @@
56
55
  "/api/providers/[id]/models/route": "app/api/providers/[id]/models/route.js",
57
56
  "/api/providers/[id]/test-models/route": "app/api/providers/[id]/test-models/route.js",
58
57
  "/api/providers/[id]/test/route": "app/api/providers/[id]/test/route.js",
59
- "/api/providers/client/route": "app/api/providers/client/route.js",
60
58
  "/api/providers/kilo/free-models/route": "app/api/providers/kilo/free-models/route.js",
61
59
  "/api/providers/test-batch/route": "app/api/providers/test-batch/route.js",
62
60
  "/api/providers/validate/route": "app/api/providers/validate/route.js",
@@ -121,13 +119,14 @@
121
119
  "/api/oauth/[provider]/[action]/route": "app/api/oauth/[provider]/[action]/route.js",
122
120
  "/api/provider-nodes/route": "app/api/provider-nodes/route.js",
123
121
  "/api/providers/[id]/route": "app/api/providers/[id]/route.js",
122
+ "/api/providers/client/route": "app/api/providers/client/route.js",
124
123
  "/api/providers/suggested-models/route": "app/api/providers/suggested-models/route.js",
125
124
  "/api/providers/route": "app/api/providers/route.js",
126
125
  "/api/proxy-pools/[id]/route": "app/api/proxy-pools/[id]/route.js",
127
126
  "/api/proxy-pools/[id]/test/route": "app/api/proxy-pools/[id]/test/route.js",
128
127
  "/api/proxy-pools/route": "app/api/proxy-pools/route.js",
129
- "/api/settings/database/route": "app/api/settings/database/route.js",
130
128
  "/api/proxy-pools/vercel-deploy/route": "app/api/proxy-pools/vercel-deploy/route.js",
129
+ "/api/settings/database/route": "app/api/settings/database/route.js",
131
130
  "/api/settings/proxy-test/route": "app/api/settings/proxy-test/route.js",
132
131
  "/api/settings/route": "app/api/settings/route.js",
133
132
  "/api/startup-notices/route": "app/api/startup-notices/route.js",
@@ -144,6 +143,7 @@
144
143
  "/(dashboard)/dashboard/admin/keys/page": "app/(dashboard)/dashboard/admin/keys/page.js",
145
144
  "/(dashboard)/dashboard/admin/users/page": "app/(dashboard)/dashboard/admin/users/page.js",
146
145
  "/(dashboard)/dashboard/basic-chat/page": "app/(dashboard)/dashboard/basic-chat/page.js",
146
+ "/(dashboard)/dashboard/cli-tools/[toolId]/page": "app/(dashboard)/dashboard/cli-tools/[toolId]/page.js",
147
147
  "/(dashboard)/dashboard/cli-tools/page": "app/(dashboard)/dashboard/cli-tools/page.js",
148
148
  "/(dashboard)/dashboard/combos/page": "app/(dashboard)/dashboard/combos/page.js",
149
149
  "/(dashboard)/dashboard/endpoint/page": "app/(dashboard)/dashboard/endpoint/page.js",
@@ -1,8 +1,8 @@
1
- "use strict";exports.id=1350,exports.ids=[1350],exports.modules={17113:(a,b,c)=>{let{spawn:d}=c(79646),e=c(29021),f=c(33873),g=c(55511),{LOCAL_STDIO_PLUGINS:h}=c(28286),{DATA_DIR:i}=c(49120),j=f.join(i,"mcp","customPlugins.json"),k="__9routerMcpBridges",l=()=>(globalThis[k]||(globalThis[k]=new Map),globalThis[k]),m=()=>(globalThis.__9routerCustomPlugins||(globalThis.__9routerCustomPlugins=new Map),globalThis.__9routerCustomPlugins);function n(a){let b=m().get(a)||h.find(b=>b.name===a);if(b)return b;try{let b=JSON.parse(e.readFileSync(j,"utf-8")),c=Array.isArray(b)?b.find(b=>b.name===a&&b.command):null;if(c)return m().set(c.name,c),c}catch{}return null}function o(a){let b=l(),c=b.get(a);if(c?.proc&&!c.proc.killed&&null===c.proc.exitCode)return c;let e=n(a);if(!e)throw Error(`Unknown local plugin: ${a}`);let f=d(e.command,e.args,{stdio:["pipe","pipe","pipe"],env:process.env});return c={proc:f,sessions:new Map,buffer:""},b.set(a,c),f.stdout.on("data",a=>{let b;for(c.buffer+=a.toString("utf8");(b=c.buffer.indexOf("\n"))>=0;){let a=c.buffer.slice(0,b).trim();if(c.buffer=c.buffer.slice(b+1),!a)continue;let d=function(a){try{let b=JSON.parse(a),c=b?.result?.content;if(!Array.isArray(c))return a;let d=!1;for(let a of c)if(a?.type==="text"&&"string"==typeof a.text){let b=function(a){if("string"!=typeof a||a.length<2e3)return a;let b=a;if((b=function(a){let b=a.split("\n"),c=[],d=0;for(;d<b.length;){let a=b[d],e=a.match(/^(\s*)-\s*([a-zA-Z]+)\b/);if(!e){c.push(a),d++;continue}let f=e[1],g=e[2],h=d;for(;h<b.length;){let a=b[h],c=a.match(/^(\s*)-\s*([a-zA-Z]+)\b/);if(c&&c[1]===f&&c[2]===g||a.startsWith(`${f} `)||a.startsWith(`${f} `)){h++;continue}break}let i=h-d;if(i>=30){let a=function(a,b,c,d){let e=0;for(let f=b;f<a.length;f++){let b=a[f].match(/^(\s*)-\s*([a-zA-Z]+)\b/);if(b&&b[1]===c&&b[2]===d&&++e>10)return f}return a.length}(b,d,f,g),e=function(a,b,c,d){let e=[];for(let f=0;f<b;f++){let b=a[f].match(/^(\s*)-\s*([a-zA-Z]+)\b/);b&&b[1]===c&&b[2]===d&&e.push(f)}return e.length>5?e[e.length-5]:b}(b,h,f,g);for(let e=d;e<a;e++)c.push(b[e]);c.push(`${f}... [${i-10-5} similar "${g}" items omitted by 9router bridge]`);for(let a=e;a<h;a++)c.push(b[a])}else for(let a=d;a<h;a++)c.push(b[a]);d=h}return c.join("\n")}(b=(b=b.replace(/^\s*-\s*generic:?\s*$/gm,"")).replace(/^\s*-\s*text:\s*""\s*$/gm,""))).length>5e4){let c=b.slice(0,49700);b=`${c}
1
+ "use strict";exports.id=1350,exports.ids=[1350],exports.modules={17113:(a,b,c)=>{let{spawn:d}=c(79646),e=c(29021),f=c(33873),g=c(55511),{LOCAL_STDIO_PLUGINS:h,ALLOWED_MCP_COMMANDS:i}=c(28286),{DATA_DIR:j}=c(49120),k=f.join(j,"mcp","customPlugins.json"),l="__9routerMcpBridges",m=()=>(globalThis[l]||(globalThis[l]=new Map),globalThis[l]),n=()=>(globalThis.__9routerCustomPlugins||(globalThis.__9routerCustomPlugins=new Map),globalThis.__9routerCustomPlugins);function o(a){let b=f.basename(String(a||""));return i.has(b)}function p(a){let b=n().get(a)||h.find(b=>b.name===a);if(b)return b;try{let b=JSON.parse(e.readFileSync(k,"utf-8")),c=Array.isArray(b)?b.find(b=>b.name===a&&b.command):null;if(c&&o(c.command))return n().set(c.name,c),c}catch{}return null}function q(a){let b=m(),c=b.get(a);if(c?.proc&&!c.proc.killed&&null===c.proc.exitCode)return c;let e=p(a);if(!e)throw Error(`Unknown local plugin: ${a}`);let f=d(e.command,e.args,{stdio:["pipe","pipe","pipe"],env:process.env});return c={proc:f,sessions:new Map,buffer:""},b.set(a,c),f.stdout.on("data",a=>{let b;for(c.buffer+=a.toString("utf8");(b=c.buffer.indexOf("\n"))>=0;){let a=c.buffer.slice(0,b).trim();if(c.buffer=c.buffer.slice(b+1),!a)continue;let d=function(a){try{let b=JSON.parse(a),c=b?.result?.content;if(!Array.isArray(c))return a;let d=!1;for(let a of c)if(a?.type==="text"&&"string"==typeof a.text){let b=function(a){if("string"!=typeof a||a.length<2e3)return a;let b=a;if((b=function(a){let b=a.split("\n"),c=[],d=0;for(;d<b.length;){let a=b[d],e=a.match(/^(\s*)-\s*([a-zA-Z]+)\b/);if(!e){c.push(a),d++;continue}let f=e[1],g=e[2],h=d;for(;h<b.length;){let a=b[h],c=a.match(/^(\s*)-\s*([a-zA-Z]+)\b/);if(c&&c[1]===f&&c[2]===g||a.startsWith(`${f} `)||a.startsWith(`${f} `)){h++;continue}break}let i=h-d;if(i>=30){let a=function(a,b,c,d){let e=0;for(let f=b;f<a.length;f++){let b=a[f].match(/^(\s*)-\s*([a-zA-Z]+)\b/);if(b&&b[1]===c&&b[2]===d&&++e>10)return f}return a.length}(b,d,f,g),e=function(a,b,c,d){let e=[];for(let f=0;f<b;f++){let b=a[f].match(/^(\s*)-\s*([a-zA-Z]+)\b/);b&&b[1]===c&&b[2]===d&&e.push(f)}return e.length>5?e[e.length-5]:b}(b,h,f,g);for(let e=d;e<a;e++)c.push(b[e]);c.push(`${f}... [${i-10-5} similar "${g}" items omitted by 9router bridge]`);for(let a=e;a<h;a++)c.push(b[a])}else for(let a=d;a<h;a++)c.push(b[a]);d=h}return c.join("\n")}(b=(b=b.replace(/^\s*-\s*generic:?\s*$/gm,"")).replace(/^\s*-\s*text:\s*""\s*$/gm,""))).length>5e4){let c=b.slice(0,49700);b=`${c}
2
2
 
3
3
  ... [truncated ${a.length-c.length} chars by 9router bridge. Page is large; ask user to scroll/navigate to a specific section, or click an element with the refs shown above]`}return b}(a.text);b!==a.text&&(a.text=b,d=!0)}return d?JSON.stringify(b):a}catch{return a}}(a);for(let a of c.sessions.values())try{a(`event: message
4
4
  data: ${d}
5
5
 
6
- `)}catch{}}}),f.stderr.on("data",b=>console.log(`[mcp:${a}]`,b.toString().trim())),f.on("exit",c=>{console.log(`[mcp:${a}] exited`,c),b.delete(a)}),c}a.exports={getOrSpawn:o,registerSession:function(a,b){let c=o(a),d=g.randomUUID();return c.sessions.set(d,b),d},unregisterSession:function(a,b){let c=l().get(a);c&&c.sessions.delete(b)},sendToChild:function(a,b){let c=l().get(a);if(!c?.proc?.stdin?.writable)throw Error(`Bridge not running: ${a}`);c.proc.stdin.write(`${JSON.stringify(b)}
7
- `)},isRunning:function(a){let b=l().get(a);return!!(b?.proc&&!b.proc.killed&&null===b.proc.exitCode)},findPlugin:n,registerCustomPlugin:function(a){m().set(a.name,a)}}},21350:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>M,GET:()=>K,POST:()=>L});var d=c(49796),e=c(23211),f=c(79748),g=c.n(f),h=c(33873),i=c.n(h),j=c(21820),k=c.n(j),l=c(55511),m=c.n(l),n=c(28286),o=c(30869),p=c(49120),q=c(24424);let r=o.h0.appPort,s="gateway",t={coworkEgressAllowedHosts:["*"],disabledBuiltinTools:[],isLocalDevMcpEnabled:!0,isDesktopExtensionEnabled:!0,isDesktopExtensionDirectoryEnabled:!0,isDesktopExtensionSignatureRequired:!1,isClaudeCodeForDesktopEnabled:!0,disableEssentialTelemetry:!0,disableNonessentialTelemetry:!0,disableNonessentialServices:!0},u=()=>{if("darwin"===k().platform()){let a=i().join(k().homedir(),"Library","Application Support");return[i().join(a,"Claude-3p"),i().join(a,"Claude")]}if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return[i().join(a,"Claude-3p"),i().join(b,"Claude-3p"),i().join(a,"Claude"),i().join(b,"Claude")]}return[i().join(k().homedir(),".config","Claude-3p"),i().join(k().homedir(),".config","Claude")]},v=async()=>{let a=u();for(let b of a)try{return await g().access(i().join(b,"configLibrary")),b}catch{}return a[0]},w=()=>u()[0],x=async()=>i().join(await v(),"configLibrary"),y=()=>i().join(w(),"configLibrary"),z=async()=>i().join(await x(),"_meta.json"),A=()=>{if("darwin"===k().platform())return i().join(k().homedir(),"Library","Application Support","Claude");if("win32"===k().platform()){let a=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return i().join(a,"Claude")}return i().join(k().homedir(),".config","Claude")},B=()=>i().join(A(),"claude_desktop_config.json"),C=async()=>{try{return JSON.parse(await g().readFile(B(),"utf-8"))||{}}catch(a){if("ENOENT"===a.code)return{};throw a}},D=async a=>{await g().mkdir(A(),{recursive:!0}),await g().writeFile(B(),JSON.stringify(a,null,2))},E=async()=>{let a=await C();return"3p"!==a.deploymentMode&&(a.deploymentMode="3p",await D(a),!0)},F=async()=>{let a=await C();if(!a.mcpServers||"object"!=typeof a.mcpServers)return;let b=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name));for(let c of Object.keys(a.mcpServers))b.has(c)&&delete a.mcpServers[c];0===Object.keys(a.mcpServers).length&&delete a.mcpServers,await D(a)},G=async()=>{for(let a of[...u(),...(()=>{if("darwin"===k().platform())return["/Applications/Claude.app",i().join(k().homedir(),"Applications","Claude.app")];if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.ProgramFiles||"C:\\Program Files";return[i().join(a,"AnthropicClaude"),i().join(b,"Claude"),i().join(b,"AnthropicClaude")]}return[]})()])try{return await g().access(a),!0}catch{}return!1},H=async a=>{try{return JSON.parse(await g().readFile(a,"utf-8"))}catch(a){if("ENOENT"===a.code)return null;throw a}},I=async()=>{let a=i().join(y(),"_meta.json"),b=await H(a);if(!b||!b.appliedId){let c=await H(await z());if(c?.appliedId)b=c;else{let a=m().randomUUID();b={appliedId:a,entries:[{id:a,name:"Default"}]}}await g().mkdir(y(),{recursive:!0}),await g().writeFile(a,JSON.stringify(b,null,2))}return b};async function J(a){let b=i().join(w(),"config.json"),c={};try{c=JSON.parse(await g().readFile(b,"utf-8"))||{}}catch(a){if("ENOENT"!==a.code)return{error:a.code}}let d={};for(let b of a)b?.name&&(d[b.name]=!0);return c.operonSkipMcpApprovals=d,await g().mkdir(w(),{recursive:!0}),await g().writeFile(b,JSON.stringify(c,null,2)),{written:Object.keys(d).length}}async function K(){try{if(!await G())return e.NextResponse.json({installed:!1,config:null,message:"Claude Desktop (Cowork mode) not detected"});let a=await H(await z()),b=a?.appliedId||null,c=await x(),d=b?i().join(c,`${b}.json`):null,f=d?await H(d):null,g=f?.inferenceGatewayBaseUrl||null,h=Array.isArray(f?.inferenceModels)?f.inferenceModels.map(a=>"string"==typeof a?a:a?.name).filter(Boolean):[],j=Array.isArray(f?.managedMcpServers)?f.managedMcpServers:[],k=!!(f?.inferenceProvider===s&&g),l=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name)),m=j.filter(a=>l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>a.name),o=j.filter(a=>a.custom||!l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>({name:a.name,url:a.url,transport:a.transport,custom:!0}));return e.NextResponse.json({installed:!0,config:f,has9Router:k,configPath:d,cowork:{appliedId:b,baseUrl:g,models:h,provider:f?.inferenceProvider||null,plugins:j.filter(a=>!a.custom&&!(l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/"))).map(a=>{let b=a.toolPolicy?Object.keys(a.toolPolicy):[],c=`${a.name}-`,d=new Set;for(let a of b){let b=a;for(;b.startsWith(c);)b=b.slice(c.length);d.add(b)}let e=n.DEFAULT_PLUGINS.find(b=>b.name===a.name),f=e&&Array.isArray(e.toolNames)?e.toolNames:Array.from(d);return{name:a.name,url:a.url,transport:a.transport,oauth:!!a.oauth,toolNames:f}}),localPlugins:m,customPlugins:o},defaultPlugins:n.DEFAULT_PLUGINS,localStdioPlugins:n.LOCAL_STDIO_PLUGINS})}catch(a){return console.log("Error reading cowork settings:",a),e.NextResponse.json({error:"Failed to read cowork settings"},{status:500})}}async function L(a){try{let{baseUrl:b,apiKey:d,models:f,plugins:h,localPlugins:j,customPlugins:k}=await a.json();if(!b||!d)return e.NextResponse.json({error:"baseUrl and apiKey are required"},{status:400});let l=Array.isArray(f)?f.filter(a=>"string"==typeof a&&a.trim()):[];if(0===l.length)return e.NextResponse.json({error:"At least one model is required"},{status:400});let m=Array.isArray(h)?h:n.DEFAULT_PLUGINS,o=Array.isArray(j)?j:[],q=Array.isArray(k)?k:[];if(q.length>0){let{registerCustomPlugin:a}=c(17113),b=q.filter(a=>a.command).map(a=>({name:a.name,command:a.command,args:a.args||[]}));for(let c of b)a(c);try{let a=i().join(p.DATA_DIR,"mcp");await g().mkdir(a,{recursive:!0}),await g().writeFile(i().join(a,"customPlugins.json"),JSON.stringify(b,null,2))}catch{}}let u=(a=>{let b=Array.isArray(a)?a:[],c=[];for(let a of b){let b=n.LOCAL_STDIO_PLUGINS.find(b=>b.name===a);if(!b)continue;let d={name:b.name,url:`http://localhost:${r}/api/mcp/${b.name}/sse`,transport:"sse"};if(Array.isArray(b.toolNames)&&b.toolNames.length>0){let a=`${b.name}-`,c={};for(let d of b.toolNames)c[d]="allow",c[`${a}${d}`]="allow";d.toolPolicy=c}c.push(d)}return c})(o),v=(a=>{if(!Array.isArray(a))return[];let b=[];for(let c of a)c?.name&&(c.url?b.push({name:c.name,url:c.url,transport:c.transport||"sse",custom:!0}):c.command&&b.push({name:c.name,url:`http://localhost:${r}/api/mcp/${encodeURIComponent(c.name)}/sse`,transport:"sse",custom:!0}));return b})(q),w=[...(0,n.buildManagedMcpServers)(m),...u,...v],x=await E(),z=await I(),A=i().join(y(),`${z.appliedId}.json`),B={...t,inferenceProvider:s,inferenceGatewayBaseUrl:b,inferenceGatewayApiKey:d,inferenceModels:l.map(a=>({name:a}))};w.length>0&&(B.managedMcpServers=w),await g().writeFile(A,JSON.stringify(B,null,2));let C=null;try{C=await J(w)}catch(a){C={error:a.message}}try{await F()}catch{}return e.NextResponse.json({success:!0,bootstrapped:x,message:x?"Cowork enabled (3p mode set). Quit & reopen Claude Desktop.":"Cowork settings applied. Quit & reopen Claude Desktop.",configPath:A,skipApprovals:C,localMcp:{applied:o,via:"3p-sse-bridge"}})}catch(a){return console.log("Error applying cowork settings:",a),e.NextResponse.json({error:"Failed to apply cowork settings"},{status:500})}}async function M(){try{let a=await H(await z());if(!a?.appliedId)return e.NextResponse.json({success:!0,message:"No active config to reset"});let b=i().join(await x(),`${a.appliedId}.json`);try{await g().writeFile(b,JSON.stringify({},null,2))}catch(a){if("ENOENT"!==a.code)throw a}try{await J([])}catch{}try{await F()}catch{}return e.NextResponse.json({success:!0,message:"Cowork config reset"})}catch(a){return console.log("Error resetting cowork settings:",a),e.NextResponse.json({error:"Failed to reset cowork settings"},{status:500})}}(0,q.D)([K,L,M]),(0,d.A)(K,"0050f80ba874d05b4291d2c92a9769440e5b0d1d38",null),(0,d.A)(L,"405e372206f9a963a6a39bb7601ce94a7acfc6df50",null),(0,d.A)(M,"003bd0a94f814c8e9504055295c2cd9d93c704cc2d",null)},24424:(a,b)=>{function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
8
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28286:a=>{a.exports={DEFAULT_PLUGINS:[{name:"exa",title:"Exa",description:"Real-time web search and code documentation",url:"https://mcp.exa.ai/mcp",transport:"http",oauth:!1,toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",description:"Real-time web search optimized for LLM agents",url:"https://mcp.tavily.com/mcp",transport:"http",oauth:!0,toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]}],LOCAL_STDIO_PLUGINS:[{name:"browsermcp",title:"Browser MCP",description:"Control your running Chrome (requires Chrome extension)",extensionUrl:"https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc",command:"npx",args:["-y","@browsermcp/mcp@latest"],toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}],buildManagedMcpServers:function(a){let b=Array.isArray(a)?a:[],c=[],d=new Set;for(let a of b){if(!a?.name||!a?.url||d.has(a.name))continue;d.add(a.name);let b={name:a.name,url:a.url,transport:a.transport||(/\/sse(\b|\/)/i.test(a.url)?"sse":"http")};if(a.oauth&&(b.oauth=!0),Array.isArray(a.toolNames)&&a.toolNames.length>0){let c=`${a.name}-`,d=new Set;for(let b of a.toolNames){if("string"!=typeof b||!b)continue;let a=b;for(;a.startsWith(c);)a=a.slice(c.length);d.add(a)}let e={};for(let a of d)e[a]="allow",e[`${c}${a}`]="allow";b.toolPolicy=e}c.push(b)}return c}}},30869:(a,b,c)=>{c.d(b,{UY:()=>h,X3:()=>i,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"@yina-npm/openrouterx",installCmd:"npm i -g @yina-npm/openrouterx --registry=https://registry.npmjs.org/",installCmdLatest:"npm i -g @yina-npm/openrouterx@latest --prefer-online --registry=https://registry.npmjs.org/",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20502},h={maxLines:200,pollIntervalMs:1e3},i={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},39006:a=>{a.exports={rE:"0.4.38"}},49120:(a,b,c)=>{c.r(b),c.d(b,{APP_NAME:()=>j,DATA_DIR:()=>p,DB_FILE:()=>q,LEGACY_APP_NAME:()=>k,getDataDir:()=>o,getLegacyDataDir:()=>n,migrateLegacyDataFilesIfNeeded:()=>r});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="openrouterx",k="9router",l=["db.json","usage.json","log.txt","disabledModels.json","request-details.json"];function m(a){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),a):g().join(i().homedir(),`.${a}`)}function n(){return m(k)}function o(){let a=process.env.DATA_DIR;if(!a)return m(j);try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable -> fallback ~/.${j}`),m(j);throw b}}let p=o(),q=g().join(p,"db.json");function r(){if(process.env.DATA_DIR)return!1;let a=n();if(a===p||!e().existsSync(a))return!1;let b=!1;for(let c of(e().existsSync(p)||e().mkdirSync(p,{recursive:!0}),l)){let d=g().join(a,c),f=g().join(p,c);e().existsSync(d)&&!e().existsSync(f)&&(e().copyFileSync(d,f),b=!0)}return b}r()},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},81329:(a,b,c)=>{c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))}};
6
+ `)}catch{}}}),f.stderr.on("data",b=>console.log(`[mcp:${a}]`,b.toString().trim())),f.on("exit",c=>{console.log(`[mcp:${a}] exited`,c),b.delete(a)}),c}a.exports={getOrSpawn:q,registerSession:function(a,b){let c=q(a),d=g.randomUUID();return c.sessions.set(d,b),d},unregisterSession:function(a,b){let c=m().get(a);c&&c.sessions.delete(b)},sendToChild:function(a,b){let c=m().get(a);if(!c?.proc?.stdin?.writable)throw Error(`Bridge not running: ${a}`);c.proc.stdin.write(`${JSON.stringify(b)}
7
+ `)},isRunning:function(a){let b=m().get(a);return!!(b?.proc&&!b.proc.killed&&null===b.proc.exitCode)},findPlugin:p,registerCustomPlugin:function(a){if(!o(a?.command))throw Error(`Blocked: command '${a?.command}' not in MCP allowlist`);n().set(a.name,a)}}},21350:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>R,GET:()=>P,POST:()=>Q});var d=c(49796),e=c(23211),f=c(79748),g=c.n(f),h=c(33873),i=c.n(h),j=c(21820),k=c.n(j),l=c(55511),m=c.n(l),n=c(28286),o=c(30869),p=c(49120),q=c(54603),r=c(24424);let s=o.h0.appPort,t=`http://localhost:${s}/api/mcp/`,u=null,v=async()=>(u||(u=await (0,q.Xj)("openrouterx-cli-auth")),u),w=async a=>{let b=await v();for(let c of a)"string"==typeof c?.url&&c.url.startsWith(t)&&(c.headers={...c.headers||{},"x-openrouterx-cli-token":b});return a},x="gateway",y={coworkEgressAllowedHosts:["*"],disabledBuiltinTools:[],isLocalDevMcpEnabled:!0,isDesktopExtensionEnabled:!0,isDesktopExtensionDirectoryEnabled:!0,isDesktopExtensionSignatureRequired:!1,isClaudeCodeForDesktopEnabled:!0,disableEssentialTelemetry:!0,disableNonessentialTelemetry:!0,disableNonessentialServices:!0},z=()=>{if("darwin"===k().platform()){let a=i().join(k().homedir(),"Library","Application Support");return[i().join(a,"Claude-3p"),i().join(a,"Claude")]}if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return[i().join(a,"Claude-3p"),i().join(b,"Claude-3p"),i().join(a,"Claude"),i().join(b,"Claude")]}return[i().join(k().homedir(),".config","Claude-3p"),i().join(k().homedir(),".config","Claude")]},A=async()=>{let a=z();for(let b of a)try{return await g().access(i().join(b,"configLibrary")),b}catch{}return a[0]},B=()=>z()[0],C=async()=>i().join(await A(),"configLibrary"),D=()=>i().join(B(),"configLibrary"),E=async()=>i().join(await C(),"_meta.json"),F=()=>{if("darwin"===k().platform())return i().join(k().homedir(),"Library","Application Support","Claude");if("win32"===k().platform()){let a=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return i().join(a,"Claude")}return i().join(k().homedir(),".config","Claude")},G=()=>i().join(F(),"claude_desktop_config.json"),H=async()=>{try{return JSON.parse(await g().readFile(G(),"utf-8"))||{}}catch(a){if("ENOENT"===a.code)return{};throw a}},I=async a=>{await g().mkdir(F(),{recursive:!0}),await g().writeFile(G(),JSON.stringify(a,null,2))},J=async()=>{let a=await H();return"3p"!==a.deploymentMode&&(a.deploymentMode="3p",await I(a),!0)},K=async()=>{let a=await H();if(!a.mcpServers||"object"!=typeof a.mcpServers)return;let b=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name));for(let c of Object.keys(a.mcpServers))b.has(c)&&delete a.mcpServers[c];0===Object.keys(a.mcpServers).length&&delete a.mcpServers,await I(a)},L=async()=>{for(let a of[...z(),...(()=>{if("darwin"===k().platform())return["/Applications/Claude.app",i().join(k().homedir(),"Applications","Claude.app")];if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.ProgramFiles||"C:\\Program Files";return[i().join(a,"AnthropicClaude"),i().join(b,"Claude"),i().join(b,"AnthropicClaude")]}return[]})()])try{return await g().access(a),!0}catch{}return!1},M=async a=>{try{return JSON.parse(await g().readFile(a,"utf-8"))}catch(a){if("ENOENT"===a.code)return null;throw a}},N=async()=>{let a=i().join(D(),"_meta.json"),b=await M(a);if(!b||!b.appliedId){let c=await M(await E());if(c?.appliedId)b=c;else{let a=m().randomUUID();b={appliedId:a,entries:[{id:a,name:"Default"}]}}await g().mkdir(D(),{recursive:!0}),await g().writeFile(a,JSON.stringify(b,null,2))}return b};async function O(a){let b=i().join(B(),"config.json"),c={};try{c=JSON.parse(await g().readFile(b,"utf-8"))||{}}catch(a){if("ENOENT"!==a.code)return{error:a.code}}let d={};for(let b of a)b?.name&&(d[b.name]=!0);return c.operonSkipMcpApprovals=d,await g().mkdir(B(),{recursive:!0}),await g().writeFile(b,JSON.stringify(c,null,2)),{written:Object.keys(d).length}}async function P(){try{if(!await L())return e.NextResponse.json({installed:!1,config:null,message:"Claude Desktop (Cowork mode) not detected"});let a=await M(await E()),b=a?.appliedId||null,c=await C(),d=b?i().join(c,`${b}.json`):null,f=d?await M(d):null,g=f?.inferenceGatewayBaseUrl||null,h=Array.isArray(f?.inferenceModels)?f.inferenceModels.map(a=>"string"==typeof a?a:a?.name).filter(Boolean):[],j=Array.isArray(f?.managedMcpServers)?f.managedMcpServers:[],k=!!(f?.inferenceProvider===x&&g),l=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name)),m=j.filter(a=>l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>a.name),o=j.filter(a=>a.custom||!l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>({name:a.name,url:a.url,transport:a.transport,custom:!0}));return e.NextResponse.json({installed:!0,config:f,has9Router:k,configPath:d,cowork:{appliedId:b,baseUrl:g,models:h,provider:f?.inferenceProvider||null,plugins:j.filter(a=>!a.custom&&!(l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/"))).map(a=>{let b=a.toolPolicy?Object.keys(a.toolPolicy):[],c=`${a.name}-`,d=new Set;for(let a of b){let b=a;for(;b.startsWith(c);)b=b.slice(c.length);d.add(b)}let e=n.DEFAULT_PLUGINS.find(b=>b.name===a.name),f=e&&Array.isArray(e.toolNames)?e.toolNames:Array.from(d);return{name:a.name,url:a.url,transport:a.transport,oauth:!!a.oauth,toolNames:f}}),localPlugins:m,customPlugins:o},defaultPlugins:n.DEFAULT_PLUGINS,localStdioPlugins:n.LOCAL_STDIO_PLUGINS})}catch(a){return console.log("Error reading cowork settings:",a),e.NextResponse.json({error:"Failed to read cowork settings"},{status:500})}}async function Q(a){try{let{baseUrl:b,apiKey:d,models:f,plugins:h,localPlugins:j,customPlugins:k}=await a.json();if(!b||!d)return e.NextResponse.json({error:"baseUrl and apiKey are required"},{status:400});let l=Array.isArray(f)?f.filter(a=>"string"==typeof a&&a.trim()):[];if(0===l.length)return e.NextResponse.json({error:"At least one model is required"},{status:400});let m=Array.isArray(h)?h:n.DEFAULT_PLUGINS,o=Array.isArray(j)?j:[],q=Array.isArray(k)?k:[];if(q.length>0){let{registerCustomPlugin:a}=c(17113),b=q.filter(a=>a&&"string"==typeof a.command&&a.command.trim()).filter(a=>n.ALLOWED_MCP_COMMANDS.has(i().basename(a.command))).map(a=>({name:String(a.name||"").replace(/[^a-zA-Z0-9_-]/g,"").slice(0,64),command:a.command,args:Array.isArray(a.args)?a.args.map(String):[]})).filter(a=>a.name);for(let c of b)try{a(c)}catch{}try{let a=i().join(p.DATA_DIR,"mcp");await g().mkdir(a,{recursive:!0}),await g().writeFile(i().join(a,"customPlugins.json"),JSON.stringify(b,null,2))}catch{}}let r=await w((a=>{let b=Array.isArray(a)?a:[],c=[];for(let a of b){let b=n.LOCAL_STDIO_PLUGINS.find(b=>b.name===a);if(!b)continue;let d={name:b.name,url:`http://localhost:${s}/api/mcp/${b.name}/sse`,transport:"sse"};if(Array.isArray(b.toolNames)&&b.toolNames.length>0){let a=`${b.name}-`,c={};for(let d of b.toolNames)c[d]="allow",c[`${a}${d}`]="allow";d.toolPolicy=c}c.push(d)}return c})(o)),t=await w((a=>{if(!Array.isArray(a))return[];let b=[];for(let c of a)c?.name&&(c.url?b.push({name:c.name,url:c.url,transport:c.transport||"sse",custom:!0}):c.command&&b.push({name:c.name,url:`http://localhost:${s}/api/mcp/${encodeURIComponent(c.name)}/sse`,transport:"sse",custom:!0}));return b})(q)),u=[...(0,n.buildManagedMcpServers)(m),...r,...t],v=await J(),z=await N(),A=i().join(D(),`${z.appliedId}.json`),B={...y,inferenceProvider:x,inferenceGatewayBaseUrl:b,inferenceGatewayApiKey:d,inferenceModels:l.map(a=>({name:a}))};u.length>0&&(B.managedMcpServers=u),await g().writeFile(A,JSON.stringify(B,null,2));let C=null;try{C=await O(u)}catch(a){C={error:a.message}}try{await K()}catch{}return e.NextResponse.json({success:!0,bootstrapped:v,message:v?"Cowork enabled (3p mode set). Quit & reopen Claude Desktop.":"Cowork settings applied. Quit & reopen Claude Desktop.",configPath:A,skipApprovals:C,localMcp:{applied:o,via:"3p-sse-bridge"}})}catch(a){return console.log("Error applying cowork settings:",a),e.NextResponse.json({error:"Failed to apply cowork settings"},{status:500})}}async function R(){try{let a=await M(await E());if(!a?.appliedId)return e.NextResponse.json({success:!0,message:"No active config to reset"});let b=i().join(await C(),`${a.appliedId}.json`);try{await g().writeFile(b,JSON.stringify({},null,2))}catch(a){if("ENOENT"!==a.code)throw a}try{await O([])}catch{}try{await K()}catch{}return e.NextResponse.json({success:!0,message:"Cowork config reset"})}catch(a){return console.log("Error resetting cowork settings:",a),e.NextResponse.json({error:"Failed to reset cowork settings"},{status:500})}}(0,r.D)([P,Q,R]),(0,d.A)(P,"0050f80ba874d05b4291d2c92a9769440e5b0d1d38",null),(0,d.A)(Q,"405e372206f9a963a6a39bb7601ce94a7acfc6df50",null),(0,d.A)(R,"003bd0a94f814c8e9504055295c2cd9d93c704cc2d",null)},24424:(a,b)=>{function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
8
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28286:a=>{a.exports={DEFAULT_PLUGINS:[{name:"exa",title:"Exa",description:"Real-time web search and code documentation",url:"https://mcp.exa.ai/mcp",transport:"http",oauth:!1,toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",description:"Real-time web search optimized for LLM agents",url:"https://mcp.tavily.com/mcp",transport:"http",oauth:!0,toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]}],LOCAL_STDIO_PLUGINS:[{name:"browsermcp",title:"Browser MCP",description:"Control your running Chrome (requires Chrome extension)",extensionUrl:"https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc",command:"npx",args:["-y","@browsermcp/mcp@latest"],toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}],ALLOWED_MCP_COMMANDS:new Set(["npx","node","uvx","python","python3","bunx","bun"]),buildManagedMcpServers:function(a){let b=Array.isArray(a)?a:[],c=[],d=new Set;for(let a of b){if(!a?.name||!a?.url||d.has(a.name))continue;d.add(a.name);let b={name:a.name,url:a.url,transport:a.transport||(/\/sse(\b|\/)/i.test(a.url)?"sse":"http")};if(a.oauth&&(b.oauth=!0),Array.isArray(a.toolNames)&&a.toolNames.length>0){let c=`${a.name}-`,d=new Set;for(let b of a.toolNames){if("string"!=typeof b||!b)continue;let a=b;for(;a.startsWith(c);)a=a.slice(c.length);d.add(a)}let e={};for(let a of d)e[a]="allow",e[`${c}${a}`]="allow";b.toolPolicy=e}c.push(b)}return c}}},30869:(a,b,c)=>{c.d(b,{UY:()=>h,X3:()=>i,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"@yina-npm/openrouterx",installCmd:"npm i -g @yina-npm/openrouterx --registry=https://registry.npmjs.org/",installCmdLatest:"npm i -g @yina-npm/openrouterx@latest --prefer-online --registry=https://registry.npmjs.org/",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20502},h={maxLines:200,pollIntervalMs:1e3},i={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},39006:a=>{a.exports={rE:"0.4.52"}},49120:(a,b,c)=>{c.r(b),c.d(b,{APP_NAME:()=>j,DATA_DIR:()=>p,DB_FILE:()=>q,LEGACY_APP_NAME:()=>k,getDataDir:()=>o,getLegacyDataDir:()=>n,migrateLegacyDataFilesIfNeeded:()=>r});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="openrouterx",k="9router",l=["db.json","usage.json","log.txt","disabledModels.json","request-details.json"];function m(a){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),a):g().join(i().homedir(),`.${a}`)}function n(){return m(k)}function o(){let a=process.env.DATA_DIR;if(!a)return m(j);try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable -> fallback ~/.${j}`),m(j);throw b}}let p=o(),q=g().join(p,"db.json");function r(){if(process.env.DATA_DIR)return!1;let a=n();if(a===p||!e().existsSync(a))return!1;let b=!1;for(let c of(e().existsSync(p)||e().mkdirSync(p,{recursive:!0}),l)){let d=g().join(a,c),f=g().join(p,c);e().existsSync(d)&&!e().existsSync(f)&&(e().copyFileSync(d,f),b=!0)}return b}r()},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},54603:(a,b,c)=>{c.d(b,{Xj:()=>n});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.DATA_DIR,"machine-id"),m=null;async function n(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(m)return m;try{if(m=f().readFileSync(l,"utf8").trim())return m}catch{}try{m=(0,d.machineIdSync)()}catch{m=j().randomUUID()}try{f().mkdirSync(k.DATA_DIR,{recursive:!0}),f().writeFileSync(l,m,{mode:384})}catch{}return m}();return j().createHash("sha256").update(c+b).digest("hex").substring(0,16)}},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},81329:(a,b,c)=>{c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))}};
@@ -0,0 +1 @@
1
+ exports.id=1476,exports.ids=[1476],exports.modules={3662:(a,b,c)=>{"use strict";c.d(b,{EQ:()=>f,LY:()=>d,O:()=>e,fh:()=>h,t2:()=>i,wf:()=>g});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Model not found",406:"Model not supported",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},f={base:2e3,max:3e5,maxLevel:15},g=3e4,h=18e5,i=[{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"improperly formed request",cooldownMs:12e4},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{status:401,cooldownMs:12e4},{status:402,cooldownMs:12e4},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:429,backoff:!0}]},41004:(a,b,c)=>{"use strict";c.d(b,{C8:()=>k,DR:()=>j,Uc:()=>g,cI:()=>i,eo:()=>h,gx:()=>d,v1:()=>e,xM:()=>f}),c(3662);let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},e={sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20},f=18e4,g=64e3,h=32e3,i={429:{attempts:0,delayMs:0},502:{attempts:3,delayMs:3e3},503:{attempts:3,delayMs:2e3},504:{attempts:2,delayMs:3e3}};function j(a){return null==a?{attempts:0,delayMs:2e3}:"number"==typeof a?{attempts:a,delayMs:2e3}:{attempts:a.attempts||0,delayMs:null!=a.delayMs?a.delayMs:2e3}}let k=["Please write a 5-10 word title for the following conversation:"]},64632:(a,b,c)=>{"use strict";c.d(b,{Op:()=>N,Nq:()=>E,PE:()=>P});var d=c(4573),e=c(43659),f=c(41004);let g="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36";async function h(a,b="mp3"){let c=await a.arrayBuffer();if(c.byteLength<100)throw Error("Upstream returned empty audio");let e=a.headers.get("content-type")||"",f=b;return e.includes("wav")?f="wav":e.includes("mpeg")||e.includes("mp3")?f="mp3":e.includes("ogg")&&(f="ogg"),{base64:d.Buffer.from(c).toString("base64"),format:f}}async function i(a){let b=await a.text().catch(()=>""),c=`Upstream error (${a.status})`;try{let a=JSON.parse(b);c=a?.error?.message||a?.message||a?.detail?.message||("string"==typeof a?.detail?a.detail:null)||b||c}catch{c=b||c}throw Error(c)}let j={token:null,tokenTime:0},k=0;async function l(){let a=Date.now();if(j.token&&a-j.tokenTime<66e4)return j.token;let b=await fetch("https://translate.google.com/",{headers:{"User-Agent":g}});if(!b.ok)throw Error(`Google translate fetch failed: ${b.status}`);let c=await b.text(),d=c.match(/"FdrFJe":"(.*?)"/)?.[1],e=c.match(/"cfb2h":"(.*?)"/)?.[1];if(!d||!e)throw Error("Failed to parse Google token");return j.token={"f.sid":d,bl:e},j.tokenTime=a,j.token}let m={token:null,tokenTime:0},n=null,o=0;async function p(){let a=Date.now();if(m.token&&a-m.tokenTime<3e5)return m.token;let b=await fetch("https://www.bing.com/translator",{headers:{"User-Agent":g,"Accept-Language":"vi,en-US;q=0.9,en;q=0.8"}});if(!b.ok)throw Error(`Bing translator fetch failed: ${b.status}`);let c=(b.headers.getSetCookie?.()||[]).map(a=>a.split(";")[0]).join("; "),d=(await b.text()).match(/params_AbusePreventionHelper\s*=\s*\[([^,]+),([^,]+),/);if(!d)throw Error("Failed to parse Bing token");return m.token={key:d[1],token:d[2].replace(/"/g,""),cookie:c},m.tokenTime=a,m.token}async function q(a,b,c){let d=b.split("-").slice(0,2).join("-"),e=b.toLowerCase().includes("male")?"Male":"Female",f=`<speak version='1.0' xml:lang='${d}'><voice xml:lang='${d}' xml:gender='${e}' name='${b}'><prosody rate='0.00%'>${a}</prosody></voice></speak>`,h=new URLSearchParams;return h.append("ssml",f),h.append("token",c.token),h.append("key",c.key),fetch("https://www.bing.com/tfettts?isVertical=1&&IG=1&IID=translator.5023&SFX=1",{method:"POST",body:h.toString(),headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"*/*",Origin:"https://www.bing.com",Referer:"https://www.bing.com/translator","User-Agent":g,...c.cookie?{Cookie:c.cookie}:{}}})}async function r(){let a=Date.now();if(n&&a-o<864e5)return n;let b=await fetch("https://speech.platform.bing.com/consumer/speech/synthesize/readaloud/voices/list?trustedclienttoken=6A5AA1D4EAFF4E9FB37E23D68491D6F4",{headers:{"User-Agent":g}});if(!b.ok)throw Error(`Edge TTS voices fetch failed: ${b.status}`);let c=await b.json();return n=c,o=a,c}var s=c(31421),t=c(57975),u=c(51455),v=c(48161),w=c(76760);let x=(0,t.promisify)(s.execFile),y=null;async function z(){let{stdout:a}=await x("say",["-v","?"]),b=[];for(let c of a.split("\n")){let a=c.match(/^([^\s].*?)\s{2,}([a-z]{2}_[A-Z]{2})/);if(!a)continue;let d=a[1].trim(),e=a[2].trim(),f=e.split("_")[0],g=e.split("_")[1];b.push({id:d,name:d,locale:e,lang:f,country:g,gender:""})}return b}async function A(){let{stdout:a}=await x("powershell.exe",["-NoProfile","-NonInteractive","-WindowStyle","Hidden","-Command","Add-Type -AssemblyName System.Speech; $s = New-Object System.Speech.Synthesis.SpeechSynthesizer; $s.GetInstalledVoices() | ForEach-Object { $v = $_.VoiceInfo; [PSCustomObject]@{ Name=$v.Name; Culture=$v.Culture.Name; Gender=$v.Gender } } | ConvertTo-Json -Compress"],{windowsHide:!0}),b=JSON.parse(a.trim()||"[]");return(Array.isArray(b)?b:[b]).map(a=>{let b=a.Culture||"en-US",[c,d=""]=b.split("-");return{id:a.Name,name:a.Name,locale:b.replace("-","_"),lang:c,country:d,gender:({1:"Male",2:"Female",Male:"Male",Female:"Female"})[a.Gender]||""}})}async function B(){if(y)return y;try{let a="win32"===process.platform?await A():await z();return y=a,a}catch{return[]}}async function C(a,b){let c=await (0,u.mkdtemp)((0,w.join)((0,v.tmpdir)(),"tts-")),d=(0,w.join)(c,"out.aiff"),e=(0,w.join)(c,"out.mp3");try{let c=b?["-v",b,"-o",d,a]:["-o",d,a];return await x("say",c),await x("ffmpeg",["-y","-i",d,"-codec:a","libmp3lame","-qscale:a","4",e]),(await (0,u.readFile)(e)).toString("base64")}finally{await (0,u.rm)(c,{recursive:!0,force:!0})}}let D=new Map;async function E(a){if(!a)throw Error("ElevenLabs API key required");let b=Date.now(),c=D.get(a);if(c&&b-c.time<864e5)return c.voices;let d=await fetch("https://api.elevenlabs.io/v1/voices",{headers:{"xi-api-key":a,"Content-Type":"application/json"}});if(!d.ok)throw Error(`ElevenLabs voices fetch failed: ${d.status}`);let e=((await d.json()).voices||[]).map(a=>({...a,lang:a.labels?.language||"en"}));return D.set(a,{voices:e,time:b}),e}let F="gemini-2.5-flash-preview-tts",G="Kore",H=["gemini-2.5-flash-preview-tts","gemini-2.5-pro-preview-tts"],I=[{id:"Zephyr",lang:"en",gender:"Female"},{id:"Puck",lang:"en",gender:"Male"},{id:"Charon",lang:"en",gender:"Male"},{id:"Kore",lang:"en",gender:"Female"},{id:"Fenrir",lang:"en",gender:"Male"},{id:"Leda",lang:"en",gender:"Female"},{id:"Orus",lang:"en",gender:"Male"},{id:"Aoede",lang:"en",gender:"Female"},{id:"Callirrhoe",lang:"en",gender:"Female"},{id:"Autonoe",lang:"en",gender:"Female"},{id:"Enceladus",lang:"en",gender:"Male"},{id:"Iapetus",lang:"en",gender:"Male"},{id:"Umbriel",lang:"en",gender:"Male"},{id:"Algieba",lang:"en",gender:"Male"},{id:"Despina",lang:"en",gender:"Female"},{id:"Erinome",lang:"en",gender:"Female"},{id:"Algenib",lang:"en",gender:"Male"},{id:"Rasalgethi",lang:"en",gender:"Male"},{id:"Laomedeia",lang:"en",gender:"Female"},{id:"Achernar",lang:"en",gender:"Female"},{id:"Alnilam",lang:"en",gender:"Male"},{id:"Schedar",lang:"en",gender:"Male"},{id:"Gacrux",lang:"en",gender:"Female"},{id:"Pulcherrima",lang:"en",gender:"Female"},{id:"Achird",lang:"en",gender:"Male"},{id:"Zubenelgenubi",lang:"en",gender:"Male"},{id:"Vindemiatrix",lang:"en",gender:"Female"},{id:"Sadachbia",lang:"en",gender:"Male"},{id:"Sadaltager",lang:"en",gender:"Male"},{id:"Sulafat",lang:"en",gender:"Female"}];async function J(){return I.map(a=>({voice_id:a.id,name:a.id,labels:{language:a.lang,gender:a.gender}}))}let K={hyperbolic:async function({baseUrl:a,apiKey:b,text:c}){let d=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({text:c})});return d.ok||await i(d),{base64:(await d.json()).audio,format:"mp3"}},deepgram:async function({baseUrl:a,apiKey:b,text:c,modelId:d}){let e=new URL(a);e.searchParams.set("model",d||"aura-asteria-en");let f=await fetch(e.toString(),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Token ${b}`},body:JSON.stringify({text:c})});return f.ok||await i(f),h(f,"mp3")},"nvidia-tts":async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({input:{text:c},voice:e||"default",model:d})});return f.ok||await i(f),h(f,"wav")},"huggingface-tts":async function({baseUrl:a,apiKey:b,text:c,modelId:d}){if(!d||d.includes(".."))throw Error("Invalid HuggingFace model ID");let e=await fetch(`${a}/${d}`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({inputs:c})});return e.ok||await i(e),h(e,"wav")},inworld:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Basic ${b}`},body:JSON.stringify({text:c,voiceId:e||"Alex",modelId:d||"inworld-tts-1.5-mini",audioConfig:{audioEncoding:"MP3"}})});f.ok||await i(f);let g=await f.json();if(!g.audioContent)throw Error("Inworld TTS returned no audio");return{base64:g.audioContent,format:"mp3"}},cartesia:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":b,"Cartesia-Version":"2024-06-10"},body:JSON.stringify({model_id:d||"sonic-2",transcript:c,...e?{voice:{mode:"id",id:e}}:{},output_format:{container:"mp3",bit_rate:128e3,sample_rate:44100}})});return f.ok||await i(f),h(f,"mp3")},playht:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let[f,g]=(b||":").split(":"),j=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Accept:"audio/mpeg","X-USER-ID":f||"",Authorization:`Bearer ${g||b}`},body:JSON.stringify({text:c,voice:e||"s3://voice-cloning-zero-shot/d9ff78ba-d016-47f6-b0ef-dd630f59414e/female-cs/manifest.json",voice_engine:d||"PlayDialog",output_format:"mp3",speed:1})});return j.ok||await i(j),h(j,"mp3")},coqui:async function({baseUrl:a,text:b,voiceId:c}){let d=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:b,...c?{speaker_id:c}:{}})});return d.ok||await i(d),h(d,"wav")},tortoise:async function({baseUrl:a,text:b,voiceId:c}){let d=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:b,voice:c||"random"})});return d.ok||await i(d),h(d,"wav")},openai:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f={"Content-Type":"application/json"};b&&(f.Authorization=`Bearer ${b}`);let g=await fetch(a,{method:"POST",headers:f,body:JSON.stringify({model:d,input:c,voice:e||"alloy",response_format:"mp3",speed:1})});return g.ok||await i(g),h(g,"mp3")},"minimax-tts":async function({baseUrl:a,apiKey:b,text:c,modelId:e,voiceId:f}){let g=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({model:e||"speech-2.8-hd",text:c,stream:!1,language_boost:"auto",output_format:"hex",voice_setting:{voice_id:f||"English_expressive_narrator",speed:1,vol:1,pitch:0},audio_setting:{sample_rate:32e3,bitrate:128e3,format:"mp3",channel:1}})}),h=await g.text(),i={};if(h)try{i=JSON.parse(h)}catch{i={}}let j=i.base_resp||i.baseResp||{},k=Number(j.status_code??j.statusCode??0),l=j.status_msg||j.statusMsg||i.message||"";if(!g.ok)throw Error(l||h||`MiniMax TTS error (${g.status})`);if(0!==k)throw Error(l||"MiniMax TTS upstream error");return{base64:function(a){let b="string"==typeof a?a.trim():"";if(!b)throw Error("MiniMax TTS returned no audio");if(b.length%2!=0||!/^[0-9a-f]+$/i.test(b))throw Error("MiniMax TTS returned invalid audio");return d.Buffer.from(b,"hex").toString("base64")}(i.data?.audio),format:i.extra_info?.audio_format||i.extraInfo?.audioFormat||"mp3"}}},L={"google-tts":{noAuth:!0,async synthesize(a,b){let c=b||"en",d=await l(),e=a.replace(/[@^*()\\/\-_+=><"'\u201c\u201d\u3010\u3011]/g," ").replaceAll(", ",". "),f="jQ1olc",g=1e5*++k+Math.floor(1e3+9e3*Math.random()),h=new URLSearchParams({rpcids:f,"f.sid":d["f.sid"],bl:d.bl,hl:c,"soc-app":1,"soc-platform":1,"soc-device":1,_reqid:g,rt:"c"}),i=[e,c,null,"undefined",[0]],j=new URLSearchParams;j.append("f.req",JSON.stringify([[[f,JSON.stringify(i),null,"generic"]]]));let m=await fetch(`https://translate.google.com/_/TranslateWebserverUi/data/batchexecute?${h}`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Referer:"https://translate.google.com/"},body:j.toString()});if(!m.ok)throw Error(`Google TTS failed: ${m.status}`);let n=JSON.parse(JSON.parse((await m.text()).split("\n")[3])[0][2])[0];if(!n||n.length<100)throw Error("Google TTS returned empty audio");return{base64:n,format:"mp3"}}},"edge-tts":{noAuth:!0,async synthesize(a,b){let c=b||"vi-VN-HoaiMyNeural",e=await p(),f=await q(a,c,e);if((429===f.status||403===f.status)&&(m.token=null,m.tokenTime=0,e=await p(),f=await q(a,c,e)),!f.ok){let a=await f.text().catch(()=>"");throw Error(`Bing TTS failed: ${f.status}${a?" - "+a:""}`)}let g=await f.arrayBuffer();if(g.byteLength<1024)throw Error("Bing TTS returned empty audio");return{base64:d.Buffer.from(g).toString("base64"),format:"mp3"}}},"local-device":{noAuth:!0,synthesize:async(a,b)=>({base64:await C(a,b),format:"mp3"})},elevenlabs:{async synthesize(a,b,c){if(!c?.apiKey)throw Error("ElevenLabs API key required");let e="eleven_flash_v2_5",f=b;b&&b.includes("/")&&([e,f]=b.split("/"));let g=await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${f}`,{method:"POST",headers:{"xi-api-key":c.apiKey,"Content-Type":"application/json"},body:JSON.stringify({text:a,model_id:e,voice_settings:{stability:.5,similarity_boost:.75}})});if(!g.ok){let a=await g.json().catch(()=>({}));throw Error(a?.detail?.message||`ElevenLabs TTS failed: ${g.status}`)}let h=await g.arrayBuffer();if(h.byteLength<1024)throw Error("ElevenLabs TTS returned empty audio");return{base64:d.Buffer.from(h).toString("base64"),format:"mp3"}}},openai:{async synthesize(a,b,c){if(!c?.apiKey)throw Error("No OpenAI API key configured");let e="gpt-4o-mini-tts",f="alloy";if(b&&b.includes("/")){let a=b.split("/");2===a.length&&([e,f]=a)}else b&&(f=b);let g=(c.baseUrl||"https://api.openai.com").replace(/\/+$/,""),h=await fetch(`${g}/v1/audio/speech`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c.apiKey}`},body:JSON.stringify({model:e,voice:f,input:a})});if(!h.ok){let a=await h.json().catch(()=>({}));throw Error(a?.error?.message||`OpenAI TTS failed: ${h.status}`)}let i=await h.arrayBuffer();return{base64:d.Buffer.from(i).toString("base64"),format:"mp3"}}},openrouter:{async synthesize(a,b,c){if(!c?.apiKey)throw Error("No OpenRouter API key configured");let d="openai/gpt-4o-mini-tts",e="alloy";if(b&&b.includes("/")){let a=b.lastIndexOf("/"),c=b.slice(a+1),f=b.slice(0,a);f.includes("/")?(d=f,e=c):e=b}else b&&(e=b);let f=await fetch("https://openrouter.ai/api/v1/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c.apiKey}`,"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"},body:JSON.stringify({model:d,modalities:["text","audio"],audio:{voice:e,format:"wav"},stream:!0,messages:[{role:"user",content:a}]})});if(!f.ok){let a=await f.json().catch(()=>({}));throw Error(a?.error?.message||`OpenRouter TTS failed: ${f.status}`)}let g=[],h=f.body.getReader(),i=new TextDecoder,j="";for(;;){let{done:a,value:b}=await h.read();if(a)break;let c=(j+=i.decode(b,{stream:!0})).split("\n");for(let a of(j=c.pop(),c))if(a.startsWith("data: ")&&"data: [DONE]"!==a)try{let b=JSON.parse(a.slice(6)),c=b.choices?.[0]?.delta?.audio?.data;c&&g.push(c)}catch{}}if(0===g.length)throw Error("OpenRouter TTS returned no audio data");return{base64:g.join(""),format:"wav"}}},gemini:{async synthesize(a,b,c,e,f={}){var g,h;let i,j;if(!c?.apiKey)throw Error("No Gemini API key configured");let{modelId:k,voiceId:l}=function(a){if(!a)return{modelId:F,voiceId:G};for(let b of H){if(a===b)return{modelId:b,voiceId:G};if(a.startsWith(`${b}/`))return{modelId:b,voiceId:a.slice(b.length+1)}}return{modelId:F,voiceId:a}}(b),m=`https://generativelanguage.googleapis.com/v1beta/models/${k}:generateContent?key=${c.apiKey}`,n=await fetch(m,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:[{parts:[{text:(g=f.language,/:\s/.test(a)?a:g?`Say in ${g}: ${a}`:`Say: ${a}`)}]}],generationConfig:{responseModalities:["AUDIO"],speechConfig:{voiceConfig:{prebuiltVoiceConfig:{voiceName:l}}}}})});if(!n.ok){let a=await n.json().catch(()=>({}));throw Error(a?.error?.message||`Gemini TTS failed: ${n.status}`)}let o=await n.json(),p=o?.candidates?.[0]?.content?.parts?.find(a=>a.inlineData?.data)?.inlineData?.data;if(!p){let a=o?.candidates?.[0]?.finishReason||o?.promptFeedback?.blockReason||"unknown";throw Error(`Gemini TTS returned no audio (finishReason: ${a}, voice: ${l}, model: ${k})`)}return{base64:(i=(h=d.Buffer.from(p,"base64")).length,(j=d.Buffer.alloc(44)).write("RIFF",0),j.writeUInt32LE(36+i,4),j.write("WAVE",8),j.write("fmt ",12),j.writeUInt32LE(16,16),j.writeUInt16LE(1,20),j.writeUInt16LE(1,22),j.writeUInt32LE(24e3,24),j.writeUInt32LE(48e3,28),j.writeUInt16LE(2,32),j.writeUInt16LE(16,34),j.write("data",36),j.writeUInt32LE(i,40),d.Buffer.concat([j,h])).toString("base64"),format:"wav"}}}};async function M(a,b,d,e){let{AI_PROVIDERS:f}=await c.e(5681).then(c.bind(c,75681)),g=f[a]?.ttsConfig;if(!g)return null;let h=K[g.format];if(!h)return null;let i=e?.apiKey;if("none"!==g.authType&&!i)throw Error(`${a} API key required`);let{modelId:j,voiceId:k}=function(a,b="",c="",d=[]){if(!a)return{modelId:b,voiceId:c};for(let b of d.map(a=>a.id||a).filter(Boolean).sort((a,b)=>b.length-a.length)){if(a===b)return{modelId:b,voiceId:c};if(a.startsWith(`${b}/`))return{modelId:b,voiceId:a.slice(b.length+1)}}let e=a.lastIndexOf("/");return e>0?{modelId:a.slice(0,e),voiceId:a.slice(e+1)}:{modelId:b||a,voiceId:c||a}}(d,g.models?.[0]?.id||"","",g.models||[]);return h({baseUrl:g.baseUrl,apiKey:i,text:b,modelId:j,voiceId:k})}let N={"edge-tts":r,"local-device":B,elevenlabs:E,gemini:J};function O(a,b,c){let e=d.Buffer.from(a,"base64");return"json"===c?{success:!0,response:new Response(JSON.stringify({audio:a,format:b}),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}:{success:!0,response:new Response(e,{headers:{"Content-Type":`audio/${b}`,"Content-Length":String(e.length),"Access-Control-Allow-Origin":"*"}})}}async function P({provider:a,model:b,input:c,credentials:d,responseFormat:g="mp3",language:h}){if(!c?.trim())return(0,e.A1)(f.gx.BAD_REQUEST,"Missing required field: input");try{let i=L[a]||null;if(i){let a=await i.synthesize(c.trim(),b,d,g,{language:h});if(void 0!==a.success)return a;return O(a.base64,a.format,g)}let j=await M(a,c.trim(),b,d);if(j)return O(j.base64,j.format,g);return(0,e.A1)(f.gx.BAD_REQUEST,`Provider '${a}' does not support TTS via this route.`)}catch(a){return(0,e.A1)(f.gx.BAD_GATEWAY,a.message||"TTS synthesis failed")}}},78335:()=>{},96487:()=>{}};
@@ -0,0 +1,17 @@
1
+ exports.id=2415,exports.ids=[2415],exports.modules={17511:a=>{"use strict";a.exports={IS_DEV:!1,TARGET_HOSTS:["daily-cloudcode-pa.googleapis.com","cloudcode-pa.googleapis.com","daily-cloudcode-pa.sandbox.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","api2.cursor.sh","openrouter.ai","api.openrouter.ai"],URL_PATTERNS:{antigravity:[":generateContent",":streamGenerateContent"],copilot:["/chat/completions","/v1/messages","/responses"],kiro:["/generateAssistantResponse"],cursor:["/BidiAppend","/RunSSE","/RunPoll","/Run"],openrouter:["/models","/api/v1/models","/api/v1/key","/api/v1/auth/key","/chat/completions","/v1/chat/completions","/api/v1/chat/completions","/v1/messages","/responses","/api/v1/responses"]},MODEL_SYNONYMS:{antigravity:{"gemini-default":"gemini-3-flash","gemini-3-flash-agent":"gemini-3-flash","gemini-3.1-flash-lite":"gemini-3-flash",tab_flash_lite_preview:"gemini-3-flash","gemini-2.5-flash-lite":"gemini-3-flash","gemini-2.5-flash":"gemini-3-flash",__defaults:{"gemini-3.1-pro-high":"gemini-3.1-pro-high","gemini-3.1-pro-low":"gemini-3.1-pro-low","gemini-3-flash-agent":"cx/gpt-5.5","gemini-3-flash":"cx/gpt-5.5","claude-sonnet-4-6":"claude-sonnet-4-6","claude-opus-4-6-thinking":"claude-opus-4-6-thinking","gpt-oss-120b-medium":"gpt-oss-120b-medium"}}},MODEL_PATTERNS:{antigravity:[{match:/flash/i,alias:"gemini-3-flash"},{match:/pro.*low|low.*pro/i,alias:"gemini-3.1-pro-low"},{match:/gemini.*pro|pro.*gemini/i,alias:"gemini-3.1-pro-high"},{match:/opus/i,alias:"claude-opus-4-6-thinking"},{match:/sonnet|claude/i,alias:"claude-sonnet-4-6"},{match:/gpt.*oss|oss/i,alias:"gpt-oss-120b-medium"}]},LOG_BLACKLIST_URL_PARTS:["recordCodeAssistMetrics","recordTrajectoryAnalytics","fetchAdminControls","listExperiments","fetchUserInfo"],getToolForHost:function(a){let b=(a||"").split(":")[0];return"api.individual.githubcopilot.com"===b?"copilot":"daily-cloudcode-pa.googleapis.com"===b||"cloudcode-pa.googleapis.com"===b||"daily-cloudcode-pa.sandbox.googleapis.com"===b?"antigravity":"q.us-east-1.amazonaws.com"===b?"kiro":"api2.cursor.sh"===b?"cursor":"openrouter.ai"===b||"api.openrouter.ai"===b?"openrouter":null}}},49120:(a,b,c)=>{"use strict";c.r(b),c.d(b,{APP_NAME:()=>j,DATA_DIR:()=>p,DB_FILE:()=>q,LEGACY_APP_NAME:()=>k,getDataDir:()=>o,getLegacyDataDir:()=>n,migrateLegacyDataFilesIfNeeded:()=>r});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="openrouterx",k="9router",l=["db.json","usage.json","log.txt","disabledModels.json","request-details.json"];function m(a){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),a):g().join(i().homedir(),`.${a}`)}function n(){return m(k)}function o(){let a=process.env.DATA_DIR;if(!a)return m(j);try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable -> fallback ~/.${j}`),m(j);throw b}}let p=o(),q=g().join(p,"db.json");function r(){if(process.env.DATA_DIR)return!1;let a=n();if(a===p||!e().existsSync(a))return!1;let b=!1;for(let c of(e().existsSync(p)||e().mkdirSync(p,{recursive:!0}),l)){let d=g().join(a,c),f=g().join(p,c);e().existsSync(d)&&!e().existsSync(f)&&(e().copyFileSync(d,f),b=!0)}return b}r()},64809:(a,b,c)=>{"use strict";let{exec:d,execSync:e}=c(79646),f="win32"===process.platform;function g(){if(f)try{return e("net session >nul 2>&1",{windowsHide:!0,stdio:"ignore"}),!0}catch{return!1}return"function"==typeof process.getuid&&0===process.getuid()}function h(a){return`'${String(a).replace(/'/g,"''")}'`}a.exports={isAdmin:g,runElevatedPowerShell:function(a){if(!f)return Promise.reject(Error("Windows-only"));let b=Buffer.from(a,"utf16le").toString("base64");if(g())return new Promise((a,c)=>{d(`powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -EncodedCommand ${b}`,{windowsHide:!0},(b,d,e)=>{b?c(Error(e||b.message)):a(d)})});let c=`
2
+ $proc = Start-Process powershell -ArgumentList @(
3
+ '-NoProfile','-NonInteractive','-ExecutionPolicy','Bypass',
4
+ '-WindowStyle','Hidden','-EncodedCommand','${b}'
5
+ ) -Verb RunAs -Wait -PassThru -WindowStyle Hidden;
6
+ if ($proc.ExitCode -ne 0) { throw "Elevated command exited with code $($proc.ExitCode)" }
7
+ `;return new Promise((a,b)=>{d(`powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -Command ${h(c)}`,{windowsHide:!0},(c,d,e)=>{if(c){let a=e||c.message;a.includes("canceled by the user")||a.includes("operation was canceled")?b(Error("User canceled UAC prompt")):b(Error(a))}else a(d)})})},quotePs:h}},66936:(a,b,c)=>{"use strict";let{exec:d,spawn:e,execSync:f}=c(79646),g=c(29021),h=c(33873);c(21820);let{log:i,err:j}=c(87777),{TOOL_HOSTS:k}=c(85341),{runElevatedPowerShell:l,isAdmin:m}=c(64809);function n(a,b,c){let d=`${a}.openrouterx.new`,e=`${a}.openrouterx.bak`;try{g.writeFileSync(d,c,"utf8");try{g.unlinkSync(e)}catch{}g.renameSync(a,e);try{g.renameSync(d,a)}catch(c){try{g.renameSync(e,a)}catch{g.writeFileSync(a,b,"utf8")}throw c}try{g.unlinkSync(e)}catch{}}finally{try{g.unlinkSync(d)}catch{}}}let o="win32"===process.platform,p="darwin"===process.platform,q=o?h.join(process.env.SystemRoot||"C:\\Windows","System32","drivers","etc","hosts"):"/etc/hosts",r="com.apple/openrouterx-mitm-antigravity",s=["216.239.32.223","216.239.34.223","216.239.36.223","216.239.38.223"],t=["142.250.","142.251.","172.217."],u=o?["127.0.0.1"]:["127.0.0.1","::1"];function v(a=process.env){return"1"===String(a.OPENROUTERX_MITM_ANTIGRAVITY_PF||"").trim()}function w(a,b,c){return String(a||"").split(/\r?\n/).some(a=>(function(a,b,c){let d=String(a||"").trim();if(!d||d.startsWith("#"))return!1;let e=d.split(/\s+/);return e[0]===b&&e.slice(1).includes(c)})(a,c,b))}function x(a,b,c=u){return c.every(c=>w(a,b,c))}function y(a,b,c=u){return b.flatMap(b=>c.filter(c=>!w(a,b,c)).map(a=>`${a} ${b}`))}function z(){if(o)return!1;try{return f("command -v sudo",{stdio:"ignore",windowsHide:!0}),!0}catch{return!1}}function A(){if(o||!z())return!0;try{return f("sudo -n true",{stdio:"ignore",windowsHide:!0}),!0}catch{return!1}}function B(a,b){return new Promise((c,d)=>{let f=z(),g=f?e("sudo",["-S","sh","-c",a],{stdio:["pipe","pipe","pipe"],windowsHide:!0}):e("sh",["-c",a],{stdio:["ignore","pipe","pipe"],windowsHide:!0}),h="",i="";g.stdout.on("data",a=>{h+=a}),g.stderr.on("data",a=>{i+=a}),g.on("close",a=>{0===a?c(h):d(Error(i||`Exit code ${a}`))}),f&&(g.stdin.write(`${b}
8
+ `),g.stdin.end())})}async function C(a){o||(p?await B("dscacheutil -flushcache && killall -HUP mDNSResponder",a):await B("resolvectl flush-caches 2>/dev/null || true",a))}function D(a){return`'${String(a).replace(/'/g,"'\\''")}'`}async function E(){return[...s]}async function F(a){if(!p)return;if(!v()){await G(a),i("\uD83C\uDF10 PF antigravity: skipped (hosts-only mode; set OPENROUTERX_MITM_ANTIGRAVITY_PF=1 to opt in)");return}let b=await E();if(0===b.length)return;await H(a,b);let c=function(){if(!p)return"";try{return f("route -n get default 2>/dev/null | awk '/interface:/{print $2; exit}'",{encoding:"utf8",windowsHide:!0}).trim()||"en0"}catch{return"en0"}}(),d=`table <openrouterx_antigravity> persist { ${b.join(", ")} }
9
+ rdr pass on ${c} inet proto tcp from any to <openrouterx_antigravity> port 443 -> 127.0.0.1 port 443
10
+ `,e=`pfctl -E >/dev/null 2>&1 || true && printf '%s' ${D(d)} | pfctl -a ${D(r)} -f -`;await B(e,a),i(`🌐 PF antigravity: ✅ redirect active on ${c} (${b.length} IPs)`)}async function G(a){if(!p)return;let b=[...new Set([...await E(),...(function(){if(!p)return[];try{return[...f("ifconfig lo0",{encoding:"utf8",windowsHide:!0}).matchAll(/^\s+inet\s+(\d+\.\d+\.\d+\.\d+)\s+/gm)].map(a=>a[1])}catch{return[]}})().filter(a=>t.some(b=>a.startsWith(b)))])];await B(`pfctl -a ${D(r)} -F all >/dev/null 2>&1 || true`,a),await I(a,b),i("\uD83C\uDF10 PF antigravity: ✅ redirect removed")}async function H(a,b){if(!p||!b.length)return;let c=b.map(a=>`ifconfig lo0 alias ${a}/32 2>/dev/null || true`);await B(c.join("; "),a),i(`🌐 lo0 antigravity: ✅ aliases active (${b.length} IPs)`)}async function I(a,b){if(!p||!b.length)return;let c=b.map(a=>`ifconfig lo0 -alias ${a} 2>/dev/null || true`);await B(c.join("; "),a)}async function J(a,b){"antigravity"===a&&await F(b)}async function K(a,b){"antigravity"===a&&await G(b)}function L(a=null){try{let b=g.readFileSync(q,"utf8");if(a)return x(b,a);return k.antigravity.every(a=>x(b,a))}catch{return!1}}async function M(a,b){let c=k[a];if(!c)throw Error(`Unknown tool: ${a}`);let d=g.readFileSync(q,"utf8"),e=y(d,c);if(0===e.length){i(`🌐 DNS ${a}: already active`),await J(a,b);return}try{if(o){let a=d.replace(/[\r\n\s]+$/g,""),b=e.join("\r\n"),c=`${a}\r
11
+ ${b}\r
12
+ `;n(q,d,c),await l("ipconfig /flushdns | Out-Null")}else{let a=d.replace(/[\r\n\s]+$/g,""),c=e.join("\n"),f=`${a}
13
+ ${c}
14
+ `.replace(/'/g,"'\\''");await B(`printf '%s' '${f}' | tee ${q} > /dev/null`,b),await C(b)}await J(a,b),i(`🌐 DNS ${a}: ✅ added ${e.join(", ")}`)}catch(a){throw Error(a.message?.includes("incorrect password")?"Wrong sudo password":`Failed to add DNS entry: ${a.message}`)}}async function N(a,b){let c=k[a];if(!c)throw Error(`Unknown tool: ${a}`);let d=c.filter(a=>L(a));if(0===d.length){i(`🌐 DNS ${a}: already inactive`),await K(a,b);return}try{if(o){let a=g.readFileSync(q,"utf8"),b=a.split(/\r?\n/).filter(a=>!d.some(b=>a.includes(b))).join("\r\n").replace(/[\r\n\s]+$/g,"")+"\r\n";n(q,a,b),await l("ipconfig /flushdns | Out-Null")}else{let a=(g.readFileSync(q,"utf8").split(/\r?\n/).filter(a=>!d.some(b=>a.includes(b))).join("\n").replace(/[\r\n\s]+$/g,"")+"\n").replace(/'/g,"'\\''");await B(`printf '%s' '${a}' | tee ${q} > /dev/null`,b),await C(b)}await K(a,b),i(`🌐 DNS ${a}: ✅ removed ${d.join(", ")}`)}catch(a){throw Error(a.message?.includes("incorrect password")?"Wrong sudo password":`Failed to remove DNS entry: ${a.message}`)}}async function O(a){for(let b of Object.keys(k))try{await N(b,a)}catch(a){j(`DNS ${b}: failed to remove — ${a.message}`)}}a.exports={TOOL_HOSTS:k,addDNSEntry:M,removeDNSEntry:N,removeAllDNSEntries:O,removeAllDNSEntriesSync:function(){try{if(p){try{f(`pfctl -a ${r} -F all >/dev/null 2>&1 || true`,{stdio:"ignore"})}catch{}for(let a of s)try{f(`ifconfig lo0 -alias ${a} 2>/dev/null || true`,{stdio:"ignore"})}catch{}}if(!g.existsSync(q))return;let a=Object.values(k).flat(),b=g.readFileSync(q,"utf8"),c=o?"\r\n":"\n",d=b.split(/\r?\n/).filter(b=>!a.some(a=>b.includes(a))).join(c).replace(/[\r\n\s]+$/g,"")+c;if(d===b)return;if(g.writeFileSync(q,d,"utf8"),o)try{f("ipconfig /flushdns",{windowsHide:!0,stdio:"ignore"})}catch{}else if(p)try{f("dscacheutil -flushcache && killall -HUP mDNSResponder",{stdio:"ignore"})}catch{}else try{f("resolvectl flush-caches 2>/dev/null || true",{stdio:"ignore"})}catch{}}catch{}},execWithPassword:B,isSudoAvailable:z,canRunSudoWithoutPassword:A,isSudoPasswordRequired:function(){return!o&&z()&&!A()},checkDNSEntry:L,checkAllDNSStatus:function(){try{let a=g.readFileSync(q,"utf8"),b={};for(let[c,d]of Object.entries(k))b[c]=d.every(b=>x(a,b));return b}catch{return Object.fromEntries(Object.keys(k).map(a=>[a,!1]))}},getMissingHostsEntries:y,hostHasRequiredLoopbacks:x,isMacAntigravityPfRedirectEnabled:v}},78335:()=>{},82193:(a,b,c)=>{"use strict";c(29021);let d=c(33873),e=c(21820),f="openrouterx",g=process.env.DATA_DIR?process.env.DATA_DIR:"win32"===process.platform?d.join(process.env.APPDATA||d.join(e.homedir(),"AppData","Roaming"),f):d.join(e.homedir(),`.${f}`),h=d.join(g,"mitm");a.exports={DATA_DIR:g,MITM_DIR:h}},85341:a=>{"use strict";a.exports={TOOL_HOSTS:{antigravity:["daily-cloudcode-pa.googleapis.com","cloudcode-pa.googleapis.com","daily-cloudcode-pa.sandbox.googleapis.com"],copilot:["api.individual.githubcopilot.com"],kiro:["q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com"],cursor:["api2.cursor.sh"],openrouter:["openrouter.ai","api.openrouter.ai"]}}},87777:(a,b,c)=>{"use strict";let d=c(29021),e=c(33873),f=c(74075),{DATA_DIR:g}=c(82193),{LOG_BLACKLIST_URL_PARTS:h}=c(17511);function i(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}let j=function(){let a=[e.join(g,"logs","mitm"),e.join(c(21820).tmpdir(),"openrouterx","logs","mitm")];for(let b of a)try{return d.existsSync(b)||d.mkdirSync(b,{recursive:!0}),b}catch{}return a[1]}(),k=/^\s*(\{\s*\}|\[\s*\]|null)?\s*$/;function l(a,b=80){return String(a).replace(/[^a-zA-Z0-9]/g,"_").substring(0,b)}function m(a){return!!a&&h.some(b=>a.includes(b))}a.exports={log:a=>console.log(`[${i()}] [MITM] ${a}`),err:a=>console.error(`[${i()}] ❌ [MITM] ${a}`),dumpRequest:function(a,b,c="raw"){if(m(a.url))return null;try{let f=new Date().toISOString().replace(/[:.]/g,"-"),g=l((a.headers.host||"")+a.url),h=e.join(j,`${f}_${c}_${g}.req.json`),i=null;try{i=JSON.parse(b.toString())}catch{}return d.writeFileSync(h,JSON.stringify({method:a.method,url:a.url,host:a.headers.host,headers:a.headers,body:i??b.toString("utf8")},null,2)),h}catch{return null}},createResponseDumper:function(a,b="raw"){if(m(a.url))return null;let c=new Date().toISOString().replace(/[:.]/g,"-"),g=l((a.headers.host||"")+a.url),h=e.join(j,`${c}_${b}_${g}.res.txt`),i=0,n={},o=[];return{writeHeader:(a,b)=>{i=a,n=b||{}},writeChunk:a=>{null!=a&&o.push(Buffer.isBuffer(a)?a:Buffer.from(a))},end:()=>{try{let a=Buffer.concat(o),b=n["content-encoding"]||n["Content-Encoding"],c=(function(a,b){if(!a||0===a.length)return a;try{let c=(b||"").toLowerCase();if(c.includes("gzip"))return f.gunzipSync(a);if(c.includes("br"))return f.brotliDecompressSync(a);if(c.includes("deflate"))return f.inflateSync(a)}catch{}return a})(a,b).toString("utf8");if(k.test(c))return;let e={...n};delete e["content-encoding"],delete e["Content-Encoding"];let g=`STATUS: ${i}
15
+ HEADERS: ${JSON.stringify(e,null,2)}
16
+ ---BODY---
17
+ ${c}`;d.writeFileSync(h,g)}catch{}},file:h}},clearDumpDir:function(){try{if(!d.existsSync(j))return;for(let a of d.readdirSync(j))try{d.rmSync(e.join(j,a),{recursive:!0,force:!0})}catch{}}catch{}}}},96487:()=>{}};