vansrouter 0.8.8 → 0.8.9

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 (727) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +8 -7
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/routes-manifest.json +8 -0
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  51. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  53. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  54. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  55. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  56. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  57. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  58. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  59. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  60. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  61. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  63. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  64. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  65. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  66. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  67. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  68. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  69. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  70. package/app/.next-cli-build/server/app/api/auth/check/route.js +1 -1
  71. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  72. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  73. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  74. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  75. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  76. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  77. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  78. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  79. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  80. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  81. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  82. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  83. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  84. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
  85. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  86. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  87. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  88. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  89. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  90. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
  91. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  92. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  93. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  94. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  95. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  96. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  97. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -0
  98. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -0
  99. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route_client-reference-manifest.js +1 -0
  100. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  101. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  103. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  109. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  110. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  116. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  119. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  121. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  124. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  125. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  126. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  132. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  135. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  136. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  138. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  139. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  140. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  141. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  142. package/app/.next-cli-build/server/app/api/providers/circuit-breakers/[name]/reset/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/providers/circuit-breakers/route.js +1 -1
  144. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  145. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  148. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  150. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  151. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  152. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  153. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  154. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  156. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  157. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  159. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  161. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  163. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  164. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  165. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  166. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  175. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/usage/request-details/[id]/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  184. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  186. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  193. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  195. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  208. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  209. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  210. package/app/.next-cli-build/server/app/callback.html +1 -1
  211. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  212. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  213. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  214. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  215. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  216. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  217. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  218. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  219. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  220. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  221. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  222. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  223. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  224. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  225. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  226. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  227. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  228. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  229. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  230. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  231. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  232. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  233. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  234. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  235. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  236. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  237. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  238. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  239. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  240. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  241. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  242. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  243. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  244. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  245. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  246. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  247. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  248. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  249. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
  250. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  251. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  252. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  253. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  254. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  255. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  256. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  257. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  258. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  259. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  260. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  261. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  262. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  263. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  264. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  265. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  266. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  267. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  268. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  269. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  270. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  271. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  272. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  273. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  274. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  275. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  276. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  277. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  278. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  279. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  280. package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
  281. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  282. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  283. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  284. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  285. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  286. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  287. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  288. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  289. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  290. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  291. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  292. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  293. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  294. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  295. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  296. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  297. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  298. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  299. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  300. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  301. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  302. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  303. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  304. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  305. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  306. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  307. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  308. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  309. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  310. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  311. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  312. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  313. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  314. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  315. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  316. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  317. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  318. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  319. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  320. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  321. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  322. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  323. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  324. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  325. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  326. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  327. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  328. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  329. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  330. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  331. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  332. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  333. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  334. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  335. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  336. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  337. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  338. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  339. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  340. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  341. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  342. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  343. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  344. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  345. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  346. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  347. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  348. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  349. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  350. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  351. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  352. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  353. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
  354. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  355. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  356. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  357. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  358. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
  359. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  360. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +4 -4
  361. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  362. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  363. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  364. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  365. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  366. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  367. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  368. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  369. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  370. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  371. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  372. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  373. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  374. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  375. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  376. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  377. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  378. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  379. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  380. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  381. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  382. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  383. package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
  384. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  385. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  386. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  387. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
  388. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  389. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  390. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  391. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  392. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  393. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  394. package/app/.next-cli-build/server/app/landing.html +1 -1
  395. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  396. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  397. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  398. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  399. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  400. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  401. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  402. package/app/.next-cli-build/server/app/login/page.js +2 -2
  403. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  404. package/app/.next-cli-build/server/app/login.html +1 -1
  405. package/app/.next-cli-build/server/app/login.rsc +5 -5
  406. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  407. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  408. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  409. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  410. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  411. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  412. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +1 -1
  413. package/app/.next-cli-build/server/app/masuk/page.js +2 -2
  414. package/app/.next-cli-build/server/app/masuk/page_client-reference-manifest.js +1 -1
  415. package/app/.next-cli-build/server/app-paths-manifest.json +8 -7
  416. package/app/.next-cli-build/server/chunks/1099.js +2 -2
  417. package/app/.next-cli-build/server/chunks/2557.js +17 -17
  418. package/app/.next-cli-build/server/chunks/383.js +1 -1
  419. package/app/.next-cli-build/server/chunks/4418.js +14 -10
  420. package/app/.next-cli-build/server/chunks/4574.js +2 -2
  421. package/app/.next-cli-build/server/chunks/5006.js +2 -2
  422. package/app/.next-cli-build/server/chunks/5577.js +1 -1
  423. package/app/.next-cli-build/server/chunks/5598.js +1 -1
  424. package/app/.next-cli-build/server/chunks/6159.js +1 -1
  425. package/app/.next-cli-build/server/chunks/7164.js +1 -1
  426. package/app/.next-cli-build/server/chunks/7204.js +1 -1
  427. package/app/.next-cli-build/server/chunks/8711.js +1 -1
  428. package/app/.next-cli-build/server/chunks/9633.js +1 -1
  429. package/app/.next-cli-build/server/chunks/9765.js +1 -1
  430. package/app/.next-cli-build/server/chunks/9984.js +1 -1
  431. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  432. package/app/.next-cli-build/server/middleware.js +2 -2
  433. package/app/.next-cli-build/server/pages/404.html +1 -1
  434. package/app/.next-cli-build/server/pages/500.html +1 -1
  435. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  436. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  437. package/app/.next-cli-build/static/chunks/{4385-fa42d9f0c942dc94.js → 4385-ef3f83f13fe6b4f2.js} +1 -1
  438. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-d380f305e4f93bed.js +1 -0
  439. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/{page-843674c44029b01b.js → page-3eaea075a22577af.js} +1 -1
  440. package/app/.next-cli-build/static/chunks/app/_global-error/page-e99da107f9c7c581.js +1 -0
  441. package/app/.next-cli-build/static/chunks/app/api/auth/check/route-e99da107f9c7c581.js +1 -0
  442. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-e99da107f9c7c581.js +1 -0
  443. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-e99da107f9c7c581.js +1 -0
  444. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-e99da107f9c7c581.js +1 -0
  445. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-e99da107f9c7c581.js +1 -0
  446. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-e99da107f9c7c581.js +1 -0
  447. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-e99da107f9c7c581.js +1 -0
  448. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-e99da107f9c7c581.js +1 -0
  449. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-e99da107f9c7c581.js +1 -0
  450. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-e99da107f9c7c581.js +1 -0
  451. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-e99da107f9c7c581.js +1 -0
  452. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-e99da107f9c7c581.js +1 -0
  453. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-e99da107f9c7c581.js +1 -0
  454. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-e99da107f9c7c581.js +1 -0
  455. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-e99da107f9c7c581.js +1 -0
  456. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-e99da107f9c7c581.js +1 -0
  457. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-e99da107f9c7c581.js +1 -0
  458. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-e99da107f9c7c581.js +1 -0
  459. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-e99da107f9c7c581.js +1 -0
  460. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-e99da107f9c7c581.js +1 -0
  461. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-e99da107f9c7c581.js +1 -0
  462. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-e99da107f9c7c581.js +1 -0
  463. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-e99da107f9c7c581.js +1 -0
  464. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-e99da107f9c7c581.js +1 -0
  465. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-e99da107f9c7c581.js +1 -0
  466. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-e99da107f9c7c581.js +1 -0
  467. package/app/.next-cli-build/static/chunks/app/api/combos/route-e99da107f9c7c581.js +1 -0
  468. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-e99da107f9c7c581.js +1 -0
  469. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-e99da107f9c7c581.js +1 -0
  470. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-e99da107f9c7c581.js +1 -0
  471. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-e99da107f9c7c581.js +1 -0
  472. package/app/.next-cli-build/static/chunks/app/api/health/route-e99da107f9c7c581.js +1 -0
  473. package/app/.next-cli-build/static/chunks/app/api/init/route-e99da107f9c7c581.js +1 -0
  474. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-e99da107f9c7c581.js +1 -0
  475. package/app/.next-cli-build/static/chunks/app/api/keys/route-e99da107f9c7c581.js +1 -0
  476. package/app/.next-cli-build/static/chunks/app/api/locale/route-e99da107f9c7c581.js +1 -0
  477. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-e99da107f9c7c581.js +1 -0
  478. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-e99da107f9c7c581.js +1 -0
  479. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-e99da107f9c7c581.js +1 -0
  480. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-e99da107f9c7c581.js +1 -0
  481. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-e99da107f9c7c581.js +1 -0
  482. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-e99da107f9c7c581.js +1 -0
  483. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-e99da107f9c7c581.js +1 -0
  484. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-e99da107f9c7c581.js +1 -0
  485. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-e99da107f9c7c581.js +1 -0
  486. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-e99da107f9c7c581.js +1 -0
  487. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-e99da107f9c7c581.js +1 -0
  488. package/app/.next-cli-build/static/chunks/app/api/models/route-e99da107f9c7c581.js +1 -0
  489. package/app/.next-cli-build/static/chunks/app/api/models/test/route-e99da107f9c7c581.js +1 -0
  490. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-e99da107f9c7c581.js +1 -0
  491. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-e99da107f9c7c581.js +1 -0
  492. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-e99da107f9c7c581.js +1 -0
  493. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-e99da107f9c7c581.js +1 -0
  494. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-e99da107f9c7c581.js +1 -0
  495. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-e99da107f9c7c581.js +1 -0
  496. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-e99da107f9c7c581.js +1 -0
  497. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-e99da107f9c7c581.js +1 -0
  498. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-e99da107f9c7c581.js +1 -0
  499. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-e99da107f9c7c581.js +1 -0
  500. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-e99da107f9c7c581.js +1 -0
  501. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-e99da107f9c7c581.js +1 -0
  502. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-e99da107f9c7c581.js +1 -0
  503. package/app/.next-cli-build/static/chunks/app/api/pricing/route-e99da107f9c7c581.js +1 -0
  504. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-e99da107f9c7c581.js +1 -0
  505. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-e99da107f9c7c581.js +1 -0
  506. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-e99da107f9c7c581.js +1 -0
  507. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-e99da107f9c7c581.js +1 -0
  508. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-e99da107f9c7c581.js +1 -0
  509. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-e99da107f9c7c581.js +1 -0
  510. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-e99da107f9c7c581.js +1 -0
  511. package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/[name]/reset/route-e99da107f9c7c581.js +1 -0
  512. package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/route-e99da107f9c7c581.js +1 -0
  513. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-e99da107f9c7c581.js +1 -0
  514. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-e99da107f9c7c581.js +1 -0
  515. package/app/.next-cli-build/static/chunks/app/api/providers/route-e99da107f9c7c581.js +1 -0
  516. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-e99da107f9c7c581.js +1 -0
  517. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-e99da107f9c7c581.js +1 -0
  518. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-e99da107f9c7c581.js +1 -0
  519. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-e99da107f9c7c581.js +1 -0
  520. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-e99da107f9c7c581.js +1 -0
  521. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-e99da107f9c7c581.js +1 -0
  522. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-e99da107f9c7c581.js +1 -0
  523. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-e99da107f9c7c581.js +1 -0
  524. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-e99da107f9c7c581.js +1 -0
  525. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-e99da107f9c7c581.js +1 -0
  526. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-e99da107f9c7c581.js +1 -0
  527. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-e99da107f9c7c581.js +1 -0
  528. package/app/.next-cli-build/static/chunks/app/api/settings/route-e99da107f9c7c581.js +1 -0
  529. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-e99da107f9c7c581.js +1 -0
  530. package/app/.next-cli-build/static/chunks/app/api/tags/route-e99da107f9c7c581.js +1 -0
  531. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-e99da107f9c7c581.js +1 -0
  532. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-e99da107f9c7c581.js +1 -0
  533. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-e99da107f9c7c581.js +1 -0
  534. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-e99da107f9c7c581.js +1 -0
  535. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-e99da107f9c7c581.js +1 -0
  536. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-e99da107f9c7c581.js +1 -0
  537. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-e99da107f9c7c581.js +1 -0
  538. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-e99da107f9c7c581.js +1 -0
  539. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-e99da107f9c7c581.js +1 -0
  540. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-e99da107f9c7c581.js +1 -0
  541. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-e99da107f9c7c581.js +1 -0
  542. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-e99da107f9c7c581.js +1 -0
  543. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-e99da107f9c7c581.js +1 -0
  544. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-e99da107f9c7c581.js +1 -0
  545. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-e99da107f9c7c581.js +1 -0
  546. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-e99da107f9c7c581.js +1 -0
  547. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-e99da107f9c7c581.js +1 -0
  548. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-e99da107f9c7c581.js +1 -0
  549. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-e99da107f9c7c581.js +1 -0
  550. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/[id]/route-e99da107f9c7c581.js +1 -0
  551. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-e99da107f9c7c581.js +1 -0
  552. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-e99da107f9c7c581.js +1 -0
  553. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-e99da107f9c7c581.js +1 -0
  554. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-e99da107f9c7c581.js +1 -0
  555. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-e99da107f9c7c581.js +1 -0
  556. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-e99da107f9c7c581.js +1 -0
  557. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-e99da107f9c7c581.js +1 -0
  558. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-e99da107f9c7c581.js +1 -0
  559. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-e99da107f9c7c581.js +1 -0
  560. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-e99da107f9c7c581.js +1 -0
  561. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-e99da107f9c7c581.js +1 -0
  562. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-e99da107f9c7c581.js +1 -0
  563. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-e99da107f9c7c581.js +1 -0
  564. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-e99da107f9c7c581.js +1 -0
  565. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-e99da107f9c7c581.js +1 -0
  566. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-e99da107f9c7c581.js +1 -0
  567. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-e99da107f9c7c581.js +1 -0
  568. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-e99da107f9c7c581.js +1 -0
  569. package/app/.next-cli-build/static/chunks/app/api/v1/route-e99da107f9c7c581.js +1 -0
  570. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-e99da107f9c7c581.js +1 -0
  571. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-e99da107f9c7c581.js +1 -0
  572. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-e99da107f9c7c581.js +1 -0
  573. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-e99da107f9c7c581.js +1 -0
  574. package/app/.next-cli-build/static/chunks/app/api/version/route-e99da107f9c7c581.js +1 -0
  575. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-e99da107f9c7c581.js +1 -0
  576. package/app/.next-cli-build/static/chunks/app/api/version/update/route-e99da107f9c7c581.js +1 -0
  577. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-e99da107f9c7c581.js +1 -0
  578. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-e99da107f9c7c581.js +1 -0
  579. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-e99da107f9c7c581.js +1 -0
  580. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-e99da107f9c7c581.js +1 -0
  581. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-e99da107f9c7c581.js +1 -0
  582. package/app/.next-cli-build/static/{StEqXLOIch5JtFeW8RZrK → nQJWv2C_Mij2gTzsYtVEi}/_buildManifest.js +1 -1
  583. package/app/package.json +3 -1
  584. package/package.json +1 -1
  585. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-e72420b69a9444e9.js +0 -1
  586. package/app/.next-cli-build/static/chunks/app/_global-error/page-bdae3ed7a22b81bd.js +0 -1
  587. package/app/.next-cli-build/static/chunks/app/api/auth/check/route-bdae3ed7a22b81bd.js +0 -1
  588. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-bdae3ed7a22b81bd.js +0 -1
  589. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-bdae3ed7a22b81bd.js +0 -1
  590. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-bdae3ed7a22b81bd.js +0 -1
  591. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-bdae3ed7a22b81bd.js +0 -1
  592. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-bdae3ed7a22b81bd.js +0 -1
  593. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-bdae3ed7a22b81bd.js +0 -1
  594. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-bdae3ed7a22b81bd.js +0 -1
  595. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-bdae3ed7a22b81bd.js +0 -1
  596. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-bdae3ed7a22b81bd.js +0 -1
  597. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-bdae3ed7a22b81bd.js +0 -1
  598. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-bdae3ed7a22b81bd.js +0 -1
  599. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-bdae3ed7a22b81bd.js +0 -1
  600. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-bdae3ed7a22b81bd.js +0 -1
  601. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-bdae3ed7a22b81bd.js +0 -1
  602. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-bdae3ed7a22b81bd.js +0 -1
  603. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-bdae3ed7a22b81bd.js +0 -1
  604. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-bdae3ed7a22b81bd.js +0 -1
  605. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-bdae3ed7a22b81bd.js +0 -1
  606. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-bdae3ed7a22b81bd.js +0 -1
  607. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-bdae3ed7a22b81bd.js +0 -1
  608. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-bdae3ed7a22b81bd.js +0 -1
  609. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-bdae3ed7a22b81bd.js +0 -1
  610. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-bdae3ed7a22b81bd.js +0 -1
  611. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-bdae3ed7a22b81bd.js +0 -1
  612. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-bdae3ed7a22b81bd.js +0 -1
  613. package/app/.next-cli-build/static/chunks/app/api/combos/route-bdae3ed7a22b81bd.js +0 -1
  614. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-bdae3ed7a22b81bd.js +0 -1
  615. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-bdae3ed7a22b81bd.js +0 -1
  616. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-bdae3ed7a22b81bd.js +0 -1
  617. package/app/.next-cli-build/static/chunks/app/api/health/route-bdae3ed7a22b81bd.js +0 -1
  618. package/app/.next-cli-build/static/chunks/app/api/init/route-bdae3ed7a22b81bd.js +0 -1
  619. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-bdae3ed7a22b81bd.js +0 -1
  620. package/app/.next-cli-build/static/chunks/app/api/keys/route-bdae3ed7a22b81bd.js +0 -1
  621. package/app/.next-cli-build/static/chunks/app/api/locale/route-bdae3ed7a22b81bd.js +0 -1
  622. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-bdae3ed7a22b81bd.js +0 -1
  623. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-bdae3ed7a22b81bd.js +0 -1
  624. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-bdae3ed7a22b81bd.js +0 -1
  625. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-bdae3ed7a22b81bd.js +0 -1
  626. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-bdae3ed7a22b81bd.js +0 -1
  627. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-bdae3ed7a22b81bd.js +0 -1
  628. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-bdae3ed7a22b81bd.js +0 -1
  629. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-bdae3ed7a22b81bd.js +0 -1
  630. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-bdae3ed7a22b81bd.js +0 -1
  631. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-bdae3ed7a22b81bd.js +0 -1
  632. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-bdae3ed7a22b81bd.js +0 -1
  633. package/app/.next-cli-build/static/chunks/app/api/models/route-bdae3ed7a22b81bd.js +0 -1
  634. package/app/.next-cli-build/static/chunks/app/api/models/test/route-bdae3ed7a22b81bd.js +0 -1
  635. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-bdae3ed7a22b81bd.js +0 -1
  636. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-bdae3ed7a22b81bd.js +0 -1
  637. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-bdae3ed7a22b81bd.js +0 -1
  638. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-bdae3ed7a22b81bd.js +0 -1
  639. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-bdae3ed7a22b81bd.js +0 -1
  640. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-bdae3ed7a22b81bd.js +0 -1
  641. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-bdae3ed7a22b81bd.js +0 -1
  642. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-bdae3ed7a22b81bd.js +0 -1
  643. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-bdae3ed7a22b81bd.js +0 -1
  644. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-bdae3ed7a22b81bd.js +0 -1
  645. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-bdae3ed7a22b81bd.js +0 -1
  646. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-bdae3ed7a22b81bd.js +0 -1
  647. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-bdae3ed7a22b81bd.js +0 -1
  648. package/app/.next-cli-build/static/chunks/app/api/pricing/route-bdae3ed7a22b81bd.js +0 -1
  649. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-bdae3ed7a22b81bd.js +0 -1
  650. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-bdae3ed7a22b81bd.js +0 -1
  651. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-bdae3ed7a22b81bd.js +0 -1
  652. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-bdae3ed7a22b81bd.js +0 -1
  653. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-bdae3ed7a22b81bd.js +0 -1
  654. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-bdae3ed7a22b81bd.js +0 -1
  655. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-bdae3ed7a22b81bd.js +0 -1
  656. package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/[name]/reset/route-bdae3ed7a22b81bd.js +0 -1
  657. package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/route-bdae3ed7a22b81bd.js +0 -1
  658. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-bdae3ed7a22b81bd.js +0 -1
  659. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-bdae3ed7a22b81bd.js +0 -1
  660. package/app/.next-cli-build/static/chunks/app/api/providers/route-bdae3ed7a22b81bd.js +0 -1
  661. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-bdae3ed7a22b81bd.js +0 -1
  662. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-bdae3ed7a22b81bd.js +0 -1
  663. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-bdae3ed7a22b81bd.js +0 -1
  664. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-bdae3ed7a22b81bd.js +0 -1
  665. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-bdae3ed7a22b81bd.js +0 -1
  666. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-bdae3ed7a22b81bd.js +0 -1
  667. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-bdae3ed7a22b81bd.js +0 -1
  668. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-bdae3ed7a22b81bd.js +0 -1
  669. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-bdae3ed7a22b81bd.js +0 -1
  670. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-bdae3ed7a22b81bd.js +0 -1
  671. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-bdae3ed7a22b81bd.js +0 -1
  672. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-bdae3ed7a22b81bd.js +0 -1
  673. package/app/.next-cli-build/static/chunks/app/api/settings/route-bdae3ed7a22b81bd.js +0 -1
  674. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-bdae3ed7a22b81bd.js +0 -1
  675. package/app/.next-cli-build/static/chunks/app/api/tags/route-bdae3ed7a22b81bd.js +0 -1
  676. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-bdae3ed7a22b81bd.js +0 -1
  677. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-bdae3ed7a22b81bd.js +0 -1
  678. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-bdae3ed7a22b81bd.js +0 -1
  679. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-bdae3ed7a22b81bd.js +0 -1
  680. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-bdae3ed7a22b81bd.js +0 -1
  681. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-bdae3ed7a22b81bd.js +0 -1
  682. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-bdae3ed7a22b81bd.js +0 -1
  683. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-bdae3ed7a22b81bd.js +0 -1
  684. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-bdae3ed7a22b81bd.js +0 -1
  685. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-bdae3ed7a22b81bd.js +0 -1
  686. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-bdae3ed7a22b81bd.js +0 -1
  687. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-bdae3ed7a22b81bd.js +0 -1
  688. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-bdae3ed7a22b81bd.js +0 -1
  689. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-bdae3ed7a22b81bd.js +0 -1
  690. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-bdae3ed7a22b81bd.js +0 -1
  691. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-bdae3ed7a22b81bd.js +0 -1
  692. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-bdae3ed7a22b81bd.js +0 -1
  693. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-bdae3ed7a22b81bd.js +0 -1
  694. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-bdae3ed7a22b81bd.js +0 -1
  695. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/[id]/route-bdae3ed7a22b81bd.js +0 -1
  696. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-bdae3ed7a22b81bd.js +0 -1
  697. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-bdae3ed7a22b81bd.js +0 -1
  698. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-bdae3ed7a22b81bd.js +0 -1
  699. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-bdae3ed7a22b81bd.js +0 -1
  700. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-bdae3ed7a22b81bd.js +0 -1
  701. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-bdae3ed7a22b81bd.js +0 -1
  702. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-bdae3ed7a22b81bd.js +0 -1
  703. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-bdae3ed7a22b81bd.js +0 -1
  704. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-bdae3ed7a22b81bd.js +0 -1
  705. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-bdae3ed7a22b81bd.js +0 -1
  706. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-bdae3ed7a22b81bd.js +0 -1
  707. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-bdae3ed7a22b81bd.js +0 -1
  708. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-bdae3ed7a22b81bd.js +0 -1
  709. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-bdae3ed7a22b81bd.js +0 -1
  710. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-bdae3ed7a22b81bd.js +0 -1
  711. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-bdae3ed7a22b81bd.js +0 -1
  712. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-bdae3ed7a22b81bd.js +0 -1
  713. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-bdae3ed7a22b81bd.js +0 -1
  714. package/app/.next-cli-build/static/chunks/app/api/v1/route-bdae3ed7a22b81bd.js +0 -1
  715. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-bdae3ed7a22b81bd.js +0 -1
  716. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-bdae3ed7a22b81bd.js +0 -1
  717. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-bdae3ed7a22b81bd.js +0 -1
  718. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-bdae3ed7a22b81bd.js +0 -1
  719. package/app/.next-cli-build/static/chunks/app/api/version/route-bdae3ed7a22b81bd.js +0 -1
  720. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-bdae3ed7a22b81bd.js +0 -1
  721. package/app/.next-cli-build/static/chunks/app/api/version/update/route-bdae3ed7a22b81bd.js +0 -1
  722. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-bdae3ed7a22b81bd.js +0 -1
  723. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-bdae3ed7a22b81bd.js +0 -1
  724. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-bdae3ed7a22b81bd.js +0 -1
  725. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-bdae3ed7a22b81bd.js +0 -1
  726. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-bdae3ed7a22b81bd.js +0 -1
  727. /package/app/.next-cli-build/static/{StEqXLOIch5JtFeW8RZrK → nQJWv2C_Mij2gTzsYtVEi}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=6479,a.ids=[5577,6479],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},4573:a=>{a.exports=require("node:buffer")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12286:(a,b,c)=>{c.d(b,{Ut:()=>e,a_:()=>f,bC:()=>d});let d={STOP:"stop",LENGTH:"length",TOOL_CALLS:"tool_calls",CONTENT_FILTER:"content_filter"},e={END_TURN:"end_turn",MAX_TOKENS:"max_tokens",TOOL_USE:"tool_use",STOP_SEQUENCE:"stop_sequence"},f={STOP:"STOP",MAX_TOKENS:"MAX_TOKENS",SAFETY:"SAFETY",RECITATION:"RECITATION",BLOCKLIST:"BLOCKLIST",PROHIBITED_CONTENT:"PROHIBITED_CONTENT"}},13946:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(68711);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]}},21820:a=>{a.exports=require("os")},23095:(a,b,c)=>{c.d(b,{Xh:()=>f,js:()=>g});var d=c(69765);let e={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.A)for(let b of(e[a.id]=a.id,a.alias&&(e[a.alias]=a.id),a.aliases||[]))e[b]=a.id;function f(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:e[c]||c,model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}async function g(a,b){let c=f(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,g=function(a,b){var c,d;if(!b)return null;let f=b[a];if(!f)return null;if("string"==typeof f&&f.includes("/")){let a=f.indexOf("/");return{provider:e[c=f.slice(0,a)]||c,model:f.slice(a+1)}}return"object"==typeof f&&f.provider&&f.model?{provider:e[d=f.provider]||d,model:f.model}:null}(c.model,d);return g||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return h.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let h=[[/^claude-/,"anthropic"],[/^gemini-/,"gemini"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},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")},33873:a=>{a.exports=require("path")},37808:(a,b,c)=>{c.d(b,{N:()=>d});function d(a,b){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}},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")},55511:a=>{a.exports=require("crypto")},57975:a=>{a.exports=require("node:util")},59621:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>P,patchFetch:()=>O,routeModule:()=>K,serverHooks:()=>N,workAsyncStorage:()=>L,workUnitAsyncStorage:()=>M});var d={};c.r(d),c.d(d,{OPTIONS:()=>I,POST:()=>J});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(14836),w=c(94164),x=c(66781),y=c(84310),z=c(91189),A=c(15261),B=c(92398),C=c(91253),D=c(44004),E=c(90293);let F=new Set(Object.entries(C.AI_PROVIDERS).reduce((a,[b,c])=>(c.serviceKinds?.includes("tts")&&!c.noAuth&&c.ttsConfig?.authType!=="none"&&a.push(b),a),[]));async function G(a){let b;try{b=await a.json()}catch{return(0,A.yj)(B.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=b.model,e=c.searchParams.get("response_format")||"mp3",f=b.language||"";E.request("POST",`${c.pathname} | ${d} | format=${e}${f?` | lang=${f}`:""}`);let g=await (0,w.mt)(),h=null;if(!await (0,v.Ov)(a)&&g.requireApiKey){let b=(0,v.Tr)(a);if(!b)return(0,A.yj)(B.gx.UNAUTHORIZED,"Missing API key");if(!(h=await (0,v.kI)(b)))return(0,A.yj)(B.gx.UNAUTHORIZED,"Invalid API key")}if(!d)return(0,A.yj)(B.gx.BAD_REQUEST,"Missing model");if(!(0,v.L$)(h,"tts"))return(0,A.yj)(B.gx.FORBIDDEN,"TTS requests are not allowed for this API key");if(!b.input)return(0,A.yj)(B.gx.BAD_REQUEST,"Missing required field: input");let i=await (0,x.d_)(d);if(i){if(!(0,v.DC)(h,d))return(0,A.yj)(B.gx.FORBIDDEN,`Combo "${d}" is not allowed for this API key`);let a=(0,D.ZO)(d),c=g.comboStrategies||{},j=c[a]?.fallbackStrategy||g.comboStrategy||"fallback",k=g.comboStickyRoundRobinLimit;return E.info("TTS",`Combo "${a}" with ${i.length} models (strategy: ${j}, sticky: ${k})`),(0,D.Pr)({body:b,models:i,handleSingleModel:(a,b)=>H(a,b,e,f,h),log:E,comboName:a,comboStrategy:j,comboStickyLimit:k,timeoutMs:c[a]?.targetTimeoutMs??null,queueDepth:c[a]?.queueDepth??null})}return H(b,d,e,f,h)}async function H(a,b,c,d,e=null){let f=await (0,x.mA)(b);if(!f.provider)return(0,A.yj)(B.gx.BAD_REQUEST,"Invalid model format");let{provider:g,model:h}=f;if(!await (0,v.kt)(e,g))return(0,A.yj)(B.gx.FORBIDDEN,`Provider "${g}" is not allowed for this API key`);let i=`${g}/${h}`;if(!(b===i?await (0,y.Uw)(i,e):await (0,y.Uw)(b,e)||await (0,y.Uw)(i,e)))return(0,A.yj)(B.gx.NOT_FOUND,`Model "${i}" is not available. Only models listed in /v1/models can be used.`);if(E.info("ROUTING",`Provider: ${g}, Voice: ${h}`),!F.has(g)){let b=await (0,z.P)({provider:g,model:h,input:a.input,responseFormat:c,language:d});return b.success?b.response:(0,A.yj)(b.status||B.gx.BAD_GATEWAY,b.error||"TTS failed")}let j=new Set,k=null,l=null;for(;;){let b=await (0,v.c1)(g,j,h);if(!b||b.allRateLimited){if(b?.allRateLimited){let a=k||b.lastError||"Unavailable",c=l||Number(b.lastErrorCode)||B.gx.SERVICE_UNAVAILABLE;return(0,A.wO)(c,`[${g}/${h}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(0===j.size)return(0,A.yj)(B.gx.BAD_REQUEST,`No credentials for provider: ${g}`);return(0,A.yj)(l||B.gx.SERVICE_UNAVAILABLE,k||"All accounts unavailable")}E.info("AUTH",`\x1b[32mUsing ${g} account: ${b.connectionName}\x1b[0m`);let e=await (0,z.P)({provider:g,model:h,input:a.input,credentials:b,responseFormat:c,language:d});if(e.success)return e.response;let{shouldFallback:f}=await (0,v.vk)(b.connectionId,e.status,e.error,g,h);if(f){j.add(b.connectionId),k=e.error,l=e.status;continue}return e.response||(0,A.yj)(e.status,e.error)}}async function I(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function J(a){return await G(a)}let K=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/audio/speech/route",pathname:"/api/v1/audio/speech",filename:"route",bundlePath:"app/api/v1/audio/speech/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/v1/audio/speech/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:L,workUnitAsyncStorage:M,serverHooks:N}=K;function O(){return(0,g.patchFetch)({workAsyncStorage:L,workUnitAsyncStorage:M})}async function P(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),K.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/audio/speech/route";"/index"===d&&(d="/");let e=await K.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 L=null;!I||K.isDev||z||(L="/index"===(L=E)?"/":L);let M=!0===K.isDev||!I,N=I&&!M;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});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 K.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)=>K.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=>K.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&&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 K.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await K.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});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});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&&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};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 K.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},59638:(a,b,c)=>{c.d(b,{R4:()=>g,BY:()=>l,a_:()=>j.a_,RV:()=>e,rP:()=>k,x4:()=>f,bC:()=>j.bC,Du:()=>h,z7:()=>d,m8:()=>i});let d={USER:"user",ASSISTANT:"assistant",TOOL:"tool",SYSTEM:"system",DEVELOPER:"developer"},e={USER:"user",MODEL:"model"},f={TEXT:"text",IMAGE_URL:"image_url",IMAGE:"image",INPUT_AUDIO:"input_audio",AUDIO_URL:"audio_url",FILE:"file",FUNCTION:"function"},g={TEXT:"text",IMAGE:"image",DOCUMENT:"document",TOOL_USE:"tool_use",TOOL_RESULT:"tool_result",THINKING:"thinking",REDACTED_THINKING:"redacted_thinking"},h={MESSAGE:"message",FUNCTION_CALL:"function_call",FUNCTION_CALL_OUTPUT:"function_call_output",REASONING:"reasoning",OUTPUT_TEXT:"output_text",INPUT_TEXT:"input_text",INPUT_IMAGE:"input_image",SUMMARY_TEXT:"summary_text"},i=[f.TEXT,f.IMAGE_URL,f.IMAGE,f.INPUT_AUDIO,f.AUDIO_URL,f.FILE];f.TEXT,f.IMAGE_URL,f.IMAGE,g.TOOL_RESULT;var j=c(12286);let k="unknown",l="image/png"},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66781:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>i});var d=c(94164),e=c(23095),f=c(69765);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},h=new Set(Object.keys(g));for(let a of f.A)for(let b of(h.add(a.id),a.alias&&h.add(a.alias),a.aliases||[]))h.add(b);async function i(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){if(!h.has(c.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model}}return{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},83712:(a,b,c)=>{c.d(b,{KZ:()=>k,S6:()=>h,Yr:()=>o,f6:()=>l,fc:()=>g,kU:()=>i,pT:()=>j,w_:()=>m});var d=c(37808),e=c(59638);let f=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","format","default","examples","$schema","$defs","definitions","const","$ref","$comment","deprecated","readOnly","writeOnly","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","optional","deprecated","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],g=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function h(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if(c.type===e.x4.TEXT)b.push({text:c.text});else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if(c.type===e.x4.INPUT_AUDIO&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if(c.type===e.x4.AUDIO_URL&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.FILE&&c.file?.file_data?.startsWith("data:")){let a=c.file.file_data,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d).split(";")[0],e=a.substring(d+1);b.push({inlineData:{mime_type:c,data:e}})}}}return b}function i(a,b=""){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a.type===e.x4.TEXT).map(a=>a.text).join(b):""}function j(a){return(0,d.N)(a,null)}function k(){return`agent-${crypto.randomUUID()}`}function l(){return crypto.randomUUID()+Date.now().toString()}function m(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function n(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function o(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.properties&&!b.type&&(b.type="object"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}for(let d of Object.keys(b)){if(c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,f),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}(a)),a}},84310:(a,b,c)=>{c.d(b,{PX:()=>v,Uw:()=>z});var d=c(67259),e=c(91253),f=c(94164),g=c(76489);let h=/[-_][0-9a-f]{8,}$/i,i=["llm","tts","embedding","image","imageToText","stt","webSearch","webFetch"],j={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function k(a){return a?.kind?a.kind:a?.type&&j[a.type]||"llm"}function l(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}function m(a,b){let c=e.AI_PROVIDERS[a];return(Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"]).some(a=>b.has(a))}let n={},o={};async function p(a,b){let c=b?.modelsFetcher;if(!c?.url)return[];let d=Date.now();if(n[a]&&d<(o[a]||0))return n[a];try{let b,e=new AbortController,f=setTimeout(()=>e.abort(),8e3),g=await fetch(c.url,{method:"GET",headers:{"Content-Type":"application/json"},cache:"no-store",signal:e.signal});if(clearTimeout(f),!g.ok)return[];let h=await g.json(),i=Array.isArray(h)?h:h?.data||h?.models||h?.results||[];b="opencode-free"===c.type?i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&c.endsWith("-free")&&a.push(c),a},[]):i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[]);let j=Array.from(new Set(b));return n[a]=j,o[a]=d+3e5,j}catch{return n[a]||[]}}async function q(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let f=await e.json(),g=Array.isArray(f)?f:f?.data||f?.models||f?.results||[];return Array.from(new Set(g.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[])))}catch{return[]}}async function r(){let a=!1,b=[];try{b=await (0,f.getProviderConnections)(),a=!0,b=b.filter(a=>!1!==a.isActive)}catch{}let c=[];try{c=await (0,f.Uv)(),a=!0}catch{}let d=[];try{d=await (0,f.uv)()}catch{}let e={};try{e=await (0,f.OM)()}catch{}let h={};try{h=await (0,g.vF)()}catch{}let i=new Map;for(let a of b)i.has(a.provider)||i.set(a.provider,a);return{connections:b,combos:c,customModels:d,modelAliases:e,isDisabled:(a,b)=>Array.isArray(h[a])&&h[a].includes(b),activeConnectionByProvider:i,dbAvailable:a}}async function s(a,b,c,f,g,h,i){a=new Set(a);let j=[];for(let c of b){if(!function(a,b){let c=a?.kind||"llm";return b.has(c)}(c,a))continue;let b={id:`combo/${c.name}`};("webSearch"===c.kind||"webFetch"===c.kind)&&(b.kind=c.kind),j.push(b)}if(i)for(let b of(await Promise.all([...h.entries()].reduce((b,[d,e])=>(m(d,a)&&b.push(t(d,e,a,c,f,g)),b),[]))))j.push(...b);else{let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(m(b[c]||c,a))for(let b of e)a.has(k(b))&&(g(c,b.id)||j.push({id:`${c}/${b.id}`}));for(let b of c){if(!b?.id||b.type&&"llm"!==b.type||!a.has("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&j.push({id:`${c}/${d}`})}}for(let b of(await Promise.all(Object.entries(e.AI_PROVIDERS).reduce((b,[d,e])=>(!h.has(d)&&e.noAuth&&m(d,a)&&b.push(u(d,e,a,c,f,g)),b),[]))))j.push(...b);return j}async function t(a,b,c,f,g,i){let j=[],m=d.Xg[a]||a,n=(b?.providerSpecificData?.prefix||(0,e.wG)(a)||m).trim(),o=d.vq[m]||[],r=b?.providerSpecificData?.enabledModels,s=Array.isArray(r)&&r.length>0,t=(0,e.mq)(a)||(0,e.gb)(a),u=e.AI_PROVIDERS[a]?.passthroughModels===!0,v=new Map(o.map(a=>[a.id,k(a)])),w=s?Array.from(new Set(r.filter(a=>"string"==typeof a&&""!==a.trim()))):o.map(a=>a.id);t&&0===w.length&&!h.test(a)&&(w=await q(b));let x=e.AI_PROVIDERS[a];for(let b of(x?.noAuth&&x?.modelsFetcher&&(w=Array.from(new Set([...w,...await p(a,x)]))),u&&0===w.length&&(w=o.map(a=>a.id)),u&&!s&&(w=o.map(a=>a.id)),Array.from(new Set([...w.reduce((b,c)=>{let d=c;return d.startsWith(`${n}/`)?d=d.slice(n.length+1):d.startsWith(`${m}/`)?d=d.slice(m.length+1):d.startsWith(`${a}/`)&&(d=d.slice(a.length+1)),"string"==typeof d&&""!==d.trim()&&b.push(d),b},[]),...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==m&&d!==n&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${n}/`)||c.startsWith(`${m}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${n}/`)?c.slice(n.length+1):c.startsWith(`${m}/`)?c.slice(m.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=v.get(b)||l(b);c.has(a)&&(i(n,b)||i(m,b)||j.push({id:`${n}/${b}`}))}if(c.has("tts")&&Array.isArray(x?.ttsConfig?.models))for(let a of x.ttsConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});if(c.has("embedding")&&Array.isArray(x?.embeddingConfig?.models))for(let a of x.embeddingConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});return c.has("webSearch")&&x?.searchConfig&&j.push({id:`${n}/search`,kind:"webSearch"}),c.has("webFetch")&&x?.fetchConfig&&j.push({id:`${n}/fetch`,kind:"webFetch"}),j}async function u(a,b,c,f,g,h){let i=[],j=(0,e.wG)(a)||b.alias||a,m=new Map((d.vq[j]||[]).map(a=>[a.id,k(a)])),n=(d.vq[j]||[]).map(a=>a.id),o=[];for(let d of(b.modelsFetcher&&(o=await p(a,b)),Array.from(new Set([...n,...o,...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==j&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${j}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${j}/`)?c.slice(j.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=m.get(d)||l(d);c.has(a)&&(h(j,d)||i.push({id:`${j}/${d}`}))}if(c.has("tts")&&Array.isArray(b?.ttsConfig?.models))for(let a of b.ttsConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});if(c.has("embedding")&&Array.isArray(b?.embeddingConfig?.models))for(let a of b.embeddingConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});return c.has("webSearch")&&b?.searchConfig&&i.push({id:`${j}/search`,kind:"webSearch"}),c.has("webFetch")&&b?.fetchConfig&&i.push({id:`${j}/fetch`,kind:"webFetch"}),i}async function v(a){let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(a,b,c,d,e,f,g),i=new Set,j=[];for(let a of h){if(!a?.id||i.has(a.id))continue;i.add(a.id);let b={id:a.id,object:"model",owned_by:a.id.includes("/")?a.id.split("/")[0]:"combo"};a.kind&&(b.kind=a.kind),j.push(b)}return j}let w=null,x=0;async function y(){let a=Date.now();if(w&&a<x)return w;let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(i,b,c,d,e,f,g),j=new Set;for(let a of h)a?.id&&j.add(a.id);return w=j,x=a+3e4,j}async function z(a,b=null){return!b||(await y()).has(a)}},85577:(a,b,c)=>{c.d(b,{Xg:()=>o,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>p,ux:()=>k,OA:()=>l,kt:()=>m,SM:()=>i});var d=c(13946),e=c(69765),f=c(68711),g=c(57959);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}function k(a,b){let c=f.vq[a];return c?(0,g.gr)(c.find(a=>a.id===b)):null}function l(a,b){let c=f.vq[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.kind||d?.type||null}function m(a,b){let c=f.vq[a],d=c?.find(a=>a.id===b);return d?.upstreamModelId?d.upstreamModelId:"cx"===a&&"string"==typeof b&&b.endsWith(h)?b.slice(0,-h.length):b}let n=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),o=Object.fromEntries(Object.keys(d.xq).map(a=>[a,n[a]||a]));function p(a,b){return(0,g.g5)(f.vq[a]?.find(a=>a.id===b))}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},91189:(a,b,c)=>{c.d(b,{O:()=>g.Op,P:()=>i});var d=c(4573),e=c(15261),f=c(92398),g=c(78802);function h(a,b,c){let e=d.Buffer.from(a,"base64");return"json"===c?{success:!0,response:new Response(JSON.stringify({audio:a,format:b}),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}:{success:!0,response:new Response(e,{headers:{"Content-Type":`audio/${b}`,"Content-Length":String(e.length),"Access-Control-Allow-Origin":"*"}})}}async function i({provider:a,model:b,input:c,credentials:d,responseFormat:j="mp3",language:k}){if(!c?.trim())return(0,e.A1)(f.gx.BAD_REQUEST,"Missing required field: input");try{let i=(0,g.xd)(a);if(i){let a=await i.synthesize(c.trim(),b,d,j,{language:k});if(void 0!==a.success)return a;return h(a.base64,a.format,j)}let l=await (0,g.zJ)(a,c.trim(),b,d);if(l)return h(l.base64,l.format,j);return(0,e.A1)(f.gx.BAD_REQUEST,`Provider '${a}' does not support TTS via this route.`)}catch(a){return(0,e.A1)(f.gx.BAD_GATEWAY,a.message||"TTS synthesis failed")}}},94164:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(45479)},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1348,9787,9633,9765,8711,7010,7916,2445,818,4004,8802],()=>b(b.s=59621));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=6479,a.ids=[5577,6479],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},4573:a=>{a.exports=require("node:buffer")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11066:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>P,patchFetch:()=>O,routeModule:()=>K,serverHooks:()=>N,workAsyncStorage:()=>L,workUnitAsyncStorage:()=>M});var d={};c.r(d),c.d(d,{OPTIONS:()=>I,POST:()=>J});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(14836),w=c(94164),x=c(66781),y=c(84310),z=c(91189),A=c(15261),B=c(92398),C=c(91253),D=c(44004),E=c(90293);let F=new Set(Object.entries(C.AI_PROVIDERS).reduce((a,[b,c])=>(c.serviceKinds?.includes("tts")&&!c.noAuth&&c.ttsConfig?.authType!=="none"&&a.push(b),a),[]));async function G(a){let b;try{b=await a.json()}catch{return(0,A.yj)(B.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=b.model,e=c.searchParams.get("response_format")||"mp3",f=b.language||"";E.request("POST",`${c.pathname} | ${d} | format=${e}${f?` | lang=${f}`:""}`);let g=await (0,w.mt)(),h=null;if(!await (0,v.Ov)(a)&&g.requireApiKey){let b=(0,v.Tr)(a);if(!b)return(0,A.yj)(B.gx.UNAUTHORIZED,"Missing API key");if(!(h=await (0,v.kI)(b)))return(0,A.yj)(B.gx.UNAUTHORIZED,"Invalid API key")}if(!d)return(0,A.yj)(B.gx.BAD_REQUEST,"Missing model");if(!(0,v.L$)(h,"tts"))return(0,A.yj)(B.gx.FORBIDDEN,"TTS requests are not allowed for this API key");if(!b.input)return(0,A.yj)(B.gx.BAD_REQUEST,"Missing required field: input");let i=await (0,x.d_)(d);if(i){if(!(0,v.DC)(h,d))return(0,A.yj)(B.gx.FORBIDDEN,`Combo "${d}" is not allowed for this API key`);let a=(0,D.ZO)(d),c=g.comboStrategies||{},j=c[a]?.fallbackStrategy||g.comboStrategy||"fallback",k=g.comboStickyRoundRobinLimit;return E.info("TTS",`Combo "${a}" with ${i.length} models (strategy: ${j}, sticky: ${k})`),(0,D.Pr)({body:b,models:i,handleSingleModel:(a,b)=>H(a,b,e,f,h),log:E,comboName:a,comboStrategy:j,comboStickyLimit:k,timeoutMs:c[a]?.targetTimeoutMs??null,queueDepth:c[a]?.queueDepth??null})}return H(b,d,e,f,h)}async function H(a,b,c,d,e=null){let f=await (0,x.mA)(b);if(!f.provider)return(0,A.yj)(B.gx.BAD_REQUEST,"Invalid model format");let{provider:g,model:h}=f;if(!await (0,v.kt)(e,g))return(0,A.yj)(B.gx.FORBIDDEN,`Provider "${g}" is not allowed for this API key`);let i=`${g}/${h}`;if(!(b===i?await (0,y.Uw)(i,e):await (0,y.Uw)(b,e)||await (0,y.Uw)(i,e)))return(0,A.yj)(B.gx.NOT_FOUND,`Model "${i}" is not available. Only models listed in /v1/models can be used.`);if(E.info("ROUTING",`Provider: ${g}, Voice: ${h}`),!F.has(g)){let b=await (0,z.P)({provider:g,model:h,input:a.input,responseFormat:c,language:d});return b.success?b.response:(0,A.yj)(b.status||B.gx.BAD_GATEWAY,b.error||"TTS failed")}let j=new Set,k=null,l=null;for(;;){let b=await (0,v.c1)(g,j,h);if(!b||b.allRateLimited){if(b?.allRateLimited){let a=k||b.lastError||"Unavailable",c=l||Number(b.lastErrorCode)||B.gx.SERVICE_UNAVAILABLE;return(0,A.wO)(c,`[${g}/${h}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(0===j.size)return(0,A.yj)(B.gx.BAD_REQUEST,`No credentials for provider: ${g}`);return(0,A.yj)(l||B.gx.SERVICE_UNAVAILABLE,k||"All accounts unavailable")}E.info("AUTH",`\x1b[32mUsing ${g} account: ${b.connectionName}\x1b[0m`);let e=await (0,z.P)({provider:g,model:h,input:a.input,credentials:b,responseFormat:c,language:d});if(e.success)return e.response;let{shouldFallback:f}=await (0,v.vk)(b.connectionId,e.status,e.error,g,h);if(f){j.add(b.connectionId),k=e.error,l=e.status;continue}return e.response||(0,A.yj)(e.status,e.error)}}async function I(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function J(a){return await G(a)}let K=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/audio/speech/route",pathname:"/api/v1/audio/speech",filename:"route",bundlePath:"app/api/v1/audio/speech/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/v1/audio/speech/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:L,workUnitAsyncStorage:M,serverHooks:N}=K;function O(){return(0,g.patchFetch)({workAsyncStorage:L,workUnitAsyncStorage:M})}async function P(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),K.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/audio/speech/route";"/index"===d&&(d="/");let e=await K.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 L=null;!I||K.isDev||z||(L="/index"===(L=E)?"/":L);let M=!0===K.isDev||!I,N=I&&!M;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});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 K.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)=>K.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=>K.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&&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 K.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await K.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});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});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&&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};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 K.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},12286:(a,b,c)=>{c.d(b,{Ut:()=>e,a_:()=>f,bC:()=>d});let d={STOP:"stop",LENGTH:"length",TOOL_CALLS:"tool_calls",CONTENT_FILTER:"content_filter"},e={END_TURN:"end_turn",MAX_TOKENS:"max_tokens",TOOL_USE:"tool_use",STOP_SEQUENCE:"stop_sequence"},f={STOP:"STOP",MAX_TOKENS:"MAX_TOKENS",SAFETY:"SAFETY",RECITATION:"RECITATION",BLOCKLIST:"BLOCKLIST",PROHIBITED_CONTENT:"PROHIBITED_CONTENT"}},13946:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(68711);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]}},21820:a=>{a.exports=require("os")},23095:(a,b,c)=>{c.d(b,{Xh:()=>f,js:()=>g});var d=c(69765);let e={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.A)for(let b of(e[a.id]=a.id,a.alias&&(e[a.alias]=a.id),a.aliases||[]))e[b]=a.id;function f(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:e[c]||c,model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}async function g(a,b){let c=f(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,g=function(a,b){var c,d;if(!b)return null;let f=b[a];if(!f)return null;if("string"==typeof f&&f.includes("/")){let a=f.indexOf("/");return{provider:e[c=f.slice(0,a)]||c,model:f.slice(a+1)}}return"object"==typeof f&&f.provider&&f.model?{provider:e[d=f.provider]||d,model:f.model}:null}(c.model,d);return g||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return h.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let h=[[/^claude-/,"anthropic"],[/^gemini-/,"gemini"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},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")},33873:a=>{a.exports=require("path")},37808:(a,b,c)=>{c.d(b,{N:()=>d});function d(a,b){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}},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")},55511:a=>{a.exports=require("crypto")},57975:a=>{a.exports=require("node:util")},59638:(a,b,c)=>{c.d(b,{R4:()=>g,BY:()=>l,a_:()=>j.a_,RV:()=>e,rP:()=>k,x4:()=>f,bC:()=>j.bC,Du:()=>h,z7:()=>d,m8:()=>i});let d={USER:"user",ASSISTANT:"assistant",TOOL:"tool",SYSTEM:"system",DEVELOPER:"developer"},e={USER:"user",MODEL:"model"},f={TEXT:"text",IMAGE_URL:"image_url",IMAGE:"image",INPUT_AUDIO:"input_audio",AUDIO_URL:"audio_url",FILE:"file",FUNCTION:"function"},g={TEXT:"text",IMAGE:"image",DOCUMENT:"document",TOOL_USE:"tool_use",TOOL_RESULT:"tool_result",THINKING:"thinking",REDACTED_THINKING:"redacted_thinking"},h={MESSAGE:"message",FUNCTION_CALL:"function_call",FUNCTION_CALL_OUTPUT:"function_call_output",REASONING:"reasoning",OUTPUT_TEXT:"output_text",INPUT_TEXT:"input_text",INPUT_IMAGE:"input_image",SUMMARY_TEXT:"summary_text"},i=[f.TEXT,f.IMAGE_URL,f.IMAGE,f.INPUT_AUDIO,f.AUDIO_URL,f.FILE];f.TEXT,f.IMAGE_URL,f.IMAGE,g.TOOL_RESULT;var j=c(12286);let k="unknown",l="image/png"},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66781:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>i});var d=c(94164),e=c(23095),f=c(69765);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},h=new Set(Object.keys(g));for(let a of f.A)for(let b of(h.add(a.id),a.alias&&h.add(a.alias),a.aliases||[]))h.add(b);async function i(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){if(!h.has(c.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model}}return{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},83712:(a,b,c)=>{c.d(b,{KZ:()=>k,S6:()=>h,Yr:()=>o,f6:()=>l,fc:()=>g,kU:()=>i,pT:()=>j,w_:()=>m});var d=c(37808),e=c(59638);let f=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","format","default","examples","$schema","$defs","definitions","const","$ref","$comment","deprecated","readOnly","writeOnly","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","optional","deprecated","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],g=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function h(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if(c.type===e.x4.TEXT)b.push({text:c.text});else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if(c.type===e.x4.INPUT_AUDIO&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if(c.type===e.x4.AUDIO_URL&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.FILE&&c.file?.file_data?.startsWith("data:")){let a=c.file.file_data,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d).split(";")[0],e=a.substring(d+1);b.push({inlineData:{mime_type:c,data:e}})}}}return b}function i(a,b=""){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a.type===e.x4.TEXT).map(a=>a.text).join(b):""}function j(a){return(0,d.N)(a,null)}function k(){return`agent-${crypto.randomUUID()}`}function l(){return crypto.randomUUID()+Date.now().toString()}function m(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function n(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function o(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.properties&&!b.type&&(b.type="object"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}for(let d of Object.keys(b)){if(c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,f),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}(a)),a}},84310:(a,b,c)=>{c.d(b,{PX:()=>v,Uw:()=>z});var d=c(67259),e=c(91253),f=c(94164),g=c(76489);let h=/[-_][0-9a-f]{8,}$/i,i=["llm","tts","embedding","image","imageToText","stt","webSearch","webFetch"],j={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function k(a){return a?.kind?a.kind:a?.type&&j[a.type]||"llm"}function l(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}function m(a,b){let c=e.AI_PROVIDERS[a];return(Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"]).some(a=>b.has(a))}let n={},o={};async function p(a,b){let c=b?.modelsFetcher;if(!c?.url)return[];let d=Date.now();if(n[a]&&d<(o[a]||0))return n[a];try{let b,e=new AbortController,f=setTimeout(()=>e.abort(),8e3),g=await fetch(c.url,{method:"GET",headers:{"Content-Type":"application/json"},cache:"no-store",signal:e.signal});if(clearTimeout(f),!g.ok)return[];let h=await g.json(),i=Array.isArray(h)?h:h?.data||h?.models||h?.results||[];b="opencode-free"===c.type?i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&c.endsWith("-free")&&a.push(c),a},[]):i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[]);let j=Array.from(new Set(b));return n[a]=j,o[a]=d+3e5,j}catch{return n[a]||[]}}async function q(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let f=await e.json(),g=Array.isArray(f)?f:f?.data||f?.models||f?.results||[];return Array.from(new Set(g.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[])))}catch{return[]}}async function r(){let a=!1,b=[];try{b=await (0,f.getProviderConnections)(),a=!0,b=b.filter(a=>!1!==a.isActive)}catch{}let c=[];try{c=await (0,f.Uv)(),a=!0}catch{}let d=[];try{d=await (0,f.uv)()}catch{}let e={};try{e=await (0,f.OM)()}catch{}let h={};try{h=await (0,g.vF)()}catch{}let i=new Map;for(let a of b)i.has(a.provider)||i.set(a.provider,a);return{connections:b,combos:c,customModels:d,modelAliases:e,isDisabled:(a,b)=>Array.isArray(h[a])&&h[a].includes(b),activeConnectionByProvider:i,dbAvailable:a}}async function s(a,b,c,f,g,h,i){a=new Set(a);let j=[];for(let c of b){if(!function(a,b){let c=a?.kind||"llm";return b.has(c)}(c,a))continue;let b={id:`combo/${c.name}`};("webSearch"===c.kind||"webFetch"===c.kind)&&(b.kind=c.kind),j.push(b)}if(i)for(let b of(await Promise.all([...h.entries()].reduce((b,[d,e])=>(m(d,a)&&b.push(t(d,e,a,c,f,g)),b),[]))))j.push(...b);else{let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(m(b[c]||c,a))for(let b of e)a.has(k(b))&&(g(c,b.id)||j.push({id:`${c}/${b.id}`}));for(let b of c){if(!b?.id||b.type&&"llm"!==b.type||!a.has("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&j.push({id:`${c}/${d}`})}}for(let b of(await Promise.all(Object.entries(e.AI_PROVIDERS).reduce((b,[d,e])=>(!h.has(d)&&e.noAuth&&m(d,a)&&b.push(u(d,e,a,c,f,g)),b),[]))))j.push(...b);return j}async function t(a,b,c,f,g,i){let j=[],m=d.Xg[a]||a,n=(b?.providerSpecificData?.prefix||(0,e.wG)(a)||m).trim(),o=d.vq[m]||[],r=b?.providerSpecificData?.enabledModels,s=Array.isArray(r)&&r.length>0,t=(0,e.mq)(a)||(0,e.gb)(a),u=e.AI_PROVIDERS[a]?.passthroughModels===!0,v=new Map(o.map(a=>[a.id,k(a)])),w=s?Array.from(new Set(r.filter(a=>"string"==typeof a&&""!==a.trim()))):o.map(a=>a.id);t&&0===w.length&&!h.test(a)&&(w=await q(b));let x=e.AI_PROVIDERS[a];for(let b of(x?.noAuth&&x?.modelsFetcher&&(w=Array.from(new Set([...w,...await p(a,x)]))),u&&0===w.length&&(w=o.map(a=>a.id)),u&&!s&&(w=o.map(a=>a.id)),Array.from(new Set([...w.reduce((b,c)=>{let d=c;return d.startsWith(`${n}/`)?d=d.slice(n.length+1):d.startsWith(`${m}/`)?d=d.slice(m.length+1):d.startsWith(`${a}/`)&&(d=d.slice(a.length+1)),"string"==typeof d&&""!==d.trim()&&b.push(d),b},[]),...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==m&&d!==n&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${n}/`)||c.startsWith(`${m}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${n}/`)?c.slice(n.length+1):c.startsWith(`${m}/`)?c.slice(m.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=v.get(b)||l(b);c.has(a)&&(i(n,b)||i(m,b)||j.push({id:`${n}/${b}`}))}if(c.has("tts")&&Array.isArray(x?.ttsConfig?.models))for(let a of x.ttsConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});if(c.has("embedding")&&Array.isArray(x?.embeddingConfig?.models))for(let a of x.embeddingConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});return c.has("webSearch")&&x?.searchConfig&&j.push({id:`${n}/search`,kind:"webSearch"}),c.has("webFetch")&&x?.fetchConfig&&j.push({id:`${n}/fetch`,kind:"webFetch"}),j}async function u(a,b,c,f,g,h){let i=[],j=(0,e.wG)(a)||b.alias||a,m=new Map((d.vq[j]||[]).map(a=>[a.id,k(a)])),n=(d.vq[j]||[]).map(a=>a.id),o=[];for(let d of(b.modelsFetcher&&(o=await p(a,b)),Array.from(new Set([...n,...o,...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==j&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${j}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${j}/`)?c.slice(j.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=m.get(d)||l(d);c.has(a)&&(h(j,d)||i.push({id:`${j}/${d}`}))}if(c.has("tts")&&Array.isArray(b?.ttsConfig?.models))for(let a of b.ttsConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});if(c.has("embedding")&&Array.isArray(b?.embeddingConfig?.models))for(let a of b.embeddingConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});return c.has("webSearch")&&b?.searchConfig&&i.push({id:`${j}/search`,kind:"webSearch"}),c.has("webFetch")&&b?.fetchConfig&&i.push({id:`${j}/fetch`,kind:"webFetch"}),i}async function v(a){let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(a,b,c,d,e,f,g),i=new Set,j=[];for(let a of h){if(!a?.id||i.has(a.id))continue;i.add(a.id);let b={id:a.id,object:"model",owned_by:a.id.includes("/")?a.id.split("/")[0]:"combo"};a.kind&&(b.kind=a.kind),j.push(b)}return j}let w=null,x=0;async function y(){let a=Date.now();if(w&&a<x)return w;let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(i,b,c,d,e,f,g),j=new Set;for(let a of h)a?.id&&j.add(a.id);return w=j,x=a+3e4,j}async function z(a,b=null){return!b||(await y()).has(a)}},85577:(a,b,c)=>{c.d(b,{Xg:()=>q,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>r,ux:()=>m,OA:()=>n,kt:()=>o,SM:()=>i});var d=c(13946),e=c(69765),f=c(68711),g=c(57959);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"]);function l(a,b,c){if(!a)return;let d=a.find(a=>a.id===b);if(d)return d;if(!k.has(c))return;let e=(0,g.Kq)(b);if(e!==b)return a.find(a=>a.id===e)}function m(a,b){let c=f.vq[a];return c?(0,g.gr)(l(c,b,a)):null}function n(a,b){let c=f.vq[a];if(!c)return null;let d=l(c,b,a);return d?.kind||d?.type||null}function o(a,b){let c=l(f.vq[a],b,a);return c?.upstreamModelId?c.upstreamModelId:c?.id?c.id:"cx"===a&&"string"==typeof b&&b.endsWith(h)?b.slice(0,-h.length):b}let p=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),q=Object.fromEntries(Object.keys(d.xq).map(a=>[a,p[a]||a]));function r(a,b){return(0,g.g5)(l(f.vq[a],b,a))}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},91189:(a,b,c)=>{c.d(b,{O:()=>g.Op,P:()=>i});var d=c(4573),e=c(15261),f=c(92398),g=c(78802);function h(a,b,c){let e=d.Buffer.from(a,"base64");return"json"===c?{success:!0,response:new Response(JSON.stringify({audio:a,format:b}),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}:{success:!0,response:new Response(e,{headers:{"Content-Type":`audio/${b}`,"Content-Length":String(e.length),"Access-Control-Allow-Origin":"*"}})}}async function i({provider:a,model:b,input:c,credentials:d,responseFormat:j="mp3",language:k}){if(!c?.trim())return(0,e.A1)(f.gx.BAD_REQUEST,"Missing required field: input");try{let i=(0,g.xd)(a);if(i){let a=await i.synthesize(c.trim(),b,d,j,{language:k});if(void 0!==a.success)return a;return h(a.base64,a.format,j)}let l=await (0,g.zJ)(a,c.trim(),b,d);if(l)return h(l.base64,l.format,j);return(0,e.A1)(f.gx.BAD_REQUEST,`Provider '${a}' does not support TTS via this route.`)}catch(a){return(0,e.A1)(f.gx.BAD_GATEWAY,a.message||"TTS synthesis failed")}}},94164:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(45479)},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1348,9787,9633,9765,8711,7010,7916,2445,818,4004,8802],()=>b(b.s=11066));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=1910,a.ids=[1910,5577],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},4573:a=>{a.exports=require("node:buffer")},6383:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>Z,patchFetch:()=>Y,routeModule:()=>U,serverHooks:()=>X,workAsyncStorage:()=>V,workUnitAsyncStorage:()=>W});var d={};c.r(d),c.d(d,{OPTIONS:()=>S,POST:()=>T,maxDuration:()=>R});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(14836),w=c(84310),x=c(94164),y=c(66781),z=c(4573),A=c(15261),B=c(92398);function C(a,b){if(!b)return{};switch(a.authHeader){case"bearer":default:return{Authorization:`Bearer ${b}`};case"token":return{Authorization:`Token ${b}`};case"x-api-key":return{"x-api-key":b};case"key":return{Authorization:`Key ${b}`}}}function D(a){let b=(a.type||"").toLowerCase();if(b.startsWith("audio/"))return b;let c="string"==typeof a.name?a.name.toLowerCase():"";return({mp3:"audio/mpeg",mp4:"audio/mp4",m4a:"audio/mp4",wav:"audio/wav",ogg:"audio/ogg",flac:"audio/flac",webm:"audio/webm",aac:"audio/aac",opus:"audio/opus"})[c.includes(".")?c.split(".").pop():""]||"application/octet-stream"}async function E(a){let b="";try{b=await a.text()}catch{}let c=b||`Upstream error (${a.status})`;try{let a=JSON.parse(b);c=a?.error?.message||a?.error||a?.message||c}catch{}return(0,A.A1)(a.status,"string"==typeof c?c:JSON.stringify(c))}async function F(a,b,c,d,e){let f=new URL(a.baseUrl);f.searchParams.set("model",c),f.searchParams.set("smart_format","true"),f.searchParams.set("punctuate","true");let g=e.get("language");"string"==typeof g&&g.trim()?f.searchParams.set("language",g.trim()):f.searchParams.set("detect_language","true");let h=await b.arrayBuffer(),i=await fetch(f,{method:"POST",headers:{...C(a,d),"Content-Type":D(b)},body:h});if(!i.ok)return E(i);let j=await i.json();return L({text:j.results?.channels?.[0]?.alternatives?.[0]?.transcript??""})}async function G(a,b,c,d){let e=C(a,d),f=await b.arrayBuffer(),g=await fetch("https://api.assemblyai.com/v2/upload",{method:"POST",headers:{...e,"Content-Type":"application/octet-stream"},body:f});if(!g.ok)return E(g);let{upload_url:h}=await g.json(),i=await fetch(a.baseUrl,{method:"POST",headers:{...e,"Content-Type":"application/json"},body:JSON.stringify({audio_url:h,speech_models:[c],language_detection:!0})});if(!i.ok)return E(i);let{id:j}=await i.json(),k=Date.now();for(;Date.now()-k<12e4;){await new Promise(a=>setTimeout(a,2e3));let b=await fetch(`${a.baseUrl}/${j}`,{headers:e});if(!b.ok)continue;let c=await b.json();if("completed"===c.status)return L({text:c.text||""});if("error"===c.status)return(0,A.A1)(500,c.error||"AssemblyAI failed")}return(0,A.A1)(504,"AssemblyAI timeout after 120s")}async function H(a,b,c,d){let e=new FormData;e.append("file",b,b.name||"audio.wav"),e.append("model",c);let f=await fetch(a.baseUrl,{method:"POST",headers:C(a,d),body:e});if(!f.ok)return E(f);let g=await f.json();return L({text:g.text||g.transcript||""})}async function I(a,b,c,d,e){let f=await b.arrayBuffer(),g=z.Buffer.from(f).toString("base64"),h=D(b),i=e.get("language"),j=e.get("prompt"),k=j&&"string"==typeof j&&j.trim()?j.trim():"Generate a transcript of the speech. Return only the transcribed text, no commentary.";"string"==typeof i&&i.trim()&&(k+=` Language: ${i.trim()}.`);let l=`${a.baseUrl}/${c}:generateContent?key=${d}`,m=await fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:[{parts:[{text:k},{inline_data:{mime_type:h,data:g}}]}]})});if(!m.ok)return E(m);let n=await m.json();return L({text:n?.candidates?.[0]?.content?.parts?.map(a=>a.text).filter(Boolean).join("")||""})}async function J(a,b,c,d){if(c.includes("..")||c.includes("//"))return(0,A.A1)(400,"Invalid model ID");let e=`${a.baseUrl.replace(/\/+$/,"")}/${c}`,f=await b.arrayBuffer(),g=await fetch(e,{method:"POST",headers:{...C(a,d),"Content-Type":D(b)},body:f});return g.ok?L({text:(await g.json()).text||""}):E(g)}async function K(a,b,c,d,e){let f=new FormData;for(let a of(f.append("file",b,b.name||"audio.wav"),f.append("model",c),["language","prompt","response_format","temperature"])){let b=e.get(a);null!=b&&""!==b&&f.append(a,b)}let g=await fetch(a.baseUrl,{method:"POST",headers:C(a,d),body:f});if(!g.ok)return E(g);let h=g.headers.get("content-type")||"application/json";return{success:!0,response:new Response(await g.text(),{status:200,headers:{"Content-Type":h,"Access-Control-Allow-Origin":"*"}})}}function L(a){return{success:!0,response:new Response(JSON.stringify(a),{status:200,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}async function M({provider:a,model:b,formData:c,credentials:d,sttConfig:e}){let f=c.get("file");if(!f)return(0,A.A1)(B.gx.BAD_REQUEST,"Missing required field: file");if(!e)return(0,A.A1)(B.gx.BAD_REQUEST,`Provider '${a}' does not support STT`);let g="none"===e.authType?null:d?.apiKey||d?.accessToken;if("none"!==e.authType&&!g)return(0,A.A1)(B.gx.UNAUTHORIZED,`No credentials for STT provider: ${a}`);try{switch(e.format){case"deepgram":return await F(e,f,b,g,c);case"assemblyai":return await G(e,f,b,g);case"nvidia-asr":return await H(e,f,b,g);case"huggingface-asr":return await J(e,f,b,g);case"gemini-stt":return await I(e,f,b,g,c);default:return await K(e,f,b,g,c)}}catch(a){return(0,A.A1)(B.gx.BAD_GATEWAY,a.message||"STT request failed")}}var N=c(91253),O=c(90293);let P=new Set(Object.entries(N.AI_PROVIDERS).filter(([,a])=>a.serviceKinds?.includes("stt")&&!a.noAuth&&a.sttConfig?.authType!=="none").map(([a])=>a));async function Q(a){let b;try{b=await a.formData()}catch{return(0,A.yj)(B.gx.BAD_REQUEST,"Invalid multipart form data")}let c=b.get("model");O.request("POST",`/v1/audio/transcriptions | ${c}`);let d=await (0,x.mt)(),e=null;if(!await (0,v.Ov)(a)&&d.requireApiKey){let b=(0,v.Tr)(a);if(!b)return(0,A.yj)(B.gx.UNAUTHORIZED,"Missing API key");if(!(e=await (0,v.kI)(b)))return(0,A.yj)(B.gx.UNAUTHORIZED,"Invalid API key")}if(!c)return(0,A.yj)(B.gx.BAD_REQUEST,"Missing model");if(!(0,v.L$)(e,"stt"))return O.warn("AUTH","STT kind not allowed for API key"),(0,A.yj)(B.gx.FORBIDDEN,"STT requests are not allowed for this API key");if(!b.get("file"))return(0,A.yj)(B.gx.BAD_REQUEST,"Missing required field: file");let f=await (0,y.mA)(c);if(!f.provider)return(0,A.yj)(B.gx.BAD_REQUEST,"Invalid model format");let{provider:g,model:h}=f;if(!await (0,v.kt)(e,g))return O.warn("AUTH",`Provider "${g}" not allowed for API key`,{provider:g}),(0,A.yj)(B.gx.FORBIDDEN,`Provider "${g}" is not allowed for this API key`);let i=`${g}/${h}`;if(!(c===i?await (0,w.Uw)(i,e):await (0,w.Uw)(c,e)||await (0,w.Uw)(i,e)))return O.warn("STT","Model not in available models list",{model:i}),(0,A.yj)(B.gx.NOT_FOUND,`Model "${i}" is not available.`);if(O.info("ROUTING",`Provider: ${g}, Model: ${h}`),!P.has(g)){let a=await M({provider:g,model:h,formData:b,sttConfig:N.AI_PROVIDERS[g]?.sttConfig});return a.success?a.response:(0,A.yj)(a.status||B.gx.BAD_GATEWAY,a.error||"STT failed")}let j=new Set,k=null,l=null;for(;;){let a=await (0,v.c1)(g,j,h);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=k||a.lastError||"Unavailable",c=l||Number(a.lastErrorCode)||B.gx.SERVICE_UNAVAILABLE;return(0,A.wO)(c,`[${g}/${h}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===j.size)return(0,A.yj)(B.gx.BAD_REQUEST,`No credentials for provider: ${g}`);return(0,A.yj)(l||B.gx.SERVICE_UNAVAILABLE,k||"All accounts unavailable")}O.info("AUTH",`\x1b[32mUsing ${g} account: ${a.connectionName}\x1b[0m`);let c=await M({provider:g,model:h,formData:b,credentials:a,sttConfig:N.AI_PROVIDERS[g]?.sttConfig});if(c.success)return c.response;let{shouldFallback:d}=await (0,v.vk)(a.connectionId,c.status,c.error,g,h);if(d){j.add(a.connectionId),k=c.error,l=c.status;continue}return c.response||(0,A.yj)(c.status,c.error)}}let R=300;async function S(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function T(a){return await Q(a)}let U=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/audio/transcriptions/route",pathname:"/api/v1/audio/transcriptions",filename:"route",bundlePath:"app/api/v1/audio/transcriptions/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/v1/audio/transcriptions/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:V,workUnitAsyncStorage:W,serverHooks:X}=U;function Y(){return(0,g.patchFetch)({workAsyncStorage:V,workUnitAsyncStorage:W})}async function Z(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),U.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/audio/transcriptions/route";"/index"===d&&(d="/");let e=await U.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||U.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===U.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 U.getIncrementalCache(a,x,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={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)=>U.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=>U.handle(X,T).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=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(V,W,d,T.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!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.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 U.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await U.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 U.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")},13946:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(68711);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]}},21820:a=>{a.exports=require("os")},23095:(a,b,c)=>{c.d(b,{Xh:()=>f,js:()=>g});var d=c(69765);let e={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.A)for(let b of(e[a.id]=a.id,a.alias&&(e[a.alias]=a.id),a.aliases||[]))e[b]=a.id;function f(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:e[c]||c,model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}async function g(a,b){let c=f(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,g=function(a,b){var c,d;if(!b)return null;let f=b[a];if(!f)return null;if("string"==typeof f&&f.includes("/")){let a=f.indexOf("/");return{provider:e[c=f.slice(0,a)]||c,model:f.slice(a+1)}}return"object"==typeof f&&f.provider&&f.model?{provider:e[d=f.provider]||d,model:f.model}:null}(c.model,d);return g||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return h.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let h=[[/^claude-/,"anthropic"],[/^gemini-/,"gemini"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},29021:a=>{a.exports=require("fs")},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")},66781:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>i});var d=c(94164),e=c(23095),f=c(69765);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},h=new Set(Object.keys(g));for(let a of f.A)for(let b of(h.add(a.id),a.alias&&h.add(a.alias),a.aliases||[]))h.add(b);async function i(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){if(!h.has(c.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model}}return{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},84310:(a,b,c)=>{c.d(b,{PX:()=>v,Uw:()=>z});var d=c(67259),e=c(91253),f=c(94164),g=c(76489);let h=/[-_][0-9a-f]{8,}$/i,i=["llm","tts","embedding","image","imageToText","stt","webSearch","webFetch"],j={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function k(a){return a?.kind?a.kind:a?.type&&j[a.type]||"llm"}function l(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}function m(a,b){let c=e.AI_PROVIDERS[a];return(Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"]).some(a=>b.has(a))}let n={},o={};async function p(a,b){let c=b?.modelsFetcher;if(!c?.url)return[];let d=Date.now();if(n[a]&&d<(o[a]||0))return n[a];try{let b,e=new AbortController,f=setTimeout(()=>e.abort(),8e3),g=await fetch(c.url,{method:"GET",headers:{"Content-Type":"application/json"},cache:"no-store",signal:e.signal});if(clearTimeout(f),!g.ok)return[];let h=await g.json(),i=Array.isArray(h)?h:h?.data||h?.models||h?.results||[];b="opencode-free"===c.type?i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&c.endsWith("-free")&&a.push(c),a},[]):i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[]);let j=Array.from(new Set(b));return n[a]=j,o[a]=d+3e5,j}catch{return n[a]||[]}}async function q(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let f=await e.json(),g=Array.isArray(f)?f:f?.data||f?.models||f?.results||[];return Array.from(new Set(g.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[])))}catch{return[]}}async function r(){let a=!1,b=[];try{b=await (0,f.getProviderConnections)(),a=!0,b=b.filter(a=>!1!==a.isActive)}catch{}let c=[];try{c=await (0,f.Uv)(),a=!0}catch{}let d=[];try{d=await (0,f.uv)()}catch{}let e={};try{e=await (0,f.OM)()}catch{}let h={};try{h=await (0,g.vF)()}catch{}let i=new Map;for(let a of b)i.has(a.provider)||i.set(a.provider,a);return{connections:b,combos:c,customModels:d,modelAliases:e,isDisabled:(a,b)=>Array.isArray(h[a])&&h[a].includes(b),activeConnectionByProvider:i,dbAvailable:a}}async function s(a,b,c,f,g,h,i){a=new Set(a);let j=[];for(let c of b){if(!function(a,b){let c=a?.kind||"llm";return b.has(c)}(c,a))continue;let b={id:`combo/${c.name}`};("webSearch"===c.kind||"webFetch"===c.kind)&&(b.kind=c.kind),j.push(b)}if(i)for(let b of(await Promise.all([...h.entries()].reduce((b,[d,e])=>(m(d,a)&&b.push(t(d,e,a,c,f,g)),b),[]))))j.push(...b);else{let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(m(b[c]||c,a))for(let b of e)a.has(k(b))&&(g(c,b.id)||j.push({id:`${c}/${b.id}`}));for(let b of c){if(!b?.id||b.type&&"llm"!==b.type||!a.has("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&j.push({id:`${c}/${d}`})}}for(let b of(await Promise.all(Object.entries(e.AI_PROVIDERS).reduce((b,[d,e])=>(!h.has(d)&&e.noAuth&&m(d,a)&&b.push(u(d,e,a,c,f,g)),b),[]))))j.push(...b);return j}async function t(a,b,c,f,g,i){let j=[],m=d.Xg[a]||a,n=(b?.providerSpecificData?.prefix||(0,e.wG)(a)||m).trim(),o=d.vq[m]||[],r=b?.providerSpecificData?.enabledModels,s=Array.isArray(r)&&r.length>0,t=(0,e.mq)(a)||(0,e.gb)(a),u=e.AI_PROVIDERS[a]?.passthroughModels===!0,v=new Map(o.map(a=>[a.id,k(a)])),w=s?Array.from(new Set(r.filter(a=>"string"==typeof a&&""!==a.trim()))):o.map(a=>a.id);t&&0===w.length&&!h.test(a)&&(w=await q(b));let x=e.AI_PROVIDERS[a];for(let b of(x?.noAuth&&x?.modelsFetcher&&(w=Array.from(new Set([...w,...await p(a,x)]))),u&&0===w.length&&(w=o.map(a=>a.id)),u&&!s&&(w=o.map(a=>a.id)),Array.from(new Set([...w.reduce((b,c)=>{let d=c;return d.startsWith(`${n}/`)?d=d.slice(n.length+1):d.startsWith(`${m}/`)?d=d.slice(m.length+1):d.startsWith(`${a}/`)&&(d=d.slice(a.length+1)),"string"==typeof d&&""!==d.trim()&&b.push(d),b},[]),...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==m&&d!==n&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${n}/`)||c.startsWith(`${m}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${n}/`)?c.slice(n.length+1):c.startsWith(`${m}/`)?c.slice(m.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=v.get(b)||l(b);c.has(a)&&(i(n,b)||i(m,b)||j.push({id:`${n}/${b}`}))}if(c.has("tts")&&Array.isArray(x?.ttsConfig?.models))for(let a of x.ttsConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});if(c.has("embedding")&&Array.isArray(x?.embeddingConfig?.models))for(let a of x.embeddingConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});return c.has("webSearch")&&x?.searchConfig&&j.push({id:`${n}/search`,kind:"webSearch"}),c.has("webFetch")&&x?.fetchConfig&&j.push({id:`${n}/fetch`,kind:"webFetch"}),j}async function u(a,b,c,f,g,h){let i=[],j=(0,e.wG)(a)||b.alias||a,m=new Map((d.vq[j]||[]).map(a=>[a.id,k(a)])),n=(d.vq[j]||[]).map(a=>a.id),o=[];for(let d of(b.modelsFetcher&&(o=await p(a,b)),Array.from(new Set([...n,...o,...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==j&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${j}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${j}/`)?c.slice(j.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=m.get(d)||l(d);c.has(a)&&(h(j,d)||i.push({id:`${j}/${d}`}))}if(c.has("tts")&&Array.isArray(b?.ttsConfig?.models))for(let a of b.ttsConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});if(c.has("embedding")&&Array.isArray(b?.embeddingConfig?.models))for(let a of b.embeddingConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});return c.has("webSearch")&&b?.searchConfig&&i.push({id:`${j}/search`,kind:"webSearch"}),c.has("webFetch")&&b?.fetchConfig&&i.push({id:`${j}/fetch`,kind:"webFetch"}),i}async function v(a){let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(a,b,c,d,e,f,g),i=new Set,j=[];for(let a of h){if(!a?.id||i.has(a.id))continue;i.add(a.id);let b={id:a.id,object:"model",owned_by:a.id.includes("/")?a.id.split("/")[0]:"combo"};a.kind&&(b.kind=a.kind),j.push(b)}return j}let w=null,x=0;async function y(){let a=Date.now();if(w&&a<x)return w;let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(i,b,c,d,e,f,g),j=new Set;for(let a of h)a?.id&&j.add(a.id);return w=j,x=a+3e4,j}async function z(a,b=null){return!b||(await y()).has(a)}},85577:(a,b,c)=>{c.d(b,{Xg:()=>o,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>p,ux:()=>k,OA:()=>l,kt:()=>m,SM:()=>i});var d=c(13946),e=c(69765),f=c(68711),g=c(57959);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}function k(a,b){let c=f.vq[a];return c?(0,g.gr)(c.find(a=>a.id===b)):null}function l(a,b){let c=f.vq[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.kind||d?.type||null}function m(a,b){let c=f.vq[a],d=c?.find(a=>a.id===b);return d?.upstreamModelId?d.upstreamModelId:"cx"===a&&"string"==typeof b&&b.endsWith(h)?b.slice(0,-h.length):b}let n=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),o=Object.fromEntries(Object.keys(d.xq).map(a=>[a,n[a]||a]));function p(a,b){return(0,g.g5)(f.vq[a]?.find(a=>a.id===b))}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},94164:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(45479)},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1348,9787,9633,9765,8711,2445,818],()=>b(b.s=6383));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=1910,a.ids=[1910,5577],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},4573:a=>{a.exports=require("node:buffer")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},13946:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(68711);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]}},21820:a=>{a.exports=require("os")},23095:(a,b,c)=>{c.d(b,{Xh:()=>f,js:()=>g});var d=c(69765);let e={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.A)for(let b of(e[a.id]=a.id,a.alias&&(e[a.alias]=a.id),a.aliases||[]))e[b]=a.id;function f(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:e[c]||c,model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}async function g(a,b){let c=f(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,g=function(a,b){var c,d;if(!b)return null;let f=b[a];if(!f)return null;if("string"==typeof f&&f.includes("/")){let a=f.indexOf("/");return{provider:e[c=f.slice(0,a)]||c,model:f.slice(a+1)}}return"object"==typeof f&&f.provider&&f.model?{provider:e[d=f.provider]||d,model:f.model}:null}(c.model,d);return g||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return h.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let h=[[/^claude-/,"anthropic"],[/^gemini-/,"gemini"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},29021:a=>{a.exports=require("fs")},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")},46817:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>Z,patchFetch:()=>Y,routeModule:()=>U,serverHooks:()=>X,workAsyncStorage:()=>V,workUnitAsyncStorage:()=>W});var d={};c.r(d),c.d(d,{OPTIONS:()=>S,POST:()=>T,maxDuration:()=>R});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(14836),w=c(84310),x=c(94164),y=c(66781),z=c(4573),A=c(15261),B=c(92398);function C(a,b){if(!b)return{};switch(a.authHeader){case"bearer":default:return{Authorization:`Bearer ${b}`};case"token":return{Authorization:`Token ${b}`};case"x-api-key":return{"x-api-key":b};case"key":return{Authorization:`Key ${b}`}}}function D(a){let b=(a.type||"").toLowerCase();if(b.startsWith("audio/"))return b;let c="string"==typeof a.name?a.name.toLowerCase():"";return({mp3:"audio/mpeg",mp4:"audio/mp4",m4a:"audio/mp4",wav:"audio/wav",ogg:"audio/ogg",flac:"audio/flac",webm:"audio/webm",aac:"audio/aac",opus:"audio/opus"})[c.includes(".")?c.split(".").pop():""]||"application/octet-stream"}async function E(a){let b="";try{b=await a.text()}catch{}let c=b||`Upstream error (${a.status})`;try{let a=JSON.parse(b);c=a?.error?.message||a?.error||a?.message||c}catch{}return(0,A.A1)(a.status,"string"==typeof c?c:JSON.stringify(c))}async function F(a,b,c,d,e){let f=new URL(a.baseUrl);f.searchParams.set("model",c),f.searchParams.set("smart_format","true"),f.searchParams.set("punctuate","true");let g=e.get("language");"string"==typeof g&&g.trim()?f.searchParams.set("language",g.trim()):f.searchParams.set("detect_language","true");let h=await b.arrayBuffer(),i=await fetch(f,{method:"POST",headers:{...C(a,d),"Content-Type":D(b)},body:h});if(!i.ok)return E(i);let j=await i.json();return L({text:j.results?.channels?.[0]?.alternatives?.[0]?.transcript??""})}async function G(a,b,c,d){let e=C(a,d),f=await b.arrayBuffer(),g=await fetch("https://api.assemblyai.com/v2/upload",{method:"POST",headers:{...e,"Content-Type":"application/octet-stream"},body:f});if(!g.ok)return E(g);let{upload_url:h}=await g.json(),i=await fetch(a.baseUrl,{method:"POST",headers:{...e,"Content-Type":"application/json"},body:JSON.stringify({audio_url:h,speech_models:[c],language_detection:!0})});if(!i.ok)return E(i);let{id:j}=await i.json(),k=Date.now();for(;Date.now()-k<12e4;){await new Promise(a=>setTimeout(a,2e3));let b=await fetch(`${a.baseUrl}/${j}`,{headers:e});if(!b.ok)continue;let c=await b.json();if("completed"===c.status)return L({text:c.text||""});if("error"===c.status)return(0,A.A1)(500,c.error||"AssemblyAI failed")}return(0,A.A1)(504,"AssemblyAI timeout after 120s")}async function H(a,b,c,d){let e=new FormData;e.append("file",b,b.name||"audio.wav"),e.append("model",c);let f=await fetch(a.baseUrl,{method:"POST",headers:C(a,d),body:e});if(!f.ok)return E(f);let g=await f.json();return L({text:g.text||g.transcript||""})}async function I(a,b,c,d,e){let f=await b.arrayBuffer(),g=z.Buffer.from(f).toString("base64"),h=D(b),i=e.get("language"),j=e.get("prompt"),k=j&&"string"==typeof j&&j.trim()?j.trim():"Generate a transcript of the speech. Return only the transcribed text, no commentary.";"string"==typeof i&&i.trim()&&(k+=` Language: ${i.trim()}.`);let l=`${a.baseUrl}/${c}:generateContent?key=${d}`,m=await fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:[{parts:[{text:k},{inline_data:{mime_type:h,data:g}}]}]})});if(!m.ok)return E(m);let n=await m.json();return L({text:n?.candidates?.[0]?.content?.parts?.map(a=>a.text).filter(Boolean).join("")||""})}async function J(a,b,c,d){if(c.includes("..")||c.includes("//"))return(0,A.A1)(400,"Invalid model ID");let e=`${a.baseUrl.replace(/\/+$/,"")}/${c}`,f=await b.arrayBuffer(),g=await fetch(e,{method:"POST",headers:{...C(a,d),"Content-Type":D(b)},body:f});return g.ok?L({text:(await g.json()).text||""}):E(g)}async function K(a,b,c,d,e){let f=new FormData;for(let a of(f.append("file",b,b.name||"audio.wav"),f.append("model",c),["language","prompt","response_format","temperature"])){let b=e.get(a);null!=b&&""!==b&&f.append(a,b)}let g=await fetch(a.baseUrl,{method:"POST",headers:C(a,d),body:f});if(!g.ok)return E(g);let h=g.headers.get("content-type")||"application/json";return{success:!0,response:new Response(await g.text(),{status:200,headers:{"Content-Type":h,"Access-Control-Allow-Origin":"*"}})}}function L(a){return{success:!0,response:new Response(JSON.stringify(a),{status:200,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}async function M({provider:a,model:b,formData:c,credentials:d,sttConfig:e}){let f=c.get("file");if(!f)return(0,A.A1)(B.gx.BAD_REQUEST,"Missing required field: file");if(!e)return(0,A.A1)(B.gx.BAD_REQUEST,`Provider '${a}' does not support STT`);let g="none"===e.authType?null:d?.apiKey||d?.accessToken;if("none"!==e.authType&&!g)return(0,A.A1)(B.gx.UNAUTHORIZED,`No credentials for STT provider: ${a}`);try{switch(e.format){case"deepgram":return await F(e,f,b,g,c);case"assemblyai":return await G(e,f,b,g);case"nvidia-asr":return await H(e,f,b,g);case"huggingface-asr":return await J(e,f,b,g);case"gemini-stt":return await I(e,f,b,g,c);default:return await K(e,f,b,g,c)}}catch(a){return(0,A.A1)(B.gx.BAD_GATEWAY,a.message||"STT request failed")}}var N=c(91253),O=c(90293);let P=new Set(Object.entries(N.AI_PROVIDERS).filter(([,a])=>a.serviceKinds?.includes("stt")&&!a.noAuth&&a.sttConfig?.authType!=="none").map(([a])=>a));async function Q(a){let b;try{b=await a.formData()}catch{return(0,A.yj)(B.gx.BAD_REQUEST,"Invalid multipart form data")}let c=b.get("model");O.request("POST",`/v1/audio/transcriptions | ${c}`);let d=await (0,x.mt)(),e=null;if(!await (0,v.Ov)(a)&&d.requireApiKey){let b=(0,v.Tr)(a);if(!b)return(0,A.yj)(B.gx.UNAUTHORIZED,"Missing API key");if(!(e=await (0,v.kI)(b)))return(0,A.yj)(B.gx.UNAUTHORIZED,"Invalid API key")}if(!c)return(0,A.yj)(B.gx.BAD_REQUEST,"Missing model");if(!(0,v.L$)(e,"stt"))return O.warn("AUTH","STT kind not allowed for API key"),(0,A.yj)(B.gx.FORBIDDEN,"STT requests are not allowed for this API key");if(!b.get("file"))return(0,A.yj)(B.gx.BAD_REQUEST,"Missing required field: file");let f=await (0,y.mA)(c);if(!f.provider)return(0,A.yj)(B.gx.BAD_REQUEST,"Invalid model format");let{provider:g,model:h}=f;if(!await (0,v.kt)(e,g))return O.warn("AUTH",`Provider "${g}" not allowed for API key`,{provider:g}),(0,A.yj)(B.gx.FORBIDDEN,`Provider "${g}" is not allowed for this API key`);let i=`${g}/${h}`;if(!(c===i?await (0,w.Uw)(i,e):await (0,w.Uw)(c,e)||await (0,w.Uw)(i,e)))return O.warn("STT","Model not in available models list",{model:i}),(0,A.yj)(B.gx.NOT_FOUND,`Model "${i}" is not available.`);if(O.info("ROUTING",`Provider: ${g}, Model: ${h}`),!P.has(g)){let a=await M({provider:g,model:h,formData:b,sttConfig:N.AI_PROVIDERS[g]?.sttConfig});return a.success?a.response:(0,A.yj)(a.status||B.gx.BAD_GATEWAY,a.error||"STT failed")}let j=new Set,k=null,l=null;for(;;){let a=await (0,v.c1)(g,j,h);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=k||a.lastError||"Unavailable",c=l||Number(a.lastErrorCode)||B.gx.SERVICE_UNAVAILABLE;return(0,A.wO)(c,`[${g}/${h}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===j.size)return(0,A.yj)(B.gx.BAD_REQUEST,`No credentials for provider: ${g}`);return(0,A.yj)(l||B.gx.SERVICE_UNAVAILABLE,k||"All accounts unavailable")}O.info("AUTH",`\x1b[32mUsing ${g} account: ${a.connectionName}\x1b[0m`);let c=await M({provider:g,model:h,formData:b,credentials:a,sttConfig:N.AI_PROVIDERS[g]?.sttConfig});if(c.success)return c.response;let{shouldFallback:d}=await (0,v.vk)(a.connectionId,c.status,c.error,g,h);if(d){j.add(a.connectionId),k=c.error,l=c.status;continue}return c.response||(0,A.yj)(c.status,c.error)}}let R=300;async function S(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function T(a){return await Q(a)}let U=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/audio/transcriptions/route",pathname:"/api/v1/audio/transcriptions",filename:"route",bundlePath:"app/api/v1/audio/transcriptions/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/v1/audio/transcriptions/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:V,workUnitAsyncStorage:W,serverHooks:X}=U;function Y(){return(0,g.patchFetch)({workAsyncStorage:V,workUnitAsyncStorage:W})}async function Z(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),U.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/audio/transcriptions/route";"/index"===d&&(d="/");let e=await U.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||U.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===U.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 U.getIncrementalCache(a,x,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={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)=>U.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=>U.handle(X,T).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=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(V,W,d,T.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!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.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 U.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await U.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 U.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}}},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66781:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>i});var d=c(94164),e=c(23095),f=c(69765);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},h=new Set(Object.keys(g));for(let a of f.A)for(let b of(h.add(a.id),a.alias&&h.add(a.alias),a.aliases||[]))h.add(b);async function i(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){if(!h.has(c.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model}}return{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},84310:(a,b,c)=>{c.d(b,{PX:()=>v,Uw:()=>z});var d=c(67259),e=c(91253),f=c(94164),g=c(76489);let h=/[-_][0-9a-f]{8,}$/i,i=["llm","tts","embedding","image","imageToText","stt","webSearch","webFetch"],j={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function k(a){return a?.kind?a.kind:a?.type&&j[a.type]||"llm"}function l(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}function m(a,b){let c=e.AI_PROVIDERS[a];return(Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"]).some(a=>b.has(a))}let n={},o={};async function p(a,b){let c=b?.modelsFetcher;if(!c?.url)return[];let d=Date.now();if(n[a]&&d<(o[a]||0))return n[a];try{let b,e=new AbortController,f=setTimeout(()=>e.abort(),8e3),g=await fetch(c.url,{method:"GET",headers:{"Content-Type":"application/json"},cache:"no-store",signal:e.signal});if(clearTimeout(f),!g.ok)return[];let h=await g.json(),i=Array.isArray(h)?h:h?.data||h?.models||h?.results||[];b="opencode-free"===c.type?i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&c.endsWith("-free")&&a.push(c),a},[]):i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[]);let j=Array.from(new Set(b));return n[a]=j,o[a]=d+3e5,j}catch{return n[a]||[]}}async function q(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let f=await e.json(),g=Array.isArray(f)?f:f?.data||f?.models||f?.results||[];return Array.from(new Set(g.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[])))}catch{return[]}}async function r(){let a=!1,b=[];try{b=await (0,f.getProviderConnections)(),a=!0,b=b.filter(a=>!1!==a.isActive)}catch{}let c=[];try{c=await (0,f.Uv)(),a=!0}catch{}let d=[];try{d=await (0,f.uv)()}catch{}let e={};try{e=await (0,f.OM)()}catch{}let h={};try{h=await (0,g.vF)()}catch{}let i=new Map;for(let a of b)i.has(a.provider)||i.set(a.provider,a);return{connections:b,combos:c,customModels:d,modelAliases:e,isDisabled:(a,b)=>Array.isArray(h[a])&&h[a].includes(b),activeConnectionByProvider:i,dbAvailable:a}}async function s(a,b,c,f,g,h,i){a=new Set(a);let j=[];for(let c of b){if(!function(a,b){let c=a?.kind||"llm";return b.has(c)}(c,a))continue;let b={id:`combo/${c.name}`};("webSearch"===c.kind||"webFetch"===c.kind)&&(b.kind=c.kind),j.push(b)}if(i)for(let b of(await Promise.all([...h.entries()].reduce((b,[d,e])=>(m(d,a)&&b.push(t(d,e,a,c,f,g)),b),[]))))j.push(...b);else{let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(m(b[c]||c,a))for(let b of e)a.has(k(b))&&(g(c,b.id)||j.push({id:`${c}/${b.id}`}));for(let b of c){if(!b?.id||b.type&&"llm"!==b.type||!a.has("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&j.push({id:`${c}/${d}`})}}for(let b of(await Promise.all(Object.entries(e.AI_PROVIDERS).reduce((b,[d,e])=>(!h.has(d)&&e.noAuth&&m(d,a)&&b.push(u(d,e,a,c,f,g)),b),[]))))j.push(...b);return j}async function t(a,b,c,f,g,i){let j=[],m=d.Xg[a]||a,n=(b?.providerSpecificData?.prefix||(0,e.wG)(a)||m).trim(),o=d.vq[m]||[],r=b?.providerSpecificData?.enabledModels,s=Array.isArray(r)&&r.length>0,t=(0,e.mq)(a)||(0,e.gb)(a),u=e.AI_PROVIDERS[a]?.passthroughModels===!0,v=new Map(o.map(a=>[a.id,k(a)])),w=s?Array.from(new Set(r.filter(a=>"string"==typeof a&&""!==a.trim()))):o.map(a=>a.id);t&&0===w.length&&!h.test(a)&&(w=await q(b));let x=e.AI_PROVIDERS[a];for(let b of(x?.noAuth&&x?.modelsFetcher&&(w=Array.from(new Set([...w,...await p(a,x)]))),u&&0===w.length&&(w=o.map(a=>a.id)),u&&!s&&(w=o.map(a=>a.id)),Array.from(new Set([...w.reduce((b,c)=>{let d=c;return d.startsWith(`${n}/`)?d=d.slice(n.length+1):d.startsWith(`${m}/`)?d=d.slice(m.length+1):d.startsWith(`${a}/`)&&(d=d.slice(a.length+1)),"string"==typeof d&&""!==d.trim()&&b.push(d),b},[]),...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==m&&d!==n&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${n}/`)||c.startsWith(`${m}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${n}/`)?c.slice(n.length+1):c.startsWith(`${m}/`)?c.slice(m.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=v.get(b)||l(b);c.has(a)&&(i(n,b)||i(m,b)||j.push({id:`${n}/${b}`}))}if(c.has("tts")&&Array.isArray(x?.ttsConfig?.models))for(let a of x.ttsConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});if(c.has("embedding")&&Array.isArray(x?.embeddingConfig?.models))for(let a of x.embeddingConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});return c.has("webSearch")&&x?.searchConfig&&j.push({id:`${n}/search`,kind:"webSearch"}),c.has("webFetch")&&x?.fetchConfig&&j.push({id:`${n}/fetch`,kind:"webFetch"}),j}async function u(a,b,c,f,g,h){let i=[],j=(0,e.wG)(a)||b.alias||a,m=new Map((d.vq[j]||[]).map(a=>[a.id,k(a)])),n=(d.vq[j]||[]).map(a=>a.id),o=[];for(let d of(b.modelsFetcher&&(o=await p(a,b)),Array.from(new Set([...n,...o,...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==j&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${j}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${j}/`)?c.slice(j.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=m.get(d)||l(d);c.has(a)&&(h(j,d)||i.push({id:`${j}/${d}`}))}if(c.has("tts")&&Array.isArray(b?.ttsConfig?.models))for(let a of b.ttsConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});if(c.has("embedding")&&Array.isArray(b?.embeddingConfig?.models))for(let a of b.embeddingConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});return c.has("webSearch")&&b?.searchConfig&&i.push({id:`${j}/search`,kind:"webSearch"}),c.has("webFetch")&&b?.fetchConfig&&i.push({id:`${j}/fetch`,kind:"webFetch"}),i}async function v(a){let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(a,b,c,d,e,f,g),i=new Set,j=[];for(let a of h){if(!a?.id||i.has(a.id))continue;i.add(a.id);let b={id:a.id,object:"model",owned_by:a.id.includes("/")?a.id.split("/")[0]:"combo"};a.kind&&(b.kind=a.kind),j.push(b)}return j}let w=null,x=0;async function y(){let a=Date.now();if(w&&a<x)return w;let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(i,b,c,d,e,f,g),j=new Set;for(let a of h)a?.id&&j.add(a.id);return w=j,x=a+3e4,j}async function z(a,b=null){return!b||(await y()).has(a)}},85577:(a,b,c)=>{c.d(b,{Xg:()=>q,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>r,ux:()=>m,OA:()=>n,kt:()=>o,SM:()=>i});var d=c(13946),e=c(69765),f=c(68711),g=c(57959);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"]);function l(a,b,c){if(!a)return;let d=a.find(a=>a.id===b);if(d)return d;if(!k.has(c))return;let e=(0,g.Kq)(b);if(e!==b)return a.find(a=>a.id===e)}function m(a,b){let c=f.vq[a];return c?(0,g.gr)(l(c,b,a)):null}function n(a,b){let c=f.vq[a];if(!c)return null;let d=l(c,b,a);return d?.kind||d?.type||null}function o(a,b){let c=l(f.vq[a],b,a);return c?.upstreamModelId?c.upstreamModelId:c?.id?c.id:"cx"===a&&"string"==typeof b&&b.endsWith(h)?b.slice(0,-h.length):b}let p=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),q=Object.fromEntries(Object.keys(d.xq).map(a=>[a,p[a]||a]));function r(a,b){return(0,g.g5)(l(f.vq[a],b,a))}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},94164:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(45479)},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1348,9787,9633,9765,8711,2445,818],()=>b(b.s=46817));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=3888,a.ids=[1253,3888],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12334:(a,b,c)=>{"use strict";a.exports=c(44870)},13674:()=>{},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},47471:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(91591),e=c(34246),f=c(13093);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91253:(a,b,c)=>{"use strict";c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,rs:()=>u});var d=c(69765);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.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=d.A.filter(a=>a.features?.usage).map(a=>a.id),y=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id)},95228:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>E,patchFetch:()=>D,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var d={};c.r(d),c.d(d,{GET:()=>y,OPTIONS:()=>x});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(91253);let w={elevenlabs:a=>`${a}/api/media-providers/tts/elevenlabs/voices`,deepgram:a=>`${a}/api/media-providers/tts/deepgram/voices`,inworld:a=>`${a}/api/media-providers/tts/inworld/voices`,"edge-tts":a=>`${a}/api/media-providers/tts/voices?provider=edge-tts`,"local-device":a=>`${a}/api/media-providers/tts/voices?provider=local-device`};async function x(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS"}})}async function y(a){try{let{searchParams:b,origin:c}=new URL(a.url),d=b.get("provider"),e=b.get("lang");if(!d||!w[d])return Response.json({error:{message:`provider must be one of: ${Object.keys(w).join(", ")}`,type:"invalid_request_error"}},{status:400,headers:{"Access-Control-Allow-Origin":"*"}});let f=w[d](c),g=e?`${f}${f.includes("?")?"&":"?"}lang=${encodeURIComponent(e)}`:f,h=await fetch(g,{cache:"no-store"}),i=await h.json();if(!h.ok||i.error)return Response.json({error:{message:i.error||`Upstream ${h.status}`,type:"server_error"}},{status:h.status,headers:{"Access-Control-Allow-Origin":"*"}});let j=e?i.voices||[]:Object.values(i.byLang||{}).flatMap(a=>a.voices||[]),k=v.AI_PROVIDERS[d]?.alias||d,l=j.map(a=>({id:a.id,name:a.name,lang:a.lang||"",gender:a.gender||"",model:`${k}/${a.id}`}));return Response.json({object:"list",data:l},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return Response.json({error:{message:a.message||"Failed",type:"server_error"}},{status:502,headers:{"Access-Control-Allow-Origin":"*"}})}}let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/audio/voices/route",pathname:"/api/v1/audio/voices",filename:"route",bundlePath:"app/api/v1/audio/voices/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/v1/audio/voices/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function D(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function E(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/audio/voices/route";"/index"===d&&(d="/");let e=await z.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:A,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&&!A){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||z.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===z.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 z.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)=>z.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=>z.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 z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.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"),A&&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 z.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}}},95522:()=>{}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1348,9765],()=>b(b.s=95228));module.exports=c})();
