9router-proxy 0.5.95 → 0.5.97

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 (231) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +19 -19
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  32. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  33. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  34. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  35. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  36. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  38. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  39. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  40. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
  41. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  42. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +6 -6
  43. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  44. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  45. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  46. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +1 -1
  47. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  48. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  49. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  50. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  51. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  52. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +2 -2
  53. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  54. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -2
  55. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  56. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +1 -1
  57. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
  58. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  59. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +1 -1
  60. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  61. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +2 -2
  62. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  63. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  64. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +1 -1
  65. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +1 -1
  66. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  67. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  68. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  69. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  70. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  71. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  72. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  73. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  74. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  75. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +1 -1
  76. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  77. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  78. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  79. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  80. package/app/.next-cli-build/server/app/callback.html +1 -1
  81. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  82. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  83. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  84. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +4 -4
  85. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  86. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  87. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +6 -6
  88. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  89. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  90. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  91. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
  92. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +6 -6
  93. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  94. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  95. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  96. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  97. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +6 -6
  98. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  99. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  100. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  101. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  102. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +6 -6
  103. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  104. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  105. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  106. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  107. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +6 -6
  108. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  109. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  110. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  111. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  112. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +6 -6
  113. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  114. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  115. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  116. package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
  117. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +6 -6
  118. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  119. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  120. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  121. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  122. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +6 -6
  123. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  124. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  125. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  126. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  127. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +6 -6
  128. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  129. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  130. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  131. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  132. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +6 -6
  133. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  134. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  135. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  136. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +6 -6
  137. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +6 -6
  138. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +6 -6
  139. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  140. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  141. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  142. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +7 -7
  143. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  144. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  145. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  146. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  147. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  148. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  149. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  150. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +4 -4
  151. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  152. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  153. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +6 -6
  154. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  155. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  156. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  157. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
  158. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +6 -6
  159. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
  160. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  161. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  162. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  163. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +6 -6
  164. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  165. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  166. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  167. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  168. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +6 -6
  169. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  170. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  171. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  172. package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  173. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +6 -6
  174. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  175. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  176. package/app/.next-cli-build/server/app/index.html +1 -1
  177. package/app/.next-cli-build/server/app/index.rsc +4 -4
  178. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  179. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  180. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  181. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  182. package/app/.next-cli-build/server/app/landing.html +1 -1
  183. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  184. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  185. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  186. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +4 -4
  187. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  188. package/app/.next-cli-build/server/app/login.html +1 -1
  189. package/app/.next-cli-build/server/app/login.rsc +5 -5
  190. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  191. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  192. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +5 -5
  193. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  194. package/app/.next-cli-build/server/app-paths-manifest.json +19 -19
  195. package/app/.next-cli-build/server/chunks/1839.js +1 -1
  196. package/app/.next-cli-build/server/chunks/24.js +1 -1
  197. package/app/.next-cli-build/server/chunks/412.js +1 -1
  198. package/app/.next-cli-build/server/chunks/4572.js +1 -1
  199. package/app/.next-cli-build/server/chunks/4730.js +2 -2
  200. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  201. package/app/.next-cli-build/server/chunks/5026.js +1 -1
  202. package/app/.next-cli-build/server/chunks/5081.js +3 -3
  203. package/app/.next-cli-build/server/chunks/6984.js +1 -1
  204. package/app/.next-cli-build/server/chunks/7774.js +13 -13
  205. package/app/.next-cli-build/server/chunks/7843.js +1 -1
  206. package/app/.next-cli-build/server/chunks/7995.js +13 -13
  207. package/app/.next-cli-build/server/chunks/8306.js +1 -1
  208. package/app/.next-cli-build/server/chunks/8402.js +1 -1
  209. package/app/.next-cli-build/server/chunks/869.js +1 -1
  210. package/app/.next-cli-build/server/chunks/9402.js +1 -1
  211. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  212. package/app/.next-cli-build/server/pages/404.html +1 -1
  213. package/app/.next-cli-build/server/pages/500.html +1 -1
  214. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  215. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  216. package/app/.next-cli-build/static/chunks/1321-51c9a181d2c170ea.js +1 -0
  217. package/app/.next-cli-build/static/chunks/{5497-36e813c2e3b2fc3a.js → 5497-8e392875d8d17222.js} +1 -1
  218. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-bf649e1e7bfffe06.js +27 -0
  219. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-9af0cda95f346ab2.js +1 -0
  220. package/app/node_modules/baseline-browser-mapping/dist/index.cjs +1 -1
  221. package/app/node_modules/baseline-browser-mapping/package.json +2 -2
  222. package/app/node_modules/bundle-name/index.js +11 -0
  223. package/app/node_modules/bundle-name/package.json +1 -1
  224. package/app/package.json +1 -1
  225. package/app/public/i18n/literals/zh-CN.json +1 -0
  226. package/package.json +1 -1
  227. package/app/.next-cli-build/static/chunks/1321-70c474d927a3154f.js +0 -1
  228. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-b0d2c45144e80fdd.js +0 -27
  229. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-11ffcf8f72ed0519.js +0 -1
  230. /package/app/.next-cli-build/static/{th9qoM3hI-AJTCfZmBGYr → rAOrEk5gEUgHCtv3eF7Bm}/_buildManifest.js +0 -0
  231. /package/app/.next-cli-build/static/{th9qoM3hI-AJTCfZmBGYr → rAOrEk5gEUgHCtv3eF7Bm}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=5211,a.ids=[5211],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21076:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/providers/[id]/models/route",pathname:"/api/providers/[id]/models",filename:"route",bundlePath:"app/api/providers/[id]/models/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/providers/[id]/models/route.js",nextConfigOutput:"standalone",userland:()=>c(93297),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/[id]/models/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},79868:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},92990:(a,b,c)=>{c.d(b,{DI:()=>i,DV:()=>A,EL:()=>F,LT:()=>j,MZ:()=>v,Nl:()=>z,Nu:()=>p,OV:()=>h,RY:()=>H,Ru:()=>I,S6:()=>s,SK:()=>E,Td:()=>B,Tx:()=>q,WN:()=>t,Ww:()=>J,YT:()=>n,ZL:()=>m,aV:()=>u,cD:()=>o,eD:()=>G,f7:()=>y,hF:()=>k,lB:()=>w,oe:()=>D,qp:()=>C,t3:()=>l,w1:()=>x});var d=c(21820),e=c(74129),f=c(26070);function g(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let h={...f.sr.claude},i={...f.sr.codex},j={...e.dG,...f.sr["gemini-cli"]},k={...f.sr.qoder},l={...f.sr["qoder-cn"]},m={...f.sr.iflow},n={...e.XP,...f.sr.antigravity,loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:g(),pluginType:2})};function o(){return{ideType:9,platform:g(),pluginType:2}}({...f.sr.openai});let p={...f.sr.github},q={...f.sr.kiro},r=/^[a-z]{2}-[a-z]+-\d{1,2}$/;function s(a){if("string"!=typeof a||!r.test(a))throw Error("Invalid region");return a}let t={...f.sr.cursor,tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"}},u={...f.sr.kimi,clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||process.env.KIMI_OAUTH_CLIENT_ID||f.xq.kimi?.clientId||f.sr.kimi?.clientId},v={...f.sr.kilocode},w={...f.sr.cline},x={...f.sr.clinepass},y={...f.sr.gitlab},z={...f.sr["codebuddy-cn"]},A={...f.sr["codebuddy-intl"]},B={...f.sr.kimchi},C={...f.sr["grok-cli"]},D={platformUrl:process.env.MIMO_PLATFORM_URL||"https://platform.xiaomimimo.com",defaultBaseUrl:"https://api.xiaomimimo.com/v1",kn:"mimocode",callbackPath:"/",timeoutMs:3e5},E={clientId:"ono9krqynydwx5",clientSecret:"-",loginGuidanceUrls:["https://api.marscode.com/cloudide/api/v3/trae/GetLoginGuidance","https://api.trae.ai/cloudide/api/v3/trae/GetLoginGuidance","https://www.trae.ai/cloudide/api/v3/trae/GetLoginGuidance"],apiOrigins:["https://api.marscode.com","https://api.trae.ai","https://www.trae.ai","https://www.marscode.com"],exchangeTokenPath:"/cloudide/api/v3/trae/oauth/ExchangeToken",getUserInfoPath:"/cloudide/api/v3/trae/GetUserInfo",authorizationPath:"/authorization",callbackPath:"/callback",minAppVersion:"3.5.54",defaultAppVersion:"3.5.54",defaultAppType:"stable",defaultPluginVersion:"local",defaultDeviceId:"0",userAgent:"Trae/1.0.0 antigravity-cockpit-tools",webUrl:"https://www.trae.ai",authScheme:"Cloud-IDE-JWT",tokenLifetimeDays:14,oauthTimeoutMs:6e5},F={...f.sr["trae-enterprise"],minAppVersion:E.minAppVersion,defaultAppVersion:E.defaultAppVersion,defaultAppType:E.defaultAppType,defaultPluginVersion:E.defaultPluginVersion,defaultDeviceId:E.defaultDeviceId,userAgent:E.userAgent,authScheme:E.authScheme,tokenLifetimeDays:E.tokenLifetimeDays,oauthTimeoutMs:E.oauthTimeoutMs},G={clientId:"3GUryQ7ldAeKEuD2obYnppsnmj58eP5u",authBaseUrl:"https://www.windsurf.com",signInPath:"/windsurf/signin",registerApiBaseUrl:"https://register.windsurf.com",registerPath:"/exa.seat_management_pb.SeatManagementService/RegisterUser",oneTimeAuthPath:"/exa.seat_management_pb.SeatManagementService/GetOneTimeAuthToken",currentUserPath:"/exa.seat_management_pb.SeatManagementService/GetCurrentUser",planStatusPath:"/exa.seat_management_pb.SeatManagementService/GetPlanStatus",userStatusPath:"/exa.seat_management_pb.SeatManagementService/GetUserStatus",defaultApiServerUrl:"https://server.codeium.com",firebaseApiKey:"AIzaSyDsOl-1XpT5err0Tcn0TFFod1H8gVGIycY",callbackPath:"/windsurf-auth-callback",userAgent:"antigravity-cockpit-tools",oauthTimeoutMs:6e5},H={webBaseUrl:"https://zed.dev",cloudBaseUrl:"https://cloud.zed.dev",llmBaseUrl:"https://cloud.zed.dev",defaultNativeAppPort:58443,oauthTimeoutMs:6e5},I={...f.sr.codearts},J=3e5},93297:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>A});var d=c(23211),e=c(71998),f=c(40615),g=c(92990),h=c(67828),i=c(35024),j=c(57247),k=c(29679),l=c(52007),m=c(53225),n=c(38709),o=c(39326),p=c(82578),q=c(49804),r=c(37347),s=c(44705),t=c(28948);let u=a=>Array.isArray(a)?a:a?.data||a?.models||a?.results||[],v=a=>({url:a,method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:u}),w=a=>(0,j.KC)(a).map(a=>({...a,id:a.id,name:a.name||a.id})),x=({refreshFn:a,fetchFn:b,parseFn:c,errorLabel:d})=>async e=>{let f,{accessToken:g,refreshToken:i}=e;if(!g)return{error:"No valid token found",status:401};try{let j=await b(g,e);if(!j.ok&&(401===j.status||403===j.status)&&i){let c=await a(e);c?.accessToken&&(await (0,h.vN)(e.id,{accessToken:c.accessToken,refreshToken:c.refreshToken||i,expiresIn:c.expiresIn}),e.accessToken=c.accessToken,c.refreshToken&&(e.refreshToken=c.refreshToken),j=await b(c.accessToken,e))}if(j.ok){let a=await j.json(),b=c(a);if(b.length>0)return{models:b}}else{let a=await j.text();f=`${d}: ${j.status} ${a}`,console.log(`${d} (falling back to static):`,a)}}catch(a){f=`${d}: ${a.message}`,console.log(`${d} (falling back to static):`,a.message)}return{models:[],warning:f}};function y(a){return{customResolver:async b=>{let c,d={provider:a,accessToken:b.accessToken,apiKey:b.apiKey,refreshToken:b.refreshToken,email:b.email,displayName:b.displayName,providerSpecificData:b.providerSpecificData||{}};try{let b=await (0,m.EV)(d,{forceRefresh:!0});if(b?.models?.length)return{models:b.models.map(b=>({id:`${a}/${b.id}`,name:b.name,contextLength:b.contextLength,isVL:b.isVL,isReasoning:b.isReasoning,maxOutputTokens:b.maxOutputTokens,description:b.description}))};c="Qoder returned no models; falling back to static catalog."}catch(a){c=`Failed to fetch Qoder models: ${a.message}`,console.log("Failed to fetch Qoder models dynamically, falling back to static:",a.message)}return{models:[],warning:c}}}}let z={claude:{url:"https://api.anthropic.com/v1/models",method:"GET",headers:{"Anthropic-Version":"2023-06-01","Content-Type":"application/json"},authHeader:"x-api-key",parseResponse:a=>a.data||[]},gemini:{url:"https://generativelanguage.googleapis.com/v1beta/models",method:"GET",headers:{"Content-Type":"application/json"},authQuery:"key",parseResponse:a=>a.models||[]},codex:{customResolver:x({refreshFn:a=>(0,h.Wm)(a.refreshToken),fetchFn:a=>fetch("https://chatgpt.com/backend-api/codex/models?client_version=0.144.6",{method:"GET",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${a}`,originator:"codex_cli_rs"}}),parseFn:a=>u(a).flatMap(a=>{let b=a?.id||a?.slug||a?.model||a?.name;if(!b)return[];let c=a?.display_name||a?.displayName||a?.name||b,d={...a,id:b,name:c};return!("image"!==(a?.type||"llm")&&!b.toLowerCase().includes("embed"))||b.endsWith("-review")?[d]:[d,{...d,id:`${b}-review`,name:`${c} Review`,upstreamModelId:b,quotaFamily:"review"}]}),errorLabel:"Failed to fetch Codex models"})},antigravity:{url:"https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:models",method:"POST",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",body:{},parseResponse:a=>a.models||[]},github:{url:"https://api.githubcopilot.com/models",method:"GET",headers:{"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":"vscode/1.107.1","editor-plugin-version":"copilot-chat/0.26.7","user-agent":"GitHubCopilotChat/0.26.7"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a?.data?a.data.filter(a=>a.capabilities?.type==="chat").filter(a=>a.policy?.state!=="disabled").map(a=>({id:a.id,name:a.name||a.id,version:a.version,capabilities:a.capabilities,isDefault:!0===a.model_picker_enabled})):[]},openai:v("https://api.openai.com/v1/models"),openrouter:v("https://openrouter.ai/api/v1/models"),anthropic:{url:"https://api.anthropic.com/v1/models",method:"GET",headers:{"Anthropic-Version":"2023-06-01","Content-Type":"application/json"},authHeader:"x-api-key",parseResponse:a=>a.data||[]},alicode:{url:"https://coding.dashscope.aliyuncs.com/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"alicode-intl":{url:"https://coding-intl.dashscope.aliyuncs.com/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"alims-intl":{url:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"volcengine-ark":v("https://ark.cn-beijing.volces.com/api/coding/v3/models"),byteplus:v("https://ark.ap-southeast.bytepluses.com/api/coding/v3/models"),deepseek:v("https://api.deepseek.com/models"),groq:v("https://api.groq.com/openai/v1/models"),xai:v("https://api.x.ai/v1/models"),mistral:v("https://api.mistral.ai/v1/models"),perplexity:v("https://api.perplexity.ai/v1/models"),"perplexity-agent":v("https://api.perplexity.ai/v1/models"),together:v("https://api.together.xyz/v1/models"),fireworks:v("https://api.fireworks.ai/inference/v1/models"),cerebras:v("https://api.cerebras.ai/v1/models"),cohere:v("https://api.cohere.ai/v1/models"),nebius:v("https://api.studio.nebius.ai/v1/models"),siliconflow:v("https://api.siliconflow.com/v1/models"),hyperbolic:v("https://api.hyperbolic.xyz/v1/models"),ollama:v("https://ollama.com/api/tags"),nanobanana:v("https://api.nanobananaapi.ai/v1/models"),chutes:v("https://llm.chutes.ai/v1/models"),nvidia:v("https://integrate.api.nvidia.com/v1/models"),assemblyai:v("https://api.assemblyai.com/v1/models"),"vercel-ai-gateway":v("https://ai-gateway.vercel.sh/v1/models"),kimchi:{customResolver:async a=>{let b=await (0,l.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{forceRefresh:!0,log:console});return b?.models?.length?{models:b.models}:{models:w("kimchi"),warning:"Kimchi returned no live models; falling back to static catalog."}}},cursor:{customResolver:async a=>{let b=await (0,p.FD)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{forceRefresh:!0,log:console});return b?.models?.length?{models:b.models}:{models:w("cursor"),warning:"Cursor returned no live models; falling back to static catalog."}}},zed:{customResolver:async a=>{try{let b=await (0,q.w9)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{config:g.RY,forceRefresh:!0}),c=(b?.models||[]).filter(a=>a&&!a.isDisabled).map(a=>({id:a.id,name:a.name||a.id,provider:a.provider,contextLength:a.contextLength,contextLengthInMaxMode:a.contextLengthInMaxMode,maxOutputTokens:a.maxOutputTokens,supportsTools:a.supportsTools,supportsImages:a.supportsImages,supportsThinking:a.supportsThinking,supportsDisablingThinking:a.supportsDisablingThinking,supportsFastMode:a.supportsFastMode,supportsServerSideCompaction:a.supportsServerSideCompaction,supportedEffortLevels:a.supportedEffortLevels||[],supportsStreamingTools:a.supportsStreamingTools,supportsParallelToolCalls:a.supportsParallelToolCalls}));if(c.length>0)return{models:c};return{models:[],warning:"Zed returned no live models."}}catch(a){return console.log("Failed to fetch Zed models dynamically:",a.message),{models:[],warning:`Failed to fetch Zed models: ${a.message}`}}}},cline:{customResolver:async a=>{let b=await (0,t.M)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:{models:w("cline"),warning:"Cline returned no live models; falling back to static catalog."}}},clinepass:{customResolver:async a=>{let b=await (0,t.P)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:{models:w("clinepass"),warning:"ClinePass returned no live models; falling back to static catalog."}}},kiro:{customResolver:async a=>{let b,c={accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}};try{let d=await (0,k.cW)(c,{log:console,onCredentialsRefreshed:async b=>{b?.accessToken&&(await (0,h.vN)(a.id,{accessToken:b.accessToken,refreshToken:b.refreshToken||a.refreshToken,expiresIn:b.expiresIn}),a.accessToken=b.accessToken,b.refreshToken&&(a.refreshToken=b.refreshToken))}});if(d?.models?.length)return{models:d.models.map(a=>({id:a.id,name:a.name,upstreamModelId:a.upstreamModelId,contextLength:a.contextLength,rateMultiplier:a.rateMultiplier,capabilities:a.capabilities,description:a.description}))};b="Kiro returned no models; falling back to static catalog."}catch(a){b=`Failed to fetch Kiro models: ${a.message}`,console.log("Failed to fetch Kiro models dynamically, falling back to static:",a.message)}return{models:[],warning:b}}},qoder:y("qoder"),"qoder-cn":y("qoder-cn"),"trae-enterprise":{customResolver:async a=>{let b=await (0,r.i)({accessToken:a.accessToken},{forceRefresh:!0});return b?.models?.length?{models:b.models}:{models:w("trae-enterprise"),warning:"Trae Enterprise returned no live models; falling back to static catalog."}}},codearts:{customResolver:async a=>{let b=await (0,o.B)(a.providerSpecificData||{}),c=null;try{c=await (0,s.EA)(a,{forceRefresh:!0,proxyOptions:{connectionProxyEnabled:!0===b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl||"",connectionNoProxy:b.connectionNoProxy||"",vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy}})}catch(a){console.log("Failed to fetch CodeArts models dynamically, falling back to static:",a.message)}return c?.models?.length?{models:c.models}:{models:w("codearts"),warning:"CodeArts returned no live models; falling back to static catalog."}}},"gemini-cli":{customResolver:x({refreshFn:a=>(0,h.I9)(a.refreshToken,g.LT.clientId,g.LT.clientSecret),fetchFn:(a,b)=>{let c=b.projectId||b.providerSpecificData?.projectId;return fetch("https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`,"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1"},body:JSON.stringify(c?{project:c}:{})})},parseFn:a=>Array.isArray(a?.models)?a.models.map(a=>{let b=a?.id||a?.model||a?.name;return b?{id:b,name:a?.displayName||a?.name||b}:null}).filter(Boolean):a?.models&&"object"==typeof a.models?Object.entries(a.models).filter(([,a])=>!a?.isInternal).map(([a,b])=>({id:a,name:b?.displayName||b?.name||a})):[],errorLabel:"Failed to fetch Gemini CLI models"})},"grok-cli":{customResolver:async a=>{let b=await (0,o.B)(a.providerSpecificData||{}),c=await (0,n.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,h.vN)(a.id,{...b,existingProviderSpecificData:a.providerSpecificData||{}})}});return c.models.length?c:{models:w("grok-cli"),warning:c.warning||"Grok CLI returned no live models; using static catalog."}}},"ollama-local":{customResolver:async a=>{let b=`${(0,i.Ak)(a)}/api/tags`,c=await fetch(b,{method:"GET",headers:{"Content-Type":"application/json"}});return c.ok?{models:u(await c.json())}:(console.log("Error fetching models from ollama-local:",await c.text()),{error:`Failed to fetch models: ${c.status}`,status:c.status})}}};async function A(a,{params:b}){try{let{id:a}=await b,c=await (0,e.Mc)(a);if(!c)return d.NextResponse.json({error:"Connection not found"},{status:404});if((0,f.mq)(c.provider)){let a=c.providerSpecificData?.baseUrl;if(!a)return d.NextResponse.json({error:"No base URL configured for OpenAI compatible provider"},{status:400});let b=`${a.replace(/\/$/,"")}/models`,e=await fetch(b,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c.apiKey}`}});if(!e.ok){let a=await e.text();return console.log(`Error fetching models from ${c.provider}:`,a),d.NextResponse.json({error:`Failed to fetch models: ${e.status}`},{status:e.status})}let f=await e.json(),g=f.data||f.models||[];return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:g})}if((0,f.gb)(c.provider)){let a=c.providerSpecificData?.baseUrl;if(!a)return d.NextResponse.json({error:"No base URL configured for Anthropic compatible provider"},{status:400});(a=a.replace(/\/$/,"")).endsWith("/messages")&&(a=a.slice(0,-9));let b=`${a}/models`,e=await fetch(b,{method:"GET",headers:{"Content-Type":"application/json","x-api-key":c.apiKey,"anthropic-version":"2023-06-01",Authorization:`Bearer ${c.apiKey}`}});if(!e.ok){let a=await e.text();return console.log(`Error fetching models from ${c.provider}:`,a),d.NextResponse.json({error:`Failed to fetch models: ${e.status}`},{status:e.status})}let f=await e.json(),g=f.data||f.models||[];return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:g})}let g=z[c.provider];if(!g)return d.NextResponse.json({error:`Provider ${c.provider} does not support models listing`},{status:400});if("function"==typeof g.customResolver){let a=await g.customResolver(c);if(a.error)return d.NextResponse.json({error:a.error},{status:a.status||500});return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:a.models,...a.warning?{warning:a.warning}:{}})}let h=c.providerSpecificData?.copilotToken||c.accessToken||c.apiKey;if(!h)return d.NextResponse.json({error:"No valid token found"},{status:401});let i=g.url;g.authQuery&&(i+=`?${g.authQuery}=${h}`);let j={...g.headers};g.authHeader&&!g.authQuery&&(j[g.authHeader]=(g.authPrefix||"")+h);let k={method:g.method,headers:j};g.body&&"POST"===g.method&&(k.body=JSON.stringify(g.body));let l=await fetch(i,k);if(!l.ok){let a=await l.text();return console.log(`Error fetching models from ${c.provider}:`,a),d.NextResponse.json({error:`Failed to fetch models: ${l.status}`},{status:l.status})}let m=await l.json(),n=g.parseResponse(m);return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:n})}catch(a){return console.log("Error fetching provider models:",a),d.NextResponse.json({error:"Failed to fetch models"},{status:500})}}},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,4884,6984,6070,436,3943,2329,3225,7913,7828,1839,5069],()=>b(b.s=21076));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=5211,a.ids=[5211],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21076:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/providers/[id]/models/route",pathname:"/api/providers/[id]/models",filename:"route",bundlePath:"app/api/providers/[id]/models/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/providers/[id]/models/route.js",nextConfigOutput:"standalone",userland:()=>c(93297),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/[id]/models/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},79868:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},92990:(a,b,c)=>{c.d(b,{DI:()=>i,DV:()=>A,EL:()=>F,LT:()=>j,MZ:()=>v,Nl:()=>z,Nu:()=>p,OV:()=>h,RY:()=>H,Ru:()=>I,S6:()=>s,SK:()=>E,Td:()=>B,Tx:()=>q,WN:()=>t,Ww:()=>J,YT:()=>n,ZL:()=>m,aV:()=>u,cD:()=>o,eD:()=>G,f7:()=>y,hF:()=>k,lB:()=>w,oe:()=>D,qp:()=>C,t3:()=>l,w1:()=>x});var d=c(21820),e=c(74129),f=c(26070);function g(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let h={...f.sr.claude},i={...f.sr.codex},j={...e.dG,...f.sr["gemini-cli"]},k={...f.sr.qoder},l={...f.sr["qoder-cn"]},m={...f.sr.iflow},n={...e.XP,...f.sr.antigravity,loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:g(),pluginType:2})};function o(){return{ideType:9,platform:g(),pluginType:2}}({...f.sr.openai});let p={...f.sr.github},q={...f.sr.kiro},r=/^[a-z]{2}-[a-z]+-\d{1,2}$/;function s(a){if("string"!=typeof a||!r.test(a))throw Error("Invalid region");return a}let t={...f.sr.cursor,tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"}},u={...f.sr.kimi,clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||process.env.KIMI_OAUTH_CLIENT_ID||f.xq.kimi?.clientId||f.sr.kimi?.clientId},v={...f.sr.kilocode},w={...f.sr.cline},x={...f.sr.clinepass},y={...f.sr.gitlab},z={...f.sr["codebuddy-cn"]},A={...f.sr["codebuddy-intl"]},B={...f.sr.kimchi},C={...f.sr["grok-cli"]},D={platformUrl:process.env.MIMO_PLATFORM_URL||"https://platform.xiaomimimo.com",defaultBaseUrl:"https://api.xiaomimimo.com/v1",kn:"mimocode",callbackPath:"/",timeoutMs:3e5},E={clientId:"ono9krqynydwx5",clientSecret:"-",loginGuidanceUrls:["https://api.marscode.com/cloudide/api/v3/trae/GetLoginGuidance","https://api.trae.ai/cloudide/api/v3/trae/GetLoginGuidance","https://www.trae.ai/cloudide/api/v3/trae/GetLoginGuidance"],apiOrigins:["https://api.marscode.com","https://api.trae.ai","https://www.trae.ai","https://www.marscode.com"],exchangeTokenPath:"/cloudide/api/v3/trae/oauth/ExchangeToken",getUserInfoPath:"/cloudide/api/v3/trae/GetUserInfo",authorizationPath:"/authorization",callbackPath:"/callback",minAppVersion:"3.5.54",defaultAppVersion:"3.5.54",defaultAppType:"stable",defaultPluginVersion:"local",defaultDeviceId:"0",userAgent:"Trae/1.0.0 antigravity-cockpit-tools",webUrl:"https://www.trae.ai",authScheme:"Cloud-IDE-JWT",tokenLifetimeDays:14,oauthTimeoutMs:6e5},F={...f.sr["trae-enterprise"],minAppVersion:E.minAppVersion,defaultAppVersion:E.defaultAppVersion,defaultAppType:E.defaultAppType,defaultPluginVersion:E.defaultPluginVersion,defaultDeviceId:E.defaultDeviceId,userAgent:E.userAgent,authScheme:E.authScheme,tokenLifetimeDays:E.tokenLifetimeDays,oauthTimeoutMs:E.oauthTimeoutMs},G={clientId:"3GUryQ7ldAeKEuD2obYnppsnmj58eP5u",authBaseUrl:"https://www.windsurf.com",signInPath:"/windsurf/signin",registerApiBaseUrl:"https://register.windsurf.com",registerPath:"/exa.seat_management_pb.SeatManagementService/RegisterUser",oneTimeAuthPath:"/exa.seat_management_pb.SeatManagementService/GetOneTimeAuthToken",currentUserPath:"/exa.seat_management_pb.SeatManagementService/GetCurrentUser",planStatusPath:"/exa.seat_management_pb.SeatManagementService/GetPlanStatus",userStatusPath:"/exa.seat_management_pb.SeatManagementService/GetUserStatus",defaultApiServerUrl:"https://server.codeium.com",firebaseApiKey:"AIzaSyDsOl-1XpT5err0Tcn0TFFod1H8gVGIycY",callbackPath:"/windsurf-auth-callback",userAgent:"antigravity-cockpit-tools",oauthTimeoutMs:6e5},H={webBaseUrl:"https://zed.dev",cloudBaseUrl:"https://cloud.zed.dev",llmBaseUrl:"https://cloud.zed.dev",defaultNativeAppPort:58443,oauthTimeoutMs:6e5},I={...f.sr.codearts},J=3e5},93297:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>A});var d=c(23211),e=c(71998),f=c(40615),g=c(92990),h=c(67828),i=c(35024),j=c(57247),k=c(29679),l=c(52007),m=c(53225),n=c(38709),o=c(39326),p=c(82578),q=c(49804),r=c(37347),s=c(44705),t=c(28948);let u=a=>Array.isArray(a)?a:a?.data||a?.models||a?.results||[],v=(a,b=null)=>({url:a,method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>u(a).map(a=>{let c=a?.id;return c&&b?{...a,id:`${b}/${c}`,name:a.name||a.display_name||c}:a})}),w=a=>(0,j.KC)(a).map(a=>({...a,id:a.id,name:a.name||a.id})),x=({refreshFn:a,fetchFn:b,parseFn:c,errorLabel:d})=>async e=>{let f,{accessToken:g,refreshToken:i}=e;if(!g)return{error:"No valid token found",status:401};try{let j=await b(g,e);if(!j.ok&&(401===j.status||403===j.status)&&i){let c=await a(e);c?.accessToken&&(await (0,h.vN)(e.id,{accessToken:c.accessToken,refreshToken:c.refreshToken||i,expiresIn:c.expiresIn}),e.accessToken=c.accessToken,c.refreshToken&&(e.refreshToken=c.refreshToken),j=await b(c.accessToken,e))}if(j.ok){let a=await j.json(),b=c(a);if(b.length>0)return{models:b}}else{let a=await j.text();f=`${d}: ${j.status} ${a}`,console.log(`${d} (falling back to static):`,a)}}catch(a){f=`${d}: ${a.message}`,console.log(`${d} (falling back to static):`,a.message)}return{models:[],warning:f}};function y(a){return{customResolver:async b=>{let c,d={provider:a,accessToken:b.accessToken,apiKey:b.apiKey,refreshToken:b.refreshToken,email:b.email,displayName:b.displayName,providerSpecificData:b.providerSpecificData||{}};try{let b=await (0,m.EV)(d,{forceRefresh:!0});if(b?.models?.length)return{models:b.models.map(b=>({id:`${a}/${b.id}`,name:b.name,contextLength:b.contextLength,isVL:b.isVL,isReasoning:b.isReasoning,maxOutputTokens:b.maxOutputTokens,description:b.description}))};c="Qoder returned no models; falling back to static catalog."}catch(a){c=`Failed to fetch Qoder models: ${a.message}`,console.log("Failed to fetch Qoder models dynamically, falling back to static:",a.message)}return{models:[],warning:c}}}}let z={claude:{url:"https://api.anthropic.com/v1/models",method:"GET",headers:{"Anthropic-Version":"2023-06-01","Content-Type":"application/json"},authHeader:"x-api-key",parseResponse:a=>a.data||[]},gemini:{url:"https://generativelanguage.googleapis.com/v1beta/models",method:"GET",headers:{"Content-Type":"application/json"},authQuery:"key",parseResponse:a=>a.models||[]},codex:{customResolver:x({refreshFn:a=>(0,h.Wm)(a.refreshToken),fetchFn:a=>fetch("https://chatgpt.com/backend-api/codex/models?client_version=0.144.6",{method:"GET",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${a}`,originator:"codex_cli_rs"}}),parseFn:a=>u(a).flatMap(a=>{let b=a?.id||a?.slug||a?.model||a?.name;if(!b)return[];let c=a?.display_name||a?.displayName||a?.name||b,d={...a,id:b,name:c};return!("image"!==(a?.type||"llm")&&!b.toLowerCase().includes("embed"))||b.endsWith("-review")?[d]:[d,{...d,id:`${b}-review`,name:`${c} Review`,upstreamModelId:b,quotaFamily:"review"}]}),errorLabel:"Failed to fetch Codex models"})},antigravity:{url:"https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:models",method:"POST",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",body:{},parseResponse:a=>a.models||[]},github:{url:"https://api.githubcopilot.com/models",method:"GET",headers:{"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":"vscode/1.107.1","editor-plugin-version":"copilot-chat/0.26.7","user-agent":"GitHubCopilotChat/0.26.7"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a?.data?a.data.filter(a=>a.capabilities?.type==="chat").filter(a=>a.policy?.state!=="disabled").map(a=>({id:a.id,name:a.name||a.id,version:a.version,capabilities:a.capabilities,isDefault:!0===a.model_picker_enabled})):[]},openai:v("https://api.openai.com/v1/models"),openrouter:v("https://openrouter.ai/api/v1/models"),anthropic:{url:"https://api.anthropic.com/v1/models",method:"GET",headers:{"Anthropic-Version":"2023-06-01","Content-Type":"application/json"},authHeader:"x-api-key",parseResponse:a=>a.data||[]},alicode:{url:"https://coding.dashscope.aliyuncs.com/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"alicode-intl":{url:"https://coding-intl.dashscope.aliyuncs.com/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"alims-intl":{url:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"volcengine-ark":v("https://ark.cn-beijing.volces.com/api/coding/v3/models"),byteplus:v("https://ark.ap-southeast.bytepluses.com/api/coding/v3/models"),minimax:v("https://api.minimax.io/v1/models","minimax"),"minimax-cn":v("https://api.minimaxi.com/v1/models","minimax-cn"),deepseek:v("https://api.deepseek.com/models"),groq:v("https://api.groq.com/openai/v1/models"),xai:v("https://api.x.ai/v1/models"),mistral:v("https://api.mistral.ai/v1/models"),perplexity:v("https://api.perplexity.ai/v1/models"),"perplexity-agent":v("https://api.perplexity.ai/v1/models"),together:v("https://api.together.xyz/v1/models"),fireworks:v("https://api.fireworks.ai/inference/v1/models"),cerebras:v("https://api.cerebras.ai/v1/models"),cohere:v("https://api.cohere.ai/v1/models"),nebius:v("https://api.studio.nebius.ai/v1/models"),siliconflow:v("https://api.siliconflow.com/v1/models"),hyperbolic:v("https://api.hyperbolic.xyz/v1/models"),ollama:v("https://ollama.com/api/tags"),nanobanana:v("https://api.nanobananaapi.ai/v1/models"),chutes:v("https://llm.chutes.ai/v1/models"),nvidia:v("https://integrate.api.nvidia.com/v1/models"),assemblyai:v("https://api.assemblyai.com/v1/models"),"vercel-ai-gateway":v("https://ai-gateway.vercel.sh/v1/models"),kimchi:{customResolver:async a=>{let b=await (0,l.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{forceRefresh:!0,log:console});return b?.models?.length?{models:b.models}:{models:w("kimchi"),warning:"Kimchi returned no live models; falling back to static catalog."}}},cursor:{customResolver:async a=>{let b=await (0,p.FD)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{forceRefresh:!0,log:console});return b?.models?.length?{models:b.models}:{models:w("cursor"),warning:"Cursor returned no live models; falling back to static catalog."}}},zed:{customResolver:async a=>{try{let b=await (0,q.w9)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{config:g.RY,forceRefresh:!0}),c=(b?.models||[]).filter(a=>a&&!a.isDisabled).map(a=>({id:a.id,name:a.name||a.id,provider:a.provider,contextLength:a.contextLength,contextLengthInMaxMode:a.contextLengthInMaxMode,maxOutputTokens:a.maxOutputTokens,supportsTools:a.supportsTools,supportsImages:a.supportsImages,supportsThinking:a.supportsThinking,supportsDisablingThinking:a.supportsDisablingThinking,supportsFastMode:a.supportsFastMode,supportsServerSideCompaction:a.supportsServerSideCompaction,supportedEffortLevels:a.supportedEffortLevels||[],supportsStreamingTools:a.supportsStreamingTools,supportsParallelToolCalls:a.supportsParallelToolCalls}));if(c.length>0)return{models:c};return{models:[],warning:"Zed returned no live models."}}catch(a){return console.log("Failed to fetch Zed models dynamically:",a.message),{models:[],warning:`Failed to fetch Zed models: ${a.message}`}}}},cline:{customResolver:async a=>{let b=await (0,t.M)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:{models:w("cline"),warning:"Cline returned no live models; falling back to static catalog."}}},clinepass:{customResolver:async a=>{let b=await (0,t.P)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:{models:w("clinepass"),warning:"ClinePass returned no live models; falling back to static catalog."}}},kiro:{customResolver:async a=>{let b,c={accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}};try{let d=await (0,k.cW)(c,{log:console,onCredentialsRefreshed:async b=>{b?.accessToken&&(await (0,h.vN)(a.id,{accessToken:b.accessToken,refreshToken:b.refreshToken||a.refreshToken,expiresIn:b.expiresIn}),a.accessToken=b.accessToken,b.refreshToken&&(a.refreshToken=b.refreshToken))}});if(d?.models?.length)return{models:d.models.map(a=>({id:a.id,name:a.name,upstreamModelId:a.upstreamModelId,contextLength:a.contextLength,rateMultiplier:a.rateMultiplier,capabilities:a.capabilities,description:a.description}))};b="Kiro returned no models; falling back to static catalog."}catch(a){b=`Failed to fetch Kiro models: ${a.message}`,console.log("Failed to fetch Kiro models dynamically, falling back to static:",a.message)}return{models:[],warning:b}}},qoder:y("qoder"),"qoder-cn":y("qoder-cn"),"trae-enterprise":{customResolver:async a=>{let b=await (0,r.i)({accessToken:a.accessToken},{forceRefresh:!0});return b?.models?.length?{models:b.models}:{models:w("trae-enterprise"),warning:"Trae Enterprise returned no live models; falling back to static catalog."}}},codearts:{customResolver:async a=>{let b=await (0,o.B)(a.providerSpecificData||{}),c=null;try{c=await (0,s.EA)(a,{forceRefresh:!0,proxyOptions:{connectionProxyEnabled:!0===b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl||"",connectionNoProxy:b.connectionNoProxy||"",vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy}})}catch(a){console.log("Failed to fetch CodeArts models dynamically, falling back to static:",a.message)}return c?.models?.length?{models:c.models}:{models:w("codearts"),warning:"CodeArts returned no live models; falling back to static catalog."}}},"gemini-cli":{customResolver:x({refreshFn:a=>(0,h.I9)(a.refreshToken,g.LT.clientId,g.LT.clientSecret),fetchFn:(a,b)=>{let c=b.projectId||b.providerSpecificData?.projectId;return fetch("https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`,"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1"},body:JSON.stringify(c?{project:c}:{})})},parseFn:a=>Array.isArray(a?.models)?a.models.map(a=>{let b=a?.id||a?.model||a?.name;return b?{id:b,name:a?.displayName||a?.name||b}:null}).filter(Boolean):a?.models&&"object"==typeof a.models?Object.entries(a.models).filter(([,a])=>!a?.isInternal).map(([a,b])=>({id:a,name:b?.displayName||b?.name||a})):[],errorLabel:"Failed to fetch Gemini CLI models"})},"grok-cli":{customResolver:async a=>{let b=await (0,o.B)(a.providerSpecificData||{}),c=await (0,n.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,h.vN)(a.id,{...b,existingProviderSpecificData:a.providerSpecificData||{}})}});return c.models.length?c:{models:w("grok-cli"),warning:c.warning||"Grok CLI returned no live models; using static catalog."}}},"ollama-local":{customResolver:async a=>{let b=`${(0,i.Ak)(a)}/api/tags`,c=await fetch(b,{method:"GET",headers:{"Content-Type":"application/json"}});return c.ok?{models:u(await c.json())}:(console.log("Error fetching models from ollama-local:",await c.text()),{error:`Failed to fetch models: ${c.status}`,status:c.status})}}};async function A(a,{params:b}){try{let{id:a}=await b,c=await (0,e.Mc)(a);if(!c)return d.NextResponse.json({error:"Connection not found"},{status:404});if((0,f.mq)(c.provider)){let a=c.providerSpecificData?.baseUrl;if(!a)return d.NextResponse.json({error:"No base URL configured for OpenAI compatible provider"},{status:400});let b=`${a.replace(/\/$/,"")}/models`,e=await fetch(b,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c.apiKey}`}});if(!e.ok){let a=await e.text();return console.log(`Error fetching models from ${c.provider}:`,a),d.NextResponse.json({error:`Failed to fetch models: ${e.status}`},{status:e.status})}let f=await e.json(),g=f.data||f.models||[];return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:g})}if((0,f.gb)(c.provider)){let a=c.providerSpecificData?.baseUrl;if(!a)return d.NextResponse.json({error:"No base URL configured for Anthropic compatible provider"},{status:400});(a=a.replace(/\/$/,"")).endsWith("/messages")&&(a=a.slice(0,-9));let b=`${a}/models`,e=await fetch(b,{method:"GET",headers:{"Content-Type":"application/json","x-api-key":c.apiKey,"anthropic-version":"2023-06-01",Authorization:`Bearer ${c.apiKey}`}});if(!e.ok){let a=await e.text();return console.log(`Error fetching models from ${c.provider}:`,a),d.NextResponse.json({error:`Failed to fetch models: ${e.status}`},{status:e.status})}let f=await e.json(),g=f.data||f.models||[];return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:g})}let g=z[c.provider];if(!g)return d.NextResponse.json({error:`Provider ${c.provider} does not support models listing`},{status:400});if("function"==typeof g.customResolver){let a=await g.customResolver(c);if(a.error)return d.NextResponse.json({error:a.error},{status:a.status||500});return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:a.models,...a.warning?{warning:a.warning}:{}})}let h=c.providerSpecificData?.copilotToken||c.accessToken||c.apiKey;if(!h)return d.NextResponse.json({error:"No valid token found"},{status:401});let i=g.url;g.authQuery&&(i+=`?${g.authQuery}=${h}`);let j={...g.headers};g.authHeader&&!g.authQuery&&(j[g.authHeader]=(g.authPrefix||"")+h);let k={method:g.method,headers:j};g.body&&"POST"===g.method&&(k.body=JSON.stringify(g.body));let l=await fetch(i,k);if(!l.ok){let a=await l.text();return console.log(`Error fetching models from ${c.provider}:`,a),d.NextResponse.json({error:`Failed to fetch models: ${l.status}`},{status:l.status})}let m=await l.json(),n=g.parseResponse(m);return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:n})}catch(a){return console.log("Error fetching provider models:",a),d.NextResponse.json({error:"Failed to fetch models"},{status:500})}}},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,4884,6984,6070,436,3943,2329,3225,7913,7828,1839,5069],()=>b(b.s=21076));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=4286,a.ids=[615,3535,4286],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},13808:(a,b,c)=>{c.d(b,{$N:()=>f,OK:()=>g,Zl:()=>h,lz:()=>i});var d=c(55511),e=c.n(d);function f(a=32){return e().randomBytes(a).toString("base64url")}function g(a){return e().createHash("sha256").update(a).digest("base64url")}function h(){return e().randomBytes(32).toString("base64url")}function i(a=32){let b=f(a),c=g(b);return{codeVerifier:b,codeChallenge:c,state:h()}}},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30012:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/providers/client/route",pathname:"/api/providers/client",filename:"route",bundlePath:"app/api/providers/client/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/providers/client/route.js",nextConfigOutput:"standalone",userland:()=>c(33860),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/client/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33860:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>m});var e=c(23211),f=c(89718),g=c(74177),h=c(40615),i=a([g]);g=(i.then?(await i)():i)[0];let n=["id","provider","authType","name","email","displayName","priority","globalPriority","isActive","defaultModel","testStatus","lastError","lastErrorAt","errorCode","expiresAt","lastUsedAt","consecutiveUseCount","createdAt","updatedAt"],o=["baseUrl","azureEndpoint","deployment","apiVersion","accountId","region","projectId","resourceUrl","proxyPoolId","connectionProxyEnabled","connectionProxyUrl","connectionNoProxy","githubLogin","githubName","githubEmail","githubUserId","username","firstName","lastName","authMethod","authKind","profileArn"];function j(a){var b;let c={};for(let b of n)void 0!==a[b]&&(c[b]=a[b]);if(c.name&&(b=c.name,c.name="string"!=typeof b||b.length<=16?b:/[a-zA-Z0-9_-]{32,}/.test(b)?`${b.slice(0,8)}***`:b),a.providerSpecificData){let b={};for(let c of o)void 0!==a.providerSpecificData[c]&&(b[c]=a.providerSpecificData[c]);c.providerSpecificData=b}return c}function k(a){return h.wb.includes(a.provider)&&("oauth"===a.authType||h.jO.includes(a.provider))}function l(a,b){let c=Number.parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}async function m(a){try{var b;let c;await (0,g.PY)();let{searchParams:d}=new URL(a.url),i=d.get("provider")||"all",m=d.get("accountStatus")||"all",n=d.get("sort")||"priority",o=l(d.get("page"),1),p=Math.min(l(d.get("pageSize"),20),500),q=(await (0,f.getProviderConnections)()).filter(k),r=Array.from(new Set(q.map(a=>a.provider))).sort(),s=q.filter(a=>"all"===i||a.provider===i),t=(b=s.filter(a=>"active"===m?a.isActive??!0:"inactive"!==m||!(a.isActive??!0)),c=[...b],"provider"===n?c.sort((a,b)=>{let c=h.wb.indexOf(a.provider),d=h.wb.indexOf(b.provider);return c!==d?c-d:a.provider.localeCompare(b.provider)}):c.sort((a,b)=>{let c=a.priority??Number.MAX_SAFE_INTEGER,d=b.priority??Number.MAX_SAFE_INTEGER;return c!==d?c-d:(a.provider||"").localeCompare(b.provider||"")})),u=t.length,v=Math.max(1,Math.ceil(u/p)),w=Math.min(o,v),x=(w-1)*p,y=t.slice(x,x+p).map(j);return e.NextResponse.json({connections:y,providerOptions:r,pagination:{page:w,pageSize:p,total:u,totalPages:v},totals:{eligibleConnections:q.length,providerFilteredConnections:s.length}})}catch(a){return console.log("Error fetching providers for client:",a),e.NextResponse.json({error:"Failed to fetch providers"},{status:500})}}d()}catch(a){d(a)}})},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},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]}},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},39006:a=>{a.exports={rE:"0.5.95"}},40610:a=>{a.exports=require("node:dns")},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,rs:()=>u});var d=c(56984);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.default.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.default.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=d.default.filter(a=>a.features?.usage).map(a=>a.id),y=d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},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()}},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73159:(a,b,c)=>{c.d(b,{Ue:()=>k,oT:()=>l});var d=c(26070);let e=d.xq.xai?.clientId,f="https://auth.x.ai",g="/oauth2/authorize",h="/oauth2/token",i="/.well-known/openid-configuration",j="/callback",k=96,l={clientId:e,issuer:f,authEndpointPath:g,tokenEndpointPath:h,discoveryPath:i,authorizeUrl:`${f}${g}`,tokenUrl:`${f}${h}`,discoveryUrl:`${f}${i}`,scope:"openid profile email offline_access grok-cli:access api:access",apiBaseUrl:"https://api.x.ai/v1",redirectUri:`http://127.0.0.1:56121${j}`,loopbackPort:56121,callbackPath:j,pkceVerifierBytes:96,refreshLeadSeconds:300,userAgent:"grok-cli/9router",codeChallengeMethod:"S256"}},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},79868:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},91645:a=>{a.exports=require("net")},92990:(a,b,c)=>{c.d(b,{DI:()=>i,DV:()=>A,EL:()=>F,LT:()=>j,MZ:()=>v,Nl:()=>z,Nu:()=>p,OV:()=>h,RY:()=>H,Ru:()=>I,S6:()=>s,SK:()=>E,Td:()=>B,Tx:()=>q,WN:()=>t,Ww:()=>J,YT:()=>n,ZL:()=>m,aV:()=>u,cD:()=>o,eD:()=>G,f7:()=>y,hF:()=>k,lB:()=>w,oe:()=>D,qp:()=>C,t3:()=>l,w1:()=>x});var d=c(21820),e=c(74129),f=c(26070);function g(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let h={...f.sr.claude},i={...f.sr.codex},j={...e.dG,...f.sr["gemini-cli"]},k={...f.sr.qoder},l={...f.sr["qoder-cn"]},m={...f.sr.iflow},n={...e.XP,...f.sr.antigravity,loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:g(),pluginType:2})};function o(){return{ideType:9,platform:g(),pluginType:2}}({...f.sr.openai});let p={...f.sr.github},q={...f.sr.kiro},r=/^[a-z]{2}-[a-z]+-\d{1,2}$/;function s(a){if("string"!=typeof a||!r.test(a))throw Error("Invalid region");return a}let t={...f.sr.cursor,tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"}},u={...f.sr.kimi,clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||process.env.KIMI_OAUTH_CLIENT_ID||f.xq.kimi?.clientId||f.sr.kimi?.clientId},v={...f.sr.kilocode},w={...f.sr.cline},x={...f.sr.clinepass},y={...f.sr.gitlab},z={...f.sr["codebuddy-cn"]},A={...f.sr["codebuddy-intl"]},B={...f.sr.kimchi},C={...f.sr["grok-cli"]},D={platformUrl:process.env.MIMO_PLATFORM_URL||"https://platform.xiaomimimo.com",defaultBaseUrl:"https://api.xiaomimimo.com/v1",kn:"mimocode",callbackPath:"/",timeoutMs:3e5},E={clientId:"ono9krqynydwx5",clientSecret:"-",loginGuidanceUrls:["https://api.marscode.com/cloudide/api/v3/trae/GetLoginGuidance","https://api.trae.ai/cloudide/api/v3/trae/GetLoginGuidance","https://www.trae.ai/cloudide/api/v3/trae/GetLoginGuidance"],apiOrigins:["https://api.marscode.com","https://api.trae.ai","https://www.trae.ai","https://www.marscode.com"],exchangeTokenPath:"/cloudide/api/v3/trae/oauth/ExchangeToken",getUserInfoPath:"/cloudide/api/v3/trae/GetUserInfo",authorizationPath:"/authorization",callbackPath:"/callback",minAppVersion:"3.5.54",defaultAppVersion:"3.5.54",defaultAppType:"stable",defaultPluginVersion:"local",defaultDeviceId:"0",userAgent:"Trae/1.0.0 antigravity-cockpit-tools",webUrl:"https://www.trae.ai",authScheme:"Cloud-IDE-JWT",tokenLifetimeDays:14,oauthTimeoutMs:6e5},F={...f.sr["trae-enterprise"],minAppVersion:E.minAppVersion,defaultAppVersion:E.defaultAppVersion,defaultAppType:E.defaultAppType,defaultPluginVersion:E.defaultPluginVersion,defaultDeviceId:E.defaultDeviceId,userAgent:E.userAgent,authScheme:E.authScheme,tokenLifetimeDays:E.tokenLifetimeDays,oauthTimeoutMs:E.oauthTimeoutMs},G={clientId:"3GUryQ7ldAeKEuD2obYnppsnmj58eP5u",authBaseUrl:"https://www.windsurf.com",signInPath:"/windsurf/signin",registerApiBaseUrl:"https://register.windsurf.com",registerPath:"/exa.seat_management_pb.SeatManagementService/RegisterUser",oneTimeAuthPath:"/exa.seat_management_pb.SeatManagementService/GetOneTimeAuthToken",currentUserPath:"/exa.seat_management_pb.SeatManagementService/GetCurrentUser",planStatusPath:"/exa.seat_management_pb.SeatManagementService/GetPlanStatus",userStatusPath:"/exa.seat_management_pb.SeatManagementService/GetUserStatus",defaultApiServerUrl:"https://server.codeium.com",firebaseApiKey:"AIzaSyDsOl-1XpT5err0Tcn0TFFod1H8gVGIycY",callbackPath:"/windsurf-auth-callback",userAgent:"antigravity-cockpit-tools",oauthTimeoutMs:6e5},H={webBaseUrl:"https://zed.dev",cloudBaseUrl:"https://cloud.zed.dev",llmBaseUrl:"https://cloud.zed.dev",defaultNativeAppPort:58443,oauthTimeoutMs:6e5},I={...f.sr.codearts},J=3e5},94735:a=>{a.exports=require("events")},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)}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,7774,5433,4884,6984,6070,8920,24,436,3943,2329,3225,6922,7843,7913,614,6022,8499,6249,5330,8895,4049],()=>b(b.s=30012));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=4286,a.ids=[615,3535,4286],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},13808:(a,b,c)=>{c.d(b,{$N:()=>f,OK:()=>g,Zl:()=>h,lz:()=>i});var d=c(55511),e=c.n(d);function f(a=32){return e().randomBytes(a).toString("base64url")}function g(a){return e().createHash("sha256").update(a).digest("base64url")}function h(){return e().randomBytes(32).toString("base64url")}function i(a=32){let b=f(a),c=g(b);return{codeVerifier:b,codeChallenge:c,state:h()}}},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30012:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/providers/client/route",pathname:"/api/providers/client",filename:"route",bundlePath:"app/api/providers/client/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/providers/client/route.js",nextConfigOutput:"standalone",userland:()=>c(33860),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/client/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33860:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>m});var e=c(23211),f=c(89718),g=c(74177),h=c(40615),i=a([g]);g=(i.then?(await i)():i)[0];let n=["id","provider","authType","name","email","displayName","priority","globalPriority","isActive","defaultModel","testStatus","lastError","lastErrorAt","errorCode","expiresAt","lastUsedAt","consecutiveUseCount","createdAt","updatedAt"],o=["baseUrl","azureEndpoint","deployment","apiVersion","accountId","region","projectId","resourceUrl","proxyPoolId","connectionProxyEnabled","connectionProxyUrl","connectionNoProxy","githubLogin","githubName","githubEmail","githubUserId","username","firstName","lastName","authMethod","authKind","profileArn"];function j(a){var b;let c={};for(let b of n)void 0!==a[b]&&(c[b]=a[b]);if(c.name&&(b=c.name,c.name="string"!=typeof b||b.length<=16?b:/[a-zA-Z0-9_-]{32,}/.test(b)?`${b.slice(0,8)}***`:b),a.providerSpecificData){let b={};for(let c of o)void 0!==a.providerSpecificData[c]&&(b[c]=a.providerSpecificData[c]);c.providerSpecificData=b}return c}function k(a){return h.wb.includes(a.provider)&&("oauth"===a.authType||h.jO.includes(a.provider))}function l(a,b){let c=Number.parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}async function m(a){try{var b;let c;await (0,g.PY)();let{searchParams:d}=new URL(a.url),i=d.get("provider")||"all",m=d.get("accountStatus")||"all",n=d.get("sort")||"priority",o=l(d.get("page"),1),p=Math.min(l(d.get("pageSize"),20),500),q=(await (0,f.getProviderConnections)()).filter(k),r=Array.from(new Set(q.map(a=>a.provider))).sort(),s=q.filter(a=>"all"===i||a.provider===i),t=(b=s.filter(a=>"active"===m?a.isActive??!0:"inactive"!==m||!(a.isActive??!0)),c=[...b],"provider"===n?c.sort((a,b)=>{let c=h.wb.indexOf(a.provider),d=h.wb.indexOf(b.provider);return c!==d?c-d:a.provider.localeCompare(b.provider)}):c.sort((a,b)=>{let c=a.priority??Number.MAX_SAFE_INTEGER,d=b.priority??Number.MAX_SAFE_INTEGER;return c!==d?c-d:(a.provider||"").localeCompare(b.provider||"")})),u=t.length,v=Math.max(1,Math.ceil(u/p)),w=Math.min(o,v),x=(w-1)*p,y=t.slice(x,x+p).map(j);return e.NextResponse.json({connections:y,providerOptions:r,pagination:{page:w,pageSize:p,total:u,totalPages:v},totals:{eligibleConnections:q.length,providerFilteredConnections:s.length}})}catch(a){return console.log("Error fetching providers for client:",a),e.NextResponse.json({error:"Failed to fetch providers"},{status:500})}}d()}catch(a){d(a)}})},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},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]}},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},39006:a=>{a.exports={rE:"0.5.97"}},40610:a=>{a.exports=require("node:dns")},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,rs:()=>u});var d=c(56984);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.default.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.default.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=d.default.filter(a=>a.features?.usage).map(a=>a.id),y=d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},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()}},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73159:(a,b,c)=>{c.d(b,{Ue:()=>k,oT:()=>l});var d=c(26070);let e=d.xq.xai?.clientId,f="https://auth.x.ai",g="/oauth2/authorize",h="/oauth2/token",i="/.well-known/openid-configuration",j="/callback",k=96,l={clientId:e,issuer:f,authEndpointPath:g,tokenEndpointPath:h,discoveryPath:i,authorizeUrl:`${f}${g}`,tokenUrl:`${f}${h}`,discoveryUrl:`${f}${i}`,scope:"openid profile email offline_access grok-cli:access api:access",apiBaseUrl:"https://api.x.ai/v1",redirectUri:`http://127.0.0.1:56121${j}`,loopbackPort:56121,callbackPath:j,pkceVerifierBytes:96,refreshLeadSeconds:300,userAgent:"grok-cli/9router",codeChallengeMethod:"S256"}},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},79868:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},91645:a=>{a.exports=require("net")},92990:(a,b,c)=>{c.d(b,{DI:()=>i,DV:()=>A,EL:()=>F,LT:()=>j,MZ:()=>v,Nl:()=>z,Nu:()=>p,OV:()=>h,RY:()=>H,Ru:()=>I,S6:()=>s,SK:()=>E,Td:()=>B,Tx:()=>q,WN:()=>t,Ww:()=>J,YT:()=>n,ZL:()=>m,aV:()=>u,cD:()=>o,eD:()=>G,f7:()=>y,hF:()=>k,lB:()=>w,oe:()=>D,qp:()=>C,t3:()=>l,w1:()=>x});var d=c(21820),e=c(74129),f=c(26070);function g(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let h={...f.sr.claude},i={...f.sr.codex},j={...e.dG,...f.sr["gemini-cli"]},k={...f.sr.qoder},l={...f.sr["qoder-cn"]},m={...f.sr.iflow},n={...e.XP,...f.sr.antigravity,loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:g(),pluginType:2})};function o(){return{ideType:9,platform:g(),pluginType:2}}({...f.sr.openai});let p={...f.sr.github},q={...f.sr.kiro},r=/^[a-z]{2}-[a-z]+-\d{1,2}$/;function s(a){if("string"!=typeof a||!r.test(a))throw Error("Invalid region");return a}let t={...f.sr.cursor,tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"}},u={...f.sr.kimi,clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||process.env.KIMI_OAUTH_CLIENT_ID||f.xq.kimi?.clientId||f.sr.kimi?.clientId},v={...f.sr.kilocode},w={...f.sr.cline},x={...f.sr.clinepass},y={...f.sr.gitlab},z={...f.sr["codebuddy-cn"]},A={...f.sr["codebuddy-intl"]},B={...f.sr.kimchi},C={...f.sr["grok-cli"]},D={platformUrl:process.env.MIMO_PLATFORM_URL||"https://platform.xiaomimimo.com",defaultBaseUrl:"https://api.xiaomimimo.com/v1",kn:"mimocode",callbackPath:"/",timeoutMs:3e5},E={clientId:"ono9krqynydwx5",clientSecret:"-",loginGuidanceUrls:["https://api.marscode.com/cloudide/api/v3/trae/GetLoginGuidance","https://api.trae.ai/cloudide/api/v3/trae/GetLoginGuidance","https://www.trae.ai/cloudide/api/v3/trae/GetLoginGuidance"],apiOrigins:["https://api.marscode.com","https://api.trae.ai","https://www.trae.ai","https://www.marscode.com"],exchangeTokenPath:"/cloudide/api/v3/trae/oauth/ExchangeToken",getUserInfoPath:"/cloudide/api/v3/trae/GetUserInfo",authorizationPath:"/authorization",callbackPath:"/callback",minAppVersion:"3.5.54",defaultAppVersion:"3.5.54",defaultAppType:"stable",defaultPluginVersion:"local",defaultDeviceId:"0",userAgent:"Trae/1.0.0 antigravity-cockpit-tools",webUrl:"https://www.trae.ai",authScheme:"Cloud-IDE-JWT",tokenLifetimeDays:14,oauthTimeoutMs:6e5},F={...f.sr["trae-enterprise"],minAppVersion:E.minAppVersion,defaultAppVersion:E.defaultAppVersion,defaultAppType:E.defaultAppType,defaultPluginVersion:E.defaultPluginVersion,defaultDeviceId:E.defaultDeviceId,userAgent:E.userAgent,authScheme:E.authScheme,tokenLifetimeDays:E.tokenLifetimeDays,oauthTimeoutMs:E.oauthTimeoutMs},G={clientId:"3GUryQ7ldAeKEuD2obYnppsnmj58eP5u",authBaseUrl:"https://www.windsurf.com",signInPath:"/windsurf/signin",registerApiBaseUrl:"https://register.windsurf.com",registerPath:"/exa.seat_management_pb.SeatManagementService/RegisterUser",oneTimeAuthPath:"/exa.seat_management_pb.SeatManagementService/GetOneTimeAuthToken",currentUserPath:"/exa.seat_management_pb.SeatManagementService/GetCurrentUser",planStatusPath:"/exa.seat_management_pb.SeatManagementService/GetPlanStatus",userStatusPath:"/exa.seat_management_pb.SeatManagementService/GetUserStatus",defaultApiServerUrl:"https://server.codeium.com",firebaseApiKey:"AIzaSyDsOl-1XpT5err0Tcn0TFFod1H8gVGIycY",callbackPath:"/windsurf-auth-callback",userAgent:"antigravity-cockpit-tools",oauthTimeoutMs:6e5},H={webBaseUrl:"https://zed.dev",cloudBaseUrl:"https://cloud.zed.dev",llmBaseUrl:"https://cloud.zed.dev",defaultNativeAppPort:58443,oauthTimeoutMs:6e5},I={...f.sr.codearts},J=3e5},94735:a=>{a.exports=require("events")},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)}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,7774,5433,4884,6984,6070,8920,24,436,3943,2329,3225,6922,7843,7913,614,6022,8499,6249,5330,8895,4049],()=>b(b.s=30012));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=8791,a.ids=[8791],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{"use strict";a.exports=require("node:perf_hooks")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{"use strict";a.exports=require("dns")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38522:a=>{"use strict";a.exports=require("node:zlib")},39609:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>s,normalizeProxyUrl:()=>n,proxyAwareFetch:()=>q});var d=c(27910),e=c(41004);let f=globalThis.fetch,g=new Map,h=new Map,i=["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"],j=["8.8.8.8","8.8.4.4"];function k(a){return null==a?"":String(a).trim()}async function l(a){let b=h.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)),f=new b.Resolver;f.setServers(j);let g=d(f.resolve4.bind(f)),i=await g(a);return h.set(a,{ip:i[0],expiry:Date.now()+e.v1.dnsCacheTtlMs}),i[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function m(a,b){let c,d=k(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 n(a){let b=k(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function o(a){let b=n(a);if(!b)return null;if(!g.has(b)){g.size>=e.v1.proxyDispatchersMaxSize&&g.delete(g.keys().next().value);let{ProxyAgent:a}=await c.e(7774).then(c.t.bind(c,47774,19));g.set(b,new a({uri:b}))}return g.get(b)}async function p(a,b,e){let f=await Promise.resolve().then(c.t.bind(c,55591,23)),g=await Promise.resolve().then(c.t.bind(c,91645,23)),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket;g.connect(443,b,()=>{let b={socket:g,servername:a.hostname,path:a.pathname+a.search,method:e.method||"POST",headers:{...e.headers,Host:a.hostname}},i=h.request(b,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())};c(b)});i.on("error",f),e.body&&i.write("string"==typeof e.body?e.body:JSON.stringify(e.body)),i.end()}),g.on("error",f)})}async function q(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=k(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 f(e,{...b,headers:c})}let g=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=k(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=k(b?.noProxy??b?.connectionNoProxy);return d&&m(a,d)?null:n(c)}(d,c),h=g?null:n(function(a){let b;if(m(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)),j=g||h;if(function(a){try{let b=new URL(a).hostname;return i.some(a=>b.includes(a))}catch{return!1}}(d)){if(j)try{let c=await o(j);return await f(a,{...b,dispatcher:c})}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 l(a.hostname);if(c)return await p(a,c,b)}catch(a){console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(j)try{let c=await o(j);return await f(a,{...b,dispatcher:c})}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: ${a.message}`)}return f(a,b)}async function r(a,b={}){return q(a,b,null)}globalThis.fetch!==r&&(globalThis.fetch=r);let s=r},40610:a=>{"use strict";a.exports=require("node:dns")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},49120:(a,b,c)=>{"use strict";c.d(b,{n:()=>l});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="9router";function k(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}let l=function(){let a=process.env.DATA_DIR;if(!a)return k();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),k();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),k();throw b}}()},51455:a=>{"use strict";a.exports=require("node:fs/promises")},52634:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/providers/suggested-models/route",pathname:"/api/providers/suggested-models",filename:"route",bundlePath:"app/api/providers/suggested-models/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/providers/suggested-models/route.js",nextConfigOutput:"standalone",userland:()=>c(61533),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/suggested-models/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},61533:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GET:()=>j,dynamic:()=>i});var d=c(23211);let e=["big-pickle"],f=new Set(["deepseek-v4-flash-free","jev-1.13-free"]),g={"openrouter-free":a=>a.filter(a=>a.pricing?.prompt==="0"&&a.pricing?.completion==="0"&&a.context_length>=2e5).map(a=>({id:a.id,name:a.name,contextLength:a.context_length})).sort((a,b)=>b.contextLength-a.contextLength),"opencode-free":a=>a.filter(a=>(a.id?.endsWith("-free")||e.includes(a.id))&&!f.has(a.id)).map(a=>({id:a.id,name:a.id})),"airforce-free":a=>(Array.isArray(a)?a:[]).filter(a=>("free"===a.tier||a.id?.endsWith(":free"))&&!0===a.supports_chat&&(!a.media_type||"chat"===a.media_type||"text"===a.media_type)).map(a=>({id:a.id,name:a.name||a.id,contextLength:a.context_length})).sort((a,b)=>String(a.id).localeCompare(String(b.id)))};var h=c(80614);let i="force-dynamic";async function j(a){let{searchParams:b}=new URL(a.url),c=b.get("url"),e=b.get("type");if(!c||!e)return d.NextResponse.json({error:"Missing url or type"},{status:400});let f=g[e];if(!f)return d.NextResponse.json({error:"Unknown filter type"},{status:400});try{let a=await fetch(c);if(!a.ok)return d.NextResponse.json({data:[]});let b=await a.json(),g=b.data??b.models??b,i=f(Array.isArray(g)?g:[]);if("opencode-free"===e){let a=await (0,h.BS)();a&&(i=i.filter(b=>a.has(b.id)))}return d.NextResponse.json({data:i})}catch{return d.NextResponse.json({data:[]})}}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},78474:a=>{"use strict";a.exports=require("node:events")},79868:a=>{"use strict";a.exports=require("node:sqlite")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,6984,6070,8920,24,7843,614],()=>b(b.s=52634));module.exports=c})();
1
+ (()=>{var a={};a.id=8791,a.ids=[8791],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{"use strict";a.exports=require("node:perf_hooks")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14170:(a,b,c)=>{"use strict";c.d(b,{h:()=>d,t:()=>e});let d={OPENAI:"openai",OPENAI_RESPONSES:"openai-responses",OPENAI_RESPONSE:"openai-response",CLAUDE:"claude",GEMINI:"gemini",GEMINI_CLI:"gemini-cli",VERTEX:"vertex",CODEX:"codex",ANTIGRAVITY:"antigravity",KIRO:"kiro",CURSOR:"cursor",OLLAMA:"ollama",COMMANDCODE:"commandcode"};function e(a,b){return a.includes("/v1/responses")?d.OPENAI_RESPONSES:a.includes("/v1/messages")?d.CLAUDE:a.includes("/v1/chat/completions")&&Array.isArray(b?.input)?d.OPENAI:null}},14985:a=>{"use strict";a.exports=require("dns")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38522:a=>{"use strict";a.exports=require("node:zlib")},39609:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>s,normalizeProxyUrl:()=>n,proxyAwareFetch:()=>q});var d=c(27910),e=c(41004);let f=globalThis.fetch,g=new Map,h=new Map,i=["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"],j=["8.8.8.8","8.8.4.4"];function k(a){return null==a?"":String(a).trim()}async function l(a){let b=h.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)),f=new b.Resolver;f.setServers(j);let g=d(f.resolve4.bind(f)),i=await g(a);return h.set(a,{ip:i[0],expiry:Date.now()+e.v1.dnsCacheTtlMs}),i[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function m(a,b){let c,d=k(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 n(a){let b=k(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function o(a){let b=n(a);if(!b)return null;if(!g.has(b)){g.size>=e.v1.proxyDispatchersMaxSize&&g.delete(g.keys().next().value);let{ProxyAgent:a}=await c.e(7774).then(c.t.bind(c,47774,19));g.set(b,new a({uri:b}))}return g.get(b)}async function p(a,b,e){let f=await Promise.resolve().then(c.t.bind(c,55591,23)),g=await Promise.resolve().then(c.t.bind(c,91645,23)),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket;g.connect(443,b,()=>{let b={socket:g,servername:a.hostname,path:a.pathname+a.search,method:e.method||"POST",headers:{...e.headers,Host:a.hostname}},i=h.request(b,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())};c(b)});i.on("error",f),e.body&&i.write("string"==typeof e.body?e.body:JSON.stringify(e.body)),i.end()}),g.on("error",f)})}async function q(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=k(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 f(e,{...b,headers:c})}let g=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=k(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=k(b?.noProxy??b?.connectionNoProxy);return d&&m(a,d)?null:n(c)}(d,c),h=g?null:n(function(a){let b;if(m(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)),j=g||h;if(function(a){try{let b=new URL(a).hostname;return i.some(a=>b.includes(a))}catch{return!1}}(d)){if(j)try{let c=await o(j);return await f(a,{...b,dispatcher:c})}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 l(a.hostname);if(c)return await p(a,c,b)}catch(a){console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(j)try{let c=await o(j);return await f(a,{...b,dispatcher:c})}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: ${a.message}`)}return f(a,b)}async function r(a,b={}){return q(a,b,null)}globalThis.fetch!==r&&(globalThis.fetch=r);let s=r},40610:a=>{"use strict";a.exports=require("node:dns")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},49120:(a,b,c)=>{"use strict";c.d(b,{n:()=>l});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="9router";function k(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}let l=function(){let a=process.env.DATA_DIR;if(!a)return k();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),k();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),k();throw b}}()},51455:a=>{"use strict";a.exports=require("node:fs/promises")},52634:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/providers/suggested-models/route",pathname:"/api/providers/suggested-models",filename:"route",bundlePath:"app/api/providers/suggested-models/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/providers/suggested-models/route.js",nextConfigOutput:"standalone",userland:()=>c(61533),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/suggested-models/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},61533:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GET:()=>j,dynamic:()=>i});var d=c(23211);let e=["big-pickle"],f=new Set(["deepseek-v4-flash-free","jev-1.13-free"]),g={"openrouter-free":a=>a.filter(a=>a.pricing?.prompt==="0"&&a.pricing?.completion==="0"&&a.context_length>=2e5).map(a=>({id:a.id,name:a.name,contextLength:a.context_length})).sort((a,b)=>b.contextLength-a.contextLength),"opencode-free":a=>a.filter(a=>(a.id?.endsWith("-free")||e.includes(a.id))&&!f.has(a.id)).map(a=>({id:a.id,name:a.id})),"airforce-free":a=>(Array.isArray(a)?a:[]).filter(a=>("free"===a.tier||a.id?.endsWith(":free"))&&!0===a.supports_chat&&(!a.media_type||"chat"===a.media_type||"text"===a.media_type)).map(a=>({id:a.id,name:a.name||a.id,contextLength:a.context_length})).sort((a,b)=>String(a.id).localeCompare(String(b.id)))};var h=c(80614);let i="force-dynamic";async function j(a){let{searchParams:b}=new URL(a.url),c=b.get("url"),e=b.get("type");if(!c||!e)return d.NextResponse.json({error:"Missing url or type"},{status:400});let f=g[e];if(!f)return d.NextResponse.json({error:"Unknown filter type"},{status:400});try{let a=await fetch(c);if(!a.ok)return d.NextResponse.json({data:[]});let b=await a.json(),g=b.data??b.models??b,i=f(Array.isArray(g)?g:[]);if("opencode-free"===e){let a=await (0,h.BS)();a&&(i=i.filter(b=>a.has(b.id)))}return d.NextResponse.json({data:i})}catch{return d.NextResponse.json({data:[]})}}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},78474:a=>{"use strict";a.exports=require("node:events")},79868:a=>{"use strict";a.exports=require("node:sqlite")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,6984,6070,8920,24,7843,614],()=>b(b.s=52634));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=8453,a.ids=[615,1998,7247,8453],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1150:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/providers/validate/route",pathname:"/api/providers/validate",filename:"route",bundlePath:"app/api/providers/validate/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/providers/validate/route.js",nextConfigOutput:"standalone",userland:()=>c(56961),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/validate/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14170:(a,b,c)=>{c.d(b,{h:()=>d,t:()=>e});let d={OPENAI:"openai",OPENAI_RESPONSES:"openai-responses",OPENAI_RESPONSE:"openai-response",CLAUDE:"claude",GEMINI:"gemini",GEMINI_CLI:"gemini-cli",VERTEX:"vertex",CODEX:"codex",ANTIGRAVITY:"antigravity",KIRO:"kiro",CURSOR:"cursor",OLLAMA:"ollama",COMMANDCODE:"commandcode"};function e(a,b){return a.includes("/v1/responses")?d.OPENAI_RESPONSES:a.includes("/v1/messages")?d.CLAUDE:a.includes("/v1/chat/completions")&&Array.isArray(b?.input)?d.OPENAI:null}},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},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]}},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},39006:a=>{a.exports={rE:"0.5.95"}},40610:a=>{a.exports=require("node:dns")},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,rs:()=>u});var d=c(56984);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.default.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.default.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=d.default.filter(a=>a.features?.usage).map(a=>a.id),y=d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},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()}},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},56961:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>n});var d=c(23211),e=c(71998),f=c(40615),g=c(57247),h=c(35024),i=c(97821),j=c(53225),k=c(57729);async function l(a,b){let c,d=f.AI_PROVIDERS[a];if(!d||!(d.serviceKinds||["llm"]).every(a=>"webSearch"===a||"webFetch"===a))return null;let e=d.searchConfig||d.fetchConfig;if(!e)return null;if("none"===e.authType)return!0;let g=e.validateUrl||e.baseUrl,h={"Content-Type":"application/json"};switch(e.authHeader){case"bearer":h.Authorization=`Bearer ${b}`;break;case"x-api-key":h["x-api-key"]=b;break;case"x-subscription-token":h["x-subscription-token"]=b;break;case"key":g+=`?key=${encodeURIComponent(b)}&q=ping&cx=test`;break;case"api_key":g+=`?api_key=${encodeURIComponent(b)}&q=ping&engine=google`}"POST"===e.method&&(c=JSON.stringify({query:"ping",q:"ping",url:"https://example.com"}));let i=await fetch(g,{method:e.method,headers:h,body:c,signal:AbortSignal.timeout(8e3)});return 401!==i.status&&403!==i.status}async function m(a,b){let c=f.AI_PROVIDERS[a];if(!c)return null;let d=new Set(["tts","embedding","stt","image","video","music","imageToText"]);if(!(c.serviceKinds||["llm"]).every(a=>d.has(a)))return null;let e=c.ttsConfig||c.sttConfig||c.embeddingConfig||c.imageConfig||c.videoConfig||c.musicConfig;if(!e||c.noAuth||"none"===e.authType||"playht"===e.authHeader||"aws-sigv4"===e.authHeader)return!0;let h={"Content-Type":"application/json",...e.extraHeaders||{}};switch(e.authHeader){case"bearer":h.Authorization=`Bearer ${b}`;break;case"key":h.Authorization=`Key ${b}`;break;case"x-api-key":h["x-api-key"]=b;break;case"x-key":h["x-key"]=b;break;case"xi-api-key":h["xi-api-key"]=b;break;case"token":h.Authorization=`Token ${b}`;break;case"basic":h.Authorization=`Basic ${b}`;break;default:return null}let i=e.method||"POST",j=await fetch(e.baseUrl,{method:i,headers:h,body:"GET"===i?void 0:JSON.stringify({input:"ping",text:"ping",prompt:"ping",model:(0,g.fZ)(a)||"test"}),signal:AbortSignal.timeout(8e3)});return 401!==j.status&&403!==j.status}async function n(a){try{let b=await a.json(),c=(0,k.ob)(b.provider),{apiKey:n,providerSpecificData:o}=b,p=f.AI_PROVIDERS[c]?.noAuth===!0;if(!c||!n&&"ollama-local"!==c&&!p)return d.NextResponse.json({error:"Provider and API key required"},{status:400});let q=!1,r=null;try{if((0,f.mq)(c)){let a=await (0,e.Qu)(c);if(!a)return d.NextResponse.json({error:"OpenAI Compatible node not found"},{status:404});let b=`${a.baseUrl?.replace(/\/$/,"")}/models`;return q=(await fetch(b,{headers:{Authorization:`Bearer ${n}`}})).ok,d.NextResponse.json({valid:q,error:q?null:"Invalid API key"})}if((0,f.gC)(c)){let a=await (0,e.Qu)(c);if(!a)return d.NextResponse.json({error:"Custom Embedding node not found"},{status:404});let b=a.baseUrl?.replace(/\/$/,""),f=await fetch(`${b}/models`,{headers:{Authorization:`Bearer ${n}`}});if(f.ok)return d.NextResponse.json({valid:!0});if(401===f.status||403===f.status)return d.NextResponse.json({valid:!1,error:"Invalid API key"});let g=await fetch(`${b}/embeddings`,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify({model:"test",input:"ping"})});return q=401!==g.status&&403!==g.status,d.NextResponse.json({valid:q,error:q?null:"Invalid API key"})}if((0,f.gb)(c)){let a=await (0,e.Qu)(c);if(!a)return d.NextResponse.json({error:"Anthropic Compatible node not found"},{status:404});let b=a.baseUrl?.trim().replace(/\/$/,"")||"";b.endsWith("/messages")&&(b=b.slice(0,-9));let f=`${b}/v1/messages`,g=a.defaultModel||"claude-3-haiku-20240307",h=await fetch(f,{method:"POST",headers:{"x-api-key":n,"anthropic-version":"2023-06-01","content-type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify({model:g,max_tokens:1,messages:[{role:"user",content:"test"}]})});return q=401!==h.status&&403!==h.status,d.NextResponse.json({valid:q,error:q?null:"Invalid API key"})}if("cloudflare-ai"===c){let{providerSpecificData:a}=b,c=a?.accountId;if(!c)return d.NextResponse.json({valid:!1,error:"Missing Account ID"});let e=`https://api.cloudflare.com/client/v4/accounts/${c}/ai/v1/chat/completions`,f=await fetch(e,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify({model:(0,g.fZ)("cloudflare-ai"),messages:[{role:"user",content:"test"}],max_tokens:1})});return q=401!==f.status&&403!==f.status&&404!==f.status,d.NextResponse.json({valid:q,error:q?null:"Invalid API token or Account ID"})}if("azure"===c){let{providerSpecificData:a}=b,c=(a?.azureEndpoint||"").replace(/\/$/,""),e=a?.deployment||"gpt-4",f=a?.apiVersion||"2024-10-01-preview",g=a?.organization,h=`${c}/openai/deployments/${e}/chat/completions?api-version=${f}`,i={"api-key":n,"Content-Type":"application/json"};g&&(i["OpenAI-Organization"]=g);let j=await fetch(h,{method:"POST",headers:i,body:JSON.stringify({messages:[{role:"user",content:"test"}],max_tokens:1})});return q=401!==j.status&&403!==j.status,d.NextResponse.json({valid:q,error:q?null:"Invalid API key or Azure configuration"})}let a=await l(c,n);if(null!==a)return d.NextResponse.json({valid:a,error:a?null:"Invalid API key"});let k=await m(c,n);if(null!==k)return d.NextResponse.json({valid:k,error:k?null:"Invalid API key"});switch(c){case"openai":q=(await fetch("https://api.openai.com/v1/models",{headers:{Authorization:`Bearer ${n}`}})).ok;break;case"vercel-ai-gateway":q=(await fetch("https://ai-gateway.vercel.sh/v1/models",{headers:{Authorization:`Bearer ${n}`}})).ok;break;case"anthropic":let p=await fetch("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"x-api-key":n,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"claude-3-haiku-20240307",max_tokens:1,messages:[{role:"user",content:"test"}]})});q=401!==p.status;break;case"gemini":q=(await fetch(`https://generativelanguage.googleapis.com/v1/models?key=${n}`)).ok;break;case"openrouter":q=(await fetch("https://openrouter.ai/api/v1/models",{headers:{Authorization:`Bearer ${n}`}})).ok;break;case"glm":case"glm-cn":case"kimi":case"minimax":case"minimax-cn":case"alicode-intl":case"alims-intl":case"alicode":case"agentrouter":{let a=h.xq[c];if("glm-cn"===c||"alicode"===c||"alicode-intl"===c||"alims-intl"===c){let b=(0,g.fZ)(c),d=await fetch(a.baseUrl,{method:"POST",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({model:b,max_tokens:1,messages:[{role:"user",content:"test"}]})});q=401!==d.status&&403!==d.status}else{let b=(0,g.fZ)(c)||"claude-sonnet-4-20250514",d=await fetch(a.baseUrl,{method:"POST",headers:{"x-api-key":n,"anthropic-version":"2023-06-01","content-type":"application/json",...a.headers||{}},body:JSON.stringify({model:b,max_tokens:1,messages:[{role:"user",content:"test"}]})});q=401!==d.status&&403!==d.status}break}case"volcengine-ark":case"byteplus":{let a=await fetch(h.xq[c]?.baseUrl,{method:"POST",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({model:(0,g.fZ)(c),max_tokens:1,messages:[{role:"user",content:"test"}]})});q=401!==a.status&&403!==a.status;break}case"deepseek":case"groq":case"xai":case"mistral":case"perplexity":case"together":case"fireworks":case"cerebras":case"cohere":case"nebius":case"siliconflow":case"hyperbolic":case"ollama":case"ollama-local":case"assemblyai":case"nanobanana":case"chutes":case"xiaomi-mimo":case"xiaomi-tokenplan":case"nvidia":{let a={...Object.fromEntries(Object.entries(h.xq).filter(([,a])=>a.validateUrl).map(([a,b])=>[a,b.validateUrl])),"ollama-local":`${(0,h.Ak)({providerSpecificData:o})}/api/tags`,"xiaomi-tokenplan":`${(0,h.Yg)({providerSpecificData:o})}/models`},b={};n&&(b.Authorization=`Bearer ${n}`);let d=await fetch(a[c],{headers:b,signal:AbortSignal.timeout(8e3)});q="xai"===c?200===d.status||403===d.status:"xiaomi-tokenplan"===c?401!==d.status:d.ok;break}case"opencode-go":{let a=await fetch("https://opencode.ai/zen/go/v1/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify({model:(0,g.fZ)("opencode-go"),messages:[{role:"user",content:"ping"}],max_tokens:1,stream:!1})});q=401!==a.status&&403!==a.status;break}case"commandcode":{let a=h.xq.commandcode,b=(0,g.fZ)("commandcode"),c=(0,i.l)(b,{messages:[{role:"user",content:"ping"}],max_tokens:1,stream:!1},!1),d=await fetch(a.baseUrl,{method:"POST",headers:{"Content-Type":"application/json",...a.headers||{},"x-session-id":crypto.randomUUID(),Authorization:`Bearer ${n}`},body:JSON.stringify(c)});q=401!==d.status&&403!==d.status;break}case"deepgram":q=(await fetch("https://api.deepgram.com/v1/projects",{headers:{Authorization:`Token ${n}`}})).ok;break;case"blackbox":{let a=await fetch("https://api.blackbox.ai/chat/completions",{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify({model:"gpt-4o",messages:[{role:"user",content:"test"}],max_tokens:10})});q=200===a.status||400===a.status;break}case"vertex":{let a=(()=>{try{let a=JSON.parse(n);return"service_account"===a.type?a:null}catch{return null}})();if(a)q=!!(a.client_email&&a.private_key&&a.project_id);else{let a=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});q=401!==a.status&&403!==a.status}break}case"vertex-partner":{let a=(()=>{try{let a=JSON.parse(n);return"service_account"===a.type?a:null}catch{return null}})();if(a)q=!!(a.client_email&&a.private_key&&a.project_id);else{let a=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});q=401!==a.status&&403!==a.status}break}case"grok-web":{let a=n.startsWith("sso=")?n.slice(4):n,b=a=>{let b=new Uint8Array(a);return crypto.getRandomValues(b),Array.from(b,a=>a.toString(16).padStart(2,"0")).join("")},c=Buffer.from("e:TypeError: Cannot read properties of null (reading 'children')").toString("base64"),d=b(16),e=b(8),f=await fetch("https://grok.com/rest/app-chat/conversations/new",{method:"POST",headers:{Accept:"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9","Cache-Control":"no-cache","Content-Type":"application/json",Cookie:`sso=${a}`,Origin:"https://grok.com",Pragma:"no-cache",Referer:"https://grok.com/","Sec-Ch-Ua":'"Google Chrome";v="136", "Chromium";v="136", "Not(A:Brand";v="24"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',"Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","x-statsig-id":c,"x-xai-request-id":crypto.randomUUID(),traceparent:`00-${d}-${e}-00`},body:JSON.stringify({temporary:!0,modelName:"grok-4",modelMode:"MODEL_MODE_GROK_4",message:"ping",fileAttachments:[],imageAttachments:[],disableSearch:!1,enableImageGeneration:!1,returnImageBytes:!1,returnRawGrokInXaiRequest:!1,enableImageStreaming:!1,imageGenerationCount:0,forceConcise:!1,toolOverrides:{},enableSideBySide:!0,sendFinalMetadata:!0,isReasoning:!1,disableTextFollowUps:!0,disableMemory:!0,forceSideBySide:!1,isAsyncChat:!1,disableSelfHarmShortCircuit:!1})});401===f.status||403===f.status?(q=!1,r="Invalid SSO cookie — re-paste from grok.com DevTools → Cookies → sso"):q=!0;break}case"perplexity-web":{let a=n;a.startsWith("__Secure-next-auth.session-token=")&&(a=a.slice(33));let b="u">typeof Intl?Intl.DateTimeFormat().resolvedOptions().timeZone:"UTC",c=await fetch("https://www.perplexity.ai/rest/sse/perplexity_ask",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream",Origin:"https://www.perplexity.ai",Referer:"https://www.perplexity.ai/","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","X-App-ApiClient":"default","X-App-ApiVersion":"2.18",Cookie:`__Secure-next-auth.session-token=${a}`},body:JSON.stringify({query_str:"ping",params:{query_str:"ping",search_focus:"internet",mode:"concise",model_preference:"pplx_pro",sources:["web"],attachments:[],frontend_uuid:crypto.randomUUID(),frontend_context_uuid:crypto.randomUUID(),version:"2.18",language:"en-US",timezone:b,search_recency_filter:null,is_incognito:!0,use_schematized_api:!0,last_backend_uuid:null}})});401===c.status||403===c.status?(q=!1,r="Invalid session cookie — re-paste __Secure-next-auth.session-token from perplexity.ai"):q=!0;break}case"qoder":case"qoder-cn":try{let a=await (0,j._M)({provider:c,apiKey:n,providerSpecificData:o},null,AbortSignal.timeout(8e3)),b=await (0,j.EV)(a,{forceRefresh:!0});q=!!b?.models?.length}catch(a){q=!1,r=a.message}break;default:{let a=h.xq[c];if(!a||"openai"!==a.format||!a.baseUrl)return d.NextResponse.json({error:"Provider validation not supported"},{status:400});if(a.noAuth){q=!0;break}let b={"Content-Type":"application/json",...a.headers||{}};"x-api-key"===a.authHeader?b["X-API-Key"]=n:b.Authorization=`Bearer ${n}`;let e=a.baseUrl.replace(/\/chat\/completions$/,"/models").replace(/\/chatbot$/,"/models"),f=null;try{let a=await fetch(e,{headers:b,signal:AbortSignal.timeout(8e3)});401===a.status||403===a.status?f=!1:a.ok&&(f=!0)}catch{}if(null!==f){q=f;break}let i=(0,g.fZ)(c)||"test",j=await fetch(a.baseUrl,{method:"POST",headers:b,body:JSON.stringify({model:i,messages:[{role:"user",content:"ping"}],max_tokens:1}),signal:AbortSignal.timeout(1e4)});q=401!==j.status&&403!==j.status}}}catch(a){r=a.message,q=!1}return d.NextResponse.json({valid:q,error:q?null:r||"Invalid API key"})}catch(a){return console.log("Error validating API key:",a),d.NextResponse.json({error:"Validation failed"},{status:500})}}},57075:a=>{a.exports=require("node:stream")},57247:(a,b,c)=>{c.d(b,{KC:()=>t,OA:()=>p,PROVIDER_MODELS:()=>f.vq,SM:()=>j,Xg:()=>s,cY:()=>u,ez:()=>o,fZ:()=>k,kt:()=>q,ux:()=>n});var d=c(35024),e=c(56984),f=c(26070),g=c(99511),h=c(59096),i=c(14170);function j(a){return f.vq[a]||[]}function k(a){let b=f.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 f=(0,g.Kq)(d);if(f!==d)return a.find(a=>a.id===f)}function n(a,b){if((!a||"oc"===a||"opencode"===a||"ocg"===a||"opencode-go"===a||"ocz"===a||"opencode-zen"===a)&&(0,h.nh)(b))return i.h.OPENAI_RESPONSES;let c=f.vq[a];return c?(0,g.gr)(m(c,b,a)):null}function o(a,b){let c=f.vq[a];return c?(0,g.ec)(m(c,b,a)):null}function p(a,b){let c=f.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]:"",e=d?b.slice(0,c.index).trim():b,g=m(f.vq[a],e,a),i=g?.upstreamModelId||g?.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 e&&e.endsWith(h.d5)?e.slice(0,-h.d5.length)+d:e+d}let r=Object.fromEntries(e.default.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),s=Object.fromEntries(Object.keys(d.xq).map(a=>[a,r[a]||a]));function t(a){let b=s[a]||a;return f.vq[b]||[]}function u(a,b){return(0,g.g5)(m(f.vq[a],b,a))}},57729:(a,b,c)=>{c.d(b,{F8:()=>f,ob:()=>e});var d=c(40615);function e(a){if("string"!=typeof a)return a;let b=a.trim();if(d.AI_PROVIDERS[b])return b;let c=b.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"");if(d.AI_PROVIDERS[c])return c;let e=Object.values(d.AI_PROVIDERS).find(a=>a.name?.toLowerCase()===b.toLowerCase());return e?.id||b}function f(a,b={},c=null){let d=c&&"object"==typeof c?{...c}:{};if("ollama-local"===a){let a=(d.baseUrl||b.baseUrl||b.baseURL||b.ollamaHostUrl||"").trim();a&&(d.baseUrl=a)}return Object.keys(d).length>0?d:null}},57975:a=>{a.exports=require("node:util")},59096:(a,b,c)=>{c.d(b,{d5:()=>d,nh:()=>e});let d="-review";function e(a){if(!a||"string"!=typeof a)return!1;let b=a.replace(/\([^()]+\)\s*$/,"").trim(),c=b.includes("/")?b.split("/").pop():b;return/^muse[-_]?spark(?:$|[-_:.\s])/i.test(c)}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},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,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.getProviderConnections,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.updateProviderConnection,uv:()=>d.uv});var d=c(89718)},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},79868:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},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)}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,7774,4884,6984,6070,8920,24,436,3943,3225,6922,7843,6022,8499],()=>b(b.s=1150));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=8453,a.ids=[615,1998,7247,8453],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1150:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/providers/validate/route",pathname:"/api/providers/validate",filename:"route",bundlePath:"app/api/providers/validate/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/providers/validate/route.js",nextConfigOutput:"standalone",userland:()=>c(56961),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/validate/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14170:(a,b,c)=>{c.d(b,{h:()=>d,t:()=>e});let d={OPENAI:"openai",OPENAI_RESPONSES:"openai-responses",OPENAI_RESPONSE:"openai-response",CLAUDE:"claude",GEMINI:"gemini",GEMINI_CLI:"gemini-cli",VERTEX:"vertex",CODEX:"codex",ANTIGRAVITY:"antigravity",KIRO:"kiro",CURSOR:"cursor",OLLAMA:"ollama",COMMANDCODE:"commandcode"};function e(a,b){return a.includes("/v1/responses")?d.OPENAI_RESPONSES:a.includes("/v1/messages")?d.CLAUDE:a.includes("/v1/chat/completions")&&Array.isArray(b?.input)?d.OPENAI:null}},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},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]}},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},39006:a=>{a.exports={rE:"0.5.97"}},40610:a=>{a.exports=require("node:dns")},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,rs:()=>u});var d=c(56984);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.default.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.default.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=d.default.filter(a=>a.features?.usage).map(a=>a.id),y=d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},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()}},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},56961:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>n});var d=c(23211),e=c(71998),f=c(40615),g=c(57247),h=c(35024),i=c(97821),j=c(53225),k=c(57729);async function l(a,b){let c,d=f.AI_PROVIDERS[a];if(!d||!(d.serviceKinds||["llm"]).every(a=>"webSearch"===a||"webFetch"===a))return null;let e=d.searchConfig||d.fetchConfig;if(!e)return null;if("none"===e.authType)return!0;let g=e.validateUrl||e.baseUrl,h={"Content-Type":"application/json"};switch(e.authHeader){case"bearer":h.Authorization=`Bearer ${b}`;break;case"x-api-key":h["x-api-key"]=b;break;case"x-subscription-token":h["x-subscription-token"]=b;break;case"key":g+=`?key=${encodeURIComponent(b)}&q=ping&cx=test`;break;case"api_key":g+=`?api_key=${encodeURIComponent(b)}&q=ping&engine=google`}"POST"===e.method&&(c=JSON.stringify({query:"ping",q:"ping",url:"https://example.com"}));let i=await fetch(g,{method:e.method,headers:h,body:c,signal:AbortSignal.timeout(8e3)});return 401!==i.status&&403!==i.status}async function m(a,b){let c=f.AI_PROVIDERS[a];if(!c)return null;let d=new Set(["tts","embedding","stt","image","video","music","imageToText"]);if(!(c.serviceKinds||["llm"]).every(a=>d.has(a)))return null;let e=c.ttsConfig||c.sttConfig||c.embeddingConfig||c.imageConfig||c.videoConfig||c.musicConfig;if(!e||c.noAuth||"none"===e.authType||"playht"===e.authHeader||"aws-sigv4"===e.authHeader)return!0;let h={"Content-Type":"application/json",...e.extraHeaders||{}};switch(e.authHeader){case"bearer":h.Authorization=`Bearer ${b}`;break;case"key":h.Authorization=`Key ${b}`;break;case"x-api-key":h["x-api-key"]=b;break;case"x-key":h["x-key"]=b;break;case"xi-api-key":h["xi-api-key"]=b;break;case"token":h.Authorization=`Token ${b}`;break;case"basic":h.Authorization=`Basic ${b}`;break;default:return null}let i=e.method||"POST",j=await fetch(e.baseUrl,{method:i,headers:h,body:"GET"===i?void 0:JSON.stringify({input:"ping",text:"ping",prompt:"ping",model:(0,g.fZ)(a)||"test"}),signal:AbortSignal.timeout(8e3)});return 401!==j.status&&403!==j.status}async function n(a){try{let b=await a.json(),c=(0,k.ob)(b.provider),{apiKey:n,providerSpecificData:o}=b,p=f.AI_PROVIDERS[c]?.noAuth===!0;if(!c||!n&&"ollama-local"!==c&&!p)return d.NextResponse.json({error:"Provider and API key required"},{status:400});let q=!1,r=null;try{if((0,f.mq)(c)){let a=await (0,e.Qu)(c);if(!a)return d.NextResponse.json({error:"OpenAI Compatible node not found"},{status:404});let b=`${a.baseUrl?.replace(/\/$/,"")}/models`;return q=(await fetch(b,{headers:{Authorization:`Bearer ${n}`}})).ok,d.NextResponse.json({valid:q,error:q?null:"Invalid API key"})}if((0,f.gC)(c)){let a=await (0,e.Qu)(c);if(!a)return d.NextResponse.json({error:"Custom Embedding node not found"},{status:404});let b=a.baseUrl?.replace(/\/$/,""),f=await fetch(`${b}/models`,{headers:{Authorization:`Bearer ${n}`}});if(f.ok)return d.NextResponse.json({valid:!0});if(401===f.status||403===f.status)return d.NextResponse.json({valid:!1,error:"Invalid API key"});let g=await fetch(`${b}/embeddings`,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify({model:"test",input:"ping"})});return q=401!==g.status&&403!==g.status,d.NextResponse.json({valid:q,error:q?null:"Invalid API key"})}if((0,f.gb)(c)){let a=await (0,e.Qu)(c);if(!a)return d.NextResponse.json({error:"Anthropic Compatible node not found"},{status:404});let b=a.baseUrl?.trim().replace(/\/$/,"")||"";b.endsWith("/messages")&&(b=b.slice(0,-9));let f=`${b}/v1/messages`,g=a.defaultModel||"claude-3-haiku-20240307",h=await fetch(f,{method:"POST",headers:{"x-api-key":n,"anthropic-version":"2023-06-01","content-type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify({model:g,max_tokens:1,messages:[{role:"user",content:"test"}]})});return q=401!==h.status&&403!==h.status,d.NextResponse.json({valid:q,error:q?null:"Invalid API key"})}if("cloudflare-ai"===c){let{providerSpecificData:a}=b,c=a?.accountId;if(!c)return d.NextResponse.json({valid:!1,error:"Missing Account ID"});let e=`https://api.cloudflare.com/client/v4/accounts/${c}/ai/v1/chat/completions`,f=await fetch(e,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify({model:(0,g.fZ)("cloudflare-ai"),messages:[{role:"user",content:"test"}],max_tokens:1})});return q=401!==f.status&&403!==f.status&&404!==f.status,d.NextResponse.json({valid:q,error:q?null:"Invalid API token or Account ID"})}if("azure"===c){let{providerSpecificData:a}=b,c=(a?.azureEndpoint||"").replace(/\/$/,""),e=a?.deployment||"gpt-4",f=a?.apiVersion||"2024-10-01-preview",g=a?.organization,h=`${c}/openai/deployments/${e}/chat/completions?api-version=${f}`,i={"api-key":n,"Content-Type":"application/json"};g&&(i["OpenAI-Organization"]=g);let j=await fetch(h,{method:"POST",headers:i,body:JSON.stringify({messages:[{role:"user",content:"test"}],max_tokens:1})});return q=401!==j.status&&403!==j.status,d.NextResponse.json({valid:q,error:q?null:"Invalid API key or Azure configuration"})}let a=await l(c,n);if(null!==a)return d.NextResponse.json({valid:a,error:a?null:"Invalid API key"});let k=await m(c,n);if(null!==k)return d.NextResponse.json({valid:k,error:k?null:"Invalid API key"});switch(c){case"openai":q=(await fetch("https://api.openai.com/v1/models",{headers:{Authorization:`Bearer ${n}`}})).ok;break;case"vercel-ai-gateway":q=(await fetch("https://ai-gateway.vercel.sh/v1/models",{headers:{Authorization:`Bearer ${n}`}})).ok;break;case"anthropic":let p=await fetch("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"x-api-key":n,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"claude-3-haiku-20240307",max_tokens:1,messages:[{role:"user",content:"test"}]})});q=401!==p.status;break;case"gemini":q=(await fetch(`https://generativelanguage.googleapis.com/v1/models?key=${n}`)).ok;break;case"openrouter":q=(await fetch("https://openrouter.ai/api/v1/models",{headers:{Authorization:`Bearer ${n}`}})).ok;break;case"glm":case"glm-cn":case"kimi":case"minimax":case"minimax-cn":case"alicode-intl":case"alims-intl":case"alicode":case"agentrouter":{let a=h.xq[c];if("glm-cn"===c||"alicode"===c||"alicode-intl"===c||"alims-intl"===c){let b=(0,g.fZ)(c),d=await fetch(a.baseUrl,{method:"POST",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({model:b,max_tokens:1,messages:[{role:"user",content:"test"}]})});q=401!==d.status&&403!==d.status}else{let b=(0,g.fZ)(c)||"claude-sonnet-4-20250514",d=await fetch(a.baseUrl,{method:"POST",headers:{"x-api-key":n,"anthropic-version":"2023-06-01","content-type":"application/json",...a.headers||{}},body:JSON.stringify({model:b,max_tokens:1,messages:[{role:"user",content:"test"}]})});q=401!==d.status&&403!==d.status}break}case"volcengine-ark":case"byteplus":{let a=await fetch(h.xq[c]?.baseUrl,{method:"POST",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({model:(0,g.fZ)(c),max_tokens:1,messages:[{role:"user",content:"test"}]})});q=401!==a.status&&403!==a.status;break}case"deepseek":case"groq":case"xai":case"mistral":case"perplexity":case"together":case"fireworks":case"cerebras":case"cohere":case"nebius":case"siliconflow":case"hyperbolic":case"ollama":case"ollama-local":case"assemblyai":case"nanobanana":case"chutes":case"xiaomi-mimo":case"xiaomi-tokenplan":case"nvidia":{let a={...Object.fromEntries(Object.entries(h.xq).filter(([,a])=>a.validateUrl).map(([a,b])=>[a,b.validateUrl])),"ollama-local":`${(0,h.Ak)({providerSpecificData:o})}/api/tags`,"xiaomi-tokenplan":`${(0,h.Yg)({providerSpecificData:o})}/models`},b={};n&&(b.Authorization=`Bearer ${n}`);let d=await fetch(a[c],{headers:b,signal:AbortSignal.timeout(8e3)});q="xai"===c?200===d.status||403===d.status:"xiaomi-tokenplan"===c?401!==d.status:d.ok;break}case"opencode-go":{let a=await fetch("https://opencode.ai/zen/go/v1/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify({model:(0,g.fZ)("opencode-go"),messages:[{role:"user",content:"ping"}],max_tokens:1,stream:!1})});q=401!==a.status&&403!==a.status;break}case"commandcode":{let a=h.xq.commandcode,b=(0,g.fZ)("commandcode"),c=(0,i.l)(b,{messages:[{role:"user",content:"ping"}],max_tokens:1,stream:!1},!1),d=await fetch(a.baseUrl,{method:"POST",headers:{"Content-Type":"application/json",...a.headers||{},"x-session-id":crypto.randomUUID(),Authorization:`Bearer ${n}`},body:JSON.stringify(c)});q=401!==d.status&&403!==d.status;break}case"deepgram":q=(await fetch("https://api.deepgram.com/v1/projects",{headers:{Authorization:`Token ${n}`}})).ok;break;case"blackbox":{let a=await fetch("https://api.blackbox.ai/chat/completions",{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify({model:"gpt-4o",messages:[{role:"user",content:"test"}],max_tokens:10})});q=200===a.status||400===a.status;break}case"vertex":{let a=(()=>{try{let a=JSON.parse(n);return"service_account"===a.type?a:null}catch{return null}})();if(a)q=!!(a.client_email&&a.private_key&&a.project_id);else{let a=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});q=401!==a.status&&403!==a.status}break}case"vertex-partner":{let a=(()=>{try{let a=JSON.parse(n);return"service_account"===a.type?a:null}catch{return null}})();if(a)q=!!(a.client_email&&a.private_key&&a.project_id);else{let a=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});q=401!==a.status&&403!==a.status}break}case"grok-web":{let a=n.startsWith("sso=")?n.slice(4):n,b=a=>{let b=new Uint8Array(a);return crypto.getRandomValues(b),Array.from(b,a=>a.toString(16).padStart(2,"0")).join("")},c=Buffer.from("e:TypeError: Cannot read properties of null (reading 'children')").toString("base64"),d=b(16),e=b(8),f=await fetch("https://grok.com/rest/app-chat/conversations/new",{method:"POST",headers:{Accept:"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9","Cache-Control":"no-cache","Content-Type":"application/json",Cookie:`sso=${a}`,Origin:"https://grok.com",Pragma:"no-cache",Referer:"https://grok.com/","Sec-Ch-Ua":'"Google Chrome";v="136", "Chromium";v="136", "Not(A:Brand";v="24"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',"Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","x-statsig-id":c,"x-xai-request-id":crypto.randomUUID(),traceparent:`00-${d}-${e}-00`},body:JSON.stringify({temporary:!0,modelName:"grok-4",modelMode:"MODEL_MODE_GROK_4",message:"ping",fileAttachments:[],imageAttachments:[],disableSearch:!1,enableImageGeneration:!1,returnImageBytes:!1,returnRawGrokInXaiRequest:!1,enableImageStreaming:!1,imageGenerationCount:0,forceConcise:!1,toolOverrides:{},enableSideBySide:!0,sendFinalMetadata:!0,isReasoning:!1,disableTextFollowUps:!0,disableMemory:!0,forceSideBySide:!1,isAsyncChat:!1,disableSelfHarmShortCircuit:!1})});401===f.status||403===f.status?(q=!1,r="Invalid SSO cookie — re-paste from grok.com DevTools → Cookies → sso"):q=!0;break}case"perplexity-web":{let a=n;a.startsWith("__Secure-next-auth.session-token=")&&(a=a.slice(33));let b="u">typeof Intl?Intl.DateTimeFormat().resolvedOptions().timeZone:"UTC",c=await fetch("https://www.perplexity.ai/rest/sse/perplexity_ask",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream",Origin:"https://www.perplexity.ai",Referer:"https://www.perplexity.ai/","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","X-App-ApiClient":"default","X-App-ApiVersion":"2.18",Cookie:`__Secure-next-auth.session-token=${a}`},body:JSON.stringify({query_str:"ping",params:{query_str:"ping",search_focus:"internet",mode:"concise",model_preference:"pplx_pro",sources:["web"],attachments:[],frontend_uuid:crypto.randomUUID(),frontend_context_uuid:crypto.randomUUID(),version:"2.18",language:"en-US",timezone:b,search_recency_filter:null,is_incognito:!0,use_schematized_api:!0,last_backend_uuid:null}})});401===c.status||403===c.status?(q=!1,r="Invalid session cookie — re-paste __Secure-next-auth.session-token from perplexity.ai"):q=!0;break}case"qoder":case"qoder-cn":try{let a=await (0,j._M)({provider:c,apiKey:n,providerSpecificData:o},null,AbortSignal.timeout(8e3)),b=await (0,j.EV)(a,{forceRefresh:!0});q=!!b?.models?.length}catch(a){q=!1,r=a.message}break;default:{let a=h.xq[c];if(!a||"openai"!==a.format||!a.baseUrl)return d.NextResponse.json({error:"Provider validation not supported"},{status:400});if(a.noAuth){q=!0;break}let b={"Content-Type":"application/json",...a.headers||{}};"x-api-key"===a.authHeader?b["X-API-Key"]=n:b.Authorization=`Bearer ${n}`;let e=a.baseUrl.replace(/\/chat\/completions$/,"/models").replace(/\/chatbot$/,"/models"),f=null;try{let a=await fetch(e,{headers:b,signal:AbortSignal.timeout(8e3)});401===a.status||403===a.status?f=!1:a.ok&&(f=!0)}catch{}if(null!==f){q=f;break}let i=(0,g.fZ)(c)||"test",j=await fetch(a.baseUrl,{method:"POST",headers:b,body:JSON.stringify({model:i,messages:[{role:"user",content:"ping"}],max_tokens:1}),signal:AbortSignal.timeout(1e4)});q=401!==j.status&&403!==j.status}}}catch(a){r=a.message,q=!1}return d.NextResponse.json({valid:q,error:q?null:r||"Invalid API key"})}catch(a){return console.log("Error validating API key:",a),d.NextResponse.json({error:"Validation failed"},{status:500})}}},57075:a=>{a.exports=require("node:stream")},57247:(a,b,c)=>{c.d(b,{KC:()=>t,OA:()=>p,PROVIDER_MODELS:()=>f.vq,SM:()=>j,Xg:()=>s,cY:()=>u,ez:()=>o,fZ:()=>k,kt:()=>q,ux:()=>n});var d=c(35024),e=c(56984),f=c(26070),g=c(99511),h=c(59096),i=c(14170);function j(a){return f.vq[a]||[]}function k(a){let b=f.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 f=(0,g.Kq)(d);if(f!==d)return a.find(a=>a.id===f)}function n(a,b){if((!a||"oc"===a||"opencode"===a||"ocg"===a||"opencode-go"===a||"ocz"===a||"opencode-zen"===a)&&(0,h.nh)(b))return i.h.OPENAI_RESPONSES;let c=f.vq[a];return c?(0,g.gr)(m(c,b,a)):null}function o(a,b){let c=f.vq[a];return c?(0,g.ec)(m(c,b,a)):null}function p(a,b){let c=f.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]:"",e=d?b.slice(0,c.index).trim():b,g=m(f.vq[a],e,a),i=g?.upstreamModelId||g?.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 e&&e.endsWith(h.d5)?e.slice(0,-h.d5.length)+d:e+d}let r=Object.fromEntries(e.default.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),s=Object.fromEntries(Object.keys(d.xq).map(a=>[a,r[a]||a]));function t(a){let b=s[a]||a;return f.vq[b]||[]}function u(a,b){return(0,g.g5)(m(f.vq[a],b,a))}},57729:(a,b,c)=>{c.d(b,{F8:()=>f,ob:()=>e});var d=c(40615);function e(a){if("string"!=typeof a)return a;let b=a.trim();if(d.AI_PROVIDERS[b])return b;let c=b.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"");if(d.AI_PROVIDERS[c])return c;let e=Object.values(d.AI_PROVIDERS).find(a=>a.name?.toLowerCase()===b.toLowerCase());return e?.id||b}function f(a,b={},c=null){let d=c&&"object"==typeof c?{...c}:{};if("ollama-local"===a){let a=(d.baseUrl||b.baseUrl||b.baseURL||b.ollamaHostUrl||"").trim();a&&(d.baseUrl=a)}return Object.keys(d).length>0?d:null}},57975:a=>{a.exports=require("node:util")},59096:(a,b,c)=>{c.d(b,{d5:()=>d,nh:()=>e});let d="-review";function e(a){if(!a||"string"!=typeof a)return!1;let b=a.replace(/\([^()]+\)\s*$/,"").trim(),c=b.includes("/")?b.split("/").pop():b;return/^muse[-_]?spark(?:$|[-_:.\s])/i.test(c)}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},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,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.getProviderConnections,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.updateProviderConnection,uv:()=>d.uv});var d=c(89718)},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},79868:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},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)}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,7774,4884,6984,6070,8920,24,436,3943,3225,6922,7843,6022,8499],()=>b(b.s=1150));module.exports=c})();