67router 1.0.7 → 1.0.14

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 (485) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +2 -2
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +17 -17
  5. package/app/.next-cli-build/react-loadable-manifest.json +2 -2
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  63. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  64. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  65. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  66. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  67. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  70. package/app/.next-cli-build/server/app/_not-found.rsc +9 -9
  71. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +9 -9
  72. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +9 -9
  73. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  74. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  79. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  81. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  84. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  85. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  88. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  90. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -1
  91. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  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.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  141. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  145. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  244. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  268. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  274. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  277. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  282. package/app/.next-cli-build/server/app/callback.html +1 -1
  283. package/app/.next-cli-build/server/app/callback.rsc +9 -9
  284. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +9 -9
  285. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  286. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +9 -9
  287. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  288. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +12 -12
  289. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +12 -12
  290. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +12 -12
  291. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  292. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  293. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +12 -12
  294. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +12 -12
  295. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +12 -12
  296. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  297. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  298. package/app/.next-cli-build/server/app/dashboard/combos.rsc +12 -12
  299. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +12 -12
  300. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +12 -12
  301. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  302. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  303. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +13 -13
  304. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +13 -13
  305. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +13 -13
  306. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  307. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  308. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +12 -12
  309. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +12 -12
  310. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +12 -12
  311. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  312. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  313. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +12 -12
  314. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +12 -12
  315. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +12 -12
  316. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  317. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  318. package/app/.next-cli-build/server/app/dashboard/profile.rsc +12 -12
  319. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +12 -12
  320. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +12 -12
  321. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  322. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  323. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +12 -12
  324. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +12 -12
  325. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +12 -12
  326. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  327. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  328. package/app/.next-cli-build/server/app/dashboard/providers.rsc +12 -12
  329. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +12 -12
  330. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +12 -12
  331. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  332. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  333. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +12 -12
  334. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +12 -12
  335. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +12 -12
  336. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  337. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  338. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +12 -12
  339. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +12 -12
  340. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +12 -12
  341. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  342. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  343. package/app/.next-cli-build/server/app/dashboard/quota.rsc +13 -13
  344. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +13 -13
  345. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +13 -13
  346. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  347. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  349. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  350. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +9 -9
  351. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +9 -9
  352. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  353. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +9 -9
  354. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  355. package/app/.next-cli-build/server/app/dashboard/skills.rsc +12 -12
  356. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +12 -12
  357. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +12 -12
  358. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  359. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  360. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +12 -12
  361. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +12 -12
  362. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +12 -12
  363. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  364. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  365. package/app/.next-cli-build/server/app/dashboard/translator.rsc +12 -12
  366. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +12 -12
  367. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +12 -12
  368. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  369. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  370. package/app/.next-cli-build/server/app/dashboard/usage.rsc +13 -13
  371. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +13 -13
  372. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +13 -13
  373. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  374. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  375. package/app/.next-cli-build/server/app/dashboard.rsc +13 -13
  376. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +13 -13
  377. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +13 -13
  378. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  379. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  380. package/app/.next-cli-build/server/app/index.html +1 -1
  381. package/app/.next-cli-build/server/app/index.rsc +9 -9
  382. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +9 -9
  383. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +9 -9
  384. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  385. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  386. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  387. package/app/.next-cli-build/server/app/landing.html +1 -1
  388. package/app/.next-cli-build/server/app/landing.rsc +9 -9
  389. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +9 -9
  390. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  391. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +9 -9
  392. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  394. package/app/.next-cli-build/server/app/login.html +1 -1
  395. package/app/.next-cli-build/server/app/login.rsc +11 -11
  396. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +11 -11
  397. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  398. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +11 -11
  399. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  401. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  402. package/app/.next-cli-build/server/app-paths-manifest.json +2 -2
  403. package/app/.next-cli-build/server/chunks/3047.js +1 -1
  404. package/app/.next-cli-build/server/chunks/412.js +2 -2
  405. package/app/.next-cli-build/server/chunks/4872.js +1 -1
  406. package/app/.next-cli-build/server/chunks/5500.js +1 -1
  407. package/app/.next-cli-build/server/chunks/5708.js +1 -0
  408. package/app/.next-cli-build/server/chunks/5946.js +6 -6
  409. package/app/.next-cli-build/server/chunks/6249.js +1 -1
  410. package/app/.next-cli-build/server/chunks/6534.js +1 -0
  411. package/app/.next-cli-build/server/chunks/6540.js +1 -1
  412. package/app/.next-cli-build/server/chunks/7037.js +1 -1
  413. package/app/.next-cli-build/server/chunks/7066.js +1 -1
  414. package/app/.next-cli-build/server/chunks/7811.js +1 -0
  415. package/app/.next-cli-build/server/chunks/827.js +1 -1
  416. package/app/.next-cli-build/server/chunks/8499.js +1 -1
  417. package/app/.next-cli-build/server/chunks/869.js +1 -1
  418. package/app/.next-cli-build/server/chunks/8895.js +4 -4
  419. package/app/.next-cli-build/server/chunks/936.js +1 -1
  420. package/app/.next-cli-build/server/chunks/9489.js +3 -0
  421. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  422. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  423. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  424. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  425. package/app/.next-cli-build/server/pages/404.html +1 -1
  426. package/app/.next-cli-build/server/pages/500.html +1 -1
  427. package/app/.next-cli-build/static/chunks/2694-e38089f3fbc4f795.js +18 -0
  428. package/app/.next-cli-build/static/chunks/5497-424fa4c770985a02.js +7 -0
  429. package/app/.next-cli-build/static/chunks/5524.a4e52491e3114015.js +1 -0
  430. package/app/.next-cli-build/static/chunks/6808-54de8b855aaccfa4.js +1 -0
  431. package/app/.next-cli-build/static/chunks/7309-cbbdf9d5d0d06f2b.js +1 -0
  432. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-5a39e2c930083958.js → page-11398bffb8f731d6.js} +1 -1
  433. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-efa13471ca90cb6f.js → page-4b6f03d26918f2c8.js} +1 -1
  434. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-1b13e2f309dace52.js +1 -0
  435. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-52812c2f1eec1542.js +1 -0
  436. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-4533d3729d0f3d2f.js → page-3f9ff52f7de3d5ce.js} +1 -1
  437. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-fb985695b0a7fece.js +1 -0
  438. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-99efb86d0bd7063d.js → page-cc18e2e55c9fc034.js} +1 -1
  439. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-34a9de93009415b2.js → page-98408a15a31af09e.js} +1 -1
  440. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-259a9fbcb19b32bb.js +4 -0
  441. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-e49129de51260b20.js → page-be260619b6663f68.js} +1 -1
  442. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-0527ed7a1e5796d2.js → page-eb32542bad219188.js} +1 -1
  443. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-1f58f279da3d1d2e.js +1 -0
  444. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-e293bc909c375fda.js +1 -0
  445. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-4af847c5b1581140.js +27 -0
  446. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-8c4efaab91f7315d.js → page-64c2ea1d68752a95.js} +1 -1
  447. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-4598bf7897896efe.js +1 -0
  448. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-e104456d4f92f5d7.js +4 -0
  449. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/{page-0d4b8225aa2a0570.js → page-90866408d05de0ea.js} +1 -1
  450. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/{page-c2e6b6ae60d66ee6.js → page-3f4373ff4d41429d.js} +1 -1
  451. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-44136b54dd60ab1a.js → page-d30a8e3bcd1739fe.js} +1 -1
  452. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/{page-4b073ba7273cde14.js → page-2d72a14feff46003.js} +1 -1
  453. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-9219cd8e2828aeb2.js → page-0aac17733e26291b.js} +1 -1
  454. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-f30d37a1c0a41094.js +1 -0
  455. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-85b42e3587cdd780.js → layout-e2a9c08e575d5fb1.js} +1 -1
  456. package/app/.next-cli-build/static/chunks/app/{layout-53a33c2d919bd8e4.js → layout-6693e2013812704c.js} +1 -1
  457. package/app/.next-cli-build/static/chunks/app/login/{page-8c450d820c6b4a84.js → page-424bb7b9a4fadbef.js} +1 -1
  458. package/app/.next-cli-build/static/chunks/{webpack-396894770603fee1.js → webpack-5f3126bff1640c83.js} +1 -1
  459. package/app/.next-cli-build/static/css/9ade909ac2a94202.css +1 -0
  460. package/app/cli/.build-home/AppData/Local/npm-cache/_update-notifier-last-checked +0 -0
  461. package/app/cli/.build-home/AppData/Roaming/67router/db/data.sqlite-shm +0 -0
  462. package/app/cli/.build-home/AppData/Roaming/67router/db/data.sqlite-wal +0 -0
  463. package/app/package.json +1 -1
  464. package/package.json +1 -1
  465. package/app/.next-cli-build/server/chunks/4252.js +0 -1
  466. package/app/.next-cli-build/server/chunks/8635.js +0 -3
  467. package/app/.next-cli-build/server/chunks/9604.js +0 -1
  468. package/app/.next-cli-build/static/chunks/1321-6630b5aa23e3ec0e.js +0 -1
  469. package/app/.next-cli-build/static/chunks/2694-fa4a038c7addaf24.js +0 -18
  470. package/app/.next-cli-build/static/chunks/5497-1681f72f0e82b863.js +0 -7
  471. package/app/.next-cli-build/static/chunks/5524.fca1db6352c39218.js +0 -1
  472. package/app/.next-cli-build/static/chunks/6808-b6550a28721e71e1.js +0 -1
  473. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-e8e532618d63f944.js +0 -1
  474. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-dec9bfc425fb3885.js +0 -1
  475. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-7bd0715367619619.js +0 -1
  476. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-c5ec58d3c27337fa.js +0 -4
  477. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-b75f168ba5367af9.js +0 -1
  478. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-13b9f3596564691a.js +0 -1
  479. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-3ec2eae580cfd6e9.js +0 -27
  480. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-eafb435acef415a1.js +0 -1
  481. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-d61c6b11bb916a3c.js +0 -4
  482. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-be90b4d4a94a121d.js +0 -1
  483. package/app/.next-cli-build/static/css/2388dd0fafaf8266.css +0 -1
  484. /package/app/.next-cli-build/static/{ZSFfwWCBng6VPk2-0itNU → btqyBuq5xQRWIBStuDAhj}/_buildManifest.js +0 -0
  485. /package/app/.next-cli-build/static/{ZSFfwWCBng6VPk2-0itNU → btqyBuq5xQRWIBStuDAhj}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=936,exports.ids=[936],exports.modules={19225:(a,b,c)=>{a.exports=c(44870)},40669:(a,b,c)=>{c.d(b,{Xh:()=>h,g2:()=>g,js:()=>j});var d=c(79378);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"]]},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:()=>D,s:()=>E});var d=c(80238),e=c(89718),f=c(38775),g=c(27811),h=c(43659),i=c(41004),j=c(8521),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}function t(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 u({provider:a,action:b=null,requestId:c=null,rawBody:d=null,contentType:e=null,idempotencyKey:f=null,credentials:g,signal:k,timeoutMs:l=q,log:m,onCredentialsRefreshed:n}){let o,v,w=s(a);if(!w)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 x=p[a]||null,y=(v="function"==typeof AbortSignal?.timeout?AbortSignal.timeout(l):null,k&&v&&"function"==typeof AbortSignal.any?AbortSignal.any([k,v]):k||v||void 0),z=async()=>{let a,h,i=x?await x.buildRequest({config:w,action:b,requestId:c,rawBody:d,contentType:e,idempotencyKey:f,credentials:g,log:m,token:g?.accessToken||g?.apiKey}):{method:a=c?"GET":"POST",url:(h=w.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:y})}},A=c?"GET":"POST";try{let b=await z();if(b.planError)return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] ${b.planError}`);o=b.response}catch(b){if(b?.name==="AbortError"||b?.name==="TimeoutError")return(0,h.A1)(i.gx.REQUEST_TIMEOUT,`[${a}] video ${A} aborted: ${b.message}`);return(0,h.A1)(i.gx.BAD_GATEWAY,t(`[${a}] video upstream fetch failed: ${b.message}`,g))}if((o.status===i.gx.UNAUTHORIZED||o.status===i.gx.FORBIDDEN)&&g?.refreshToken){let b=null;try{b=await (0,j.$B)(a,g,m)}catch(b){m?.warn?.("TOKEN",`${a} | video refresh error: ${t(b.message,g)}`)}if(b?.accessToken){m?.info?.("TOKEN",`${a.toUpperCase()} | refreshed for video ${A}`),Object.assign(g,b),n&&await n(b);try{await o.body?.cancel?.()}catch{}try{let b=await z();if(b.planError)return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] ${b.planError}`);o=b.response}catch(b){return(0,h.A1)(i.gx.BAD_GATEWAY,t(`[${a}] video retry after refresh failed: ${b.message}`,g))}}else m?.warn?.("TOKEN",`${a.toUpperCase()} | video refresh failed — account needs re-auth`)}let B=await o.text().catch(()=>"");if(!o.ok){let b=t(B||`HTTP ${o.status}`,g);return(0,h.A1)(o.status,`[${a}] ${b.slice(0,2e3)}`)}let C=B,D=o.headers.get("content-type")||"application/json";if(x?.transformResponse)try{C=JSON.stringify(x.transformResponse(JSON.parse(B))),D="application/json"}catch{}return{success:!0,response:new Response(C,{status:o.status,headers:{"Content-Type":D,"Access-Control-Allow-Origin":"*"}})}}var v=c(67828),w=c(7803);async function x(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 y=new Set([i.gx.UNAUTHORIZED,i.gx.FORBIDDEN,i.gx.RATE_LIMITED]);async function z(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 A(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 B(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 C(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 D(a,b){let c=await z(a);if(c)return c;let e=await A(a);if(e.error)return e.error;let f=await B(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,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,v.checkAndRefreshToken)(j,c),g=await u({provider:j,action:b,rawBody:m,contentType:e.contentType||null,idempotencyKey:o,credentials:f,signal:a.signal,log:w,onCredentialsRefreshed:async a=>{await (0,v.vN)(c.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})}});if(g.success)return await (0,d.Pt)(c.connectionId,c,k),w.info("VIDEO",`${j.toUpperCase()} | ${b} accepted (connection ${c.connectionId})`),C(g.response,c.connectionId);let{shouldFallback:l}=await (0,d.vk)(c.connectionId,g.status,t(g.error,f),j,k);if(l&&y.has(g.status)){p.add(c.connectionId),q=g.error,r=g.status;continue}return g.response}}async function E(a,b){let c=await z(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 x(a,e),g=await (0,d.c1)(f,null,null,{preferredConnectionId:e});if(!g||g.allRateLimited)return(0,h.yj)(i.gx.BAD_REQUEST,`No credentials for provider: ${f}`);let j=await (0,v.checkAndRefreshToken)(f,g),k=await u({provider:f,requestId:b,credentials:j,signal:a.signal,log:w,onCredentialsRefreshed:async a=>{await (0,v.vN)(g.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})}});return k.success?(await (0,d.Pt)(g.connectionId,g,null),C(k.response,g.connectionId)):(await (0,d.vk)(g.connectionId,k.status,t(k.error,j),f,null),k.response)}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
1
+ "use strict";exports.id=936,exports.ids=[936],exports.modules={19225:(a,b,c)=>{a.exports=c(44870)},40669:(a,b,c)=>{c.d(b,{Xh:()=>i,g2:()=>h,js:()=>k});var d=c(79378),e=c(57247);let f={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(f[a.id]=a.id,a.alias&&(f[a.alias]=a.id),a.aliases||[]))f[b]=a.id;let g={"grok-build":"gcli/grok-build"};function h(a){return f[a]||a}function i(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:h(c),model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}function j(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:h(c.slice(0,a)),model:c.slice(a+1)}}return"object"==typeof c&&c.provider&&c.model?{provider:h(c.provider),model:c.model}:null}async function k(a,b){let c=i(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,f=j(c.model,d)||j(c.model,g);if(f)return f;let k=c.model;for(let[a,b]of Object.entries(e.PROVIDER_MODELS))if(b.some(a=>a.id===k))return{provider:h(a),model:k};return{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return l.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let l=[[/^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"]]},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:()=>D,s:()=>E});var d=c(80238),e=c(89718),f=c(38775),g=c(27811),h=c(43659),i=c(41004),j=c(8521),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}function t(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 u({provider:a,action:b=null,requestId:c=null,rawBody:d=null,contentType:e=null,idempotencyKey:f=null,credentials:g,signal:k,timeoutMs:l=q,log:m,onCredentialsRefreshed:n}){let o,v,w=s(a);if(!w)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 x=p[a]||null,y=(v="function"==typeof AbortSignal?.timeout?AbortSignal.timeout(l):null,k&&v&&"function"==typeof AbortSignal.any?AbortSignal.any([k,v]):k||v||void 0),z=async()=>{let a,h,i=x?await x.buildRequest({config:w,action:b,requestId:c,rawBody:d,contentType:e,idempotencyKey:f,credentials:g,log:m,token:g?.accessToken||g?.apiKey}):{method:a=c?"GET":"POST",url:(h=w.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:y})}},A=c?"GET":"POST";try{let b=await z();if(b.planError)return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] ${b.planError}`);o=b.response}catch(b){if(b?.name==="AbortError"||b?.name==="TimeoutError")return(0,h.A1)(i.gx.REQUEST_TIMEOUT,`[${a}] video ${A} aborted: ${b.message}`);return(0,h.A1)(i.gx.BAD_GATEWAY,t(`[${a}] video upstream fetch failed: ${b.message}`,g))}if((o.status===i.gx.UNAUTHORIZED||o.status===i.gx.FORBIDDEN)&&g?.refreshToken){let b=null;try{b=await (0,j.$B)(a,g,m)}catch(b){m?.warn?.("TOKEN",`${a} | video refresh error: ${t(b.message,g)}`)}if(b?.accessToken){m?.info?.("TOKEN",`${a.toUpperCase()} | refreshed for video ${A}`),Object.assign(g,b),n&&await n(b);try{await o.body?.cancel?.()}catch{}try{let b=await z();if(b.planError)return(0,h.A1)(i.gx.BAD_REQUEST,`[${a}] ${b.planError}`);o=b.response}catch(b){return(0,h.A1)(i.gx.BAD_GATEWAY,t(`[${a}] video retry after refresh failed: ${b.message}`,g))}}else m?.warn?.("TOKEN",`${a.toUpperCase()} | video refresh failed — account needs re-auth`)}let B=await o.text().catch(()=>"");if(!o.ok){let b=t(B||`HTTP ${o.status}`,g);return(0,h.A1)(o.status,`[${a}] ${b.slice(0,2e3)}`)}let C=B,D=o.headers.get("content-type")||"application/json";if(x?.transformResponse)try{C=JSON.stringify(x.transformResponse(JSON.parse(B))),D="application/json"}catch{}return{success:!0,response:new Response(C,{status:o.status,headers:{"Content-Type":D,"Access-Control-Allow-Origin":"*"}})}}var v=c(67828),w=c(7803);async function x(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 y=new Set([i.gx.UNAUTHORIZED,i.gx.FORBIDDEN,i.gx.RATE_LIMITED]);async function z(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 A(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 B(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 C(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 D(a,b){let c=await z(a);if(c)return c;let e=await A(a);if(e.error)return e.error;let f=await B(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,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,v.checkAndRefreshToken)(j,c),g=await u({provider:j,action:b,rawBody:m,contentType:e.contentType||null,idempotencyKey:o,credentials:f,signal:a.signal,log:w,onCredentialsRefreshed:async a=>{await (0,v.vN)(c.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})}});if(g.success)return await (0,d.Pt)(c.connectionId,c,k),w.info("VIDEO",`${j.toUpperCase()} | ${b} accepted (connection ${c.connectionId})`),C(g.response,c.connectionId);let{shouldFallback:l}=await (0,d.vk)(c.connectionId,g.status,t(g.error,f),j,k);if(l&&y.has(g.status)){p.add(c.connectionId),q=g.error,r=g.status;continue}return g.response}}async function E(a,b){let c=await z(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 x(a,e),g=await (0,d.c1)(f,null,null,{preferredConnectionId:e});if(!g||g.allRateLimited)return(0,h.yj)(i.gx.BAD_REQUEST,`No credentials for provider: ${f}`);let j=await (0,v.checkAndRefreshToken)(f,g),k=await u({provider:f,requestId:b,credentials:j,signal:a.signal,log:w,onCredentialsRefreshed:async a=>{await (0,v.vN)(g.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})}});return k.success?(await (0,d.Pt)(g.connectionId,g,null),C(k.response,g.connectionId)):(await (0,d.vk)(g.connectionId,k.status,t(k.error,j),f,null),k.response)}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
@@ -0,0 +1,3 @@
1
+ "use strict";exports.id=9489,exports.ids=[9489],exports.modules={3894:(a,b,c)=>{c.d(b,{F_:()=>g,Nc:()=>h,Qh:()=>t,Su:()=>q,ag:()=>o,kI:()=>p,rl:()=>u,sy:()=>s});var d=c(79646),e=c(33873),f=c.n(e);let g=["code","ml"],h={code:["tree-sitter","tree-sitter-language-pack"],ml:["torch","huggingface-hub"]},i="win32"===process.platform,j=i?"where":"which",k=i?[`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python313\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python312\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python311\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python310\\Scripts`,`${process.env.APPDATA||""}\\Python\\Python313\\Scripts`]:["/usr/local/bin","/opt/homebrew/bin","/Library/Frameworks/Python.framework/Versions/3.13/bin","/Library/Frameworks/Python.framework/Versions/3.12/bin","/Library/Frameworks/Python.framework/Versions/3.11/bin","/Library/Frameworks/Python.framework/Versions/3.10/bin",`${process.env.HOME||""}/.local/bin`,"/usr/bin","/bin"],l=[...k,process.env.PATH||""].filter(Boolean).join(f().delimiter),m=["python3.13","python3.12","python3.11","python3.10","python3","python"],n=new Set(["localhost","127.0.0.1","::1","[::1]","0.0.0.0"]),o=process.env.HEADROOM_URL||"http://localhost:8787";function p(){try{let a=(0,d.execSync)(`${j} headroom`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:l}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}function q(){let a=null;for(let b of function(){let a=[],b=p();if(b){let c=f().dirname(b);for(let b of i?["python.exe","python3.exe"]:["python3","python3.13","python"])a.push(f().join(c,b))}for(let b of k)if(b)for(let c of m)a.push(f().join(b,i?`${c}.exe`:c));return a.push(...m),a}())try{let c=(0,d.execSync)(`${b} --version`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:l}}).toString().trim().match(/(\d+)\.(\d+)/);if(!c)continue;let[e,f]=[parseInt(c[1],10),parseInt(c[2],10)];if(!(e>3||3===e&&f>=10))continue;a||(a=b);try{return(0,d.execFileSync)(b,["-m","pip","show","headroom-ai"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:l}}),b}catch{}}catch{}return a}async function r(a){if(!a)return!1;let b=String(a).replace(/\/$/,"");try{return(await fetch(`${b}/health`,{signal:AbortSignal.timeout(1500)})).ok}catch{return!1}}function s(a){try{let b=new URL(a);return n.has(b.hostname)}catch{return!1}}async function t(a){let b=p(),c=q(),d=!!b,e=await r(a),f=s(a),g=d?u(c):{installed:!1,version:null,extras:{code:!1,ml:!1}};return{installed:d,path:b,running:e,python:c,localUrl:f,canStart:d&&f,version:g.version,extras:g.extras}}function u(a){let b=a||q();if(!b)return{installed:!1,version:null,extras:{code:!1,ml:!1}};try{let a=(0,d.execFileSync)(b,["-m","pip","list","--format=json","--disable-pip-version-check"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:l}}).toString(),c=JSON.parse(a),e=new Set(c.map(a=>String(a.name||"").toLowerCase()));if(!e.has("headroom-ai"))return{installed:!1,version:null,extras:{code:!1,ml:!1}};let f=c.find(a=>a.name?.toLowerCase()==="headroom-ai")?.version||null,i={};for(let a of g)i[a]=h[a].some(a=>e.has(a));return{installed:!0,version:f,extras:i}}catch{return{installed:!1,version:null,extras:{code:!1,ml:!1}}}}},17603:(a,b,c)=>{c.d(b,{R8:()=>l,ar:()=>n,vB:()=>j});var d=c(24);let e=["vision","pdf","audioInput","videoInput"],f=new Set(e),g="oc/mimo-v2.6-flash-free",h=a=>"oc/mimo-v2.5-free"===a?g:a;function i(a,b){var c;let d=Array.isArray(c=b?.capacityAdapter?.[a])?{enabled:!0,roundRobin:!1,models:c.map(a=>h(a?.model||a)).filter(Boolean)}:c&&"object"==typeof c?{enabled:!1!==c.enabled,roundRobin:!!c.roundRobin,models:Array.isArray(c.models)?c.models.map(h).filter(Boolean):[]}:{enabled:!1,roundRobin:!1,models:[]};return d.enabled&&0===d.models.length?{...d,models:[g]}:d}function j(a,b){for(let c of[...a||[]].filter(a=>f.has(a))){let{enabled:a,models:d}=i(c,b);if(a&&0!==d.length)return function(a,b){let{enabled:c,roundRobin:d}=i(a,b);return c&&d?"round-robin":"fallback"}(c,b)}return"fallback"}function k(a,b){let c=a.indexOf("/"),e=c>0?a.slice(0,c):"",f=c>0?a.slice(c+1):a,g=(0,d.getCapabilitiesForModel)(e,f);return b.every(a=>!0===g[a])}function l(a,b,c){let d=[...b||[]].filter(a=>f.has(a));if(0===d.length||!Array.isArray(a)||0===a.length||a.some(a=>k(a,d)))return a;let g=(function(a){let b=new Set,c=[];for(let d of e){let{enabled:e,models:f}=i(d,a);if(e)for(let a of f)b.has(a)||(b.add(a),c.push(a))}return c})(c).filter(b=>!a.includes(b)&&k(b,d));return 0===g.length?a:[...g,...a]}function m(a){return"string"==typeof a?a.length:Array.isArray(a)?a.reduce((a,b)=>a+("string"==typeof b?.text?b.text.length:50),0):0}function n(a,b){let c=new Set(b);return 0===c.size?a:(b,e,...f)=>{if(c.has(e)){let a=e.indexOf("/"),c=a>0?e.slice(0,a):"",f=a>0?e.slice(a+1):e,{contextWindow:g}=(0,d.getCapabilitiesForModel)(c,f);b=function(a,b){let c=Array.isArray(a.messages)?"messages":Array.isArray(a.input)?"input":Array.isArray(a.contents)?"contents":null;if(!c)return a;let d=a[c];if(!d||0===d.length)return a;let e=a=>"system"===a||"developer"===a,f=d.filter(a=>e(a?.role)),g=d.filter(a=>!e(a?.role));if(0===g.length)return a;let h=a=>"assistant"===a||"model"===a,i=g.length-1;for(;i>=0&&!h(g[i]?.role);)i--;let j=g.slice(i+1),k=g.slice(0,i+1);if(0===k.length)return a;let l=a=>a.content??a.parts,n=.8*(b||2e5)*4,o=k.slice(0,6),p=f.concat(o,j).reduce((a,b)=>a+m(l(b)),0);for(;p>n&&o.length>0;)p-=m(l(o.pop()));return o.length===k.length?a:{...a,[c]:[...f,...o,...j]}}(b,g)}return a(b,e,...f)}}},46634:(a,b,c)=>{c.d(b,{Mo:()=>h,RG:()=>l,V:()=>i,Y8:()=>k,xl:()=>m});var d=c(1932),e=c(87155);let f=null,g=null;function h(){return f?{loaded:!0,version:f.version,loadedAt:f.loadedAt}:{loaded:!1}}async function i(){return f||g||(g=j().finally(()=>{g=null}))}async function j(){let a=(0,e.S1)();if(!a.installed){let a=Error("PXPIPE is not installed");throw a.code="NOT_INSTALLED",a}let b=`${(0,d.pathToFileURL)((0,e.CG)()).href}?v=${encodeURIComponent(a.version||"0")}`,c=await import(b);if("function"!=typeof c.transformAnthropicMessages)throw Error("installed pxpipe package does not export transformAnthropicMessages");return f={module:c,version:a.version,loadedAt:Date.now()}}function k(){let a=!!f;return f=null,a}async function l({autoLoad:a=!0}={}){try{if(!f&&!a)return null;let{module:b}=await i();return b.transformAnthropicMessages}catch{return null}}async function m(){let a=Date.now(),{module:b}=await i(),c=new TextEncoder().encode(JSON.stringify({model:"claude-fable-5",max_tokens:16,messages:[{role:"user",content:"ping"}]})),d=await b.transformAnthropicMessages({body:c,model:"claude-fable-5"});if(!d||"boolean"!=typeof d.applied||!(d.body instanceof Uint8Array))throw Error("transform returned an unexpected shape");return{ok:!0,reason:d.reason,durationMs:Date.now()-a}}},46945:(a,b,c)=>{c.d(b,{V:()=>e});let d=/\[1m\]$/i;function e(a){if("string"!=typeof a)return{model:a,contextMarker:null};let b=a.trim(),c=b.match(d);return c?{model:b.slice(0,-c[0].length),contextMarker:c[0].slice(1,-1).toLowerCase()}:{model:a,contextMarker:null}}},74388:(a,b,c)=>{c.d(b,{Az:()=>l,SP:()=>o,T0:()=>k});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(87155);let i=g().join(h.XF,"events.jsonl"),j=g().join(h.XF,"events.jsonl.1");function k(a){try{e().existsSync(h.XF)||e().mkdirSync(h.XF,{recursive:!0});try{e().statSync(i).size>5242880&&e().renameSync(i,j)}catch{}e().appendFile(i,JSON.stringify({ts:Date.now(),...a})+"\n",()=>{})}catch{}}function l({sinceMs:a=null,limit:b=null}={}){let c=[];for(let b of[j,i])try{if(!e().existsSync(b))continue;for(let d of e().readFileSync(b,"utf8").split("\n"))if(d)try{let b=JSON.parse(d);if(a&&b.ts<a)continue;c.push(b)}catch{}}catch{}return c.sort((a,b)=>a.ts-b.ts),b?c.slice(-b):c}function m(){return{requests:0,compressed:0,bypassed:0,errors:0,tokensBeforeEst:0,tokensAfterEst:0,tokensSavedEst:0,savedPct:0,imagesGenerated:0,compressionTimeMs:0,avgCompressionMs:0}}function n(a,b){a.requests++,b.applied?(a.compressed++,a.tokensBeforeEst+=b.tokensBeforeEst||0,a.tokensAfterEst+=b.tokensAfterEst||0,a.tokensSavedEst+=b.tokensSavedEst||0,a.imagesGenerated+=b.imageCount||0,a.compressionTimeMs+=b.durationMs||0):"transform_error"===b.reason||"timeout"===b.reason?a.errors++:a.bypassed++}function o({timelineDays:a=30,recentLimit:b=100}={}){let c=l(),d=Date.now(),e=new Date(new Date(d).setHours(0,0,0,0)).getTime(),f={all:m(),today:m(),yesterday:m(),last7d:m(),last30d:m()},g=new Map;for(let b=a-1;b>=0;b--){let a=new Date(e-864e5*b);g.set(a.toISOString().slice(0,10),{date:a.toISOString().slice(0,10),tokensSavedEst:0,compressed:0,requests:0})}for(let a of c){n(f.all,a),a.ts>=e?n(f.today,a):a.ts>=e-864e5&&n(f.yesterday,a),a.ts>=d-6048e5&&n(f.last7d,a),a.ts>=d-2592e6&&n(f.last30d,a);let b=new Date(a.ts).toISOString().slice(0,10),c=g.get(b);c&&(c.requests++,a.applied&&(c.compressed++,c.tokensSavedEst+=a.tokensSavedEst||0))}for(let a of Object.values(f))a.savedPct=a.tokensBeforeEst>0?+(a.tokensSavedEst/a.tokensBeforeEst*100).toFixed(2):0,a.avgCompressionMs=a.compressed>0?Math.round(a.compressionTimeMs/a.compressed):0;return{windows:f,timeline:[...g.values()],recent:c.slice(-b).reverse()}}},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>A});var e=c(48895),f=c(80238),g=c(45974),h=c(89718),i=c(38775),j=c(92500),k=c(3894),l=c(46634),m=c(74388),n=c(43659),o=c(48136),p=c(18910),q=c(17603),r=c(27349),s=c(41004),t=c(14170),u=c(7803),v=c(67828),w=c(38160),x=c(46945),y=c(27811),z=a([e,j]);async function A(a,b=null){let c;try{c=await a.json()}catch{return u.warn("CHAT","Invalid JSON body"),(0,n.yj)(s.gx.BAD_REQUEST,"Invalid JSON body")}b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())});let{model:d,contextMarker:e}=(0,x.V)(c.model);e&&(c.model=d);let g=a.headers.get("Authorization"),j=(0,f.Tr)(a);if(g&&j){let a=u.maskKey(j);u.debug("AUTH",`API Key: ${a}`)}else u.debug("AUTH","No API key provided (local mode)");let k=await (0,h.mt)();if(k.requireApiKey){if(!j)return u.warn("AUTH","Missing API key (requireApiKey=true)"),(0,n.yj)(s.gx.UNAUTHORIZED,"Missing API key");if(!await (0,f.kI)(j))return u.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,n.yj)(s.gx.UNAUTHORIZED,"Invalid API key")}if(!d)return u.warn("CHAT","Missing model"),(0,n.yj)(s.gx.BAD_REQUEST,"Missing model");let l=await (0,y.TM)(a),m=await (0,y.cI)(l,d);if(m)return m;let o=a?.headers?.get("user-agent")||"",t=(0,r.c)(c,d,o,!!k.ccFilterNaming);if(t)return t.response||t;let v=(0,p.t8)(c),w=await (0,i.d_)(d);if(w){let e=k.comboStrategies||{},f=e[d]?.fallbackStrategy||k.comboStrategy||"fallback",g=await (0,y.Ge)(l,(0,q.R8)(w,v,k),w),h=g.filter(a=>!w.includes(a));if("fusion"===f)return u.info("CHAT",`Combo "${d}" with ${w.length} models (strategy: fusion)`),(0,p.vt)({body:c,models:w,handleSingleModel:(c,d,e)=>{let f=b;if(e&&b){let{tools:a,tool_choice:c,...d}=b.body||{};f={...b,body:d}}return B(c,d,f,a,j)},log:u,comboName:d,judgeModel:e[d]?.judgeModel,tuning:e[d]?.fusionTuning});let i=k.comboStickyRoundRobinLimit;return u.info("CHAT",`Combo "${d}" with ${g.length} models (strategy: ${f}, sticky: ${i})`),(0,p.Pr)({body:c,models:g,handleSingleModel:(0,q.ar)((c,d)=>B(c,d,b,a,j),h),log:u,comboName:d,comboStrategy:f,comboStickyLimit:i})}let z=await (0,y.Ge)(l,(0,q.R8)([d],v,k),[d]);if(z.length>1){let e=z.filter(a=>a!==d);return u.info("CHAT",`Capacity adapter for [${[...v].join(",")}] on "${d}" → trying ${z.join(", ")}`),(0,p.Pr)({body:c,models:z,handleSingleModel:(0,q.ar)((c,d)=>B(c,d,b,a,j),e),log:u,comboName:d,comboStrategy:(0,q.vB)(v,k)})}return B(c,d,b,a,j,e?`${d.slice(d.indexOf("/")+1)}[${e}]`:null)}async function B(a,b,c=null,d=null,e=null,r=null){let x=await (0,i.mA)(b);if(!x.provider){let f=await (0,i.d_)(b);if(f){let g=await (0,h.mt)(),i=g.comboStrategies||{},j=i[b]?.fallbackStrategy||g.comboStrategy||"fallback",k=(0,p.t8)(a),l=await (0,y.TM)(d),m=await (0,y.Ge)(l,(0,q.R8)(f,k,g),f),n=m.filter(a=>!f.includes(a));if("fusion"===j)return u.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: fusion)`),(0,p.vt)({body:a,models:f,handleSingleModel:(a,b,f)=>{let g=c;if(f&&c){let{tools:a,tool_choice:b,...d}=c.body||{};g={...c,body:d}}return B(a,b,g,d,e)},log:u,comboName:b,judgeModel:i[b]?.judgeModel,tuning:i[b]?.fusionTuning});let o=g.comboStickyRoundRobinLimit;return u.info("CHAT",`Combo "${b}" with ${m.length} models (strategy: ${j}, sticky: ${o})`),(0,p.Pr)({body:a,models:m,handleSingleModel:(0,q.ar)((a,b)=>B(a,b,c,d,e),n),log:u,comboName:b,comboStrategy:j,comboStickyLimit:o})}return u.warn("CHAT","Invalid model format",{model:b}),(0,n.yj)(s.gx.BAD_REQUEST,"Invalid model format")}let{provider:z,model:A}=x,C=d?.headers?.get("user-agent")||"",D=new Set,E=null,F=null,G=null;for(;;){let b=await (0,f.c1)(z,D,A,{requestedModel:r||A});if(!b||b.allRateLimited){if(b?.allRateLimited){let a=E||b.lastError||"Unavailable",c=s.gx.SERVICE_UNAVAILABLE;return u.warn("CHAT",`[${z}/${A}] ${a} (${b.retryAfterHuman})`),(0,n.wO)(c,`[${z}/${A}] ${a}`,b.retryAfter,b.retryAfterHuman,G)}if(0===D.size)return u.warn("AUTH",`No active credentials for provider: ${z}`),(0,n.yj)(s.gx.NOT_FOUND,`No active credentials for provider: ${z}`);return u.warn("CHAT","No more accounts available",{provider:z}),(0,n.yj)(F||s.gx.SERVICE_UNAVAILABLE,E||"All accounts unavailable",G)}let i=await (0,v.checkAndRefreshToken)(z,b);if(("antigravity"===z||"gemini-cli"===z)&&!i.projectId){let a=await (0,w.eG)(b.connectionId,i.accessToken,z);a&&(i.projectId=a,(0,v.vN)(b.connectionId,{projectId:a}).catch(()=>{}))}let p=await (0,h.mt)(),q=(p.providerThinking||{})[z]||null,x=a?.model||A,y=await (0,j.wk)({body:{...a,model:x},modelInfo:{provider:z,model:A},credentials:i,log:u,clientRawRequest:c,connectionId:b.connectionId,userAgent:C,apiKey:e,ccFilterNaming:!!p.ccFilterNaming,rtkEnabled:!!p.rtkEnabled,headroomEnabled:!!p.headroomEnabled,headroomUrl:p.headroomUrl||k.ag,headroomCompressUserMessages:!!p.headroomCompressUserMessages,headroomTimeoutMs:p.headroomTimeoutMs,cavemanEnabled:!!p.cavemanEnabled,cavemanLevel:p.cavemanLevel||"full",ponytailEnabled:!!p.ponytailEnabled,ponytailLevel:p.ponytailLevel||"full",antislopCodeEnabled:!!p.antislopCodeEnabled,pxpipeEnabled:!!p.pxpipeEnabled,pxpipeMinChars:p.pxpipeMinChars,pxpipeTimeoutMs:p.pxpipeTimeoutMs,pxpipeTransform:p.pxpipeEnabled?await (0,l.RG)():null,onPxpipeEvent:m.T0,providerThinking:q,providerOverrides:(p.providerOverrides||{})[z]||null,sourceFormatOverride:d?.url?(0,t.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,v.vN)(b.connectionId,{...a,existingProviderSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(b.connectionId,b,A),(0,g.vO)(b.connectionId,A)}});if(y.success)return y.response;let B=null,H=y.resetsAtMs;if("antigravity"===z&&(409===y.status||429===y.status)&&(B=await (0,g.XJ)(b.connectionId,y.status,A,i.accessToken,b.providerSpecificData))&&(H=B),"antigravity"===z&&B||(await (0,f.vk)(b.connectionId,y.status,y.error,z,A,H)).shouldFallback){u.warn("FALLBACK",`⇄ ACC:${b.connectionName} UNAVAILABLE (${y.status}) → NEXT ACCOUNT`),D.add(b.connectionId),E=y.error,F=y.status,G=(0,o.d)(y.response?.headers);continue}return y.response}}[e,j]=z.then?(await z)():z,d()}catch(a){d(a)}})},87155:(a,b,c)=>{c.d(b,{CG:()=>q,ED:()=>u,S1:()=>s,XF:()=>j,_g:()=>t,no:()=>r,sW:()=>w});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(79646),i=c(49120);let j=g().join(i.n,"pxpipe"),k="pxpipe-proxy",l=g().join(j,"install.log"),m="win32"===process.platform,n=[...m?[`${process.env.ProgramFiles||""}\\nodejs`,`${process.env.APPDATA||""}\\npm`]:["/usr/local/bin","/opt/homebrew/bin",`${process.env.HOME||""}/.local/bin`,"/usr/bin","/bin"],process.env.PATH||""].filter(Boolean).join(g().delimiter),o=null;function p(){return g().join(j,"node_modules",k)}function q(){return g().join(p(),"dist","core","library.js")}function r(){try{let a=(0,h.execSync)(`${m?"where":"which"} npm`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:n}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}function s(){try{let a=g().join(p(),"package.json");if(!e().existsSync(a)||!e().existsSync(q()))return{installed:!1,version:null,path:null};let b=JSON.parse(e().readFileSync(a,"utf8"));return{installed:!0,version:b.version||null,path:p()}}catch{return{installed:!1,version:null,path:null}}}function t(){return null!==o}function u(){return o||(o=v().finally(()=>{o=null}))}async function v(){let a=r();if(!a){let a=Error("npm not found on PATH — Node.js/npm is required to install PXPIPE");throw a.code="NPM_NOT_FOUND",a}e().existsSync(j)||e().mkdirSync(j,{recursive:!0});let b=g().join(j,"package.json");e().existsSync(b)||e().writeFileSync(b,JSON.stringify({name:"9router-pxpipe-host",private:!0},null,2));let c=e().openSync(l,"a");e().writeSync(c,`
2
+ [${new Date().toISOString()}] npm install ${k}@latest
3
+ `),await new Promise((b,d)=>{let e=(0,h.spawn)(a,["install",`${k}@latest`,"--no-audit","--no-fund","--omit=dev"],{cwd:j,stdio:["ignore",c,c],windowsHide:!0,env:{...process.env,PATH:n}}),f=setTimeout(()=>{e.kill("SIGKILL"),d(Error("npm install timed out after 5 minutes — see install.log"))},3e5);e.once("error",a=>{clearTimeout(f),d(a)}),e.once("exit",a=>{clearTimeout(f),0===a?b():d(Error(`npm install exited with code ${a} — see install.log`))})}).finally(()=>e().closeSync(c));let d=s();if(!d.installed)throw Error("install finished but package is missing — see install.log");return d}function w(a=200){try{if(!e().existsSync(l))return"";return e().readFileSync(l,"utf8").split(/\r?\n/).filter(Boolean).slice(-a).join("\n")}catch{return""}}}};
@@ -1 +1 @@
1
- {"version":1,"files":["../package.json","chunks/1220.js","chunks/1306.js","chunks/1455.js","chunks/1679.js","chunks/1712.js","chunks/1757.js","chunks/1813.js","chunks/1998.js","chunks/2132.js","chunks/2220.js","chunks/2329.js","chunks/238.js","chunks/2391.js","chunks/24.js","chunks/241.js","chunks/2430.js","chunks/2750.js","chunks/2760.js","chunks/2970.js","chunks/3016.js","chunks/3047.js","chunks/3225.js","chunks/3449.js","chunks/3535.js","chunks/3546.js","chunks/3558.js","chunks/3593.js","chunks/3662.js","chunks/3726.js","chunks/3943.js","chunks/3966.js","chunks/4049.js","chunks/4055.js","chunks/412.js","chunks/4123.js","chunks/4125.js","chunks/4152.js","chunks/4190.js","chunks/4252.js","chunks/4254.js","chunks/4293.js","chunks/436.js","chunks/4663.js","chunks/4730.js","chunks/4739.js","chunks/4780.js","chunks/4872.js","chunks/4882.js","chunks/507.js","chunks/5081.js","chunks/5182.js","chunks/5215.js","chunks/5217.js","chunks/5245.js","chunks/5258.js","chunks/5299.js","chunks/5330.js","chunks/5433.js","chunks/5500.js","chunks/5573.js","chunks/5615.js","chunks/5946.js","chunks/595.js","chunks/6070.js","chunks/6140.js","chunks/615.js","chunks/6249.js","chunks/6457.js","chunks/6540.js","chunks/6763.js","chunks/6777.js","chunks/6844.js","chunks/6877.js","chunks/6921.js","chunks/6922.js","chunks/698.js","chunks/7037.js","chunks/7066.js","chunks/7211.js","chunks/7247.js","chunks/7285.js","chunks/7525.js","chunks/7552.js","chunks/7557.js","chunks/7716.js","chunks/7774.js","chunks/7828.js","chunks/7911.js","chunks/7965.js","chunks/7995.js","chunks/8251.js","chunks/827.js","chunks/8292.js","chunks/8363.js","chunks/8402.js","chunks/8416.js","chunks/8499.js","chunks/8520.js","chunks/8635.js","chunks/869.js","chunks/8895.js","chunks/8910.js","chunks/8920.js","chunks/9055.js","chunks/9100.js","chunks/915.js","chunks/936.js","chunks/9378.js","chunks/9604.js","chunks/9609.js","chunks/9696.js","chunks/9746.js","webpack-runtime.js"]}
1
+ {"version":1,"files":["../package.json","chunks/1220.js","chunks/1306.js","chunks/1455.js","chunks/1679.js","chunks/1712.js","chunks/1757.js","chunks/1813.js","chunks/1998.js","chunks/2132.js","chunks/2220.js","chunks/2329.js","chunks/238.js","chunks/2391.js","chunks/24.js","chunks/241.js","chunks/2430.js","chunks/2750.js","chunks/2760.js","chunks/2970.js","chunks/3016.js","chunks/3047.js","chunks/3225.js","chunks/3449.js","chunks/3535.js","chunks/3546.js","chunks/3558.js","chunks/3593.js","chunks/3662.js","chunks/3726.js","chunks/3943.js","chunks/3966.js","chunks/4049.js","chunks/4055.js","chunks/412.js","chunks/4123.js","chunks/4125.js","chunks/4152.js","chunks/4190.js","chunks/4254.js","chunks/4293.js","chunks/436.js","chunks/4663.js","chunks/4730.js","chunks/4739.js","chunks/4780.js","chunks/4872.js","chunks/4882.js","chunks/507.js","chunks/5081.js","chunks/5182.js","chunks/5215.js","chunks/5217.js","chunks/5245.js","chunks/5258.js","chunks/5299.js","chunks/5330.js","chunks/5433.js","chunks/5500.js","chunks/5573.js","chunks/5615.js","chunks/5708.js","chunks/5946.js","chunks/595.js","chunks/6070.js","chunks/6140.js","chunks/615.js","chunks/6249.js","chunks/6457.js","chunks/6534.js","chunks/6540.js","chunks/6763.js","chunks/6777.js","chunks/6844.js","chunks/6877.js","chunks/6921.js","chunks/6922.js","chunks/698.js","chunks/7037.js","chunks/7066.js","chunks/7211.js","chunks/7247.js","chunks/7285.js","chunks/7525.js","chunks/7552.js","chunks/7557.js","chunks/7716.js","chunks/7774.js","chunks/7811.js","chunks/7828.js","chunks/7911.js","chunks/7965.js","chunks/7995.js","chunks/8251.js","chunks/827.js","chunks/8292.js","chunks/8363.js","chunks/8402.js","chunks/8416.js","chunks/8499.js","chunks/8520.js","chunks/869.js","chunks/8895.js","chunks/8910.js","chunks/8920.js","chunks/9055.js","chunks/9100.js","chunks/915.js","chunks/936.js","chunks/9378.js","chunks/9489.js","chunks/9609.js","chunks/9696.js","chunks/9746.js","webpack-runtime.js"]}
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/ZSFfwWCBng6VPk2-0itNU/_buildManifest.js","static/ZSFfwWCBng6VPk2-0itNU/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-396894770603fee1.js","static/chunks/4bd1b696-8cd12253b448cc13.js","static/chunks/3794-ba54cbd6a46cf18d.js","static/chunks/main-app-b0bdce9040f7d6b7.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/btqyBuq5xQRWIBStuDAhj/_buildManifest.js","static/btqyBuq5xQRWIBStuDAhj/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-5f3126bff1640c83.js","static/chunks/4bd1b696-8cd12253b448cc13.js","static/chunks/3794-ba54cbd6a46cf18d.js","static/chunks/main-app-b0bdce9040f7d6b7.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
@@ -1 +1 @@
1
- self.__REACT_LOADABLE_MANIFEST='{"..\\\\node_modules\\\\next\\\\dist\\\\client\\\\index.js -> ../pages/_app":{"id":41966,"files":["static/chunks/1966.b8f83f7ba376c962.js"]},"..\\\\node_modules\\\\next\\\\dist\\\\client\\\\index.js -> ../pages/_error":{"id":3899,"files":["static/chunks/3899.d4d0ae202f418161.js"]},"app\\\\(dashboard)\\\\dashboard\\\\translator\\\\page.js -> @monaco-editor/react":{"id":28202,"files":["static/chunks/8202.69dace5daa86686d.js"]},"app\\\\(dashboard)\\\\dashboard\\\\usage\\\\components\\\\ModelFlowRouting.js -> ./ProviderTopology":{"id":63521,"files":["static/css/e07f2bf4fa519943.css","static/chunks/1a258343.290297ea7c7f28c0.js","static/chunks/3842-cc4f39fa50ab8b93.js","static/chunks/6357.99dc54a064c984c0.js","static/chunks/3521.f0ac0c88103b9f6c.js"]},"shared\\\\components\\\\ChangelogModal.js -> marked":{"id":9233,"files":["static/chunks/9233.e0ace25b5b543835.js"]},"shared\\\\components\\\\UsageStats.js -> @/app/(dashboard)/dashboard/usage/components/ModelFlowRouting":{"id":15524,"files":["static/chunks/5524.fca1db6352c39218.js"]},"shared\\\\components\\\\UsageStats.js -> @/app/(dashboard)/dashboard/usage/components/ProviderBarChart":{"id":82435,"files":["static/chunks/2435.73c540d31dae9ecf.js"]},"shared\\\\components\\\\UsageStats.js -> @/app/(dashboard)/dashboard/usage/components/UsageChart":{"id":10124,"files":["static/chunks/3842-cc4f39fa50ab8b93.js","static/chunks/5815-2eb6990de66e825b.js","static/chunks/1649-772a31b7f3a65900.js","static/chunks/124.c1b5af11afe50408.js"]},"shared\\\\components\\\\layouts\\\\DashboardLayout.js -> @/app/(dashboard)/dashboard/usage/components/ProviderBarChart":{"id":82435,"files":["static/chunks/2435.73c540d31dae9ecf.js"]},"shared\\\\components\\\\layouts\\\\DashboardLayout.js -> @/app/(dashboard)/dashboard/usage/components/TopModelsChart":{"id":65462,"files":["static/chunks/3842-cc4f39fa50ab8b93.js","static/chunks/5815-2eb6990de66e825b.js","static/chunks/8569.df0d706176dc1f57.js","static/chunks/5462.c82c64c26a864ec0.js"]},"shared\\\\components\\\\layouts\\\\DashboardLayout.js -> @/app/(dashboard)/dashboard/usage/components/UsageChart":{"id":10124,"files":["static/chunks/3842-cc4f39fa50ab8b93.js","static/chunks/5815-2eb6990de66e825b.js","static/chunks/1649-772a31b7f3a65900.js","static/chunks/124.c1b5af11afe50408.js"]},"shared\\\\components\\\\layouts\\\\DashboardLayout.js -> @/shared/components/UsageStats":{"id":6808,"files":["static/chunks/6808-b6550a28721e71e1.js"]}}';
1
+ self.__REACT_LOADABLE_MANIFEST='{"..\\\\node_modules\\\\next\\\\dist\\\\client\\\\index.js -> ../pages/_app":{"id":41966,"files":["static/chunks/1966.b8f83f7ba376c962.js"]},"..\\\\node_modules\\\\next\\\\dist\\\\client\\\\index.js -> ../pages/_error":{"id":3899,"files":["static/chunks/3899.d4d0ae202f418161.js"]},"app\\\\(dashboard)\\\\dashboard\\\\translator\\\\page.js -> @monaco-editor/react":{"id":28202,"files":["static/chunks/8202.69dace5daa86686d.js"]},"app\\\\(dashboard)\\\\dashboard\\\\usage\\\\components\\\\ModelFlowRouting.js -> ./ProviderTopology":{"id":63521,"files":["static/css/e07f2bf4fa519943.css","static/chunks/1a258343.290297ea7c7f28c0.js","static/chunks/3842-cc4f39fa50ab8b93.js","static/chunks/6357.99dc54a064c984c0.js","static/chunks/3521.f0ac0c88103b9f6c.js"]},"shared\\\\components\\\\ChangelogModal.js -> marked":{"id":9233,"files":["static/chunks/9233.e0ace25b5b543835.js"]},"shared\\\\components\\\\UsageStats.js -> @/app/(dashboard)/dashboard/usage/components/ModelFlowRouting":{"id":15524,"files":["static/chunks/5524.a4e52491e3114015.js"]},"shared\\\\components\\\\UsageStats.js -> @/app/(dashboard)/dashboard/usage/components/ProviderBarChart":{"id":82435,"files":["static/chunks/2435.73c540d31dae9ecf.js"]},"shared\\\\components\\\\UsageStats.js -> @/app/(dashboard)/dashboard/usage/components/UsageChart":{"id":10124,"files":["static/chunks/3842-cc4f39fa50ab8b93.js","static/chunks/5815-2eb6990de66e825b.js","static/chunks/1649-772a31b7f3a65900.js","static/chunks/124.c1b5af11afe50408.js"]},"shared\\\\components\\\\layouts\\\\DashboardLayout.js -> @/app/(dashboard)/dashboard/usage/components/ProviderBarChart":{"id":82435,"files":["static/chunks/2435.73c540d31dae9ecf.js"]},"shared\\\\components\\\\layouts\\\\DashboardLayout.js -> @/app/(dashboard)/dashboard/usage/components/TopModelsChart":{"id":65462,"files":["static/chunks/3842-cc4f39fa50ab8b93.js","static/chunks/5815-2eb6990de66e825b.js","static/chunks/8569.df0d706176dc1f57.js","static/chunks/5462.c82c64c26a864ec0.js"]},"shared\\\\components\\\\layouts\\\\DashboardLayout.js -> @/app/(dashboard)/dashboard/usage/components/UsageChart":{"id":10124,"files":["static/chunks/3842-cc4f39fa50ab8b93.js","static/chunks/5815-2eb6990de66e825b.js","static/chunks/1649-772a31b7f3a65900.js","static/chunks/124.c1b5af11afe50408.js"]},"shared\\\\components\\\\layouts\\\\DashboardLayout.js -> @/shared/components/UsageStats":{"id":6808,"files":["static/chunks/6808-54de8b855aaccfa4.js"]}}';
@@ -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/jsonwebtoken/index.js","../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../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/framework/boundary-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/lib/semver-noop.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/blocking-route-messages.js","../../node_modules/next/dist/server/app-render/cache-signal.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/instant-validation/boundary-constants.js","../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.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/load-manifest.external.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/deep-freeze.js","../../node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","../../node_modules/next/dist/shared/lib/instant-messages.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/lazy-dynamic/react-browser-bailout.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/react/cjs/react.development.js","../../node_modules/react/cjs/react.production.js","../../node_modules/react/index.js","../../node_modules/react/package.json","../../node_modules/sql.js/dist/sql-wasm.js","../../node_modules/sql.js/package.json","../../package.json","../package.json","chunks/1220.js","chunks/1306.js","chunks/1455.js","chunks/1679.js","chunks/1712.js","chunks/1757.js","chunks/1813.js","chunks/1998.js","chunks/2132.js","chunks/2220.js","chunks/2329.js","chunks/238.js","chunks/2391.js","chunks/24.js","chunks/241.js","chunks/2430.js","chunks/2750.js","chunks/2760.js","chunks/2970.js","chunks/3016.js","chunks/3047.js","chunks/3225.js","chunks/3449.js","chunks/3535.js","chunks/3546.js","chunks/3558.js","chunks/3593.js","chunks/3662.js","chunks/3726.js","chunks/3943.js","chunks/3966.js","chunks/4049.js","chunks/4055.js","chunks/412.js","chunks/4123.js","chunks/4125.js","chunks/4152.js","chunks/4190.js","chunks/4252.js","chunks/4254.js","chunks/4293.js","chunks/436.js","chunks/4663.js","chunks/4730.js","chunks/4739.js","chunks/4780.js","chunks/4872.js","chunks/4882.js","chunks/507.js","chunks/5081.js","chunks/5182.js","chunks/5215.js","chunks/5217.js","chunks/5245.js","chunks/5258.js","chunks/5299.js","chunks/5330.js","chunks/5433.js","chunks/5500.js","chunks/5573.js","chunks/5615.js","chunks/5946.js","chunks/595.js","chunks/6070.js","chunks/6140.js","chunks/615.js","chunks/6249.js","chunks/6457.js","chunks/6540.js","chunks/6763.js","chunks/6777.js","chunks/6844.js","chunks/6877.js","chunks/6921.js","chunks/6922.js","chunks/698.js","chunks/7037.js","chunks/7066.js","chunks/7211.js","chunks/7247.js","chunks/7285.js","chunks/7525.js","chunks/7552.js","chunks/7557.js","chunks/7716.js","chunks/7774.js","chunks/7828.js","chunks/7911.js","chunks/7965.js","chunks/7995.js","chunks/8251.js","chunks/827.js","chunks/8292.js","chunks/8363.js","chunks/8402.js","chunks/8416.js","chunks/8499.js","chunks/8520.js","chunks/8635.js","chunks/869.js","chunks/8895.js","chunks/8910.js","chunks/8920.js","chunks/9055.js","chunks/9100.js","chunks/915.js","chunks/936.js","chunks/9378.js","chunks/9604.js","chunks/9609.js","chunks/9696.js","chunks/9746.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/jsonwebtoken/index.js","../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../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/framework/boundary-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/lib/semver-noop.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/blocking-route-messages.js","../../node_modules/next/dist/server/app-render/cache-signal.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/instant-validation/boundary-constants.js","../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.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/load-manifest.external.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/deep-freeze.js","../../node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","../../node_modules/next/dist/shared/lib/instant-messages.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/lazy-dynamic/react-browser-bailout.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/react/cjs/react.development.js","../../node_modules/react/cjs/react.production.js","../../node_modules/react/index.js","../../node_modules/react/package.json","../../node_modules/sql.js/dist/sql-wasm.js","../../node_modules/sql.js/package.json","../../package.json","../package.json","chunks/1220.js","chunks/1306.js","chunks/1455.js","chunks/1679.js","chunks/1712.js","chunks/1757.js","chunks/1813.js","chunks/1998.js","chunks/2132.js","chunks/2220.js","chunks/2329.js","chunks/238.js","chunks/2391.js","chunks/24.js","chunks/241.js","chunks/2430.js","chunks/2750.js","chunks/2760.js","chunks/2970.js","chunks/3016.js","chunks/3047.js","chunks/3225.js","chunks/3449.js","chunks/3535.js","chunks/3546.js","chunks/3558.js","chunks/3593.js","chunks/3662.js","chunks/3726.js","chunks/3943.js","chunks/3966.js","chunks/4049.js","chunks/4055.js","chunks/412.js","chunks/4123.js","chunks/4125.js","chunks/4152.js","chunks/4190.js","chunks/4254.js","chunks/4293.js","chunks/436.js","chunks/4663.js","chunks/4730.js","chunks/4739.js","chunks/4780.js","chunks/4872.js","chunks/4882.js","chunks/507.js","chunks/5081.js","chunks/5182.js","chunks/5215.js","chunks/5217.js","chunks/5245.js","chunks/5258.js","chunks/5299.js","chunks/5330.js","chunks/5433.js","chunks/5500.js","chunks/5573.js","chunks/5615.js","chunks/5708.js","chunks/5946.js","chunks/595.js","chunks/6070.js","chunks/6140.js","chunks/615.js","chunks/6249.js","chunks/6457.js","chunks/6534.js","chunks/6540.js","chunks/6763.js","chunks/6777.js","chunks/6844.js","chunks/6877.js","chunks/6921.js","chunks/6922.js","chunks/698.js","chunks/7037.js","chunks/7066.js","chunks/7211.js","chunks/7247.js","chunks/7285.js","chunks/7525.js","chunks/7552.js","chunks/7557.js","chunks/7716.js","chunks/7774.js","chunks/7811.js","chunks/7828.js","chunks/7911.js","chunks/7965.js","chunks/7995.js","chunks/8251.js","chunks/827.js","chunks/8292.js","chunks/8363.js","chunks/8402.js","chunks/8416.js","chunks/8499.js","chunks/8520.js","chunks/869.js","chunks/8895.js","chunks/8910.js","chunks/8920.js","chunks/9055.js","chunks/9100.js","chunks/915.js","chunks/936.js","chunks/9378.js","chunks/9489.js","chunks/9609.js","chunks/9696.js","chunks/9746.js","webpack-runtime.js"]}
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/6a9bef38941fa1cc.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2388dd0fafaf8266.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-396894770603fee1.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-ba54cbd6a46cf18d.js" async=""></script><script src="/_next/static/chunks/main-app-b0bdce9040f7d6b7.js" async=""></script><script src="/_next/static/chunks/763-dc08dca9e6f220af.js" async=""></script><script src="/_next/static/chunks/1321-6630b5aa23e3ec0e.js" async=""></script><script src="/_next/static/chunks/705-363f42ebbfd184b4.js" async=""></script><script src="/_next/static/chunks/5497-1681f72f0e82b863.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-85b42e3587cdd780.js" async=""></script><script src="/_next/static/chunks/5665-d80fd6fd8a52bee5.js" async=""></script><script src="/_next/static/chunks/app/layout-53a33c2d919bd8e4.js" async=""></script><link rel="preload" href="https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800&amp;display=swap" as="style"/><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="#080808"/><title>67Router - AI Gateway &amp; Proxy</title><meta name="description" content="Unified AI gateway, model routing, and key infrastructure."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?be89a57426cf656a" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/logo.png"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><title>404: This page could not be found.</title><link href="https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800&amp;display=swap" rel="stylesheet"/><script>(function(){try{document.documentElement.classList.add('dark');localStorage.setItem('theme',JSON.stringify({state:{theme:'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_4dc837 font-sans antialiased bg-bg text-text-main"><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-396894770603fee1.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-dc08dca9e6f220af.js\"\n3:\"static/chunks/1321-6630b5aa23e3ec0e.js\"\n4:\"static/chunks/705-363f42ebbfd184b4.js\"\n5:\"static/chunks/5497-1681f72f0e82b863.js\"\n6:\"static/chunks/app/(dashboard)/layout-85b42e3587cdd780.js\"\n7:I[21110,[\"763\",\"$2\",\"1321\",\"$3\",\"705\",\"$4\",\"5497\",\"$5\",\"9305\",\"$6\"],\"ThemeProvider\"]\n8:\"static/chunks/5665-d80fd6fd8a52bee5.js\"\n9:\"static/chunks/app/layout-53a33c2d919bd8e4.js\"\na:\"RuntimeI18nProvider\"\nb:I[94635,[\"5665\",\"$8\",\"1321\",\"$3\",\"7177\",\"$9\"],\"$a\"]\nc:I[57121,[],\"\"]\nd:I[74581,[],\"\"]\ne:I[30565,[\"5665\",\"$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/css/6a9bef38941fa1cc.css\",\"style\"]\n:HL[\"/_next/static/css/2388dd0fafaf8266.css\",\"style\"]\n:HL[\"https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800\u0026display=swap\",\"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/6a9bef38941fa1cc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2388dd0fafaf8266.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.googleapis.com\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.gstatic.com\",\"crossOrigin\":\"anonymous\"}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800\u0026display=swap\",\"rel\":\"stylesheet\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{document.documentElement.classList.add('dark');localStorage.setItem('theme',JSON.stringify({state:{theme:'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_4dc837 font-sans antialiased bg-bg text-text-main\",\"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]}],null]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$1b\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ZSFfwWCBng6VPk2-0itNU\"}\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\":\"#080808\"}]]\n1c:I[86869,[],\"IconMark\"]\n14:null\n1a:[[\"$\",\"title\",\"0\",{\"children\":\"67Router - AI Gateway \u0026 Proxy\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Unified AI gateway, model routing, and key infrastructure.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?be89a57426cf656a\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/logo.png\"}],[\"$\",\"$L1c\",\"5\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/6a9bef38941fa1cc.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/9ade909ac2a94202.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5f3126bff1640c83.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-ba54cbd6a46cf18d.js" async=""></script><script src="/_next/static/chunks/main-app-b0bdce9040f7d6b7.js" async=""></script><script src="/_next/static/chunks/763-dc08dca9e6f220af.js" async=""></script><script src="/_next/static/chunks/7309-cbbdf9d5d0d06f2b.js" async=""></script><script src="/_next/static/chunks/705-363f42ebbfd184b4.js" async=""></script><script src="/_next/static/chunks/5497-424fa4c770985a02.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-e2a9c08e575d5fb1.js" async=""></script><script src="/_next/static/chunks/5665-d80fd6fd8a52bee5.js" async=""></script><script src="/_next/static/chunks/app/layout-6693e2013812704c.js" async=""></script><link rel="preload" href="https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800&amp;display=swap" as="style"/><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="#080808"/><title>67Router - AI Gateway &amp; Proxy</title><meta name="description" content="Unified AI gateway, model routing, and key infrastructure."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?be89a57426cf656a" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/logo.png"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><title>404: This page could not be found.</title><link href="https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800&amp;display=swap" rel="stylesheet"/><script>(function(){try{document.documentElement.classList.add('dark');localStorage.setItem('theme',JSON.stringify({state:{theme:'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_4dc837 font-sans antialiased bg-bg text-text-main"><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-5f3126bff1640c83.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-dc08dca9e6f220af.js\"\n3:\"static/chunks/7309-cbbdf9d5d0d06f2b.js\"\n4:\"static/chunks/705-363f42ebbfd184b4.js\"\n5:\"static/chunks/5497-424fa4c770985a02.js\"\n6:\"static/chunks/app/(dashboard)/layout-e2a9c08e575d5fb1.js\"\n7:I[75688,[\"763\",\"$2\",\"7309\",\"$3\",\"705\",\"$4\",\"5497\",\"$5\",\"9305\",\"$6\"],\"ThemeProvider\"]\n8:\"static/chunks/5665-d80fd6fd8a52bee5.js\"\n9:\"static/chunks/app/layout-6693e2013812704c.js\"\na:\"RuntimeI18nProvider\"\nb:I[94635,[\"5665\",\"$8\",\"7309\",\"$3\",\"7177\",\"$9\"],\"$a\"]\nc:I[57121,[],\"\"]\nd:I[74581,[],\"\"]\ne:I[30565,[\"5665\",\"$8\",\"7309\",\"$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/css/6a9bef38941fa1cc.css\",\"style\"]\n:HL[\"/_next/static/css/9ade909ac2a94202.css\",\"style\"]\n:HL[\"https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800\u0026display=swap\",\"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/6a9bef38941fa1cc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9ade909ac2a94202.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.googleapis.com\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.gstatic.com\",\"crossOrigin\":\"anonymous\"}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800\u0026display=swap\",\"rel\":\"stylesheet\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{document.documentElement.classList.add('dark');localStorage.setItem('theme',JSON.stringify({state:{theme:'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_4dc837 font-sans antialiased bg-bg text-text-main\",\"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]}],null]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$1b\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"btqyBuq5xQRWIBStuDAhj\"}\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\":\"#080808\"}]]\n1c:I[86869,[],\"IconMark\"]\n14:null\n1a:[[\"$\",\"title\",\"0\",{\"children\":\"67Router - AI Gateway \u0026 Proxy\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Unified AI gateway, model routing, and key infrastructure.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?be89a57426cf656a\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/logo.png\"}],[\"$\",\"$L1c\",\"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-396894770603fee1.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-ba54cbd6a46cf18d.js" async=""></script><script src="/_next/static/chunks/main-app-b0bdce9040f7d6b7.js" async=""></script><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-396894770603fee1.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]}],null]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ZSFfwWCBng6VPk2-0itNU\"}\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-5f3126bff1640c83.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-ba54cbd6a46cf18d.js" async=""></script><script src="/_next/static/chunks/main-app-b0bdce9040f7d6b7.js" async=""></script><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-5f3126bff1640c83.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]}],null]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"btqyBuq5xQRWIBStuDAhj\"}\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>
@@ -0,0 +1,18 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2694],{52694:(e,s,t)=>{Promise.resolve().then(t.bind(t,57924))},57924:(e,s,t)=>{"use strict";t.d(s,{default:()=>x});var a=t(95155),r=t(12115),l=t(14051),n=t.n(l),o=t(35497),i=t(11059),c=t(72767);function d(){return(0,a.jsxs)("div",{className:"flex flex-col gap-6 max-w-5xl mx-auto pb-12 select-none",children:[(0,a.jsxs)("div",{className:"border border-[#222226] bg-[#0F0F10]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-[#222226]",children:[(0,a.jsx)("div",{className:"h-3.5 w-20 bg-[#1c1c24] animate-pulse"}),(0,a.jsx)("div",{className:"h-3 w-16 bg-[#181820] animate-pulse"})]}),(0,a.jsxs)("div",{className:"divide-y divide-[#222226]",children:[(0,a.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,a.jsx)("div",{className:"h-3 w-16 bg-[#1c1c24] animate-pulse sm:w-[120px]"}),(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[(0,a.jsx)("div",{className:"flex-1 h-8 bg-[#080808] border border-[#222226] animate-pulse"}),(0,a.jsx)("div",{className:"h-8 w-16 bg-[#141416] border border-[#2E2E33] animate-pulse"})]})]}),(0,a.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,a.jsx)("div",{className:"h-3 w-24 bg-[#1c1c24] animate-pulse sm:w-[120px]"}),(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[(0,a.jsx)("div",{className:"flex-1 h-8 bg-[#080808] border border-[#222226] animate-pulse"}),(0,a.jsx)("div",{className:"h-8 w-16 bg-[#141416] border border-[#2E2E33] animate-pulse"})]})]}),(0,a.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,a.jsx)("div",{className:"h-3 w-20 bg-[#1c1c24] animate-pulse sm:w-[120px]"}),(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[(0,a.jsx)("div",{className:"flex-1 h-8 bg-[#080808] border border-[#222226] animate-pulse"}),(0,a.jsx)("div",{className:"h-8 w-16 bg-[#141416] border border-[#2E2E33] animate-pulse"})]})]})]})]}),(0,a.jsxs)("div",{className:"border border-[#222226] bg-[#0F0F10]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-[#222226]",children:[(0,a.jsx)("div",{className:"h-3.5 w-32 bg-[#1c1c24] animate-pulse"}),(0,a.jsx)("div",{className:"h-7 w-24 bg-[#1c1c24] animate-pulse"})]}),(0,a.jsx)("div",{className:"divide-y divide-[#222226]",children:[void 0,void 0,void 0].map((e,s)=>(0,a.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"h-3.5 w-24 bg-[#1c1c24] animate-pulse sm:min-w-[120px]"}),(0,a.jsx)("div",{className:"h-6 w-48 bg-[#080808] border border-[#222226] animate-pulse"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("div",{className:"h-6 w-14 bg-[#141416] border border-[#23242A] animate-pulse"}),(0,a.jsx)("div",{className:"h-6 w-14 bg-[#141416] border border-[#23242A] animate-pulse"}),(0,a.jsx)("div",{className:"h-6 w-14 bg-[#141416] border border-[#23242A] animate-pulse"}),(0,a.jsx)("div",{className:"h-6 w-6 bg-[#141416] border border-[#23242A] animate-pulse"})]})]},s))})]}),(0,a.jsxs)("div",{className:"border border-[#222226] bg-[#0F0F10]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-[#222226]",children:[(0,a.jsx)("div",{className:"h-3.5 w-32 bg-[#1c1c24] animate-pulse"}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"h-4 w-10 bg-[#1c1c24] animate-pulse"}),(0,a.jsx)("div",{className:"h-4 w-12 bg-[#181820] animate-pulse"}),(0,a.jsx)("div",{className:"h-4 w-10 bg-[#181820] animate-pulse"})]})]}),(0,a.jsxs)("div",{className:"p-4 bg-[#080808] space-y-2",children:[(0,a.jsx)("div",{className:"h-3 w-3/4 bg-[#1c1c24] animate-pulse"}),(0,a.jsx)("div",{className:"h-3 w-1/2 bg-[#181820] animate-pulse"}),(0,a.jsx)("div",{className:"h-3 w-2/3 bg-[#181820] animate-pulse"}),(0,a.jsx)("div",{className:"h-3 w-1/3 bg-[#181820] animate-pulse"}),(0,a.jsx)("div",{className:"h-3 w-3/5 bg-[#181820] animate-pulse"}),(0,a.jsx)("div",{className:"h-3 w-2/5 bg-[#181820] animate-pulse"})]})]})]})}function x({machineId:e}){let[s,t]=(0,r.useState)([]),[l,n]=(0,r.useState)(!0),[p,m]=(0,r.useState)(!1),[b,u]=(0,r.useState)(""),[h,f]=(0,r.useState)(null),[j,g]=(0,r.useState)(null),[y,v]=(0,r.useState)("curl"),[N,A]=(0,r.useState)(!1),[w,C]=(0,r.useState)(!0),[k,E]=(0,r.useState)(!0),[F,S]=(0,r.useState)(!1),[O,P]=(0,r.useState)(""),[I,T]=(0,r.useState)(""),[D,$]=(0,r.useState)(!1),[R,K]=(0,r.useState)(!1),[_,q]=(0,r.useState)(!1),[B,L]=(0,r.useState)(!1),[U,H]=(0,r.useState)(""),[Y,J]=(0,r.useState)(!1),[z,M]=(0,r.useState)(!1),[G,Q]=(0,r.useState)(!1),[V,W]=(0,r.useState)(new Set),[X,Z]=(0,r.useState)("/v1"),{copied:ee,copy:es}=(0,i.C)(2e3);(0,r.useEffect)(()=>{Z(`${window.location.origin}/v1`),er(),et()},[]);let et=async()=>{try{let[e,s]=await Promise.all([c.A.getState().fetchSettings(),fetch("/api/tunnel/status",{cache:"no-store"})]);if(e&&(A(e.requireApiKey||!1),C(!1!==e.requireLogin),E(e.hasPassword||!1)),s.ok){let e=await s.json();S(e.tunnel?.settingsEnabled??e.tunnel?.enabled??!1),P(e.tunnel?.tunnelUrl||""),T(e.tunnel?.publicUrl||""),L(e.tailscale?.settingsEnabled??e.tailscale?.enabled??!1),H(e.tailscale?.tunnelUrl||"")}}catch{}},ea=async e=>{try{await c.A.getState().patchSettings({requireApiKey:e})&&A(e)}catch{}},er=async()=>{try{let e=await fetch("/api/keys");if(!e.ok)return;let s=(await e.json()).keys||[];if(0===s.length&&(await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"Default Key"})})).ok){let e=await fetch("/api/keys");s=(await e.json()).keys||[]}t(s)}catch{}finally{n(!1)}},el=async()=>{K(!1),$(!0);try{let e=await fetch("/api/tunnel/enable",{method:"POST"}),s=await e.json();e.ok&&s.tunnelUrl&&(P(s.tunnelUrl),T(s.publicUrl||""),S(!0))}catch{}finally{$(!1)}},en=async()=>{$(!0);try{(await fetch("/api/tunnel/disable",{method:"POST"})).ok&&(S(!1),P(""),T(""),q(!1))}catch{}finally{$(!1)}},eo=async()=>{if(b.trim())try{let e=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b})}),s=await e.json();e.ok&&(f(s.key),await er(),u(""),m(!1))}catch{}},ei=async e=>{g({title:"Revoke API Key",message:"Are you sure you want to delete this API key?",onConfirm:async()=>{g(null);try{(await fetch(`/api/keys/${e}`,{method:"DELETE"})).ok&&t(s.filter(s=>s.id!==e))}catch{}}})},ec=async(e,s)=>{try{(await fetch(`/api/keys/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:s})})).ok&&t(t=>t.map(t=>t.id===e?{...t,isActive:s}:t))}catch{}},ed=s.find(e=>!1!==e.isActive)?.key||"sk-67router-demo-token",ex=()=>"curl"===y?`curl ${X}/chat/completions \\
2
+ -H "Content-Type: application/json" \\
3
+ -H "Authorization: Bearer ${ed}" \\
4
+ -d '{"model": "claude-3-7-sonnet-20250219", "messages": [{"role": "user", "content": "Hello 67Router"}]}'`:"python"===y?`import openai
5
+
6
+ client = openai.OpenAI(base_url="${X}", api_key="${ed}")
7
+ resp = client.chat.completions.create(
8
+ model="claude-3-7-sonnet-20250219",
9
+ messages=[{"role": "user", "content": "Hello 67Router"}]
10
+ )
11
+ print(resp.choices[0].message.content)`:`import OpenAI from "openai";
12
+
13
+ const openai = new OpenAI({ baseURL: "${X}", apiKey: "${ed}" });
14
+ const res = await openai.chat.completions.create({
15
+ model: "claude-3-7-sonnet-20250219",
16
+ messages: [{ role: "user", content: "Hello 67Router" }]
17
+ });
18
+ console.log(res.choices[0].message.content);`;return l?(0,a.jsx)(d,{}):(0,a.jsxs)("div",{className:"flex flex-col gap-6 max-w-5xl mx-auto pb-12 select-none",children:[(0,a.jsxs)("div",{className:"border border-[#222226] bg-[#0F0F10]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-[#222226]",children:[(0,a.jsx)("h2",{className:"text-xs font-semibold text-[#F5F5F7] tracking-wider uppercase font-mono",children:"Endpoints"}),(0,a.jsxs)("span",{className:"text-[11px] text-[#10B981] font-mono flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"w-1.5 h-1.5 bg-[#10B981] inline-block"}),"ONLINE"]})]}),(0,a.jsxs)("div",{className:"divide-y divide-[#222226]",children:[(0,a.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,a.jsx)("span",{className:"text-xs font-mono text-[#A1A1A6] uppercase min-w-[120px]",children:"Local"}),(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[(0,a.jsx)("input",{type:"text",readOnly:!0,value:X,className:"flex-1 px-3 py-1.5 border border-[#222226] bg-[#080808] text-xs font-mono text-[#E5C378] select-all focus:outline-none"}),(0,a.jsx)("button",{onClick:()=>es(X,"local"),className:"px-3 py-1.5 border border-[#2E2E33] hover:border-[#C5A880] bg-[#141416] text-xs font-mono text-[#F5F5F7] transition-colors cursor-pointer shrink-0",children:"local"===ee?"COPIED":"COPY"})]})]}),(0,a.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,a.jsx)("span",{className:"text-xs font-mono text-[#A1A1A6] uppercase min-w-[120px]",children:"Cloudflare"}),(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[(0,a.jsx)("input",{type:"text",readOnly:!0,value:F&&(I||O)?`${I||O}/v1`:"Tunnel offline",className:"flex-1 px-3 py-1.5 border border-[#222226] bg-[#080808] text-xs font-mono text-[#A1A1A6] select-all focus:outline-none"}),F?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{onClick:()=>es(`${I||O}/v1`,"tunnel"),className:"px-3 py-1.5 border border-[#2E2E33] hover:border-[#C5A880] bg-[#141416] text-xs font-mono text-[#F5F5F7] transition-colors cursor-pointer shrink-0",children:"tunnel"===ee?"COPIED":"COPY"}),(0,a.jsx)("button",{onClick:()=>q(!0),className:"px-3 py-1.5 border border-red-500/30 hover:border-red-500 text-xs font-mono text-red-400 transition-colors cursor-pointer shrink-0",children:"DISABLE"})]}):(0,a.jsx)("button",{onClick:()=>K(!0),className:"px-3 py-1.5 bg-[#E5C378] hover:bg-[#C5A880] text-[#080808] text-xs font-mono font-semibold transition-colors cursor-pointer shrink-0",children:"ENABLE"})]})]}),(0,a.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,a.jsx)("span",{className:"text-xs font-mono text-[#A1A1A6] uppercase min-w-[120px]",children:"Tailscale"}),(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[(0,a.jsx)("input",{type:"text",readOnly:!0,value:B&&U?`${U}/v1`:"Tailscale standby",className:"flex-1 px-3 py-1.5 border border-[#222226] bg-[#080808] text-xs font-mono text-[#A1A1A6] select-all focus:outline-none"}),B?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{onClick:()=>es(`${U}/v1`,"ts"),className:"px-3 py-1.5 border border-[#2E2E33] hover:border-[#C5A880] bg-[#141416] text-xs font-mono text-[#F5F5F7] transition-colors cursor-pointer shrink-0",children:"ts"===ee?"COPIED":"COPY"}),(0,a.jsx)("button",{onClick:()=>Q(!0),className:"px-3 py-1.5 border border-red-500/30 hover:border-red-500 text-xs font-mono text-red-400 transition-colors cursor-pointer shrink-0",children:"DISABLE"})]}):(0,a.jsx)("button",{onClick:()=>M(!0),className:"px-3 py-1.5 border border-[#2E2E33] hover:border-[#C5A880] bg-[#141416] text-xs font-mono text-[#F5F5F7] transition-colors cursor-pointer shrink-0",children:"CONNECT"})]})]})]})]}),(0,a.jsxs)("div",{className:"border border-[#222226] bg-[#0F0F10]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-[#222226]",children:[(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)("h2",{className:"text-xs font-semibold text-[#F5F5F7] tracking-wider uppercase font-mono",children:"API Keys"}),(0,a.jsxs)("div",{className:"flex items-center gap-2 font-mono text-xs text-[#A1A1A6]",children:[(0,a.jsx)("span",{children:"Auth Required:"}),(0,a.jsx)(o.lM,{size:"sm",checked:N,onChange:()=>ea(!N)})]})]}),(0,a.jsx)("button",{onClick:()=>m(!0),className:"px-3 py-1.5 bg-[#E5C378] hover:bg-[#C5A880] text-[#080808] font-mono text-xs font-semibold uppercase transition-colors cursor-pointer",children:"+ Create Key"})]}),(0,a.jsx)("div",{className:"divide-y divide-[#222226]",children:0===s.length?(0,a.jsx)("div",{className:"p-8 text-center text-xs text-[#68686E] font-mono",children:"No API keys configured."}):s.map(e=>{var s;let t=V.has(e.id),r=!1===e.isActive;return(0,a.jsxs)("div",{className:`p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3 font-mono text-xs ${r?"opacity-50":""}`,children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("span",{className:"font-medium text-[#F5F5F7] min-w-[120px]",children:e.name}),(0,a.jsx)("code",{className:"text-[#A1A1A6] bg-[#080808] px-2 py-0.5 border border-[#222226]",children:t?e.key:(s=e.key)&&!(s.length<=10)?s.slice(0,6)+"••••••••••••"+s.slice(-4):s||""})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsxs)("button",{onClick:()=>{var s;return s=e.id,void W(e=>{let t=new Set(e);return t.has(s)?t.delete(s):t.add(s),t})},className:"inline-flex items-center gap-1 px-2.5 py-1 text-[11px] font-mono text-[#A1A1A6] hover:text-[#E5C378] bg-[#141416] hover:bg-[#1A1A1E] border border-[#23242A] hover:border-[#C5A880]/50 transition-all cursor-pointer",title:t?"Hide API key":"Show full API key",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:t?"visibility_off":"visibility"}),t?"Hide":"Show"]}),(0,a.jsxs)("button",{onClick:()=>es(e.key,e.id),className:"inline-flex items-center gap-1 px-2.5 py-1 text-[11px] font-mono text-[#A1A1A6] hover:text-[#E5C378] bg-[#141416] hover:bg-[#1A1A1E] border border-[#23242A] hover:border-[#C5A880]/50 transition-all cursor-pointer",title:"Copy API key",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:ee===e.id?"check":"content_copy"}),ee===e.id?"Copied":"Copy"]}),(0,a.jsxs)("button",{onClick:()=>ec(e.id,r),className:`inline-flex items-center gap-1 px-2.5 py-1 text-[11px] font-mono border transition-all cursor-pointer ${r?"text-[#10b981] bg-[#10b981]/10 border-[#10b981]/30 hover:bg-[#10b981]/20 hover:border-[#10b981]/60":"text-[#A1A1A6] hover:text-[#F5F5F7] bg-[#141416] hover:bg-[#1A1A1E] border-[#23242A] hover:border-[#353642]"}`,title:r?"Resume API key":"Pause API key",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:r?"play_arrow":"pause"}),r?"Resume":"Pause"]}),(0,a.jsx)("button",{onClick:()=>ei(e.id),className:"inline-flex items-center justify-center p-1.5 text-[#68686E] hover:text-[#FF6B6B] bg-[#141416] hover:bg-[#2A1517] border border-[#23242A] hover:border-[#522226] transition-all cursor-pointer ml-0.5",title:"Delete key",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"delete"})})]})]},e.id)})})]}),(0,a.jsxs)("div",{className:"border border-[#222226] bg-[#0F0F10]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-[#222226]",children:[(0,a.jsx)("h2",{className:"text-xs font-semibold text-[#F5F5F7] tracking-wider uppercase font-mono",children:"Example Request"}),(0,a.jsx)("div",{className:"flex items-center gap-1 font-mono text-xs",children:["curl","python","node"].map(e=>(0,a.jsx)("button",{onClick:()=>v(e),className:`px-2 py-0.5 text-xs uppercase cursor-pointer ${y===e?"text-[#E5C378] border-b border-[#E5C378]":"text-[#68686E] hover:text-[#A1A1A6]"}`,children:e},e))})]}),(0,a.jsxs)("div",{className:"p-4 bg-[#080808] relative font-mono text-xs text-[#E5C378] overflow-x-auto",children:[(0,a.jsx)("pre",{className:"whitespace-pre",children:ex()}),(0,a.jsx)("button",{onClick:()=>es(ex(),"harness"),className:"absolute top-3 right-3 px-2 py-1 border border-[#2E2E33] bg-[#141416] hover:border-[#C5A880] text-[11px] font-mono text-[#F5F5F7] cursor-pointer",children:"harness"===ee?"COPIED":"COPY"})]})]}),(0,a.jsx)(o.aF,{isOpen:p,title:"Create API Key",onClose:()=>{m(!1),u("")},children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-[#A1A1A6] block mb-1",children:"Key Name"}),(0,a.jsx)("input",{type:"text",value:b,onChange:e=>u(e.target.value),placeholder:"e.g. Production Key",className:"w-full px-3 py-2 border border-[#222226] bg-[#080808] text-xs text-[#F5F5F7] focus:border-[#C5A880] focus:outline-none"})]}),(0,a.jsxs)("div",{className:"flex gap-2 mt-2",children:[(0,a.jsx)("button",{onClick:eo,disabled:!b.trim(),className:"flex-1 py-2 bg-[#E5C378] hover:bg-[#C5A880] text-[#080808] font-bold uppercase cursor-pointer disabled:opacity-40",children:"Create"}),(0,a.jsx)("button",{onClick:()=>{m(!1),u("")},className:"px-4 py-2 border border-[#2E2E33] text-[#A1A1A6] uppercase cursor-pointer",children:"Cancel"})]})]})}),(0,a.jsx)(o.aF,{isOpen:!!h,title:"API Key Created",onClose:()=>f(null),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,a.jsx)("p",{className:"text-amber-400",children:"Save this key now. It will not be shown again."}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("input",{type:"text",value:h||"",readOnly:!0,className:"flex-1 px-3 py-2 border border-[#222226] bg-[#080808] text-xs text-[#E5C378] select-all focus:outline-none"}),(0,a.jsx)("button",{onClick:()=>es(h,"created_key"),className:"px-3 py-2 bg-[#E5C378] text-[#080808] font-bold uppercase cursor-pointer shrink-0",children:"created_key"===ee?"COPIED":"COPY"})]}),(0,a.jsx)("button",{onClick:()=>f(null),className:"w-full py-2 border border-[#2E2E33] text-[#F5F5F7] uppercase cursor-pointer",children:"Done"})]})}),(0,a.jsx)(o.aF,{isOpen:R,title:"Enable Cloudflare Tunnel",onClose:()=>K(!1),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,a.jsx)("p",{className:"text-[#A1A1A6]",children:"Expose your local 67Router gateway through a secure Cloudflare tunnel."}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{onClick:el,className:"flex-1 py-2 bg-[#E5C378] hover:bg-[#C5A880] text-[#080808] font-bold uppercase cursor-pointer",children:"Start Tunnel"}),(0,a.jsx)("button",{onClick:()=>K(!1),className:"px-4 py-2 border border-[#2E2E33] text-[#A1A1A6] uppercase cursor-pointer",children:"Cancel"})]})]})}),(0,a.jsx)(o.aF,{isOpen:_,title:"Disable Cloudflare Tunnel",onClose:()=>!D&&q(!1),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,a.jsx)("p",{className:"text-[#A1A1A6]",children:"Disconnect the public tunnel endpoint?"}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{onClick:en,disabled:D,className:"flex-1 py-2 bg-red-600 hover:bg-red-700 text-white font-bold uppercase cursor-pointer",children:"Disable"}),(0,a.jsx)("button",{onClick:()=>q(!1),className:"px-4 py-2 border border-[#2E2E33] text-[#A1A1A6] uppercase cursor-pointer",children:"Cancel"})]})]})}),(0,a.jsx)(o.aF,{isOpen:z,title:"Connect Tailscale",onClose:()=>M(!1),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,a.jsx)("p",{className:"text-[#A1A1A6]",children:"Connect node to your private Tailscale network."}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{onClick:()=>{L(!0),M(!1)},className:"flex-1 py-2 bg-[#E5C378] hover:bg-[#C5A880] text-[#080808] font-bold uppercase cursor-pointer",children:"Connect"}),(0,a.jsx)("button",{onClick:()=>M(!1),className:"px-4 py-2 border border-[#2E2E33] text-[#A1A1A6] uppercase cursor-pointer",children:"Cancel"})]})]})}),(0,a.jsx)(o.aF,{isOpen:G,title:"Disconnect Tailscale",onClose:()=>Q(!1),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,a.jsx)("p",{className:"text-[#A1A1A6]",children:"Disconnect node from Tailscale network?"}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{onClick:()=>{L(!1),Q(!1)},className:"flex-1 py-2 bg-red-600 hover:bg-red-700 text-white font-bold uppercase cursor-pointer",children:"Disconnect"}),(0,a.jsx)("button",{onClick:()=>Q(!1),className:"px-4 py-2 border border-[#2E2E33] text-[#A1A1A6] uppercase cursor-pointer",children:"Cancel"})]})]})}),(0,a.jsx)(o.uo,{isOpen:!!j,onClose:()=>g(null),onConfirm:j?.onConfirm,title:j?.title||"Confirm",message:j?.message,variant:"danger"})]})}n().shape({id:n().string.isRequired,name:n().string,access:n().shape({restricted:n().bool,allow:n().arrayOf(n().string)})}).isRequired,n().func.isRequired,n().func.isRequired,x.propTypes={machineId:n().string.isRequired}}}]);