9router-proxy 0.6.9 → 0.6.11

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 (570) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +8 -8
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +20 -20
  5. package/app/.next-cli-build/react-loadable-manifest.json +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +5 -5
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  77. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  78. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  79. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  80. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  81. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  82. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  83. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  84. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  85. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  86. package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
  87. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
  88. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -5
  89. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  90. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  91. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  102. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  104. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  107. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  109. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +2 -2
  111. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  115. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  119. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +2 -2
  123. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  125. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  129. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js +22 -2
  135. package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  137. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  141. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +2 -2
  143. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  145. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +2 -2
  149. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +2 -2
  151. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  153. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/combos/presets/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  238. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  268. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  274. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  286. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  295. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  301. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  307. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  313. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  322. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  346. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  354. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  356. package/app/.next-cli-build/server/app/callback.html +1 -1
  357. package/app/.next-cli-build/server/app/callback.rsc +5 -5
  358. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  359. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  360. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +5 -5
  361. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  362. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  363. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +5 -5
  364. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  365. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  366. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  367. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  368. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +6 -6
  369. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  370. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  371. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  372. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  373. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +6 -6
  374. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  375. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  376. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  377. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
  378. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +5 -5
  379. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  380. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  381. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  382. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  383. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +5 -5
  384. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  385. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  386. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  387. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  388. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +6 -6
  389. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  390. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  391. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  392. package/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  393. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +5 -5
  394. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  395. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  396. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  397. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  398. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +5 -5
  399. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  400. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  401. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  402. package/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  403. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +5 -5
  404. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  405. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  406. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  407. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
  408. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +5 -5
  409. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  410. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  411. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  412. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
  413. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +5 -5
  414. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
  415. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  416. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  417. package/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
  418. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +6 -6
  419. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  420. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  421. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  422. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  423. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  424. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  425. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  426. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  427. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  428. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +5 -5
  429. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  430. package/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
  431. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +5 -5
  432. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
  433. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  434. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  435. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
  436. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +5 -5
  437. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
  438. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  439. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  440. package/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  441. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +5 -5
  442. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  443. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  444. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  445. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  446. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +6 -6
  447. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  448. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  449. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  450. package/app/.next-cli-build/server/app/dashboard.rsc +5 -5
  451. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +5 -5
  452. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
  453. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  454. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  455. package/app/.next-cli-build/server/app/index.html +1 -1
  456. package/app/.next-cli-build/server/app/index.rsc +5 -5
  457. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +5 -5
  458. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
  459. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  460. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  461. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  462. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  463. package/app/.next-cli-build/server/app/landing.html +1 -1
  464. package/app/.next-cli-build/server/app/landing.rsc +5 -5
  465. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
  466. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  467. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +5 -5
  468. package/app/.next-cli-build/server/app/login/page.js +1 -1
  469. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  470. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  471. package/app/.next-cli-build/server/app/login.html +1 -1
  472. package/app/.next-cli-build/server/app/login.rsc +5 -5
  473. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  474. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  475. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +5 -5
  476. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  477. package/app/.next-cli-build/server/app/page.js +1 -1
  478. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  479. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  480. package/app/.next-cli-build/server/app-paths-manifest.json +8 -8
  481. package/app/.next-cli-build/server/chunks/1051.js +1 -1
  482. package/app/.next-cli-build/server/chunks/1350.js +1 -1
  483. package/app/.next-cli-build/server/chunks/1757.js +22 -2
  484. package/app/.next-cli-build/server/chunks/1836.js +1 -1
  485. package/app/.next-cli-build/server/chunks/2132.js +1 -1
  486. package/app/.next-cli-build/server/chunks/24.js +1 -1
  487. package/app/.next-cli-build/server/chunks/2409.js +1 -1
  488. package/app/.next-cli-build/server/chunks/{2329.js → 2578.js} +1 -1
  489. package/app/.next-cli-build/server/chunks/2897.js +1 -0
  490. package/app/.next-cli-build/server/chunks/2983.js +1 -0
  491. package/app/.next-cli-build/server/chunks/3210.js +1 -1
  492. package/app/.next-cli-build/server/chunks/3535.js +1 -1
  493. package/app/.next-cli-build/server/chunks/3726.js +1 -1
  494. package/app/.next-cli-build/server/chunks/3943.js +1 -1
  495. package/app/.next-cli-build/server/chunks/3966.js +1 -1
  496. package/app/.next-cli-build/server/chunks/4049.js +1 -1
  497. package/app/.next-cli-build/server/chunks/412.js +5 -5
  498. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  499. package/app/.next-cli-build/server/chunks/4199.js +1 -1
  500. package/app/.next-cli-build/server/chunks/436.js +1 -1
  501. package/app/.next-cli-build/server/chunks/4798.js +1 -1
  502. package/app/.next-cli-build/server/chunks/5026.js +1 -1
  503. package/app/.next-cli-build/server/chunks/5299.js +10 -3
  504. package/app/.next-cli-build/server/chunks/5330.js +5 -5
  505. package/app/.next-cli-build/server/chunks/5615.js +2 -2
  506. package/app/.next-cli-build/server/chunks/562.js +1 -1
  507. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  508. package/app/.next-cli-build/server/chunks/614.js +6 -6
  509. package/app/.next-cli-build/server/chunks/615.js +1 -1
  510. package/app/.next-cli-build/server/chunks/6877.js +1 -1
  511. package/app/.next-cli-build/server/chunks/6922.js +1 -1
  512. package/app/.next-cli-build/server/chunks/7066.js +1 -1
  513. package/app/.next-cli-build/server/chunks/7211.js +1 -1
  514. package/app/.next-cli-build/server/chunks/7247.js +1 -1
  515. package/app/.next-cli-build/server/chunks/7525.js +1 -1
  516. package/app/.next-cli-build/server/chunks/7557.js +1 -1
  517. package/app/.next-cli-build/server/chunks/7716.js +1 -1
  518. package/app/.next-cli-build/server/chunks/7828.js +1 -1
  519. package/app/.next-cli-build/server/chunks/7843.js +1 -1
  520. package/app/.next-cli-build/server/chunks/8251.js +1 -1
  521. package/app/.next-cli-build/server/chunks/8363.js +1 -1
  522. package/app/.next-cli-build/server/chunks/8402.js +1 -1
  523. package/app/.next-cli-build/server/chunks/8499.js +6 -2
  524. package/app/.next-cli-build/server/chunks/8635.js +1 -1
  525. package/app/.next-cli-build/server/chunks/869.js +1 -1
  526. package/app/.next-cli-build/server/chunks/8895.js +4 -4
  527. package/app/.next-cli-build/server/chunks/8910.js +1 -1
  528. package/app/.next-cli-build/server/chunks/9100.js +2 -2
  529. package/app/.next-cli-build/server/chunks/936.js +1 -1
  530. package/app/.next-cli-build/server/chunks/9604.js +1 -1
  531. package/app/.next-cli-build/server/chunks/9609.js +1 -1
  532. package/app/.next-cli-build/server/chunks/{6555.js → 9858.js} +1 -1
  533. package/app/.next-cli-build/server/instrumentation.js +1 -1
  534. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  535. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  536. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  537. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  538. package/app/.next-cli-build/server/pages/404.html +1 -1
  539. package/app/.next-cli-build/server/pages/500.html +1 -1
  540. package/app/.next-cli-build/server/preview-props.json +3 -3
  541. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  542. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  543. package/app/.next-cli-build/static/chunks/1321-dd1b3ddaa32903fc.js +1 -0
  544. package/app/.next-cli-build/static/chunks/5497-619cad99e918e6b6.js +7 -0
  545. package/app/.next-cli-build/static/chunks/6808-ada8d917f8f60e64.js +1 -0
  546. package/app/.next-cli-build/static/chunks/{761-e9f1b4d71f823c81.js → 761-c9086970fe03f4a1.js} +17 -10
  547. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-68f91309eb1f96f4.js +1 -0
  548. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-4eb913893337386a.js → page-46e8e71f59e43a41.js} +1 -1
  549. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-52036f4792a313ea.js → page-bdffd7da424a40f6.js} +2 -2
  550. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-c18f2c1a8086dade.js +27 -0
  551. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-4dbfaf4b1a0b1c32.js +1 -0
  552. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-95805ef9f057450e.js → layout-9b16f294682f60b0.js} +1 -1
  553. package/app/.next-cli-build/static/chunks/{webpack-f32df626b66ad66c.js → webpack-12ea7382538b2759.js} +1 -1
  554. package/app/.next-cli-build/static/css/ddd5ce279857f5e9.css +1 -0
  555. package/app/package.json +1 -1
  556. package/app/public/providers/nous.png +0 -0
  557. package/app/src/mitm/server.js +1 -1
  558. package/app/src/shared/services/quotaAutoPing.js +57 -25
  559. package/package.json +1 -1
  560. package/app/.next-cli-build/server/chunks/2375.js +0 -1
  561. package/app/.next-cli-build/server/chunks/3711.js +0 -1
  562. package/app/.next-cli-build/static/chunks/1321-b89cfee091cdd169.js +0 -1
  563. package/app/.next-cli-build/static/chunks/5497-76da5aae5c912ea5.js +0 -7
  564. package/app/.next-cli-build/static/chunks/6808-89bf09eb1e95c74d.js +0 -1
  565. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-08d02f26c201563c.js +0 -1
  566. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-ad6e72e4fa047b21.js +0 -27
  567. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-736db53272ee934c.js +0 -1
  568. package/app/.next-cli-build/static/css/9744bf52995548d4.css +0 -1
  569. /package/app/.next-cli-build/static/{gP6myLWXiPD5PGe6Eqewr → g6PngkH3jgczic6Eb9ziG}/_buildManifest.js +0 -0
  570. /package/app/.next-cli-build/static/{gP6myLWXiPD5PGe6Eqewr → g6PngkH3jgczic6Eb9ziG}/_ssgManifest.js +0 -0
@@ -4,4 +4,4 @@
4
4
  data: ${d}
5
5
 