1
+ (()=>{var a={};a.id=3888,a.ids=[1253,3888],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12334:(a,b,c)=>{"use strict";a.exports=c(44870)},12768:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>E,patchFetch:()=>D,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var d={};c.r(d),c.d(d,{GET:()=>y,OPTIONS:()=>x});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(91253);let w={elevenlabs:a=>`${a}/api/media-providers/tts/elevenlabs/voices`,deepgram:a=>`${a}/api/media-providers/tts/deepgram/voices`,inworld:a=>`${a}/api/media-providers/tts/inworld/voices`,"edge-tts":a=>`${a}/api/media-providers/tts/voices?provider=edge-tts`,"local-device":a=>`${a}/api/media-providers/tts/voices?provider=local-device`};async function x(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS"}})}async function y(a){try{let{searchParams:b,origin:c}=new URL(a.url),d=b.get("provider"),e=b.get("lang");if(!d||!w[d])return Response.json({error:{message:`provider must be one of: ${Object.keys(w).join(", ")}`,type:"invalid_request_error"}},{status:400,headers:{"Access-Control-Allow-Origin":"*"}});let f=w[d](c),g=e?`${f}${f.includes("?")?"&":"?"}lang=${encodeURIComponent(e)}`:f,h=await fetch(g,{cache:"no-store"}),i=await h.json();if(!h.ok||i.error)return Response.json({error:{message:i.error||`Upstream ${h.status}`,type:"server_error"}},{status:h.status,headers:{"Access-Control-Allow-Origin":"*"}});let j=e?i.voices||[]:Object.values(i.byLang||{}).flatMap(a=>a.voices||[]),k=v.AI_PROVIDERS[d]?.alias||d,l=j.map(a=>({id:a.id,name:a.name,lang:a.lang||"",gender:a.gender||"",model:`${k}/${a.id}`}));return Response.json({object:"list",data:l},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return Response.json({error:{message:a.message||"Failed",type:"server_error"}},{status:502,headers:{"Access-Control-Allow-Origin":"*"}})}}let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/audio/voices/route",pathname:"/api/v1/audio/voices",filename:"route",bundlePath:"app/api/v1/audio/voices/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/v1/audio/voices/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function D(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function E(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/audio/voices/route";"/index"===d&&(d="/");let e=await z.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:A,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&&!A){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||z.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===z.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 z.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)=>z.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=>z.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 z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.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"),A&&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 z.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}}},13674:()=>{},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},47471:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(91591),e=c(34246),f=c(13093);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91253:(a,b,c)=>{"use strict";c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,rs:()=>u});var d=c(69765);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.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=d.A.filter(a=>a.features?.usage).map(a=>a.id),y=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id)},95522:()=>{}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1348,9765],()=>b(b.s=12768));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=8246,a.ids=[8246],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")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},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")},26915:a=>{a.exports=import("playwright-core")},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")},36776:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(37296),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/chat/completions/route",pathname:"/api/v1/chat/completions",filename:"route",bundlePath:"app/api/v1/chat/completions/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/v1/chat/completions/route.js",nextConfigOutput:"standalone",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/chat/completions/route";"/index"===d&&(d="/");let e=await z.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:A,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&&!A){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||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.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 z.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)=>z.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=>z.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 z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.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"),A&&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 z.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}}d()}catch(a){d(a)}})},37067:a=>{a.exports=require("node:http")},37296:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{OPTIONS:()=>i,POST:()=>j});var e=c(16723),f=c(44602),g=a([e]);e=(g.then?(await g)():g)[0];let k=!1;async function h(){k||(await (0,f.Ai)(),k=!0)}async function i(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function j(a){return await h(),await (0,e.P)(a)}d()}catch(a){d(a)}})},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{a.exports=require("node:dns/promises")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79551:a=>{a.exports=require("url")},79646:a=>{a.exports=require("child_process")},81630:a=>{a.exports=require("http")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1348,3398,9787,9633,9765,8711,7010,7916,2445,3424,4418,4574,2557,818,4004,3950,6723],()=>b(b.s=36776));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=8246,a.ids=[8246],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")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},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")},26915:a=>{a.exports=import("playwright-core")},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")},37296:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{OPTIONS:()=>i,POST:()=>j});var e=c(16723),f=c(44602),g=a([e]);e=(g.then?(await g)():g)[0];let k=!1;async function h(){k||(await (0,f.Ai)(),k=!0)}async function i(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function j(a){return await h(),await (0,e.P)(a)}d()}catch(a){d(a)}})},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{a.exports=require("node:dns/promises")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79551:a=>{a.exports=require("url")},79646:a=>{a.exports=require("child_process")},81630:a=>{a.exports=require("http")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},98092:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(37296),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/chat/completions/route",pathname:"/api/v1/chat/completions",filename:"route",bundlePath:"app/api/v1/chat/completions/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/v1/chat/completions/route.js",nextConfigOutput:"standalone",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/chat/completions/route";"/index"===d&&(d="/");let e=await z.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:A,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&&!A){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||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.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 z.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)=>z.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=>z.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 z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.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"),A&&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 z.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}}d()}catch(a){d(a)}})}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1348,3398,9787,9633,9765,8711,7010,7916,2445,3424,4418,4574,2557,818,4004,3950,6723],()=>b(b.s=98092));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=5018,a.ids=[5018],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")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},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")},20292:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{OPTIONS:()=>g,POST:()=>h});var e=c(49851),f=a([e]);async function g(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function h(a){return await (0,e.P)(a)}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},21820:a=>{a.exports=require("os")},26915:a=>{a.exports=import("playwright-core")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},49851:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>o});var e=c(14836),f=c(94164),g=c(66781),h=c(84310),i=c(76642),j=c(15261),k=c(92398),l=c(90293),m=c(83950),n=a([i]);async function o(a){let b;try{b=await a.json()}catch{return l.warn("EMBEDDINGS","Invalid JSON body"),(0,j.yj)(k.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=b.model;l.request("POST",`${c.pathname} | ${d}`);let n=(0,e.Tr)(a);n?l.debug("AUTH",`API Key: ${l.maskKey(n)}`):l.debug("AUTH","No API key provided (local mode)");let o=await (0,f.mt)(),p=null;if(!await (0,e.Ov)(a)&&o.requireApiKey){if(!n)return l.warn("AUTH","Missing API key (requireApiKey=true)"),(0,j.yj)(k.gx.UNAUTHORIZED,"Missing API key");if(!(p=await (0,e.kI)(n)))return l.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,j.yj)(k.gx.UNAUTHORIZED,"Invalid API key")}if(!d)return l.warn("EMBEDDINGS","Missing model"),(0,j.yj)(k.gx.BAD_REQUEST,"Missing model");if(!(0,e.L$)(p,"embedding"))return l.warn("AUTH","Embedding kind not allowed for API key"),(0,j.yj)(k.gx.FORBIDDEN,"Embedding requests are not allowed for this API key");if(!b.input)return l.warn("EMBEDDINGS","Missing input"),(0,j.yj)(k.gx.BAD_REQUEST,"Missing required field: input");let q=await (0,g.mA)(d);if(!q.provider)return l.warn("EMBEDDINGS","Invalid model format",{model:d}),(0,j.yj)(k.gx.BAD_REQUEST,"Invalid model format");let{provider:r,model:s}=q;if(!await (0,e.kt)(p,r))return l.warn("AUTH",`Provider "${r}" not allowed for API key`,{provider:r}),(0,j.yj)(k.gx.FORBIDDEN,`Provider "${r}" is not allowed for this API key`);let t=`${r}/${s}`,u=[t];s.startsWith(`${r}/`)&&u.push(`${r}/${s.slice(r.length+1)}`),d===t||u.includes(d)||u.push(d);let v=!1;for(let a of u)if(await (0,h.Uw)(a,p)){v=!0;break}if(!v)return l.warn("EMBEDDINGS","Model not in available models list",{model:t,candidates:u}),(0,j.yj)(k.gx.NOT_FOUND,`Model "${u[u.length-1]}" is not available. Only models listed in /v1/models can be used.`);d!==`${r}/${s}`?l.info("ROUTING",`${d} → ${r}/${s}`):l.info("ROUTING",`Provider: ${r}, Model: ${s}`);let w=new Set,x=null,y=null;for(;;){let a=await (0,e.c1)(r,w,s);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=x||a.lastError||"Unavailable",c=y||Number(a.lastErrorCode)||k.gx.SERVICE_UNAVAILABLE;return l.warn("EMBEDDINGS",`[${r}/${s}] ${b} (${a.retryAfterHuman})`),(0,j.wO)(c,`[${r}/${s}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===w.size)return l.error("AUTH",`No credentials for provider: ${r}`),(0,j.yj)(k.gx.BAD_REQUEST,`No credentials for provider: ${r}`);return l.warn("EMBEDDINGS","No more accounts available",{provider:r}),(0,j.yj)(y||k.gx.SERVICE_UNAVAILABLE,x||"All accounts unavailable")}l.info("AUTH",`\x1b[32mUsing ${r} account: ${a.connectionName}\x1b[0m`);let c=await (0,m.eU)(r,a),d=await (0,i.o)({body:{...b,model:`${r}/${s}`},modelInfo:{provider:r,model:s},credentials:c,log:l,onCredentialsRefreshed:async b=>{await (0,m.vN)(a.connectionId,{...b,existingProviderSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,e.Pt)(a.connectionId,a,s)}});if(d.success)return d.response;let{shouldFallback:f}=await (0,e.vk)(a.connectionId,d.status,d.error,r,s);if(f){l.warn("AUTH",`Account ${a.connectionName} unavailable (${d.status}), trying fallback`),w.add(a.connectionId),x=d.error,y=d.status;continue}return d.response}}i=(n.then?(await n)():n)[0],d()}catch(a){d(a)}})},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")},62940:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(20292),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/embeddings/route",pathname:"/api/v1/embeddings",filename:"route",bundlePath:"app/api/v1/embeddings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/v1/embeddings/route.js",nextConfigOutput:"standalone",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/embeddings/route";"/index"===d&&(d="/");let e=await z.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:A,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&&!A){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||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.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 z.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)=>z.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=>z.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 z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.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"),A&&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 z.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}}d()}catch(a){d(a)}})},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66781:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>i});var d=c(94164),e=c(23095),f=c(69765);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},h=new Set(Object.keys(g));for(let a of f.A)for(let b of(h.add(a.id),a.alias&&h.add(a.alias),a.aliases||[]))h.add(b);async function i(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){if(!h.has(c.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model}}return{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},71553:a=>{a.exports=require("node:dns/promises")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76642:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{o:()=>k});var e=c(15261),f=c(92398),g=c(63548),h=c(91392),i=c(89625),j=a([g]);async function k({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:j,onRequestSuccess:l}){let m,n,{provider:o,model:p}=b,q=a.input;if(!q)return(0,e.A1)(f.gx.BAD_REQUEST,"Missing required field: input");if("string"!=typeof q&&!Array.isArray(q))return(0,e.A1)(f.gx.BAD_REQUEST,"input must be a string or array of strings");let r=(0,i.d)(o);if(!r)return(0,e.A1)(f.gx.BAD_REQUEST,`Provider '${o}' does not support embeddings.`);let s={input:q},t=r.buildUrl(p,c,s),u=r.buildHeaders(c,s),v=r.buildBody(p,{input:q,encoding_format:a.encoding_format||"float",dimensions:a.dimensions});d?.debug?.("EMBEDDINGS",`${o.toUpperCase()} | ${p} | input_type=${Array.isArray(q)?`array[${q.length}]`:"string"}`);try{m=await fetch(t,{method:"POST",headers:u,body:JSON.stringify(v)})}catch(b){let a=(0,e.lR)(b,o,p,f.gx.BAD_GATEWAY);return d?.debug?.("EMBEDDINGS",`Fetch error: ${a}`),(0,e.A1)(f.gx.BAD_GATEWAY,a)}let w=(0,g.SB)(o);if(!w?.noAuth&&(m.status===f.gx.UNAUTHORIZED||m.status===f.gx.FORBIDDEN)){let a=await (0,h.qZ)(()=>w.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.apiKey){d?.info?.("TOKEN",`${o.toUpperCase()} | refreshed for embeddings`),Object.assign(c,a),j&&await j(a);try{let a=r.buildHeaders(c,s),b=r.buildUrl(p,c,s);m=await fetch(b,{method:"POST",headers:a,body:JSON.stringify(v)})}catch{d?.warn?.("TOKEN",`${o.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${o.toUpperCase()} | refresh failed`)}if(!m.ok){let{statusCode:a,message:b}=await (0,e.zL)(m),c=(0,e.lR)(Error(b),o,p,a);return d?.debug?.("EMBEDDINGS",`Provider error: ${c}`),(0,e.A1)(a,c)}try{n=await m.json()}catch{return(0,e.A1)(f.gx.BAD_GATEWAY,`Invalid JSON response from ${o}`)}l&&await l();let x=r.normalize(n,p);return d?.debug?.("EMBEDDINGS",`Success | usage=${JSON.stringify(x.usage||{})}`),{success:!0,response:new Response(JSON.stringify(x),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}g=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},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")},79551:a=>{a.exports=require("url")},79646:a=>{a.exports=require("child_process")},81630:a=>{a.exports=require("http")},84310:(a,b,c)=>{c.d(b,{PX:()=>v,Uw:()=>z});var d=c(67259),e=c(91253),f=c(94164),g=c(76489);let h=/[-_][0-9a-f]{8,}$/i,i=["llm","tts","embedding","image","imageToText","stt","webSearch","webFetch"],j={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function k(a){return a?.kind?a.kind:a?.type&&j[a.type]||"llm"}function l(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}function m(a,b){let c=e.AI_PROVIDERS[a];return(Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"]).some(a=>b.has(a))}let n={},o={};async function p(a,b){let c=b?.modelsFetcher;if(!c?.url)return[];let d=Date.now();if(n[a]&&d<(o[a]||0))return n[a];try{let b,e=new AbortController,f=setTimeout(()=>e.abort(),8e3),g=await fetch(c.url,{method:"GET",headers:{"Content-Type":"application/json"},cache:"no-store",signal:e.signal});if(clearTimeout(f),!g.ok)return[];let h=await g.json(),i=Array.isArray(h)?h:h?.data||h?.models||h?.results||[];b="opencode-free"===c.type?i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&c.endsWith("-free")&&a.push(c),a},[]):i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[]);let j=Array.from(new Set(b));return n[a]=j,o[a]=d+3e5,j}catch{return n[a]||[]}}async function q(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let f=await e.json(),g=Array.isArray(f)?f:f?.data||f?.models||f?.results||[];return Array.from(new Set(g.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[])))}catch{return[]}}async function r(){let a=!1,b=[];try{b=await (0,f.getProviderConnections)(),a=!0,b=b.filter(a=>!1!==a.isActive)}catch{}let c=[];try{c=await (0,f.Uv)(),a=!0}catch{}let d=[];try{d=await (0,f.uv)()}catch{}let e={};try{e=await (0,f.OM)()}catch{}let h={};try{h=await (0,g.vF)()}catch{}let i=new Map;for(let a of b)i.has(a.provider)||i.set(a.provider,a);return{connections:b,combos:c,customModels:d,modelAliases:e,isDisabled:(a,b)=>Array.isArray(h[a])&&h[a].includes(b),activeConnectionByProvider:i,dbAvailable:a}}async function s(a,b,c,f,g,h,i){a=new Set(a);let j=[];for(let c of b){if(!function(a,b){let c=a?.kind||"llm";return b.has(c)}(c,a))continue;let b={id:`combo/${c.name}`};("webSearch"===c.kind||"webFetch"===c.kind)&&(b.kind=c.kind),j.push(b)}if(i)for(let b of(await Promise.all([...h.entries()].reduce((b,[d,e])=>(m(d,a)&&b.push(t(d,e,a,c,f,g)),b),[]))))j.push(...b);else{let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(m(b[c]||c,a))for(let b of e)a.has(k(b))&&(g(c,b.id)||j.push({id:`${c}/${b.id}`}));for(let b of c){if(!b?.id||b.type&&"llm"!==b.type||!a.has("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&j.push({id:`${c}/${d}`})}}for(let b of(await Promise.all(Object.entries(e.AI_PROVIDERS).reduce((b,[d,e])=>(!h.has(d)&&e.noAuth&&m(d,a)&&b.push(u(d,e,a,c,f,g)),b),[]))))j.push(...b);return j}async function t(a,b,c,f,g,i){let j=[],m=d.Xg[a]||a,n=(b?.providerSpecificData?.prefix||(0,e.wG)(a)||m).trim(),o=d.vq[m]||[],r=b?.providerSpecificData?.enabledModels,s=Array.isArray(r)&&r.length>0,t=(0,e.mq)(a)||(0,e.gb)(a),u=e.AI_PROVIDERS[a]?.passthroughModels===!0,v=new Map(o.map(a=>[a.id,k(a)])),w=s?Array.from(new Set(r.filter(a=>"string"==typeof a&&""!==a.trim()))):o.map(a=>a.id);t&&0===w.length&&!h.test(a)&&(w=await q(b));let x=e.AI_PROVIDERS[a];for(let b of(x?.noAuth&&x?.modelsFetcher&&(w=Array.from(new Set([...w,...await p(a,x)]))),u&&0===w.length&&(w=o.map(a=>a.id)),u&&!s&&(w=o.map(a=>a.id)),Array.from(new Set([...w.reduce((b,c)=>{let d=c;return d.startsWith(`${n}/`)?d=d.slice(n.length+1):d.startsWith(`${m}/`)?d=d.slice(m.length+1):d.startsWith(`${a}/`)&&(d=d.slice(a.length+1)),"string"==typeof d&&""!==d.trim()&&b.push(d),b},[]),...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==m&&d!==n&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${n}/`)||c.startsWith(`${m}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${n}/`)?c.slice(n.length+1):c.startsWith(`${m}/`)?c.slice(m.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=v.get(b)||l(b);c.has(a)&&(i(n,b)||i(m,b)||j.push({id:`${n}/${b}`}))}if(c.has("tts")&&Array.isArray(x?.ttsConfig?.models))for(let a of x.ttsConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});if(c.has("embedding")&&Array.isArray(x?.embeddingConfig?.models))for(let a of x.embeddingConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});return c.has("webSearch")&&x?.searchConfig&&j.push({id:`${n}/search`,kind:"webSearch"}),c.has("webFetch")&&x?.fetchConfig&&j.push({id:`${n}/fetch`,kind:"webFetch"}),j}async function u(a,b,c,f,g,h){let i=[],j=(0,e.wG)(a)||b.alias||a,m=new Map((d.vq[j]||[]).map(a=>[a.id,k(a)])),n=(d.vq[j]||[]).map(a=>a.id),o=[];for(let d of(b.modelsFetcher&&(o=await p(a,b)),Array.from(new Set([...n,...o,...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==j&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${j}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${j}/`)?c.slice(j.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=m.get(d)||l(d);c.has(a)&&(h(j,d)||i.push({id:`${j}/${d}`}))}if(c.has("tts")&&Array.isArray(b?.ttsConfig?.models))for(let a of b.ttsConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});if(c.has("embedding")&&Array.isArray(b?.embeddingConfig?.models))for(let a of b.embeddingConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});return c.has("webSearch")&&b?.searchConfig&&i.push({id:`${j}/search`,kind:"webSearch"}),c.has("webFetch")&&b?.fetchConfig&&i.push({id:`${j}/fetch`,kind:"webFetch"}),i}async function v(a){let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(a,b,c,d,e,f,g),i=new Set,j=[];for(let a of h){if(!a?.id||i.has(a.id))continue;i.add(a.id);let b={id:a.id,object:"model",owned_by:a.id.includes("/")?a.id.split("/")[0]:"combo"};a.kind&&(b.kind=a.kind),j.push(b)}return j}let w=null,x=0;async function y(){let a=Date.now();if(w&&a<x)return w;let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(i,b,c,d,e,f,g),j=new Set;for(let a of h)a?.id&&j.add(a.id);return w=j,x=a+3e4,j}async function z(a,b=null){return!b||(await y()).has(a)}},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")},89625:(a,b,c)=>{c.d(b,{d:()=>l});var d=c(68711);let e={"jina-ai":"https://api.jina.ai/v1/embeddings"},f=a=>d.B$[a]?.embeddingConfig||{};function g(a){let b=f(a);return{buildUrl:()=>f(a).baseUrl||e[a],buildHeaders:a=>({"Content-Type":"application/json",...{Authorization:`Bearer ${a.apiKey||a.accessToken}`},...b.headers||{}}),buildBody:(a,{input:b,encoding_format:c,dimensions:d})=>{let e={model:a,input:b};if(c&&(e.encoding_format=c),null!=d&&""!==d){let a=Number(d);Number.isFinite(a)&&a>0&&(e.dimensions=a)}return e},normalize:a=>a}}function h(a){return a.startsWith("models/")?a:`models/${a}`}let i={buildUrl:(a,b,{input:c}={})=>{let d=b.apiKey||b.accessToken,e=h(a),f=Array.isArray(c)?"batchEmbedContents":"embedContent";return`https://generativelanguage.googleapis.com/v1beta/${e}:${f}?key=${encodeURIComponent(d)}`},buildHeaders:()=>({"Content-Type":"application/json"}),buildBody:(a,{input:b,dimensions:c})=>{let d=h(a),e=Number(c),f=Number.isFinite(e)&&e>0;return Array.isArray(b)?{requests:b.map(a=>({model:d,content:{parts:[{text:String(a)}]},...f?{outputDimensionality:e}:{}}))}:{model:d,content:{parts:[{text:String(b)}]},...f?{outputDimensionality:e}:{}}},normalize:(a,b)=>{if("list"===a.object&&Array.isArray(a.data))return a;let c=[];return Array.isArray(a.embeddings)?c=a.embeddings.map((a,b)=>({object:"embedding",index:b,embedding:a.values||[]})):a.embedding?.values&&(c=[{object:"embedding",index:0,embedding:a.embedding.values}]),{object:"list",data:c,model:b,usage:{prompt_tokens:0,total_tokens:0}}}},j={...g("openai"),buildUrl:(a,b)=>{let c=(b?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,"").replace(/\/embeddings$/,"");return`${c}/embeddings`}},k={...Object.fromEntries(["openai","openrouter","mistral","voyage-ai","fireworks","together","nebius","github","nvidia","jina-ai","vercel-ai-gateway"].map(a=>[a,g(a)])),gemini:i,google_ai_studio:i};function l(a){return k[a]?k[a]:a?.startsWith?.("openai-compatible-")||a?.startsWith?.("custom-embedding-")?j:null}},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,[1348,3398,9787,9633,9765,8711,7010,7916,2445,3424,4418,4574,818,3950],()=>b(b.s=62940));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=5018,a.ids=[5018],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")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},8416:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(20292),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/embeddings/route",pathname:"/api/v1/embeddings",filename:"route",bundlePath:"app/api/v1/embeddings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/v1/embeddings/route.js",nextConfigOutput:"standalone",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/embeddings/route";"/index"===d&&(d="/");let e=await z.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:A,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&&!A){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||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.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 z.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)=>z.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=>z.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 z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.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"),A&&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 z.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}}d()}catch(a){d(a)}})},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")},20292:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{OPTIONS:()=>g,POST:()=>h});var e=c(49851),f=a([e]);async function g(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function h(a){return await (0,e.P)(a)}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},21820:a=>{a.exports=require("os")},26915:a=>{a.exports=import("playwright-core")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},49851:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>o});var e=c(14836),f=c(94164),g=c(66781),h=c(84310),i=c(76642),j=c(15261),k=c(92398),l=c(90293),m=c(83950),n=a([i]);async function o(a){let b;try{b=await a.json()}catch{return l.warn("EMBEDDINGS","Invalid JSON body"),(0,j.yj)(k.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=b.model;l.request("POST",`${c.pathname} | ${d}`);let n=(0,e.Tr)(a);n?l.debug("AUTH",`API Key: ${l.maskKey(n)}`):l.debug("AUTH","No API key provided (local mode)");let o=await (0,f.mt)(),p=null;if(!await (0,e.Ov)(a)&&o.requireApiKey){if(!n)return l.warn("AUTH","Missing API key (requireApiKey=true)"),(0,j.yj)(k.gx.UNAUTHORIZED,"Missing API key");if(!(p=await (0,e.kI)(n)))return l.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,j.yj)(k.gx.UNAUTHORIZED,"Invalid API key")}if(!d)return l.warn("EMBEDDINGS","Missing model"),(0,j.yj)(k.gx.BAD_REQUEST,"Missing model");if(!(0,e.L$)(p,"embedding"))return l.warn("AUTH","Embedding kind not allowed for API key"),(0,j.yj)(k.gx.FORBIDDEN,"Embedding requests are not allowed for this API key");if(!b.input)return l.warn("EMBEDDINGS","Missing input"),(0,j.yj)(k.gx.BAD_REQUEST,"Missing required field: input");let q=await (0,g.mA)(d);if(!q.provider)return l.warn("EMBEDDINGS","Invalid model format",{model:d}),(0,j.yj)(k.gx.BAD_REQUEST,"Invalid model format");let{provider:r,model:s}=q;if(!await (0,e.kt)(p,r))return l.warn("AUTH",`Provider "${r}" not allowed for API key`,{provider:r}),(0,j.yj)(k.gx.FORBIDDEN,`Provider "${r}" is not allowed for this API key`);let t=`${r}/${s}`,u=[t];s.startsWith(`${r}/`)&&u.push(`${r}/${s.slice(r.length+1)}`),d===t||u.includes(d)||u.push(d);let v=!1;for(let a of u)if(await (0,h.Uw)(a,p)){v=!0;break}if(!v)return l.warn("EMBEDDINGS","Model not in available models list",{model:t,candidates:u}),(0,j.yj)(k.gx.NOT_FOUND,`Model "${u[u.length-1]}" is not available. Only models listed in /v1/models can be used.`);d!==`${r}/${s}`?l.info("ROUTING",`${d} → ${r}/${s}`):l.info("ROUTING",`Provider: ${r}, Model: ${s}`);let w=new Set,x=null,y=null;for(;;){let a=await (0,e.c1)(r,w,s);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=x||a.lastError||"Unavailable",c=y||Number(a.lastErrorCode)||k.gx.SERVICE_UNAVAILABLE;return l.warn("EMBEDDINGS",`[${r}/${s}] ${b} (${a.retryAfterHuman})`),(0,j.wO)(c,`[${r}/${s}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===w.size)return l.error("AUTH",`No credentials for provider: ${r}`),(0,j.yj)(k.gx.BAD_REQUEST,`No credentials for provider: ${r}`);return l.warn("EMBEDDINGS","No more accounts available",{provider:r}),(0,j.yj)(y||k.gx.SERVICE_UNAVAILABLE,x||"All accounts unavailable")}l.info("AUTH",`\x1b[32mUsing ${r} account: ${a.connectionName}\x1b[0m`);let c=await (0,m.eU)(r,a),d=await (0,i.o)({body:{...b,model:`${r}/${s}`},modelInfo:{provider:r,model:s},credentials:c,log:l,onCredentialsRefreshed:async b=>{await (0,m.vN)(a.connectionId,{...b,existingProviderSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,e.Pt)(a.connectionId,a,s)}});if(d.success)return d.response;let{shouldFallback:f}=await (0,e.vk)(a.connectionId,d.status,d.error,r,s);if(f){l.warn("AUTH",`Account ${a.connectionName} unavailable (${d.status}), trying fallback`),w.add(a.connectionId),x=d.error,y=d.status;continue}return d.response}}i=(n.then?(await n)():n)[0],d()}catch(a){d(a)}})},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")},66781:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>i});var d=c(94164),e=c(23095),f=c(69765);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},h=new Set(Object.keys(g));for(let a of f.A)for(let b of(h.add(a.id),a.alias&&h.add(a.alias),a.aliases||[]))h.add(b);async function i(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){if(!h.has(c.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model}}return{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},71553:a=>{a.exports=require("node:dns/promises")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76642:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{o:()=>k});var e=c(15261),f=c(92398),g=c(63548),h=c(91392),i=c(89625),j=a([g]);async function k({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:j,onRequestSuccess:l}){let m,n,{provider:o,model:p}=b,q=a.input;if(!q)return(0,e.A1)(f.gx.BAD_REQUEST,"Missing required field: input");if("string"!=typeof q&&!Array.isArray(q))return(0,e.A1)(f.gx.BAD_REQUEST,"input must be a string or array of strings");let r=(0,i.d)(o);if(!r)return(0,e.A1)(f.gx.BAD_REQUEST,`Provider '${o}' does not support embeddings.`);let s={input:q},t=r.buildUrl(p,c,s),u=r.buildHeaders(c,s),v=r.buildBody(p,{input:q,encoding_format:a.encoding_format||"float",dimensions:a.dimensions});d?.debug?.("EMBEDDINGS",`${o.toUpperCase()} | ${p} | input_type=${Array.isArray(q)?`array[${q.length}]`:"string"}`);try{m=await fetch(t,{method:"POST",headers:u,body:JSON.stringify(v)})}catch(b){let a=(0,e.lR)(b,o,p,f.gx.BAD_GATEWAY);return d?.debug?.("EMBEDDINGS",`Fetch error: ${a}`),(0,e.A1)(f.gx.BAD_GATEWAY,a)}let w=(0,g.SB)(o);if(!w?.noAuth&&(m.status===f.gx.UNAUTHORIZED||m.status===f.gx.FORBIDDEN)){let a=await (0,h.qZ)(()=>w.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.apiKey){d?.info?.("TOKEN",`${o.toUpperCase()} | refreshed for embeddings`),Object.assign(c,a),j&&await j(a);try{let a=r.buildHeaders(c,s),b=r.buildUrl(p,c,s);m=await fetch(b,{method:"POST",headers:a,body:JSON.stringify(v)})}catch{d?.warn?.("TOKEN",`${o.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${o.toUpperCase()} | refresh failed`)}if(!m.ok){let{statusCode:a,message:b}=await (0,e.zL)(m),c=(0,e.lR)(Error(b),o,p,a);return d?.debug?.("EMBEDDINGS",`Provider error: ${c}`),(0,e.A1)(a,c)}try{n=await m.json()}catch{return(0,e.A1)(f.gx.BAD_GATEWAY,`Invalid JSON response from ${o}`)}l&&await l();let x=r.normalize(n,p);return d?.debug?.("EMBEDDINGS",`Success | usage=${JSON.stringify(x.usage||{})}`),{success:!0,response:new Response(JSON.stringify(x),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}g=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},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")},79551:a=>{a.exports=require("url")},79646:a=>{a.exports=require("child_process")},81630:a=>{a.exports=require("http")},84310:(a,b,c)=>{c.d(b,{PX:()=>v,Uw:()=>z});var d=c(67259),e=c(91253),f=c(94164),g=c(76489);let h=/[-_][0-9a-f]{8,}$/i,i=["llm","tts","embedding","image","imageToText","stt","webSearch","webFetch"],j={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function k(a){return a?.kind?a.kind:a?.type&&j[a.type]||"llm"}function l(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}function m(a,b){let c=e.AI_PROVIDERS[a];return(Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"]).some(a=>b.has(a))}let n={},o={};async function p(a,b){let c=b?.modelsFetcher;if(!c?.url)return[];let d=Date.now();if(n[a]&&d<(o[a]||0))return n[a];try{let b,e=new AbortController,f=setTimeout(()=>e.abort(),8e3),g=await fetch(c.url,{method:"GET",headers:{"Content-Type":"application/json"},cache:"no-store",signal:e.signal});if(clearTimeout(f),!g.ok)return[];let h=await g.json(),i=Array.isArray(h)?h:h?.data||h?.models||h?.results||[];b="opencode-free"===c.type?i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&c.endsWith("-free")&&a.push(c),a},[]):i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[]);let j=Array.from(new Set(b));return n[a]=j,o[a]=d+3e5,j}catch{return n[a]||[]}}async function q(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let f=await e.json(),g=Array.isArray(f)?f:f?.data||f?.models||f?.results||[];return Array.from(new Set(g.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[])))}catch{return[]}}async function r(){let a=!1,b=[];try{b=await (0,f.getProviderConnections)(),a=!0,b=b.filter(a=>!1!==a.isActive)}catch{}let c=[];try{c=await (0,f.Uv)(),a=!0}catch{}let d=[];try{d=await (0,f.uv)()}catch{}let e={};try{e=await (0,f.OM)()}catch{}let h={};try{h=await (0,g.vF)()}catch{}let i=new Map;for(let a of b)i.has(a.provider)||i.set(a.provider,a);return{connections:b,combos:c,customModels:d,modelAliases:e,isDisabled:(a,b)=>Array.isArray(h[a])&&h[a].includes(b),activeConnectionByProvider:i,dbAvailable:a}}async function s(a,b,c,f,g,h,i){a=new Set(a);let j=[];for(let c of b){if(!function(a,b){let c=a?.kind||"llm";return b.has(c)}(c,a))continue;let b={id:`combo/${c.name}`};("webSearch"===c.kind||"webFetch"===c.kind)&&(b.kind=c.kind),j.push(b)}if(i)for(let b of(await Promise.all([...h.entries()].reduce((b,[d,e])=>(m(d,a)&&b.push(t(d,e,a,c,f,g)),b),[]))))j.push(...b);else{let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(m(b[c]||c,a))for(let b of e)a.has(k(b))&&(g(c,b.id)||j.push({id:`${c}/${b.id}`}));for(let b of c){if(!b?.id||b.type&&"llm"!==b.type||!a.has("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&j.push({id:`${c}/${d}`})}}for(let b of(await Promise.all(Object.entries(e.AI_PROVIDERS).reduce((b,[d,e])=>(!h.has(d)&&e.noAuth&&m(d,a)&&b.push(u(d,e,a,c,f,g)),b),[]))))j.push(...b);return j}async function t(a,b,c,f,g,i){let j=[],m=d.Xg[a]||a,n=(b?.providerSpecificData?.prefix||(0,e.wG)(a)||m).trim(),o=d.vq[m]||[],r=b?.providerSpecificData?.enabledModels,s=Array.isArray(r)&&r.length>0,t=(0,e.mq)(a)||(0,e.gb)(a),u=e.AI_PROVIDERS[a]?.passthroughModels===!0,v=new Map(o.map(a=>[a.id,k(a)])),w=s?Array.from(new Set(r.filter(a=>"string"==typeof a&&""!==a.trim()))):o.map(a=>a.id);t&&0===w.length&&!h.test(a)&&(w=await q(b));let x=e.AI_PROVIDERS[a];for(let b of(x?.noAuth&&x?.modelsFetcher&&(w=Array.from(new Set([...w,...await p(a,x)]))),u&&0===w.length&&(w=o.map(a=>a.id)),u&&!s&&(w=o.map(a=>a.id)),Array.from(new Set([...w.reduce((b,c)=>{let d=c;return d.startsWith(`${n}/`)?d=d.slice(n.length+1):d.startsWith(`${m}/`)?d=d.slice(m.length+1):d.startsWith(`${a}/`)&&(d=d.slice(a.length+1)),"string"==typeof d&&""!==d.trim()&&b.push(d),b},[]),...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==m&&d!==n&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${n}/`)||c.startsWith(`${m}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${n}/`)?c.slice(n.length+1):c.startsWith(`${m}/`)?c.slice(m.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=v.get(b)||l(b);c.has(a)&&(i(n,b)||i(m,b)||j.push({id:`${n}/${b}`}))}if(c.has("tts")&&Array.isArray(x?.ttsConfig?.models))for(let a of x.ttsConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});if(c.has("embedding")&&Array.isArray(x?.embeddingConfig?.models))for(let a of x.embeddingConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});return c.has("webSearch")&&x?.searchConfig&&j.push({id:`${n}/search`,kind:"webSearch"}),c.has("webFetch")&&x?.fetchConfig&&j.push({id:`${n}/fetch`,kind:"webFetch"}),j}async function u(a,b,c,f,g,h){let i=[],j=(0,e.wG)(a)||b.alias||a,m=new Map((d.vq[j]||[]).map(a=>[a.id,k(a)])),n=(d.vq[j]||[]).map(a=>a.id),o=[];for(let d of(b.modelsFetcher&&(o=await p(a,b)),Array.from(new Set([...n,...o,...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==j&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${j}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${j}/`)?c.slice(j.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=m.get(d)||l(d);c.has(a)&&(h(j,d)||i.push({id:`${j}/${d}`}))}if(c.has("tts")&&Array.isArray(b?.ttsConfig?.models))for(let a of b.ttsConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});if(c.has("embedding")&&Array.isArray(b?.embeddingConfig?.models))for(let a of b.embeddingConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});return c.has("webSearch")&&b?.searchConfig&&i.push({id:`${j}/search`,kind:"webSearch"}),c.has("webFetch")&&b?.fetchConfig&&i.push({id:`${j}/fetch`,kind:"webFetch"}),i}async function v(a){let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(a,b,c,d,e,f,g),i=new Set,j=[];for(let a of h){if(!a?.id||i.has(a.id))continue;i.add(a.id);let b={id:a.id,object:"model",owned_by:a.id.includes("/")?a.id.split("/")[0]:"combo"};a.kind&&(b.kind=a.kind),j.push(b)}return j}let w=null,x=0;async function y(){let a=Date.now();if(w&&a<x)return w;let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(i,b,c,d,e,f,g),j=new Set;for(let a of h)a?.id&&j.add(a.id);return w=j,x=a+3e4,j}async function z(a,b=null){return!b||(await y()).has(a)}},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")},89625:(a,b,c)=>{c.d(b,{d:()=>l});var d=c(68711);let e={"jina-ai":"https://api.jina.ai/v1/embeddings"},f=a=>d.B$[a]?.embeddingConfig||{};function g(a){let b=f(a);return{buildUrl:()=>f(a).baseUrl||e[a],buildHeaders:a=>({"Content-Type":"application/json",...{Authorization:`Bearer ${a.apiKey||a.accessToken}`},...b.headers||{}}),buildBody:(a,{input:b,encoding_format:c,dimensions:d})=>{let e={model:a,input:b};if(c&&(e.encoding_format=c),null!=d&&""!==d){let a=Number(d);Number.isFinite(a)&&a>0&&(e.dimensions=a)}return e},normalize:a=>a}}function h(a){return a.startsWith("models/")?a:`models/${a}`}let i={buildUrl:(a,b,{input:c}={})=>{let d=b.apiKey||b.accessToken,e=h(a),f=Array.isArray(c)?"batchEmbedContents":"embedContent";return`https://generativelanguage.googleapis.com/v1beta/${e}:${f}?key=${encodeURIComponent(d)}`},buildHeaders:()=>({"Content-Type":"application/json"}),buildBody:(a,{input:b,dimensions:c})=>{let d=h(a),e=Number(c),f=Number.isFinite(e)&&e>0;return Array.isArray(b)?{requests:b.map(a=>({model:d,content:{parts:[{text:String(a)}]},...f?{outputDimensionality:e}:{}}))}:{model:d,content:{parts:[{text:String(b)}]},...f?{outputDimensionality:e}:{}}},normalize:(a,b)=>{if("list"===a.object&&Array.isArray(a.data))return a;let c=[];return Array.isArray(a.embeddings)?c=a.embeddings.map((a,b)=>({object:"embedding",index:b,embedding:a.values||[]})):a.embedding?.values&&(c=[{object:"embedding",index:0,embedding:a.embedding.values}]),{object:"list",data:c,model:b,usage:{prompt_tokens:0,total_tokens:0}}}},j={...g("openai"),buildUrl:(a,b)=>{let c=(b?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,"").replace(/\/embeddings$/,"");return`${c}/embeddings`}},k={...Object.fromEntries(["openai","openrouter","mistral","voyage-ai","fireworks","together","nebius","github","nvidia","jina-ai","vercel-ai-gateway"].map(a=>[a,g(a)])),gemini:i,google_ai_studio:i};function l(a){return k[a]?k[a]:a?.startsWith?.("openai-compatible-")||a?.startsWith?.("custom-embedding-")?j:null}},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,[1348,3398,9787,9633,9765,8711,7010,7916,2445,3424,4418,4574,818,3950],()=>b(b.s=8416));module.exports=c})();