9router-proxy 0.6.26 → 0.6.27

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 (493) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +9 -9
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +26 -26
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  56. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  57. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  58. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  59. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  60. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  63. package/app/.next-cli-build/server/app/_not-found.rsc +31 -30
  64. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +31 -30
  65. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +37 -36
  66. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  67. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  79. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  81. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  84. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  85. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  86. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +1 -1
  88. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  90. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  91. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  92. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  94. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  96. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  98. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +2 -2
  100. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  102. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -2
  104. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
  110. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -3
  115. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  117. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +3 -3
  119. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  121. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/oauth/miaoshou/auto-import/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/oauth/miaoshou/import/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/providers/web-login/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  241. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  265. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  275. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  277. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  301. package/app/.next-cli-build/server/app/callback.html +1 -1
  302. package/app/.next-cli-build/server/app/callback.rsc +36 -35
  303. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +36 -35
  304. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  305. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +42 -41
  306. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  307. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +36 -35
  308. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +44 -43
  309. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +36 -35
  310. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  311. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  312. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +39 -38
  313. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +46 -45
  314. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +39 -38
  315. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  316. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  317. package/app/.next-cli-build/server/app/dashboard/combos.rsc +40 -39
  318. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +48 -47
  319. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +40 -39
  320. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  321. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  322. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +38 -37
  323. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +45 -44
  324. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +38 -37
  325. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  326. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  327. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +40 -39
  328. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +49 -48
  329. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +40 -39
  330. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  331. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  332. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +38 -37
  333. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +46 -45
  334. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +38 -37
  335. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  336. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  337. package/app/.next-cli-build/server/app/dashboard/profile.rsc +39 -38
  338. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +47 -46
  339. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +39 -38
  340. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  341. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  342. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +40 -39
  343. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +49 -48
  344. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +40 -39
  345. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  346. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  347. package/app/.next-cli-build/server/app/dashboard/providers.rsc +39 -38
  348. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +47 -46
  349. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +39 -38
  350. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  351. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  352. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +39 -38
  353. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +47 -46
  354. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +39 -38
  355. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  356. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  357. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +39 -38
  358. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +47 -46
  359. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +39 -38
  360. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  361. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  362. package/app/.next-cli-build/server/app/dashboard/quota.rsc +37 -36
  363. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +45 -44
  364. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +37 -36
  365. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  366. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  368. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  369. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +38 -37
  370. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +38 -37
  371. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  372. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +46 -45
  373. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  374. package/app/.next-cli-build/server/app/dashboard/skills.rsc +39 -38
  375. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +47 -46
  376. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +39 -38
  377. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  378. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  379. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +36 -35
  380. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +44 -43
  381. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +36 -35
  382. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  383. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  384. package/app/.next-cli-build/server/app/dashboard/translator.rsc +39 -38
  385. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +47 -46
  386. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +39 -38
  387. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  388. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  389. package/app/.next-cli-build/server/app/dashboard/usage.rsc +40 -39
  390. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +48 -47
  391. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +40 -39
  392. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  393. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  394. package/app/.next-cli-build/server/app/dashboard.rsc +37 -36
  395. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +43 -42
  396. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +37 -36
  397. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  398. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/index.html +1 -1
  400. package/app/.next-cli-build/server/app/index.rsc +29 -28
  401. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +34 -33
  402. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +29 -28
  403. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  404. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  405. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  406. package/app/.next-cli-build/server/app/landing.html +1 -1
  407. package/app/.next-cli-build/server/app/landing.rsc +37 -36
  408. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +37 -36
  409. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  410. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +43 -42
  411. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  413. package/app/.next-cli-build/server/app/login.html +1 -1
  414. package/app/.next-cli-build/server/app/login.rsc +36 -35
  415. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +36 -35
  416. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  417. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +42 -41
  418. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  419. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  421. package/app/.next-cli-build/server/app-paths-manifest.json +9 -9
  422. package/app/.next-cli-build/server/chunks/1350.js +1 -1
  423. package/app/.next-cli-build/server/chunks/1757.js +1 -1
  424. package/app/.next-cli-build/server/chunks/2220.js +1 -1
  425. package/app/.next-cli-build/server/chunks/2224.js +1 -0
  426. package/app/.next-cli-build/server/chunks/24.js +1 -1
  427. package/app/.next-cli-build/server/chunks/3459.js +1 -1
  428. package/app/.next-cli-build/server/chunks/3726.js +1 -1
  429. package/app/.next-cli-build/server/chunks/3835.js +1 -1
  430. package/app/.next-cli-build/server/chunks/3943.js +1 -1
  431. package/app/.next-cli-build/server/chunks/412.js +1 -1
  432. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  433. package/app/.next-cli-build/server/chunks/4478.js +1 -1
  434. package/app/.next-cli-build/server/chunks/5026.js +1 -1
  435. package/app/.next-cli-build/server/chunks/5330.js +1 -1
  436. package/app/.next-cli-build/server/chunks/5615.js +2 -2
  437. package/app/.next-cli-build/server/chunks/702.js +2 -0
  438. package/app/.next-cli-build/server/chunks/7220.js +1 -1
  439. package/app/.next-cli-build/server/chunks/7716.js +1 -1
  440. package/app/.next-cli-build/server/chunks/794.js +1 -1
  441. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  442. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  443. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  444. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  445. package/app/.next-cli-build/server/pages/404.html +1 -1
  446. package/app/.next-cli-build/server/pages/500.html +1 -1
  447. package/app/.next-cli-build/server/preview-props.json +3 -3
  448. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  449. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  450. package/app/.next-cli-build/static/chunks/1321-6b5146ba33211449.js +1 -0
  451. package/app/.next-cli-build/static/chunks/1592-7a1b8f3c2180b75e.js +1 -0
  452. package/app/.next-cli-build/static/chunks/1610-3f2a428594c9c558.js +1 -0
  453. package/app/.next-cli-build/static/chunks/2599-e954754c18e14dc4.js +11 -0
  454. package/app/.next-cli-build/static/chunks/{5497-e3d2edeccfd5021d.js → 5497-5edd305639e92d2a.js} +2 -2
  455. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-ea4bef63948f4a79.js → page-07860701d1f36356.js} +1 -1
  456. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-72ec90d965d57554.js → page-ae984b5ad00b815e.js} +1 -1
  457. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-218501982818a903.js → page-e11d3606ae59138e.js} +1 -1
  458. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-9f1dd6ca7ceeabb7.js → page-41c527db65ecc456.js} +1 -1
  459. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-66757e17ed9f3b23.js → page-7462d58828409915.js} +1 -1
  460. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-3e8642754ac07e6c.js +1 -0
  461. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-78497e3fc309a66b.js → page-a2d8782942f79c7a.js} +1 -1
  462. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-cb24c102a5535c19.js → page-bccd29d8fdb1420b.js} +1 -1
  463. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-bdffd7da424a40f6.js → page-a115f2f850d39128.js} +1 -1
  464. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-e9115d1643fe83ab.js → page-bc5f2544706ca405.js} +1 -1
  465. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-830479c6d2b66001.js → page-e75bafb632a626bf.js} +1 -1
  466. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-9388fd549174fd34.js +1 -0
  467. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-a49e8b527b71b335.js → page-78a0a5ea58f9a4bc.js} +1 -1
  468. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-1af8c2edc9c0ae1d.js → page-904dc75c59a37284.js} +3 -3
  469. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-8dee526b0891af9f.js → page-883eae14cd5e19d5.js} +1 -1
  470. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-68597056465adc3d.js → page-fd714aed70be1291.js} +1 -1
  471. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-5545d5f7a6f26894.js → page-f31106889f308c23.js} +1 -1
  472. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/{page-9d4ff69bd12d4c5a.js → page-d7accdd5a36f268c.js} +1 -1
  473. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/{page-3c36f41167857750.js → page-6ac24ff171abe1f6.js} +1 -1
  474. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-cfdf2480dbe558ad.js → page-0d4c8de9cddb2798.js} +1 -1
  475. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/{page-f7d7700d4afd666f.js → page-a59a90e55a3d6e21.js} +1 -1
  476. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-e84a334408baee9c.js → page-88bd684463c3b41a.js} +1 -1
  477. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/{page-68f3751d62bcacbd.js → page-84497afdde6117e5.js} +1 -1
  478. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-ecd45841ec1ff701.js → layout-ce8c7297b5839e06.js} +1 -1
  479. package/app/.next-cli-build/static/chunks/app/{layout-00c8624593ca90e2.js → layout-b71d3072d7d0c248.js} +1 -1
  480. package/app/.next-cli-build/static/chunks/app/login/{page-89eb6dc8740863de.js → page-cc43b7351e61ff65.js} +1 -1
  481. package/app/.next-cli-build/static/chunks/{webpack-d2b96a2313c45c57.js → webpack-2d6a76068971e74e.js} +1 -1
  482. package/app/.next-cli-build/static/css/{a4a1d5192ab47550.css → 20a8e781bd7763d0.css} +1 -1
  483. package/app/package.json +1 -1
  484. package/package.json +1 -1
  485. package/app/.next-cli-build/server/chunks/7913.js +0 -2
  486. package/app/.next-cli-build/server/chunks/8402.js +0 -1
  487. package/app/.next-cli-build/static/chunks/1321-ab7de5caad91b6f2.js +0 -1
  488. package/app/.next-cli-build/static/chunks/763-64b80a1ab0aa3cfc.js +0 -1
  489. package/app/.next-cli-build/static/chunks/8982-034c1a89a74fd310.js +0 -11
  490. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-a2112a715423804a.js +0 -1
  491. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-0eae4c30300946df.js +0 -1
  492. /package/app/.next-cli-build/static/{FPPZdg4gAT-mc8D-yGfs_ → zfYHuQvzglYJyhsqgUYWW}/_buildManifest.js +0 -0
  493. /package/app/.next-cli-build/static/{FPPZdg4gAT-mc8D-yGfs_ → zfYHuQvzglYJyhsqgUYWW}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=7220,exports.ids=[7220],exports.modules={16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(83192)},19225:(a,b,c)=>{a.exports=c(44870)},27547:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>M,OPTIONS:()=>L,buildModelsList:()=>K});var d=c(81329),e=c(40615),f=c(89718),g=c(16655),h=c(27811),i=c(29679),j=c(52007),k=c(53225),l=c(39609),m=c(75924),n=c(8590);let o=new Map;async function p(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,l.proxyAwareFetch)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":`vscode/${m.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${m.x0.COPILOT_CHAT_VERSION}`,"user-agent":m.x0.USER_AGENT,"x-github-api-version":m.x0.API_VERSION},cache:"no-store",signal:b||c.signal});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function q(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=o.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await p(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,n.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await p(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(o.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var r=c(28948),s=c(38709),t=c(82578),u=c(44875),v=c(49804),w=c(37347),x=c(44705),y=c(67828),z=c(39326),A=c(24);async function B(a,b){let c=await (0,k.EV)({provider:b,accessToken:a.accessToken,apiKey:a.apiKey,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}}),d=(0,k.So)(c);return d.length?{models:d.map(a=>({id:a.id,name:a.name}))}:null}let C={...Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a])),...e.js};function D(a){let b=a.indexOf("/");if(b<=0)return null;let c=a.slice(0,b);return(0,A.getCapabilitiesForModel)(C[c]||c,a.slice(b+1))}let E={kiro:async a=>{let b=await (0,i.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},qoder:async a=>B(a,"qoder"),"qoder-cn":async a=>B(a,"qoder-cn"),kimchi:async a=>{let b=await (0,j.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},github:async a=>{let b=await q({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,onCredentialsRefreshed:async b=>{await (0,y.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return b?.models?.length?{models:b.models}:null},clinepass:async a=>{let b=await (0,r.P)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null},cline:async a=>{let b=await (0,r.M)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null},"grok-cli":async a=>{let b=await (0,z.B)(a.providerSpecificData||{}),c=await (0,s.M)({...a,connectionId:a.id},{log:console,proxyOptions:{connectionProxyEnabled:!0===b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl||"",connectionNoProxy:b.connectionNoProxy||"",vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy},onCredentialsRefreshed:async b=>{await (0,y.vN)(a.id,{...b,existingProviderSpecificData:a.providerSpecificData||{}})}});return c?.models?.length?{models:c.models}:null},cursor:async a=>{let b=await (0,t.FD)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},zed:async a=>{let b=await (0,v.w9)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models.filter(a=>!a.isDisabled).map(a=>({id:a.id,name:a.name,capabilities:a.supportsTools?{tools:!0}:void 0}))}:null},"trae-enterprise":async a=>{let b=await (0,w.i)({accessToken:a.accessToken});return b?.models?.length?{models:b.models.map(a=>({id:a.id,name:a.name}))}:null},codearts:async a=>{let b=await (0,z.B)(a.providerSpecificData||{}),c=await (0,x.EA)(a,{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,y.vN)(a.id,b)}});return c?.models?.length?{models:c.models}:null}},F="x-9r-internal-models-fetch",G={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText",video:"video"};function H(a){let b=a?.kind||a?.type;return b&&G[b]||"llm"}async function I(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{var f;let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:{...d,[F]:"1"},cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let g=(f=await e.json(),Array.isArray(f)?f:f?.data||f?.models||f?.results||[]);return Array.from(new Set(g.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}function J(a,b){return b.some(b=>(0,e.QA)(a,b))}async function K(a,b={}){let c=!0===b.skipDynamicFetch,h=[];try{h=(h=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, returning all models")}let i=[];try{i=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let j=[];try{j=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let k={};try{k=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let l={};try{l=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let m=(a,b)=>Array.isArray(l[a])&&l[a].includes(b),n=new Map;for(let a of h)n.has(a.provider)||n.set(a.provider,a);for(let[a,b]of Object.entries(e.IS||{}))b?.noAuth&&!n.has(a)&&n.set(a,{id:"noauth",provider:a,isActive:!0});let o=[],p=new Map(i.filter(a=>"string"==typeof a?.name).map(a=>[a.name,a])),q=Object.fromEntries(i.map(a=>[a.name,a.models]));for(let b of i){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;let c={id:b.name,object:"model",owned_by:"combo"};if("webSearch"===b.kind||"webFetch"===b.kind)c.kind=b.kind;else{let a=(0,A.aggregateComboCapabilities)(b.models,q,D);a&&(c.capabilities=a);let{contextWindow:d,maxOutput:e}=function a(b,c,d=new Set){let e="string"==typeof b?.name?b.name:null;if(e){if(d.has(e))return{contextWindow:void 0,maxOutput:void 0};d.add(e)}let f=1/0,g=1/0;try{for(let e of Array.isArray(b?.models)?b.models:[]){if("string"!=typeof e)continue;if(0>=e.indexOf("/")){let b=c.get(e);if(b){let e=a(b,c,d);Number.isFinite(e.contextWindow)&&(f=Math.min(f,e.contextWindow)),Number.isFinite(e.maxOutput)&&(g=Math.min(g,e.maxOutput));continue}}let b=D(e)||(0,A.getCapabilitiesForModel)(null,e);Number.isFinite(b?.contextWindow)&&(f=Math.min(f,b.contextWindow)),Number.isFinite(b?.maxOutput)&&(g=Math.min(g,b.maxOutput))}}finally{e&&d.delete(e)}return{contextWindow:Number.isFinite(f)?f:void 0,maxOutput:Number.isFinite(g)?g:void 0}}(b,p);Number.isFinite(d)&&(c.context_length=d),Number.isFinite(e)&&(c.max_completion_tokens=e)}o.push(c)}if(0===h.length){for(let[b,c]of Object.entries(d.vq)){let d=C[b]||b;if(J(d,a))for(let e of c)a.includes(H(e))&&(m(b,e.id)||m(d,e.id)||o.push({id:`${b}/${e.id}`,object:"model",owned_by:b,capabilities:(0,A.getCapabilitiesForModel)(b,e.id)}))}for(let b of j){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&o.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[b,f]of n.entries()){if(!J(b,a))continue;let g=d.Xg[b]||b,h=(f?.providerSpecificData?.prefix||(0,e.wG)(b)||g).trim(),i=d.vq[g]||[],l=f?.providerSpecificData?.enabledModels,n=Array.isArray(l)&&l.length>0,p=(0,e.mq)(b)||(0,e.gb)(b),q=new Map(i.map(a=>[a.id,H(a)])),r=new Map,s=new Map,t=n?Array.from(new Set(l.filter(a=>"string"==typeof a&&""!==a.trim()))):i.map(a=>a.id);p&&0===t.length&&!c&&(t=await I(f));let v=E[b],w=`${b}:${f.id}`;if(v&&!n&&!(0,u.f7)(w))try{let a=await v(f);(0,u.xi)(w),a?.models?.length&&(t=a.models.map(a=>a.id),r=new Map(a.models.filter(a=>a?.id).map(a=>[a.id,H(a)])),s=new Map(a.models.filter(a=>a?.id&&a.capabilities).map(a=>[a.id,a.capabilities])))}catch(a){(0,u.Ei)(w),console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}let x=t.map(a=>a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),y=new Map;for(let c of Array.from(new Set([...x,...j.filter(c=>{if(!c?.id)return!1;let e=(0,d.CP)(c)||"llm";if(!a.includes(e)&&!("imageToText"===e&&a.includes("llm")))return!1;let f=c.providerAlias;return f===g||f===h||f===b}).map(a=>{let b=String(a.id).trim();return b&&y.set(b,(0,d.CP)(a)||"llm"),b}).filter(a=>""!==a),...Object.values(k||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${h}/`)||a.startsWith(`${g}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let d=y.get(c),e=r.get(c),f=d||e||q.get(c)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c),i="imageToText"===f&&a.includes("llm");if(!a.includes(f)&&!i||m(h,c)||m(g,c)||m(b,c))continue;let j={id:`${h}/${c}`,object:"model",owned_by:h},k=s.get(c),l=(0,A.capabilitiesFromServiceKind)(d||e),n=k||l||("llm"===f?(0,A.getCapabilitiesForModel)(b,c):null);if(n&&(j.capabilities=n),"llm"===f||i){let a=n?.contextWindow,d=n?.maxOutput;if(!Number.isFinite(a)||!Number.isFinite(d)){let e=(0,A.getCapabilitiesForModel)(b,c);Number.isFinite(a)||(a=e.contextWindow),Number.isFinite(d)||(d=e.maxOutput)}Number.isFinite(a)&&(j.context_length=a),Number.isFinite(d)&&(j.max_completion_tokens=d)}o.push(j)}let z=e.AI_PROVIDERS[b];a.includes("webSearch")&&z?.searchConfig&&o.push({id:`${h}/search`,object:"model",kind:"webSearch",owned_by:h}),a.includes("webFetch")&&z?.fetchConfig&&o.push({id:`${h}/fetch`,object:"model",kind:"webFetch",owned_by:h})}let r=[],s=new Set;for(let a of o)!a?.id||s.has(a.id)||(s.add(a.id),r.push(a));return r}async function L(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function M(a){try{let b=a?.headers?.get(F)==="1",c=await (0,h.j)(await (0,h.TM)(a),await K(["llm"],{skipDynamicFetch:b}));return Response.json({object:"list",data:c},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},27811:(a,b,c)=>{c.d(b,{Ge:()=>v,QU:()=>s,TM:()=>n,cI:()=>r,cZ:()=>u,dR:()=>t,j:()=>w});var d=c(74452),e=c(1541),f=c(38775),g=c(40615),h=c(38606),i=c(43659),j=c(41004),k=c(7803);let l=a=>String(a).toLowerCase(),m=(a,b)=>l(`${a}/${b}`);async function n(a){let b=function(a){let b=a?.headers;if(!b?.get)return null;let c=b.get("Authorization");if(c?.startsWith("Bearer "))return c.slice(7);let d=b.get("x-api-key");if(d)return d;let e=b.get("x-goog-api-key");if(e)return e;try{return new URL(a.url).searchParams.get("key")||null}catch{return null}}(a);if(!b)return null;let c=await (0,d.getApiKeyByKey)(b);return c?.access?.restricted?{keyId:c.id,keyName:c.name||c.id,allow:c.access.allow||[],_sets:null}:null}async function o(a){if(a._sets)return a._sets;let b=new Set((await (0,e.Uv)()).map(a=>l(a.name))),c=new Set,d=new Set,h=new Set,i=new Set;for(let e of a.allow){let a=l(e);if(b.has(a)){c.add(a);continue}let j=await (0,f.mA)(e);j?.provider&&j.model&&(d.add(m(j.provider,j.model)),i.add(l(j.provider))),e.includes("/")||h.add(l((0,g.rs)(e)))}return a._sets={combos:c,models:d,providers:h,modelProviders:i},a._sets}async function p(a,b){let c=await o(a),d=await (0,f.mA)(b);return d?.provider?c.models.has(m(d.provider,d.model)):c.combos.has(l(b))}function q(a,b){return k.warn("AUTH",`key-access: key "${a.keyName}" denied "${b}"`),(0,i.yj)(j.gx.FORBIDDEN,(0,h.Cq)(b))}async function r(a,b){if(!a)return null;if("string"!=typeof b||!b)return q(a,String(b??""));let c=await o(a);return(await (0,f.d_)(b)?c.combos.has(l(b)):await p(a,b))?null:q(a,b)}async function s(a,b,c,d){if(!a)return null;let e=b||(c?`${c}/${d??""}`:"");return c&&d&&(await o(a)).models.has(m(c,d))?null:q(a,e)}async function t(a,b,c){if(!a)return null;if("string"!=typeof b||!b)return q(a,String(b??""));let d=await o(a);return(c?d.combos.has(l(b)):d.providers.has(l((0,g.rs)(b))))?null:q(a,b)}async function u(a,b){if(!a)return null;let c=await o(a),d=l(b||"");return c.providers.has(d)||c.modelProviders.has(d)?null:q(a,b||"")}async function v(a,b,c){if(!a||!Array.isArray(b))return b;let d=new Set(c||[]),e=[];for(let c of b)d.has(c)||await p(a,c)?e.push(c):k.info("AUTH",`key-access: key "${a.keyName}" skips adapter model "${c}" (not allowed)`);return e}async function w(a,b){if(!a||!Array.isArray(b))return b;let c=await o(a),d=[];for(let a of b){if(!a?.id)continue;if(a.owned_by===h.WR){c.combos.has(l(a.id))&&d.push(a);continue}let b=await (0,f.mA)(a.id);if(b?.provider){if(h.YR.includes(a.kind)){c.providers.has(l(b.provider))&&d.push(a);continue}c.models.has(m(b.provider,b.model))&&d.push(a)}}return d}},38775:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>i});var d=c(89718),e=c(40669),f=c(24478);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},h=new Set(Object.keys(g));for(let a of f.default)for(let b of(h.add(a.id),a.alias&&h.add(a.alias),a.aliases||[]))h.add(b);async function i(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){if(!h.has(c.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model}}return{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},40669:(a,b,c)=>{c.d(b,{Xh:()=>h,g2:()=>g,js:()=>j});var d=c(24478);let e={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.default)for(let b of(e[a.id]=a.id,a.alias&&(e[a.alias]=a.id),a.aliases||[]))e[b]=a.id;let f={"grok-build":"gcli/grok-build"};function g(a){return e[a]||a}function h(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:g(c),model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}function i(a,b){if(!b)return null;let c=b[a];if(!c)return null;if("string"==typeof c&&c.includes("/")){let a=c.indexOf("/");return{provider:g(c.slice(0,a)),model:c.slice(a+1)}}return"object"==typeof c&&c.provider&&c.model?{provider:g(c.provider),model:c.model}:null}async function j(a,b){let c=h(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,e=i(c.model,d)||i(c.model,f);return e||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return k.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let k=[[/^codex-auto-review$/,"codex"],[/^gpt-[56]\./,"codex"],[/^gpt-6-/,"codex"],[/^gpt-daybreak-/,"codex"],[/^gpt-reserve/,"codex"],[/^claude-/,"anthropic"],[/^(us|eu|ap|global)\.(anthropic|meta|amazon|mistral|xai)\./,"bedrock"],[/^gemini-/,"gemini"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},43659:(a,b,c)=>{c.d(b,{A1:()=>h,lR:()=>j,wO:()=>i,xJ:()=>e,yj:()=>f,zL:()=>g});var d=c(3662);function e(a,b){let c=d.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""});return{error:{message:b||d.O[a]||"An error occurred",type:c.type,code:c.code}}}function f(a,b,c=null){return new Response(JSON.stringify(e(a,b)),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*",...c}})}async function g(a,b=null){let c="";try{c=await a.text()}catch{c=""}if(b&&"function"==typeof b.parseError)try{let e=b.parseError(a,c);if(e&&"object"==typeof e){let b=e.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:e.status||a.status,message:b,resetsAtMs:e.resetsAtMs}}}catch{}let e="";try{let a=JSON.parse(c);e=a.error?.message||a.message||a.error||c}catch{e=c}let f=("string"==typeof e?e:JSON.stringify(e))||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:f}}function h(a,b,c,d=null){return{success:!1,status:a,error:b,resetsAtMs:c,response:f(a,b,d)}}function i(a,b,c,d,e=null){let f=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{...e,"Content-Type":"application/json","retry-after":String(f)}})}function j(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return h}});let d=c(28208),e=c(47617),f=c(62018),g=["content-length","content-encoding","transfer-encoding"];async function h(a,b,c,h){if((0,d.isNodeNextResponse)(b)){var i;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(i=c.headers)||i.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase()&&!g.includes(c))if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:j}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,j,h):j.end()}}}};
