@rabbi696/ezrouter 0.5.92 → 0.5.93

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 (897) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +5 -4
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/routes-manifest.json +6 -0
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/convoy/page.js +2 -2
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/convoy/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page.js +2 -2
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  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 +2 -2
  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 +2 -2
  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 +2 -2
  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 +2 -2
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +2 -2
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-health/page.js +2 -2
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-health/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  58. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  60. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  61. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  62. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  63. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  64. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  65. package/app/.next-cli-build/server/app/_global-error.segments/_index.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 +2 -2
  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 +3 -3
  71. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  72. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  73. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +3 -3
  74. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  75. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  76. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  77. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  78. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  79. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  80. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  81. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  82. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  83. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
  84. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
  85. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
  86. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +2 -2
  87. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  88. package/app/.next-cli-build/server/app/api/changelog/route.js +1 -1
  89. package/app/.next-cli-build/server/app/api/cli/providers/codex/route.js +1 -1
  90. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +1 -1
  91. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  92. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  93. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  94. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  95. package/app/.next-cli-build/server/app/api/cli-tools/codex-native/models/route.js +1 -1
  96. package/app/.next-cli-build/server/app/api/cli-tools/codex-native/readiness/route.js +2 -2
  97. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +2 -2
  98. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  100. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  101. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  103. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -2
  104. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  107. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  108. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  109. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  110. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/combos/export/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/combos/import/route.js +1 -1
  116. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/combos/test/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/convoy/rules/route.js +1 -1
  119. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  121. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  124. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  126. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/internal/codex-native/lease/[action]/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  132. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  133. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  135. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  136. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  138. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  139. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  140. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  141. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  142. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  144. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  145. package/app/.next-cli-build/server/app/api/oauth/callback/route.js +1 -0
  146. package/app/.next-cli-build/server/app/api/oauth/callback/route.js.nft.json +1 -0
  147. package/app/.next-cli-build/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -0
  148. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  150. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  151. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  152. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  153. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  154. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  156. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  157. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  159. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  161. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  163. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  165. package/app/.next-cli-build/server/app/api/providers/[id]/refresh-profile/route.js +1 -1
  166. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  178. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  179. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  181. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  182. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
  184. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  185. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  186. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
  187. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  188. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  189. package/app/.next-cli-build/server/app/api/routing-health/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  195. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/token-saver/stats/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/token-saver/stream/route.js +2 -2
  198. package/app/.next-cli-build/server/app/api/tool-disclosure/stats/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  201. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  212. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/usage/error-logs/route.js +2 -2
  216. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  223. package/app/.next-cli-build/server/app/api/v1/alpha/search/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/v1/codex/alpha/search/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/v1/codex/images/edits/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/v1/codex/images/generations/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/v1/codex/memories/trace_summarize/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/v1/codex/models/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/v1/codex/responses/compact/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/v1/codex/responses/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  238. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  257. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  258. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  259. package/app/.next-cli-build/server/app/callback.html +1 -1
  260. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  261. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  262. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  263. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +3 -3
  264. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  265. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
  266. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  267. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  268. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  269. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  270. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  271. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  272. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  273. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  274. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  275. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
  276. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  277. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  278. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
  279. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  280. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  281. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  282. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  283. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  284. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  285. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
  286. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  287. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  288. package/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
  289. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  290. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  291. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  292. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  293. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  294. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  295. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
  296. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  297. package/app/.next-cli-build/server/app/dashboard/convoy.html +1 -1
  298. package/app/.next-cli-build/server/app/dashboard/convoy.rsc +5 -5
  299. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy/__PAGE__.segment.rsc +2 -2
  300. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy.segment.rsc +1 -1
  301. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  302. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  303. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_full.segment.rsc +5 -5
  304. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_head.segment.rsc +1 -1
  305. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_index.segment.rsc +3 -3
  306. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_tree.segment.rsc +1 -1
  307. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  308. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
  309. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  310. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  311. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  312. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  313. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  314. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  315. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
  316. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  317. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  318. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  319. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  320. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  321. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  322. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  323. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  324. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  325. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  326. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +3 -3
  327. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  328. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  329. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
  330. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  331. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  332. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  333. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  334. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
  335. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  336. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
  337. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  338. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  339. package/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  340. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  341. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  342. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  343. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  344. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  345. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  346. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
  347. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  348. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  349. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  350. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  351. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  352. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  353. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  354. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  355. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  356. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  357. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
  358. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  359. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  360. package/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  361. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  362. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  363. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  364. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  365. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  366. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  367. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
  368. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  369. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  370. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
  371. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  372. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  373. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  374. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  375. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  376. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  377. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
  378. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  379. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  380. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
  381. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  382. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  383. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  384. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  385. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
  386. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  387. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +3 -3
  388. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  389. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  390. package/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
  391. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  392. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  393. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  394. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  395. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  396. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  397. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
  398. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  399. package/app/.next-cli-build/server/app/dashboard/routing-health.html +1 -1
  400. package/app/.next-cli-build/server/app/dashboard/routing-health.rsc +5 -5
  401. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health/__PAGE__.segment.rsc +2 -2
  402. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health.segment.rsc +1 -1
  403. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  404. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  405. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_full.segment.rsc +5 -5
  406. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_head.segment.rsc +1 -1
  407. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_index.segment.rsc +3 -3
  408. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_tree.segment.rsc +1 -1
  409. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  410. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  411. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  412. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
  413. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
  414. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  415. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
  416. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  417. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  418. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  419. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  420. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  421. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  422. package/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
  423. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  424. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  425. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  426. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  427. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
  428. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  429. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +3 -3
  430. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  431. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  432. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
  433. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  434. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  435. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  436. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  437. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
  438. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  439. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +3 -3
  440. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  441. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  442. package/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  443. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  444. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  445. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  446. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  447. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  448. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  449. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
  450. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  451. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  452. package/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  453. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  454. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  455. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  456. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  457. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  458. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  459. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
  460. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  461. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  462. package/app/.next-cli-build/server/app/dashboard.rsc +5 -5
  463. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  464. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  465. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  466. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
  467. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  468. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +3 -3
  469. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  470. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  471. package/app/.next-cli-build/server/app/index.html +1 -1
  472. package/app/.next-cli-build/server/app/index.rsc +3 -3
  473. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  474. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  475. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  476. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +3 -3
  477. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  478. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  479. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  480. package/app/.next-cli-build/server/app/landing.html +1 -1
  481. package/app/.next-cli-build/server/app/landing.rsc +3 -3
  482. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
  483. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  484. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +3 -3
  485. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  486. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  487. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  488. package/app/.next-cli-build/server/app/login/page.js +2 -2
  489. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  490. package/app/.next-cli-build/server/app/login.html +1 -1
  491. package/app/.next-cli-build/server/app/login.rsc +4 -4
  492. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  493. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  494. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +3 -3
  495. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  496. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  497. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  498. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  499. package/app/.next-cli-build/server/app/page.js +2 -2
  500. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  501. package/app/.next-cli-build/server/app-paths-manifest.json +5 -4
  502. package/app/.next-cli-build/server/chunks/412.js +1 -1
  503. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  504. package/app/.next-cli-build/server/chunks/476.js +1 -1
  505. package/app/.next-cli-build/server/chunks/5615.js +2 -2
  506. package/app/.next-cli-build/server/chunks/5767.js +1 -1
  507. package/app/.next-cli-build/server/chunks/7456.js +1 -1
  508. package/app/.next-cli-build/server/chunks/7591.js +1 -1
  509. package/app/.next-cli-build/server/chunks/7775.js +1 -1
  510. package/app/.next-cli-build/server/chunks/8251.js +2 -2
  511. package/app/.next-cli-build/server/chunks/8901.js +1 -1
  512. package/app/.next-cli-build/server/chunks/921.js +1 -1
  513. package/app/.next-cli-build/server/chunks/9212.js +1 -1
  514. package/app/.next-cli-build/server/chunks/9998.js +1 -1
  515. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  516. package/app/.next-cli-build/server/pages/404.html +1 -1
  517. package/app/.next-cli-build/server/pages/500.html +1 -1
  518. package/app/.next-cli-build/static/VHMm9HLeUVCQCF2x_3Z-B/_buildManifest.js +1 -0
  519. package/app/.next-cli-build/static/chunks/{1321-6e49a83f44502325.js → 1321-4aebb5633e0c0688.js} +1 -1
  520. package/app/.next-cli-build/static/chunks/{5497-30c2637cfca081d3.js → 5497-32f6787aab00b2fe.js} +3 -3
  521. package/app/.next-cli-build/static/chunks/app/_global-error/page-27e63c5064200d37.js +1 -0
  522. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-27e63c5064200d37.js +1 -0
  523. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-27e63c5064200d37.js +1 -0
  524. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-27e63c5064200d37.js +1 -0
  525. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-27e63c5064200d37.js +1 -0
  526. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-27e63c5064200d37.js +1 -0
  527. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-27e63c5064200d37.js +1 -0
  528. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-27e63c5064200d37.js +1 -0
  529. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-27e63c5064200d37.js +1 -0
  530. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-27e63c5064200d37.js +1 -0
  531. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-27e63c5064200d37.js +1 -0
  532. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-27e63c5064200d37.js +1 -0
  533. package/app/.next-cli-build/static/chunks/app/api/changelog/route-27e63c5064200d37.js +1 -0
  534. package/app/.next-cli-build/static/chunks/app/api/cli/providers/codex/route-27e63c5064200d37.js +1 -0
  535. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-27e63c5064200d37.js +1 -0
  536. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-27e63c5064200d37.js +1 -0
  537. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-27e63c5064200d37.js +1 -0
  538. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-27e63c5064200d37.js +1 -0
  539. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-27e63c5064200d37.js +1 -0
  540. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-native/models/route-27e63c5064200d37.js +1 -0
  541. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-native/readiness/route-27e63c5064200d37.js +1 -0
  542. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-27e63c5064200d37.js +1 -0
  543. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-27e63c5064200d37.js +1 -0
  544. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-27e63c5064200d37.js +1 -0
  545. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-27e63c5064200d37.js +1 -0
  546. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-27e63c5064200d37.js +1 -0
  547. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-27e63c5064200d37.js +1 -0
  548. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-27e63c5064200d37.js +1 -0
  549. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-27e63c5064200d37.js +1 -0
  550. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-27e63c5064200d37.js +1 -0
  551. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-27e63c5064200d37.js +1 -0
  552. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-27e63c5064200d37.js +1 -0
  553. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-27e63c5064200d37.js +1 -0
  554. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-27e63c5064200d37.js +1 -0
  555. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-27e63c5064200d37.js +1 -0
  556. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-27e63c5064200d37.js +1 -0
  557. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-27e63c5064200d37.js +1 -0
  558. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/test/route-27e63c5064200d37.js +1 -0
  559. package/app/.next-cli-build/static/chunks/app/api/combos/export/route-27e63c5064200d37.js +1 -0
  560. package/app/.next-cli-build/static/chunks/app/api/combos/import/route-27e63c5064200d37.js +1 -0
  561. package/app/.next-cli-build/static/chunks/app/api/combos/route-27e63c5064200d37.js +1 -0
  562. package/app/.next-cli-build/static/chunks/app/api/combos/test/route-27e63c5064200d37.js +1 -0
  563. package/app/.next-cli-build/static/chunks/app/api/convoy/rules/route-27e63c5064200d37.js +1 -0
  564. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-27e63c5064200d37.js +1 -0
  565. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-27e63c5064200d37.js +1 -0
  566. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-27e63c5064200d37.js +1 -0
  567. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-27e63c5064200d37.js +1 -0
  568. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-27e63c5064200d37.js +1 -0
  569. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-27e63c5064200d37.js +1 -0
  570. package/app/.next-cli-build/static/chunks/app/api/health/route-27e63c5064200d37.js +1 -0
  571. package/app/.next-cli-build/static/chunks/app/api/init/route-27e63c5064200d37.js +1 -0
  572. package/app/.next-cli-build/static/chunks/app/api/internal/codex-native/lease/[action]/route-27e63c5064200d37.js +1 -0
  573. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-27e63c5064200d37.js +1 -0
  574. package/app/.next-cli-build/static/chunks/app/api/keys/route-27e63c5064200d37.js +1 -0
  575. package/app/.next-cli-build/static/chunks/app/api/locale/route-27e63c5064200d37.js +1 -0
  576. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-27e63c5064200d37.js +1 -0
  577. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-27e63c5064200d37.js +1 -0
  578. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-27e63c5064200d37.js +1 -0
  579. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-27e63c5064200d37.js +1 -0
  580. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-27e63c5064200d37.js +1 -0
  581. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-27e63c5064200d37.js +1 -0
  582. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-27e63c5064200d37.js +1 -0
  583. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-27e63c5064200d37.js +1 -0
  584. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-27e63c5064200d37.js +1 -0
  585. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-27e63c5064200d37.js +1 -0
  586. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-27e63c5064200d37.js +1 -0
  587. package/app/.next-cli-build/static/chunks/app/api/models/route-27e63c5064200d37.js +1 -0
  588. package/app/.next-cli-build/static/chunks/app/api/models/test/route-27e63c5064200d37.js +1 -0
  589. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-27e63c5064200d37.js +1 -0
  590. package/app/.next-cli-build/static/chunks/app/api/oauth/callback/route-27e63c5064200d37.js +1 -0
  591. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-27e63c5064200d37.js +1 -0
  592. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-27e63c5064200d37.js +1 -0
  593. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-27e63c5064200d37.js +1 -0
  594. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-27e63c5064200d37.js +1 -0
  595. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-27e63c5064200d37.js +1 -0
  596. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-27e63c5064200d37.js +1 -0
  597. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-27e63c5064200d37.js +1 -0
  598. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-27e63c5064200d37.js +1 -0
  599. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-27e63c5064200d37.js +1 -0
  600. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-27e63c5064200d37.js +1 -0
  601. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-27e63c5064200d37.js +1 -0
  602. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-27e63c5064200d37.js +1 -0
  603. package/app/.next-cli-build/static/chunks/app/api/pricing/route-27e63c5064200d37.js +1 -0
  604. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-27e63c5064200d37.js +1 -0
  605. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-27e63c5064200d37.js +1 -0
  606. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-27e63c5064200d37.js +1 -0
  607. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-27e63c5064200d37.js +1 -0
  608. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/refresh-profile/route-27e63c5064200d37.js +1 -0
  609. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-27e63c5064200d37.js +1 -0
  610. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-27e63c5064200d37.js +1 -0
  611. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-27e63c5064200d37.js +1 -0
  612. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-27e63c5064200d37.js +1 -0
  613. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-27e63c5064200d37.js +1 -0
  614. package/app/.next-cli-build/static/chunks/app/api/providers/route-27e63c5064200d37.js +1 -0
  615. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-27e63c5064200d37.js +1 -0
  616. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-27e63c5064200d37.js +1 -0
  617. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-27e63c5064200d37.js +1 -0
  618. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-27e63c5064200d37.js +1 -0
  619. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-27e63c5064200d37.js +1 -0
  620. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-27e63c5064200d37.js +1 -0
  621. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-27e63c5064200d37.js +1 -0
  622. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-27e63c5064200d37.js +1 -0
  623. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-27e63c5064200d37.js +1 -0
  624. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-27e63c5064200d37.js +1 -0
  625. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-27e63c5064200d37.js +1 -0
  626. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-27e63c5064200d37.js +1 -0
  627. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-27e63c5064200d37.js +1 -0
  628. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-27e63c5064200d37.js +1 -0
  629. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-27e63c5064200d37.js +1 -0
  630. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-27e63c5064200d37.js +1 -0
  631. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-27e63c5064200d37.js +1 -0
  632. package/app/.next-cli-build/static/chunks/app/api/routing-health/route-27e63c5064200d37.js +1 -0
  633. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-27e63c5064200d37.js +1 -0
  634. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-27e63c5064200d37.js +1 -0
  635. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-27e63c5064200d37.js +1 -0
  636. package/app/.next-cli-build/static/chunks/app/api/settings/route-27e63c5064200d37.js +1 -0
  637. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-27e63c5064200d37.js +1 -0
  638. package/app/.next-cli-build/static/chunks/app/api/tags/route-27e63c5064200d37.js +1 -0
  639. package/app/.next-cli-build/static/chunks/app/api/token-saver/stats/route-27e63c5064200d37.js +1 -0
  640. package/app/.next-cli-build/static/chunks/app/api/token-saver/stream/route-27e63c5064200d37.js +1 -0
  641. package/app/.next-cli-build/static/chunks/app/api/tool-disclosure/stats/route-27e63c5064200d37.js +1 -0
  642. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-27e63c5064200d37.js +1 -0
  643. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-27e63c5064200d37.js +1 -0
  644. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-27e63c5064200d37.js +1 -0
  645. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-27e63c5064200d37.js +1 -0
  646. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-27e63c5064200d37.js +1 -0
  647. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-27e63c5064200d37.js +1 -0
  648. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-27e63c5064200d37.js +1 -0
  649. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-27e63c5064200d37.js +1 -0
  650. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-27e63c5064200d37.js +1 -0
  651. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-27e63c5064200d37.js +1 -0
  652. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-27e63c5064200d37.js +1 -0
  653. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-27e63c5064200d37.js +1 -0
  654. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-27e63c5064200d37.js +1 -0
  655. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-27e63c5064200d37.js +1 -0
  656. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-27e63c5064200d37.js +1 -0
  657. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-27e63c5064200d37.js +1 -0
  658. package/app/.next-cli-build/static/chunks/app/api/usage/error-logs/route-27e63c5064200d37.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-27e63c5064200d37.js +1 -0
  660. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-27e63c5064200d37.js +1 -0
  661. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-27e63c5064200d37.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-27e63c5064200d37.js +1 -0
  663. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-27e63c5064200d37.js +1 -0
  664. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-27e63c5064200d37.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-27e63c5064200d37.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/api/v1/alpha/search/route-27e63c5064200d37.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-27e63c5064200d37.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-27e63c5064200d37.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-27e63c5064200d37.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-27e63c5064200d37.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-27e63c5064200d37.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/v1/codex/alpha/search/route-27e63c5064200d37.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/v1/codex/images/edits/route-27e63c5064200d37.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/v1/codex/images/generations/route-27e63c5064200d37.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/v1/codex/memories/trace_summarize/route-27e63c5064200d37.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/v1/codex/models/route-27e63c5064200d37.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/v1/codex/responses/compact/route-27e63c5064200d37.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/v1/codex/responses/route-27e63c5064200d37.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-27e63c5064200d37.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-27e63c5064200d37.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-27e63c5064200d37.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-27e63c5064200d37.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-27e63c5064200d37.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-27e63c5064200d37.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-27e63c5064200d37.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-27e63c5064200d37.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-27e63c5064200d37.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/v1/route-27e63c5064200d37.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-27e63c5064200d37.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-27e63c5064200d37.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-27e63c5064200d37.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-27e63c5064200d37.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-27e63c5064200d37.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-27e63c5064200d37.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-27e63c5064200d37.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-27e63c5064200d37.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/version/route-27e63c5064200d37.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-27e63c5064200d37.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/version/update/route-27e63c5064200d37.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/callback/page-b93ca76b99d6b49c.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-27e63c5064200d37.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/page-27e63c5064200d37.js +1 -0
  703. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-27e63c5064200d37.js +1 -0
  704. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-27e63c5064200d37.js +1 -0
  705. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-27e63c5064200d37.js +1 -0
  706. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-27e63c5064200d37.js +1 -0
  707. package/app/CHANGELOG.md +9 -0
  708. package/app/package.json +1 -1
  709. package/app/public/CHANGELOG.md +9 -0
  710. package/package.json +1 -1
  711. package/app/.next-cli-build/static/F9n0V3jXfDrkeoSRE9wX0/_buildManifest.js +0 -1
  712. package/app/.next-cli-build/static/chunks/app/_global-error/page-938edd13e0345b6e.js +0 -1
  713. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-938edd13e0345b6e.js +0 -1
  714. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-938edd13e0345b6e.js +0 -1
  715. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-938edd13e0345b6e.js +0 -1
  716. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-938edd13e0345b6e.js +0 -1
  717. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-938edd13e0345b6e.js +0 -1
  718. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-938edd13e0345b6e.js +0 -1
  719. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-938edd13e0345b6e.js +0 -1
  720. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-938edd13e0345b6e.js +0 -1
  721. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-938edd13e0345b6e.js +0 -1
  722. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-938edd13e0345b6e.js +0 -1
  723. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-938edd13e0345b6e.js +0 -1
  724. package/app/.next-cli-build/static/chunks/app/api/changelog/route-938edd13e0345b6e.js +0 -1
  725. package/app/.next-cli-build/static/chunks/app/api/cli/providers/codex/route-938edd13e0345b6e.js +0 -1
  726. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-938edd13e0345b6e.js +0 -1
  727. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-938edd13e0345b6e.js +0 -1
  728. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-938edd13e0345b6e.js +0 -1
  729. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-938edd13e0345b6e.js +0 -1
  730. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-938edd13e0345b6e.js +0 -1
  731. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-native/models/route-938edd13e0345b6e.js +0 -1
  732. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-native/readiness/route-938edd13e0345b6e.js +0 -1
  733. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-938edd13e0345b6e.js +0 -1
  734. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-938edd13e0345b6e.js +0 -1
  735. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-938edd13e0345b6e.js +0 -1
  736. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-938edd13e0345b6e.js +0 -1
  737. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-938edd13e0345b6e.js +0 -1
  738. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-938edd13e0345b6e.js +0 -1
  739. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-938edd13e0345b6e.js +0 -1
  740. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-938edd13e0345b6e.js +0 -1
  741. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-938edd13e0345b6e.js +0 -1
  742. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-938edd13e0345b6e.js +0 -1
  743. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-938edd13e0345b6e.js +0 -1
  744. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-938edd13e0345b6e.js +0 -1
  745. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-938edd13e0345b6e.js +0 -1
  746. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-938edd13e0345b6e.js +0 -1
  747. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-938edd13e0345b6e.js +0 -1
  748. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-938edd13e0345b6e.js +0 -1
  749. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/test/route-938edd13e0345b6e.js +0 -1
  750. package/app/.next-cli-build/static/chunks/app/api/combos/export/route-938edd13e0345b6e.js +0 -1
  751. package/app/.next-cli-build/static/chunks/app/api/combos/import/route-938edd13e0345b6e.js +0 -1
  752. package/app/.next-cli-build/static/chunks/app/api/combos/route-938edd13e0345b6e.js +0 -1
  753. package/app/.next-cli-build/static/chunks/app/api/combos/test/route-938edd13e0345b6e.js +0 -1
  754. package/app/.next-cli-build/static/chunks/app/api/convoy/rules/route-938edd13e0345b6e.js +0 -1
  755. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-938edd13e0345b6e.js +0 -1
  756. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-938edd13e0345b6e.js +0 -1
  757. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-938edd13e0345b6e.js +0 -1
  758. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-938edd13e0345b6e.js +0 -1
  759. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-938edd13e0345b6e.js +0 -1
  760. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-938edd13e0345b6e.js +0 -1
  761. package/app/.next-cli-build/static/chunks/app/api/health/route-938edd13e0345b6e.js +0 -1
  762. package/app/.next-cli-build/static/chunks/app/api/init/route-938edd13e0345b6e.js +0 -1
  763. package/app/.next-cli-build/static/chunks/app/api/internal/codex-native/lease/[action]/route-938edd13e0345b6e.js +0 -1
  764. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-938edd13e0345b6e.js +0 -1
  765. package/app/.next-cli-build/static/chunks/app/api/keys/route-938edd13e0345b6e.js +0 -1
  766. package/app/.next-cli-build/static/chunks/app/api/locale/route-938edd13e0345b6e.js +0 -1
  767. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-938edd13e0345b6e.js +0 -1
  768. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-938edd13e0345b6e.js +0 -1
  769. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-938edd13e0345b6e.js +0 -1
  770. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-938edd13e0345b6e.js +0 -1
  771. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-938edd13e0345b6e.js +0 -1
  772. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-938edd13e0345b6e.js +0 -1
  773. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-938edd13e0345b6e.js +0 -1
  774. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-938edd13e0345b6e.js +0 -1
  775. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-938edd13e0345b6e.js +0 -1
  776. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-938edd13e0345b6e.js +0 -1
  777. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-938edd13e0345b6e.js +0 -1
  778. package/app/.next-cli-build/static/chunks/app/api/models/route-938edd13e0345b6e.js +0 -1
  779. package/app/.next-cli-build/static/chunks/app/api/models/test/route-938edd13e0345b6e.js +0 -1
  780. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-938edd13e0345b6e.js +0 -1
  781. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-938edd13e0345b6e.js +0 -1
  782. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-938edd13e0345b6e.js +0 -1
  783. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-938edd13e0345b6e.js +0 -1
  784. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-938edd13e0345b6e.js +0 -1
  785. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-938edd13e0345b6e.js +0 -1
  786. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-938edd13e0345b6e.js +0 -1
  787. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-938edd13e0345b6e.js +0 -1
  788. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-938edd13e0345b6e.js +0 -1
  789. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-938edd13e0345b6e.js +0 -1
  790. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-938edd13e0345b6e.js +0 -1
  791. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-938edd13e0345b6e.js +0 -1
  792. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-938edd13e0345b6e.js +0 -1
  793. package/app/.next-cli-build/static/chunks/app/api/pricing/route-938edd13e0345b6e.js +0 -1
  794. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-938edd13e0345b6e.js +0 -1
  795. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-938edd13e0345b6e.js +0 -1
  796. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-938edd13e0345b6e.js +0 -1
  797. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-938edd13e0345b6e.js +0 -1
  798. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/refresh-profile/route-938edd13e0345b6e.js +0 -1
  799. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-938edd13e0345b6e.js +0 -1
  800. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-938edd13e0345b6e.js +0 -1
  801. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-938edd13e0345b6e.js +0 -1
  802. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-938edd13e0345b6e.js +0 -1
  803. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-938edd13e0345b6e.js +0 -1
  804. package/app/.next-cli-build/static/chunks/app/api/providers/route-938edd13e0345b6e.js +0 -1
  805. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-938edd13e0345b6e.js +0 -1
  806. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-938edd13e0345b6e.js +0 -1
  807. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-938edd13e0345b6e.js +0 -1
  808. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-938edd13e0345b6e.js +0 -1
  809. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-938edd13e0345b6e.js +0 -1
  810. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-938edd13e0345b6e.js +0 -1
  811. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-938edd13e0345b6e.js +0 -1
  812. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-938edd13e0345b6e.js +0 -1
  813. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-938edd13e0345b6e.js +0 -1
  814. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-938edd13e0345b6e.js +0 -1
  815. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-938edd13e0345b6e.js +0 -1
  816. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-938edd13e0345b6e.js +0 -1
  817. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-938edd13e0345b6e.js +0 -1
  818. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-938edd13e0345b6e.js +0 -1
  819. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-938edd13e0345b6e.js +0 -1
  820. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-938edd13e0345b6e.js +0 -1
  821. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-938edd13e0345b6e.js +0 -1
  822. package/app/.next-cli-build/static/chunks/app/api/routing-health/route-938edd13e0345b6e.js +0 -1
  823. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-938edd13e0345b6e.js +0 -1
  824. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-938edd13e0345b6e.js +0 -1
  825. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-938edd13e0345b6e.js +0 -1
  826. package/app/.next-cli-build/static/chunks/app/api/settings/route-938edd13e0345b6e.js +0 -1
  827. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-938edd13e0345b6e.js +0 -1
  828. package/app/.next-cli-build/static/chunks/app/api/tags/route-938edd13e0345b6e.js +0 -1
  829. package/app/.next-cli-build/static/chunks/app/api/token-saver/stats/route-938edd13e0345b6e.js +0 -1
  830. package/app/.next-cli-build/static/chunks/app/api/token-saver/stream/route-938edd13e0345b6e.js +0 -1
  831. package/app/.next-cli-build/static/chunks/app/api/tool-disclosure/stats/route-938edd13e0345b6e.js +0 -1
  832. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-938edd13e0345b6e.js +0 -1
  833. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-938edd13e0345b6e.js +0 -1
  834. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-938edd13e0345b6e.js +0 -1
  835. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-938edd13e0345b6e.js +0 -1
  836. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-938edd13e0345b6e.js +0 -1
  837. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-938edd13e0345b6e.js +0 -1
  838. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-938edd13e0345b6e.js +0 -1
  839. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-938edd13e0345b6e.js +0 -1
  840. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-938edd13e0345b6e.js +0 -1
  841. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-938edd13e0345b6e.js +0 -1
  842. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-938edd13e0345b6e.js +0 -1
  843. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-938edd13e0345b6e.js +0 -1
  844. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-938edd13e0345b6e.js +0 -1
  845. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-938edd13e0345b6e.js +0 -1
  846. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-938edd13e0345b6e.js +0 -1
  847. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-938edd13e0345b6e.js +0 -1
  848. package/app/.next-cli-build/static/chunks/app/api/usage/error-logs/route-938edd13e0345b6e.js +0 -1
  849. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-938edd13e0345b6e.js +0 -1
  850. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-938edd13e0345b6e.js +0 -1
  851. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-938edd13e0345b6e.js +0 -1
  852. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-938edd13e0345b6e.js +0 -1
  853. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-938edd13e0345b6e.js +0 -1
  854. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-938edd13e0345b6e.js +0 -1
  855. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-938edd13e0345b6e.js +0 -1
  856. package/app/.next-cli-build/static/chunks/app/api/v1/alpha/search/route-938edd13e0345b6e.js +0 -1
  857. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-938edd13e0345b6e.js +0 -1
  858. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-938edd13e0345b6e.js +0 -1
  859. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-938edd13e0345b6e.js +0 -1
  860. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-938edd13e0345b6e.js +0 -1
  861. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-938edd13e0345b6e.js +0 -1
  862. package/app/.next-cli-build/static/chunks/app/api/v1/codex/alpha/search/route-938edd13e0345b6e.js +0 -1
  863. package/app/.next-cli-build/static/chunks/app/api/v1/codex/images/edits/route-938edd13e0345b6e.js +0 -1
  864. package/app/.next-cli-build/static/chunks/app/api/v1/codex/images/generations/route-938edd13e0345b6e.js +0 -1
  865. package/app/.next-cli-build/static/chunks/app/api/v1/codex/memories/trace_summarize/route-938edd13e0345b6e.js +0 -1
  866. package/app/.next-cli-build/static/chunks/app/api/v1/codex/models/route-938edd13e0345b6e.js +0 -1
  867. package/app/.next-cli-build/static/chunks/app/api/v1/codex/responses/compact/route-938edd13e0345b6e.js +0 -1
  868. package/app/.next-cli-build/static/chunks/app/api/v1/codex/responses/route-938edd13e0345b6e.js +0 -1
  869. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-938edd13e0345b6e.js +0 -1
  870. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-938edd13e0345b6e.js +0 -1
  871. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-938edd13e0345b6e.js +0 -1
  872. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-938edd13e0345b6e.js +0 -1
  873. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-938edd13e0345b6e.js +0 -1
  874. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-938edd13e0345b6e.js +0 -1
  875. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-938edd13e0345b6e.js +0 -1
  876. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-938edd13e0345b6e.js +0 -1
  877. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-938edd13e0345b6e.js +0 -1
  878. package/app/.next-cli-build/static/chunks/app/api/v1/route-938edd13e0345b6e.js +0 -1
  879. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-938edd13e0345b6e.js +0 -1
  880. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-938edd13e0345b6e.js +0 -1
  881. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-938edd13e0345b6e.js +0 -1
  882. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-938edd13e0345b6e.js +0 -1
  883. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-938edd13e0345b6e.js +0 -1
  884. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-938edd13e0345b6e.js +0 -1
  885. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-938edd13e0345b6e.js +0 -1
  886. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-938edd13e0345b6e.js +0 -1
  887. package/app/.next-cli-build/static/chunks/app/api/version/route-938edd13e0345b6e.js +0 -1
  888. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-938edd13e0345b6e.js +0 -1
  889. package/app/.next-cli-build/static/chunks/app/api/version/update/route-938edd13e0345b6e.js +0 -1
  890. package/app/.next-cli-build/static/chunks/app/callback/page-5d184cec883271e3.js +0 -1
  891. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-938edd13e0345b6e.js +0 -1
  892. package/app/.next-cli-build/static/chunks/app/page-938edd13e0345b6e.js +0 -1
  893. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-938edd13e0345b6e.js +0 -1
  894. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-938edd13e0345b6e.js +0 -1
  895. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-938edd13e0345b6e.js +0 -1
  896. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-938edd13e0345b6e.js +0 -1
  897. /package/app/.next-cli-build/static/{F9n0V3jXfDrkeoSRE9wX0 → VHMm9HLeUVCQCF2x_3Z-B}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=5745,a.ids=[1998,5745],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},35614:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>F,patchFetch:()=>E,routeModule:()=>A,serverHooks:()=>D,workAsyncStorage:()=>B,workUnitAsyncStorage:()=>C});var d={};c.r(d),c.d(d,{DELETE:()=>z,PUT:()=>y});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(71998),x=c(74986);async function y(a,{params:b}){try{let{id:c}=await b,d=await a.json(),{name:e,prefix:f,apiType:g,baseUrl:h}=d,i=await (0,w.Qu)(c),j=i?.type==="openai-compatible"||i?.type==="anthropic-compatible",k=Object.prototype.hasOwnProperty.call(d,"clientIdentityProfile")||Object.prototype.hasOwnProperty.call(d,"clientIdentityHeaders"),l=j?k?(0,x.z5)(d):{clientIdentityProfile:i.clientIdentityProfile||"default",clientIdentityHeaders:i.clientIdentityHeaders||{}}:{};if(!i)return v.NextResponse.json({error:"Provider node not found"},{status:404});if(!e?.trim())return v.NextResponse.json({error:"Name is required"},{status:400});if(!f?.trim())return v.NextResponse.json({error:"Prefix is required"},{status:400});if("openai-compatible"===i.type&&(!g||!["chat","responses"].includes(g)))return v.NextResponse.json({error:"Invalid OpenAI compatible API type"},{status:400});if(!h?.trim())return v.NextResponse.json({error:"Base URL is required"},{status:400});let m=h.trim();"anthropic-compatible"===i.type&&(m=m.replace(/\/$/,"")).endsWith("/messages")&&(m=m.slice(0,-9)),"custom-embedding"===i.type&&(m=m.replace(/\/$/,"")).endsWith("/embeddings")&&(m=m.slice(0,-11)),"custom-video"===i.type&&(m=m.replace(/\/$/,"").replace(/\/(generations|edits|extensions)$/,""));let n={name:e.trim(),prefix:f.trim(),baseUrl:m,...l};"openai-compatible"===i.type&&(n.apiType=g);let o=await (0,w.ho)(c,n),p=await (0,w.P)({provider:c});return await Promise.all(p.map(a=>(0,w.rj)(a.id,{providerSpecificData:{...a.providerSpecificData||{},prefix:f.trim(),apiType:"openai-compatible"===i.type?g:void 0,baseUrl:m,nodeName:o.name,...l}}))),v.NextResponse.json({node:o})}catch(a){return console.log("Error updating provider node:",a),v.NextResponse.json({error:"Failed to update provider node"},{status:500})}}async function z(a,{params:b}){try{let{id:a}=await b;if(!await (0,w.Qu)(a))return v.NextResponse.json({error:"Provider node not found"},{status:404});return await (0,w.op)(a),await (0,w.Pc)(a),v.NextResponse.json({success:!0})}catch(a){return console.log("Error deleting provider node:",a),v.NextResponse.json({error:"Failed to delete provider node"},{status:500})}}let A=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/provider-nodes/[id]/route",pathname:"/api/provider-nodes/[id]",filename:"route",bundlePath:"app/api/provider-nodes/[id]/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/provider-nodes/[id]/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:B,workUnitAsyncStorage:C,serverHooks:D}=A;function E(){return(0,g.patchFetch)({workAsyncStorage:B,workUnitAsyncStorage:C})}async function F(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),A.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/provider-nodes/[id]/route";"/index"===d&&(d="/");let e=await A.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||A.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===A.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await A.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>A.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>A.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await A.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await A.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await A.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},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()}},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},73024:a=>{a.exports=require("node:fs")},74986:(a,b,c)=>{c.d(b,{im:()=>i,z5:()=>j});let d={default:{label:"Default",headers:{}},"claude-cli":{label:"Claude CLI",headers:c(92675).$B},"codex-cli":{label:"Codex CLI",headers:{originator:"codex_cli_rs","User-Agent":"codex_cli_rs/0.136.0"}},openclaw:{label:"OpenClaw",headers:{"User-Agent":"openclaw/2026.2.3"}},custom:{label:"Custom",headers:{}}},e=new Set(["authorization","x-api-key","api-key","cookie"]);function f(a){return d[a]?a:"default"}function g(a){let b={};for(let[c,d]of a){let a=String(c||"").trim();if(!a||e.has(String(a||"").trim().toLowerCase())||null==d)continue;let f=String(d).trim();f&&(b[a]=f)}return b}function h(a){if(!a)return{};if("object"==typeof a&&!Array.isArray(a))return g(Object.entries(a));let b=String(a).trim();if(!b)return{};if(b.startsWith("{")){let a=JSON.parse(b);return!a||"object"!=typeof a||Array.isArray(a)?{}:g(Object.entries(a))}return g(function(a){let b=[];for(let c of String(a||"").split(/\r?\n/)){let a=c.trim();if(!a||a.startsWith("#"))continue;let d=a.indexOf(":");d<=0||b.push([a.slice(0,d),a.slice(d+1)])}return b}(b))}function i(a={},b={},c={}){return{...a||{},...function(a={}){let b=f(a.clientIdentityProfile);return"custom"===b?h(a.clientIdentityHeaders):{...d[b]?.headers||{}}}(b),...c||{}}}function j(a={}){let b=f(a.clientIdentityProfile);return{clientIdentityProfile:b,clientIdentityHeaders:"custom"===b?h(a.clientIdentityHeaders):{}}}},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79868:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mV:()=>d.mV,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,y7:()=>d.y7,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(5129)},92675:(a,b,c)=>{c.d(b,{$B:()=>h,Bi:()=>g,Es:()=>i,Of:()=>m,Tr:()=>k,XP:()=>n,b8:()=>e,dG:()=>o,ky:()=>j,t4:()=>f,w3:()=>l});var d=c(21820);let e="2023-06-01",f="2.1.220",g={"Anthropic-Version":e,"Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},h={"Anthropic-Version":e,"Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":`claude-cli/${f} (external, sdk-cli)`,"X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.94.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(a=(0,d.arch)()){switch(a){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${a}`}}(),"X-Stainless-Os":function(a=(0,d.platform)()){switch(a){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${a}`}}(),"X-Stainless-Timeout":"600"},i="https://api.openai.com/v1",j="https://api.anthropic.com/v1",k="2.1.1",l="https://daily-cloudcode-pa.googleapis.com",m=`antigravity/ide/${k} darwin/arm64`,n={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},o={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"}},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,7965],()=>b(b.s=35614));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=5745,a.ids=[1998,5745],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},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()}},55511:a=>{a.exports=require("crypto")},58878:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>F,patchFetch:()=>E,routeModule:()=>A,serverHooks:()=>D,workAsyncStorage:()=>B,workUnitAsyncStorage:()=>C});var d={};c.r(d),c.d(d,{DELETE:()=>z,PUT:()=>y});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(71998),x=c(74986);async function y(a,{params:b}){try{let{id:c}=await b,d=await a.json(),{name:e,prefix:f,apiType:g,baseUrl:h}=d,i=await (0,w.Qu)(c),j=i?.type==="openai-compatible"||i?.type==="anthropic-compatible",k=Object.prototype.hasOwnProperty.call(d,"clientIdentityProfile")||Object.prototype.hasOwnProperty.call(d,"clientIdentityHeaders"),l=j?k?(0,x.z5)(d):{clientIdentityProfile:i.clientIdentityProfile||"default",clientIdentityHeaders:i.clientIdentityHeaders||{}}:{};if(!i)return v.NextResponse.json({error:"Provider node not found"},{status:404});if(!e?.trim())return v.NextResponse.json({error:"Name is required"},{status:400});if(!f?.trim())return v.NextResponse.json({error:"Prefix is required"},{status:400});if("openai-compatible"===i.type&&(!g||!["chat","responses"].includes(g)))return v.NextResponse.json({error:"Invalid OpenAI compatible API type"},{status:400});if(!h?.trim())return v.NextResponse.json({error:"Base URL is required"},{status:400});let m=h.trim();"anthropic-compatible"===i.type&&(m=m.replace(/\/$/,"")).endsWith("/messages")&&(m=m.slice(0,-9)),"custom-embedding"===i.type&&(m=m.replace(/\/$/,"")).endsWith("/embeddings")&&(m=m.slice(0,-11)),"custom-video"===i.type&&(m=m.replace(/\/$/,"").replace(/\/(generations|edits|extensions)$/,""));let n={name:e.trim(),prefix:f.trim(),baseUrl:m,...l};"openai-compatible"===i.type&&(n.apiType=g);let o=await (0,w.ho)(c,n),p=await (0,w.P)({provider:c});return await Promise.all(p.map(a=>(0,w.rj)(a.id,{providerSpecificData:{...a.providerSpecificData||{},prefix:f.trim(),apiType:"openai-compatible"===i.type?g:void 0,baseUrl:m,nodeName:o.name,...l}}))),v.NextResponse.json({node:o})}catch(a){return console.log("Error updating provider node:",a),v.NextResponse.json({error:"Failed to update provider node"},{status:500})}}async function z(a,{params:b}){try{let{id:a}=await b;if(!await (0,w.Qu)(a))return v.NextResponse.json({error:"Provider node not found"},{status:404});return await (0,w.op)(a),await (0,w.Pc)(a),v.NextResponse.json({success:!0})}catch(a){return console.log("Error deleting provider node:",a),v.NextResponse.json({error:"Failed to delete provider node"},{status:500})}}let A=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/provider-nodes/[id]/route",pathname:"/api/provider-nodes/[id]",filename:"route",bundlePath:"app/api/provider-nodes/[id]/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/provider-nodes/[id]/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:B,workUnitAsyncStorage:C,serverHooks:D}=A;function E(){return(0,g.patchFetch)({workAsyncStorage:B,workUnitAsyncStorage:C})}async function F(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),A.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/provider-nodes/[id]/route";"/index"===d&&(d="/");let e=await A.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||A.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===A.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await A.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>A.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>A.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await A.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await A.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await A.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},73024:a=>{a.exports=require("node:fs")},74986:(a,b,c)=>{c.d(b,{im:()=>i,z5:()=>j});let d={default:{label:"Default",headers:{}},"claude-cli":{label:"Claude CLI",headers:c(92675).$B},"codex-cli":{label:"Codex CLI",headers:{originator:"codex_cli_rs","User-Agent":"codex_cli_rs/0.136.0"}},openclaw:{label:"OpenClaw",headers:{"User-Agent":"openclaw/2026.2.3"}},custom:{label:"Custom",headers:{}}},e=new Set(["authorization","x-api-key","api-key","cookie"]);function f(a){return d[a]?a:"default"}function g(a){let b={};for(let[c,d]of a){let a=String(c||"").trim();if(!a||e.has(String(a||"").trim().toLowerCase())||null==d)continue;let f=String(d).trim();f&&(b[a]=f)}return b}function h(a){if(!a)return{};if("object"==typeof a&&!Array.isArray(a))return g(Object.entries(a));let b=String(a).trim();if(!b)return{};if(b.startsWith("{")){let a=JSON.parse(b);return!a||"object"!=typeof a||Array.isArray(a)?{}:g(Object.entries(a))}return g(function(a){let b=[];for(let c of String(a||"").split(/\r?\n/)){let a=c.trim();if(!a||a.startsWith("#"))continue;let d=a.indexOf(":");d<=0||b.push([a.slice(0,d),a.slice(d+1)])}return b}(b))}function i(a={},b={},c={}){return{...a||{},...function(a={}){let b=f(a.clientIdentityProfile);return"custom"===b?h(a.clientIdentityHeaders):{...d[b]?.headers||{}}}(b),...c||{}}}function j(a={}){let b=f(a.clientIdentityProfile);return{clientIdentityProfile:b,clientIdentityHeaders:"custom"===b?h(a.clientIdentityHeaders):{}}}},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79868:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mV:()=>d.mV,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,y7:()=>d.y7,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(5129)},92675:(a,b,c)=>{c.d(b,{$B:()=>h,Bi:()=>g,Es:()=>i,Of:()=>m,Tr:()=>k,XP:()=>n,b8:()=>e,dG:()=>o,ky:()=>j,t4:()=>f,w3:()=>l});var d=c(21820);let e="2023-06-01",f="2.1.220",g={"Anthropic-Version":e,"Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},h={"Anthropic-Version":e,"Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":`claude-cli/${f} (external, sdk-cli)`,"X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.94.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(a=(0,d.arch)()){switch(a){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${a}`}}(),"X-Stainless-Os":function(a=(0,d.platform)()){switch(a){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${a}`}}(),"X-Stainless-Timeout":"600"},i="https://api.openai.com/v1",j="https://api.anthropic.com/v1",k="2.1.1",l="https://daily-cloudcode-pa.googleapis.com",m=`antigravity/ide/${k} darwin/arm64`,n={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},o={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"}},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,7965],()=>b(b.s=58878));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=2121,a.ids=[615,1998,2121],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29461:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>I,patchFetch:()=>H,routeModule:()=>D,serverHooks:()=>G,workAsyncStorage:()=>E,workUnitAsyncStorage:()=>F});var d={};c.r(d),c.d(d,{GET:()=>B,POST:()=>C,dynamic:()=>A});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(71998),x=c(40615);let y=c(94755).A;var z=c(74986);let A="force-dynamic";async function B(){try{let a=await (0,w.Fh)();return v.NextResponse.json({nodes:a})}catch(a){return console.log("Error fetching provider nodes:",a),v.NextResponse.json({error:"Failed to fetch provider nodes"},{status:500})}}async function C(a){try{let b=await a.json(),{name:c,prefix:d,apiType:e,baseUrl:f,type:g}=b;if(!c?.trim())return v.NextResponse.json({error:"Name is required"},{status:400});if(!d?.trim())return v.NextResponse.json({error:"Prefix is required"},{status:400});let h=g||"openai-compatible";if("openai-compatible"===h){let a=(0,z.z5)(b);if(!e||!["chat","responses"].includes(e))return v.NextResponse.json({error:"Invalid OpenAI compatible API type"},{status:400});let g=await (0,w.i0)({id:`${x.JH}${e}-${y()}`,type:"openai-compatible",prefix:d.trim(),apiType:e,baseUrl:(f||"https://api.openai.com/v1").trim(),name:c.trim(),...a});return v.NextResponse.json({node:g},{status:201})}if("custom-embedding"===h){let a=(f||"https://api.openai.com/v1").trim().replace(/\/$/,"");a.endsWith("/embeddings")&&(a=a.slice(0,-11));let b=await (0,w.i0)({id:`${x.Pd}${y()}`,type:"custom-embedding",prefix:d.trim(),baseUrl:a,name:c.trim()});return v.NextResponse.json({node:b},{status:201})}if("custom-video"===h){let a=(f||"https://api.x.ai/v1/videos").trim().replace(/\/$/,"");a=a.replace(/\/(generations|edits|extensions)$/,"");let b=await (0,w.i0)({id:`${x.Vj}${y()}`,type:"custom-video",prefix:d.trim(),baseUrl:a,name:c.trim()});return v.NextResponse.json({node:b},{status:201})}if("anthropic-compatible"===h){let a=(0,z.z5)(b),e=(f||"https://api.anthropic.com/v1").trim().replace(/\/$/,"");e.endsWith("/messages")&&(e=e.slice(0,-9));let g=await (0,w.i0)({id:`${x.DI}${y()}`,type:"anthropic-compatible",prefix:d.trim(),baseUrl:e,name:c.trim(),...a});return v.NextResponse.json({node:g},{status:201})}return v.NextResponse.json({error:"Invalid provider node type"},{status:400})}catch(a){return console.log("Error creating provider node:",a),v.NextResponse.json({error:"Failed to create provider node"},{status:500})}}let D=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/provider-nodes/route",pathname:"/api/provider-nodes",filename:"route",bundlePath:"app/api/provider-nodes/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/provider-nodes/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:F,serverHooks:G}=D;function H(){return(0,g.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:F})}async function I(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),D.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/provider-nodes/route";"/index"===d&&(d="/");let e=await D.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||D.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===D.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await D.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>D.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>D.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await D.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await D.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await D.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},33873:a=>{a.exports=require("path")},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>u,js:()=>A,DI:()=>n,fg:()=>k,Pd:()=>o,Vj:()=>p,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>C,wb:()=>B,br:()=>l,wG:()=>z,zt:()=>v,gb:()=>r,gC:()=>s,AR:()=>t,mq:()=>q,rs:()=>w,p5:()=>y});var d=c(45502);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.baseUrlField?{baseUrlField:a.baseUrlField}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.models?{models:a.models}:{},...a.authModes?{authModes:a.authModes}:{},...a.features?{features:{...a.features}}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-",p="custom-video-";function q(a){return"string"==typeof a&&a.startsWith(m)}function r(a){return"string"==typeof a&&a.startsWith(n)}function s(a){return"string"==typeof a&&a.startsWith(o)}function t(a){return"string"==typeof a&&a.startsWith(p)}let u={...h,...i,...j,...k,...l};function v(a){for(let b of Object.values(u))if(b.alias===a||b.id===a)return b;return null}function w(a){let b=v(a);return b?.id||a}let x={nvidia:40};function y(a,b){let c=(a?.rpmByProvider||{})[b];if(0===c||"0"===c)return 0;let d=Number(c);return Number.isFinite(d)&&d>0?d:x[b]||0}function z(a){let b=u[a];return b?.alias||a}let A=Object.values(u).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(u).reduce((a,b)=>(a[b.id]=b.alias,a),{});let B=d.A.filter(a=>a.features?.usage).map(a=>a.id),C=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id)},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},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()}},55511:a=>{a.exports=require("crypto")},60290:(a,b,c)=>{c.d(b,{C8:()=>t,DR:()=>s,IK:()=>m,Ps:()=>h,Qn:()=>q,SA:()=>p,UH:()=>k,Uc:()=>n,Ur:()=>g,Z1:()=>j,cI:()=>r,eo:()=>o,gx:()=>d,pH:()=>l,v1:()=>e,xM:()=>i}),c(87252);let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,PAYLOAD_TOO_LARGE:413,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},e={sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,sessionAffinityMaxSize:5e3,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20};function f(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}function g(){return{firstActionTimeoutMs:f("COMBO_RESPONSE_FIRST_ACTION_TIMEOUT_MS",5e3),maxBytes:f("COMBO_RESPONSE_PREFLIGHT_MAX_BYTES",65536)}}let h=process.env.SEARXNG_URL?.trim()||"http://localhost:8888/search",i=f("STREAM_STALL_TIMEOUT_MS",36e4),j=f("STREAM_FIRST_CHUNK_TIMEOUT_MS",3e4),k=(()=>{let a=process.env.SSE_KEEPALIVE_MS;if(null==a||""===a)return 1e4;let b=parseInt(a,10);return Number.isFinite(b)&&b>=0?b:1e4})(),l=f("FETCH_CONNECT_TIMEOUT_MS",6e4);f("RESPONSE_BODY_TIMEOUT_MS",3e5);let m=f("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3),n=64e3,o=32e3,p="x-9router-token-saver",q={maxTokenLength:160,maxAttempts:32,headers:{requestedModel:"X-9Router-Requested-Model",routePath:"X-9Router-Route-Path",resolvedProvider:"X-9Router-Resolved-Provider",resolvedModel:"X-9Router-Resolved-Model",fallbackCount:"X-9Router-Fallback-Count",attemptedModels:"X-9Router-Attempted-Models"}},r={429:{attempts:0,delayMs:0},502:{attempts:3,delayMs:3e3},503:{attempts:3,delayMs:2e3},504:{attempts:2,delayMs:3e3}};function s(a){return null==a?{attempts:0,delayMs:2e3}:"number"==typeof a?{attempts:a,delayMs:2e3}:{attempts:a.attempts||0,delayMs:null!=a.delayMs?a.delayMs:2e3}}let t=["Please write a 5-10 word title for the following conversation:"]},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},73024:a=>{a.exports=require("node:fs")},74986:(a,b,c)=>{c.d(b,{im:()=>i,z5:()=>j});let d={default:{label:"Default",headers:{}},"claude-cli":{label:"Claude CLI",headers:c(92675).$B},"codex-cli":{label:"Codex CLI",headers:{originator:"codex_cli_rs","User-Agent":"codex_cli_rs/0.136.0"}},openclaw:{label:"OpenClaw",headers:{"User-Agent":"openclaw/2026.2.3"}},custom:{label:"Custom",headers:{}}},e=new Set(["authorization","x-api-key","api-key","cookie"]);function f(a){return d[a]?a:"default"}function g(a){let b={};for(let[c,d]of a){let a=String(c||"").trim();if(!a||e.has(String(a||"").trim().toLowerCase())||null==d)continue;let f=String(d).trim();f&&(b[a]=f)}return b}function h(a){if(!a)return{};if("object"==typeof a&&!Array.isArray(a))return g(Object.entries(a));let b=String(a).trim();if(!b)return{};if(b.startsWith("{")){let a=JSON.parse(b);return!a||"object"!=typeof a||Array.isArray(a)?{}:g(Object.entries(a))}return g(function(a){let b=[];for(let c of String(a||"").split(/\r?\n/)){let a=c.trim();if(!a||a.startsWith("#"))continue;let d=a.indexOf(":");d<=0||b.push([a.slice(0,d),a.slice(d+1)])}return b}(b))}function i(a={},b={},c={}){return{...a||{},...function(a={}){let b=f(a.clientIdentityProfile);return"custom"===b?h(a.clientIdentityHeaders):{...d[b]?.headers||{}}}(b),...c||{}}}function j(a={}){let b=f(a.clientIdentityProfile);return{clientIdentityProfile:b,clientIdentityHeaders:"custom"===b?h(a.clientIdentityHeaders):{}}}},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79868:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87252:(a,b,c)=>{c.d(b,{Dp:()=>g,EQ:()=>f,LY:()=>d,O:()=>e,fh:()=>h,t2:()=>i});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},413:{type:"invalid_request_error",code:"context_length_exceeded"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Model not found",406:"Model not supported",413:"Your input exceeds the context window of this model",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},f={base:2e3,max:18e5,maxLevel:15},g=42e4,h=26784e5,i=[{text:"monthly_request_count",cooldownMs:216e5},{text:"monthly limit",cooldownMs:216e5},{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{status:401,cooldownMs:12e4},{status:402,cooldownMs:12e4},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:413,fallback:!1},{status:429,backoff:!0}]},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mV:()=>d.mV,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,y7:()=>d.y7,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(5129)},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,7965,5502],()=>b(b.s=29461));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=2121,a.ids=[615,1998,2121],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>u,js:()=>A,DI:()=>n,fg:()=>k,Pd:()=>o,Vj:()=>p,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>C,wb:()=>B,br:()=>l,wG:()=>z,zt:()=>v,gb:()=>r,gC:()=>s,AR:()=>t,mq:()=>q,rs:()=>w,p5:()=>y});var d=c(45502);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.baseUrlField?{baseUrlField:a.baseUrlField}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.models?{models:a.models}:{},...a.authModes?{authModes:a.authModes}:{},...a.features?{features:{...a.features}}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-",p="custom-video-";function q(a){return"string"==typeof a&&a.startsWith(m)}function r(a){return"string"==typeof a&&a.startsWith(n)}function s(a){return"string"==typeof a&&a.startsWith(o)}function t(a){return"string"==typeof a&&a.startsWith(p)}let u={...h,...i,...j,...k,...l};function v(a){for(let b of Object.values(u))if(b.alias===a||b.id===a)return b;return null}function w(a){let b=v(a);return b?.id||a}let x={nvidia:40};function y(a,b){let c=(a?.rpmByProvider||{})[b];if(0===c||"0"===c)return 0;let d=Number(c);return Number.isFinite(d)&&d>0?d:x[b]||0}function z(a){let b=u[a];return b?.alias||a}let A=Object.values(u).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(u).reduce((a,b)=>(a[b.id]=b.alias,a),{});let B=d.A.filter(a=>a.features?.usage).map(a=>a.id),C=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id)},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},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()}},55511:a=>{a.exports=require("crypto")},60290:(a,b,c)=>{c.d(b,{C8:()=>t,DR:()=>s,IK:()=>m,Ps:()=>h,Qn:()=>q,SA:()=>p,UH:()=>k,Uc:()=>n,Ur:()=>g,Z1:()=>j,cI:()=>r,eo:()=>o,gx:()=>d,pH:()=>l,v1:()=>e,xM:()=>i}),c(87252);let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,PAYLOAD_TOO_LARGE:413,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},e={sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,sessionAffinityMaxSize:5e3,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20};function f(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}function g(){return{firstActionTimeoutMs:f("COMBO_RESPONSE_FIRST_ACTION_TIMEOUT_MS",5e3),maxBytes:f("COMBO_RESPONSE_PREFLIGHT_MAX_BYTES",65536)}}let h=process.env.SEARXNG_URL?.trim()||"http://localhost:8888/search",i=f("STREAM_STALL_TIMEOUT_MS",36e4),j=f("STREAM_FIRST_CHUNK_TIMEOUT_MS",3e4),k=(()=>{let a=process.env.SSE_KEEPALIVE_MS;if(null==a||""===a)return 1e4;let b=parseInt(a,10);return Number.isFinite(b)&&b>=0?b:1e4})(),l=f("FETCH_CONNECT_TIMEOUT_MS",6e4);f("RESPONSE_BODY_TIMEOUT_MS",3e5);let m=f("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3),n=64e3,o=32e3,p="x-9router-token-saver",q={maxTokenLength:160,maxAttempts:32,headers:{requestedModel:"X-9Router-Requested-Model",routePath:"X-9Router-Route-Path",resolvedProvider:"X-9Router-Resolved-Provider",resolvedModel:"X-9Router-Resolved-Model",fallbackCount:"X-9Router-Fallback-Count",attemptedModels:"X-9Router-Attempted-Models"}},r={429:{attempts:0,delayMs:0},502:{attempts:3,delayMs:3e3},503:{attempts:3,delayMs:2e3},504:{attempts:2,delayMs:3e3}};function s(a){return null==a?{attempts:0,delayMs:2e3}:"number"==typeof a?{attempts:a,delayMs:2e3}:{attempts:a.attempts||0,delayMs:null!=a.delayMs?a.delayMs:2e3}}let t=["Please write a 5-10 word title for the following conversation:"]},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},72253:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>I,patchFetch:()=>H,routeModule:()=>D,serverHooks:()=>G,workAsyncStorage:()=>E,workUnitAsyncStorage:()=>F});var d={};c.r(d),c.d(d,{GET:()=>B,POST:()=>C,dynamic:()=>A});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(71998),x=c(40615);let y=c(94755).A;var z=c(74986);let A="force-dynamic";async function B(){try{let a=await (0,w.Fh)();return v.NextResponse.json({nodes:a})}catch(a){return console.log("Error fetching provider nodes:",a),v.NextResponse.json({error:"Failed to fetch provider nodes"},{status:500})}}async function C(a){try{let b=await a.json(),{name:c,prefix:d,apiType:e,baseUrl:f,type:g}=b;if(!c?.trim())return v.NextResponse.json({error:"Name is required"},{status:400});if(!d?.trim())return v.NextResponse.json({error:"Prefix is required"},{status:400});let h=g||"openai-compatible";if("openai-compatible"===h){let a=(0,z.z5)(b);if(!e||!["chat","responses"].includes(e))return v.NextResponse.json({error:"Invalid OpenAI compatible API type"},{status:400});let g=await (0,w.i0)({id:`${x.JH}${e}-${y()}`,type:"openai-compatible",prefix:d.trim(),apiType:e,baseUrl:(f||"https://api.openai.com/v1").trim(),name:c.trim(),...a});return v.NextResponse.json({node:g},{status:201})}if("custom-embedding"===h){let a=(f||"https://api.openai.com/v1").trim().replace(/\/$/,"");a.endsWith("/embeddings")&&(a=a.slice(0,-11));let b=await (0,w.i0)({id:`${x.Pd}${y()}`,type:"custom-embedding",prefix:d.trim(),baseUrl:a,name:c.trim()});return v.NextResponse.json({node:b},{status:201})}if("custom-video"===h){let a=(f||"https://api.x.ai/v1/videos").trim().replace(/\/$/,"");a=a.replace(/\/(generations|edits|extensions)$/,"");let b=await (0,w.i0)({id:`${x.Vj}${y()}`,type:"custom-video",prefix:d.trim(),baseUrl:a,name:c.trim()});return v.NextResponse.json({node:b},{status:201})}if("anthropic-compatible"===h){let a=(0,z.z5)(b),e=(f||"https://api.anthropic.com/v1").trim().replace(/\/$/,"");e.endsWith("/messages")&&(e=e.slice(0,-9));let g=await (0,w.i0)({id:`${x.DI}${y()}`,type:"anthropic-compatible",prefix:d.trim(),baseUrl:e,name:c.trim(),...a});return v.NextResponse.json({node:g},{status:201})}return v.NextResponse.json({error:"Invalid provider node type"},{status:400})}catch(a){return console.log("Error creating provider node:",a),v.NextResponse.json({error:"Failed to create provider node"},{status:500})}}let D=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/provider-nodes/route",pathname:"/api/provider-nodes",filename:"route",bundlePath:"app/api/provider-nodes/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/provider-nodes/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:F,serverHooks:G}=D;function H(){return(0,g.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:F})}async function I(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),D.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/provider-nodes/route";"/index"===d&&(d="/");let e=await D.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||D.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===D.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await D.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>D.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>D.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await D.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await D.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await D.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},73024:a=>{a.exports=require("node:fs")},74986:(a,b,c)=>{c.d(b,{im:()=>i,z5:()=>j});let d={default:{label:"Default",headers:{}},"claude-cli":{label:"Claude CLI",headers:c(92675).$B},"codex-cli":{label:"Codex CLI",headers:{originator:"codex_cli_rs","User-Agent":"codex_cli_rs/0.136.0"}},openclaw:{label:"OpenClaw",headers:{"User-Agent":"openclaw/2026.2.3"}},custom:{label:"Custom",headers:{}}},e=new Set(["authorization","x-api-key","api-key","cookie"]);function f(a){return d[a]?a:"default"}function g(a){let b={};for(let[c,d]of a){let a=String(c||"").trim();if(!a||e.has(String(a||"").trim().toLowerCase())||null==d)continue;let f=String(d).trim();f&&(b[a]=f)}return b}function h(a){if(!a)return{};if("object"==typeof a&&!Array.isArray(a))return g(Object.entries(a));let b=String(a).trim();if(!b)return{};if(b.startsWith("{")){let a=JSON.parse(b);return!a||"object"!=typeof a||Array.isArray(a)?{}:g(Object.entries(a))}return g(function(a){let b=[];for(let c of String(a||"").split(/\r?\n/)){let a=c.trim();if(!a||a.startsWith("#"))continue;let d=a.indexOf(":");d<=0||b.push([a.slice(0,d),a.slice(d+1)])}return b}(b))}function i(a={},b={},c={}){return{...a||{},...function(a={}){let b=f(a.clientIdentityProfile);return"custom"===b?h(a.clientIdentityHeaders):{...d[b]?.headers||{}}}(b),...c||{}}}function j(a={}){let b=f(a.clientIdentityProfile);return{clientIdentityProfile:b,clientIdentityHeaders:"custom"===b?h(a.clientIdentityHeaders):{}}}},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79868:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87252:(a,b,c)=>{c.d(b,{Dp:()=>g,EQ:()=>f,LY:()=>d,O:()=>e,fh:()=>h,t2:()=>i});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},413:{type:"invalid_request_error",code:"context_length_exceeded"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Model not found",406:"Model not supported",413:"Your input exceeds the context window of this model",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},f={base:2e3,max:18e5,maxLevel:15},g=42e4,h=26784e5,i=[{text:"monthly_request_count",cooldownMs:216e5},{text:"monthly limit",cooldownMs:216e5},{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{status:401,cooldownMs:12e4},{status:402,cooldownMs:12e4},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:413,fallback:!1},{status:429,backoff:!0}]},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mV:()=>d.mV,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,y7:()=>d.y7,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(5129)},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,7965,5502],()=>b(b.s=72253));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=8814,a.ids=[8814],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},5810:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>I,patchFetch:()=>H,routeModule:()=>D,serverHooks:()=>G,workAsyncStorage:()=>E,workUnitAsyncStorage:()=>F});var d={};c.r(d),c.d(d,{POST:()=>C});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(88556),x=c(68658),y=c(74986),z=c(69939);let A=a=>401===a||403===a?"API key unauthorized":404===a?"/models endpoint not found - try chat validation with model ID":a>=500?"Server error - try again later":`Unexpected response (${a})`,B=a=>401===a||403===a?"API key unauthorized":400===a?"Invalid model or bad request":404===a?"Chat endpoint not found":a>=500?"Server error - try again later":`Chat request failed (${a})`;async function C(a){try{let{baseUrl:b,apiKey:c,type:d,modelId:e,clientIdentityProfile:f,clientIdentityHeaders:g}=await a.json(),h={clientIdentityProfile:f,clientIdentityHeaders:g};if(!b||!c)return v.NextResponse.json({error:"Base URL and API key required"},{status:400});if(!(a=>{try{return new URL(a),!0}catch{return!1}})(b))return v.NextResponse.json({error:"Invalid URL format"},{status:400});if(!(0,x.v5)(a))try{(0,w.P)(b)}catch{return v.NextResponse.json({error:"URL not allowed"},{status:400})}if("custom-embedding"===d){let a=b.trim().replace(/\/$/,"");if(!e?.trim())return v.NextResponse.json({valid:!1,error:"Model ID required for embedding validation"});let d=await (0,z.b)(`${a}/embeddings`,{method:"POST",headers:{Authorization:`Bearer ${c}`,"Content-Type":"application/json"},body:JSON.stringify({model:e.trim(),input:"ping"})});if(d.ok){let a=await d.json().catch(()=>null),b=Array.isArray(a?.data?.[0]?.embedding)?a.data[0].embedding.length:null;return v.NextResponse.json({valid:!0,method:"embeddings",dimensions:b})}if(401===d.status||403===d.status)return v.NextResponse.json({valid:!1,error:"API key unauthorized"});let f=await d.text().catch(()=>"");return v.NextResponse.json({valid:!1,error:`Embeddings request failed (${d.status})${f?`: ${f.slice(0,200)}`:""}`,method:"embeddings"})}if("custom-video"===d){let a=b.trim().replace(/\/$/,"");a=a.replace(/\/(generations|edits|extensions)$/,"");let d=await (0,z.b)(`${a}/generations`,{method:"POST",headers:{Authorization:`Bearer ${c}`,"Content-Type":"application/json"},body:JSON.stringify({})});if(401===d.status||403===d.status)return v.NextResponse.json({valid:!1,error:"API key unauthorized"});if(404===d.status)return v.NextResponse.json({valid:!1,error:"/generations endpoint not found - check Base URL"});if(d.status>=500)return v.NextResponse.json({valid:!1,error:"Server error - try again later"});return v.NextResponse.json({valid:!0,method:"generations-probe"})}if("anthropic-compatible"===d){let a=b.trim().replace(/\/$/,"");a.endsWith("/messages")&&(a=a.slice(0,-9));let d=`${a}/models`,f=await (0,z.b)(d,{method:"GET",headers:(0,y.im)({},h,{"x-api-key":c,"anthropic-version":"2023-06-01",Authorization:`Bearer ${c}`})});if(f.ok)return v.NextResponse.json({valid:!0});if(401===f.status||403===f.status)return v.NextResponse.json({valid:!1,error:"API key unauthorized"});if(e){let b=await (0,z.b)(`${a}/chat/completions`,{method:"POST",headers:(0,y.im)({"Content-Type":"application/json"},h,{Authorization:`Bearer ${c}`,"x-api-key":c,"anthropic-version":"2023-06-01"}),body:JSON.stringify({model:e,messages:[{role:"user",content:"ping"}],max_tokens:1})});if(b.ok)return v.NextResponse.json({valid:!0,method:"chat"});return v.NextResponse.json({valid:!1,error:B(b.status),method:"chat"})}return v.NextResponse.json({valid:!1,error:A(f.status)})}let i=`${b.replace(/\/$/,"")}/models`,j=await (0,z.b)(i,{headers:(0,y.im)({},h,{Authorization:`Bearer ${c}`})});if(j.ok)return v.NextResponse.json({valid:!0});if(401===j.status||403===j.status)return v.NextResponse.json({valid:!1,error:"API key unauthorized"});if(e){let a=await (0,z.b)(`${b.replace(/\/$/,"")}/chat/completions`,{method:"POST",headers:(0,y.im)({"Content-Type":"application/json"},h,{Authorization:`Bearer ${c}`}),body:JSON.stringify({model:e,messages:[{role:"user",content:"ping"}],max_tokens:1})});if(a.ok)return v.NextResponse.json({valid:!0,method:"chat"});return v.NextResponse.json({valid:!1,error:B(a.status),method:"chat"})}return v.NextResponse.json({valid:!1,error:A(j.status)})}catch(b){let a=b.cause?.code==="ECONNREFUSED"?"Connection refused - provider node offline or unreachable":b.cause?.code==="ENOTFOUND"?"DNS lookup failed - invalid domain or network issue":b.cause?.code==="ETIMEDOUT"?"Connection timeout - provider node too slow":b.message.includes("timeout")?"Request timeout (>10s) - provider node not responding":b.cause?.code==="CERT_HAS_EXPIRED"?"SSL certificate expired":b.cause?.code==="UNABLE_TO_VERIFY_LEAF_SIGNATURE"?"SSL certificate verification failed":b.cause?.code?`Network error: ${b.cause.code}`:"Network connection failed - check URL and network connectivity";return console.error("Error validating provider node:",{message:b.message,cause:b.cause,code:b.cause?.code,userMessage:a}),v.NextResponse.json({valid:!1,error:a},{status:500})}}let D=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/provider-nodes/validate/route",pathname:"/api/provider-nodes/validate",filename:"route",bundlePath:"app/api/provider-nodes/validate/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/provider-nodes/validate/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:F,serverHooks:G}=D;function H(){return(0,g.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:F})}async function I(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),D.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/provider-nodes/validate/route";"/index"===d&&(d="/");let e=await D.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||D.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===D.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await D.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>D.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>D.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await D.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await D.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await D.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},69939:(a,b,c)=>{c.d(b,{b:()=>d});async function d(a,b={},c=1e4){if(b?.signal)return fetch(a,b);let e=new AbortController,f=setTimeout(()=>e.abort(Error(`Request timed out after ${c}ms`)),c);try{return await fetch(a,{...b,signal:e.signal})}finally{clearTimeout(f)}}},73024:a=>{a.exports=require("node:fs")},74986:(a,b,c)=>{c.d(b,{im:()=>i,z5:()=>j});let d={default:{label:"Default",headers:{}},"claude-cli":{label:"Claude CLI",headers:c(92675).$B},"codex-cli":{label:"Codex CLI",headers:{originator:"codex_cli_rs","User-Agent":"codex_cli_rs/0.136.0"}},openclaw:{label:"OpenClaw",headers:{"User-Agent":"openclaw/2026.2.3"}},custom:{label:"Custom",headers:{}}},e=new Set(["authorization","x-api-key","api-key","cookie"]);function f(a){return d[a]?a:"default"}function g(a){let b={};for(let[c,d]of a){let a=String(c||"").trim();if(!a||e.has(String(a||"").trim().toLowerCase())||null==d)continue;let f=String(d).trim();f&&(b[a]=f)}return b}function h(a){if(!a)return{};if("object"==typeof a&&!Array.isArray(a))return g(Object.entries(a));let b=String(a).trim();if(!b)return{};if(b.startsWith("{")){let a=JSON.parse(b);return!a||"object"!=typeof a||Array.isArray(a)?{}:g(Object.entries(a))}return g(function(a){let b=[];for(let c of String(a||"").split(/\r?\n/)){let a=c.trim();if(!a||a.startsWith("#"))continue;let d=a.indexOf(":");d<=0||b.push([a.slice(0,d),a.slice(d+1)])}return b}(b))}function i(a={},b={},c={}){return{...a||{},...function(a={}){let b=f(a.clientIdentityProfile);return"custom"===b?h(a.clientIdentityHeaders):{...d[b]?.headers||{}}}(b),...c||{}}}function j(a={}){let b=f(a.clientIdentityProfile);return{clientIdentityProfile:b,clientIdentityHeaders:"custom"===b?h(a.clientIdentityHeaders):{}}}},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79868:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},88556:(a,b,c)=>{c.d(b,{P:()=>i});let d=new Set(["localhost","ip6-localhost","ip6-loopback"]),e=[".internal",".local",".localhost"];function f(a){let b=a.split(".");if(4!==b.length)return null;let c=0;for(let a of b){if(!/^\d{1,3}$/.test(a))return null;let b=Number(a);if(b>255)return null;c=256*c+b}return c>>>0}let g=[[f("0.0.0.0"),8],[f("10.0.0.0"),8],[f("127.0.0.0"),8],[f("169.254.0.0"),16],[f("172.16.0.0"),12],[f("192.168.0.0"),16]];function h(a){let b=f(a);return null!==b&&g.some(([a,c])=>{let d=0===c?0:0xffffffff<<32-c>>>0;return(b&d)==(a&d)})}function i(a){let b,c,f=new URL(a).hostname.toLowerCase();if(d.has(f)||e.some(a=>f.endsWith(a)))throw Error("Blocked URL: internal host");if(h(f)||f.includes(":")&&((c=(b=f.replace(/^\[|\]$/g,"").toLowerCase()).match(/^::ffff:(\d+\.\d+\.\d+\.\d+)$/))?h(c[1]):"::1"===b||"::"===b||b.startsWith("fe80:")||b.startsWith("fc")||b.startsWith("fd")))throw Error("Blocked URL: private IP")}},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mV:()=>d.mV,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,y7:()=>d.y7,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(5129)},92675:(a,b,c)=>{c.d(b,{$B:()=>h,Bi:()=>g,Es:()=>i,Of:()=>m,Tr:()=>k,XP:()=>n,b8:()=>e,dG:()=>o,ky:()=>j,t4:()=>f,w3:()=>l});var d=c(21820);let e="2023-06-01",f="2.1.220",g={"Anthropic-Version":e,"Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},h={"Anthropic-Version":e,"Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":`claude-cli/${f} (external, sdk-cli)`,"X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.94.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(a=(0,d.arch)()){switch(a){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${a}`}}(),"X-Stainless-Os":function(a=(0,d.platform)()){switch(a){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${a}`}}(),"X-Stainless-Timeout":"600"},i="https://api.openai.com/v1",j="https://api.anthropic.com/v1",k="2.1.1",l="https://daily-cloudcode-pa.googleapis.com",m=`antigravity/ide/${k} darwin/arm64`,n={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},o={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"}},94735:a=>{a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,595,4013,4433,7965,8658],()=>b(b.s=5810));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=8814,a.ids=[8814],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},69939:(a,b,c)=>{c.d(b,{b:()=>d});async function d(a,b={},c=1e4){if(b?.signal)return fetch(a,b);let e=new AbortController,f=setTimeout(()=>e.abort(Error(`Request timed out after ${c}ms`)),c);try{return await fetch(a,{...b,signal:e.signal})}finally{clearTimeout(f)}}},73024:a=>{a.exports=require("node:fs")},74986:(a,b,c)=>{c.d(b,{im:()=>i,z5:()=>j});let d={default:{label:"Default",headers:{}},"claude-cli":{label:"Claude CLI",headers:c(92675).$B},"codex-cli":{label:"Codex CLI",headers:{originator:"codex_cli_rs","User-Agent":"codex_cli_rs/0.136.0"}},openclaw:{label:"OpenClaw",headers:{"User-Agent":"openclaw/2026.2.3"}},custom:{label:"Custom",headers:{}}},e=new Set(["authorization","x-api-key","api-key","cookie"]);function f(a){return d[a]?a:"default"}function g(a){let b={};for(let[c,d]of a){let a=String(c||"").trim();if(!a||e.has(String(a||"").trim().toLowerCase())||null==d)continue;let f=String(d).trim();f&&(b[a]=f)}return b}function h(a){if(!a)return{};if("object"==typeof a&&!Array.isArray(a))return g(Object.entries(a));let b=String(a).trim();if(!b)return{};if(b.startsWith("{")){let a=JSON.parse(b);return!a||"object"!=typeof a||Array.isArray(a)?{}:g(Object.entries(a))}return g(function(a){let b=[];for(let c of String(a||"").split(/\r?\n/)){let a=c.trim();if(!a||a.startsWith("#"))continue;let d=a.indexOf(":");d<=0||b.push([a.slice(0,d),a.slice(d+1)])}return b}(b))}function i(a={},b={},c={}){return{...a||{},...function(a={}){let b=f(a.clientIdentityProfile);return"custom"===b?h(a.clientIdentityHeaders):{...d[b]?.headers||{}}}(b),...c||{}}}function j(a={}){let b=f(a.clientIdentityProfile);return{clientIdentityProfile:b,clientIdentityHeaders:"custom"===b?h(a.clientIdentityHeaders):{}}}},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79868:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},88556:(a,b,c)=>{c.d(b,{P:()=>i});let d=new Set(["localhost","ip6-localhost","ip6-loopback"]),e=[".internal",".local",".localhost"];function f(a){let b=a.split(".");if(4!==b.length)return null;let c=0;for(let a of b){if(!/^\d{1,3}$/.test(a))return null;let b=Number(a);if(b>255)return null;c=256*c+b}return c>>>0}let g=[[f("0.0.0.0"),8],[f("10.0.0.0"),8],[f("127.0.0.0"),8],[f("169.254.0.0"),16],[f("172.16.0.0"),12],[f("192.168.0.0"),16]];function h(a){let b=f(a);return null!==b&&g.some(([a,c])=>{let d=0===c?0:0xffffffff<<32-c>>>0;return(b&d)==(a&d)})}function i(a){let b,c,f=new URL(a).hostname.toLowerCase();if(d.has(f)||e.some(a=>f.endsWith(a)))throw Error("Blocked URL: internal host");if(h(f)||f.includes(":")&&((c=(b=f.replace(/^\[|\]$/g,"").toLowerCase()).match(/^::ffff:(\d+\.\d+\.\d+\.\d+)$/))?h(c[1]):"::1"===b||"::"===b||b.startsWith("fe80:")||b.startsWith("fc")||b.startsWith("fd")))throw Error("Blocked URL: private IP")}},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mV:()=>d.mV,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,y7:()=>d.y7,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(5129)},92675:(a,b,c)=>{c.d(b,{$B:()=>h,Bi:()=>g,Es:()=>i,Of:()=>m,Tr:()=>k,XP:()=>n,b8:()=>e,dG:()=>o,ky:()=>j,t4:()=>f,w3:()=>l});var d=c(21820);let e="2023-06-01",f="2.1.220",g={"Anthropic-Version":e,"Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},h={"Anthropic-Version":e,"Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":`claude-cli/${f} (external, sdk-cli)`,"X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.94.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(a=(0,d.arch)()){switch(a){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${a}`}}(),"X-Stainless-Os":function(a=(0,d.platform)()){switch(a){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${a}`}}(),"X-Stainless-Timeout":"600"},i="https://api.openai.com/v1",j="https://api.anthropic.com/v1",k="2.1.1",l="https://daily-cloudcode-pa.googleapis.com",m=`antigravity/ide/${k} darwin/arm64`,n={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},o={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"}},93242:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>I,patchFetch:()=>H,routeModule:()=>D,serverHooks:()=>G,workAsyncStorage:()=>E,workUnitAsyncStorage:()=>F});var d={};c.r(d),c.d(d,{POST:()=>C});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(88556),x=c(68658),y=c(74986),z=c(69939);let A=a=>401===a||403===a?"API key unauthorized":404===a?"/models endpoint not found - try chat validation with model ID":a>=500?"Server error - try again later":`Unexpected response (${a})`,B=a=>401===a||403===a?"API key unauthorized":400===a?"Invalid model or bad request":404===a?"Chat endpoint not found":a>=500?"Server error - try again later":`Chat request failed (${a})`;async function C(a){try{let{baseUrl:b,apiKey:c,type:d,modelId:e,clientIdentityProfile:f,clientIdentityHeaders:g}=await a.json(),h={clientIdentityProfile:f,clientIdentityHeaders:g};if(!b||!c)return v.NextResponse.json({error:"Base URL and API key required"},{status:400});if(!(a=>{try{return new URL(a),!0}catch{return!1}})(b))return v.NextResponse.json({error:"Invalid URL format"},{status:400});if(!(0,x.v5)(a))try{(0,w.P)(b)}catch{return v.NextResponse.json({error:"URL not allowed"},{status:400})}if("custom-embedding"===d){let a=b.trim().replace(/\/$/,"");if(!e?.trim())return v.NextResponse.json({valid:!1,error:"Model ID required for embedding validation"});let d=await (0,z.b)(`${a}/embeddings`,{method:"POST",headers:{Authorization:`Bearer ${c}`,"Content-Type":"application/json"},body:JSON.stringify({model:e.trim(),input:"ping"})});if(d.ok){let a=await d.json().catch(()=>null),b=Array.isArray(a?.data?.[0]?.embedding)?a.data[0].embedding.length:null;return v.NextResponse.json({valid:!0,method:"embeddings",dimensions:b})}if(401===d.status||403===d.status)return v.NextResponse.json({valid:!1,error:"API key unauthorized"});let f=await d.text().catch(()=>"");return v.NextResponse.json({valid:!1,error:`Embeddings request failed (${d.status})${f?`: ${f.slice(0,200)}`:""}`,method:"embeddings"})}if("custom-video"===d){let a=b.trim().replace(/\/$/,"");a=a.replace(/\/(generations|edits|extensions)$/,"");let d=await (0,z.b)(`${a}/generations`,{method:"POST",headers:{Authorization:`Bearer ${c}`,"Content-Type":"application/json"},body:JSON.stringify({})});if(401===d.status||403===d.status)return v.NextResponse.json({valid:!1,error:"API key unauthorized"});if(404===d.status)return v.NextResponse.json({valid:!1,error:"/generations endpoint not found - check Base URL"});if(d.status>=500)return v.NextResponse.json({valid:!1,error:"Server error - try again later"});return v.NextResponse.json({valid:!0,method:"generations-probe"})}if("anthropic-compatible"===d){let a=b.trim().replace(/\/$/,"");a.endsWith("/messages")&&(a=a.slice(0,-9));let d=`${a}/models`,f=await (0,z.b)(d,{method:"GET",headers:(0,y.im)({},h,{"x-api-key":c,"anthropic-version":"2023-06-01",Authorization:`Bearer ${c}`})});if(f.ok)return v.NextResponse.json({valid:!0});if(401===f.status||403===f.status)return v.NextResponse.json({valid:!1,error:"API key unauthorized"});if(e){let b=await (0,z.b)(`${a}/chat/completions`,{method:"POST",headers:(0,y.im)({"Content-Type":"application/json"},h,{Authorization:`Bearer ${c}`,"x-api-key":c,"anthropic-version":"2023-06-01"}),body:JSON.stringify({model:e,messages:[{role:"user",content:"ping"}],max_tokens:1})});if(b.ok)return v.NextResponse.json({valid:!0,method:"chat"});return v.NextResponse.json({valid:!1,error:B(b.status),method:"chat"})}return v.NextResponse.json({valid:!1,error:A(f.status)})}let i=`${b.replace(/\/$/,"")}/models`,j=await (0,z.b)(i,{headers:(0,y.im)({},h,{Authorization:`Bearer ${c}`})});if(j.ok)return v.NextResponse.json({valid:!0});if(401===j.status||403===j.status)return v.NextResponse.json({valid:!1,error:"API key unauthorized"});if(e){let a=await (0,z.b)(`${b.replace(/\/$/,"")}/chat/completions`,{method:"POST",headers:(0,y.im)({"Content-Type":"application/json"},h,{Authorization:`Bearer ${c}`}),body:JSON.stringify({model:e,messages:[{role:"user",content:"ping"}],max_tokens:1})});if(a.ok)return v.NextResponse.json({valid:!0,method:"chat"});return v.NextResponse.json({valid:!1,error:B(a.status),method:"chat"})}return v.NextResponse.json({valid:!1,error:A(j.status)})}catch(b){let a=b.cause?.code==="ECONNREFUSED"?"Connection refused - provider node offline or unreachable":b.cause?.code==="ENOTFOUND"?"DNS lookup failed - invalid domain or network issue":b.cause?.code==="ETIMEDOUT"?"Connection timeout - provider node too slow":b.message.includes("timeout")?"Request timeout (>10s) - provider node not responding":b.cause?.code==="CERT_HAS_EXPIRED"?"SSL certificate expired":b.cause?.code==="UNABLE_TO_VERIFY_LEAF_SIGNATURE"?"SSL certificate verification failed":b.cause?.code?`Network error: ${b.cause.code}`:"Network connection failed - check URL and network connectivity";return console.error("Error validating provider node:",{message:b.message,cause:b.cause,code:b.cause?.code,userMessage:a}),v.NextResponse.json({valid:!1,error:a},{status:500})}}let D=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/provider-nodes/validate/route",pathname:"/api/provider-nodes/validate",filename:"route",bundlePath:"app/api/provider-nodes/validate/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/provider-nodes/validate/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:F,serverHooks:G}=D;function H(){return(0,g.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:F})}async function I(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),D.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/provider-nodes/validate/route";"/index"===d&&(d="/");let e=await D.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||D.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===D.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await D.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>D.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>D.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await D.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await D.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await D.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},94735:a=>{a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,595,4013,4433,7965,8658],()=>b(b.s=93242));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=5211,a.ids=[615,1998,5211,7335],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},4630:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(39141);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}},7066:a=>{a.exports=require("node:tty")},7803:(a,b,c)=>{c.r(b),c.d(b,{debug:()=>o,debugEnabled:()=>w,error:()=>r,errorLine:()=>l,fmtThink:()=>m,info:()=>p,line:()=>k,maskKey:()=>v,nextTag:()=>i,request:()=>s,response:()=>t,stream:()=>u,tagForSession:()=>j,warn:()=>q});let d={DEBUG:0,INFO:1,WARN:2,ERROR:3},e=d[process.env.LOG_LEVEL?.toUpperCase?.()]??d.INFO;function f(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}let g=["\uD83D\uDFE2","\uD83D\uDD35","\uD83D\uDFE3","\uD83D\uDFE1","\uD83D\uDFE0","\uD83D\uDD34","⚪","\uD83D\uDFE4"],h=0;function i(){let a=g[h%g.length];return h++,a}function j(a){if(!a)return i();let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)|0;return g[Math.abs(b)%g.length]}function k(a,b,c){e>d.INFO||console.log(`[${f()}] ${a} ${b} ${c}`)}function l(a,b,c){console.log(`[${f()}] ${a} ${b} ${c}`)}function m(a){return a&&a.mode?"none"===a.mode?"off":"auto"===a.mode?"auto":"budget"===a.mode?a.budget>=1e3?`${Math.round(a.budget/1e3)}k`:`${a.budget}`:"level"===a.mode?a.level:null:null}function n(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function o(a,b,c){if(e<=d.DEBUG){let d=c?` ${n(c)}`:"";console.log(`[${f()}] 🔍 [${a}] ${b}${d}`)}}function p(a,b,c){if(e<=d.INFO){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ℹ️ [${a}] ${b}${d}`)}}function q(a,b,c){if(e<=d.WARN){let d=c?` ${n(c)}`:"";console.warn(`[${f()}] ⚠️ [${a}] ${b}${d}`)}}function r(a,b,c){if(e<=d.ERROR){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ❌ [${a}] ${b}${d}`)}}function s(a,b,c){let d=c?` ${n(c)}`:"";console.log(`\x1b[36m[${f()}] 📥 ${a} ${b}${d}\x1b[0m`)}function t(a,b,c){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${d}`)}function u(a,b){let c=b?` ${n(b)}`:"";console.log(`[${f()}] 🌊 [STREAM] ${a}${c}`)}function v(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}let w=e<=d.DEBUG},8086:a=>{a.exports=require("module")},9155:(a,b,c)=>{c.d(b,{EV:()=>d.EV,_M:()=>e});var d=c(18851);async function e(a,b=null,c=null){let d=a?.apiKey||a?.accessToken;return{...a,accessToken:d,apiKey:d}}},10014:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>Y,patchFetch:()=>X,routeModule:()=>T,serverHooks:()=>W,workAsyncStorage:()=>U,workUnitAsyncStorage:()=>V});var d={};c.r(d),c.d(d,{GET:()=>S});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(71998),x=c(40615),y=c(68658),z=c(92990),A=c(67828),B=c(85640),C=c(4630),D=c(27335),E=c(58569),F=c(86925),G=c(9155),H=c(63123),I=c(39326),J=c(26588),K=c(74986),L=c(38071);async function M(a){return!!(await (0,y.gN)(a)||await (0,y.wR)(a))}let N=a=>Array.isArray(a)?a:a?.data||a?.models||a?.results||[],O=a=>({url:a,method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:N}),P=a=>(0,D.KC)(a).map(a=>({...a,id:a.id,name:a.name||a.id})),Q=({refreshFn:a,fetchFn:b,parseFn:c,errorLabel:d})=>async e=>{let f,{accessToken:g,refreshToken:h}=e;if(!g)return{error:"No valid token found",status:401};try{let i=await b(g,e);if(!i.ok&&(401===i.status||403===i.status)&&h){let c=await a(e);c?.accessToken&&(await (0,A.vN)(e.id,{accessToken:c.accessToken,refreshToken:c.refreshToken||h,expiresIn:c.expiresIn}),e.accessToken=c.accessToken,c.refreshToken&&(e.refreshToken=c.refreshToken),i=await b(c.accessToken,e))}if(i.ok){let a=await i.json(),b=c(a);if(b.length>0)return{models:b}}else{let a=await i.text();f=`${d}: ${i.status} ${a}`,console.log(`${d} (falling back to static):`,a)}}catch(a){f=`${d}: ${a.message}`,console.log(`${d} (falling back to static):`,a.message)}return{models:[],warning:f}},R={claude:{url:"https://api.anthropic.com/v1/models",method:"GET",headers:{"Anthropic-Version":"2023-06-01","Content-Type":"application/json"},authHeader:"x-api-key",parseResponse:a=>a.data||[]},gemini:{url:"https://generativelanguage.googleapis.com/v1beta/models",method:"GET",headers:{"Content-Type":"application/json"},authQuery:"key",parseResponse:a=>a.models||[]},codex:{customResolver:Q({refreshFn:a=>(0,A.Wm)(a.refreshToken),fetchFn:a=>fetch("https://chatgpt.com/backend-api/codex/models?client_version=0.144.6",{method:"GET",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${a}`,originator:"codex_cli_rs"}}),parseFn:a=>N(a).flatMap(a=>{let b=a?.id||a?.slug||a?.model||a?.name;if(!b)return[];let c=a?.display_name||a?.displayName||a?.name||b,d={...a,id:b,name:c};return!("image"!==(a?.type||"llm")&&!b.toLowerCase().includes("embed"))||b.endsWith("-review")?[d]:[d,{...d,id:`${b}-review`,name:`${c} Review`,upstreamModelId:b,quotaFamily:"review"}]}),errorLabel:"Failed to fetch Codex models"})},antigravity:{url:"https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:models",method:"POST",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",body:{},parseResponse:a=>a.models||[]},github:{url:"https://api.githubcopilot.com/models",method:"GET",headers:{"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":"vscode/1.107.1","editor-plugin-version":"copilot-chat/0.26.7","user-agent":"GitHubCopilotChat/0.26.7"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a?.data?a.data.filter(a=>a.capabilities?.type==="chat").filter(a=>a.policy?.state!=="disabled").map(a=>({id:a.id,name:a.name||a.id,version:a.version,capabilities:a.capabilities,isDefault:!0===a.model_picker_enabled})):[]},openai:O("https://api.openai.com/v1/models"),openrouter:O("https://openrouter.ai/api/v1/models"),anthropic:{url:"https://api.anthropic.com/v1/models",method:"GET",headers:{"Anthropic-Version":"2023-06-01","Content-Type":"application/json"},authHeader:"x-api-key",parseResponse:a=>a.data||[]},alicode:{url:"https://coding.dashscope.aliyuncs.com/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"alicode-intl":{url:"https://coding-intl.dashscope.aliyuncs.com/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"alims-intl":{url:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"volcengine-ark":O("https://ark.cn-beijing.volces.com/api/coding/v3/models"),byteplus:O("https://ark.ap-southeast.bytepluses.com/api/coding/v3/models"),deepseek:O("https://api.deepseek.com/models"),groq:O("https://api.groq.com/openai/v1/models"),xai:O("https://api.x.ai/v1/models"),mistral:O("https://api.mistral.ai/v1/models"),perplexity:O("https://api.perplexity.ai/v1/models"),"perplexity-agent":O("https://api.perplexity.ai/v1/models"),together:O("https://api.together.xyz/v1/models"),nous:{...O(L.B3),parseResponse:a=>(0,L.bd)(a).map(a=>({...a,id:`nous/${a.id}`,upstreamModelId:a.id}))},fireworks:O("https://api.fireworks.ai/inference/v1/models"),cerebras:O("https://api.cerebras.ai/v1/models"),cohere:O("https://api.cohere.ai/v1/models"),nebius:O("https://api.studio.nebius.ai/v1/models"),novita:O("https://api.novita.ai/openai/v1/models"),siliconflow:O("https://api.siliconflow.com/v1/models"),hyperbolic:O("https://api.hyperbolic.xyz/v1/models"),ollama:O("https://ollama.com/api/tags"),nanobanana:O("https://api.nanobananaapi.ai/v1/models"),chutes:O("https://llm.chutes.ai/v1/models"),nvidia:O("https://integrate.api.nvidia.com/v1/models"),assemblyai:O("https://api.assemblyai.com/v1/models"),"vercel-ai-gateway":O("https://ai-gateway.vercel.sh/v1/models"),"frontier-for-all":{customResolver:Q({refreshFn:a=>(0,A.go)(a.refreshToken),fetchFn:a=>fetch(z.V1.modelsUrl,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${a}`}}),parseFn:N,errorLabel:"Failed to fetch Frontier models"})},vertex:{customResolver:async a=>{let b,c=(0,B.Sc)(a.apiKey),d=c?.project_id||a.providerSpecificData?.projectId||a.projectId,e=a.providerSpecificData?.location||a.providerSpecificData?.region||"us-central1",f=await (0,I.B)(a.providerSpecificData||{}),g={"Content-Type":"application/json"};if(c){let a=await (0,B.pb)(c);if(!a?.accessToken)return{error:"Failed to mint token from Service Account JSON",status:401};g.Authorization=`Bearer ${a.accessToken}`,b=d?`https://aiplatform.googleapis.com/v1/projects/${d}/locations/${e}/publishers/google/models`:"https://aiplatform.googleapis.com/v1/publishers/google/models"}else if(a.accessToken)g.Authorization=`Bearer ${a.accessToken}`,b=d?`https://aiplatform.googleapis.com/v1/projects/${d}/locations/${e}/publishers/google/models`:"https://aiplatform.googleapis.com/v1/publishers/google/models";else{if(!a.apiKey)return{error:"No API key or Service Account provided",status:401};b=e&&"global"!==e?`https://${e}-aiplatform.googleapis.com/v1/publishers/google/models?key=${a.apiKey}`:`https://aiplatform.googleapis.com/v1/publishers/google/models?key=${a.apiKey}`}try{let a=await fetchWithConnectionProxy(b,{headers:g},f);if(!a.ok){let b=await a.text().catch(()=>"");return console.log("Error fetching Vertex AI models:",b),{models:P("vertex"),warning:`Failed to fetch Vertex models (${a.status}); using static catalog.`}}let c=await a.json().catch(()=>({})),d=(a=>{let b=a?.publisherModels||a?.models||a?.data||[];if(!Array.isArray(b))return[];let c=[];for(let a of b){let b=a?.name||a?.id||a?.model||"";if(!b)continue;let d=b.replace(/^publishers\/google\/models\//,"").replace(/^models\//,"");if(!d||d.includes("__probe__"))continue;let e=a?.displayName||a?.versionId||d;c.push({id:d,name:e})}return c})(c);if(d.length>0)return{models:d}}catch(a){console.log("Failed to fetch Vertex AI models:",a.message)}return{models:P("vertex"),warning:"Vertex AI returned no models; using static catalog."}}},"vertex-partner":{customResolver:async a=>({models:P("vertex-partner")})},kimchi:{customResolver:async a=>{let b=await (0,F.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{forceRefresh:!0,log:console});return b?.models?.length?{models:b.models}:{models:P("kimchi"),warning:"Kimchi returned no live models; falling back to static catalog."}}},cursor:{customResolver:async a=>{let b=await (0,J.FD)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{forceRefresh:!0,log:console});return b?.models?.length?{models:b.models}:{models:P("cursor"),warning:"Cursor returned no live models; falling back to static catalog."}}},kiro:{customResolver:async a=>{let b,c={accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}};try{let d=await (0,E.cW)(c,{log:console,onCredentialsRefreshed:async b=>{b?.accessToken&&(await (0,A.vN)(a.id,{accessToken:b.accessToken,refreshToken:b.refreshToken||a.refreshToken,expiresIn:b.expiresIn}),a.accessToken=b.accessToken,b.refreshToken&&(a.refreshToken=b.refreshToken))}});if(d?.models?.length)return{models:d.models.map(a=>({id:a.id,name:a.name,upstreamModelId:a.upstreamModelId,contextLength:a.contextLength,maxOutputTokens:a.maxOutputTokens,rateMultiplier:a.rateMultiplier,capabilities:a.capabilities,description:a.description}))};b="Kiro returned no models; falling back to static catalog."}catch(a){b=`Failed to fetch Kiro models: ${a.message}`,console.log("Failed to fetch Kiro models dynamically, falling back to static:",a.message)}return{models:[],warning:b}}},qoder:{customResolver:async a=>{let b,c={accessToken:a.accessToken,apiKey:a.apiKey,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}};try{let a=await (0,G.EV)(c,{forceRefresh:!0});if(a?.models?.length)return{models:a.models.map(a=>({id:`qoder/${a.id}`,name:a.name,contextLength:a.contextLength,isVL:a.isVL,isReasoning:a.isReasoning,maxOutputTokens:a.maxOutputTokens,description:a.description}))};b="Qoder returned no models; falling back to static catalog."}catch(a){b=`Failed to fetch Qoder models: ${a.message}`,console.log("Failed to fetch Qoder models dynamically, falling back to static:",a.message)}return{models:[],warning:b}}},"gemini-cli":{customResolver:Q({refreshFn:a=>(0,A.I9)(a.refreshToken,z.LT.clientId,z.LT.clientSecret),fetchFn:(a,b)=>{let c=b.projectId||b.providerSpecificData?.projectId;return fetch("https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`,"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1"},body:JSON.stringify(c?{project:c}:{})})},parseFn:a=>Array.isArray(a?.models)?a.models.map(a=>{let b=a?.id||a?.model||a?.name;return b?{id:b,name:a?.displayName||a?.name||b}:null}).filter(Boolean):a?.models&&"object"==typeof a.models?Object.entries(a.models).filter(([,a])=>!a?.isInternal).map(([a,b])=>({id:a,name:b?.displayName||b?.name||a})):[],errorLabel:"Failed to fetch Gemini CLI models"})},"grok-cli":{customResolver:async a=>{let b=await (0,I.B)(a.providerSpecificData||{}),c=await (0,H.M)({...a,connectionId:a.id},{log:console,proxyOptions:{connectionProxyEnabled:!0===b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl||"",connectionNoProxy:b.connectionNoProxy||"",vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy},onCredentialsRefreshed:async b=>{await (0,A.vN)(a.id,{...b,existingProviderSpecificData:a.providerSpecificData||{}})}});return c.models.length?c:{models:P("grok-cli"),warning:c.warning||"Grok CLI returned no live models; using static catalog."}}},"ollama-local":{customResolver:async a=>{let b=`${(0,C.Ak)(a)}/api/tags`,c=await fetch(b,{method:"GET",headers:{"Content-Type":"application/json"}});return c.ok?{models:N(await c.json())}:(console.log("Error fetching models from ollama-local:",await c.text()),{error:`Failed to fetch models: ${c.status}`,status:c.status})}}};async function S(a,{params:b}){if(!await M(a))return v.NextResponse.json({error:"Unauthorized"},{status:401});try{let{id:a}=await b,c=await (0,w.Mc)(a);if(!c)return v.NextResponse.json({error:"Connection not found"},{status:404});if((0,x.mq)(c.provider)){let a=c.providerSpecificData?.baseUrl;if(!a)return v.NextResponse.json({error:"No base URL configured for OpenAI compatible provider"},{status:400});let b=`${a.replace(/\/$/,"")}/models`,d=await fetch(b,{method:"GET",headers:(0,K.im)({"Content-Type":"application/json"},c.providerSpecificData||{},{Authorization:`Bearer ${c.apiKey}`})});if(!d.ok){let a=await d.text();return console.log(`Error fetching models from ${c.provider}:`,a),v.NextResponse.json({error:`Failed to fetch models: ${d.status}`},{status:d.status})}let e=await d.json(),f=e.data||e.models||[];return v.NextResponse.json({provider:c.provider,connectionId:c.id,models:f})}if((0,x.gb)(c.provider)){let a=c.providerSpecificData?.baseUrl;if(!a)return v.NextResponse.json({error:"No base URL configured for Anthropic compatible provider"},{status:400});(a=a.replace(/\/$/,"")).endsWith("/messages")&&(a=a.slice(0,-9));let b=`${a}/models`,d=await fetch(b,{method:"GET",headers:(0,K.im)({"Content-Type":"application/json","anthropic-version":"2023-06-01"},c.providerSpecificData||{},{"x-api-key":c.apiKey,Authorization:`Bearer ${c.apiKey}`})});if(!d.ok){let a=await d.text();return console.log(`Error fetching models from ${c.provider}:`,a),v.NextResponse.json({error:`Failed to fetch models: ${d.status}`},{status:d.status})}let e=await d.json(),f=e.data||e.models||[];return v.NextResponse.json({provider:c.provider,connectionId:c.id,models:f})}let d=R[c.provider];if(!d)return v.NextResponse.json({error:`Provider ${c.provider} does not support models listing`},{status:400});if("function"==typeof d.customResolver){let a=await d.customResolver(c);if(a.error)return v.NextResponse.json({error:a.error},{status:a.status||500});return v.NextResponse.json({provider:c.provider,connectionId:c.id,models:a.models,...a.warning?{warning:a.warning}:{}})}let e=c.providerSpecificData?.copilotToken||c.accessToken||c.apiKey;if(!e)return v.NextResponse.json({error:"No valid token found"},{status:401});let f=d.url;d.authQuery&&(f+=`?${d.authQuery}=${e}`);let g={...d.headers};d.authHeader&&!d.authQuery&&(g[d.authHeader]=(d.authPrefix||"")+e);let h={method:d.method,headers:g};d.body&&"POST"===d.method&&(h.body=JSON.stringify(d.body));let i=await fetch(f,h);if(!i.ok){let a=await i.text();return console.log(`Error fetching models from ${c.provider}:`,a),v.NextResponse.json({error:`Failed to fetch models: ${i.status}`},{status:i.status})}let j=await i.json(),k=d.parseResponse(j);return v.NextResponse.json({provider:c.provider,connectionId:c.id,models:k})}catch(a){return console.log("Error fetching provider models:",a),v.NextResponse.json({error:"Failed to fetch models"},{status:500})}}let T=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/providers/[id]/models/route",pathname:"/api/providers/[id]/models",filename:"route",bundlePath:"app/api/providers/[id]/models/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/providers/[id]/models/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:U,workUnitAsyncStorage:V,serverHooks:W}=T;function X(){return(0,g.patchFetch)({workAsyncStorage:U,workUnitAsyncStorage:V})}async function Y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),T.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/[id]/models/route";"/index"===d&&(d="/");let e=await T.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||T.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===T.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await T.getIncrementalCache(a,x,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>T.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>T.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!I)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await T.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await T.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await T.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},27335:(a,b,c)=>{c.d(b,{Xg:()=>s,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>u,ez:()=>o,ux:()=>n,OA:()=>p,kt:()=>q,KC:()=>t,SM:()=>i});var d=c(4630),e=c(45502),f=c(39141),g=c(6595);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}let k=new Set(["kr","kiro"]),l=new Map;for(let[a,b]of Object.entries(f.vq)){if(!Array.isArray(b))continue;let c=new Map,d=new Map;for(let e of b)if(e?.id!=null&&(c.set(e.id,e),k.has(a))){let a=(0,g.Kq)(e.id);a!==e.id&&d.set(a,e)}l.set(a,{exact:c,normalized:d})}function m(a,b,c){if(!a)return;let d=l.get(c);if(d){let a=d.exact.get(b);return a||(d.normalized.size?d.normalized.get(b):void 0)}let e=a.find(a=>a.id===b);if(e)return e;if(!k.has(c))return;let f=(0,g.Kq)(b);if(f!==b)return a.find(a=>a.id===f)}function n(a,b){let c=s[a]||a,d=f.vq[c]||f.vq[a];return d?(0,g.gr)(m(d,b,c)):null}function o(a,b){let c=s[a]||a,d=f.vq[c]||f.vq[a];return d?(0,g.ec)(m(d,b,c)):null}function p(a,b){let c=s[a]||a,d=f.vq[c]||f.vq[a];if(!d)return null;let e=m(d,b,c);return e?.kind||e?.type||null}function q(a,b){let c=s[a]||a,d="string"==typeof b?b.match(/\([^()]+\)\s*$/):null,e=d?d[0]:"",g=e?b.slice(0,d.index).trim():b,i=m(f.vq[c]||f.vq[a],g,c),j=i?.upstreamModelId||i?.id;if(j){let a=j.match(/\([^()]+\)\s*$/),b=a?.[0]||"";return(b?j.slice(0,a.index).trim():j)+(e||b)}return"cx"===c&&"string"==typeof g&&g.endsWith(h)?g.slice(0,-h.length)+e:g+e}let r=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),s=Object.fromEntries(Object.keys(d.xq).map(a=>[a,r[a]||a]));function t(a){let b=s[a]||a;return f.vq[b]||[]}function u(a,b){return(0,g.g5)(m(f.vq[a],b,a))}},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},39326:(a,b,c)=>{c.d(b,{B:()=>h,p:()=>g});var d=c(71998);function e(a){return null==a?"":String(a).trim()}let f=new Map;function g(a,b,c){if(!a||0===a.length)return null;if(1===a.length)return a[0];if("round-robin"===b){let b=f.get(c)||{index:-1};return b.index=(b.index+1)%a.length,f.set(c,b),a[b.index]}return"random"===b?a[Math.floor(Math.random()*a.length)]:a[0]}async function h(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},40610:a=>{a.exports=require("node:dns")},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>u,js:()=>A,DI:()=>n,fg:()=>k,Pd:()=>o,Vj:()=>p,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>C,wb:()=>B,br:()=>l,wG:()=>z,zt:()=>v,gb:()=>r,gC:()=>s,AR:()=>t,mq:()=>q,rs:()=>w,p5:()=>y});var d=c(45502);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.baseUrlField?{baseUrlField:a.baseUrlField}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.models?{models:a.models}:{},...a.authModes?{authModes:a.authModes}:{},...a.features?{features:{...a.features}}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-",p="custom-video-";function q(a){return"string"==typeof a&&a.startsWith(m)}function r(a){return"string"==typeof a&&a.startsWith(n)}function s(a){return"string"==typeof a&&a.startsWith(o)}function t(a){return"string"==typeof a&&a.startsWith(p)}let u={...h,...i,...j,...k,...l};function v(a){for(let b of Object.values(u))if(b.alias===a||b.id===a)return b;return null}function w(a){let b=v(a);return b?.id||a}let x={nvidia:40};function y(a,b){let c=(a?.rpmByProvider||{})[b];if(0===c||"0"===c)return 0;let d=Number(c);return Number.isFinite(d)&&d>0?d:x[b]||0}function z(a){let b=u[a];return b?.alias||a}let A=Object.values(u).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(u).reduce((a,b)=>(a[b.id]=b.alias,a),{});let B=d.A.filter(a=>a.features?.usage).map(a=>a.id),C=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id)},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},60290:(a,b,c)=>{c.d(b,{C8:()=>t,DR:()=>s,IK:()=>m,Ps:()=>h,Qn:()=>q,SA:()=>p,UH:()=>k,Uc:()=>n,Ur:()=>g,Z1:()=>j,cI:()=>r,eo:()=>o,gx:()=>d,pH:()=>l,v1:()=>e,xM:()=>i}),c(87252);let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,PAYLOAD_TOO_LARGE:413,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},e={sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,sessionAffinityMaxSize:5e3,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20};function f(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}function g(){return{firstActionTimeoutMs:f("COMBO_RESPONSE_FIRST_ACTION_TIMEOUT_MS",5e3),maxBytes:f("COMBO_RESPONSE_PREFLIGHT_MAX_BYTES",65536)}}let h=process.env.SEARXNG_URL?.trim()||"http://localhost:8888/search",i=f("STREAM_STALL_TIMEOUT_MS",36e4),j=f("STREAM_FIRST_CHUNK_TIMEOUT_MS",3e4),k=(()=>{let a=process.env.SSE_KEEPALIVE_MS;if(null==a||""===a)return 1e4;let b=parseInt(a,10);return Number.isFinite(b)&&b>=0?b:1e4})(),l=f("FETCH_CONNECT_TIMEOUT_MS",6e4);f("RESPONSE_BODY_TIMEOUT_MS",3e5);let m=f("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3),n=64e3,o=32e3,p="x-9router-token-saver",q={maxTokenLength:160,maxAttempts:32,headers:{requestedModel:"X-9Router-Requested-Model",routePath:"X-9Router-Route-Path",resolvedProvider:"X-9Router-Resolved-Provider",resolvedModel:"X-9Router-Resolved-Model",fallbackCount:"X-9Router-Fallback-Count",attemptedModels:"X-9Router-Attempted-Models"}},r={429:{attempts:0,delayMs:0},502:{attempts:3,delayMs:3e3},503:{attempts:3,delayMs:2e3},504:{attempts:2,delayMs:3e3}};function s(a){return null==a?{attempts:0,delayMs:2e3}:"number"==typeof a?{attempts:a,delayMs:2e3}:{attempts:a.attempts||0,delayMs:null!=a.delayMs?a.delayMs:2e3}}let t=["Please write a 5-10 word title for the following conversation:"]},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},74986:(a,b,c)=>{c.d(b,{im:()=>i,z5:()=>j});let d={default:{label:"Default",headers:{}},"claude-cli":{label:"Claude CLI",headers:c(92675).$B},"codex-cli":{label:"Codex CLI",headers:{originator:"codex_cli_rs","User-Agent":"codex_cli_rs/0.136.0"}},openclaw:{label:"OpenClaw",headers:{"User-Agent":"openclaw/2026.2.3"}},custom:{label:"Custom",headers:{}}},e=new Set(["authorization","x-api-key","api-key","cookie"]);function f(a){return d[a]?a:"default"}function g(a){let b={};for(let[c,d]of a){let a=String(c||"").trim();if(!a||e.has(String(a||"").trim().toLowerCase())||null==d)continue;let f=String(d).trim();f&&(b[a]=f)}return b}function h(a){if(!a)return{};if("object"==typeof a&&!Array.isArray(a))return g(Object.entries(a));let b=String(a).trim();if(!b)return{};if(b.startsWith("{")){let a=JSON.parse(b);return!a||"object"!=typeof a||Array.isArray(a)?{}:g(Object.entries(a))}return g(function(a){let b=[];for(let c of String(a||"").split(/\r?\n/)){let a=c.trim();if(!a||a.startsWith("#"))continue;let d=a.indexOf(":");d<=0||b.push([a.slice(0,d),a.slice(d+1)])}return b}(b))}function i(a={},b={},c={}){return{...a||{},...function(a={}){let b=f(a.clientIdentityProfile);return"custom"===b?h(a.clientIdentityHeaders):{...d[b]?.headers||{}}}(b),...c||{}}}function j(a={}){let b=f(a.clientIdentityProfile);return{clientIdentityProfile:b,clientIdentityHeaders:"custom"===b?h(a.clientIdentityHeaders):{}}}},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},79868:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87252:(a,b,c)=>{c.d(b,{Dp:()=>g,EQ:()=>f,LY:()=>d,O:()=>e,fh:()=>h,t2:()=>i});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},413:{type:"invalid_request_error",code:"context_length_exceeded"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Model not found",406:"Model not supported",413:"Your input exceeds the context window of this model",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},f={base:2e3,max:18e5,maxLevel:15},g=42e4,h=26784e5,i=[{text:"monthly_request_count",cooldownMs:216e5},{text:"monthly limit",cooldownMs:216e5},{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{status:401,cooldownMs:12e4},{status:402,cooldownMs:12e4},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:413,fallback:!1},{status:429,backoff:!0}]},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mV:()=>d.mV,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,y7:()=>d.y7,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(5129)},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,595,4013,4433,7965,5502,1522,8851,8946,8129,7828,9276,8658,48],()=>b(b.s=10014));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=5211,a.ids=[615,1998,5211,7335],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},4630:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(39141);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}},7066:a=>{a.exports=require("node:tty")},7803:(a,b,c)=>{c.r(b),c.d(b,{debug:()=>o,debugEnabled:()=>w,error:()=>r,errorLine:()=>l,fmtThink:()=>m,info:()=>p,line:()=>k,maskKey:()=>v,nextTag:()=>i,request:()=>s,response:()=>t,stream:()=>u,tagForSession:()=>j,warn:()=>q});let d={DEBUG:0,INFO:1,WARN:2,ERROR:3},e=d[process.env.LOG_LEVEL?.toUpperCase?.()]??d.INFO;function f(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}let g=["\uD83D\uDFE2","\uD83D\uDD35","\uD83D\uDFE3","\uD83D\uDFE1","\uD83D\uDFE0","\uD83D\uDD34","⚪","\uD83D\uDFE4"],h=0;function i(){let a=g[h%g.length];return h++,a}function j(a){if(!a)return i();let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)|0;return g[Math.abs(b)%g.length]}function k(a,b,c){e>d.INFO||console.log(`[${f()}] ${a} ${b} ${c}`)}function l(a,b,c){console.log(`[${f()}] ${a} ${b} ${c}`)}function m(a){return a&&a.mode?"none"===a.mode?"off":"auto"===a.mode?"auto":"budget"===a.mode?a.budget>=1e3?`${Math.round(a.budget/1e3)}k`:`${a.budget}`:"level"===a.mode?a.level:null:null}function n(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function o(a,b,c){if(e<=d.DEBUG){let d=c?` ${n(c)}`:"";console.log(`[${f()}] 🔍 [${a}] ${b}${d}`)}}function p(a,b,c){if(e<=d.INFO){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ℹ️ [${a}] ${b}${d}`)}}function q(a,b,c){if(e<=d.WARN){let d=c?` ${n(c)}`:"";console.warn(`[${f()}] ⚠️ [${a}] ${b}${d}`)}}function r(a,b,c){if(e<=d.ERROR){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ❌ [${a}] ${b}${d}`)}}function s(a,b,c){let d=c?` ${n(c)}`:"";console.log(`\x1b[36m[${f()}] 📥 ${a} ${b}${d}\x1b[0m`)}function t(a,b,c){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${d}`)}function u(a,b){let c=b?` ${n(b)}`:"";console.log(`[${f()}] 🌊 [STREAM] ${a}${c}`)}function v(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}let w=e<=d.DEBUG},8086:a=>{a.exports=require("module")},9155:(a,b,c)=>{c.d(b,{EV:()=>d.EV,_M:()=>e});var d=c(18851);async function e(a,b=null,c=null){let d=a?.apiKey||a?.accessToken;return{...a,accessToken:d,apiKey:d}}},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},27335:(a,b,c)=>{c.d(b,{Xg:()=>s,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>u,ez:()=>o,ux:()=>n,OA:()=>p,kt:()=>q,KC:()=>t,SM:()=>i});var d=c(4630),e=c(45502),f=c(39141),g=c(6595);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}let k=new Set(["kr","kiro"]),l=new Map;for(let[a,b]of Object.entries(f.vq)){if(!Array.isArray(b))continue;let c=new Map,d=new Map;for(let e of b)if(e?.id!=null&&(c.set(e.id,e),k.has(a))){let a=(0,g.Kq)(e.id);a!==e.id&&d.set(a,e)}l.set(a,{exact:c,normalized:d})}function m(a,b,c){if(!a)return;let d=l.get(c);if(d){let a=d.exact.get(b);return a||(d.normalized.size?d.normalized.get(b):void 0)}let e=a.find(a=>a.id===b);if(e)return e;if(!k.has(c))return;let f=(0,g.Kq)(b);if(f!==b)return a.find(a=>a.id===f)}function n(a,b){let c=s[a]||a,d=f.vq[c]||f.vq[a];return d?(0,g.gr)(m(d,b,c)):null}function o(a,b){let c=s[a]||a,d=f.vq[c]||f.vq[a];return d?(0,g.ec)(m(d,b,c)):null}function p(a,b){let c=s[a]||a,d=f.vq[c]||f.vq[a];if(!d)return null;let e=m(d,b,c);return e?.kind||e?.type||null}function q(a,b){let c=s[a]||a,d="string"==typeof b?b.match(/\([^()]+\)\s*$/):null,e=d?d[0]:"",g=e?b.slice(0,d.index).trim():b,i=m(f.vq[c]||f.vq[a],g,c),j=i?.upstreamModelId||i?.id;if(j){let a=j.match(/\([^()]+\)\s*$/),b=a?.[0]||"";return(b?j.slice(0,a.index).trim():j)+(e||b)}return"cx"===c&&"string"==typeof g&&g.endsWith(h)?g.slice(0,-h.length)+e:g+e}let r=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),s=Object.fromEntries(Object.keys(d.xq).map(a=>[a,r[a]||a]));function t(a){let b=s[a]||a;return f.vq[b]||[]}function u(a,b){return(0,g.g5)(m(f.vq[a],b,a))}},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},39326:(a,b,c)=>{c.d(b,{B:()=>h,p:()=>g});var d=c(71998);function e(a){return null==a?"":String(a).trim()}let f=new Map;function g(a,b,c){if(!a||0===a.length)return null;if(1===a.length)return a[0];if("round-robin"===b){let b=f.get(c)||{index:-1};return b.index=(b.index+1)%a.length,f.set(c,b),a[b.index]}return"random"===b?a[Math.floor(Math.random()*a.length)]:a[0]}async function h(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},40610:a=>{a.exports=require("node:dns")},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>u,js:()=>A,DI:()=>n,fg:()=>k,Pd:()=>o,Vj:()=>p,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>C,wb:()=>B,br:()=>l,wG:()=>z,zt:()=>v,gb:()=>r,gC:()=>s,AR:()=>t,mq:()=>q,rs:()=>w,p5:()=>y});var d=c(45502);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.baseUrlField?{baseUrlField:a.baseUrlField}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.models?{models:a.models}:{},...a.authModes?{authModes:a.authModes}:{},...a.features?{features:{...a.features}}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-",p="custom-video-";function q(a){return"string"==typeof a&&a.startsWith(m)}function r(a){return"string"==typeof a&&a.startsWith(n)}function s(a){return"string"==typeof a&&a.startsWith(o)}function t(a){return"string"==typeof a&&a.startsWith(p)}let u={...h,...i,...j,...k,...l};function v(a){for(let b of Object.values(u))if(b.alias===a||b.id===a)return b;return null}function w(a){let b=v(a);return b?.id||a}let x={nvidia:40};function y(a,b){let c=(a?.rpmByProvider||{})[b];if(0===c||"0"===c)return 0;let d=Number(c);return Number.isFinite(d)&&d>0?d:x[b]||0}function z(a){let b=u[a];return b?.alias||a}let A=Object.values(u).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(u).reduce((a,b)=>(a[b.id]=b.alias,a),{});let B=d.A.filter(a=>a.features?.usage).map(a=>a.id),C=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id)},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},60290:(a,b,c)=>{c.d(b,{C8:()=>t,DR:()=>s,IK:()=>m,Ps:()=>h,Qn:()=>q,SA:()=>p,UH:()=>k,Uc:()=>n,Ur:()=>g,Z1:()=>j,cI:()=>r,eo:()=>o,gx:()=>d,pH:()=>l,v1:()=>e,xM:()=>i}),c(87252);let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,PAYLOAD_TOO_LARGE:413,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},e={sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,sessionAffinityMaxSize:5e3,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20};function f(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}function g(){return{firstActionTimeoutMs:f("COMBO_RESPONSE_FIRST_ACTION_TIMEOUT_MS",5e3),maxBytes:f("COMBO_RESPONSE_PREFLIGHT_MAX_BYTES",65536)}}let h=process.env.SEARXNG_URL?.trim()||"http://localhost:8888/search",i=f("STREAM_STALL_TIMEOUT_MS",36e4),j=f("STREAM_FIRST_CHUNK_TIMEOUT_MS",3e4),k=(()=>{let a=process.env.SSE_KEEPALIVE_MS;if(null==a||""===a)return 1e4;let b=parseInt(a,10);return Number.isFinite(b)&&b>=0?b:1e4})(),l=f("FETCH_CONNECT_TIMEOUT_MS",6e4);f("RESPONSE_BODY_TIMEOUT_MS",3e5);let m=f("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3),n=64e3,o=32e3,p="x-9router-token-saver",q={maxTokenLength:160,maxAttempts:32,headers:{requestedModel:"X-9Router-Requested-Model",routePath:"X-9Router-Route-Path",resolvedProvider:"X-9Router-Resolved-Provider",resolvedModel:"X-9Router-Resolved-Model",fallbackCount:"X-9Router-Fallback-Count",attemptedModels:"X-9Router-Attempted-Models"}},r={429:{attempts:0,delayMs:0},502:{attempts:3,delayMs:3e3},503:{attempts:3,delayMs:2e3},504:{attempts:2,delayMs:3e3}};function s(a){return null==a?{attempts:0,delayMs:2e3}:"number"==typeof a?{attempts:a,delayMs:2e3}:{attempts:a.attempts||0,delayMs:null!=a.delayMs?a.delayMs:2e3}}let t=["Please write a 5-10 word title for the following conversation:"]},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},74986:(a,b,c)=>{c.d(b,{im:()=>i,z5:()=>j});let d={default:{label:"Default",headers:{}},"claude-cli":{label:"Claude CLI",headers:c(92675).$B},"codex-cli":{label:"Codex CLI",headers:{originator:"codex_cli_rs","User-Agent":"codex_cli_rs/0.136.0"}},openclaw:{label:"OpenClaw",headers:{"User-Agent":"openclaw/2026.2.3"}},custom:{label:"Custom",headers:{}}},e=new Set(["authorization","x-api-key","api-key","cookie"]);function f(a){return d[a]?a:"default"}function g(a){let b={};for(let[c,d]of a){let a=String(c||"").trim();if(!a||e.has(String(a||"").trim().toLowerCase())||null==d)continue;let f=String(d).trim();f&&(b[a]=f)}return b}function h(a){if(!a)return{};if("object"==typeof a&&!Array.isArray(a))return g(Object.entries(a));let b=String(a).trim();if(!b)return{};if(b.startsWith("{")){let a=JSON.parse(b);return!a||"object"!=typeof a||Array.isArray(a)?{}:g(Object.entries(a))}return g(function(a){let b=[];for(let c of String(a||"").split(/\r?\n/)){let a=c.trim();if(!a||a.startsWith("#"))continue;let d=a.indexOf(":");d<=0||b.push([a.slice(0,d),a.slice(d+1)])}return b}(b))}function i(a={},b={},c={}){return{...a||{},...function(a={}){let b=f(a.clientIdentityProfile);return"custom"===b?h(a.clientIdentityHeaders):{...d[b]?.headers||{}}}(b),...c||{}}}function j(a={}){let b=f(a.clientIdentityProfile);return{clientIdentityProfile:b,clientIdentityHeaders:"custom"===b?h(a.clientIdentityHeaders):{}}}},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},79868:a=>{a.exports=require("node:sqlite")},79997:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>Y,patchFetch:()=>X,routeModule:()=>T,serverHooks:()=>W,workAsyncStorage:()=>U,workUnitAsyncStorage:()=>V});var d={};c.r(d),c.d(d,{GET:()=>S});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(71998),x=c(40615),y=c(68658),z=c(92990),A=c(67828),B=c(85640),C=c(4630),D=c(27335),E=c(58569),F=c(86925),G=c(9155),H=c(63123),I=c(39326),J=c(26588),K=c(74986),L=c(38071);async function M(a){return!!(await (0,y.gN)(a)||await (0,y.wR)(a))}let N=a=>Array.isArray(a)?a:a?.data||a?.models||a?.results||[],O=a=>({url:a,method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:N}),P=a=>(0,D.KC)(a).map(a=>({...a,id:a.id,name:a.name||a.id})),Q=({refreshFn:a,fetchFn:b,parseFn:c,errorLabel:d})=>async e=>{let f,{accessToken:g,refreshToken:h}=e;if(!g)return{error:"No valid token found",status:401};try{let i=await b(g,e);if(!i.ok&&(401===i.status||403===i.status)&&h){let c=await a(e);c?.accessToken&&(await (0,A.vN)(e.id,{accessToken:c.accessToken,refreshToken:c.refreshToken||h,expiresIn:c.expiresIn}),e.accessToken=c.accessToken,c.refreshToken&&(e.refreshToken=c.refreshToken),i=await b(c.accessToken,e))}if(i.ok){let a=await i.json(),b=c(a);if(b.length>0)return{models:b}}else{let a=await i.text();f=`${d}: ${i.status} ${a}`,console.log(`${d} (falling back to static):`,a)}}catch(a){f=`${d}: ${a.message}`,console.log(`${d} (falling back to static):`,a.message)}return{models:[],warning:f}},R={claude:{url:"https://api.anthropic.com/v1/models",method:"GET",headers:{"Anthropic-Version":"2023-06-01","Content-Type":"application/json"},authHeader:"x-api-key",parseResponse:a=>a.data||[]},gemini:{url:"https://generativelanguage.googleapis.com/v1beta/models",method:"GET",headers:{"Content-Type":"application/json"},authQuery:"key",parseResponse:a=>a.models||[]},codex:{customResolver:Q({refreshFn:a=>(0,A.Wm)(a.refreshToken),fetchFn:a=>fetch("https://chatgpt.com/backend-api/codex/models?client_version=0.144.6",{method:"GET",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${a}`,originator:"codex_cli_rs"}}),parseFn:a=>N(a).flatMap(a=>{let b=a?.id||a?.slug||a?.model||a?.name;if(!b)return[];let c=a?.display_name||a?.displayName||a?.name||b,d={...a,id:b,name:c};return!("image"!==(a?.type||"llm")&&!b.toLowerCase().includes("embed"))||b.endsWith("-review")?[d]:[d,{...d,id:`${b}-review`,name:`${c} Review`,upstreamModelId:b,quotaFamily:"review"}]}),errorLabel:"Failed to fetch Codex models"})},antigravity:{url:"https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:models",method:"POST",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",body:{},parseResponse:a=>a.models||[]},github:{url:"https://api.githubcopilot.com/models",method:"GET",headers:{"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":"vscode/1.107.1","editor-plugin-version":"copilot-chat/0.26.7","user-agent":"GitHubCopilotChat/0.26.7"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a?.data?a.data.filter(a=>a.capabilities?.type==="chat").filter(a=>a.policy?.state!=="disabled").map(a=>({id:a.id,name:a.name||a.id,version:a.version,capabilities:a.capabilities,isDefault:!0===a.model_picker_enabled})):[]},openai:O("https://api.openai.com/v1/models"),openrouter:O("https://openrouter.ai/api/v1/models"),anthropic:{url:"https://api.anthropic.com/v1/models",method:"GET",headers:{"Anthropic-Version":"2023-06-01","Content-Type":"application/json"},authHeader:"x-api-key",parseResponse:a=>a.data||[]},alicode:{url:"https://coding.dashscope.aliyuncs.com/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"alicode-intl":{url:"https://coding-intl.dashscope.aliyuncs.com/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"alims-intl":{url:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"volcengine-ark":O("https://ark.cn-beijing.volces.com/api/coding/v3/models"),byteplus:O("https://ark.ap-southeast.bytepluses.com/api/coding/v3/models"),deepseek:O("https://api.deepseek.com/models"),groq:O("https://api.groq.com/openai/v1/models"),xai:O("https://api.x.ai/v1/models"),mistral:O("https://api.mistral.ai/v1/models"),perplexity:O("https://api.perplexity.ai/v1/models"),"perplexity-agent":O("https://api.perplexity.ai/v1/models"),together:O("https://api.together.xyz/v1/models"),nous:{...O(L.B3),parseResponse:a=>(0,L.bd)(a).map(a=>({...a,id:`nous/${a.id}`,upstreamModelId:a.id}))},fireworks:O("https://api.fireworks.ai/inference/v1/models"),cerebras:O("https://api.cerebras.ai/v1/models"),cohere:O("https://api.cohere.ai/v1/models"),nebius:O("https://api.studio.nebius.ai/v1/models"),novita:O("https://api.novita.ai/openai/v1/models"),siliconflow:O("https://api.siliconflow.com/v1/models"),hyperbolic:O("https://api.hyperbolic.xyz/v1/models"),ollama:O("https://ollama.com/api/tags"),nanobanana:O("https://api.nanobananaapi.ai/v1/models"),chutes:O("https://llm.chutes.ai/v1/models"),nvidia:O("https://integrate.api.nvidia.com/v1/models"),assemblyai:O("https://api.assemblyai.com/v1/models"),"vercel-ai-gateway":O("https://ai-gateway.vercel.sh/v1/models"),"frontier-for-all":{customResolver:Q({refreshFn:a=>(0,A.go)(a.refreshToken),fetchFn:a=>fetch(z.V1.modelsUrl,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${a}`}}),parseFn:N,errorLabel:"Failed to fetch Frontier models"})},vertex:{customResolver:async a=>{let b,c=(0,B.Sc)(a.apiKey),d=c?.project_id||a.providerSpecificData?.projectId||a.projectId,e=a.providerSpecificData?.location||a.providerSpecificData?.region||"us-central1",f=await (0,I.B)(a.providerSpecificData||{}),g={"Content-Type":"application/json"};if(c){let a=await (0,B.pb)(c);if(!a?.accessToken)return{error:"Failed to mint token from Service Account JSON",status:401};g.Authorization=`Bearer ${a.accessToken}`,b=d?`https://aiplatform.googleapis.com/v1/projects/${d}/locations/${e}/publishers/google/models`:"https://aiplatform.googleapis.com/v1/publishers/google/models"}else if(a.accessToken)g.Authorization=`Bearer ${a.accessToken}`,b=d?`https://aiplatform.googleapis.com/v1/projects/${d}/locations/${e}/publishers/google/models`:"https://aiplatform.googleapis.com/v1/publishers/google/models";else{if(!a.apiKey)return{error:"No API key or Service Account provided",status:401};b=e&&"global"!==e?`https://${e}-aiplatform.googleapis.com/v1/publishers/google/models?key=${a.apiKey}`:`https://aiplatform.googleapis.com/v1/publishers/google/models?key=${a.apiKey}`}try{let a=await fetchWithConnectionProxy(b,{headers:g},f);if(!a.ok){let b=await a.text().catch(()=>"");return console.log("Error fetching Vertex AI models:",b),{models:P("vertex"),warning:`Failed to fetch Vertex models (${a.status}); using static catalog.`}}let c=await a.json().catch(()=>({})),d=(a=>{let b=a?.publisherModels||a?.models||a?.data||[];if(!Array.isArray(b))return[];let c=[];for(let a of b){let b=a?.name||a?.id||a?.model||"";if(!b)continue;let d=b.replace(/^publishers\/google\/models\//,"").replace(/^models\//,"");if(!d||d.includes("__probe__"))continue;let e=a?.displayName||a?.versionId||d;c.push({id:d,name:e})}return c})(c);if(d.length>0)return{models:d}}catch(a){console.log("Failed to fetch Vertex AI models:",a.message)}return{models:P("vertex"),warning:"Vertex AI returned no models; using static catalog."}}},"vertex-partner":{customResolver:async a=>({models:P("vertex-partner")})},kimchi:{customResolver:async a=>{let b=await (0,F.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{forceRefresh:!0,log:console});return b?.models?.length?{models:b.models}:{models:P("kimchi"),warning:"Kimchi returned no live models; falling back to static catalog."}}},cursor:{customResolver:async a=>{let b=await (0,J.FD)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{forceRefresh:!0,log:console});return b?.models?.length?{models:b.models}:{models:P("cursor"),warning:"Cursor returned no live models; falling back to static catalog."}}},kiro:{customResolver:async a=>{let b,c={accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}};try{let d=await (0,E.cW)(c,{log:console,onCredentialsRefreshed:async b=>{b?.accessToken&&(await (0,A.vN)(a.id,{accessToken:b.accessToken,refreshToken:b.refreshToken||a.refreshToken,expiresIn:b.expiresIn}),a.accessToken=b.accessToken,b.refreshToken&&(a.refreshToken=b.refreshToken))}});if(d?.models?.length)return{models:d.models.map(a=>({id:a.id,name:a.name,upstreamModelId:a.upstreamModelId,contextLength:a.contextLength,maxOutputTokens:a.maxOutputTokens,rateMultiplier:a.rateMultiplier,capabilities:a.capabilities,description:a.description}))};b="Kiro returned no models; falling back to static catalog."}catch(a){b=`Failed to fetch Kiro models: ${a.message}`,console.log("Failed to fetch Kiro models dynamically, falling back to static:",a.message)}return{models:[],warning:b}}},qoder:{customResolver:async a=>{let b,c={accessToken:a.accessToken,apiKey:a.apiKey,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}};try{let a=await (0,G.EV)(c,{forceRefresh:!0});if(a?.models?.length)return{models:a.models.map(a=>({id:`qoder/${a.id}`,name:a.name,contextLength:a.contextLength,isVL:a.isVL,isReasoning:a.isReasoning,maxOutputTokens:a.maxOutputTokens,description:a.description}))};b="Qoder returned no models; falling back to static catalog."}catch(a){b=`Failed to fetch Qoder models: ${a.message}`,console.log("Failed to fetch Qoder models dynamically, falling back to static:",a.message)}return{models:[],warning:b}}},"gemini-cli":{customResolver:Q({refreshFn:a=>(0,A.I9)(a.refreshToken,z.LT.clientId,z.LT.clientSecret),fetchFn:(a,b)=>{let c=b.projectId||b.providerSpecificData?.projectId;return fetch("https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`,"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1"},body:JSON.stringify(c?{project:c}:{})})},parseFn:a=>Array.isArray(a?.models)?a.models.map(a=>{let b=a?.id||a?.model||a?.name;return b?{id:b,name:a?.displayName||a?.name||b}:null}).filter(Boolean):a?.models&&"object"==typeof a.models?Object.entries(a.models).filter(([,a])=>!a?.isInternal).map(([a,b])=>({id:a,name:b?.displayName||b?.name||a})):[],errorLabel:"Failed to fetch Gemini CLI models"})},"grok-cli":{customResolver:async a=>{let b=await (0,I.B)(a.providerSpecificData||{}),c=await (0,H.M)({...a,connectionId:a.id},{log:console,proxyOptions:{connectionProxyEnabled:!0===b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl||"",connectionNoProxy:b.connectionNoProxy||"",vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy},onCredentialsRefreshed:async b=>{await (0,A.vN)(a.id,{...b,existingProviderSpecificData:a.providerSpecificData||{}})}});return c.models.length?c:{models:P("grok-cli"),warning:c.warning||"Grok CLI returned no live models; using static catalog."}}},"ollama-local":{customResolver:async a=>{let b=`${(0,C.Ak)(a)}/api/tags`,c=await fetch(b,{method:"GET",headers:{"Content-Type":"application/json"}});return c.ok?{models:N(await c.json())}:(console.log("Error fetching models from ollama-local:",await c.text()),{error:`Failed to fetch models: ${c.status}`,status:c.status})}}};async function S(a,{params:b}){if(!await M(a))return v.NextResponse.json({error:"Unauthorized"},{status:401});try{let{id:a}=await b,c=await (0,w.Mc)(a);if(!c)return v.NextResponse.json({error:"Connection not found"},{status:404});if((0,x.mq)(c.provider)){let a=c.providerSpecificData?.baseUrl;if(!a)return v.NextResponse.json({error:"No base URL configured for OpenAI compatible provider"},{status:400});let b=`${a.replace(/\/$/,"")}/models`,d=await fetch(b,{method:"GET",headers:(0,K.im)({"Content-Type":"application/json"},c.providerSpecificData||{},{Authorization:`Bearer ${c.apiKey}`})});if(!d.ok){let a=await d.text();return console.log(`Error fetching models from ${c.provider}:`,a),v.NextResponse.json({error:`Failed to fetch models: ${d.status}`},{status:d.status})}let e=await d.json(),f=e.data||e.models||[];return v.NextResponse.json({provider:c.provider,connectionId:c.id,models:f})}if((0,x.gb)(c.provider)){let a=c.providerSpecificData?.baseUrl;if(!a)return v.NextResponse.json({error:"No base URL configured for Anthropic compatible provider"},{status:400});(a=a.replace(/\/$/,"")).endsWith("/messages")&&(a=a.slice(0,-9));let b=`${a}/models`,d=await fetch(b,{method:"GET",headers:(0,K.im)({"Content-Type":"application/json","anthropic-version":"2023-06-01"},c.providerSpecificData||{},{"x-api-key":c.apiKey,Authorization:`Bearer ${c.apiKey}`})});if(!d.ok){let a=await d.text();return console.log(`Error fetching models from ${c.provider}:`,a),v.NextResponse.json({error:`Failed to fetch models: ${d.status}`},{status:d.status})}let e=await d.json(),f=e.data||e.models||[];return v.NextResponse.json({provider:c.provider,connectionId:c.id,models:f})}let d=R[c.provider];if(!d)return v.NextResponse.json({error:`Provider ${c.provider} does not support models listing`},{status:400});if("function"==typeof d.customResolver){let a=await d.customResolver(c);if(a.error)return v.NextResponse.json({error:a.error},{status:a.status||500});return v.NextResponse.json({provider:c.provider,connectionId:c.id,models:a.models,...a.warning?{warning:a.warning}:{}})}let e=c.providerSpecificData?.copilotToken||c.accessToken||c.apiKey;if(!e)return v.NextResponse.json({error:"No valid token found"},{status:401});let f=d.url;d.authQuery&&(f+=`?${d.authQuery}=${e}`);let g={...d.headers};d.authHeader&&!d.authQuery&&(g[d.authHeader]=(d.authPrefix||"")+e);let h={method:d.method,headers:g};d.body&&"POST"===d.method&&(h.body=JSON.stringify(d.body));let i=await fetch(f,h);if(!i.ok){let a=await i.text();return console.log(`Error fetching models from ${c.provider}:`,a),v.NextResponse.json({error:`Failed to fetch models: ${i.status}`},{status:i.status})}let j=await i.json(),k=d.parseResponse(j);return v.NextResponse.json({provider:c.provider,connectionId:c.id,models:k})}catch(a){return console.log("Error fetching provider models:",a),v.NextResponse.json({error:"Failed to fetch models"},{status:500})}}let T=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/providers/[id]/models/route",pathname:"/api/providers/[id]/models",filename:"route",bundlePath:"app/api/providers/[id]/models/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/providers/[id]/models/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:U,workUnitAsyncStorage:V,serverHooks:W}=T;function X(){return(0,g.patchFetch)({workAsyncStorage:U,workUnitAsyncStorage:V})}async function Y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),T.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/[id]/models/route";"/index"===d&&(d="/");let e=await T.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||T.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===T.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await T.getIncrementalCache(a,x,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>T.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>T.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!I)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await T.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await T.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await T.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87252:(a,b,c)=>{c.d(b,{Dp:()=>g,EQ:()=>f,LY:()=>d,O:()=>e,fh:()=>h,t2:()=>i});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},413:{type:"invalid_request_error",code:"context_length_exceeded"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Model not found",406:"Model not supported",413:"Your input exceeds the context window of this model",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},f={base:2e3,max:18e5,maxLevel:15},g=42e4,h=26784e5,i=[{text:"monthly_request_count",cooldownMs:216e5},{text:"monthly limit",cooldownMs:216e5},{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{status:401,cooldownMs:12e4},{status:402,cooldownMs:12e4},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:413,fallback:!1},{status:429,backoff:!0}]},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mV:()=>d.mV,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,y7:()=>d.y7,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(5129)},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,595,4013,4433,7965,5502,1522,8851,8946,8129,7828,9276,8658,48],()=>b(b.s=79997));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=5262,a.ids=[1998,5262],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79868:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},84075:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>H,patchFetch:()=>G,routeModule:()=>C,serverHooks:()=>F,workAsyncStorage:()=>D,workUnitAsyncStorage:()=>E});var d={};c.r(d),c.d(d,{POST:()=>B,dynamic:()=>A});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(71998);function x(a){let b=String(a??"").trim();if(!b)return"";if(b.length<=4)return"*".repeat(b.length);if(5===b.length)return`${b[0]}***${b[4]}`;if(6===b.length)return`${b.slice(0,1)}****${b.slice(5)}`;let c=Math.floor((b.length-4)/2);return`${b.slice(0,c)}****${b.slice(c+4)}`}function y(a){let b=String(a??"").trim();if(!b)return!1;let c=b.replace(/\D/g,"");return c.length>=6&&c.length<=15}function z(a,b){let c={...b||{}};return delete c.phone,{...a||{},...c}}let A="force-dynamic";async function B(a,{params:b}){try{let{id:a}=await b,d=await (0,w.Mc)(a);if(!d)return v.NextResponse.json({error:"Connection not found"},{status:404});if("oauth"!==d.authType)return v.NextResponse.json({error:"Only OAuth connections support profile refresh"},{status:400});let e=d.accessToken;if(!e||"string"!=typeof e)return v.NextResponse.json({error:"Missing access token"},{status:401});if("codebuddy-cn"===d.provider){let b=function(a){let b=function(a){try{let b;if(!a||"string"!=typeof a)return null;let c=a.split(".");if(3!==c.length)return null;let d=c[1].replace(/-/g,"+").replace(/_/g,"/"),e=(4-d.length%4)%4,f=d+"=".repeat(e);if("u">typeof Buffer)b=Buffer.from(f,"base64").toString("utf8");else{if("function"!=typeof atob)return null;b=decodeURIComponent(Array.from(atob(f),a=>`%${a.charCodeAt(0).toString(16).padStart(2,"0")}`).join(""))}return JSON.parse(b)}catch{return null}}(a);if(!b||"object"!=typeof b)return{nickname:null,phone:null,phoneMasked:null,sub:null};let c="string"==typeof b.nickname&&b.nickname.trim()||"string"==typeof b.name&&b.name.trim()||null,d="string"==typeof b.preferred_username?b.preferred_username.trim():"",e=d.replace(/\D/g,""),f=y(d)?e:null,g=f?x(f):null;return{nickname:c,phone:f,phoneMasked:g,sub:"string"==typeof b.sub?b.sub:null}}(e);if(!b.nickname&&!b.phoneMasked)return v.NextResponse.json({error:"No profile fields found in token"},{status:422});let c={providerSpecificData:z(d.providerSpecificData,{...b.phoneMasked?{phoneMasked:b.phoneMasked}:{}})};b.nickname&&(c.name=b.nickname),b.sub&&(c.providerSpecificData.uid=b.sub);let f=await (0,w.rj)(a,c);if(!f)return v.NextResponse.json({error:"Failed to update connection"},{status:500});let g={...f};if(delete g.apiKey,delete g.accessToken,delete g.refreshToken,delete g.idToken,g.providerSpecificData?.phone){let{phone:a,...b}=g.providerSpecificData;g.providerSpecificData=b}return v.NextResponse.json({success:!0,connection:g})}if("qoderwork-cn"===d.provider){let{QoderService:b}=await Promise.all([c.e(8851),c.e(1531)]).then(c.bind(c,91531)),f=new b({profile:"cn-work"}),g=await f.fetchUserInfo(e),h=null;try{let a=await fetch("https://openapi.qoder.com.cn/api/v1/userinfo",{headers:{Authorization:`Bearer ${e}`,Accept:"application/json","User-Agent":"QoderWork"}});a.ok&&(h=await a.json())}catch{h=null}h||(h={name:g?.name,email:g?.email,id:d.providerSpecificData?.userId});let i=function(a){if(!a||"object"!=typeof a)return{displayName:null,phone:null,phoneMasked:null,loginSource:null,userId:null};let b="string"==typeof a.name&&a.name.trim()||"string"==typeof a.username&&a.username.trim()||null,c=[a.phone,a.mobile,a.telephone].filter(a=>"string"==typeof a&&a.trim()).map(a=>a.trim()),d=[a.name,a.username].filter(a=>"string"==typeof a&&a.trim()).map(a=>a.trim()).filter(a=>/^\+?[\d\s-]{6,20}$/.test(a)),e=null;for(let a of[...c,...d])if(y(a)){e=a.replace(/\D/g,"");break}let f=e?x(e):null,g="string"==typeof a.source&&a.source.trim()||Array.isArray(a.third_party_identities)&&a.third_party_identities[0]?.provider||null;return{displayName:b,phone:e,phoneMasked:f,loginSource:g,userId:"string"==typeof a.id?a.id:null}}(h),j={providerSpecificData:z(d.providerSpecificData,{...i.phoneMasked?{phoneMasked:i.phoneMasked}:{}})};i.displayName&&(j.name=i.displayName,j.displayName=i.displayName),i.loginSource&&(j.providerSpecificData.loginSource=i.loginSource),i.userId&&(j.providerSpecificData.userId=i.userId);let k=await (0,w.rj)(a,j);if(!k)return v.NextResponse.json({error:"Failed to update connection"},{status:500});let l={...k};if(delete l.apiKey,delete l.accessToken,delete l.refreshToken,delete l.idToken,l.providerSpecificData?.phone){let{phone:a,...b}=l.providerSpecificData;l.providerSpecificData=b}return v.NextResponse.json({success:!0,connection:l})}return v.NextResponse.json({error:`Profile refresh not supported for provider ${d.provider}`},{status:400})}catch{return console.error("Profile refresh failed"),v.NextResponse.json({error:"Failed to refresh profile"},{status:500})}}let C=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/providers/[id]/refresh-profile/route",pathname:"/api/providers/[id]/refresh-profile",filename:"route",bundlePath:"app/api/providers/[id]/refresh-profile/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/providers/[id]/refresh-profile/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:D,workUnitAsyncStorage:E,serverHooks:F}=C;function G(){return(0,g.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:E})}async function H(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),C.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/[id]/refresh-profile/route";"/index"===d&&(d="/");let e=await C.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||C.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===C.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await C.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>C.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>C.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await C.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,B),b}},k=await C.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await C.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mV:()=>d.mV,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,y7:()=>d.y7,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(5129)},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,7965],()=>b(b.s=84075));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=5262,a.ids=[1998,5262],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},2184:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>H,patchFetch:()=>G,routeModule:()=>C,serverHooks:()=>F,workAsyncStorage:()=>D,workUnitAsyncStorage:()=>E});var d={};c.r(d),c.d(d,{POST:()=>B,dynamic:()=>A});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(71998);function x(a){let b=String(a??"").trim();if(!b)return"";if(b.length<=4)return"*".repeat(b.length);if(5===b.length)return`${b[0]}***${b[4]}`;if(6===b.length)return`${b.slice(0,1)}****${b.slice(5)}`;let c=Math.floor((b.length-4)/2);return`${b.slice(0,c)}****${b.slice(c+4)}`}function y(a){let b=String(a??"").trim();if(!b)return!1;let c=b.replace(/\D/g,"");return c.length>=6&&c.length<=15}function z(a,b){let c={...b||{}};return delete c.phone,{...a||{},...c}}let A="force-dynamic";async function B(a,{params:b}){try{let{id:a}=await b,d=await (0,w.Mc)(a);if(!d)return v.NextResponse.json({error:"Connection not found"},{status:404});if("oauth"!==d.authType)return v.NextResponse.json({error:"Only OAuth connections support profile refresh"},{status:400});let e=d.accessToken;if(!e||"string"!=typeof e)return v.NextResponse.json({error:"Missing access token"},{status:401});if("codebuddy-cn"===d.provider){let b=function(a){let b=function(a){try{let b;if(!a||"string"!=typeof a)return null;let c=a.split(".");if(3!==c.length)return null;let d=c[1].replace(/-/g,"+").replace(/_/g,"/"),e=(4-d.length%4)%4,f=d+"=".repeat(e);if("u">typeof Buffer)b=Buffer.from(f,"base64").toString("utf8");else{if("function"!=typeof atob)return null;b=decodeURIComponent(Array.from(atob(f),a=>`%${a.charCodeAt(0).toString(16).padStart(2,"0")}`).join(""))}return JSON.parse(b)}catch{return null}}(a);if(!b||"object"!=typeof b)return{nickname:null,phone:null,phoneMasked:null,sub:null};let c="string"==typeof b.nickname&&b.nickname.trim()||"string"==typeof b.name&&b.name.trim()||null,d="string"==typeof b.preferred_username?b.preferred_username.trim():"",e=d.replace(/\D/g,""),f=y(d)?e:null,g=f?x(f):null;return{nickname:c,phone:f,phoneMasked:g,sub:"string"==typeof b.sub?b.sub:null}}(e);if(!b.nickname&&!b.phoneMasked)return v.NextResponse.json({error:"No profile fields found in token"},{status:422});let c={providerSpecificData:z(d.providerSpecificData,{...b.phoneMasked?{phoneMasked:b.phoneMasked}:{}})};b.nickname&&(c.name=b.nickname),b.sub&&(c.providerSpecificData.uid=b.sub);let f=await (0,w.rj)(a,c);if(!f)return v.NextResponse.json({error:"Failed to update connection"},{status:500});let g={...f};if(delete g.apiKey,delete g.accessToken,delete g.refreshToken,delete g.idToken,g.providerSpecificData?.phone){let{phone:a,...b}=g.providerSpecificData;g.providerSpecificData=b}return v.NextResponse.json({success:!0,connection:g})}if("qoderwork-cn"===d.provider){let{QoderService:b}=await Promise.all([c.e(8851),c.e(1531)]).then(c.bind(c,91531)),f=new b({profile:"cn-work"}),g=await f.fetchUserInfo(e),h=null;try{let a=await fetch("https://openapi.qoder.com.cn/api/v1/userinfo",{headers:{Authorization:`Bearer ${e}`,Accept:"application/json","User-Agent":"QoderWork"}});a.ok&&(h=await a.json())}catch{h=null}h||(h={name:g?.name,email:g?.email,id:d.providerSpecificData?.userId});let i=function(a){if(!a||"object"!=typeof a)return{displayName:null,phone:null,phoneMasked:null,loginSource:null,userId:null};let b="string"==typeof a.name&&a.name.trim()||"string"==typeof a.username&&a.username.trim()||null,c=[a.phone,a.mobile,a.telephone].filter(a=>"string"==typeof a&&a.trim()).map(a=>a.trim()),d=[a.name,a.username].filter(a=>"string"==typeof a&&a.trim()).map(a=>a.trim()).filter(a=>/^\+?[\d\s-]{6,20}$/.test(a)),e=null;for(let a of[...c,...d])if(y(a)){e=a.replace(/\D/g,"");break}let f=e?x(e):null,g="string"==typeof a.source&&a.source.trim()||Array.isArray(a.third_party_identities)&&a.third_party_identities[0]?.provider||null;return{displayName:b,phone:e,phoneMasked:f,loginSource:g,userId:"string"==typeof a.id?a.id:null}}(h),j={providerSpecificData:z(d.providerSpecificData,{...i.phoneMasked?{phoneMasked:i.phoneMasked}:{}})};i.displayName&&(j.name=i.displayName,j.displayName=i.displayName),i.loginSource&&(j.providerSpecificData.loginSource=i.loginSource),i.userId&&(j.providerSpecificData.userId=i.userId);let k=await (0,w.rj)(a,j);if(!k)return v.NextResponse.json({error:"Failed to update connection"},{status:500});let l={...k};if(delete l.apiKey,delete l.accessToken,delete l.refreshToken,delete l.idToken,l.providerSpecificData?.phone){let{phone:a,...b}=l.providerSpecificData;l.providerSpecificData=b}return v.NextResponse.json({success:!0,connection:l})}return v.NextResponse.json({error:`Profile refresh not supported for provider ${d.provider}`},{status:400})}catch{return console.error("Profile refresh failed"),v.NextResponse.json({error:"Failed to refresh profile"},{status:500})}}let C=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/providers/[id]/refresh-profile/route",pathname:"/api/providers/[id]/refresh-profile",filename:"route",bundlePath:"app/api/providers/[id]/refresh-profile/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/providers/[id]/refresh-profile/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:D,workUnitAsyncStorage:E,serverHooks:F}=C;function G(){return(0,g.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:E})}async function H(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),C.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/[id]/refresh-profile/route";"/index"===d&&(d="/");let e=await C.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||C.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===C.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await C.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>C.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>C.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await C.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,B),b}},k=await C.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await C.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79868:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mV:()=>d.mV,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,y7:()=>d.y7,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(5129)},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,7965],()=>b(b.s=2184));module.exports=c})();