6
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:j,registerSession:function(a,b){let c=j(a),d=e.randomUUID();return c.sessions.set(d,b),d},unregisterSession:function(a,b){let c=h().get(a);if(c&&(c.sessions.delete(b),0===c.sessions.size)){try{c.proc.kill()}catch{}h().delete(a)}},sendToChild:function(a,b){let c=h().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=h().get(a);return!!(b?.proc&&!b.proc.killed&&null===b.proc.exitCode)},findPlugin:i,killAllBridges:function(){let a=h();for(let[b,c]of a){try{c.proc.kill()}catch{}a.delete(b)}}}},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}}},76476:(a,b,c)=>{c.d(b,{N:()=>l,v:()=>k});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(49120);let i=g().join(h.n,"mitm","aliases.json");function j(a){let b=g().dirname(i);e().mkdirSync(b,{recursive:!0});let c=`${i}.tmp`;e().writeFileSync(c,JSON.stringify(a,null,2),"utf8"),e().renameSync(c,i)}async function k(){try{let{getMitmAlias:a}=await Promise.resolve().then(c.bind(c,9460)),b=await a();j(b||{})}catch(a){console.log("[mitmAliasCache] sync failed:",a.message)}}function l(a,b){try{let c={};if(e().existsSync(i))try{c=JSON.parse(e().readFileSync(i,"utf8"))}catch{}c[a]=b||{},j(c)}catch(a){console.log("[mitmAliasCache] write failed:",a.message)}}},94123:(a,b,c)=>{c.d(b,{Ay:()=>v,Zh:()=>u});var d=c(21820),e=c.n(d),f=c(1932),g=c(33873),h=c(29021),i=c(89718),j=c(66457),k=c(96182),l=c(76476),m=c(17113);if(!process.env.MITM_SERVER_PATH)try{let a=(0,f.fileURLToPath)("file:///home/runner/work/9router/9router/src/shared/services/initializeApp.js"),b=(0,g.dirname)((0,g.dirname)(a)),c=(0,g.join)(b,"mitm","server.js");(0,h.existsSync)(c)&&(process.env.MITM_SERVER_PATH=c)}catch{}try{(0,k.initDbHooks)(i.mt,i.Xx)}catch{}process.setMaxListeners(20);let n=global.__appSingleton??={signalHandlersRegistered:!1,watchdogInterval:null,networkMonitorInterval:null,lastNetworkFingerprint:null,lastWatchdogTick:Date.now(),lastOnline:null,mitmStartInProgress:!1,tunnelAutoResumed:!1,tailscaleAutoResumed:!1};async function o(){var a;await (0,i.bI)();let b=await (0,i.mt)();b.tunnelEnabled&&!n.tunnelAutoResumed&&(n.tunnelAutoResumed=!0,console.log("[InitApp] Tunnel was enabled, auto-resuming..."),r("startup").catch(a=>console.log("[InitApp] Tunnel resume failed:",a.message))),b.tailscaleEnabled&&!n.tailscaleAutoResumed&&(n.tailscaleAutoResumed=!0,console.log("[InitApp] Tailscale was enabled, auto-resuming..."),s("startup").catch(a=>console.log("[InitApp] Tailscale resume failed:",a.message))),b.tunnelEnabled&&(0,j.Al)().catch(()=>{}),b.mitmEnabled&&((0,l.v)().catch(()=>{}),p(b)),u(b),a=b,[a?.claudeAutoPing,a?.codexAutoPing].some(a=>Object.values(a?.connections||{}).some(Boolean))&&Promise.all([c.e(7774),c.e(2375),c.e(6070),c.e(869),c.e(8920),c.e(24),c.e(436),c.e(3943),c.e(6922),c.e(7843),c.e(2329),c.e(3225),c.e(7913),c.e(3811),c.e(614),c.e(9696),c.e(8499),c.e(1836),c.e(8416),c.e(5330),c.e(6171),c.e(8895),c.e(7211),c.e(8363)]).then(c.bind(c,1133)).then(({startQuotaAutoPing:a})=>a()).catch(a=>console.log("[AutoPing] scheduler start failed:",a.message)),Promise.all([c.e(2375),c.e(6070),c.e(436),c.e(3943),c.e(1051)]).then(c.bind(c,3256)).then(({startBackgroundTokenRefresh:a})=>a()).catch(a=>console.log("[BackgroundTokenRefresh] scheduler start failed:",a.message))}async function p(a){if(!n.mitmStartInProgress){n.mitmStartInProgress=!0;try{if(!a.mitmEnabled||(await (0,k.getMitmStatus)()).running)return;let b=await (0,k.loadEncryptedPassword)();if(!b&&"win32"!==process.platform)return void console.log("[InitApp] MITM was enabled but no saved password found, skipping auto-start");let c=(await (0,i.PX)()).find(a=>!1!==a.isActive);console.log("[InitApp] MITM was enabled, auto-starting..."),await (0,k.startMitm)(c?.key||"sk_9router",b),console.log("[InitApp] MITM auto-started");try{await (0,k.restoreToolDNS)(b),console.log("[InitApp] DNS restored from saved state")}catch(a){console.log("[InitApp] DNS restore failed:",a.message)}}catch(a){console.log("[InitApp] MITM auto-start failed:",a.message)}finally{n.mitmStartInProgress=!1}}}let q=/^(startup|netchange|sleep|sleep\+netchange|online|unexpected-exit)$/;async function r(a){let b=(0,j.Qn)();if(!(await (0,i.mt)()).tunnelEnabled||b.cancelToken.cancelled||b.spawnInProgress)return;let c=q.test(a);if(!(0,j.nN)()){if(!c&&Date.now()-b.lastRestartAt<j.Lh)return void console.log(`[Tunnel] degraded but cooldown active, skip (${a})`);if(await (0,j.u7)()){console.log(`[Tunnel] safeRestart (${a}) — tunnel unreachable${c?" [force]":""}`);try{await (0,j.cb)(),b.lastRestartAt=Date.now(),console.log("[Tunnel] restart success")}catch(a){/cloudflared killed|tunnel cancelled/.test(a.message)||console.log("[Tunnel] restart failed:",a.message)}}}}async function s(a){let b=(0,j.oN)();if(!(await (0,i.mt)()).tailscaleEnabled||b.cancelToken.cancelled||b.spawnInProgress||("startup"===a?await (0,j.hp)():(0,j.Kp)()))return;if((0,j.si)()&&b.activeLocalPort){try{await (0,j.LC)(b.activeLocalPort),b.lastRestartAt=Date.now(),console.log("[Tailscale] funnel re-established (daemon alive)")}catch(a){console.log("[Tailscale] funnel recovery failed:",a.message)}return}let c=q.test(a);if(!c&&Date.now()-b.lastRestartAt<j.Lh)return void console.log(`[Tailscale] degraded but cooldown active, skip (${a})`);if(await (0,j.u7)()){console.log(`[Tailscale] safeRestart (${a}) — daemon not running${c?" [force]":""}`);try{await (0,j.mh)(),b.lastRestartAt=Date.now(),console.log("[Tailscale] restart success")}catch(a){console.log("[Tailscale] restart failed:",a.message)}}}function t(){let a=e().networkInterfaces(),b=[];for(let[c,d]of Object.entries(a))if(d&&!j.Lx.test(c))for(let a of d)a.internal||"IPv4"!==a.family||b.push(`${c}:${a.address}`);return b.sort().join("|")}function u(a){if(a?.tunnelEnabled||a?.tailscaleEnabled){!n.watchdogInterval&&(n.watchdogInterval=setInterval(()=>{r("watchdog").catch(()=>{}),s("watchdog").catch(()=>{})},j.DA),n.watchdogInterval.unref&&n.watchdogInterval.unref()),!n.networkMonitorInterval&&(n.lastNetworkFingerprint=t(),n.lastWatchdogTick=Date.now(),n.lastOnline=null,n.networkMonitorInterval=setInterval(async()=>{try{let a=Date.now(),b=a-n.lastWatchdogTick;n.lastWatchdogTick=a;let c=t(),d=c!==n.lastNetworkFingerprint,e=b>6*j.rI;d&&(n.lastNetworkFingerprint=c);let f=await (0,j.u7)(),g=!1===n.lastOnline;if(n.lastOnline=f,!f||!d&&!e&&!g)return;await new Promise(a=>setTimeout(a,j.cw));let h=g?"online":e&&d?"sleep+netchange":e?"sleep":"netchange";r(h).catch(()=>{}),s(h).catch(()=>{})}catch(a){console.log("[NetworkMonitor] error:",a.message)}},j.rI),n.networkMonitorInterval.unref&&n.networkMonitorInterval.unref());return}n.watchdogInterval&&(clearInterval(n.watchdogInterval),n.watchdogInterval=null),n.networkMonitorInterval&&(clearInterval(n.networkMonitorInterval),n.networkMonitorInterval=null,n.lastNetworkFingerprint=null,n.lastOnline=null)}let v=async function a(){try{if(!n.signalHandlersRegistered){let a=()=>{try{(0,k.removeAllDNSEntriesSync)()}catch{}try{(0,m.killAllBridges)()}catch{}(0,j.ss)(),process.exit()};process.on("SIGINT",a),process.on("SIGTERM",a),process.on("exit",()=>{try{(0,k.removeAllDNSEntriesSync)()}catch{}}),n.signalHandlersRegistered=!0}(0,j.X$)(()=>{r("unexpected-exit").catch(()=>{})}),setTimeout(()=>{o().catch(a=>console.error("[InitApp] deferred startup failed:",a.message))},3e3)}catch(a){console.error("[InitApp] Error:",a)}}}};
7
+ `)},isRunning:function(a){let b=h().get(a);return!!(b?.proc&&!b.proc.killed&&null===b.proc.exitCode)},findPlugin:i,killAllBridges:function(){let a=h();for(let[b,c]of a){try{c.proc.kill()}catch{}a.delete(b)}}}},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}}},76476:(a,b,c)=>{c.d(b,{N:()=>l,v:()=>k});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(49120);let i=g().join(h.n,"mitm","aliases.json");function j(a){let b=g().dirname(i);e().mkdirSync(b,{recursive:!0});let c=`${i}.tmp`;e().writeFileSync(c,JSON.stringify(a,null,2),"utf8"),e().renameSync(c,i)}async function k(){try{let{getMitmAlias:a}=await Promise.resolve().then(c.bind(c,9460)),b=await a();j(b||{})}catch(a){console.log("[mitmAliasCache] sync failed:",a.message)}}function l(a,b){try{let c={};if(e().existsSync(i))try{c=JSON.parse(e().readFileSync(i,"utf8"))}catch{}c[a]=b||{},j(c)}catch(a){console.log("[mitmAliasCache] write failed:",a.message)}}},94123:(a,b,c)=>{c.d(b,{Ay:()=>v,Zh:()=>u});var d=c(21820),e=c.n(d),f=c(1932),g=c(33873),h=c(29021),i=c(89718),j=c(66457),k=c(96182),l=c(76476),m=c(17113);if(!process.env.MITM_SERVER_PATH)try{let a=(0,f.fileURLToPath)("file:///home/runner/work/9router/9router/src/shared/services/initializeApp.js"),b=(0,g.dirname)((0,g.dirname)(a)),c=(0,g.join)(b,"mitm","server.js");(0,h.existsSync)(c)&&(process.env.MITM_SERVER_PATH=c)}catch{}try{(0,k.initDbHooks)(i.mt,i.Xx)}catch{}process.setMaxListeners(20);let n=global.__appSingleton??={signalHandlersRegistered:!1,watchdogInterval:null,networkMonitorInterval:null,lastNetworkFingerprint:null,lastWatchdogTick:Date.now(),lastOnline:null,mitmStartInProgress:!1,tunnelAutoResumed:!1,tailscaleAutoResumed:!1};async function o(){var a;await (0,i.bI)();let b=await (0,i.mt)();b.tunnelEnabled&&!n.tunnelAutoResumed&&(n.tunnelAutoResumed=!0,console.log("[InitApp] Tunnel was enabled, auto-resuming..."),r("startup").catch(a=>console.log("[InitApp] Tunnel resume failed:",a.message))),b.tailscaleEnabled&&!n.tailscaleAutoResumed&&(n.tailscaleAutoResumed=!0,console.log("[InitApp] Tailscale was enabled, auto-resuming..."),s("startup").catch(a=>console.log("[InitApp] Tailscale resume failed:",a.message))),b.tunnelEnabled&&(0,j.Al)().catch(()=>{}),b.mitmEnabled&&((0,l.v)().catch(()=>{}),p(b)),u(b),a=b,[a?.claudeAutoPing,a?.codexAutoPing].some(a=>Object.values(a?.connections||{}).some(Boolean)||Object.values(a?.schedules||{}).some(a=>a?.enabled===!0))&&Promise.all([c.e(7774),c.e(2983),c.e(6070),c.e(869),c.e(8920),c.e(24),c.e(436),c.e(3943),c.e(6922),c.e(2578),c.e(7843),c.e(3225),c.e(7913),c.e(3811),c.e(614),c.e(9696),c.e(8499),c.e(1836),c.e(8416),c.e(5330),c.e(6171),c.e(8895),c.e(7211),c.e(8363)]).then(c.bind(c,1133)).then(({startQuotaAutoPing:a})=>a()).catch(a=>console.log("[AutoPing] scheduler start failed:",a.message)),Promise.all([c.e(2983),c.e(6070),c.e(436),c.e(3943),c.e(1051)]).then(c.bind(c,3256)).then(({startBackgroundTokenRefresh:a})=>a()).catch(a=>console.log("[BackgroundTokenRefresh] scheduler start failed:",a.message))}async function p(a){if(!n.mitmStartInProgress){n.mitmStartInProgress=!0;try{if(!a.mitmEnabled||(await (0,k.getMitmStatus)()).running)return;let b=await (0,k.loadEncryptedPassword)();if(!b&&"win32"!==process.platform)return void console.log("[InitApp] MITM was enabled but no saved password found, skipping auto-start");let c=(await (0,i.PX)()).find(a=>!1!==a.isActive);console.log("[InitApp] MITM was enabled, auto-starting..."),await (0,k.startMitm)(c?.key||"sk_9router",b),console.log("[InitApp] MITM auto-started");try{await (0,k.restoreToolDNS)(b),console.log("[InitApp] DNS restored from saved state")}catch(a){console.log("[InitApp] DNS restore failed:",a.message)}}catch(a){console.log("[InitApp] MITM auto-start failed:",a.message)}finally{n.mitmStartInProgress=!1}}}let q=/^(startup|netchange|sleep|sleep\+netchange|online|unexpected-exit)$/;async function r(a){let b=(0,j.Qn)();if(!(await (0,i.mt)()).tunnelEnabled||b.cancelToken.cancelled||b.spawnInProgress)return;let c=q.test(a);if(!(0,j.nN)()){if(!c&&Date.now()-b.lastRestartAt<j.Lh)return void console.log(`[Tunnel] degraded but cooldown active, skip (${a})`);if(await (0,j.u7)()){console.log(`[Tunnel] safeRestart (${a}) — tunnel unreachable${c?" [force]":""}`);try{await (0,j.cb)(),b.lastRestartAt=Date.now(),console.log("[Tunnel] restart success")}catch(a){/cloudflared killed|tunnel cancelled/.test(a.message)||console.log("[Tunnel] restart failed:",a.message)}}}}async function s(a){let b=(0,j.oN)();if(!(await (0,i.mt)()).tailscaleEnabled||b.cancelToken.cancelled||b.spawnInProgress||("startup"===a?await (0,j.hp)():(0,j.Kp)()))return;if((0,j.si)()&&b.activeLocalPort){try{await (0,j.LC)(b.activeLocalPort),b.lastRestartAt=Date.now(),console.log("[Tailscale] funnel re-established (daemon alive)")}catch(a){console.log("[Tailscale] funnel recovery failed:",a.message)}return}let c=q.test(a);if(!c&&Date.now()-b.lastRestartAt<j.Lh)return void console.log(`[Tailscale] degraded but cooldown active, skip (${a})`);if(await (0,j.u7)()){console.log(`[Tailscale] safeRestart (${a}) — daemon not running${c?" [force]":""}`);try{await (0,j.mh)(),b.lastRestartAt=Date.now(),console.log("[Tailscale] restart success")}catch(a){console.log("[Tailscale] restart failed:",a.message)}}}function t(){let a=e().networkInterfaces(),b=[];for(let[c,d]of Object.entries(a))if(d&&!j.Lx.test(c))for(let a of d)a.internal||"IPv4"!==a.family||b.push(`${c}:${a.address}`);return b.sort().join("|")}function u(a){if(a?.tunnelEnabled||a?.tailscaleEnabled){!n.watchdogInterval&&(n.watchdogInterval=setInterval(()=>{r("watchdog").catch(()=>{}),s("watchdog").catch(()=>{})},j.DA),n.watchdogInterval.unref&&n.watchdogInterval.unref()),!n.networkMonitorInterval&&(n.lastNetworkFingerprint=t(),n.lastWatchdogTick=Date.now(),n.lastOnline=null,n.networkMonitorInterval=setInterval(async()=>{try{let a=Date.now(),b=a-n.lastWatchdogTick;n.lastWatchdogTick=a;let c=t(),d=c!==n.lastNetworkFingerprint,e=b>6*j.rI;d&&(n.lastNetworkFingerprint=c);let f=await (0,j.u7)(),g=!1===n.lastOnline;if(n.lastOnline=f,!f||!d&&!e&&!g)return;await new Promise(a=>setTimeout(a,j.cw));let h=g?"online":e&&d?"sleep+netchange":e?"sleep":"netchange";r(h).catch(()=>{}),s(h).catch(()=>{})}catch(a){console.log("[NetworkMonitor] error:",a.message)}},j.rI),n.networkMonitorInterval.unref&&n.networkMonitorInterval.unref());return}n.watchdogInterval&&(clearInterval(n.watchdogInterval),n.watchdogInterval=null),n.networkMonitorInterval&&(clearInterval(n.networkMonitorInterval),n.networkMonitorInterval=null,n.lastNetworkFingerprint=null,n.lastOnline=null)}let v=async function a(){try{if(!n.signalHandlersRegistered){let a=()=>{try{(0,k.removeAllDNSEntriesSync)()}catch{}try{(0,m.killAllBridges)()}catch{}(0,j.ss)(),process.exit()};process.on("SIGINT",a),process.on("SIGTERM",a),process.on("exit",()=>{try{(0,k.removeAllDNSEntriesSync)()}catch{}}),n.signalHandlersRegistered=!0}(0,j.X$)(()=>{r("unexpected-exit").catch(()=>{})}),setTimeout(()=>{o().catch(a=>console.error("[InitApp] deferred startup failed:",a.message))},3e3)}catch(a){console.error("[InitApp] Error:",a)}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=4199,exports.ids=[4199],exports.modules={16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(83192)},19225:(a,b,c)=>{a.exports=c(44870)},27547:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>L,OPTIONS:()=>K,buildModelsList:()=>J});var d=c(81329),e=c(40615),f=c(89718),g=c(16655),h=c(27811),i=c(29679),j=c(52007),k=c(53225),l=c(39609),m=c(75924),n=c(8521);let o=new Map;async function p(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,l.proxyAwareFetch)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":`vscode/${m.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${m.x0.COPILOT_CHAT_VERSION}`,"user-agent":m.x0.USER_AGENT,"x-github-api-version":m.x0.API_VERSION},cache:"no-store",signal:b||c.signal});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function q(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=o.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await p(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,n.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await p(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(o.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var r=c(28948),s=c(38709),t=c(82578),u=c(49804),v=c(37347),w=c(44705),x=c(67828),y=c(39326),z=c(24);async function A(a,b){let c=await (0,k.EV)({provider:b,accessToken:a.accessToken,apiKey:a.apiKey,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}}),d=(0,k.So)(c);return d.length?{models:d.map(a=>({id:a.id,name:a.name}))}:null}let B={...Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a])),...e.js};function C(a){let b=a.indexOf("/");if(b<=0)return null;let c=a.slice(0,b);return(0,z.getCapabilitiesForModel)(B[c]||c,a.slice(b+1))}let D={kiro:async a=>{let b=await (0,i.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},qoder:async a=>A(a,"qoder"),"qoder-cn":async a=>A(a,"qoder-cn"),kimchi:async a=>{let b=await (0,j.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},github:async a=>{let b=await q({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,onCredentialsRefreshed:async b=>{await (0,x.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return b?.models?.length?{models:b.models}:null},clinepass:async a=>{let b=await (0,r.P)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null},cline:async a=>{let b=await (0,r.M)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null},"grok-cli":async a=>{let b=await (0,y.B)(a.providerSpecificData||{}),c=await (0,s.M)({...a,connectionId:a.id},{log:console,proxyOptions:{connectionProxyEnabled:!0===b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl||"",connectionNoProxy:b.connectionNoProxy||"",vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy},onCredentialsRefreshed:async b=>{await (0,x.vN)(a.id,{...b,existingProviderSpecificData:a.providerSpecificData||{}})}});return c?.models?.length?{models:c.models}:null},cursor:async a=>{let b=await (0,t.FD)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},zed:async a=>{let b=await (0,u.w9)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models.filter(a=>!a.isDisabled).map(a=>({id:a.id,name:a.name,capabilities:a.supportsTools?{tools:!0}:void 0}))}:null},"trae-enterprise":async a=>{let b=await (0,v.i)({accessToken:a.accessToken});return b?.models?.length?{models:b.models.map(a=>({id:a.id,name:a.name}))}:null},codearts:async a=>{let b=await (0,y.B)(a.providerSpecificData||{}),c=await (0,w.EA)(a,{proxyOptions:{connectionProxyEnabled:!0===b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl||"",connectionNoProxy:b.connectionNoProxy||"",vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy}});return c?.models?.length?{models:c.models}:null}},E="x-9r-internal-models-fetch",F={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText",video:"video"};function G(a){let b=a?.kind||a?.type;return b&&F[b]||"llm"}async function H(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{var f;let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:{...d,[E]:"1"},cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let g=(f=await e.json(),Array.isArray(f)?f:f?.data||f?.models||f?.results||[]);return Array.from(new Set(g.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}function I(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function J(a,b={}){let c=!0===b.skipDynamicFetch,h=[];try{h=(h=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, returning all models")}let i=[];try{i=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let j=[];try{j=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let k={};try{k=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let l={};try{l=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let m=(a,b)=>Array.isArray(l[a])&&l[a].includes(b),n=new Map;for(let a of h)n.has(a.provider)||n.set(a.provider,a);let o=[],p=new Map(i.filter(a=>"string"==typeof a?.name).map(a=>[a.name,a])),q=Object.fromEntries(i.map(a=>[a.name,a.models]));for(let b of i){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;let c={id:b.name,object:"model",owned_by:"combo"};if("webSearch"===b.kind||"webFetch"===b.kind)c.kind=b.kind;else{let a=(0,z.aggregateComboCapabilities)(b.models,q,C);a&&(c.capabilities=a);let{contextWindow:d,maxOutput:e}=function a(b,c,d=new Set){let e="string"==typeof b?.name?b.name:null;if(e){if(d.has(e))return{contextWindow:void 0,maxOutput:void 0};d.add(e)}let f=1/0,g=1/0;try{for(let e of Array.isArray(b?.models)?b.models:[]){if("string"!=typeof e)continue;if(0>=e.indexOf("/")){let b=c.get(e);if(b){let e=a(b,c,d);Number.isFinite(e.contextWindow)&&(f=Math.min(f,e.contextWindow)),Number.isFinite(e.maxOutput)&&(g=Math.min(g,e.maxOutput));continue}}let b=C(e)||(0,z.getCapabilitiesForModel)(null,e);Number.isFinite(b?.contextWindow)&&(f=Math.min(f,b.contextWindow)),Number.isFinite(b?.maxOutput)&&(g=Math.min(g,b.maxOutput))}}finally{e&&d.delete(e)}return{contextWindow:Number.isFinite(f)?f:void 0,maxOutput:Number.isFinite(g)?g:void 0}}(b,p);Number.isFinite(d)&&(c.context_length=d),Number.isFinite(e)&&(c.max_completion_tokens=e)}o.push(c)}if(0===h.length){for(let[b,c]of Object.entries(d.vq))if(I(B[b]||b,a))for(let d of c)a.includes(G(d))&&(m(b,d.id)||o.push({id:`${b}/${d.id}`,object:"model",owned_by:b,capabilities:(0,z.getCapabilitiesForModel)(b,d.id)}));for(let b of j){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&o.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[b,f]of n.entries()){if(!I(b,a))continue;let g=d.Xg[b]||b,h=(f?.providerSpecificData?.prefix||(0,e.wG)(b)||g).trim(),i=d.vq[g]||[],l=f?.providerSpecificData?.enabledModels,n=Array.isArray(l)&&l.length>0,p=(0,e.mq)(b)||(0,e.gb)(b),q=new Map(i.map(a=>[a.id,G(a)])),r=new Map,s=new Map,t=n?Array.from(new Set(l.filter(a=>"string"==typeof a&&""!==a.trim()))):i.map(a=>a.id);p&&0===t.length&&!c&&(t=await H(f));let u=D[b];if(u&&!n)try{let a=await u(f);a?.models?.length&&(t=a.models.map(a=>a.id),r=new Map(a.models.filter(a=>a?.id).map(a=>[a.id,G(a)])),s=new Map(a.models.filter(a=>a?.id&&a.capabilities).map(a=>[a.id,a.capabilities])))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}let v=t.map(a=>a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),w=new Map;for(let c of Array.from(new Set([...v,...j.filter(c=>{if(!c?.id)return!1;let e=(0,d.CP)(c)||"llm";if(!a.includes(e)&&!("imageToText"===e&&a.includes("llm")))return!1;let f=c.providerAlias;return f===g||f===h||f===b}).map(a=>{let b=String(a.id).trim();return b&&w.set(b,(0,d.CP)(a)||"llm"),b}).filter(a=>""!==a),...Object.values(k||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${h}/`)||a.startsWith(`${g}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let d=w.get(c),e=r.get(c),f=d||e||q.get(c)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c),i="imageToText"===f&&a.includes("llm");if(!a.includes(f)&&!i||m(h,c)||m(g,c))continue;let j={id:`${h}/${c}`,object:"model",owned_by:h},k=s.get(c),l=(0,z.capabilitiesFromServiceKind)(d||e),n=k||l||("llm"===f?(0,z.getCapabilitiesForModel)(b,c):null);if(n&&(j.capabilities=n),"llm"===f||i){let a=n?.contextWindow,d=n?.maxOutput;if(!Number.isFinite(a)||!Number.isFinite(d)){let e=(0,z.getCapabilitiesForModel)(b,c);Number.isFinite(a)||(a=e.contextWindow),Number.isFinite(d)||(d=e.maxOutput)}Number.isFinite(a)&&(j.context_length=a),Number.isFinite(d)&&(j.max_completion_tokens=d)}o.push(j)}let x=e.AI_PROVIDERS[b];a.includes("webSearch")&&x?.searchConfig&&o.push({id:`${h}/search`,object:"model",kind:"webSearch",owned_by:h}),a.includes("webFetch")&&x?.fetchConfig&&o.push({id:`${h}/fetch`,object:"model",kind:"webFetch",owned_by:h})}let r=[],s=new Set;for(let a of o)!a?.id||s.has(a.id)||(s.add(a.id),r.push(a));return r}async function K(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function L(a){try{let b=a?.headers?.get(E)==="1",c=await (0,h.j)(await (0,h.TM)(a),await J(["llm"],{skipDynamicFetch:b}));return Response.json({object:"list",data:c},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},40669:(a,b,c)=>{c.d(b,{Xh:()=>h,g2:()=>g,js:()=>j});var d=c(72375);let e={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.default)for(let b of(e[a.id]=a.id,a.alias&&(e[a.alias]=a.id),a.aliases||[]))e[b]=a.id;let f={"grok-build":"gcli/grok-build"};function g(a){return e[a]||a}function h(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:g(c),model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}function i(a,b){if(!b)return null;let c=b[a];if(!c)return null;if("string"==typeof c&&c.includes("/")){let a=c.indexOf("/");return{provider:g(c.slice(0,a)),model:c.slice(a+1)}}return"object"==typeof c&&c.provider&&c.model?{provider:g(c.provider),model:c.model}:null}async function j(a,b){let c=h(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,e=i(c.model,d)||i(c.model,f);return e||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return k.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let k=[[/^codex-auto-review$/,"codex"],[/^gpt-[56]\./,"codex"],[/^gpt-6-/,"codex"],[/^gpt-daybreak-/,"codex"],[/^gpt-reserve/,"codex"],[/^claude-/,"anthropic"],[/^(us|eu|ap|global)\.(anthropic|meta|amazon|mistral|xai)\./,"bedrock"],[/^gemini-/,"gemini"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,bs:()=>g,eh:()=>e,vq:()=>d.PROVIDER_MODELS,zc:()=>i});var d=c(57247);new Set(Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a));let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b,g={vision:{icon:"visibility",label:"Vision",desc:"Supports image input",color:"text-blue-500"},reasoning:{icon:"neurology",label:"Reasoning",desc:"Supports reasoning / thinking",color:"text-amber-500"}},h={"gemini-live":{label:"Gemini Live (realtime WebSocket)",desc:"Streams audio over bidiGenerateContent and returns incremental transcription segments"}};function i(a){return"string"==typeof a&&Object.prototype.hasOwnProperty.call(h,a.trim())}Object.freeze(Object.keys(h))},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
1
+ "use strict";exports.id=4199,exports.ids=[4199],exports.modules={16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(83192)},19225:(a,b,c)=>{a.exports=c(44870)},27547:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>L,OPTIONS:()=>K,buildModelsList:()=>J});var d=c(81329),e=c(40615),f=c(89718),g=c(16655),h=c(27811),i=c(29679),j=c(52007),k=c(53225),l=c(39609),m=c(75924),n=c(8521);let o=new Map;async function p(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,l.proxyAwareFetch)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":`vscode/${m.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${m.x0.COPILOT_CHAT_VERSION}`,"user-agent":m.x0.USER_AGENT,"x-github-api-version":m.x0.API_VERSION},cache:"no-store",signal:b||c.signal});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function q(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=o.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await p(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,n.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await p(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(o.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var r=c(28948),s=c(38709),t=c(82578),u=c(49804),v=c(37347),w=c(44705),x=c(67828),y=c(39326),z=c(24);async function A(a,b){let c=await (0,k.EV)({provider:b,accessToken:a.accessToken,apiKey:a.apiKey,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}}),d=(0,k.So)(c);return d.length?{models:d.map(a=>({id:a.id,name:a.name}))}:null}let B={...Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a])),...e.js};function C(a){let b=a.indexOf("/");if(b<=0)return null;let c=a.slice(0,b);return(0,z.getCapabilitiesForModel)(B[c]||c,a.slice(b+1))}let D={kiro:async a=>{let b=await (0,i.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},qoder:async a=>A(a,"qoder"),"qoder-cn":async a=>A(a,"qoder-cn"),kimchi:async a=>{let b=await (0,j.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},github:async a=>{let b=await q({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,onCredentialsRefreshed:async b=>{await (0,x.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return b?.models?.length?{models:b.models}:null},clinepass:async a=>{let b=await (0,r.P)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null},cline:async a=>{let b=await (0,r.M)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null},"grok-cli":async a=>{let b=await (0,y.B)(a.providerSpecificData||{}),c=await (0,s.M)({...a,connectionId:a.id},{log:console,proxyOptions:{connectionProxyEnabled:!0===b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl||"",connectionNoProxy:b.connectionNoProxy||"",vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy},onCredentialsRefreshed:async b=>{await (0,x.vN)(a.id,{...b,existingProviderSpecificData:a.providerSpecificData||{}})}});return c?.models?.length?{models:c.models}:null},cursor:async a=>{let b=await (0,t.FD)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},zed:async a=>{let b=await (0,u.w9)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models.filter(a=>!a.isDisabled).map(a=>({id:a.id,name:a.name,capabilities:a.supportsTools?{tools:!0}:void 0}))}:null},"trae-enterprise":async a=>{let b=await (0,v.i)({accessToken:a.accessToken});return b?.models?.length?{models:b.models.map(a=>({id:a.id,name:a.name}))}:null},codearts:async a=>{let b=await (0,y.B)(a.providerSpecificData||{}),c=await (0,w.EA)(a,{proxyOptions:{connectionProxyEnabled:!0===b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl||"",connectionNoProxy:b.connectionNoProxy||"",vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy}});return c?.models?.length?{models:c.models}:null}},E="x-9r-internal-models-fetch",F={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText",video:"video"};function G(a){let b=a?.kind||a?.type;return b&&F[b]||"llm"}async function H(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{var f;let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:{...d,[E]:"1"},cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let g=(f=await e.json(),Array.isArray(f)?f:f?.data||f?.models||f?.results||[]);return Array.from(new Set(g.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}function I(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function J(a,b={}){let c=!0===b.skipDynamicFetch,h=[];try{h=(h=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, returning all models")}let i=[];try{i=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let j=[];try{j=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let k={};try{k=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let l={};try{l=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let m=(a,b)=>Array.isArray(l[a])&&l[a].includes(b),n=new Map;for(let a of h)n.has(a.provider)||n.set(a.provider,a);for(let[a,b]of Object.entries(e.IS||{}))b?.noAuth&&!n.has(a)&&n.set(a,{id:"noauth",provider:a,isActive:!0});let o=[],p=new Map(i.filter(a=>"string"==typeof a?.name).map(a=>[a.name,a])),q=Object.fromEntries(i.map(a=>[a.name,a.models]));for(let b of i){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;let c={id:b.name,object:"model",owned_by:"combo"};if("webSearch"===b.kind||"webFetch"===b.kind)c.kind=b.kind;else{let a=(0,z.aggregateComboCapabilities)(b.models,q,C);a&&(c.capabilities=a);let{contextWindow:d,maxOutput:e}=function a(b,c,d=new Set){let e="string"==typeof b?.name?b.name:null;if(e){if(d.has(e))return{contextWindow:void 0,maxOutput:void 0};d.add(e)}let f=1/0,g=1/0;try{for(let e of Array.isArray(b?.models)?b.models:[]){if("string"!=typeof e)continue;if(0>=e.indexOf("/")){let b=c.get(e);if(b){let e=a(b,c,d);Number.isFinite(e.contextWindow)&&(f=Math.min(f,e.contextWindow)),Number.isFinite(e.maxOutput)&&(g=Math.min(g,e.maxOutput));continue}}let b=C(e)||(0,z.getCapabilitiesForModel)(null,e);Number.isFinite(b?.contextWindow)&&(f=Math.min(f,b.contextWindow)),Number.isFinite(b?.maxOutput)&&(g=Math.min(g,b.maxOutput))}}finally{e&&d.delete(e)}return{contextWindow:Number.isFinite(f)?f:void 0,maxOutput:Number.isFinite(g)?g:void 0}}(b,p);Number.isFinite(d)&&(c.context_length=d),Number.isFinite(e)&&(c.max_completion_tokens=e)}o.push(c)}if(0===h.length){for(let[b,c]of Object.entries(d.vq)){let d=B[b]||b;if(I(d,a))for(let e of c)a.includes(G(e))&&(m(b,e.id)||m(d,e.id)||o.push({id:`${b}/${e.id}`,object:"model",owned_by:b,capabilities:(0,z.getCapabilitiesForModel)(b,e.id)}))}for(let b of j){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&o.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[b,f]of n.entries()){if(!I(b,a))continue;let g=d.Xg[b]||b,h=(f?.providerSpecificData?.prefix||(0,e.wG)(b)||g).trim(),i=d.vq[g]||[],l=f?.providerSpecificData?.enabledModels,n=Array.isArray(l)&&l.length>0,p=(0,e.mq)(b)||(0,e.gb)(b),q=new Map(i.map(a=>[a.id,G(a)])),r=new Map,s=new Map,t=n?Array.from(new Set(l.filter(a=>"string"==typeof a&&""!==a.trim()))):i.map(a=>a.id);p&&0===t.length&&!c&&(t=await H(f));let u=D[b];if(u&&!n)try{let a=await u(f);a?.models?.length&&(t=a.models.map(a=>a.id),r=new Map(a.models.filter(a=>a?.id).map(a=>[a.id,G(a)])),s=new Map(a.models.filter(a=>a?.id&&a.capabilities).map(a=>[a.id,a.capabilities])))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}let v=t.map(a=>a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),w=new Map;for(let c of Array.from(new Set([...v,...j.filter(c=>{if(!c?.id)return!1;let e=(0,d.CP)(c)||"llm";if(!a.includes(e)&&!("imageToText"===e&&a.includes("llm")))return!1;let f=c.providerAlias;return f===g||f===h||f===b}).map(a=>{let b=String(a.id).trim();return b&&w.set(b,(0,d.CP)(a)||"llm"),b}).filter(a=>""!==a),...Object.values(k||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${h}/`)||a.startsWith(`${g}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let d=w.get(c),e=r.get(c),f=d||e||q.get(c)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c),i="imageToText"===f&&a.includes("llm");if(!a.includes(f)&&!i||m(h,c)||m(g,c)||m(b,c))continue;let j={id:`${h}/${c}`,object:"model",owned_by:h},k=s.get(c),l=(0,z.capabilitiesFromServiceKind)(d||e),n=k||l||("llm"===f?(0,z.getCapabilitiesForModel)(b,c):null);if(n&&(j.capabilities=n),"llm"===f||i){let a=n?.contextWindow,d=n?.maxOutput;if(!Number.isFinite(a)||!Number.isFinite(d)){let e=(0,z.getCapabilitiesForModel)(b,c);Number.isFinite(a)||(a=e.contextWindow),Number.isFinite(d)||(d=e.maxOutput)}Number.isFinite(a)&&(j.context_length=a),Number.isFinite(d)&&(j.max_completion_tokens=d)}o.push(j)}let x=e.AI_PROVIDERS[b];a.includes("webSearch")&&x?.searchConfig&&o.push({id:`${h}/search`,object:"model",kind:"webSearch",owned_by:h}),a.includes("webFetch")&&x?.fetchConfig&&o.push({id:`${h}/fetch`,object:"model",kind:"webFetch",owned_by:h})}let r=[],s=new Set;for(let a of o)!a?.id||s.has(a.id)||(s.add(a.id),r.push(a));return r}async function K(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function L(a){try{let b=a?.headers?.get(E)==="1",c=await (0,h.j)(await (0,h.TM)(a),await J(["llm"],{skipDynamicFetch:b}));return Response.json({object:"list",data:c},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},40669:(a,b,c)=>{c.d(b,{Xh:()=>h,g2:()=>g,js:()=>j});var d=c(82983);let e={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.default)for(let b of(e[a.id]=a.id,a.alias&&(e[a.alias]=a.id),a.aliases||[]))e[b]=a.id;let f={"grok-build":"gcli/grok-build"};function g(a){return e[a]||a}function h(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:g(c),model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}function i(a,b){if(!b)return null;let c=b[a];if(!c)return null;if("string"==typeof c&&c.includes("/")){let a=c.indexOf("/");return{provider:g(c.slice(0,a)),model:c.slice(a+1)}}return"object"==typeof c&&c.provider&&c.model?{provider:g(c.provider),model:c.model}:null}async function j(a,b){let c=h(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,e=i(c.model,d)||i(c.model,f);return e||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return k.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let k=[[/^codex-auto-review$/,"codex"],[/^gpt-[56]\./,"codex"],[/^gpt-6-/,"codex"],[/^gpt-daybreak-/,"codex"],[/^gpt-reserve/,"codex"],[/^claude-/,"anthropic"],[/^(us|eu|ap|global)\.(anthropic|meta|amazon|mistral|xai)\./,"bedrock"],[/^gemini-/,"gemini"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,bs:()=>g,eh:()=>e,vq:()=>d.PROVIDER_MODELS,zc:()=>i});var d=c(57247);new Set(Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a));let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b,g={vision:{icon:"visibility",label:"Vision",desc:"Supports image input",color:"text-blue-500"},reasoning:{icon:"neurology",label:"Reasoning",desc:"Supports reasoning / thinking",color:"text-amber-500"}},h={"gemini-live":{label:"Gemini Live (realtime WebSocket)",desc:"Streams audio over bidiGenerateContent and returns incremental transcription segments"}};function i(a){return"string"==typeof a&&Object.prototype.hasOwnProperty.call(h,a.trim())}Object.freeze(Object.keys(h))},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=436,exports.ids=[436],exports.modules={35024:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(26070);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}},39609:(a,b,c)=>{c.r(b),c.d(b,{default:()=>A,normalizeProxyUrl:()=>q,proxyAwareFetch:()=>y});var d=c(27910),e=c(55591),f=c.n(e),g=c(41004);let h=globalThis.fetch,i=new Map,j=new Map,k=new Set(["SELF_SIGNED_CERT_IN_CHAIN","DEPTH_ZERO_SELF_SIGNED_CERT","UNABLE_TO_VERIFY_LEAF_SIGNATURE","UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","CERT_HAS_EXPIRED","ERR_TLS_CERT_ALTNAME_INVALID"]),l=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],m=["8.8.8.8","8.8.4.4"];function n(a){return null==a?"":String(a).trim()}async function o(a){let b=j.get(a);if(b&&Date.now()<b.expiry)return b.ip;try{let b=await Promise.resolve().then(c.t.bind(c,14985,23)),{promisify:d}=await Promise.resolve().then(c.t.bind(c,28354,23)),e=new b.Resolver;e.setServers(m);let f=d(e.resolve4.bind(e)),h=await f(a);return j.set(a,{ip:h[0],expiry:Date.now()+g.v1.dnsCacheTtlMs}),h[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function p(a,b){let c,d=n(b);if(!d)return!1;try{c=new URL(a).hostname.toLowerCase()}catch{return!1}return d.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>"*"===a||(a.startsWith(".")?c.endsWith(a)||c===a.slice(1):c===a||c.endsWith(`.${a}`)))}function q(a){let b=n(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}let r={keepAliveTimeout:g.o_,keepAliveMaxTimeout:g.z9},s=null;async function t(){if(!s){let{Agent:a}=await c.e(7774).then(c.t.bind(c,47774,19));s=new a(r)}return s}async function u(a,b=!1){let d=q(a);if(!d&&!b)return await t();let e=`${d||"direct"}::${b?"insecure":"secure"}`;if(!i.has(e)){if(i.size>=g.v1.proxyDispatchersMaxSize){let[a,b]=i.entries().next().value;i.delete(a),Promise.resolve(b?.close?.()).catch(()=>{})}let{Agent:a,ProxyAgent:f}=await c.e(7774).then(c.t.bind(c,47774,19)),h=b?{rejectUnauthorized:!1}:void 0,j=d?new f({uri:d,...r,...b?{requestTls:h}:{}}):new a({...r,connect:h});i.set(e,j)}return i.get(e)}async function v(a,b,c){try{let d=c||!b.dispatcher?await u(c):b.dispatcher;return await h(a,{...b,dispatcher:d})}catch(e){let d;if("true"!==process.env.STRICT_SSL&&"1"!==process.env.STRICT_SSL&&(d=e?.cause?.code||e?.code,k.has(d))){if(b.body&&"function"==typeof b.body.getReader&&b.body.locked)throw e;console.warn(`[ProxyFetch] TLS cert verification failed (${e.cause?.code||e.code}), retrying with insecure TLS: ${a}`);let d=await u(c,!0);return await h(a,{...b,dispatcher:d})}throw e}}let w=new(f()).Agent({keepAlive:!0});async function x(a,b,c){return new Promise((e,g)=>{let h={agent:w,host:b,port:443,servername:a.hostname,path:a.pathname+a.search,method:c.method||"POST",headers:{...c.headers,Host:a.hostname}},i=()=>j.destroy(new DOMException("Aborted","AbortError"));if(c.signal?.aborted)return g(new DOMException("Aborted","AbortError"));let j=f().request(h,a=>{let b={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:d.Readable.toWeb(a),text:async()=>{let b=[];for await(let c of a)b.push(c);return Buffer.concat(b).toString()},json:async()=>JSON.parse(await b.text())};a.once("close",()=>{c.signal&&c.signal.removeEventListener("abort",i)}),e(b)});c.signal&&c.signal.addEventListener("abort",i,{once:!0}),j.on("error",a=>{c.signal&&c.signal.removeEventListener("abort",i),g(a)}),c.body&&j.write("string"==typeof c.body?c.body:JSON.stringify(c.body)),j.end()})}async function y(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=n(c?.vercelRelayUrl);if(e){let a=new URL(d),c={...b.headers instanceof Headers?Object.fromEntries(b.headers.entries()):{...b.headers||{}},"x-relay-target":`${a.protocol}//${a.host}`,"x-relay-path":`${a.pathname}${a.search}`};return h(e,{...b,headers:c})}let f=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=n(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=n(b?.noProxy??b?.connectionNoProxy);return d&&p(a,d)?null:q(c)}(d,c),g=f?null:q(function(a){let b;if(p(a,process.env.NO_PROXY||process.env.no_proxy))return null;try{b=new URL(a).protocol}catch{return null}return"https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(d)),i=f||g;if(function(a){try{let b=new URL(a).hostname;return l.some(a=>b.includes(a))}catch{return!1}}(d)){if(i)try{return await v(a,b,i)}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${a.message}`)}try{let a=new URL(d),c=await o(a.hostname);if(c)return await x(a,c,b)}catch(a){if(a?.name==="AbortError"||a?.code==="ABORT_ERR")throw a;console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(i)try{return await v(a,b,i)}catch(d){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${d.message}`);return console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${d.message}`),v(a,b,null)}let j=c?.proxyPoolId||c?.enabled===!0||c?.connectionProxyEnabled===!0||!!n(c?.url??c?.connectionProxyUrl);if(c?.strictProxy===!0&&j)throw Error("[ProxyFetch] Proxy required but none resolved (strictProxy=true)");return v(a,b,null)}async function z(a,b={}){return y(a,b,null)}globalThis.fetch!==z&&(globalThis.fetch=z);let A=z},75924:(a,b,c)=>{let d;c.d(b,{Ch:()=>j,Cn:()=>o,Co:()=>y,Ic:()=>v,J5:()=>s,K:()=>t,NA:()=>B,QH:()=>p,Wu:()=>A,buildKimiHeaders:()=>C,dw:()=>r,go:()=>i,iO:()=>z,j5:()=>w,nZ:()=>u,sX:()=>k,uR:()=>q,x0:()=>m,zv:()=>x});var e=c(21820),f=c(35024),g=c(74129);let h=f.xq["gemini-cli"]?.cliVersion,i=f.xq["gemini-cli"]?.apiClient,j=f.xq.codex?.cliVersion;function k(a="unknown"){let b;return`GeminiCLI/${h}/${a||"unknown"} (${(0,e.platform)()}; ${"ia32"===(b=(0,e.arch)())?"x86":b}; terminal)`}let l=f.xq.github?.copilot||{},m={VSCODE_VERSION:l.vscodeVersion,COPILOT_CHAT_VERSION:l.chatVersion,USER_AGENT:l.userAgent,API_VERSION:l.apiVersion};function n(){let a=(0,e.platform)(),b=(0,e.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let o={ideType:9,platform:n(),pluginType:2},p="_ide",q="_ide",r=new Set(["Task","TaskOutput","TaskStop","TaskCreate","TaskGet","TaskUpdate","TaskList","Bash","Glob","Grep","Read","Edit","Write","NotebookEdit","WebFetch","WebSearch","AskUserQuestion","Skill","EnterPlanMode","ExitPlanMode"]),s=new Set(["browser_subagent","command_status","find_by_name","generate_image","grep_search","list_dir","list_resources","multi_replace_file_content","notify_user","read_resource","read_terminal","read_url_content","replace_file_content","run_command","search_web","send_command_input","task_boundary","view_content_chunk","view_file","write_to_file"]),t={"User-Agent":g.Of},u={"gemini-cli":{loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"},antigravity:{loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"}},v={"Content-Type":"application/json","User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:9,platform:n(),pluginType:2})},w={"Content-Type":"application/json","User-Agent":g.Of},x={ideType:9,platform:n(),pluginType:2},y="You are Claude Code, Anthropic's official CLI for Claude.",z=[{from:"You are a Claude agent, built on Anthropic's Claude Agent SDK.",to:""},{from:/You are Hermes(?: Agent)?(?:,\s*(?:an intelligent AI assistant|an AI assistant|an AI agent))?(?:,?\s*(?:built|created)\s+by\s+Nous Research)?\./gi,to:"You are an AI assistant."},{from:/^x-anthropic-billing-header:[^\n]*(?:\r?\n)*/gim,to:""},{from:/opencode/gi,to:a=>"OpenCode"===a?"Antigravity":"OPENCODE"===a?"ANTIGRAVITY":"antigravity"}],A=Object.fromEntries(Object.entries(f.sr).filter(([,a])=>a.refreshLeadMs).map(([a,b])=>[a,b.refreshLeadMs])),B={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:f.sr.codex?.tokenUrl,auth:f.sr.codex?.authorizeUrl},anthropic:{token:f.sr.claude?.tokenUrl,auth:"https://api.anthropic.com/v1/oauth/authorize"},iflow:{token:f.sr.iflow?.tokenUrl,auth:f.sr.iflow?.authorizeUrl},github:{token:f.sr.github?.tokenUrl,auth:f.sr.github?.authorizeUrl,deviceCode:f.sr.github?.deviceCodeUrl}};function C(a){let b=(0,e.platform)(),f=(0,e.arch)(),g=`${b} ${f}`;"darwin"===b?g=`macOS ${f}`:"win32"===b?g=`Windows ${f}`:"linux"===b&&(g=`Linux ${f}`);let h="unknown";try{h=(0,e.hostname)()||"unknown"}catch{h="unknown"}let i="string"==typeof a&&a.trim()?a.trim():`kimi-${Date.now()}`;return{"X-Msh-Platform":"9router","X-Msh-Version":function(){if(d)return d;try{d=c(39006).rE||"0.0.0"}catch{d=process.env.npm_package_version||"0.0.0"}return d}(),"X-Msh-Device-Name":h,"X-Msh-Device-Model":g,"X-Msh-Device-Id":i}}}};
1
+ "use strict";exports.id=436,exports.ids=[436],exports.modules={35024:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(26070);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}},39609:(a,b,c)=>{c.r(b),c.d(b,{default:()=>A,normalizeProxyUrl:()=>q,proxyAwareFetch:()=>y});var d=c(27910),e=c(55591),f=c.n(e),g=c(41004);let h=globalThis.fetch,i=new Map,j=new Map,k=new Set(["SELF_SIGNED_CERT_IN_CHAIN","DEPTH_ZERO_SELF_SIGNED_CERT","UNABLE_TO_VERIFY_LEAF_SIGNATURE","UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","CERT_HAS_EXPIRED","ERR_TLS_CERT_ALTNAME_INVALID"]),l=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],m=["8.8.8.8","8.8.4.4"];function n(a){return null==a?"":String(a).trim()}async function o(a){let b=j.get(a);if(b&&Date.now()<b.expiry)return b.ip;try{let b=await Promise.resolve().then(c.t.bind(c,14985,23)),{promisify:d}=await Promise.resolve().then(c.t.bind(c,28354,23)),e=new b.Resolver;e.setServers(m);let f=d(e.resolve4.bind(e)),h=await f(a);return j.set(a,{ip:h[0],expiry:Date.now()+g.v1.dnsCacheTtlMs}),h[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function p(a,b){let c,d=n(b);if(!d)return!1;try{c=new URL(a).hostname.toLowerCase()}catch{return!1}return d.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>"*"===a||(a.startsWith(".")?c.endsWith(a)||c===a.slice(1):c===a||c.endsWith(`.${a}`)))}function q(a){let b=n(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}let r={keepAliveTimeout:g.o_,keepAliveMaxTimeout:g.z9},s=null;async function t(){if(!s){let{Agent:a}=await c.e(7774).then(c.t.bind(c,47774,19));s=new a(r)}return s}async function u(a,b=!1){let d=q(a);if(!d&&!b)return await t();let e=`${d||"direct"}::${b?"insecure":"secure"}`;if(!i.has(e)){if(i.size>=g.v1.proxyDispatchersMaxSize){let[a,b]=i.entries().next().value;i.delete(a),Promise.resolve(b?.close?.()).catch(()=>{})}let{Agent:a,ProxyAgent:f}=await c.e(7774).then(c.t.bind(c,47774,19)),h=b?{rejectUnauthorized:!1}:void 0,j=d?new f({uri:d,...r,...b?{requestTls:h}:{}}):new a({...r,connect:h});i.set(e,j)}return i.get(e)}async function v(a,b,c){try{let d=c||!b.dispatcher?await u(c):b.dispatcher;return await h(a,{...b,dispatcher:d})}catch(e){let d;if("true"!==process.env.STRICT_SSL&&"1"!==process.env.STRICT_SSL&&(d=e?.cause?.code||e?.code,k.has(d))){if(b.body&&"function"==typeof b.body.getReader&&b.body.locked)throw e;console.warn(`[ProxyFetch] TLS cert verification failed (${e.cause?.code||e.code}), retrying with insecure TLS: ${a}`);let d=await u(c,!0);return await h(a,{...b,dispatcher:d})}throw e}}let w=new(f()).Agent({keepAlive:!0});async function x(a,b,c){return new Promise((e,g)=>{let h={agent:w,host:b,port:443,servername:a.hostname,path:a.pathname+a.search,method:c.method||"POST",headers:{...c.headers,Host:a.hostname}},i=()=>j.destroy(new DOMException("Aborted","AbortError"));if(c.signal?.aborted)return g(new DOMException("Aborted","AbortError"));let j=f().request(h,a=>{let b={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:d.Readable.toWeb(a),text:async()=>{let b=[];for await(let c of a)b.push(c);return Buffer.concat(b).toString()},json:async()=>JSON.parse(await b.text())};a.once("close",()=>{c.signal&&c.signal.removeEventListener("abort",i)}),e(b)});c.signal&&c.signal.addEventListener("abort",i,{once:!0}),j.on("error",a=>{c.signal&&c.signal.removeEventListener("abort",i),g(a)}),c.body&&j.write("string"==typeof c.body?c.body:JSON.stringify(c.body)),j.end()})}async function y(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=n(c?.vercelRelayUrl);if(e){let a=new URL(d),c={...b.headers instanceof Headers?Object.fromEntries(b.headers.entries()):{...b.headers||{}},"x-relay-target":`${a.protocol}//${a.host}`,"x-relay-path":`${a.pathname}${a.search}`};return h(e,{...b,headers:c})}let f=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=n(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=n(b?.noProxy??b?.connectionNoProxy);return d&&p(a,d)?null:q(c)}(d,c),g=f?null:q(function(a){let b;if(p(a,process.env.NO_PROXY||process.env.no_proxy))return null;try{b=new URL(a).protocol}catch{return null}return"https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(d)),i=f||g;if(function(a){try{let b=new URL(a).hostname;return l.some(a=>b.includes(a))}catch{return!1}}(d)){if(i)try{return await v(a,b,i)}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${a.message}`)}try{let a=new URL(d),c=await o(a.hostname);if(c)return await x(a,c,b)}catch(a){if(a?.name==="AbortError"||a?.code==="ABORT_ERR")throw a;console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(i)try{return await v(a,b,i)}catch(d){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${d.message}`);return console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${d.message}`),v(a,b,null)}let j=c?.proxyPoolId||c?.enabled===!0||c?.connectionProxyEnabled===!0||!!n(c?.url??c?.connectionProxyUrl);if(c?.strictProxy===!0&&j)throw Error("[ProxyFetch] Proxy required but none resolved (strictProxy=true)");return v(a,b,null)}async function z(a,b={}){return y(a,b,null)}globalThis.fetch!==z&&(globalThis.fetch=z);let A=z},75924:(a,b,c)=>{let d;c.d(b,{Ch:()=>k,Cn:()=>p,Co:()=>z,Ic:()=>w,J5:()=>t,K:()=>u,NA:()=>C,Ok:()=>h,QH:()=>q,Wu:()=>B,buildKimiHeaders:()=>D,dw:()=>s,go:()=>j,iO:()=>A,j5:()=>x,nZ:()=>v,sX:()=>l,uR:()=>r,x0:()=>n,zv:()=>y});var e=c(21820),f=c(35024),g=c(74129);let h={hostname:"inference-api.nousresearch.com",chatCompletionsPath:"/v1/chat/completions",tags:["product=9router","client=9router","user=9router"]},i=f.xq["gemini-cli"]?.cliVersion,j=f.xq["gemini-cli"]?.apiClient,k=f.xq.codex?.cliVersion;function l(a="unknown"){let b;return`GeminiCLI/${i}/${a||"unknown"} (${(0,e.platform)()}; ${"ia32"===(b=(0,e.arch)())?"x86":b}; terminal)`}let m=f.xq.github?.copilot||{},n={VSCODE_VERSION:m.vscodeVersion,COPILOT_CHAT_VERSION:m.chatVersion,USER_AGENT:m.userAgent,API_VERSION:m.apiVersion};function o(){let a=(0,e.platform)(),b=(0,e.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let p={ideType:9,platform:o(),pluginType:2},q="_ide",r="_ide",s=new Set(["Task","TaskOutput","TaskStop","TaskCreate","TaskGet","TaskUpdate","TaskList","Bash","Glob","Grep","Read","Edit","Write","NotebookEdit","WebFetch","WebSearch","AskUserQuestion","Skill","EnterPlanMode","ExitPlanMode"]),t=new Set(["browser_subagent","command_status","find_by_name","generate_image","grep_search","list_dir","list_resources","multi_replace_file_content","notify_user","read_resource","read_terminal","read_url_content","replace_file_content","run_command","search_web","send_command_input","task_boundary","view_content_chunk","view_file","write_to_file"]),u={"User-Agent":g.Of},v={"gemini-cli":{loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"},antigravity:{loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"}},w={"Content-Type":"application/json","User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:9,platform:o(),pluginType:2})},x={"Content-Type":"application/json","User-Agent":g.Of},y={ideType:9,platform:o(),pluginType:2},z="You are Claude Code, Anthropic's official CLI for Claude.",A=[{from:"You are a Claude agent, built on Anthropic's Claude Agent SDK.",to:""},{from:/You are Hermes(?: Agent)?(?:,\s*(?:an intelligent AI assistant|an AI assistant|an AI agent))?(?:,?\s*(?:built|created)\s+by\s+Nous Research)?\./gi,to:"You are an AI assistant."},{from:/^x-anthropic-billing-header:[^\n]*(?:\r?\n)*/gim,to:""},{from:/opencode/gi,to:a=>"OpenCode"===a?"Antigravity":"OPENCODE"===a?"ANTIGRAVITY":"antigravity"}],B=Object.fromEntries(Object.entries(f.sr).filter(([,a])=>a.refreshLeadMs).map(([a,b])=>[a,b.refreshLeadMs])),C={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:f.sr.codex?.tokenUrl,auth:f.sr.codex?.authorizeUrl},anthropic:{token:f.sr.claude?.tokenUrl,auth:"https://api.anthropic.com/v1/oauth/authorize"},iflow:{token:f.sr.iflow?.tokenUrl,auth:f.sr.iflow?.authorizeUrl},github:{token:f.sr.github?.tokenUrl,auth:f.sr.github?.authorizeUrl,deviceCode:f.sr.github?.deviceCodeUrl}};function D(a){let b=(0,e.platform)(),f=(0,e.arch)(),g=`${b} ${f}`;"darwin"===b?g=`macOS ${f}`:"win32"===b?g=`Windows ${f}`:"linux"===b&&(g=`Linux ${f}`);let h="unknown";try{h=(0,e.hostname)()||"unknown"}catch{h="unknown"}let i="string"==typeof a&&a.trim()?a.trim():`kimi-${Date.now()}`;return{"X-Msh-Platform":"9router","X-Msh-Version":function(){if(d)return d;try{d=c(39006).rE||"0.0.0"}catch{d=process.env.npm_package_version||"0.0.0"}return d}(),"X-Msh-Device-Name":h,"X-Msh-Device-Model":g,"X-Msh-Device-Id":i}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=4798,exports.ids=[1998,4798,7247],exports.modules={37347:(a,b,c)=>{c.d(b,{_:()=>h,i:()=>i});var d=c(39609),e=c(35024);let f=new Map,g=new Map;function h(a="trae-enterprise"){let b=e.xq[a]||{},c=e.sr[a]||{},d=String(b.baseUrl||"").replace(/\/$/,"");return{baseUrl:d,modelsUrl:c.modelsUrl||`${d}/models`,headers:b.headers||{}}}async function i(a,b={}){let c=a?.accessToken;if(!c)return null;let d=String(c).slice(-16);if(!b.forceRefresh){let a=f.get(d);if(a&&a.expiresAt>Date.now())return a.result;let b=g.get(d);if(b)return b}let e=j(c).then(a=>{if(a){let b=Date.now();for(let[a,c]of f)c.expiresAt<=b&&f.delete(a);f.set(d,{result:a,expiresAt:b+36e5})}return a}).finally(()=>g.delete(d));return g.set(d,e),e}async function j(a){let b=h(),c=new AbortController,e=setTimeout(()=>c.abort(),2e4);try{let e=await (0,d.proxyAwareFetch)(b.modelsUrl,{method:"GET",headers:{Authorization:`Cloud-IDE-JWT ${a}`,Accept:"application/json",...b.headers},signal:c.signal});if(!e.ok)return null;let f=await e.json().catch(()=>null),g=f?.data?.list;if(!Array.isArray(g))return null;let h=[];for(let a of g)for(let b of a?.models||[]){if(!b?.name)continue;let a={};try{a=JSON.parse(b.features||"{}")}catch{}h.push({id:b.name,name:b.display_name||b.name,contextLength:Number(b.max_input_tokens)||void 0,isVL:!!b.multimodal||!!a?.multimodal?.enable,isReasoning:!!a?.reasoning?.enable})}if(!h.length)return null;return h.some(a=>"auto"===a.id)||h.unshift({id:"auto",name:"Auto (Server Picks)"}),{models:h}}catch{return null}finally{clearTimeout(e)}}},39326:(a,b,c)=>{c.d(b,{B:()=>h,p:()=>g});var d=c(71998);function e(a){return null==a?"":String(a).trim()}let f=new Map;function g(a,b,c){if(!a||0===a.length)return null;if(1===a.length)return a[0];if("round-robin"===b){let b=f.get(c)||{index:-1};return b.index=(b.index+1)%a.length,f.set(c,b),a[b.index]}return"random"===b?a[Math.floor(Math.random()*a.length)]:a[0]}async function h(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0;return{connectionProxyEnabled:b,connectionProxyUrl:e(a?.connectionProxyUrl),connectionNoProxy:e(a?.connectionNoProxy)}}(a),g=!1;if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy),h=a&&!0===a.isActive&&b;if(g=a?.strictProxy===!0,h){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type||"netlify"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,strictProxy:g,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,strictProxy:g,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},44705:(a,b,c)=>{c.d(b,{EA:()=>m,Yy:()=>k});var d=c(6879),e=c(39609),f=c(71547);let g=new Map;function h(a){let b=a?.providerSpecificData||{},c=b.accessKeyId||"",d=b.secretAccessKey||"";if(!c||!d)throw Error("CodeArts connection is missing its temporary AK/SK — reconnect the account.");return{accessKeyId:c,secretAccessKey:d,securityToken:b.securityToken||a?.accessToken||""}}async function i({credentials:a,method:b,url:c,body:f=null,headers:g={},proxyOptions:j=null}){let k=h(a),l=(0,d.Ae)({...k,method:b,url:c,body:f,headers:{...g}}),m={method:b,headers:l};return null!=f&&(m.body=f),(0,e.proxyAwareFetch)(c,m,j)}async function j({credentials:a,method:b,url:c,body:d=null,headers:e={},proxyOptions:f=null}){let g=await i({credentials:a,method:b,url:c,body:d,headers:e,proxyOptions:f}),h=await g.text().catch(()=>""),k=null;try{k=h?JSON.parse(h):null}catch{k=null}if(!g.ok){let a=Error(`CodeArts ${c} failed: HTTP ${g.status} ${(k?.error_msg||k?.message||h||"").slice(0,300)}`);throw a.status=g.status,a}return k}async function k(a,{proxyOptions:b=null,baseUrl:c=f.DK}={}){return j({credentials:a,method:"GET",url:`${c.replace(/\/+$/,"")}/snap-manager/v1/current/user`,headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":f.Qi},proxyOptions:b})}function l(a){let b=a?.model_parameters||{},c=b.model_id||a?.model_name;if(!c)return null;let d={id:c,name:a.model_alias||a.model_name||c};return b.context_window>0&&(d.contextLength=b.context_window),b.max_tokens>0&&(d.maxOutputTokens=b.max_tokens),!0===b.supports_images&&(d.capabilities={vision:!0}),d}async function m(a,{proxyOptions:b=null,baseUrl:c=f.DK,forceRefresh:d=!1}={}){let e=h(a),i=`${c}|${e.accessKeyId}`,k=g.get(i);if(!d&&k&&k.expiresAt>Date.now())return k.result;let n=`${c.replace(/\/+$/,"")}/v1/agent-center/agents/detail?agent_id=a8bcb36232554267a5142361cc25a393`,o=await j({credentials:a,method:"GET",url:n,headers:{"Content-Type":"application/json",Accept:"application/json","Agent-Type":"AgentCenter","x-language":"zh-cn","User-Agent":f.Qi},proxyOptions:b}),p=Array.isArray(o?.gpts?.models)?o.gpts.models:[],q=p.map(l).filter(Boolean),r=q.length?{models:q,raw:p}:null,s=Date.now();for(let[a,b]of g)b.expiresAt<=s&&g.delete(a);return g.set(i,{expiresAt:s+6e5,result:r}),r}},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},57247:(a,b,c)=>{c.d(b,{KC:()=>s,OA:()=>p,PROVIDER_MODELS:()=>e.vq,SM:()=>j,Xg:()=>r,cY:()=>t,ez:()=>o,fZ:()=>k,kt:()=>q,ux:()=>n});var d=c(72375),e=c(26070),f=c(99511),g=c(59096),h=c(14170);let i=a=>!a||["oc","opencode","ocg","opencode-go","ocz","opencode-zen"].includes(a);function j(a){return e.vq[a]||[]}function k(a){let b=e.vq[a];return b?.[0]?.id||null}let l=new Set(["kr","kiro"]);function m(a,b,c){if(!a)return;let d="string"==typeof b?b.replace(/\([^()]+\)\s*$/,"").trim():b,e=a.find(a=>a.id===b||a.id===d);if(e)return e;if(!l.has(c))return;let g=(0,f.Kq)(d);if(g!==d)return a.find(a=>a.id===g)}function n(a,b){if(i(a)&&(0,g.nh)(b))return h.h.OPENAI_RESPONSES;let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?(0,f.gr)(d):i(a)&&(0,g.i8)(b)?.targetFormat||null}function o(a,b){let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?(0,f.ec)(d):i(a)?(0,g.i8)(b)?.supportedFormats||[h.h.OPENAI]:null}function p(a,b){let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?.kind||d?.type||null}function q(a,b){let c="string"==typeof b?b.match(/\([^()]+\)\s*$/):null,d=c?c[0]:"",f=d?b.slice(0,c.index).trim():b,h=m(e.vq[a],f,a),i=h?.upstreamModelId||h?.id;if(i){let a=i.match(/\([^()]+\)\s*$/),b=a?.[0]||"";return(b?i.slice(0,a.index).trim():i)+(d||b)}return"cx"===a&&"string"==typeof f&&f.endsWith(g.d5)?f.slice(0,-g.d5.length)+d:f+d}Object.fromEntries(d.default.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias]));let r=Object.fromEntries(d.default.map(a=>[a.id,a.alias||a.id]));function s(a){let b=r[a]||a;return e.vq[b]||[]}function t(a,b){return(0,f.g5)(m(e.vq[a],b,a))}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,TZ:()=>d.TZ,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.getProviderConnections,h1:()=>d.h1,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,oF:()=>d.oF,op:()=>d.op,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.updateProviderConnection,uv:()=>d.uv});var d=c(89718)},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
1
+ "use strict";exports.id=4798,exports.ids=[1998,4798,7247],exports.modules={37347:(a,b,c)=>{c.d(b,{_:()=>h,i:()=>i});var d=c(39609),e=c(35024);let f=new Map,g=new Map;function h(a="trae-enterprise"){let b=e.xq[a]||{},c=e.sr[a]||{},d=String(b.baseUrl||"").replace(/\/$/,"");return{baseUrl:d,modelsUrl:c.modelsUrl||`${d}/models`,headers:b.headers||{}}}async function i(a,b={}){let c=a?.accessToken;if(!c)return null;let d=String(c).slice(-16);if(!b.forceRefresh){let a=f.get(d);if(a&&a.expiresAt>Date.now())return a.result;let b=g.get(d);if(b)return b}let e=j(c).then(a=>{if(a){let b=Date.now();for(let[a,c]of f)c.expiresAt<=b&&f.delete(a);f.set(d,{result:a,expiresAt:b+36e5})}return a}).finally(()=>g.delete(d));return g.set(d,e),e}async function j(a){let b=h(),c=new AbortController,e=setTimeout(()=>c.abort(),2e4);try{let e=await (0,d.proxyAwareFetch)(b.modelsUrl,{method:"GET",headers:{Authorization:`Cloud-IDE-JWT ${a}`,Accept:"application/json",...b.headers},signal:c.signal});if(!e.ok)return null;let f=await e.json().catch(()=>null),g=f?.data?.list;if(!Array.isArray(g))return null;let h=[];for(let a of g)for(let b of a?.models||[]){if(!b?.name)continue;let a={};try{a=JSON.parse(b.features||"{}")}catch{}h.push({id:b.name,name:b.display_name||b.name,contextLength:Number(b.max_input_tokens)||void 0,isVL:!!b.multimodal||!!a?.multimodal?.enable,isReasoning:!!a?.reasoning?.enable})}if(!h.length)return null;return h.some(a=>"auto"===a.id)||h.unshift({id:"auto",name:"Auto (Server Picks)"}),{models:h}}catch{return null}finally{clearTimeout(e)}}},39326:(a,b,c)=>{c.d(b,{B:()=>h,p:()=>g});var d=c(71998);function e(a){return null==a?"":String(a).trim()}let f=new Map;function g(a,b,c){if(!a||0===a.length)return null;if(1===a.length)return a[0];if("round-robin"===b){let b=f.get(c)||{index:-1};return b.index=(b.index+1)%a.length,f.set(c,b),a[b.index]}return"random"===b?a[Math.floor(Math.random()*a.length)]:a[0]}async function h(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0;return{connectionProxyEnabled:b,connectionProxyUrl:e(a?.connectionProxyUrl),connectionNoProxy:e(a?.connectionNoProxy)}}(a),g=!1;if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy),h=a&&!0===a.isActive&&b;if(g=a?.strictProxy===!0,h){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type||"netlify"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,strictProxy:g,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,strictProxy:g,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},44705:(a,b,c)=>{c.d(b,{EA:()=>m,Yy:()=>k});var d=c(6879),e=c(39609),f=c(71547);let g=new Map;function h(a){let b=a?.providerSpecificData||{},c=b.accessKeyId||"",d=b.secretAccessKey||"";if(!c||!d)throw Error("CodeArts connection is missing its temporary AK/SK — reconnect the account.");return{accessKeyId:c,secretAccessKey:d,securityToken:b.securityToken||a?.accessToken||""}}async function i({credentials:a,method:b,url:c,body:f=null,headers:g={},proxyOptions:j=null}){let k=h(a),l=(0,d.Ae)({...k,method:b,url:c,body:f,headers:{...g}}),m={method:b,headers:l};return null!=f&&(m.body=f),(0,e.proxyAwareFetch)(c,m,j)}async function j({credentials:a,method:b,url:c,body:d=null,headers:e={},proxyOptions:f=null}){let g=await i({credentials:a,method:b,url:c,body:d,headers:e,proxyOptions:f}),h=await g.text().catch(()=>""),k=null;try{k=h?JSON.parse(h):null}catch{k=null}if(!g.ok){let a=Error(`CodeArts ${c} failed: HTTP ${g.status} ${(k?.error_msg||k?.message||h||"").slice(0,300)}`);throw a.status=g.status,a}return k}async function k(a,{proxyOptions:b=null,baseUrl:c=f.DK}={}){return j({credentials:a,method:"GET",url:`${c.replace(/\/+$/,"")}/snap-manager/v1/current/user`,headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":f.Qi},proxyOptions:b})}function l(a){let b=a?.model_parameters||{},c=b.model_id||a?.model_name;if(!c)return null;let d={id:c,name:a.model_alias||a.model_name||c};return b.context_window>0&&(d.contextLength=b.context_window),b.max_tokens>0&&(d.maxOutputTokens=b.max_tokens),!0===b.supports_images&&(d.capabilities={vision:!0}),d}async function m(a,{proxyOptions:b=null,baseUrl:c=f.DK,forceRefresh:d=!1}={}){let e=h(a),i=`${c}|${e.accessKeyId}`,k=g.get(i);if(!d&&k&&k.expiresAt>Date.now())return k.result;let n=`${c.replace(/\/+$/,"")}/v1/agent-center/agents/detail?agent_id=a8bcb36232554267a5142361cc25a393`,o=await j({credentials:a,method:"GET",url:n,headers:{"Content-Type":"application/json",Accept:"application/json","Agent-Type":"AgentCenter","x-language":"zh-cn","User-Agent":f.Qi},proxyOptions:b}),p=Array.isArray(o?.gpts?.models)?o.gpts.models:[],q=p.map(l).filter(Boolean),r=q.length?{models:q,raw:p}:null,s=Date.now();for(let[a,b]of g)b.expiresAt<=s&&g.delete(a);return g.set(i,{expiresAt:s+6e5,result:r}),r}},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},57247:(a,b,c)=>{c.d(b,{KC:()=>t,OA:()=>p,PROVIDER_MODELS:()=>e.vq,SM:()=>j,V2:()=>q,Xg:()=>s,cY:()=>u,ez:()=>o,fZ:()=>k,kt:()=>r,ux:()=>n});var d=c(82983),e=c(26070),f=c(99511),g=c(59096),h=c(14170);let i=a=>!a||["oc","opencode","ocg","opencode-go","ocz","opencode-zen"].includes(a);function j(a){return e.vq[a]||[]}function k(a){let b=e.vq[a];return b?.[0]?.id||null}let l=new Set(["kr","kiro"]);function m(a,b,c){if(!a)return;let d="string"==typeof b?b.replace(/\([^()]+\)\s*$/,"").trim():b,e=a.find(a=>a.id===b||a.id===d);if(e)return e;if(!l.has(c))return;let g=(0,f.Kq)(d);if(g!==d)return a.find(a=>a.id===g)}function n(a,b){if(i(a)&&(0,g.nh)(b))return h.h.OPENAI_RESPONSES;let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?(0,f.gr)(d):i(a)&&(0,g.i8)(b)?.targetFormat||null}function o(a,b){let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?(0,f.ec)(d):i(a)?(0,g.i8)(b)?.supportedFormats||[h.h.OPENAI]:null}function p(a,b){let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?.kind||d?.type||null}function q(a,b){return m(e.vq[a],b,a)||null}function r(a,b){let c="string"==typeof b?b.match(/\([^()]+\)\s*$/):null,d=c?c[0]:"",f=d?b.slice(0,c.index).trim():b,h=m(e.vq[a],f,a),i=h?.upstreamModelId||h?.id;if(i){let a=i.match(/\([^()]+\)\s*$/),b=a?.[0]||"";return(b?i.slice(0,a.index).trim():i)+(d||b)}return"cx"===a&&"string"==typeof f&&f.endsWith(g.d5)?f.slice(0,-g.d5.length)+d:f+d}Object.fromEntries(d.default.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias]));let s=Object.fromEntries(d.default.map(a=>[a.id,a.alias||a.id]));function t(a){let b=s[a]||a;return e.vq[b]||[]}function u(a,b){return(0,f.g5)(m(e.vq[a],b,a))}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,TZ:()=>d.TZ,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.getProviderConnections,h1:()=>d.h1,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,oF:()=>d.oF,op:()=>d.op,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.updateProviderConnection,uv:()=>d.uv});var d=c(89718)},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};