1
+ "use strict";exports.id=7220,exports.ids=[7220],exports.modules={16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(83192)},19225:(a,b,c)=>{a.exports=c(44870)},27547:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>O,OPTIONS:()=>N,buildModelsList:()=>M});var d=c(81329),e=c(40615),f=c(89718),g=c(16655),h=c(27811),i=c(29679),j=c(15929),k=c(52007),l=c(53225),m=c(39609),n=c(75924),o=c(8590);let p=new Map;async function q(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,m.proxyAwareFetch)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":`vscode/${n.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${n.x0.COPILOT_CHAT_VERSION}`,"user-agent":n.x0.USER_AGENT,"x-github-api-version":n.x0.API_VERSION},cache:"no-store",signal:b||c.signal});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function r(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=p.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await q(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,o.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await q(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(p.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var s=c(28948),t=c(38709),u=c(82578),v=c(44875),w=c(49804),x=c(37347),y=c(44705),z=c(67828),A=c(39326),B=c(24);async function C(a,b){let c=await (0,l.EV)({provider:b,accessToken:a.accessToken,apiKey:a.apiKey,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}}),d=(0,l.So)(c);return d.length?{models:d.map(a=>({id:a.id,name:a.name}))}:null}async function D(a,b){let c=await (0,j.A3)({providerId:a,accessToken:b.accessToken||b.apiKey});return c.models.length?{models:c.models}:null}let E={...Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a])),...e.js};function F(a){let b=a.indexOf("/");if(b<=0)return null;let c=a.slice(0,b);return(0,B.getCapabilitiesForModel)(E[c]||c,a.slice(b+1))}let G={"codebuddy-cn":a=>D("codebuddy-cn",a),"codebuddy-intl":a=>D("codebuddy-intl",a),kiro:async a=>{let b=await (0,i.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},qoder:async a=>C(a,"qoder"),"qoder-cn":async a=>C(a,"qoder-cn"),kimchi:async a=>{let b=await (0,k.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},github:async a=>{let b=await r({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,onCredentialsRefreshed:async b=>{await (0,z.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return b?.models?.length?{models:b.models}:null},clinepass:async a=>{let b=await (0,s.P)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null},cline:async a=>{let b=await (0,s.M)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null},"grok-cli":async a=>{let b=await (0,A.B)(a.providerSpecificData||{}),c=await (0,t.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,z.vN)(a.id,{...b,existingProviderSpecificData:a.providerSpecificData||{}})}});return c?.models?.length?{models:c.models}:null},cursor:async a=>{let b=await (0,u.FD)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},zed:async a=>{let b=await (0,w.w9)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models.filter(a=>!a.isDisabled).map(a=>({id:a.id,name:a.name,capabilities:a.supportsTools?{tools:!0}:void 0}))}:null},"trae-enterprise":async a=>{let b=await (0,x.i)({accessToken:a.accessToken});return b?.models?.length?{models:b.models.map(a=>({id:a.id,name:a.name}))}:null},codearts:async a=>{let b=await (0,A.B)(a.providerSpecificData||{}),c=await (0,y.EA)(a,{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,z.vN)(a.id,b)}});return c?.models?.length?{models:c.models}:null}},H="x-9r-internal-models-fetch",I={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText",video:"video"};function J(a){let b=a?.kind||a?.type;return b&&I[b]||"llm"}async function K(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{var f;let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:{...d,[H]:"1"},cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let g=(f=await e.json(),Array.isArray(f)?f:f?.data||f?.models||f?.results||[]);return Array.from(new Set(g.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}function L(a,b){return b.some(b=>(0,e.QA)(a,b))}async function M(a,b={}){let c=!0===b.skipDynamicFetch,h=[];try{h=(h=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, returning all models")}let i=[];try{i=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let j=[];try{j=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let k={};try{k=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let l={};try{l=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let m=(a,b)=>Array.isArray(l[a])&&l[a].includes(b),n=new Map;for(let a of h)n.has(a.provider)||n.set(a.provider,a);for(let[a,b]of Object.entries(e.IS||{}))b?.noAuth&&!n.has(a)&&n.set(a,{id:"noauth",provider:a,isActive:!0});let o=[],p=new Map(i.filter(a=>"string"==typeof a?.name).map(a=>[a.name,a])),q=Object.fromEntries(i.map(a=>[a.name,a.models]));for(let b of i){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;let c={id:b.name,object:"model",owned_by:"combo"};if("webSearch"===b.kind||"webFetch"===b.kind)c.kind=b.kind;else{let a=(0,B.aggregateComboCapabilities)(b.models,q,F);a&&(c.capabilities=a);let{contextWindow:d,maxOutput:e}=function a(b,c,d=new Set){let e="string"==typeof b?.name?b.name:null;if(e){if(d.has(e))return{contextWindow:void 0,maxOutput:void 0};d.add(e)}let f=1/0,g=1/0;try{for(let e of Array.isArray(b?.models)?b.models:[]){if("string"!=typeof e)continue;if(0>=e.indexOf("/")){let b=c.get(e);if(b){let e=a(b,c,d);Number.isFinite(e.contextWindow)&&(f=Math.min(f,e.contextWindow)),Number.isFinite(e.maxOutput)&&(g=Math.min(g,e.maxOutput));continue}}let b=F(e)||(0,B.getCapabilitiesForModel)(null,e);Number.isFinite(b?.contextWindow)&&(f=Math.min(f,b.contextWindow)),Number.isFinite(b?.maxOutput)&&(g=Math.min(g,b.maxOutput))}}finally{e&&d.delete(e)}return{contextWindow:Number.isFinite(f)?f:void 0,maxOutput:Number.isFinite(g)?g:void 0}}(b,p);Number.isFinite(d)&&(c.context_length=d),Number.isFinite(e)&&(c.max_completion_tokens=e)}o.push(c)}if(0===h.length){for(let[b,c]of Object.entries(d.vq)){let d=E[b]||b;if(L(d,a))for(let e of c)a.includes(J(e))&&(m(b,e.id)||m(d,e.id)||o.push({id:`${b}/${e.id}`,object:"model",owned_by:b,capabilities:(0,B.getCapabilitiesForModel)(b,e.id)}))}for(let b of j){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&o.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[b,f]of n.entries()){if(!L(b,a))continue;let g=d.Xg[b]||b,h=(f?.providerSpecificData?.prefix||(0,e.wG)(b)||g).trim(),i=d.vq[g]||[],l=f?.providerSpecificData?.enabledModels,n=Array.isArray(l)&&l.length>0,p=(0,e.mq)(b)||(0,e.gb)(b),q=new Map(i.map(a=>[a.id,J(a)])),r=new Map,s=new Map,t=n?Array.from(new Set(l.filter(a=>"string"==typeof a&&""!==a.trim()))):i.map(a=>a.id);p&&0===t.length&&!c&&(t=await K(f));let u=G[b],w=`${b}:${f.id}`;if(u&&!n&&!(0,v.f7)(w))try{let a=await u(f);(0,v.xi)(w),a?.models?.length&&(t=a.models.map(a=>a.id),r=new Map(a.models.filter(a=>a?.id).map(a=>[a.id,J(a)])),s=new Map(a.models.filter(a=>a?.id&&a.capabilities).map(a=>[a.id,a.capabilities])))}catch(a){(0,v.Ei)(w),console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}let x=t.map(a=>a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),y=new Map;for(let c of Array.from(new Set([...x,...j.filter(c=>{if(!c?.id)return!1;let e=(0,d.CP)(c)||"llm";if(!a.includes(e)&&!("imageToText"===e&&a.includes("llm")))return!1;let f=c.providerAlias;return f===g||f===h||f===b}).map(a=>{let b=String(a.id).trim();return b&&y.set(b,(0,d.CP)(a)||"llm"),b}).filter(a=>""!==a),...Object.values(k||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${h}/`)||a.startsWith(`${g}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let d=y.get(c),e=r.get(c),f=d||e||q.get(c)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c),i="imageToText"===f&&a.includes("llm");if(!a.includes(f)&&!i||m(h,c)||m(g,c)||m(b,c))continue;let j={id:`${h}/${c}`,object:"model",owned_by:h},k=s.get(c),l=(0,B.capabilitiesFromServiceKind)(d||e),n=k||l||("llm"===f?(0,B.getCapabilitiesForModel)(b,c):null);if(n&&(j.capabilities=n),"llm"===f||i){let a=n?.contextWindow,d=n?.maxOutput;if(!Number.isFinite(a)||!Number.isFinite(d)){let e=(0,B.getCapabilitiesForModel)(b,c);Number.isFinite(a)||(a=e.contextWindow),Number.isFinite(d)||(d=e.maxOutput)}Number.isFinite(a)&&(j.context_length=a),Number.isFinite(d)&&(j.max_completion_tokens=d)}o.push(j)}let z=e.AI_PROVIDERS[b];a.includes("webSearch")&&z?.searchConfig&&o.push({id:`${h}/search`,object:"model",kind:"webSearch",owned_by:h}),a.includes("webFetch")&&z?.fetchConfig&&o.push({id:`${h}/fetch`,object:"model",kind:"webFetch",owned_by:h})}let r=[],s=new Set;for(let a of o)!a?.id||s.has(a.id)||(s.add(a.id),r.push(a));return r}async function N(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function O(a){try{let b=a?.headers?.get(H)==="1",c=await (0,h.j)(await (0,h.TM)(a),await M(["llm"],{skipDynamicFetch:b}));return Response.json({object:"list",data:c},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},27811:(a,b,c)=>{c.d(b,{Ge:()=>v,QU:()=>s,TM:()=>n,cI:()=>r,cZ:()=>u,dR:()=>t,j:()=>w});var d=c(74452),e=c(1541),f=c(38775),g=c(40615),h=c(38606),i=c(43659),j=c(41004),k=c(7803);let l=a=>String(a).toLowerCase(),m=(a,b)=>l(`${a}/${b}`);async function n(a){let b=function(a){let b=a?.headers;if(!b?.get)return null;let c=b.get("Authorization");if(c?.startsWith("Bearer "))return c.slice(7);let d=b.get("x-api-key");if(d)return d;let e=b.get("x-goog-api-key");if(e)return e;try{return new URL(a.url).searchParams.get("key")||null}catch{return null}}(a);if(!b)return null;let c=await (0,d.getApiKeyByKey)(b);return c?.access?.restricted?{keyId:c.id,keyName:c.name||c.id,allow:c.access.allow||[],_sets:null}:null}async function o(a){if(a._sets)return a._sets;let b=new Set((await (0,e.Uv)()).map(a=>l(a.name))),c=new Set,d=new Set,h=new Set,i=new Set;for(let e of a.allow){let a=l(e);if(b.has(a)){c.add(a);continue}let j=await (0,f.mA)(e);j?.provider&&j.model&&(d.add(m(j.provider,j.model)),i.add(l(j.provider))),e.includes("/")||h.add(l((0,g.rs)(e)))}return a._sets={combos:c,models:d,providers:h,modelProviders:i},a._sets}async function p(a,b){let c=await o(a),d=await (0,f.mA)(b);return d?.provider?c.models.has(m(d.provider,d.model)):c.combos.has(l(b))}function q(a,b){return k.warn("AUTH",`key-access: key "${a.keyName}" denied "${b}"`),(0,i.yj)(j.gx.FORBIDDEN,(0,h.Cq)(b))}async function r(a,b){if(!a)return null;if("string"!=typeof b||!b)return q(a,String(b??""));let c=await o(a);return(await (0,f.d_)(b)?c.combos.has(l(b)):await p(a,b))?null:q(a,b)}async function s(a,b,c,d){if(!a)return null;let e=b||(c?`${c}/${d??""}`:"");return c&&d&&(await o(a)).models.has(m(c,d))?null:q(a,e)}async function t(a,b,c){if(!a)return null;if("string"!=typeof b||!b)return q(a,String(b??""));let d=await o(a);return(c?d.combos.has(l(b)):d.providers.has(l((0,g.rs)(b))))?null:q(a,b)}async function u(a,b){if(!a)return null;let c=await o(a),d=l(b||"");return c.providers.has(d)||c.modelProviders.has(d)?null:q(a,b||"")}async function v(a,b,c){if(!a||!Array.isArray(b))return b;let d=new Set(c||[]),e=[];for(let c of b)d.has(c)||await p(a,c)?e.push(c):k.info("AUTH",`key-access: key "${a.keyName}" skips adapter model "${c}" (not allowed)`);return e}async function w(a,b){if(!a||!Array.isArray(b))return b;let c=await o(a),d=[];for(let a of b){if(!a?.id)continue;if(a.owned_by===h.WR){c.combos.has(l(a.id))&&d.push(a);continue}let b=await (0,f.mA)(a.id);if(b?.provider){if(h.YR.includes(a.kind)){c.providers.has(l(b.provider))&&d.push(a);continue}c.models.has(m(b.provider,b.model))&&d.push(a)}}return d}},38775:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>i});var d=c(89718),e=c(40669),f=c(24478);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},h=new Set(Object.keys(g));for(let a of f.default)for(let b of(h.add(a.id),a.alias&&h.add(a.alias),a.aliases||[]))h.add(b);async function i(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){if(!h.has(c.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model}}return{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},40669:(a,b,c)=>{c.d(b,{Xh:()=>h,g2:()=>g,js:()=>j});var d=c(24478);let e={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.default)for(let b of(e[a.id]=a.id,a.alias&&(e[a.alias]=a.id),a.aliases||[]))e[b]=a.id;let f={"grok-build":"gcli/grok-build"};function g(a){return e[a]||a}function h(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:g(c),model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}function i(a,b){if(!b)return null;let c=b[a];if(!c)return null;if("string"==typeof c&&c.includes("/")){let a=c.indexOf("/");return{provider:g(c.slice(0,a)),model:c.slice(a+1)}}return"object"==typeof c&&c.provider&&c.model?{provider:g(c.provider),model:c.model}:null}async function j(a,b){let c=h(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,e=i(c.model,d)||i(c.model,f);return e||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return k.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let k=[[/^codex-auto-review$/,"codex"],[/^gpt-[56]\./,"codex"],[/^gpt-6-/,"codex"],[/^gpt-daybreak-/,"codex"],[/^gpt-reserve/,"codex"],[/^claude-/,"anthropic"],[/^(us|eu|ap|global)\.(anthropic|meta|amazon|mistral|xai)\./,"bedrock"],[/^gemini-/,"gemini"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},43659:(a,b,c)=>{c.d(b,{A1:()=>h,lR:()=>j,wO:()=>i,xJ:()=>e,yj:()=>f,zL:()=>g});var d=c(3662);function e(a,b){let c=d.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""});return{error:{message:b||d.O[a]||"An error occurred",type:c.type,code:c.code}}}function f(a,b,c=null){return new Response(JSON.stringify(e(a,b)),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*",...c}})}async function g(a,b=null){let c="";try{c=await a.text()}catch{c=""}if(b&&"function"==typeof b.parseError)try{let e=b.parseError(a,c);if(e&&"object"==typeof e){let b=e.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:e.status||a.status,message:b,resetsAtMs:e.resetsAtMs}}}catch{}let e="";try{let a=JSON.parse(c);e=a.error?.message||a.message||a.error||c}catch{e=c}let f=("string"==typeof e?e:JSON.stringify(e))||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:f}}function h(a,b,c,d=null){return{success:!1,status:a,error:b,resetsAtMs:c,response:f(a,b,d)}}function i(a,b,c,d,e=null){let f=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{...e,"Content-Type":"application/json","retry-after":String(f)}})}function j(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return h}});let d=c(28208),e=c(47617),f=c(62018),g=["content-length","content-encoding","transfer-encoding"];async function h(a,b,c,h){if((0,d.isNodeNextResponse)(b)){var i;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(i=c.headers)||i.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase()&&!g.includes(c))if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:j}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,j,h):j.end()}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=7716,exports.ids=[3726,7716],exports.modules={53726:(a,b,c)=>{c.d(b,{l9:()=>o,Ah:()=>p,$i:()=>q,installCatalogSource:()=>B,Pg:()=>A});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(33873),i=c.n(h),j=c(21820),k=c.n(j);let l="9router";function m(){return"win32"===process.platform?i().join(process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming"),l):i().join(k().homedir(),`.${l}`)}let n=function(){let a=process.env.DATA_DIR;if(!a)return m();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),m();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 ~/.${l}`),m();throw b}}(),o=g().join(n,"model-catalog.json"),p=g().join(n,"model-catalog-raw.json"),q=2,r={models:{},providers:{}},s=r,t=-1,u=!1,v=0;function w(a){return a?(a.includes("/")?a.split("/").pop():a).toLowerCase().split(":")[0]:""}function x(){let a;if(u&&Date.now()-v<1e3)return s;v=Date.now(),u=!0;try{a=e().statSync(o).mtimeMs}catch{return t=-1,s=r}if(a===t)return s;t=a;try{let a=JSON.parse(e().readFileSync(o,"utf8"));s={models:a?.models||{},providers:a?.providers||{}}}catch{s=r}return s}function y(a,b){return a&&x().models[`${a}:${w(b)}`]||null}function z(a,b){let c=a&&x().providers[a];return c&&(c[b]||c[w(b)])||null}function A(){u=!1,t=-1}async function B(){let{setCatalogSource:a}=await Promise.all([c.e(3835),c.e(8402)]).then(c.bind(c,38402));a({getModalities:y,getLimits:z})}},57716:(a,b,c)=>{c.d(b,{startModelCatalogSync:()=>q});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(53726);let i={image:"vision",pdf:"pdf",audio:"audioInput",video:"videoInput"},j={github:"github-copilot",glm:"zai",zcode:"zai","glm-cn":"zhipuai",claude:"anthropic",gemini:"google",kimi:"moonshotai","kimi-cn":"moonshotai-cn",qwen:"alibaba","qwen-cn":"alibaba-cn",zhipu:"zhipuai",hunyuan:"tencent",doubao:"volcengine","cloudflare-ai":"cloudflare-workers-ai"},k={running:!1,lastSync:null,lastError:null,lastResult:null,etag:null,fileVersion:null},l=null;function m(a){return(a.includes("/")?a.split("/").pop():a).toLowerCase().split(":")[0]}function n(a,b){e().mkdirSync(g().dirname(a),{recursive:!0}),e().writeFileSync(`${a}.tmp`,b,"utf8"),e().renameSync(`${a}.tmp`,a)}async function o(){let[{default:a},{getCapabilitiesForModel:b,setCatalogSource:d}]=await Promise.all([c.e(3835).then(c.bind(c,33835)),Promise.all([c.e(3835),c.e(8402)]).then(c.bind(c,38402))]);d(null);let e=[];for(let c of a)for(let a of c.models||[])e.push({provider:c.id,model:a.id,contextLength:a.contextLength,current:b(c.id,a.id)});return e}async function p(){if(k.running)return null;k.running=!0;try{let a,b={accept:"application/json"};k.etag&&k.fileVersion===h.$i&&(b["if-none-match"]=k.etag);let c=await fetch("https://models.dev/api.json",{headers:b,signal:AbortSignal.timeout(6e4)});if(304===c.status)a={status:"unchanged"};else if(c.ok){let b=await c.json(),d=c.headers.get("etag")||null,e=await o(),{models:f,providers:g}=function(a,b){let c=new Map;for(let{provider:a}of b){let b=j[a]||a,d=c.get(b);d||c.set(b,d=[]),d.includes(a)||d.push(a)}let d={},e={};for(let[b,f]of Object.entries(a)){let a=c.get(b)||[b],g={},h=new Set;for(let[c,d]of Object.entries(f?.models||{})){let f=m(c);if(g[f]=d,h.has(f))continue;h.add(f);let j={};for(let a of d?.modalities?.input||[]){let b=i[a];b&&(j[b]=!0)}if(Object.keys(j).length){for(let b of a)e[`${b}:${f}`]=j;a.includes(b)||(e[`${b}:${f}`]=j)}}d[b]=g}let f={};for(let{provider:c,model:e,contextLength:g,current:h}of b){let b=j[c],i=a[c]?c:b&&a[b]?b:null,k=i&&d[i]?.[m(e)];if(!k)continue;let l={},{context:n,output:o}=k.limit||{};n>0&&!g&&Math.abs(n-h.contextWindow)/h.contextWindow>.1&&(l.contextWindow=n),o>0&&Math.abs(o-h.maxOutput)/h.maxOutput>.1&&(l.maxOutput=o),Object.keys(l).length&&((f[c]||(f[c]={}))[e]=l)}return{models:e,providers:f}}(b,e),l=JSON.stringify({v:h.$i,etag:d,syncedAt:Date.now(),models:f,providers:g});n(h.l9,l),n(h.Ah,JSON.stringify(function(a){let b={};for(let[c,d]of Object.entries(a)){let a={};for(let[b,c]of Object.entries(d?.models||{}))a[b]={i:(c?.modalities?.input||[]).filter(a=>"text"!==a),c:c?.limit?.context,o:c?.limit?.output,r:c?.reasoning||void 0};b[c]=a}return b}(b))),k.etag=d,k.fileVersion=h.$i,(0,h.Pg)(),a={status:"updated",etag:d,bytes:Buffer.byteLength(l),models:Object.keys(f).length,providers:Object.keys(g).length},console.log(`[modelCatalog] ${a.models} models, ${a.providers} providers, ${(a.bytes/1024).toFixed(1)}KB`)}else throw Error(`HTTP ${c.status}`);return k.lastSync=Date.now(),k.lastError=null,k.lastResult=a,a}catch(a){return k.lastError=a?.message||String(a),console.log(`[modelCatalog] sync failed: ${k.lastError}`),null}finally{await (0,h.installCatalogSource)().catch(()=>{}),k.running=!1}}function q(){if(l||"off"===String(process.env.MODEL_CATALOG_SYNC||"").toLowerCase())return;try{let a=JSON.parse(e().readFileSync(h.l9,"utf8"));k.etag=a.etag||null,k.fileVersion=a.v||1,k.lastSync=e().statSync(h.l9).mtimeMs}catch{k.etag=null,k.fileVersion=null}let a=b=>{l=setTimeout(async()=>{a(await p()?864e5:18e5)},b),l.unref?.()};a(6e4)}}};
1
+ "use strict";exports.id=7716,exports.ids=[3726,7716],exports.modules={53726:(a,b,c)=>{c.d(b,{l9:()=>o,Ah:()=>p,$i:()=>q,installCatalogSource:()=>B,Pg:()=>A});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(33873),i=c.n(h),j=c(21820),k=c.n(j);let l="9router";function m(){return"win32"===process.platform?i().join(process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming"),l):i().join(k().homedir(),`.${l}`)}let n=function(){let a=process.env.DATA_DIR;if(!a)return m();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),m();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 ~/.${l}`),m();throw b}}(),o=g().join(n,"model-catalog.json"),p=g().join(n,"model-catalog-raw.json"),q=2,r={models:{},providers:{}},s=r,t=-1,u=!1,v=0;function w(a){return a?(a.includes("/")?a.split("/").pop():a).toLowerCase().split(":")[0]:""}function x(){let a;if(u&&Date.now()-v<1e3)return s;v=Date.now(),u=!0;try{a=e().statSync(o).mtimeMs}catch{return t=-1,s=r}if(a===t)return s;t=a;try{let a=JSON.parse(e().readFileSync(o,"utf8"));s={models:a?.models||{},providers:a?.providers||{}}}catch{s=r}return s}function y(a,b){return a&&x().models[`${a}:${w(b)}`]||null}function z(a,b){let c=a&&x().providers[a];return c&&(c[b]||c[w(b)])||null}function A(){u=!1,t=-1}async function B(){let{setCatalogSource:a}=await Promise.all([c.e(3835),c.e(2224)]).then(c.bind(c,32224));a({getModalities:y,getLimits:z})}},57716:(a,b,c)=>{c.d(b,{startModelCatalogSync:()=>q});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(53726);let i={image:"vision",pdf:"pdf",audio:"audioInput",video:"videoInput"},j={github:"github-copilot",glm:"zai",zcode:"zai","glm-cn":"zhipuai",claude:"anthropic",gemini:"google",kimi:"moonshotai","kimi-cn":"moonshotai-cn",qwen:"alibaba","qwen-cn":"alibaba-cn",zhipu:"zhipuai",hunyuan:"tencent",doubao:"volcengine","cloudflare-ai":"cloudflare-workers-ai"},k={running:!1,lastSync:null,lastError:null,lastResult:null,etag:null,fileVersion:null},l=null;function m(a){return(a.includes("/")?a.split("/").pop():a).toLowerCase().split(":")[0]}function n(a,b){e().mkdirSync(g().dirname(a),{recursive:!0}),e().writeFileSync(`${a}.tmp`,b,"utf8"),e().renameSync(`${a}.tmp`,a)}async function o(){let[{default:a},{getCapabilitiesForModel:b,setCatalogSource:d}]=await Promise.all([c.e(3835).then(c.bind(c,33835)),Promise.all([c.e(3835),c.e(2224)]).then(c.bind(c,32224))]);d(null);let e=[];for(let c of a)for(let a of c.models||[])e.push({provider:c.id,model:a.id,contextLength:a.contextLength,current:b(c.id,a.id)});return e}async function p(){if(k.running)return null;k.running=!0;try{let a,b={accept:"application/json"};k.etag&&k.fileVersion===h.$i&&(b["if-none-match"]=k.etag);let c=await fetch("https://models.dev/api.json",{headers:b,signal:AbortSignal.timeout(6e4)});if(304===c.status)a={status:"unchanged"};else if(c.ok){let b=await c.json(),d=c.headers.get("etag")||null,e=await o(),{models:f,providers:g}=function(a,b){let c=new Map;for(let{provider:a}of b){let b=j[a]||a,d=c.get(b);d||c.set(b,d=[]),d.includes(a)||d.push(a)}let d={},e={};for(let[b,f]of Object.entries(a)){let a=c.get(b)||[b],g={},h=new Set;for(let[c,d]of Object.entries(f?.models||{})){let f=m(c);if(g[f]=d,h.has(f))continue;h.add(f);let j={};for(let a of d?.modalities?.input||[]){let b=i[a];b&&(j[b]=!0)}if(Object.keys(j).length){for(let b of a)e[`${b}:${f}`]=j;a.includes(b)||(e[`${b}:${f}`]=j)}}d[b]=g}let f={};for(let{provider:c,model:e,contextLength:g,current:h}of b){let b=j[c],i=a[c]?c:b&&a[b]?b:null,k=i&&d[i]?.[m(e)];if(!k)continue;let l={},{context:n,output:o}=k.limit||{};n>0&&!g&&Math.abs(n-h.contextWindow)/h.contextWindow>.1&&(l.contextWindow=n),o>0&&Math.abs(o-h.maxOutput)/h.maxOutput>.1&&(l.maxOutput=o),Object.keys(l).length&&((f[c]||(f[c]={}))[e]=l)}return{models:e,providers:f}}(b,e),l=JSON.stringify({v:h.$i,etag:d,syncedAt:Date.now(),models:f,providers:g});n(h.l9,l),n(h.Ah,JSON.stringify(function(a){let b={};for(let[c,d]of Object.entries(a)){let a={};for(let[b,c]of Object.entries(d?.models||{}))a[b]={i:(c?.modalities?.input||[]).filter(a=>"text"!==a),c:c?.limit?.context,o:c?.limit?.output,r:c?.reasoning||void 0};b[c]=a}return b}(b))),k.etag=d,k.fileVersion=h.$i,(0,h.Pg)(),a={status:"updated",etag:d,bytes:Buffer.byteLength(l),models:Object.keys(f).length,providers:Object.keys(g).length},console.log(`[modelCatalog] ${a.models} models, ${a.providers} providers, ${(a.bytes/1024).toFixed(1)}KB`)}else throw Error(`HTTP ${c.status}`);return k.lastSync=Date.now(),k.lastError=null,k.lastResult=a,a}catch(a){return k.lastError=a?.message||String(a),console.log(`[modelCatalog] sync failed: ${k.lastError}`),null}finally{await (0,h.installCatalogSource)().catch(()=>{}),k.running=!1}}function q(){if(l||"off"===String(process.env.MODEL_CATALOG_SYNC||"").toLowerCase())return;try{let a=JSON.parse(e().readFileSync(h.l9,"utf8"));k.etag=a.etag||null,k.fileVersion=a.v||1,k.lastSync=e().statSync(h.l9).mtimeMs}catch{k.etag=null,k.fileVersion=null}let a=b=>{l=setTimeout(async()=>{a(await p()?864e5:18e5)},b),l.unref?.()};a(6e4)}}};
@@ -1 +1 @@
1
- "use strict";exports.id=794,exports.ids=[615,794],exports.modules={19225:(a,b,c)=>{a.exports=c(44870)},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:()=>B,wb:()=>A,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,HQ:()=>y,QA:()=>z,rs:()=>u});var d=c(24478);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.apiKeyOptionalWith?{apiKeyOptionalWith:a.apiKeyOptionalWith}:{},...a.credentialForm?{credentialForm:a.credentialForm}:{}}}(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=new Set;for(let a of d.default)for(let b of[a.id,a.alias,a.uiAlias,...a.aliases||[]])b&&x.add(b);function y(a){return x.has(a)}function z(a,b){let c=s[a];return!(!(c?.serviceKinds||["llm"]).includes(b)||c?.hiddenKinds?.includes(b))}let A=d.default.filter(a=>a.features?.usage).map(a=>a.id),B=d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},66581:(a,b,c)=>{c.d(b,{g:()=>F,s:()=>G});var d=c(95827),e=c(89718),f=c(38775),g=c(27811),h=c(43659),i=c(41004),j=c(8590),k=c(26070);let l=new Set(["generations"]);function m(a,b){return{Accept:"application/json",...a.headers||{},...b?{Authorization:`Bearer ${b}`}:{}}}let n=/^projects\/[^/]+\/locations\/[^/]+\/publishers\/[^/]+\/models\/[^/]+\/operations\/[^/]+$/;async function o(a,b){let c=(0,j.Sc)(a?.apiKey),d=c?.project_id||a?.projectId||a?.providerSpecificData?.projectId,e=a?.providerSpecificData?.location||"us-central1";if(!d)return{error:"Vertex video requires a project_id — use Service Account JSON or set providerSpecificData.projectId"};let f=a?.accessToken;if(c){let a=await (0,j.pb)(c,b);if(!a?.accessToken)return{error:"Vertex video: failed to mint access token from service account JSON"};f=a.accessToken}return f?{token:f,projectId:d,location:e}:{error:"Vertex video requires Service Account JSON or an OAuth access token (raw API keys are not supported)"}}let p={openrouter:{buildRequest({config:a,action:b,requestId:c,rawBody:d,contentType:e,token:f}){let g=a.baseUrl.replace(/\/$/,"");return c?{method:"GET",url:`${g}/${encodeURIComponent(c)}`,headers:m(a,f)}:l.has(b)?e&&!e.includes("application/json")?{error:"OpenRouter video requires an application/json body"}:{method:"POST",url:g,headers:{...m(a,f),"Content-Type":"application/json"},body:d}:{error:`OpenRouter video supports 'generations' only (got '${b}')`}}},vertex:{async buildRequest({config:a,action:b,requestId:c,rawBody:d,contentType:e,credentials:f,log:g}){let h;if(e&&!e.includes("application/json"))return{error:"Vertex video requires an application/json body"};let i=await o(f,g);if(i.error)return{error:i.error};let{token:j,projectId:k,location:l}=i,m=(a.baseUrl||"https://aiplatform.googleapis.com").replace(/\/$/,""),p={Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${j}`};if(c){let a=function(a){let b=String(a??"");if(!b||b.length>1024||!/^[A-Za-z0-9_-]+$/.test(b))return null;let c=Buffer.from(b,"base64url").toString("utf8");return Buffer.from(c,"utf8").toString("base64url")!==b?null:n.test(c)?c:null}(c);return a?{method:"POST",url:`${m}/v1/${a.slice(0,a.indexOf("/operations/"))}:fetchPredictOperation`,headers:p,body:JSON.stringify({operationName:a})}:{error:"Invalid Vertex video job id"}}if("generations"!==b)return{error:`Vertex video supports 'generations' only (got '${b}')`};try{h=JSON.parse("string"==typeof d?d:d.toString("utf8"))}catch{return{error:"Invalid JSON body"}}return h.model?/^[A-Za-z0-9._-]+$/.test(h.model)?h.prompt||h.image||h.image_url?{method:"POST",url:`${m}/v1/projects/${k}/locations/${l}/publishers/google/models/${h.model}:predictLongRunning`,headers:p,body:JSON.stringify(function(a){let b={prompt:a.prompt},c=a.image??a.image_url;if(c&&"object"==typeof c)b.image=c;else if("string"==typeof c){let a=c.match(/^data:([^;]+);base64,(.*)$/s);b.image=a?{bytesBase64Encoded:a[2],mimeType:a[1]}:{gcsUri:c}}a.video&&"object"==typeof a.video&&(b.video=a.video);let d={};return null!=a.n&&(d.sampleCount=Number(a.n)),null!=a.duration&&(d.durationSeconds=Number(a.duration)),a.aspect_ratio&&(d.aspectRatio=a.aspect_ratio),a.resolution&&(d.resolution=a.resolution),null!=a.seed&&(d.seed=a.seed),a.negative_prompt&&(d.negativePrompt=a.negative_prompt),a.storage_uri&&(d.storageUri=a.storage_uri),null!=a.generate_audio&&(d.generateAudio=!!a.generate_audio),{instances:[b],...Object.keys(d).length?{parameters:d}:{}}}(h))}:{error:"Vertex video requires a prompt or an image"}:{error:"Invalid Vertex video model id"}:{error:"Vertex video requires a model (e.g. vertex/veo-3.1-generate-preview)"}},transformResponse:function(a){let b;if(!a?.name)return a;let c=(b=a.name,Buffer.from(b,"utf8").toString("base64url"));if(a.error)return{id:c,request_id:c,status:"failed",error:a.error};if(!a.done)return{id:c,request_id:c,status:"pending"};let d=(a.response?.videos||a.response?.generateVideoResponse?.generatedSamples||[]).map(a=>({url:a.gcsUri||a.video?.uri||a.uri||null,b64_json:a.bytesBase64Encoded||a.video?.bytesBase64Encoded||null,mime_type:a.mimeType||a.video?.mimeType||"video/mp4"}));return{id:c,request_id:c,status:"completed",video:d[0]||null,videos:d}}}},q=Number(process.env.VIDEO_FETCH_TIMEOUT_MS||12e4),r=new Set(["generations","edits","extensions"]);function s(a){return k.B$[a]?.videoConfig||null}async function t({provider:a,rawBody:b,credentials:d,signal:e,log:f,onCredentialsRefreshed:g}){let j={};try{j=JSON.parse("string"==typeof b?b:String(b||"{}"))}catch{return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] invalid video request body`)}if(!j.prompt)return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] video request requires a prompt`);let k=[].concat(j.image??j.image_url??[]).concat(Array.isArray(j.images)?j.images:[]).concat(Array.isArray(j.image_urls)?j.image_urls:[]).filter(a=>"string"==typeof a&&a),{getExecutor:l}=await Promise.all([c.e(7774),c.e(7801),c.e(8920),c.e(24),c.e(8623),c.e(7843),c.e(2578),c.e(3225),c.e(8591),c.e(7913),c.e(4957),c.e(614),c.e(7877),c.e(2380),c.e(2327),c.e(5330),c.e(1356)]).then(c.bind(c,55330)),m=l(a);if(!m?.generateMedia)return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] has no executor video support`);try{let b=d?.apiKey,[c]=await m.generateMedia({prompt:j.prompt,kind:"video",size:j.size,model:j.model,duration:j.seconds??j.duration,resolution:j.resolution,n:1,images:k,credentials:d,signal:e,log:f}),h=`data:${c.mime||"video/mp4"};base64,${c.b64}`;return g&&d?.apiKey&&d.apiKey!==b&&await g({apiKey:d.apiKey}),{success:!0,response:new Response(JSON.stringify({id:`video-${a}-${Date.now()}`,object:"video.generation",created:Math.floor(Date.now()/1e3),model:j.model||a,status:"completed",video:{url:h,...c.width?{width:c.width}:{},...c.height?{height:c.height}:{}}}),{status:200,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(e){let b=u(e?.message||"video generation failed",d),c=e?.status&&Number.isInteger(e.status)?e.status:502;return(0,h.A1)(c,`[${a}] ${b}`)}}function u(a,b=null){if(!a)return a;let c=String(a).replace(/Bearer\s+[A-Za-z0-9._~+/=-]{8,}/gi,"Bearer [redacted]");for(let a of["accessToken","refreshToken","apiKey"]){let d=b?.[a];"string"==typeof d&&d.length>=8&&(c=c.split(d).join("[redacted]"))}return c}async function v({provider:a,action:b=null,requestId:c=null,rawBody:d=null,contentType:e=null,idempotencyKey:f=null,credentials:g,signal:l,timeoutMs:m=q,log:n,onCredentialsRefreshed:o}){let w,x;if(k.B$[a]?.videoConfig?.executorDriven===!0&&!c&&("generations"===b||"edits"===b))return t({provider:a,rawBody:d,credentials:g,signal:l,log:n,onCredentialsRefreshed:o});let y=s(a);if(!y)return(0,h.A1)(i.gx.BAD_REQUEST,`Provider '${a}' does not support video generation`);if(!c&&!r.has(b))return(0,h.A1)(i.gx.BAD_REQUEST,`Unknown video action: ${b}`);let z=p[a]||null,A=(x="function"==typeof AbortSignal?.timeout?AbortSignal.timeout(m):null,l&&x&&"function"==typeof AbortSignal.any?AbortSignal.any([l,x]):l||x||void 0),B=async()=>{let a,h,i=z?await z.buildRequest({config:y,action:b,requestId:c,rawBody:d,contentType:e,idempotencyKey:f,credentials:g,log:n,token:g?.accessToken||g?.apiKey}):{method:a=c?"GET":"POST",url:(h=y.baseUrl.replace(/\/$/,""),c?`${h}/${encodeURIComponent(c)}`:`${h}/${b}`),headers:function({token:a,contentType:b,idempotencyKey:c}){let d={Accept:"application/json"};return a&&(d.Authorization=`Bearer ${a}`),b&&(d["Content-Type"]=b),c&&(d["Idempotency-Key"]=c),d}({token:g?.accessToken||g?.apiKey,contentType:"POST"===a?e:null,idempotencyKey:"POST"===a?f:null}),body:"POST"===a?d:void 0};return i.error?{planError:i.error}:{response:await fetch(i.url,{method:i.method,headers:i.headers,body:i.body,signal:A})}},C=c?"GET":"POST";try{let b=await B();if(b.planError)return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] ${b.planError}`);w=b.response}catch(b){if(b?.name==="AbortError"||b?.name==="TimeoutError")return(0,h.A1)(i.gx.REQUEST_TIMEOUT,`[${a}] video ${C} aborted: ${b.message}`);return(0,h.A1)(i.gx.BAD_GATEWAY,u(`[${a}] video upstream fetch failed: ${b.message}`,g))}if((w.status===i.gx.UNAUTHORIZED||w.status===i.gx.FORBIDDEN)&&g?.refreshToken){let b=null;try{b=await (0,j.$B)(a,g,n)}catch(b){n?.warn?.("TOKEN",`${a} | video refresh error: ${u(b.message,g)}`)}if(b?.accessToken){n?.info?.("TOKEN",`${a.toUpperCase()} | refreshed for video ${C}`),Object.assign(g,b),o&&await o(b);try{await w.body?.cancel?.()}catch{}try{let b=await B();if(b.planError)return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] ${b.planError}`);w=b.response}catch(b){return(0,h.A1)(i.gx.BAD_GATEWAY,u(`[${a}] video retry after refresh failed: ${b.message}`,g))}}else n?.warn?.("TOKEN",`${a.toUpperCase()} | video refresh failed — account needs re-auth`)}let D=await w.text().catch(()=>"");if(!w.ok){let b=u(D||`HTTP ${w.status}`,g);return(0,h.A1)(w.status,`[${a}] ${b.slice(0,2e3)}`)}let E=D,F=w.headers.get("content-type")||"application/json";if(z?.transformResponse)try{E=JSON.stringify(z.transformResponse(JSON.parse(D))),F="application/json"}catch{}return{success:!0,response:new Response(E,{status:w.status,headers:{"Content-Type":F,"Access-Control-Allow-Origin":"*"}})}}var w=c(67828),x=c(7803);let y=new Set(["veoaifree-web"]);async function z(a,b){if(b){let a=await (0,e.Mc)(b).catch(()=>null);if(a?.provider&&s(a.provider))return a.provider}let c=new URL(a.url).searchParams.get("provider");return c&&s(c)?c:"xai"}let A=new Set([i.gx.UNAUTHORIZED,i.gx.FORBIDDEN,i.gx.RATE_LIMITED]);async function B(a){let b=(0,d.Tr)(a);if((await (0,e.mt)()).requireApiKey){if(!b)return(0,h.yj)(i.gx.UNAUTHORIZED,"Missing API key");if(!await (0,d.kI)(b))return(0,h.yj)(i.gx.UNAUTHORIZED,"Invalid API key")}return null}async function C(a){let b=a.headers.get("content-type")||"";if(b.includes("application/json")){let c,d=await a.text();try{c=JSON.parse(d)}catch{return{error:(0,h.yj)(i.gx.BAD_REQUEST,"Invalid JSON body")}}return{raw:d,parsed:c,contentType:b}}return{raw:Buffer.from(await a.arrayBuffer()),parsed:null,contentType:b}}async function D(a){if(!a?.model)return{provider:"xai",model:null};let b=String(a.model),c=await (0,f.mA)(b);return c.provider?s(c.provider)?{provider:c.provider,model:c.model}:b.includes("/")?{error:(0,h.yj)(i.gx.BAD_REQUEST,`Provider '${c.provider}' does not support video generation`)}:{provider:"xai",model:b}:{error:(0,h.yj)(i.gx.BAD_REQUEST,"Combos are not supported for video generation")}}function E(a,b){if(!b)return a;let c=new Headers(a.headers);return c.set("x-9router-connection-id",String(b)),new Response(a.body,{status:a.status,headers:c})}async function F(a,b){let c=await B(a);if(c)return c;let e=await C(a);if(e.error)return e.error;let f=await D(e.parsed);if(f.error)return f.error;let{provider:j,model:k}=f,l=await (0,g.QU)(await (0,g.TM)(a),e.parsed?.model?String(e.parsed.model):"",j,k);if(l)return l;let m=e.raw;e.parsed&&k&&e.parsed.model!==k&&(m=JSON.stringify({...e.parsed,model:k}));let n=a.headers.get("x-connection-id")||null,o=a.headers.get("idempotency-key")||null;if(y.has(j)){let c=await v({provider:j,action:b,rawBody:m,contentType:e.contentType||null,idempotencyKey:null,credentials:null,signal:a.signal,log:x});return c.success?c.response:(0,h.yj)(c.status||i.gx.BAD_GATEWAY,c.error||"Video generation failed")}let p=new Set,q=null,r=null;for(;;){let c=await (0,d.c1)(j,p,k,{preferredConnectionId:n});if(!c||c.allRateLimited){if(c?.allRateLimited){let a=q||c.lastError||"Unavailable",b=r||Number(c.lastErrorCode)||i.gx.SERVICE_UNAVAILABLE;return(0,h.wO)(b,`[${j}/${k||"video"}] ${a}`,c.retryAfter,c.retryAfterHuman)}if(0===p.size)return(0,h.yj)(i.gx.BAD_REQUEST,`No credentials for provider: ${j}`);return(0,h.yj)(r||i.gx.SERVICE_UNAVAILABLE,q||"All accounts unavailable")}let f=await (0,w.checkAndRefreshToken)(j,c),g=await v({provider:j,action:b,rawBody:m,contentType:e.contentType||null,idempotencyKey:o,credentials:f,signal:a.signal,log:x,onCredentialsRefreshed:async a=>{await (0,w.vN)(c.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData,testStatus:"active"})}});if(g.success)return await (0,d.Pt)(c.connectionId,c,k),x.info("VIDEO",`${j.toUpperCase()} | ${b} accepted (connection ${c.connectionId})`),E(g.response,c.connectionId);let{shouldFallback:l}=await (0,d.vk)(c.connectionId,g.status,u(g.error,f),j,k);if(l&&A.has(g.status)){p.add(c.connectionId),q=g.error,r=g.status;continue}return g.response}}async function G(a,b){let c=await B(a);if(c)return c;if(!b)return(0,h.yj)(i.gx.BAD_REQUEST,"Missing video request id");let e=a.headers.get("x-connection-id")||null,f=await z(a,e),j=await (0,g.cZ)(await (0,g.TM)(a),f);if(j)return j;let k=await (0,d.c1)(f,null,null,{preferredConnectionId:e});if(!k||k.allRateLimited)return(0,h.yj)(i.gx.BAD_REQUEST,`No credentials for provider: ${f}`);let l=await (0,w.checkAndRefreshToken)(f,k),m=await v({provider:f,requestId:b,credentials:l,signal:a.signal,log:x,onCredentialsRefreshed:async a=>{await (0,w.vN)(k.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})}});return m.success?(await (0,d.Pt)(k.connectionId,k,null),E(m.response,k.connectionId)):(await (0,d.vk)(k.connectionId,m.status,u(m.error,l),f,null),m.response)}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return h}});let d=c(28208),e=c(47617),f=c(62018),g=["content-length","content-encoding","transfer-encoding"];async function h(a,b,c,h){if((0,d.isNodeNextResponse)(b)){var i;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(i=c.headers)||i.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase()&&!g.includes(c))if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:j}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,j,h):j.end()}}},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
1
+ "use strict";exports.id=794,exports.ids=[615,794],exports.modules={19225:(a,b,c)=>{a.exports=c(44870)},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:()=>B,wb:()=>A,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,HQ:()=>y,QA:()=>z,rs:()=>u});var d=c(24478);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.apiKeyOptionalWith?{apiKeyOptionalWith:a.apiKeyOptionalWith}:{},...a.credentialForm?{credentialForm:a.credentialForm}:{}}}(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=new Set;for(let a of d.default)for(let b of[a.id,a.alias,a.uiAlias,...a.aliases||[]])b&&x.add(b);function y(a){return x.has(a)}function z(a,b){let c=s[a];return!(!(c?.serviceKinds||["llm"]).includes(b)||c?.hiddenKinds?.includes(b))}let A=d.default.filter(a=>a.features?.usage).map(a=>a.id),B=d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},66581:(a,b,c)=>{c.d(b,{g:()=>F,s:()=>G});var d=c(95827),e=c(89718),f=c(38775),g=c(27811),h=c(43659),i=c(41004),j=c(8590),k=c(26070);let l=new Set(["generations"]);function m(a,b){return{Accept:"application/json",...a.headers||{},...b?{Authorization:`Bearer ${b}`}:{}}}let n=/^projects\/[^/]+\/locations\/[^/]+\/publishers\/[^/]+\/models\/[^/]+\/operations\/[^/]+$/;async function o(a,b){let c=(0,j.Sc)(a?.apiKey),d=c?.project_id||a?.projectId||a?.providerSpecificData?.projectId,e=a?.providerSpecificData?.location||"us-central1";if(!d)return{error:"Vertex video requires a project_id — use Service Account JSON or set providerSpecificData.projectId"};let f=a?.accessToken;if(c){let a=await (0,j.pb)(c,b);if(!a?.accessToken)return{error:"Vertex video: failed to mint access token from service account JSON"};f=a.accessToken}return f?{token:f,projectId:d,location:e}:{error:"Vertex video requires Service Account JSON or an OAuth access token (raw API keys are not supported)"}}let p={openrouter:{buildRequest({config:a,action:b,requestId:c,rawBody:d,contentType:e,token:f}){let g=a.baseUrl.replace(/\/$/,"");return c?{method:"GET",url:`${g}/${encodeURIComponent(c)}`,headers:m(a,f)}:l.has(b)?e&&!e.includes("application/json")?{error:"OpenRouter video requires an application/json body"}:{method:"POST",url:g,headers:{...m(a,f),"Content-Type":"application/json"},body:d}:{error:`OpenRouter video supports 'generations' only (got '${b}')`}}},vertex:{async buildRequest({config:a,action:b,requestId:c,rawBody:d,contentType:e,credentials:f,log:g}){let h;if(e&&!e.includes("application/json"))return{error:"Vertex video requires an application/json body"};let i=await o(f,g);if(i.error)return{error:i.error};let{token:j,projectId:k,location:l}=i,m=(a.baseUrl||"https://aiplatform.googleapis.com").replace(/\/$/,""),p={Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${j}`};if(c){let a=function(a){let b=String(a??"");if(!b||b.length>1024||!/^[A-Za-z0-9_-]+$/.test(b))return null;let c=Buffer.from(b,"base64url").toString("utf8");return Buffer.from(c,"utf8").toString("base64url")!==b?null:n.test(c)?c:null}(c);return a?{method:"POST",url:`${m}/v1/${a.slice(0,a.indexOf("/operations/"))}:fetchPredictOperation`,headers:p,body:JSON.stringify({operationName:a})}:{error:"Invalid Vertex video job id"}}if("generations"!==b)return{error:`Vertex video supports 'generations' only (got '${b}')`};try{h=JSON.parse("string"==typeof d?d:d.toString("utf8"))}catch{return{error:"Invalid JSON body"}}return h.model?/^[A-Za-z0-9._-]+$/.test(h.model)?h.prompt||h.image||h.image_url?{method:"POST",url:`${m}/v1/projects/${k}/locations/${l}/publishers/google/models/${h.model}:predictLongRunning`,headers:p,body:JSON.stringify(function(a){let b={prompt:a.prompt},c=a.image??a.image_url;if(c&&"object"==typeof c)b.image=c;else if("string"==typeof c){let a=c.match(/^data:([^;]+);base64,(.*)$/s);b.image=a?{bytesBase64Encoded:a[2],mimeType:a[1]}:{gcsUri:c}}a.video&&"object"==typeof a.video&&(b.video=a.video);let d={};return null!=a.n&&(d.sampleCount=Number(a.n)),null!=a.duration&&(d.durationSeconds=Number(a.duration)),a.aspect_ratio&&(d.aspectRatio=a.aspect_ratio),a.resolution&&(d.resolution=a.resolution),null!=a.seed&&(d.seed=a.seed),a.negative_prompt&&(d.negativePrompt=a.negative_prompt),a.storage_uri&&(d.storageUri=a.storage_uri),null!=a.generate_audio&&(d.generateAudio=!!a.generate_audio),{instances:[b],...Object.keys(d).length?{parameters:d}:{}}}(h))}:{error:"Vertex video requires a prompt or an image"}:{error:"Invalid Vertex video model id"}:{error:"Vertex video requires a model (e.g. vertex/veo-3.1-generate-preview)"}},transformResponse:function(a){let b;if(!a?.name)return a;let c=(b=a.name,Buffer.from(b,"utf8").toString("base64url"));if(a.error)return{id:c,request_id:c,status:"failed",error:a.error};if(!a.done)return{id:c,request_id:c,status:"pending"};let d=(a.response?.videos||a.response?.generateVideoResponse?.generatedSamples||[]).map(a=>({url:a.gcsUri||a.video?.uri||a.uri||null,b64_json:a.bytesBase64Encoded||a.video?.bytesBase64Encoded||null,mime_type:a.mimeType||a.video?.mimeType||"video/mp4"}));return{id:c,request_id:c,status:"completed",video:d[0]||null,videos:d}}}},q=Number(process.env.VIDEO_FETCH_TIMEOUT_MS||12e4),r=new Set(["generations","edits","extensions"]);function s(a){return k.B$[a]?.videoConfig||null}async function t({provider:a,rawBody:b,credentials:d,signal:e,log:f,onCredentialsRefreshed:g}){let j={};try{j=JSON.parse("string"==typeof b?b:String(b||"{}"))}catch{return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] invalid video request body`)}if(!j.prompt)return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] video request requires a prompt`);let k=[].concat(j.image??j.image_url??[]).concat(Array.isArray(j.images)?j.images:[]).concat(Array.isArray(j.image_urls)?j.image_urls:[]).filter(a=>"string"==typeof a&&a),{getExecutor:l}=await Promise.all([c.e(7774),c.e(7801),c.e(8920),c.e(24),c.e(7843),c.e(8623),c.e(2578),c.e(3225),c.e(702),c.e(8591),c.e(4957),c.e(614),c.e(7877),c.e(2380),c.e(2327),c.e(5330),c.e(1356)]).then(c.bind(c,55330)),m=l(a);if(!m?.generateMedia)return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] has no executor video support`);try{let b=d?.apiKey,[c]=await m.generateMedia({prompt:j.prompt,kind:"video",size:j.size,model:j.model,duration:j.seconds??j.duration,resolution:j.resolution,n:1,images:k,credentials:d,signal:e,log:f}),h=`data:${c.mime||"video/mp4"};base64,${c.b64}`;return g&&d?.apiKey&&d.apiKey!==b&&await g({apiKey:d.apiKey}),{success:!0,response:new Response(JSON.stringify({id:`video-${a}-${Date.now()}`,object:"video.generation",created:Math.floor(Date.now()/1e3),model:j.model||a,status:"completed",video:{url:h,...c.width?{width:c.width}:{},...c.height?{height:c.height}:{}}}),{status:200,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(e){let b=u(e?.message||"video generation failed",d),c=e?.status&&Number.isInteger(e.status)?e.status:502;return(0,h.A1)(c,`[${a}] ${b}`)}}function u(a,b=null){if(!a)return a;let c=String(a).replace(/Bearer\s+[A-Za-z0-9._~+/=-]{8,}/gi,"Bearer [redacted]");for(let a of["accessToken","refreshToken","apiKey"]){let d=b?.[a];"string"==typeof d&&d.length>=8&&(c=c.split(d).join("[redacted]"))}return c}async function v({provider:a,action:b=null,requestId:c=null,rawBody:d=null,contentType:e=null,idempotencyKey:f=null,credentials:g,signal:l,timeoutMs:m=q,log:n,onCredentialsRefreshed:o}){let w,x;if(k.B$[a]?.videoConfig?.executorDriven===!0&&!c&&("generations"===b||"edits"===b))return t({provider:a,rawBody:d,credentials:g,signal:l,log:n,onCredentialsRefreshed:o});let y=s(a);if(!y)return(0,h.A1)(i.gx.BAD_REQUEST,`Provider '${a}' does not support video generation`);if(!c&&!r.has(b))return(0,h.A1)(i.gx.BAD_REQUEST,`Unknown video action: ${b}`);let z=p[a]||null,A=(x="function"==typeof AbortSignal?.timeout?AbortSignal.timeout(m):null,l&&x&&"function"==typeof AbortSignal.any?AbortSignal.any([l,x]):l||x||void 0),B=async()=>{let a,h,i=z?await z.buildRequest({config:y,action:b,requestId:c,rawBody:d,contentType:e,idempotencyKey:f,credentials:g,log:n,token:g?.accessToken||g?.apiKey}):{method:a=c?"GET":"POST",url:(h=y.baseUrl.replace(/\/$/,""),c?`${h}/${encodeURIComponent(c)}`:`${h}/${b}`),headers:function({token:a,contentType:b,idempotencyKey:c}){let d={Accept:"application/json"};return a&&(d.Authorization=`Bearer ${a}`),b&&(d["Content-Type"]=b),c&&(d["Idempotency-Key"]=c),d}({token:g?.accessToken||g?.apiKey,contentType:"POST"===a?e:null,idempotencyKey:"POST"===a?f:null}),body:"POST"===a?d:void 0};return i.error?{planError:i.error}:{response:await fetch(i.url,{method:i.method,headers:i.headers,body:i.body,signal:A})}},C=c?"GET":"POST";try{let b=await B();if(b.planError)return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] ${b.planError}`);w=b.response}catch(b){if(b?.name==="AbortError"||b?.name==="TimeoutError")return(0,h.A1)(i.gx.REQUEST_TIMEOUT,`[${a}] video ${C} aborted: ${b.message}`);return(0,h.A1)(i.gx.BAD_GATEWAY,u(`[${a}] video upstream fetch failed: ${b.message}`,g))}if((w.status===i.gx.UNAUTHORIZED||w.status===i.gx.FORBIDDEN)&&g?.refreshToken){let b=null;try{b=await (0,j.$B)(a,g,n)}catch(b){n?.warn?.("TOKEN",`${a} | video refresh error: ${u(b.message,g)}`)}if(b?.accessToken){n?.info?.("TOKEN",`${a.toUpperCase()} | refreshed for video ${C}`),Object.assign(g,b),o&&await o(b);try{await w.body?.cancel?.()}catch{}try{let b=await B();if(b.planError)return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] ${b.planError}`);w=b.response}catch(b){return(0,h.A1)(i.gx.BAD_GATEWAY,u(`[${a}] video retry after refresh failed: ${b.message}`,g))}}else n?.warn?.("TOKEN",`${a.toUpperCase()} | video refresh failed — account needs re-auth`)}let D=await w.text().catch(()=>"");if(!w.ok){let b=u(D||`HTTP ${w.status}`,g);return(0,h.A1)(w.status,`[${a}] ${b.slice(0,2e3)}`)}let E=D,F=w.headers.get("content-type")||"application/json";if(z?.transformResponse)try{E=JSON.stringify(z.transformResponse(JSON.parse(D))),F="application/json"}catch{}return{success:!0,response:new Response(E,{status:w.status,headers:{"Content-Type":F,"Access-Control-Allow-Origin":"*"}})}}var w=c(67828),x=c(7803);let y=new Set(["veoaifree-web"]);async function z(a,b){if(b){let a=await (0,e.Mc)(b).catch(()=>null);if(a?.provider&&s(a.provider))return a.provider}let c=new URL(a.url).searchParams.get("provider");return c&&s(c)?c:"xai"}let A=new Set([i.gx.UNAUTHORIZED,i.gx.FORBIDDEN,i.gx.RATE_LIMITED]);async function B(a){let b=(0,d.Tr)(a);if((await (0,e.mt)()).requireApiKey){if(!b)return(0,h.yj)(i.gx.UNAUTHORIZED,"Missing API key");if(!await (0,d.kI)(b))return(0,h.yj)(i.gx.UNAUTHORIZED,"Invalid API key")}return null}async function C(a){let b=a.headers.get("content-type")||"";if(b.includes("application/json")){let c,d=await a.text();try{c=JSON.parse(d)}catch{return{error:(0,h.yj)(i.gx.BAD_REQUEST,"Invalid JSON body")}}return{raw:d,parsed:c,contentType:b}}return{raw:Buffer.from(await a.arrayBuffer()),parsed:null,contentType:b}}async function D(a){if(!a?.model)return{provider:"xai",model:null};let b=String(a.model),c=await (0,f.mA)(b);return c.provider?s(c.provider)?{provider:c.provider,model:c.model}:b.includes("/")?{error:(0,h.yj)(i.gx.BAD_REQUEST,`Provider '${c.provider}' does not support video generation`)}:{provider:"xai",model:b}:{error:(0,h.yj)(i.gx.BAD_REQUEST,"Combos are not supported for video generation")}}function E(a,b){if(!b)return a;let c=new Headers(a.headers);return c.set("x-9router-connection-id",String(b)),new Response(a.body,{status:a.status,headers:c})}async function F(a,b){let c=await B(a);if(c)return c;let e=await C(a);if(e.error)return e.error;let f=await D(e.parsed);if(f.error)return f.error;let{provider:j,model:k}=f,l=await (0,g.QU)(await (0,g.TM)(a),e.parsed?.model?String(e.parsed.model):"",j,k);if(l)return l;let m=e.raw;e.parsed&&k&&e.parsed.model!==k&&(m=JSON.stringify({...e.parsed,model:k}));let n=a.headers.get("x-connection-id")||null,o=a.headers.get("idempotency-key")||null;if(y.has(j)){let c=await v({provider:j,action:b,rawBody:m,contentType:e.contentType||null,idempotencyKey:null,credentials:null,signal:a.signal,log:x});return c.success?c.response:(0,h.yj)(c.status||i.gx.BAD_GATEWAY,c.error||"Video generation failed")}let p=new Set,q=null,r=null;for(;;){let c=await (0,d.c1)(j,p,k,{preferredConnectionId:n});if(!c||c.allRateLimited){if(c?.allRateLimited){let a=q||c.lastError||"Unavailable",b=r||Number(c.lastErrorCode)||i.gx.SERVICE_UNAVAILABLE;return(0,h.wO)(b,`[${j}/${k||"video"}] ${a}`,c.retryAfter,c.retryAfterHuman)}if(0===p.size)return(0,h.yj)(i.gx.BAD_REQUEST,`No credentials for provider: ${j}`);return(0,h.yj)(r||i.gx.SERVICE_UNAVAILABLE,q||"All accounts unavailable")}let f=await (0,w.checkAndRefreshToken)(j,c),g=await v({provider:j,action:b,rawBody:m,contentType:e.contentType||null,idempotencyKey:o,credentials:f,signal:a.signal,log:x,onCredentialsRefreshed:async a=>{await (0,w.vN)(c.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData,testStatus:"active"})}});if(g.success)return await (0,d.Pt)(c.connectionId,c,k),x.info("VIDEO",`${j.toUpperCase()} | ${b} accepted (connection ${c.connectionId})`),E(g.response,c.connectionId);let{shouldFallback:l}=await (0,d.vk)(c.connectionId,g.status,u(g.error,f),j,k);if(l&&A.has(g.status)){p.add(c.connectionId),q=g.error,r=g.status;continue}return g.response}}async function G(a,b){let c=await B(a);if(c)return c;if(!b)return(0,h.yj)(i.gx.BAD_REQUEST,"Missing video request id");let e=a.headers.get("x-connection-id")||null,f=await z(a,e),j=await (0,g.cZ)(await (0,g.TM)(a),f);if(j)return j;let k=await (0,d.c1)(f,null,null,{preferredConnectionId:e});if(!k||k.allRateLimited)return(0,h.yj)(i.gx.BAD_REQUEST,`No credentials for provider: ${f}`);let l=await (0,w.checkAndRefreshToken)(f,k),m=await v({provider:f,requestId:b,credentials:l,signal:a.signal,log:x,onCredentialsRefreshed:async a=>{await (0,w.vN)(k.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})}});return m.success?(await (0,d.Pt)(k.connectionId,k,null),E(m.response,k.connectionId)):(await (0,d.vk)(k.connectionId,m.status,u(m.error,l),f,null),m.response)}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return h}});let d=c(28208),e=c(47617),f=c(62018),g=["content-length","content-encoding","transfer-encoding"];async function h(a,b,c,h){if((0,d.isNodeNextResponse)(b)){var i;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(i=c.headers)||i.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase()&&!g.includes(c))if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:j}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,j,h):j.end()}}},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
@@ -1 +1 @@
1
- "use strict";exports.id=8238,exports.ids=[8238],exports.modules={30869:(a,b,c)=>{c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"9router",installCmd:"npm i -g 9router",installCmdLatest:"npm i -g 9router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.6-terra",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},38238:(a,b,c)=>{c.d(b,{P:()=>j});var d=c(89718),e=c(40615),f=c(54098),g=c(30869),h=c(54603);async function i(){let a=null;try{let b=(await (0,d.PX)()).filter(a=>!1!==a.isActive);a=(b.find(a=>!a.access?.restricted)||b[0])?.key||null}catch{}let b={"Content-Type":"application/json"};return a&&(b.Authorization=`Bearer ${a}`),b["x-9r-cli-token"]=await (0,h.Xj)("9r-cli-auth"),b}async function j(a,b,c=`http://127.0.0.1:${process.env.PORT||g.h0.appPort}`){let d=await i(),h=Date.now();if("embedding"===b){let b=await fetch(`${c}/api/v1/embeddings`,{method:"POST",headers:d,body:JSON.stringify({model:a,input:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-h,f=await b.text().catch(()=>""),g=null;try{g=f?JSON.parse(f):null}catch{}if(!b.ok){let a=g?.error?.message||g?.error||f;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(g?.data)&&g.data.length>0&&Array.isArray(g.data[0]?.embedding)?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no embedding data"}}if("image"===b){let b=await fetch(`${c}/api/v1/images/generations`,{method:"POST",headers:d,body:JSON.stringify({model:a,prompt:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-h,f=await b.text().catch(()=>""),g=null;try{g=f?JSON.parse(f):null}catch{}if(!b.ok){let a=g?.error?.message||g?.msg||g?.message||g?.error||f;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(g?.data)&&g.data.length>0?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no image data for this model"}}if("stt"===b){let b,e,f,g,i=new FormData,j=(f=new DataView(e=new ArrayBuffer(44+(b=8e3))),(g=(a,b)=>{for(let c=0;c<b.length;c+=1)f.setUint8(a+c,b.charCodeAt(c))})(0,"RIFF"),f.setUint32(4,36+b,!0),g(8,"WAVE"),g(12,"fmt "),f.setUint32(16,16,!0),f.setUint16(20,1,!0),f.setUint16(22,1,!0),f.setUint32(24,16e3,!0),f.setUint32(28,32e3,!0),f.setUint16(32,2,!0),f.setUint16(34,16,!0),g(36,"data"),f.setUint32(40,b,!0),new Blob([e],{type:"audio/wav"}));i.append("file",j,"test.wav"),i.append("model",a);let k=await fetch(`${c}/api/v1/audio/transcriptions`,{method:"POST",headers:Object.fromEntries(Object.entries(d).filter(([a])=>"content-type"!==a.toLowerCase())),body:i,signal:AbortSignal.timeout(15e3)}),l=Date.now()-h,m=await k.text().catch(()=>""),n=null;try{n=m?JSON.parse(m):null}catch{}if(!k.ok){let a=n?.error?.message||n?.msg||n?.message||n?.error||m;return{ok:!1,latencyMs:l,error:`HTTP ${k.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:k.status}}return("string"==typeof n?.text?n.text:"").trim()?{ok:!0,latencyMs:l,error:null,status:k.status}:{ok:!1,latencyMs:l,status:k.status,error:"Provider returned no transcription text for this model"}}if("systemone"===b){let b=await fetch(`${c}/api/v1/systemone`,{method:"POST",headers:d,body:JSON.stringify({model:a,state:"Customer: I was charged twice for my order this morning.",questions:{probe:{type:"noul",instructions:"Is the customer reporting a billing problem?"}}}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-h,f=await b.text().catch(()=>""),g=null;try{g=f?JSON.parse(f):null}catch{}if(!b.ok){let a=g?.error?.message||g?.msg||g?.message||g?.error||f;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return g?.answers&&"object"==typeof g.answers&&Object.keys(g.answers).length>0?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no answers for this model"}}let k=await fetch(`${c}/api/v1/chat/completions`,{method:"POST",headers:d,body:JSON.stringify({model:a,max_tokens:1024,stream:!1,messages:[{role:"user",content:"hi"}]}),signal:AbortSignal.timeout(15e3)}),l=Date.now()-h,m=await k.text().catch(()=>""),n=null;try{n=m?JSON.parse(m):null}catch{}let o=(0,e.rs)(String(a).split("/")[0]);if(n=(0,f.x)(n,o),!k.ok){let a=n?.error?.message||n?.msg||n?.message||n?.error||m;return{ok:!1,latencyMs:l,error:`HTTP ${k.status}${a?`: ${String(a).slice(0,500)}`:""}`,status:k.status}}let p=n?.status,q=n?.msg||n?.message;if(null!=p&&"200"!==String(p)&&"0"!==String(p)&&q)return{ok:!1,latencyMs:l,status:k.status,error:`Provider status ${p}: ${String(q).slice(0,240)}`};if(n?.error){let a=n?.error?.message||n?.error||"Provider returned an error";return{ok:!1,latencyMs:l,status:k.status,error:String(a).slice(0,240)}}let r=Array.isArray(n?.choices)&&n.choices.length>0,s=n?.choices?.[0]||{},t=s.message?.reasoning||s.message?.reasoning_content||s.message?.thinking||s.message?.thinking_content,u=!String(s.message?.content||"").trim();return r&&"length"===s.finish_reason&&u&&t?{ok:!0,latencyMs:l,error:null,status:k.status,note:"reasoning-only response (length-limited)"}:r?{ok:!0,latencyMs:l,error:null,status:k.status}:{ok:!1,latencyMs:l,status:k.status,error:"Provider returned no completion choices for this model"}}},39006:a=>{a.exports={rE:"0.6.26"}},54098:(a,b,c)=>{c.d(b,{x:()=>e});var d=c(26070);function e(a,b){if(!b||!d.xq[b]?.quirks?.clineEnvelope)return a;let{success:c,data:e}=a||{};return!0!==c||!e||"object"!=typeof e||Array.isArray(e)?a:e}},54603:(a,b,c)=>{c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},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,TZ:()=>d.TZ,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,h1:()=>d.h1,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oF:()=>d.oF,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(83192)}};
1
+ "use strict";exports.id=8238,exports.ids=[8238],exports.modules={30869:(a,b,c)=>{c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"9router",installCmd:"npm i -g 9router",installCmdLatest:"npm i -g 9router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.6-terra",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},38238:(a,b,c)=>{c.d(b,{P:()=>j});var d=c(89718),e=c(40615),f=c(54098),g=c(30869),h=c(54603);async function i(){let a=null;try{let b=(await (0,d.PX)()).filter(a=>!1!==a.isActive);a=(b.find(a=>!a.access?.restricted)||b[0])?.key||null}catch{}let b={"Content-Type":"application/json"};return a&&(b.Authorization=`Bearer ${a}`),b["x-9r-cli-token"]=await (0,h.Xj)("9r-cli-auth"),b}async function j(a,b,c=`http://127.0.0.1:${process.env.PORT||g.h0.appPort}`){let d=await i(),h=Date.now();if("embedding"===b){let b=await fetch(`${c}/api/v1/embeddings`,{method:"POST",headers:d,body:JSON.stringify({model:a,input:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-h,f=await b.text().catch(()=>""),g=null;try{g=f?JSON.parse(f):null}catch{}if(!b.ok){let a=g?.error?.message||g?.error||f;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(g?.data)&&g.data.length>0&&Array.isArray(g.data[0]?.embedding)?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no embedding data"}}if("image"===b){let b=await fetch(`${c}/api/v1/images/generations`,{method:"POST",headers:d,body:JSON.stringify({model:a,prompt:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-h,f=await b.text().catch(()=>""),g=null;try{g=f?JSON.parse(f):null}catch{}if(!b.ok){let a=g?.error?.message||g?.msg||g?.message||g?.error||f;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(g?.data)&&g.data.length>0?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no image data for this model"}}if("stt"===b){let b,e,f,g,i=new FormData,j=(f=new DataView(e=new ArrayBuffer(44+(b=8e3))),(g=(a,b)=>{for(let c=0;c<b.length;c+=1)f.setUint8(a+c,b.charCodeAt(c))})(0,"RIFF"),f.setUint32(4,36+b,!0),g(8,"WAVE"),g(12,"fmt "),f.setUint32(16,16,!0),f.setUint16(20,1,!0),f.setUint16(22,1,!0),f.setUint32(24,16e3,!0),f.setUint32(28,32e3,!0),f.setUint16(32,2,!0),f.setUint16(34,16,!0),g(36,"data"),f.setUint32(40,b,!0),new Blob([e],{type:"audio/wav"}));i.append("file",j,"test.wav"),i.append("model",a);let k=await fetch(`${c}/api/v1/audio/transcriptions`,{method:"POST",headers:Object.fromEntries(Object.entries(d).filter(([a])=>"content-type"!==a.toLowerCase())),body:i,signal:AbortSignal.timeout(15e3)}),l=Date.now()-h,m=await k.text().catch(()=>""),n=null;try{n=m?JSON.parse(m):null}catch{}if(!k.ok){let a=n?.error?.message||n?.msg||n?.message||n?.error||m;return{ok:!1,latencyMs:l,error:`HTTP ${k.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:k.status}}return("string"==typeof n?.text?n.text:"").trim()?{ok:!0,latencyMs:l,error:null,status:k.status}:{ok:!1,latencyMs:l,status:k.status,error:"Provider returned no transcription text for this model"}}if("systemone"===b){let b=await fetch(`${c}/api/v1/systemone`,{method:"POST",headers:d,body:JSON.stringify({model:a,state:"Customer: I was charged twice for my order this morning.",questions:{probe:{type:"noul",instructions:"Is the customer reporting a billing problem?"}}}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-h,f=await b.text().catch(()=>""),g=null;try{g=f?JSON.parse(f):null}catch{}if(!b.ok){let a=g?.error?.message||g?.msg||g?.message||g?.error||f;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return g?.answers&&"object"==typeof g.answers&&Object.keys(g.answers).length>0?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no answers for this model"}}let k=await fetch(`${c}/api/v1/chat/completions`,{method:"POST",headers:d,body:JSON.stringify({model:a,max_tokens:1024,stream:!1,messages:[{role:"user",content:"hi"}]}),signal:AbortSignal.timeout(15e3)}),l=Date.now()-h,m=await k.text().catch(()=>""),n=null;try{n=m?JSON.parse(m):null}catch{}let o=(0,e.rs)(String(a).split("/")[0]);if(n=(0,f.x)(n,o),!k.ok){let a=n?.error?.message||n?.msg||n?.message||n?.error||m;return{ok:!1,latencyMs:l,error:`HTTP ${k.status}${a?`: ${String(a).slice(0,500)}`:""}`,status:k.status}}let p=n?.status,q=n?.msg||n?.message;if(null!=p&&"200"!==String(p)&&"0"!==String(p)&&q)return{ok:!1,latencyMs:l,status:k.status,error:`Provider status ${p}: ${String(q).slice(0,240)}`};if(n?.error){let a=n?.error?.message||n?.error||"Provider returned an error";return{ok:!1,latencyMs:l,status:k.status,error:String(a).slice(0,240)}}let r=Array.isArray(n?.choices)&&n.choices.length>0,s=n?.choices?.[0]||{},t=s.message?.reasoning||s.message?.reasoning_content||s.message?.thinking||s.message?.thinking_content,u=!String(s.message?.content||"").trim();return r&&"length"===s.finish_reason&&u&&t?{ok:!0,latencyMs:l,error:null,status:k.status,note:"reasoning-only response (length-limited)"}:r?{ok:!0,latencyMs:l,error:null,status:k.status}:{ok:!1,latencyMs:l,status:k.status,error:"Provider returned no completion choices for this model"}}},39006:a=>{a.exports={rE:"0.6.27"}},54098:(a,b,c)=>{c.d(b,{x:()=>e});var d=c(26070);function e(a,b){if(!b||!d.xq[b]?.quirks?.clineEnvelope)return a;let{success:c,data:e}=a||{};return!0!==c||!e||"object"!=typeof e||Array.isArray(e)?a:e}},54603:(a,b,c)=>{c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},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,TZ:()=>d.TZ,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,h1:()=>d.h1,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oF:()=>d.oF,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(83192)}};
@@ -1 +1 @@
1
- {"version":1,"files":["../package.json","chunks/1004.js","chunks/1133.js","chunks/1220.js","chunks/1248.js","chunks/1260.js","chunks/1306.js","chunks/1329.js","chunks/1350.js","chunks/1356.js","chunks/1455.js","chunks/1679.js","chunks/1757.js","chunks/1813.js","chunks/1998.js","chunks/21.js","chunks/2214.js","chunks/2220.js","chunks/2327.js","chunks/2380.js","chunks/2391.js","chunks/24.js","chunks/2409.js","chunks/241.js","chunks/2430.js","chunks/2578.js","chunks/2750.js","chunks/2760.js","chunks/2822.js","chunks/2970.js","chunks/3016.js","chunks/3225.js","chunks/3256.js","chunks/341.js","chunks/3449.js","chunks/3459.js","chunks/3535.js","chunks/3546.js","chunks/3593.js","chunks/3726.js","chunks/3835.js","chunks/3943.js","chunks/3966.js","chunks/4055.js","chunks/412.js","chunks/4123.js","chunks/4152.js","chunks/4190.js","chunks/4279.js","chunks/4293.js","chunks/4478.js","chunks/4730.js","chunks/4739.js","chunks/4780.js","chunks/4882.js","chunks/4956.js","chunks/4957.js","chunks/5026.js","chunks/507.js","chunks/5081.js","chunks/5217.js","chunks/5258.js","chunks/5299.js","chunks/5308.js","chunks/5330.js","chunks/5573.js","chunks/5615.js","chunks/595.js","chunks/6070.js","chunks/614.js","chunks/615.js","chunks/6171.js","chunks/6457.js","chunks/6638.js","chunks/6708.js","chunks/6763.js","chunks/6777.js","chunks/6844.js","chunks/6877.js","chunks/6921.js","chunks/698.js","chunks/7066.js","chunks/7121.js","chunks/7187.js","chunks/7220.js","chunks/7247.js","chunks/7525.js","chunks/7557.js","chunks/7573.js","chunks/7716.js","chunks/7774.js","chunks/778.js","chunks/7801.js","chunks/7828.js","chunks/7843.js","chunks/7877.js","chunks/7913.js","chunks/794.js","chunks/7965.js","chunks/7995.js","chunks/8238.js","chunks/8251.js","chunks/8271.js","chunks/8292.js","chunks/8332.js","chunks/8402.js","chunks/8416.js","chunks/8520.js","chunks/8591.js","chunks/8623.js","chunks/8895.js","chunks/8920.js","chunks/9055.js","chunks/9100.js","chunks/915.js","chunks/9310.js","chunks/9460.js","chunks/9489.js","chunks/9609.js","webpack-runtime.js"]}
1
+ {"version":1,"files":["../package.json","chunks/1004.js","chunks/1133.js","chunks/1220.js","chunks/1248.js","chunks/1260.js","chunks/1306.js","chunks/1329.js","chunks/1350.js","chunks/1356.js","chunks/1455.js","chunks/1679.js","chunks/1757.js","chunks/1813.js","chunks/1998.js","chunks/21.js","chunks/2214.js","chunks/2220.js","chunks/2224.js","chunks/2327.js","chunks/2380.js","chunks/2391.js","chunks/24.js","chunks/2409.js","chunks/241.js","chunks/2430.js","chunks/2578.js","chunks/2750.js","chunks/2760.js","chunks/2822.js","chunks/2970.js","chunks/3016.js","chunks/3225.js","chunks/3256.js","chunks/341.js","chunks/3449.js","chunks/3459.js","chunks/3535.js","chunks/3546.js","chunks/3593.js","chunks/3726.js","chunks/3835.js","chunks/3943.js","chunks/3966.js","chunks/4055.js","chunks/412.js","chunks/4123.js","chunks/4152.js","chunks/4190.js","chunks/4279.js","chunks/4293.js","chunks/4478.js","chunks/4730.js","chunks/4739.js","chunks/4780.js","chunks/4882.js","chunks/4956.js","chunks/4957.js","chunks/5026.js","chunks/507.js","chunks/5081.js","chunks/5217.js","chunks/5258.js","chunks/5299.js","chunks/5308.js","chunks/5330.js","chunks/5573.js","chunks/5615.js","chunks/595.js","chunks/6070.js","chunks/614.js","chunks/615.js","chunks/6171.js","chunks/6457.js","chunks/6638.js","chunks/6708.js","chunks/6763.js","chunks/6777.js","chunks/6844.js","chunks/6877.js","chunks/6921.js","chunks/698.js","chunks/702.js","chunks/7066.js","chunks/7121.js","chunks/7187.js","chunks/7220.js","chunks/7247.js","chunks/7525.js","chunks/7557.js","chunks/7573.js","chunks/7716.js","chunks/7774.js","chunks/778.js","chunks/7801.js","chunks/7828.js","chunks/7843.js","chunks/7877.js","chunks/794.js","chunks/7965.js","chunks/7995.js","chunks/8238.js","chunks/8251.js","chunks/8271.js","chunks/8292.js","chunks/8332.js","chunks/8416.js","chunks/8520.js","chunks/8591.js","chunks/8623.js","chunks/8895.js","chunks/8920.js","chunks/9055.js","chunks/9100.js","chunks/915.js","chunks/9310.js","chunks/9460.js","chunks/9489.js","chunks/9609.js","webpack-runtime.js"]}
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/FPPZdg4gAT-mc8D-yGfs_/_buildManifest.js","static/FPPZdg4gAT-mc8D-yGfs_/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-d2b96a2313c45c57.js","static/chunks/4bd1b696-8cd12253b448cc13.js","static/chunks/3794-7f7b4709fc32c932.js","static/chunks/main-app-6b83f9262ea4869d.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/zfYHuQvzglYJyhsqgUYWW/_buildManifest.js","static/zfYHuQvzglYJyhsqgUYWW/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-2d6a76068971e74e.js","static/chunks/4bd1b696-8cd12253b448cc13.js","static/chunks/3794-7f7b4709fc32c932.js","static/chunks/main-app-6b83f9262ea4869d.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
@@ -1 +1 @@
1
- {"version":1,"files":["../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../node_modules/@swc/helpers/package.json","../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../node_modules/better-sqlite3/lib/database.js","../../node_modules/better-sqlite3/lib/index.js","../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../node_modules/better-sqlite3/lib/methods/backup.js","../../node_modules/better-sqlite3/lib/methods/function.js","../../node_modules/better-sqlite3/lib/methods/inspect.js","../../node_modules/better-sqlite3/lib/methods/pragma.js","../../node_modules/better-sqlite3/lib/methods/serialize.js","../../node_modules/better-sqlite3/lib/methods/table.js","../../node_modules/better-sqlite3/lib/methods/transaction.js","../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../node_modules/better-sqlite3/lib/sqlite-error.js","../../node_modules/better-sqlite3/lib/util.js","../../node_modules/better-sqlite3/package.json","../../node_modules/bindings/bindings.js","../../node_modules/bindings/package.json","../../node_modules/file-uri-to-path/index.js","../../node_modules/file-uri-to-path/package.json","../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../node_modules/next/dist/client/components/hooks-server-context.js","../../node_modules/next/dist/client/components/static-generation-bailout.js","../../node_modules/next/dist/client/lib/console.js","../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../node_modules/next/dist/compiled/hash.js/sha256/256.js","../../node_modules/next/dist/compiled/hash.js/sha256/package.json","../../node_modules/next/dist/compiled/source-map/package.json","../../node_modules/next/dist/compiled/source-map/source-map.js","../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../node_modules/next/dist/compiled/ws/index.js","../../node_modules/next/dist/compiled/ws/package.json","../../node_modules/next/dist/lib/client-and-server-references.js","../../node_modules/next/dist/lib/constants.js","../../node_modules/next/dist/lib/interop-default.js","../../node_modules/next/dist/lib/is-error.js","../../node_modules/next/dist/lib/picocolors.js","../../node_modules/next/dist/lib/scheduler.js","../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../node_modules/next/dist/server/app-render/async-local-storage.js","../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../node_modules/next/dist/server/app-render/segment-config/ensure-static.js","../../node_modules/next/dist/server/app-render/staged-rendering.js","../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../node_modules/next/dist/server/lib/app-dir-module.js","../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../node_modules/next/dist/server/lib/lru-cache.js","../../node_modules/next/dist/server/lib/parse-stack.js","../../node_modules/next/dist/server/lib/route-cache-key.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../node_modules/next/dist/server/lib/source-maps.js","../../node_modules/next/dist/server/lib/trace/constants.js","../../node_modules/next/dist/server/lib/trace/tracer.js","../../node_modules/next/dist/server/node-environment-baseline.js","../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../node_modules/next/dist/server/node-environment-extensions/date.js","../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../node_modules/next/dist/server/node-environment-extensions/random.js","../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../node_modules/next/dist/server/node-environment.js","../../node_modules/next/dist/server/node-polyfill-crypto.js","../../node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js","../../node_modules/next/dist/server/normalizers/normalizers.js","../../node_modules/next/dist/server/normalizers/underscore-normalizer.js","../../node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js","../../node_modules/next/dist/server/patch-error-inspect.js","../../node_modules/next/dist/server/require-hook.js","../../node_modules/next/dist/server/response-cache/types.js","../../node_modules/next/dist/server/route-kind.js","../../node_modules/next/dist/server/runtime-reacts.external.js","../../node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","../../node_modules/next/dist/shared/lib/invariant-error.js","../../node_modules/next/dist/shared/lib/is-plain-object.js","../../node_modules/next/dist/shared/lib/is-thenable.js","../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../node_modules/next/dist/shared/lib/page-path/normalize-page-path.js","../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../node_modules/next/dist/shared/lib/router/utils/index.js","../../node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../node_modules/next/dist/shared/lib/router/utils/is-dynamic.js","../../node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js","../../node_modules/next/dist/shared/lib/router/utils/sorted-routes.js","../../node_modules/next/dist/shared/lib/segment.js","../../node_modules/next/dist/shared/lib/server-reference-info.js","../../node_modules/next/dist/shared/lib/utils.js","../../node_modules/next/package.json","../../node_modules/sql.js/dist/sql-wasm.js","../../node_modules/sql.js/package.json","../../package.json","../package.json","chunks/1004.js","chunks/1133.js","chunks/1220.js","chunks/1248.js","chunks/1260.js","chunks/1306.js","chunks/1329.js","chunks/1350.js","chunks/1356.js","chunks/1455.js","chunks/1679.js","chunks/1757.js","chunks/1813.js","chunks/1998.js","chunks/21.js","chunks/2214.js","chunks/2220.js","chunks/2327.js","chunks/2380.js","chunks/2391.js","chunks/24.js","chunks/2409.js","chunks/241.js","chunks/2430.js","chunks/2578.js","chunks/2750.js","chunks/2760.js","chunks/2822.js","chunks/2970.js","chunks/3016.js","chunks/3225.js","chunks/3256.js","chunks/341.js","chunks/3449.js","chunks/3459.js","chunks/3535.js","chunks/3546.js","chunks/3593.js","chunks/3726.js","chunks/3835.js","chunks/3943.js","chunks/3966.js","chunks/4055.js","chunks/412.js","chunks/4123.js","chunks/4152.js","chunks/4190.js","chunks/4279.js","chunks/4293.js","chunks/4478.js","chunks/4730.js","chunks/4739.js","chunks/4780.js","chunks/4882.js","chunks/4956.js","chunks/4957.js","chunks/5026.js","chunks/507.js","chunks/5081.js","chunks/5217.js","chunks/5258.js","chunks/5299.js","chunks/5308.js","chunks/5330.js","chunks/5573.js","chunks/5615.js","chunks/595.js","chunks/6070.js","chunks/614.js","chunks/615.js","chunks/6171.js","chunks/6457.js","chunks/6638.js","chunks/6708.js","chunks/6763.js","chunks/6777.js","chunks/6844.js","chunks/6877.js","chunks/6921.js","chunks/698.js","chunks/7066.js","chunks/7121.js","chunks/7187.js","chunks/7220.js","chunks/7247.js","chunks/7525.js","chunks/7557.js","chunks/7573.js","chunks/7716.js","chunks/7774.js","chunks/778.js","chunks/7801.js","chunks/7828.js","chunks/7843.js","chunks/7877.js","chunks/7913.js","chunks/794.js","chunks/7965.js","chunks/7995.js","chunks/8238.js","chunks/8251.js","chunks/8271.js","chunks/8292.js","chunks/8332.js","chunks/8402.js","chunks/8416.js","chunks/8520.js","chunks/8591.js","chunks/8623.js","chunks/8895.js","chunks/8920.js","chunks/9055.js","chunks/9100.js","chunks/915.js","chunks/9310.js","chunks/9460.js","chunks/9489.js","chunks/9609.js","webpack-runtime.js"]}
1
+ {"version":1,"files":["../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../node_modules/@swc/helpers/package.json","../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../node_modules/better-sqlite3/lib/database.js","../../node_modules/better-sqlite3/lib/index.js","../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../node_modules/better-sqlite3/lib/methods/backup.js","../../node_modules/better-sqlite3/lib/methods/function.js","../../node_modules/better-sqlite3/lib/methods/inspect.js","../../node_modules/better-sqlite3/lib/methods/pragma.js","../../node_modules/better-sqlite3/lib/methods/serialize.js","../../node_modules/better-sqlite3/lib/methods/table.js","../../node_modules/better-sqlite3/lib/methods/transaction.js","../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../node_modules/better-sqlite3/lib/sqlite-error.js","../../node_modules/better-sqlite3/lib/util.js","../../node_modules/better-sqlite3/package.json","../../node_modules/bindings/bindings.js","../../node_modules/bindings/package.json","../../node_modules/file-uri-to-path/index.js","../../node_modules/file-uri-to-path/package.json","../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../node_modules/next/dist/client/components/hooks-server-context.js","../../node_modules/next/dist/client/components/static-generation-bailout.js","../../node_modules/next/dist/client/lib/console.js","../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../node_modules/next/dist/compiled/hash.js/sha256/256.js","../../node_modules/next/dist/compiled/hash.js/sha256/package.json","../../node_modules/next/dist/compiled/source-map/package.json","../../node_modules/next/dist/compiled/source-map/source-map.js","../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../node_modules/next/dist/compiled/ws/index.js","../../node_modules/next/dist/compiled/ws/package.json","../../node_modules/next/dist/lib/client-and-server-references.js","../../node_modules/next/dist/lib/constants.js","../../node_modules/next/dist/lib/interop-default.js","../../node_modules/next/dist/lib/is-error.js","../../node_modules/next/dist/lib/picocolors.js","../../node_modules/next/dist/lib/scheduler.js","../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../node_modules/next/dist/server/app-render/async-local-storage.js","../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../node_modules/next/dist/server/app-render/segment-config/ensure-static.js","../../node_modules/next/dist/server/app-render/staged-rendering.js","../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../node_modules/next/dist/server/lib/app-dir-module.js","../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../node_modules/next/dist/server/lib/lru-cache.js","../../node_modules/next/dist/server/lib/parse-stack.js","../../node_modules/next/dist/server/lib/route-cache-key.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../node_modules/next/dist/server/lib/source-maps.js","../../node_modules/next/dist/server/lib/trace/constants.js","../../node_modules/next/dist/server/lib/trace/tracer.js","../../node_modules/next/dist/server/node-environment-baseline.js","../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../node_modules/next/dist/server/node-environment-extensions/date.js","../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../node_modules/next/dist/server/node-environment-extensions/random.js","../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../node_modules/next/dist/server/node-environment.js","../../node_modules/next/dist/server/node-polyfill-crypto.js","../../node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js","../../node_modules/next/dist/server/normalizers/normalizers.js","../../node_modules/next/dist/server/normalizers/underscore-normalizer.js","../../node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js","../../node_modules/next/dist/server/patch-error-inspect.js","../../node_modules/next/dist/server/require-hook.js","../../node_modules/next/dist/server/response-cache/types.js","../../node_modules/next/dist/server/route-kind.js","../../node_modules/next/dist/server/runtime-reacts.external.js","../../node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","../../node_modules/next/dist/shared/lib/invariant-error.js","../../node_modules/next/dist/shared/lib/is-plain-object.js","../../node_modules/next/dist/shared/lib/is-thenable.js","../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../node_modules/next/dist/shared/lib/page-path/normalize-page-path.js","../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../node_modules/next/dist/shared/lib/router/utils/index.js","../../node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../node_modules/next/dist/shared/lib/router/utils/is-dynamic.js","../../node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js","../../node_modules/next/dist/shared/lib/router/utils/sorted-routes.js","../../node_modules/next/dist/shared/lib/segment.js","../../node_modules/next/dist/shared/lib/server-reference-info.js","../../node_modules/next/dist/shared/lib/utils.js","../../node_modules/next/package.json","../../node_modules/sql.js/dist/sql-wasm.js","../../node_modules/sql.js/package.json","../../package.json","../package.json","chunks/1004.js","chunks/1133.js","chunks/1220.js","chunks/1248.js","chunks/1260.js","chunks/1306.js","chunks/1329.js","chunks/1350.js","chunks/1356.js","chunks/1455.js","chunks/1679.js","chunks/1757.js","chunks/1813.js","chunks/1998.js","chunks/21.js","chunks/2214.js","chunks/2220.js","chunks/2224.js","chunks/2327.js","chunks/2380.js","chunks/2391.js","chunks/24.js","chunks/2409.js","chunks/241.js","chunks/2430.js","chunks/2578.js","chunks/2750.js","chunks/2760.js","chunks/2822.js","chunks/2970.js","chunks/3016.js","chunks/3225.js","chunks/3256.js","chunks/341.js","chunks/3449.js","chunks/3459.js","chunks/3535.js","chunks/3546.js","chunks/3593.js","chunks/3726.js","chunks/3835.js","chunks/3943.js","chunks/3966.js","chunks/4055.js","chunks/412.js","chunks/4123.js","chunks/4152.js","chunks/4190.js","chunks/4279.js","chunks/4293.js","chunks/4478.js","chunks/4730.js","chunks/4739.js","chunks/4780.js","chunks/4882.js","chunks/4956.js","chunks/4957.js","chunks/5026.js","chunks/507.js","chunks/5081.js","chunks/5217.js","chunks/5258.js","chunks/5299.js","chunks/5308.js","chunks/5330.js","chunks/5573.js","chunks/5615.js","chunks/595.js","chunks/6070.js","chunks/614.js","chunks/615.js","chunks/6171.js","chunks/6457.js","chunks/6638.js","chunks/6708.js","chunks/6763.js","chunks/6777.js","chunks/6844.js","chunks/6877.js","chunks/6921.js","chunks/698.js","chunks/702.js","chunks/7066.js","chunks/7121.js","chunks/7187.js","chunks/7220.js","chunks/7247.js","chunks/7525.js","chunks/7557.js","chunks/7573.js","chunks/7716.js","chunks/7774.js","chunks/778.js","chunks/7801.js","chunks/7828.js","chunks/7843.js","chunks/7877.js","chunks/794.js","chunks/7965.js","chunks/7995.js","chunks/8238.js","chunks/8251.js","chunks/8271.js","chunks/8292.js","chunks/8332.js","chunks/8416.js","chunks/8520.js","chunks/8591.js","chunks/8623.js","chunks/8895.js","chunks/8920.js","chunks/9055.js","chunks/9100.js","chunks/915.js","chunks/9310.js","chunks/9460.js","chunks/9489.js","chunks/9609.js","webpack-runtime.js"]}
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/2e1a9a933f2e668f.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/a4a1d5192ab47550.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-d2b96a2313c45c57.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-7f7b4709fc32c932.js" async=""></script><script src="/_next/static/chunks/main-app-6b83f9262ea4869d.js" async=""></script><script src="/_next/static/chunks/763-64b80a1ab0aa3cfc.js" async=""></script><script src="/_next/static/chunks/1321-ab7de5caad91b6f2.js" async=""></script><script src="/_next/static/chunks/705-116ff303348e2154.js" async=""></script><script src="/_next/static/chunks/5497-e3d2edeccfd5021d.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-ecd45841ec1ff701.js" async=""></script><script src="/_next/static/chunks/8982-034c1a89a74fd310.js" async=""></script><script src="/_next/static/chunks/app/layout-00c8624593ca90e2.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="robots" content="noindex"/><meta name="theme-color" content="#0a0a0a"/><title>9Router - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script>(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){document.documentElement.classList.add('dark')}}catch(e){}})();</script><script>var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts&&d.fonts.load){d.fonts.load('24px "Material Symbols Outlined"').then(f).catch(f);setTimeout(f,3000)}else{f()}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d8ebd1 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-d2b96a2313c45c57.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"static/chunks/763-64b80a1ab0aa3cfc.js\"\n3:\"static/chunks/1321-ab7de5caad91b6f2.js\"\n4:\"static/chunks/705-116ff303348e2154.js\"\n5:\"static/chunks/5497-e3d2edeccfd5021d.js\"\n6:\"static/chunks/app/(dashboard)/layout-ecd45841ec1ff701.js\"\n7:I[21110,[\"763\",\"$2\",\"1321\",\"$3\",\"705\",\"$4\",\"5497\",\"$5\",\"9305\",\"$6\"],\"ThemeProvider\"]\n8:\"static/chunks/8982-034c1a89a74fd310.js\"\n9:\"static/chunks/app/layout-00c8624593ca90e2.js\"\na:\"RuntimeI18nProvider\"\nb:I[94635,[\"8982\",\"$8\",\"1321\",\"$3\",\"7177\",\"$9\"],\"$a\"]\nc:I[57121,[],\"\"]\nd:I[74581,[],\"\"]\ne:I[30565,[\"8982\",\"$8\",\"1321\",\"$3\",\"7177\",\"$9\"],\"GoogleAnalytics\"]\n12:I[90484,[],\"OutletBoundary\"]\n13:\"$Sreact.suspense\"\n15:\"ViewportBoundary\"\n16:I[90484,[],\"$15\"]\n18:\"MetadataBoundary\"\n19:I[90484,[],\"$18\"]\n1b:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/2e1a9a933f2e668f.css\",\"style\"]\n:HL[\"/_next/static/css/a4a1d5192ab47550.css\",\"style\"]\n10:X\n11:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@14\"}]}]]}],\"p\":false,\"v\":null}}]]\nf:[[\"children\",{\"s\":\"_not-found\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Ld\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$10\"},\"c\":\"$Q11\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2e1a9a933f2e668f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a4a1d5192ab47550.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){document.documentElement.classList.add('dark')}}catch(e){}})();\"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts\u0026\u0026d.fonts.load){d.fonts.load('24px \\\"Material Symbols Outlined\\\"').then(f).catch(f);setTimeout(f,3000)}else{f()}\"}}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_d8ebd1 font-sans antialiased\",\"children\":[[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Ld\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$Le\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],\"p\":false,\"v\":null},\"c\":\"$Qf\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L16\",null,{\"children\":\"$L17\"}],[\"$\",\"$L19\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1a\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$1b\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"FPPZdg4gAT-mc8D-yGfs_\"}\n10:C\n17:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n1c:I[86869,[],\"IconMark\"]\n14:null\n1a:[[\"$\",\"title\",\"0\",{\"children\":\"9Router - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L1c\",\"5\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/2e1a9a933f2e668f.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/20a8e781bd7763d0.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-2d6a76068971e74e.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-7f7b4709fc32c932.js" async=""></script><script src="/_next/static/chunks/main-app-6b83f9262ea4869d.js" async=""></script><script src="/_next/static/chunks/1592-7a1b8f3c2180b75e.js" async=""></script><script src="/_next/static/chunks/1610-3f2a428594c9c558.js" async=""></script><script src="/_next/static/chunks/1321-6b5146ba33211449.js" async=""></script><script src="/_next/static/chunks/705-116ff303348e2154.js" async=""></script><script src="/_next/static/chunks/5497-5edd305639e92d2a.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-ce8c7297b5839e06.js" async=""></script><script src="/_next/static/chunks/2599-e954754c18e14dc4.js" async=""></script><script src="/_next/static/chunks/app/layout-b71d3072d7d0c248.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="robots" content="noindex"/><meta name="theme-color" content="#0a0a0a"/><title>9Router - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script>(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){document.documentElement.classList.add('dark')}}catch(e){}})();</script><script>var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts&&d.fonts.load){d.fonts.load('24px "Material Symbols Outlined"').then(f).catch(f);setTimeout(f,3000)}else{f()}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d8ebd1 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-2d6a76068971e74e.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"static/chunks/1592-7a1b8f3c2180b75e.js\"\n3:\"static/chunks/1610-3f2a428594c9c558.js\"\n4:\"static/chunks/1321-6b5146ba33211449.js\"\n5:\"static/chunks/705-116ff303348e2154.js\"\n6:\"static/chunks/5497-5edd305639e92d2a.js\"\n7:\"static/chunks/app/(dashboard)/layout-ce8c7297b5839e06.js\"\n8:I[21110,[\"1592\",\"$2\",\"1610\",\"$3\",\"1321\",\"$4\",\"705\",\"$5\",\"5497\",\"$6\",\"9305\",\"$7\"],\"ThemeProvider\"]\n9:\"static/chunks/2599-e954754c18e14dc4.js\"\na:\"static/chunks/app/layout-b71d3072d7d0c248.js\"\nb:\"RuntimeI18nProvider\"\nc:I[94635,[\"1592\",\"$2\",\"2599\",\"$9\",\"1321\",\"$4\",\"7177\",\"$a\"],\"$b\"]\nd:I[57121,[],\"\"]\ne:I[74581,[],\"\"]\nf:I[30565,[\"1592\",\"$2\",\"2599\",\"$9\",\"1321\",\"$4\",\"7177\",\"$a\"],\"GoogleAnalytics\"]\n13:I[90484,[],\"OutletBoundary\"]\n14:\"$Sreact.suspense\"\n16:\"ViewportBoundary\"\n17:I[90484,[],\"$16\"]\n19:\"MetadataBoundary\"\n1a:I[90484,[],\"$19\"]\n1c:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/2e1a9a933f2e668f.css\",\"style\"]\n:HL[\"/_next/static/css/20a8e781bd7763d0.css\",\"style\"]\n11:X\n12:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L13\",null,{\"children\":[\"$\",\"$14\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@15\"}]}]]}],\"p\":false,\"v\":null}}]]\n10:[[\"children\",{\"s\":\"_not-found\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Ld\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$11\"},\"c\":\"$Q12\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2e1a9a933f2e668f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/20a8e781bd7763d0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){document.documentElement.classList.add('dark')}}catch(e){}})();\"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts\u0026\u0026d.fonts.load){d.fonts.load('24px \\\"Material Symbols Outlined\\\"').then(f).catch(f);setTimeout(f,3000)}else{f()}\"}}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_d8ebd1 font-sans antialiased\",\"children\":[[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$Ld\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$Lf\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q10\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L17\",null,{\"children\":\"$L18\"}],[\"$\",\"$L1a\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$14\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1b\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$1c\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"zfYHuQvzglYJyhsqgUYWW\"}\n11:C\n18:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n1d:I[86869,[],\"IconMark\"]\n15:null\n1b:[[\"$\",\"title\",\"0\",{\"children\":\"9Router - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L1d\",\"5\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-d2b96a2313c45c57.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-7f7b4709fc32c932.js" async=""></script><script src="/_next/static/chunks/main-app-6b83f9262ea4869d.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-d2b96a2313c45c57.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n7:I[90484,[],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\na:\"ViewportBoundary\"\nb:I[90484,[],\"$a\"]\nd:\"MetadataBoundary\"\ne:I[90484,[],\"$d\"]\n10:I[27123,[],\"default\",1]\n4:X\n6:[[\"children\",{\"s\":\"__PAGE__\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],\"p\":false,\"v\":null}}]]\n5:[[\"children\",{\"s\":\"_global-error\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$4\"},\"c\":\"$Q6\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$4\"},\"c\":\"$Q5\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"$Le\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"FPPZdg4gAT-mc8D-yGfs_\"}\n4:C\nc:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n9:null\nf:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-2d6a76068971e74e.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-7f7b4709fc32c932.js" async=""></script><script src="/_next/static/chunks/main-app-6b83f9262ea4869d.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-2d6a76068971e74e.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n7:I[90484,[],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\na:\"ViewportBoundary\"\nb:I[90484,[],\"$a\"]\nd:\"MetadataBoundary\"\ne:I[90484,[],\"$d\"]\n10:I[27123,[],\"default\",1]\n4:X\n6:[[\"children\",{\"s\":\"__PAGE__\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],\"p\":false,\"v\":null}}]]\n5:[[\"children\",{\"s\":\"_global-error\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$4\"},\"c\":\"$Q6\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$4\"},\"c\":\"$Q5\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"$Le\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"zfYHuQvzglYJyhsqgUYWW\"}\n4:C\nc:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n9:null\nf:[]\n"])</script></body></html>
@@ -1,5 +1,5 @@
1
1
  {
2
- "previewModeId": "bb2acad0cbd6c9d93da6deef29870a11",
3
- "previewModeSigningKey": "bf27b51c9ed6662c20b18fbd1324d8843a2b751b26421986992de011ffee16f8",
4
- "previewModeEncryptionKey": "ec30afa10b9aa319c117fcc9a904aa4f3e053b7b303516761a0a05873f62e6d5"
2
+ "previewModeId": "963abcfb9f54d024aac516eaa965a298",
3
+ "previewModeSigningKey": "e26771fb9eebe64c16c8aac2f41f7a35e8c0726ef7e066f69fbe6cc533a872d7",
4
+ "previewModeEncryptionKey": "e7f143925419c9cb4a286692f14704f111c35b6ddbd353549b8e0bee8285530e"
5
5
  }