@ltgiang/9router 0.4.84 → 0.5.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 (1070) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +19 -12
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/required-server-files.json +6 -1
  5. package/app/.next-cli-build/routes-manifest.json +61 -12
  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.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +30 -30
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +10 -3
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +4 -4
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  70. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  73. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  74. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  75. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  76. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  77. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  78. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  79. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  80. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  81. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  83. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  84. package/app/.next-cli-build/server/app/_not-found.rsc +17 -16
  85. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +17 -16
  86. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  87. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +6 -5
  88. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  89. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  90. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +3 -3
  91. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  92. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  94. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -0
  102. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -0
  103. package/app/.next-cli-build/server/app/api/auth/reset-password/route_client-reference-manifest.js +1 -0
  104. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +3 -3
  107. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  109. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  113. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  119. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  121. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  123. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  127. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  129. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  131. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  135. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  137. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  141. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/combos/reorder/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/combos/reorder/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  145. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -0
  147. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -0
  148. package/app/.next-cli-build/server/app/api/headroom/start/route_client-reference-manifest.js +1 -0
  149. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -0
  150. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -0
  151. package/app/.next-cli-build/server/app/api/headroom/status/route_client-reference-manifest.js +1 -0
  152. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -0
  153. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -0
  154. package/app/.next-cli-build/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -0
  155. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  156. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +3 -3
  166. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +6 -6
  168. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  184. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  186. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/models/order/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/models/order/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -0
  196. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -0
  197. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route_client-reference-manifest.js +1 -0
  198. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  201. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -0
  209. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -0
  210. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route_client-reference-manifest.js +1 -0
  211. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  238. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +43 -0
  258. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -0
  259. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +1 -0
  260. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +40 -0
  261. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -0
  262. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +1 -0
  263. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  266. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  268. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  274. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  280. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  282. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  286. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  292. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +3 -3
  304. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -0
  306. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -0
  307. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route_client-reference-manifest.js +1 -0
  308. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  313. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  317. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  319. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  323. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  325. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  331. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  333. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  337. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  339. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  349. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  351. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  353. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  355. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  356. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  357. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  359. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  361. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  362. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  363. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  365. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  367. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  368. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  369. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  371. package/app/.next-cli-build/server/app/callback.html +1 -1
  372. package/app/.next-cli-build/server/app/callback.rsc +21 -20
  373. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +21 -20
  374. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  375. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +6 -5
  376. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +3 -3
  377. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  378. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  379. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  380. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +19 -18
  381. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  382. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  383. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  384. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  385. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +19 -18
  386. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  387. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +6 -5
  388. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +3 -3
  389. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  390. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +20 -19
  391. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  392. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  393. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  394. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  395. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +20 -19
  396. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  397. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +6 -5
  398. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +3 -3
  399. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  400. package/app/.next-cli-build/server/app/dashboard/combos.rsc +22 -21
  401. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  402. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  403. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  404. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  405. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +22 -21
  406. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  407. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +6 -5
  408. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +3 -3
  409. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  410. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +20 -19
  411. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  412. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  413. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  414. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  415. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +20 -19
  416. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  417. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +6 -5
  418. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +3 -3
  419. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  420. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +22 -21
  421. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  422. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  423. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  424. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  425. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  426. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +22 -21
  427. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  428. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +6 -5
  429. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +3 -3
  430. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  431. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +19 -18
  432. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  433. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  434. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  435. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  436. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +19 -18
  437. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  438. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +6 -5
  439. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +3 -3
  440. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  441. package/app/.next-cli-build/server/app/dashboard/profile.rsc +22 -21
  442. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  443. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  444. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  445. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  446. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +22 -21
  447. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  448. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +6 -5
  449. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +3 -3
  450. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  451. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +22 -21
  452. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  453. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  454. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  455. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  456. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  457. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +22 -21
  458. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  459. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +6 -5
  460. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +3 -3
  461. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  462. package/app/.next-cli-build/server/app/dashboard/providers.rsc +22 -21
  463. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  464. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  465. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  466. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  467. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +22 -21
  468. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  469. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +6 -5
  470. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +3 -3
  471. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  472. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +22 -21
  473. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  474. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  475. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  476. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  477. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +22 -21
  478. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  479. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +6 -5
  480. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +3 -3
  481. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  482. package/app/.next-cli-build/server/app/dashboard/quota.rsc +20 -19
  483. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  484. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  485. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  486. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  487. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +20 -19
  488. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  489. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +6 -5
  490. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +3 -3
  491. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  492. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  493. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  494. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  495. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +21 -20
  496. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +21 -20
  497. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  498. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +6 -5
  499. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -3
  500. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
  501. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  502. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  503. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  504. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  505. package/app/.next-cli-build/server/app/dashboard/skills.rsc +22 -21
  506. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  507. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  508. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  509. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  510. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +22 -21
  511. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  512. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +6 -5
  513. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +3 -3
  514. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  515. package/app/.next-cli-build/server/app/dashboard/translator.rsc +22 -21
  516. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  517. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  518. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  519. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  520. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +22 -21
  521. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  522. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +6 -5
  523. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +3 -3
  524. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  525. package/app/.next-cli-build/server/app/dashboard/usage.rsc +22 -21
  526. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  527. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  528. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  529. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  530. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +22 -21
  531. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  532. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +6 -5
  533. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +3 -3
  534. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  535. package/app/.next-cli-build/server/app/dashboard.rsc +20 -19
  536. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  537. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  538. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  539. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +20 -19
  540. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  541. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +6 -5
  542. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +3 -3
  543. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  544. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  545. package/app/.next-cli-build/server/app/index.html +1 -1
  546. package/app/.next-cli-build/server/app/index.rsc +16 -15
  547. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  548. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +16 -15
  549. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  550. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +6 -5
  551. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +3 -3
  552. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  553. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  554. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  555. package/app/.next-cli-build/server/app/landing.html +1 -1
  556. package/app/.next-cli-build/server/app/landing.rsc +21 -20
  557. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +21 -20
  558. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  559. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +6 -5
  560. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +3 -3
  561. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  562. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  563. package/app/.next-cli-build/server/app/login/page.js +2 -2
  564. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  565. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  566. package/app/.next-cli-build/server/app/login.html +1 -1
  567. package/app/.next-cli-build/server/app/login.rsc +21 -20
  568. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +21 -20
  569. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  570. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +6 -5
  571. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +3 -3
  572. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  573. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  574. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  575. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  576. package/app/.next-cli-build/server/app/page.js +2 -2
  577. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  578. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  579. package/app/.next-cli-build/server/app-paths-manifest.json +19 -12
  580. package/app/.next-cli-build/server/chunks/1220.js +1 -1
  581. package/app/.next-cli-build/server/chunks/1241.js +1 -0
  582. package/app/.next-cli-build/server/chunks/1260.js +1 -0
  583. package/app/.next-cli-build/server/chunks/1275.js +73 -0
  584. package/app/.next-cli-build/server/chunks/2091.js +1 -0
  585. package/app/.next-cli-build/server/chunks/2231.js +1 -0
  586. package/app/.next-cli-build/server/chunks/{4013.js → 2391.js} +1 -1
  587. package/app/.next-cli-build/server/chunks/2722.js +3 -3
  588. package/app/.next-cli-build/server/chunks/2996.js +1 -0
  589. package/app/.next-cli-build/server/chunks/318.js +36 -30
  590. package/app/.next-cli-build/server/chunks/319.js +3 -3
  591. package/app/.next-cli-build/server/chunks/3390.js +1 -0
  592. package/app/.next-cli-build/server/chunks/3453.js +1 -0
  593. package/app/.next-cli-build/server/chunks/3535.js +1 -0
  594. package/app/.next-cli-build/server/chunks/3546.js +1 -0
  595. package/app/.next-cli-build/server/chunks/412.js +5 -5
  596. package/app/.next-cli-build/server/chunks/4161.js +1 -0
  597. package/app/.next-cli-build/server/chunks/4306.js +1 -0
  598. package/app/.next-cli-build/server/chunks/4632.js +1 -1
  599. package/app/.next-cli-build/server/chunks/4741.js +2 -2
  600. package/app/.next-cli-build/server/chunks/4746.js +1 -7
  601. package/app/.next-cli-build/server/chunks/4827.js +1 -0
  602. package/app/.next-cli-build/server/chunks/5002.js +1 -0
  603. package/app/.next-cli-build/server/chunks/5615.js +43 -0
  604. package/app/.next-cli-build/server/chunks/5692.js +1 -0
  605. package/app/.next-cli-build/server/chunks/5699.js +1 -0
  606. package/app/.next-cli-build/server/chunks/595.js +1 -0
  607. package/app/.next-cli-build/server/chunks/5961.js +1 -0
  608. package/app/.next-cli-build/server/chunks/6070.js +1 -0
  609. package/app/.next-cli-build/server/chunks/615.js +1 -0
  610. package/app/.next-cli-build/server/chunks/6182.js +18 -4
  611. package/app/.next-cli-build/server/chunks/6306.js +1 -0
  612. package/app/.next-cli-build/server/chunks/6445.js +10 -0
  613. package/app/.next-cli-build/server/chunks/6457.js +4 -0
  614. package/app/.next-cli-build/server/chunks/6482.js +11 -0
  615. package/app/.next-cli-build/server/chunks/6568.js +3 -0
  616. package/app/.next-cli-build/server/chunks/6763.js +1 -0
  617. package/app/.next-cli-build/server/chunks/7774.js +15 -15
  618. package/app/.next-cli-build/server/chunks/7828.js +1 -0
  619. package/app/.next-cli-build/server/chunks/8080.js +1 -0
  620. package/app/.next-cli-build/server/chunks/8238.js +1 -0
  621. package/app/.next-cli-build/server/chunks/8255.js +1 -1
  622. package/app/.next-cli-build/server/chunks/8271.js +1 -0
  623. package/app/.next-cli-build/server/chunks/{7250.js → 8658.js} +1 -1
  624. package/app/.next-cli-build/server/chunks/8895.js +13 -8
  625. package/app/.next-cli-build/server/chunks/8910.js +2 -0
  626. package/app/.next-cli-build/server/chunks/8914.js +1 -0
  627. package/app/.next-cli-build/server/chunks/8920.js +1 -0
  628. package/app/.next-cli-build/server/chunks/914.js +4 -4
  629. package/app/.next-cli-build/server/chunks/9549.js +1 -0
  630. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  631. package/app/.next-cli-build/server/middleware.js +4 -4
  632. package/app/.next-cli-build/server/pages/404.html +1 -1
  633. package/app/.next-cli-build/server/pages/500.html +1 -1
  634. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  635. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  636. package/app/.next-cli-build/static/UvpVGpuHlewFEW4u9IYl2/_buildManifest.js +1 -0
  637. package/app/.next-cli-build/static/chunks/1321-aaac0e21e524c746.js +1 -0
  638. package/app/.next-cli-build/static/chunks/{3794-ba2500baa4c52d55.js → 3794-e569667691edc8f7.js} +1 -1
  639. package/app/.next-cli-build/static/chunks/5497-9693b69a6ba714c2.js +7 -0
  640. package/app/.next-cli-build/static/chunks/6069-d17e2e7f5a573a73.js +53 -0
  641. package/app/.next-cli-build/static/chunks/6502-54f3e96cead0a0a3.js +3 -0
  642. package/app/.next-cli-build/static/chunks/8982-6d1803817450bcd4.js +11 -0
  643. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-dccb4480c20cb67f.js → page-35beb2949f0feaa0.js} +1 -1
  644. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-a93420694c4be022.js +1 -0
  645. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-fad4cd709b370642.js +1 -0
  646. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-9548f5a1140005d5.js +1 -0
  647. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-0a3bdda39731c8e8.js +59 -0
  648. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-0736ad13c70c1c56.js → page-7c57929647c07f91.js} +1 -1
  649. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-50ee3aa1bd8fa967.js → page-f2545778dd849c11.js} +1 -1
  650. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-f828e7a7fa3010d8.js → page-8eb2e65f0ce52b79.js} +1 -1
  651. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-f587e9c9d0a62533.js → page-734221f9292c2f0b.js} +1 -1
  652. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-1d82df0c59998142.js +1 -0
  653. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-31cc0cda6436a0b9.js +10 -0
  654. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-753b0a5d477ae4e7.js +1 -0
  655. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-32cc33885248badf.js +4 -0
  656. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-fb204465ae19409a.js +1 -0
  657. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/{page-ab3c8b6b84d1bddf.js → page-893cbf6a96a3e92c.js} +1 -1
  658. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-9d94f30df88cbcd7.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/_global-error/page-0006630ca3232027.js +1 -0
  660. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-0006630ca3232027.js +1 -0
  661. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-0006630ca3232027.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-0006630ca3232027.js +1 -0
  663. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-0006630ca3232027.js +1 -0
  664. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-0006630ca3232027.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-0006630ca3232027.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-0006630ca3232027.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-0006630ca3232027.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-0006630ca3232027.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-0006630ca3232027.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-0006630ca3232027.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-0006630ca3232027.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-0006630ca3232027.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-0006630ca3232027.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-0006630ca3232027.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-0006630ca3232027.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-0006630ca3232027.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-0006630ca3232027.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-0006630ca3232027.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-0006630ca3232027.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-0006630ca3232027.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-0006630ca3232027.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-0006630ca3232027.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-0006630ca3232027.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-0006630ca3232027.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/combos/reorder/route-0006630ca3232027.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/combos/route-0006630ca3232027.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-0006630ca3232027.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-0006630ca3232027.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-0006630ca3232027.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/health/route-0006630ca3232027.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/init/route-0006630ca3232027.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-0006630ca3232027.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/keys/route-0006630ca3232027.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/locale/route-0006630ca3232027.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-0006630ca3232027.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-0006630ca3232027.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-0006630ca3232027.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-0006630ca3232027.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-0006630ca3232027.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-0006630ca3232027.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-0006630ca3232027.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-0006630ca3232027.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-0006630ca3232027.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-0006630ca3232027.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-0006630ca3232027.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/models/order/route-0006630ca3232027.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/models/route-0006630ca3232027.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/models/test/route-0006630ca3232027.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-0006630ca3232027.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-0006630ca3232027.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-0006630ca3232027.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-0006630ca3232027.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-0006630ca3232027.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-0006630ca3232027.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-0006630ca3232027.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-0006630ca3232027.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-0006630ca3232027.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-0006630ca3232027.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-0006630ca3232027.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-0006630ca3232027.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/pricing/route-0006630ca3232027.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-0006630ca3232027.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-0006630ca3232027.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-0006630ca3232027.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/connections/disabled/route-0006630ca3232027.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-0006630ca3232027.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/pull/route-0006630ca3232027.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/route-0006630ca3232027.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-0006630ca3232027.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-0006630ca3232027.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-0006630ca3232027.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-0006630ca3232027.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-0006630ca3232027.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/providers/route-0006630ca3232027.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-0006630ca3232027.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-0006630ca3232027.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-0006630ca3232027.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-0006630ca3232027.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-0006630ca3232027.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-0006630ca3232027.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-0006630ca3232027.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-0006630ca3232027.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-0006630ca3232027.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-0006630ca3232027.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-0006630ca3232027.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-0006630ca3232027.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/settings/route-0006630ca3232027.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-0006630ca3232027.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/tags/route-0006630ca3232027.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-0006630ca3232027.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-0006630ca3232027.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-0006630ca3232027.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-0006630ca3232027.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-0006630ca3232027.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-0006630ca3232027.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-0006630ca3232027.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-0006630ca3232027.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-0006630ca3232027.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-0006630ca3232027.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-0006630ca3232027.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-0006630ca3232027.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-0006630ca3232027.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-0006630ca3232027.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-0006630ca3232027.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-0006630ca3232027.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-0006630ca3232027.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-0006630ca3232027.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-0006630ca3232027.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-0006630ca3232027.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-0006630ca3232027.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-0006630ca3232027.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-0006630ca3232027.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-0006630ca3232027.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-0006630ca3232027.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-0006630ca3232027.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-0006630ca3232027.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-0006630ca3232027.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-0006630ca3232027.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-0006630ca3232027.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-0006630ca3232027.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-0006630ca3232027.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-0006630ca3232027.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-0006630ca3232027.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-0006630ca3232027.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-0006630ca3232027.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/v1/route-0006630ca3232027.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-0006630ca3232027.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-0006630ca3232027.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-0006630ca3232027.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-0006630ca3232027.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/version/route-0006630ca3232027.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-0006630ca3232027.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/version/update/route-0006630ca3232027.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-feda7f7a9c272877.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/layout-ad10b603c07438f2.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/login/page-100ca7d1326036fd.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-0006630ca3232027.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/page-0006630ca3232027.js +1 -0
  799. package/app/.next-cli-build/static/chunks/{main-b8d198db3858ff3e.js → main-7070798b89352aeb.js} +2 -2
  800. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-0006630ca3232027.js +1 -0
  801. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-0006630ca3232027.js +1 -0
  802. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-0006630ca3232027.js +1 -0
  803. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-0006630ca3232027.js +1 -0
  804. package/app/.next-cli-build/static/css/88fb3376e840da30.css +1 -0
  805. package/app/.next-cli-build/static/css/d434f5eb81ebb26f.css +1 -0
  806. package/app/cli/.build-home/.9router/db/backups/upgrade-0.4.83-to-0.4.84-0.4.84-20260625-092251/data.sqlite +0 -0
  807. package/app/cli/.build-home/.9router/db/data.sqlite +0 -0
  808. package/app/custom-server.js +32 -0
  809. package/app/node_modules/@next/env/package.json +2 -2
  810. package/app/node_modules/next/dist/build/swc/index.js +1 -1
  811. package/app/node_modules/next/dist/build/webpack-config.js +3 -3
  812. package/app/node_modules/next/dist/client/dev/debug-channel.js +102 -2
  813. package/app/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +10 -10
  814. package/app/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +11 -11
  815. package/app/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +13 -13
  816. package/app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +10 -10
  817. package/app/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +2 -2
  818. package/app/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +1 -1
  819. package/app/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  820. package/app/node_modules/next/dist/server/app-render/action-handler.js +18 -8
  821. package/app/node_modules/next/dist/server/config-schema.js +1 -0
  822. package/app/node_modules/next/dist/server/config.js +1 -1
  823. package/app/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  824. package/app/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  825. package/app/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  826. package/app/node_modules/next/dist/server/lib/encode-cache-tag.js +45 -0
  827. package/app/node_modules/next/dist/server/lib/implicit-tags.js +6 -3
  828. package/app/node_modules/next/dist/server/lib/patch-fetch.js +5 -1
  829. package/app/node_modules/next/dist/server/lib/start-server.js +1 -1
  830. package/app/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  831. package/app/node_modules/next/dist/shared/lib/router/router.js +8 -1
  832. package/app/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  833. package/app/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  834. package/app/node_modules/next/dist/telemetry/events/version.js +2 -2
  835. package/app/node_modules/next/package.json +15 -15
  836. package/app/package.json +7 -4
  837. package/app/public/i18n/literals/ar.json +2 -1
  838. package/app/public/i18n/literals/bn.json +2 -1
  839. package/app/public/i18n/literals/cs.json +2 -1
  840. package/app/public/i18n/literals/da.json +2 -1
  841. package/app/public/i18n/literals/de.json +2 -1
  842. package/app/public/i18n/literals/el.json +2 -1
  843. package/app/public/i18n/literals/es.json +2 -1
  844. package/app/public/i18n/literals/fi.json +2 -1
  845. package/app/public/i18n/literals/fr.json +2 -1
  846. package/app/public/i18n/literals/he.json +2 -1
  847. package/app/public/i18n/literals/hi.json +2 -1
  848. package/app/public/i18n/literals/hu.json +2 -1
  849. package/app/public/i18n/literals/id.json +2 -1
  850. package/app/public/i18n/literals/it.json +2 -1
  851. package/app/public/i18n/literals/ja.json +2 -1
  852. package/app/public/i18n/literals/ko.json +2 -1
  853. package/app/public/i18n/literals/nl.json +2 -1
  854. package/app/public/i18n/literals/no.json +2 -1
  855. package/app/public/i18n/literals/pl.json +2 -1
  856. package/app/public/i18n/literals/pt-BR.json +2 -1
  857. package/app/public/i18n/literals/pt-PT.json +2 -1
  858. package/app/public/i18n/literals/ro.json +2 -1
  859. package/app/public/i18n/literals/ru.json +2 -1
  860. package/app/public/i18n/literals/sv.json +2 -1
  861. package/app/public/i18n/literals/th.json +2 -1
  862. package/app/public/i18n/literals/tl.json +2 -1
  863. package/app/public/i18n/literals/tr.json +2 -1
  864. package/app/public/i18n/literals/uk.json +2 -1
  865. package/app/public/i18n/literals/ur.json +2 -1
  866. package/app/public/i18n/literals/vi.json +2 -1
  867. package/app/public/i18n/literals/zh-CN.json +5 -1
  868. package/app/public/i18n/literals/zh-TW.json +2 -1
  869. package/app/public/providers/codebuddy-cn.png +0 -0
  870. package/app/public/providers/mimo-free.png +0 -0
  871. package/app/public/providers/qoder.png +0 -0
  872. package/app/server.js +1 -1
  873. package/app/src/lib/oauth/services/qoder.js +216 -0
  874. package/app/src/mitm/server.js +34 -29
  875. package/cli.js +28 -4
  876. package/hooks/sqliteRuntime.js +20 -3
  877. package/package.json +1 -1
  878. package/src/cli/api/client.js +9 -0
  879. package/src/cli/menus/providers.js +8 -6
  880. package/src/cli/menus/settings.js +25 -28
  881. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js +0 -1
  882. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +0 -1
  883. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route_client-reference-manifest.js +0 -1
  884. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js +0 -2
  885. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +0 -1
  886. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route_client-reference-manifest.js +0 -1
  887. package/app/.next-cli-build/server/chunks/1051.js +0 -1
  888. package/app/.next-cli-build/server/chunks/2409.js +0 -1
  889. package/app/.next-cli-build/server/chunks/2506.js +0 -4
  890. package/app/.next-cli-build/server/chunks/2971.js +0 -1
  891. package/app/.next-cli-build/server/chunks/3104.js +0 -43
  892. package/app/.next-cli-build/server/chunks/3110.js +0 -65
  893. package/app/.next-cli-build/server/chunks/3196.js +0 -1
  894. package/app/.next-cli-build/server/chunks/3813.js +0 -1
  895. package/app/.next-cli-build/server/chunks/4177.js +0 -1
  896. package/app/.next-cli-build/server/chunks/42.js +0 -1
  897. package/app/.next-cli-build/server/chunks/4304.js +0 -1
  898. package/app/.next-cli-build/server/chunks/4372.js +0 -1
  899. package/app/.next-cli-build/server/chunks/4404.js +0 -1
  900. package/app/.next-cli-build/server/chunks/4657.js +0 -1
  901. package/app/.next-cli-build/server/chunks/4720.js +0 -1
  902. package/app/.next-cli-build/server/chunks/5024.js +0 -1
  903. package/app/.next-cli-build/server/chunks/5433.js +0 -1
  904. package/app/.next-cli-build/server/chunks/5681.js +0 -1
  905. package/app/.next-cli-build/server/chunks/6064.js +0 -1
  906. package/app/.next-cli-build/server/chunks/6108.js +0 -1
  907. package/app/.next-cli-build/server/chunks/6936.js +0 -15
  908. package/app/.next-cli-build/server/chunks/7153.js +0 -1
  909. package/app/.next-cli-build/server/chunks/7341.js +0 -1
  910. package/app/.next-cli-build/server/chunks/7568.js +0 -1
  911. package/app/.next-cli-build/server/chunks/7899.js +0 -3
  912. package/app/.next-cli-build/server/chunks/8590.js +0 -1
  913. package/app/.next-cli-build/server/chunks/879.js +0 -1
  914. package/app/.next-cli-build/server/chunks/9489.js +0 -1
  915. package/app/.next-cli-build/server/chunks/9609.js +0 -1
  916. package/app/.next-cli-build/static/chunks/1321-b86a86e3b2a7fa56.js +0 -1
  917. package/app/.next-cli-build/static/chunks/5497-d36fd3c83eca15a9.js +0 -7
  918. package/app/.next-cli-build/static/chunks/6069-cc2decdd4cf8a742.js +0 -53
  919. package/app/.next-cli-build/static/chunks/6502-612e6a0c29fdfd96.js +0 -3
  920. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-a9ac6b258809e7fa.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-c359f496024e3673.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-a314df50240def0b.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-432e13b0930a1e77.js +0 -59
  924. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-0d670718f2e33561.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-4ca2effca1e07a8e.js +0 -3
  926. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-8e1f581c3c66272d.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-5ee9e3e13d6015bb.js +0 -4
  928. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-b0fae7cb91ea57a8.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-3e9190b29f8110a6.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/_global-error/page-518fdf69d56f1834.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-518fdf69d56f1834.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-518fdf69d56f1834.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-518fdf69d56f1834.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-518fdf69d56f1834.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-518fdf69d56f1834.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-518fdf69d56f1834.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-518fdf69d56f1834.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-518fdf69d56f1834.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-518fdf69d56f1834.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-518fdf69d56f1834.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-518fdf69d56f1834.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-518fdf69d56f1834.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-518fdf69d56f1834.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-518fdf69d56f1834.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-518fdf69d56f1834.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-518fdf69d56f1834.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-518fdf69d56f1834.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-518fdf69d56f1834.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-518fdf69d56f1834.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-518fdf69d56f1834.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-518fdf69d56f1834.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-518fdf69d56f1834.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-518fdf69d56f1834.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-518fdf69d56f1834.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/combos/reorder/route-518fdf69d56f1834.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/combos/route-518fdf69d56f1834.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/health/route-518fdf69d56f1834.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/init/route-518fdf69d56f1834.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-518fdf69d56f1834.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/keys/route-518fdf69d56f1834.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/locale/route-518fdf69d56f1834.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-518fdf69d56f1834.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-518fdf69d56f1834.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-518fdf69d56f1834.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-518fdf69d56f1834.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-518fdf69d56f1834.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-518fdf69d56f1834.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-518fdf69d56f1834.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-518fdf69d56f1834.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-518fdf69d56f1834.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-518fdf69d56f1834.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-518fdf69d56f1834.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/models/order/route-518fdf69d56f1834.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/models/route-518fdf69d56f1834.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/models/test/route-518fdf69d56f1834.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-518fdf69d56f1834.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-518fdf69d56f1834.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-518fdf69d56f1834.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-518fdf69d56f1834.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-518fdf69d56f1834.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-518fdf69d56f1834.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-518fdf69d56f1834.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-518fdf69d56f1834.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-518fdf69d56f1834.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-518fdf69d56f1834.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/pricing/route-518fdf69d56f1834.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-518fdf69d56f1834.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-518fdf69d56f1834.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-518fdf69d56f1834.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/connections/disabled/route-518fdf69d56f1834.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-518fdf69d56f1834.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/pull/route-518fdf69d56f1834.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/route-518fdf69d56f1834.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-518fdf69d56f1834.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-518fdf69d56f1834.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-518fdf69d56f1834.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-518fdf69d56f1834.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-518fdf69d56f1834.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/providers/route-518fdf69d56f1834.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-518fdf69d56f1834.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-518fdf69d56f1834.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-518fdf69d56f1834.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-518fdf69d56f1834.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-518fdf69d56f1834.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-518fdf69d56f1834.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-518fdf69d56f1834.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-518fdf69d56f1834.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-518fdf69d56f1834.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-518fdf69d56f1834.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/settings/route-518fdf69d56f1834.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-518fdf69d56f1834.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/tags/route-518fdf69d56f1834.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-518fdf69d56f1834.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-518fdf69d56f1834.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-518fdf69d56f1834.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-518fdf69d56f1834.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-518fdf69d56f1834.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-518fdf69d56f1834.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-518fdf69d56f1834.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-518fdf69d56f1834.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-518fdf69d56f1834.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-518fdf69d56f1834.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-518fdf69d56f1834.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-518fdf69d56f1834.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-518fdf69d56f1834.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-518fdf69d56f1834.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-518fdf69d56f1834.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-518fdf69d56f1834.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-518fdf69d56f1834.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-518fdf69d56f1834.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-518fdf69d56f1834.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-518fdf69d56f1834.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-518fdf69d56f1834.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-518fdf69d56f1834.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-518fdf69d56f1834.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-518fdf69d56f1834.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-518fdf69d56f1834.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-518fdf69d56f1834.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-518fdf69d56f1834.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-518fdf69d56f1834.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-518fdf69d56f1834.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-518fdf69d56f1834.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-518fdf69d56f1834.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-518fdf69d56f1834.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-518fdf69d56f1834.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-518fdf69d56f1834.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-518fdf69d56f1834.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-518fdf69d56f1834.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-518fdf69d56f1834.js +0 -1
  1050. package/app/.next-cli-build/static/chunks/app/api/v1/route-518fdf69d56f1834.js +0 -1
  1051. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-518fdf69d56f1834.js +0 -1
  1052. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-518fdf69d56f1834.js +0 -1
  1053. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-518fdf69d56f1834.js +0 -1
  1054. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-518fdf69d56f1834.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/app/api/version/route-518fdf69d56f1834.js +0 -1
  1056. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-518fdf69d56f1834.js +0 -1
  1057. package/app/.next-cli-build/static/chunks/app/api/version/update/route-518fdf69d56f1834.js +0 -1
  1058. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-717fc9bdbe424b20.js +0 -1
  1059. package/app/.next-cli-build/static/chunks/app/layout-aff6bda55ff6881b.js +0 -1
  1060. package/app/.next-cli-build/static/chunks/app/login/page-5b1e256b0ca9cc40.js +0 -1
  1061. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-518fdf69d56f1834.js +0 -1
  1062. package/app/.next-cli-build/static/chunks/app/page-518fdf69d56f1834.js +0 -1
  1063. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-518fdf69d56f1834.js +0 -1
  1064. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-518fdf69d56f1834.js +0 -1
  1065. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-518fdf69d56f1834.js +0 -1
  1066. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-518fdf69d56f1834.js +0 -1
  1067. package/app/.next-cli-build/static/css/090d5175372e4b28.css +0 -1
  1068. package/app/.next-cli-build/static/css/0f03023a765dc337.css +0 -1
  1069. package/app/.next-cli-build/static/nObVsvmtPq3sqkOwjFPZZ/_buildManifest.js +0 -1
  1070. /package/app/.next-cli-build/static/{nObVsvmtPq3sqkOwjFPZZ → UvpVGpuHlewFEW4u9IYl2}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";exports.id=4161,exports.ids=[615,1998,2996,4161],exports.modules={7803:(a,b,c)=>{c.r(b),c.d(b,{debug:()=>f,error:()=>i,info:()=>g,maskKey:()=>m,request:()=>j,response:()=>k,stream:()=>l,warn:()=>h});function d(){let a=new Date(Date.now()+252e5),b=String(a.getUTCHours()).padStart(2,"0"),c=String(a.getUTCMinutes()).padStart(2,"0"),d=String(a.getUTCSeconds()).padStart(2,"0");return`${b}:${c}:${d}`}function e(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function f(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] 🔍 [${a}] ${b}${f}`)}}function g(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] ℹ️ [${a}] ${b}${f}`)}}function h(a,b,c){c&&e(c)}function i(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] ❌ [${a}] ${b}${f}`)}}function j(a,b,c){let f=c?` ${e(c)}`:"";console.log(`\x1b[36m[${d()}] 📥 ${a} ${b}${f}\x1b[0m`)}function k(a,b,c){let f=c?` ${e(c)}`:"";console.log(`[${d()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${f}`)}function l(a,b){let c=b?` ${e(b)}`:"";console.log(`[${d()}] 🌊 [STREAM] ${a}${c}`)}function m(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}},19225:(a,b,c)=>{a.exports=c(44870)},39326:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(71998);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,isAnthropicCompatibleProvider:()=>q,gC:()=>r,isOpenAICompatibleProvider:()=>p,rs:()=>u});var d=c(35002);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"),qoder:{id:"qoder",alias:"qd",name:"Qoder AI",icon:"water_drop",color:"#EC4899",deprecated:!0,deprecationNotice:e,website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"}}},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)},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},71998:(a,b,c)=>{c.d(b,{Ax:()=>d.Ax,CK:()=>d.CK,EE:()=>d.EE,Fh:()=>d.Fh,ID:()=>d.ID,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Wq:()=>d.Wq,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fu:()=>d.fu,fv:()=>d.fv,g4:()=>d.g4,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,ik:()=>d.ik,o5:()=>d.o5,op:()=>d.op,q5:()=>d.q5,rj:()=>d.updateProviderConnection,sN:()=>d.sN,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},80238:(a,b,c)=>{c.d(b,{Pt:()=>o,Tr:()=>p,c1:()=>l,kI:()=>q,vk:()=>n});var d=c(89718),e=c(39326),f=c(12557),g=c(3662),h=c(40615),i=c(7803);let j=Promise.resolve(),k=new Set;async function l(a,b=null,c=null,g={}){let k,m=b instanceof Set?b:b?new Set([b]):new Set,n=g?.preferredConnectionId||null,o=j;j=new Promise(a=>{k=a});try{let b;await o;let g=(0,h.rs)(a);if(h.IS[g]?.noAuth){let a=((await (0,d.mt)()).providerStrategies||{})[g]||{},b=await (0,e.B)({proxyPoolId:a.proxyPoolId||""});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl,connectionNoProxy:b.connectionNoProxy,connectionProxyPoolId:b.proxyPoolId||null,vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy}}}let j=await (0,d.getProviderConnections)({provider:g,isActive:!0});if(i.debug("AUTH",`${a} | total connections: ${j.length}, excludeIds: ${m.size>0?[...m].join(","):"none"}, model: ${c||"any"}`),0===j.length)return i.warn("AUTH",`No credentials for ${a}`),null;let k=j.filter(a=>!(m.has(a.id)||(0,f.Bl)(a,c)));if(i.debug("AUTH",`${a} | available: ${k.length}/${j.length}`),j.forEach(a=>{let b=m.has(a.id),d=(0,f.Bl)(a,c);if(b||d){let e=(0,f.kJ)(a);i.debug("AUTH",` → ${a.id?.slice(0,8)} | ${b?"excluded":""} ${d?`modelLocked(${c}) until ${e}`:""}`)}}),0===k.length){let b=j.filter(a=>(0,f.Bl)(a,c)),d=b.map(a=>(0,f.kJ)(a)).filter(Boolean).sort()[0]||null;if(d){let e=b[0];return i.warn("AUTH",`${a} | all ${j.length} accounts locked for ${c||"all"} (${(0,f.Qo)(d)}) | lastError=${e?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:d,retryAfterHuman:(0,f.Qo)(d),lastError:e?.lastError||null,lastErrorCode:e?.errorCode||null}}return i.warn("AUTH",`${a} | all ${j.length} accounts unavailable`),null}let l=await (0,d.mt)(),p=(l.providerStrategies||{})[g]||{},q=p.fallbackStrategy||l.fallbackStrategy||"fill-first";if(n&&(b=k.find(a=>a.id===n))&&i.info("AUTH",`${a} | pinned to ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`),b);else if("round-robin"===q){let a=p.stickyRoundRobinLimit||l.stickyRoundRobinLimit||3,c=[...k].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=c?.consecutiveUseCount||0;c&&c.lastUsedAt&&e<a?(b=c,await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(b.consecutiveUseCount||0)+1})):(b=[...k].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else b=k[0];let r=await (0,e.B)(b.providerSpecificData||{});return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,idToken:b.idToken,expiresAt:b.expiresAt,expiresIn:b.expiresIn,lastRefreshAt:b.lastRefreshAt,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:r.connectionProxyEnabled,connectionProxyUrl:r.connectionProxyUrl,connectionNoProxy:r.connectionNoProxy,connectionProxyPoolId:r.proxyPoolId||null,vercelRelayUrl:r.vercelRelayUrl||"",strictProxy:!0===r.strictProxy},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b}}finally{k&&k()}}async function m(a,b){if(!k.has(b)){k.add(b);try{let[c,e]=await Promise.all([(0,d.CK)(a),(0,d.getProviderConnections)({provider:a,isActive:!0})]);if(!c)return;let f=e.map(a=>a.apiKey).filter(Boolean),g=await (0,d.Ax)(a,1,f);if(!g.length){i.warn("AUTH",`[POOL] pool empty for ${a}, cannot auto-replace`),await (0,d.updateProviderConnection)(b,{isActive:!1});return}let h=e.find(a=>a.providerSpecificData?.baseUrl)?.providerSpecificData||null,j=await (0,d.q5)(a,g,f,h);0===j&&i.warn("AUTH",`[POOL] replacement key already in connections for ${a}`),await (0,d.updateProviderConnection)(b,{isActive:!1}),i.info("AUTH",`[POOL] auto-replaced key for ${a} (created=${j})`)}catch(a){i.warn("AUTH",`[POOL] auto-replace failed: ${a.message}`)}finally{k.delete(b)}}}async function n(a,b,c,e=null,h=null,j=null){let k,l,o;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};let p=(await (0,d.getProviderConnections)({provider:e})).find(b=>b.id===a),q=p?.backoffLevel||0;if(j&&j>Date.now()?(k=!0,l=Math.min(j-Date.now(),g.fh),o=0):{shouldFallback:k,cooldownMs:l,newBackoffLevel:o}=(0,f.hk)(b,c,q),!k)return{shouldFallback:!1,cooldownMs:0};let r="string"==typeof c?c.slice(0,100):"Provider error",s=(0,f.S5)(h,l);await (0,d.updateProviderConnection)(a,{...s,testStatus:"unavailable",lastError:r,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:o??q});let t=Object.keys(s)[0],u=p?.displayName||p?.name||p?.email||a.slice(0,8);return i.warn("AUTH",`${u} locked ${t} for ${Math.round(l/1e3)}s [${b}]`),e&&b&&r&&console.error(`❌ ${e} [${b}]: ${r}`),(400===b||402===b||403===b)&&e&&(g.eq.some(a=>r.toLowerCase().includes(a))?m(e,a).catch(()=>{}):403===b&&i.warn("AUTH",`[POOL] 403 received but no quota pattern matched — reason: "${r.slice(0,80)}"`)),{shouldFallback:!0,cooldownMs:l}}async function o(a,b,c=null){if(!a||"noauth"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function p(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function q(a){return!!a&&await (0,d.ek)(a)}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=4306,exports.ids=[4306],exports.modules={37221:(a,b,c)=>{let d;c.d(b,{RD:()=>p});var e=c(99129),f=c(89419),g=c(19035);function h(a){return(0,g.Gv)(a)}class i{#a;#b=new WeakMap;constructor(a){if(!function(a){return a&&"object"==typeof a&&Array.isArray(a.keys)&&a.keys.every(h)}(a))throw new e.Dm("JSON Web Key Set malformed");this.#a=structuredClone(a)}jwks(){return this.#a}async getKey(a,b){let{alg:c,kid:d}={...a,...b?.header},f=function(a){switch("string"==typeof a&&a.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";case"ML":return"AKP";default:throw new e.T0('Unsupported "alg" value for a JSON Web Key Set')}}(c),g=this.#a.keys.filter(a=>{let b=f===a.kty;if(b&&"string"==typeof d&&(b=d===a.kid),b&&("string"==typeof a.alg||"AKP"===f)&&(b=c===a.alg),b&&"string"==typeof a.use&&(b="sig"===a.use),b&&Array.isArray(a.key_ops)&&(b=a.key_ops.includes("verify")),b)switch(c){case"ES256":b="P-256"===a.crv;break;case"ES384":b="P-384"===a.crv;break;case"ES512":b="P-521"===a.crv;break;case"Ed25519":case"EdDSA":b="Ed25519"===a.crv}return b}),{0:h,length:i}=g;if(0===i)throw new e.BT;if(1!==i){let a=new e.$4,b=this.#b;throw a[Symbol.asyncIterator]=async function*(){for(let a of g)try{yield await j(b,a,c)}catch{}},a}return j(this.#b,h,c)}}async function j(a,b,c){let d=a.get(b)||a.set(b,{}).get(b);if(void 0===d[c]){let a=await (0,f.Og)({...b,ext:!0},c);if(a instanceof Uint8Array||"public"!==a.type)throw new e.Dm("JSON Web Key Set members must be public keys");d[c]=a}return d[c]}function k(a){let b=new i(a),c=async(a,c)=>b.getKey(a,c);return Object.defineProperties(c,{jwks:{value:()=>structuredClone(b.jwks()),enumerable:!1,configurable:!1,writable:!1}}),c}("u"<typeof navigator||!navigator.userAgent?.startsWith?.("Mozilla/5.0 "))&&(d="jose/v6.2.3");let l=Symbol();async function m(a,b,c,d=fetch){let f=await d(a,{method:"GET",signal:c,redirect:"manual",headers:b}).catch(a=>{if("TimeoutError"===a.name)throw new e.xb;throw a});if(200!==f.status)throw new e.i4("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await f.json()}catch{throw new e.i4("Failed to parse the JSON Web Key Set HTTP response as JSON")}}let n=Symbol();class o{#c;#d;#e;#f;#g;#h;#i;#j;#k;#l;constructor(a,b){if(!(a instanceof URL))throw TypeError("url must be an instance of URL");this.#c=new URL(a.href),this.#d="number"==typeof b?.timeoutDuration?b?.timeoutDuration:5e3,this.#e="number"==typeof b?.cooldownDuration?b?.cooldownDuration:3e4,this.#f="number"==typeof b?.cacheMaxAge?b?.cacheMaxAge:6e5,this.#i=new Headers(b?.headers),d&&!this.#i.has("User-Agent")&&this.#i.set("User-Agent",d),this.#i.has("accept")||(this.#i.set("accept","application/json"),this.#i.append("accept","application/jwk-set+json")),this.#j=b?.[l],b?.[n]!==void 0&&(this.#l=b?.[n],function(a,b){return!("object"!=typeof a||null===a||!("uat"in a)||"number"!=typeof a.uat||Date.now()-a.uat>=b)&&"jwks"in a&&!!(0,g.Gv)(a.jwks)&&!!Array.isArray(a.jwks.keys)&&!!Array.prototype.every.call(a.jwks.keys,g.Gv)}(b?.[n],this.#f)&&(this.#g=this.#l.uat,this.#k=k(this.#l.jwks)))}pendingFetch(){return!!this.#h}coolingDown(){return"number"==typeof this.#g&&Date.now()<this.#g+this.#e}fresh(){return"number"==typeof this.#g&&Date.now()<this.#g+this.#f}jwks(){return this.#k?.jwks()}async getKey(a,b){this.#k&&this.fresh()||await this.reload();try{return await this.#k(a,b)}catch(c){if(c instanceof e.BT&&!1===this.coolingDown())return await this.reload(),this.#k(a,b);throw c}}async reload(){this.#h&&("u">typeof WebSocketPair||"u">typeof navigator&&"Cloudflare-Workers"===navigator.userAgent||"u">typeof EdgeRuntime&&"vercel"===EdgeRuntime)&&(this.#h=void 0),this.#h||=m(this.#c.href,this.#i,AbortSignal.timeout(this.#d),this.#j).then(a=>{this.#k=k(a),this.#l&&(this.#l.uat=Date.now(),this.#l.jwks=a),this.#g=Date.now(),this.#h=void 0}).catch(a=>{throw this.#h=void 0,a}),await this.#h}}function p(a,b){let c=new o(a,b),d=async(a,b)=>c.getKey(a,b);return Object.defineProperties(d,{coolingDown:{get:()=>c.coolingDown(),enumerable:!0,configurable:!1},fresh:{get:()=>c.fresh(),enumerable:!0,configurable:!1},reload:{value:()=>c.reload(),enumerable:!0,configurable:!1,writable:!1},reloading:{get:()=>c.pendingFetch(),enumerable:!0,configurable:!1},jwks:{value:()=>c.jwks(),enumerable:!0,configurable:!1,writable:!1}}),d}},69614:(a,b,c)=>{c.d(b,{V:()=>p});var d=c(88888),e=c(91356),f=c(99129),g=c(73575),h=c(41570),i=c(19035),j=c(24762),k=c(80308),l=c(11980);async function m(a,b,c){if(!(0,i.Gv)(a))throw new f.Ye("Flattened JWS must be an object");if(void 0===a.protected&&void 0===a.header)throw new f.Ye('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==a.protected&&"string"!=typeof a.protected)throw new f.Ye("JWS Protected Header incorrect type");if(void 0===a.payload)throw new f.Ye("JWS Payload missing");if("string"!=typeof a.signature)throw new f.Ye("JWS Signature missing or incorrect type");if(void 0!==a.header&&!(0,i.Gv)(a.header))throw new f.Ye("JWS Unprotected Header incorrect type");let m={};if(a.protected)try{let b=(0,d.D)(a.protected);m=JSON.parse(g.D0.decode(b))}catch{throw new f.Ye("JWS Protected Header is invalid")}if(!(0,i.fz)(m,a.header))throw new f.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...m,...a.header},o=(0,k.n)(f.Ye,new Map([["b64",!0]]),c?.crit,m,n),p=!0;if(o.has("b64")&&"boolean"!=typeof(p=m.b64))throw new f.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:q}=n;if("string"!=typeof q||!q)throw new f.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');let r=c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms);if(r&&!r.has(q))throw new f.Rb('"alg" (Algorithm) Header Parameter value not allowed');if(p){if("string"!=typeof a.payload)throw new f.Ye("JWS Payload must be a string")}else if("string"!=typeof a.payload&&!(a.payload instanceof Uint8Array))throw new f.Ye("JWS Payload must be a string or an Uint8Array instance");let s=!1;"function"==typeof b&&(b=await b(m,a),s=!0),(0,j.y)(q,b,"verify");let t=(0,g.xW)(void 0!==a.protected?(0,g.lF)(a.protected):new Uint8Array,(0,g.lF)("."),"string"==typeof a.payload?p?(0,g.lF)(a.payload):g.Rd.encode(a.payload):a.payload),u=(0,h.h2)(a.signature,"signature",f.Ye),v=await (0,l.l)(b,q);if(!await (0,e.MX)(q,v,u,t))throw new f.h2;let w={payload:p?(0,h.h2)(a.payload,"payload",f.Ye):"string"==typeof a.payload?g.Rd.encode(a.payload):a.payload};return(void 0!==a.protected&&(w.protectedHeader=m),void 0!==a.header&&(w.unprotectedHeader=a.header),s)?{...w,key:v}:w}async function n(a,b,c){if(a instanceof Uint8Array&&(a=g.D0.decode(a)),"string"!=typeof a)throw new f.Ye("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:h,length:i}=a.split(".");if(3!==i)throw new f.Ye("Invalid Compact JWS");let j=await m({payload:e,protected:d,signature:h},b,c),k={payload:j.payload,protectedHeader:j.protectedHeader};return"function"==typeof b?{...k,key:j.key}:k}var o=c(17347);async function p(a,b,c){let d=await n(a,b,c);if(d.protectedHeader.crit?.includes("b64")&&!1===d.protectedHeader.b64)throw new f.Dp("JWTs MUST NOT use unencoded payload");let e={payload:(0,o.k6)(d.protectedHeader,d.payload,c),protectedHeader:d.protectedHeader};return"function"==typeof b?{...e,key:d.key}:e}},89419:(a,b,c)=>{c.d(b,{Og:()=>o,Lf:()=>n});var d=c(88888),e=c(88360),f=c(99129);let g=(a,b)=>{if(a.byteLength!==b.length)return!1;for(let c=0;c<a.byteLength;c++)if(a[c]!==b[c])return!1;return!0},h=a=>{let b=a.data[a.pos++];if(128&b){let c=127&b,d=0;for(let b=0;b<c;b++)d=d<<8|a.data[a.pos++];return d}return b},i=(a,b,c)=>{if(a.data[a.pos++]!==b)throw Error(c)},j=(a,b)=>{let c=a.data.subarray(a.pos,a.pos+b);return a.pos+=b,c},k=async(a,b,c,d)=>{let e,g,h="spki"===a,i=()=>h?["verify"]:["sign"];switch(c){case"PS256":case"PS384":case"PS512":e={name:"RSA-PSS",hash:`SHA-${c.slice(-3)}`},g=i();break;case"RS256":case"RS384":case"RS512":e={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${c.slice(-3)}`},g=i();break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":e={name:"RSA-OAEP",hash:`SHA-${parseInt(c.slice(-3),10)||1}`},g=h?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":case"ES384":case"ES512":e={name:"ECDSA",namedCurve:({ES256:"P-256",ES384:"P-384",ES512:"P-521"})[c]},g=i();break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":try{let a=d.getNamedCurve(b);e="X25519"===a?{name:"X25519"}:{name:"ECDH",namedCurve:a}}catch(a){throw new f.T0("Invalid or unsupported key format")}g=h?[]:["deriveBits"];break;case"Ed25519":case"EdDSA":e={name:"Ed25519"},g=i();break;case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":e={name:c},g=i();break;default:throw new f.T0('Invalid or unsupported "alg" (Algorithm) value')}return crypto.subtle.importKey(a,b,e,d?.extractable??!!h,g)};var l=c(88783),m=c(19035);async function n(a,b,c){let d,f,l;if("string"!=typeof a||0!==a.indexOf("-----BEGIN PRIVATE KEY-----"))throw TypeError('"pkcs8" must be PKCS#8 formatted string');return d=/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,f=(0,e.y)(a.replace(d,"")),l=c,b?.startsWith?.("ECDH-ES")&&((l||={}).getNamedCurve=a=>{let b,c={data:a,pos:0};return i(c,48,"Invalid PKCS#8 structure"),h(c),i(c,2,"Expected version field"),b=h(c),c.pos+=b,i(c,48,"Expected algorithm identifier"),h(c),c.pos,(a=>{let b,c=(i(a,6,"Expected algorithm OID"),b=h(a),j(a,b));if(g(c,[43,101,110]))return"X25519";if(!g(c,[42,134,72,206,61,2,1]))throw Error("Unsupported key algorithm");i(a,6,"Expected curve OID");let d=h(a),e=j(a,d);for(let{name:a,oid:b}of[{name:"P-256",oid:[42,134,72,206,61,3,1,7]},{name:"P-384",oid:[43,129,4,0,34]},{name:"P-521",oid:[43,129,4,0,35]}])if(g(e,b))return a;throw Error("Unsupported named curve")})(c)}),k("pkcs8",f,b,l)}async function o(a,b,c){let e;if(!(0,m.Gv)(a))throw TypeError("JWK must be an object");switch(b??=a.alg,e??=c?.extractable??a.ext,a.kty){case"oct":if("string"!=typeof a.k||!a.k)throw TypeError('missing "k" (Key Value) Parameter value');return(0,d.D)(a.k);case"RSA":if("oth"in a&&void 0!==a.oth)throw new f.T0('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');return(0,l.x)({...a,alg:b,ext:e});case"AKP":if("string"!=typeof a.alg||!a.alg)throw TypeError('missing "alg" (Algorithm) Parameter value');if(void 0!==b&&b!==a.alg)throw TypeError("JWK alg and alg option value mismatch");return(0,l.x)({...a,ext:e});case"EC":case"OKP":return(0,l.x)({...a,alg:b,ext:e});default:throw new f.T0('Unsupported "kty" (Key Type) Parameter value')}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=4632,exports.ids=[4632],exports.modules={3662:(a,b,c)=>{c.d(b,{EQ:()=>f,LY:()=>d,O:()=>e,eq:()=>j,fh:()=>h,t2:()=>i,wf:()=>g});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Model not found",406:"Model not supported",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},f={base:2e3,max:3e5,maxLevel:15},g=3e4,h=18e5,i=[{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"improperly formed request",cooldownMs:12e4},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{status:401,cooldownMs:12e4},{status:402,cooldownMs:12e4},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:429,backoff:!0}],j=["quota failed","insufficient_quota","exceeded quota","quota exceeded","exceeded your current quota","exceeded your quota","out of quota","quota limit","credits exhausted","insufficient balance","insufficient credits","balance insufficient","no balance","out of balance","out of credits","account balance is insufficient"]},41004:(a,b,c)=>{c.d(b,{C8:()=>k,DR:()=>j,Uc:()=>g,cI:()=>i,eo:()=>h,gx:()=>d,v1:()=>e,xM:()=>f}),c(3662);let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},e={sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20},f=18e4,g=64e3,h=32e3,i={429:{attempts:0,delayMs:0},502:{attempts:3,delayMs:3e3},503:{attempts:3,delayMs:2e3},504:{attempts:2,delayMs:3e3}};function j(a){return null==a?{attempts:0,delayMs:2e3}:"number"==typeof a?{attempts:a,delayMs:2e3}:{attempts:a.attempts||0,delayMs:null!=a.delayMs?a.delayMs:2e3}}let k=["Please write a 5-10 word title for the following conversation:"]},43659:(a,b,c)=>{c.d(b,{A1:()=>g,lR:()=>i,wO:()=>h,yj:()=>e,zL:()=>f});var d=c(3662);function e(a,b){let c;return new Response(JSON.stringify((c=d.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""}),{error:{message:b||d.O[a]||"An error occurred",type:c.type,code:c.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function f(a,b=null){let c="";try{c=await a.text()}catch{c=""}if(b&&"function"==typeof b.parseError)try{let e=b.parseError(a,c);if(e&&"object"==typeof e){let b=e.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:e.status||a.status,message:b,resetsAtMs:e.resetsAtMs}}}catch{}let e="";try{let a=JSON.parse(c);e=a.error?.message||a.message||a.error||c}catch{e=c}let g=("string"==typeof e?e:JSON.stringify(e))||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:g}}function g(a,b,c){return{success:!1,status:a,error:b,resetsAtMs:c,response:e(a,b)}}function h(a,b,c,d){let e=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(e)}})}function i(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},64632:(a,b,c)=>{c.d(b,{Op:()=>N,Nq:()=>E,PE:()=>P});var d=c(4573),e=c(43659),f=c(41004);let g="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36";async function h(a,b="mp3"){let c=await a.arrayBuffer();if(c.byteLength<100)throw Error("Upstream returned empty audio");let e=a.headers.get("content-type")||"",f=b;return e.includes("wav")?f="wav":e.includes("mpeg")||e.includes("mp3")?f="mp3":e.includes("ogg")&&(f="ogg"),{base64:d.Buffer.from(c).toString("base64"),format:f}}async function i(a){let b=await a.text().catch(()=>""),c=`Upstream error (${a.status})`;try{let a=JSON.parse(b);c=a?.error?.message||a?.message||a?.detail?.message||("string"==typeof a?.detail?a.detail:null)||b||c}catch{c=b||c}throw Error(c)}let j={token:null,tokenTime:0},k=0;async function l(){let a=Date.now();if(j.token&&a-j.tokenTime<66e4)return j.token;let b=await fetch("https://translate.google.com/",{headers:{"User-Agent":g}});if(!b.ok)throw Error(`Google translate fetch failed: ${b.status}`);let c=await b.text(),d=c.match(/"FdrFJe":"(.*?)"/)?.[1],e=c.match(/"cfb2h":"(.*?)"/)?.[1];if(!d||!e)throw Error("Failed to parse Google token");return j.token={"f.sid":d,bl:e},j.tokenTime=a,j.token}let m={token:null,tokenTime:0},n=null,o=0;async function p(){let a=Date.now();if(m.token&&a-m.tokenTime<3e5)return m.token;let b=await fetch("https://www.bing.com/translator",{headers:{"User-Agent":g,"Accept-Language":"vi,en-US;q=0.9,en;q=0.8"}});if(!b.ok)throw Error(`Bing translator fetch failed: ${b.status}`);let c=(b.headers.getSetCookie?.()||[]).map(a=>a.split(";")[0]).join("; "),d=(await b.text()).match(/params_AbusePreventionHelper\s*=\s*\[([^,]+),([^,]+),/);if(!d)throw Error("Failed to parse Bing token");return m.token={key:d[1],token:d[2].replace(/"/g,""),cookie:c},m.tokenTime=a,m.token}async function q(a,b,c){let d=b.split("-").slice(0,2).join("-"),e=b.toLowerCase().includes("male")?"Male":"Female",f=`<speak version='1.0' xml:lang='${d}'><voice xml:lang='${d}' xml:gender='${e}' name='${b}'><prosody rate='0.00%'>${a}</prosody></voice></speak>`,h=new URLSearchParams;return h.append("ssml",f),h.append("token",c.token),h.append("key",c.key),fetch("https://www.bing.com/tfettts?isVertical=1&&IG=1&IID=translator.5023&SFX=1",{method:"POST",body:h.toString(),headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"*/*",Origin:"https://www.bing.com",Referer:"https://www.bing.com/translator","User-Agent":g,...c.cookie?{Cookie:c.cookie}:{}}})}async function r(){let a=Date.now();if(n&&a-o<864e5)return n;let b=await fetch("https://speech.platform.bing.com/consumer/speech/synthesize/readaloud/voices/list?trustedclienttoken=6A5AA1D4EAFF4E9FB37E23D68491D6F4",{headers:{"User-Agent":g}});if(!b.ok)throw Error(`Edge TTS voices fetch failed: ${b.status}`);let c=await b.json();return n=c,o=a,c}var s=c(31421),t=c(57975),u=c(51455),v=c(48161),w=c(76760);let x=(0,t.promisify)(s.execFile),y=null;async function z(){let{stdout:a}=await x("say",["-v","?"]),b=[];for(let c of a.split("\n")){let a=c.match(/^([^\s].*?)\s{2,}([a-z]{2}_[A-Z]{2})/);if(!a)continue;let d=a[1].trim(),e=a[2].trim(),f=e.split("_")[0],g=e.split("_")[1];b.push({id:d,name:d,locale:e,lang:f,country:g,gender:""})}return b}async function A(){let{stdout:a}=await x("powershell.exe",["-NoProfile","-NonInteractive","-WindowStyle","Hidden","-Command","Add-Type -AssemblyName System.Speech; $s = New-Object System.Speech.Synthesis.SpeechSynthesizer; $s.GetInstalledVoices() | ForEach-Object { $v = $_.VoiceInfo; [PSCustomObject]@{ Name=$v.Name; Culture=$v.Culture.Name; Gender=$v.Gender } } | ConvertTo-Json -Compress"],{windowsHide:!0}),b=JSON.parse(a.trim()||"[]");return(Array.isArray(b)?b:[b]).map(a=>{let b=a.Culture||"en-US",[c,d=""]=b.split("-");return{id:a.Name,name:a.Name,locale:b.replace("-","_"),lang:c,country:d,gender:({1:"Male",2:"Female",Male:"Male",Female:"Female"})[a.Gender]||""}})}async function B(){if(y)return y;try{let a="win32"===process.platform?await A():await z();return y=a,a}catch{return[]}}async function C(a,b){let c=await (0,u.mkdtemp)((0,w.join)((0,v.tmpdir)(),"tts-")),d=(0,w.join)(c,"out.aiff"),e=(0,w.join)(c,"out.mp3");try{let c=b?["-v",b,"-o",d,a]:["-o",d,a];return await x("say",c),await x("ffmpeg",["-y","-i",d,"-codec:a","libmp3lame","-qscale:a","4",e]),(await (0,u.readFile)(e)).toString("base64")}finally{await (0,u.rm)(c,{recursive:!0,force:!0})}}let D=new Map;async function E(a){if(!a)throw Error("ElevenLabs API key required");let b=Date.now(),c=D.get(a);if(c&&b-c.time<864e5)return c.voices;let d=await fetch("https://api.elevenlabs.io/v1/voices",{headers:{"xi-api-key":a,"Content-Type":"application/json"}});if(!d.ok)throw Error(`ElevenLabs voices fetch failed: ${d.status}`);let e=((await d.json()).voices||[]).map(a=>({...a,lang:a.labels?.language||"en"}));return D.set(a,{voices:e,time:b}),e}let F="gemini-2.5-flash-preview-tts",G="Kore",H=["gemini-2.5-flash-preview-tts","gemini-2.5-pro-preview-tts"],I=[{id:"Zephyr",lang:"en",gender:"Female"},{id:"Puck",lang:"en",gender:"Male"},{id:"Charon",lang:"en",gender:"Male"},{id:"Kore",lang:"en",gender:"Female"},{id:"Fenrir",lang:"en",gender:"Male"},{id:"Leda",lang:"en",gender:"Female"},{id:"Orus",lang:"en",gender:"Male"},{id:"Aoede",lang:"en",gender:"Female"},{id:"Callirrhoe",lang:"en",gender:"Female"},{id:"Autonoe",lang:"en",gender:"Female"},{id:"Enceladus",lang:"en",gender:"Male"},{id:"Iapetus",lang:"en",gender:"Male"},{id:"Umbriel",lang:"en",gender:"Male"},{id:"Algieba",lang:"en",gender:"Male"},{id:"Despina",lang:"en",gender:"Female"},{id:"Erinome",lang:"en",gender:"Female"},{id:"Algenib",lang:"en",gender:"Male"},{id:"Rasalgethi",lang:"en",gender:"Male"},{id:"Laomedeia",lang:"en",gender:"Female"},{id:"Achernar",lang:"en",gender:"Female"},{id:"Alnilam",lang:"en",gender:"Male"},{id:"Schedar",lang:"en",gender:"Male"},{id:"Gacrux",lang:"en",gender:"Female"},{id:"Pulcherrima",lang:"en",gender:"Female"},{id:"Achird",lang:"en",gender:"Male"},{id:"Zubenelgenubi",lang:"en",gender:"Male"},{id:"Vindemiatrix",lang:"en",gender:"Female"},{id:"Sadachbia",lang:"en",gender:"Male"},{id:"Sadaltager",lang:"en",gender:"Male"},{id:"Sulafat",lang:"en",gender:"Female"}];async function J(){return I.map(a=>({voice_id:a.id,name:a.id,labels:{language:a.lang,gender:a.gender}}))}let K={hyperbolic:async function({baseUrl:a,apiKey:b,text:c}){let d=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({text:c})});return d.ok||await i(d),{base64:(await d.json()).audio,format:"mp3"}},deepgram:async function({baseUrl:a,apiKey:b,text:c,modelId:d}){let e=new URL(a);e.searchParams.set("model",d||"aura-asteria-en");let f=await fetch(e.toString(),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Token ${b}`},body:JSON.stringify({text:c})});return f.ok||await i(f),h(f,"mp3")},"nvidia-tts":async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({input:{text:c},voice:e||"default",model:d})});return f.ok||await i(f),h(f,"wav")},"huggingface-tts":async function({baseUrl:a,apiKey:b,text:c,modelId:d}){if(!d||d.includes(".."))throw Error("Invalid HuggingFace model ID");let e=await fetch(`${a}/${d}`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({inputs:c})});return e.ok||await i(e),h(e,"wav")},inworld:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Basic ${b}`},body:JSON.stringify({text:c,voiceId:e||"Alex",modelId:d||"inworld-tts-1.5-mini",audioConfig:{audioEncoding:"MP3"}})});f.ok||await i(f);let g=await f.json();if(!g.audioContent)throw Error("Inworld TTS returned no audio");return{base64:g.audioContent,format:"mp3"}},cartesia:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":b,"Cartesia-Version":"2024-06-10"},body:JSON.stringify({model_id:d||"sonic-2",transcript:c,...e?{voice:{mode:"id",id:e}}:{},output_format:{container:"mp3",bit_rate:128e3,sample_rate:44100}})});return f.ok||await i(f),h(f,"mp3")},playht:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let[f,g]=(b||":").split(":"),j=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Accept:"audio/mpeg","X-USER-ID":f||"",Authorization:`Bearer ${g||b}`},body:JSON.stringify({text:c,voice:e||"s3://voice-cloning-zero-shot/d9ff78ba-d016-47f6-b0ef-dd630f59414e/female-cs/manifest.json",voice_engine:d||"PlayDialog",output_format:"mp3",speed:1})});return j.ok||await i(j),h(j,"mp3")},coqui:async function({baseUrl:a,text:b,voiceId:c}){let d=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:b,...c?{speaker_id:c}:{}})});return d.ok||await i(d),h(d,"wav")},tortoise:async function({baseUrl:a,text:b,voiceId:c}){let d=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:b,voice:c||"random"})});return d.ok||await i(d),h(d,"wav")},openai:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f={"Content-Type":"application/json"};b&&(f.Authorization=`Bearer ${b}`);let g=await fetch(a,{method:"POST",headers:f,body:JSON.stringify({model:d,input:c,voice:e||"alloy",response_format:"mp3",speed:1})});return g.ok||await i(g),h(g,"mp3")},"minimax-tts":async function({baseUrl:a,apiKey:b,text:c,modelId:e,voiceId:f}){let g=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({model:e||"speech-2.8-hd",text:c,stream:!1,language_boost:"auto",output_format:"hex",voice_setting:{voice_id:f||"English_expressive_narrator",speed:1,vol:1,pitch:0},audio_setting:{sample_rate:32e3,bitrate:128e3,format:"mp3",channel:1}})}),h=await g.text(),i={};if(h)try{i=JSON.parse(h)}catch{i={}}let j=i.base_resp||i.baseResp||{},k=Number(j.status_code??j.statusCode??0),l=j.status_msg||j.statusMsg||i.message||"";if(!g.ok)throw Error(l||h||`MiniMax TTS error (${g.status})`);if(0!==k)throw Error(l||"MiniMax TTS upstream error");return{base64:function(a){let b="string"==typeof a?a.trim():"";if(!b)throw Error("MiniMax TTS returned no audio");if(b.length%2!=0||!/^[0-9a-f]+$/i.test(b))throw Error("MiniMax TTS returned invalid audio");return d.Buffer.from(b,"hex").toString("base64")}(i.data?.audio),format:i.extra_info?.audio_format||i.extraInfo?.audioFormat||"mp3"}}},L={"google-tts":{noAuth:!0,async synthesize(a,b){let c=b||"en",d=await l(),e=a.replace(/[@^*()\\/\-_+=><"'\u201c\u201d\u3010\u3011]/g," ").replaceAll(", ",". "),f="jQ1olc",g=1e5*++k+Math.floor(1e3+9e3*Math.random()),h=new URLSearchParams({rpcids:f,"f.sid":d["f.sid"],bl:d.bl,hl:c,"soc-app":1,"soc-platform":1,"soc-device":1,_reqid:g,rt:"c"}),i=[e,c,null,"undefined",[0]],j=new URLSearchParams;j.append("f.req",JSON.stringify([[[f,JSON.stringify(i),null,"generic"]]]));let m=await fetch(`https://translate.google.com/_/TranslateWebserverUi/data/batchexecute?${h}`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Referer:"https://translate.google.com/"},body:j.toString()});if(!m.ok)throw Error(`Google TTS failed: ${m.status}`);let n=JSON.parse(JSON.parse((await m.text()).split("\n")[3])[0][2])[0];if(!n||n.length<100)throw Error("Google TTS returned empty audio");return{base64:n,format:"mp3"}}},"edge-tts":{noAuth:!0,async synthesize(a,b){let c=b||"vi-VN-HoaiMyNeural",e=await p(),f=await q(a,c,e);if((429===f.status||403===f.status)&&(m.token=null,m.tokenTime=0,e=await p(),f=await q(a,c,e)),!f.ok){let a=await f.text().catch(()=>"");throw Error(`Bing TTS failed: ${f.status}${a?" - "+a:""}`)}let g=await f.arrayBuffer();if(g.byteLength<1024)throw Error("Bing TTS returned empty audio");return{base64:d.Buffer.from(g).toString("base64"),format:"mp3"}}},"local-device":{noAuth:!0,synthesize:async(a,b)=>({base64:await C(a,b),format:"mp3"})},elevenlabs:{async synthesize(a,b,c){if(!c?.apiKey)throw Error("ElevenLabs API key required");let e="eleven_flash_v2_5",f=b;b&&b.includes("/")&&([e,f]=b.split("/"));let g=await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${f}`,{method:"POST",headers:{"xi-api-key":c.apiKey,"Content-Type":"application/json"},body:JSON.stringify({text:a,model_id:e,voice_settings:{stability:.5,similarity_boost:.75}})});if(!g.ok){let a=await g.json().catch(()=>({}));throw Error(a?.detail?.message||`ElevenLabs TTS failed: ${g.status}`)}let h=await g.arrayBuffer();if(h.byteLength<1024)throw Error("ElevenLabs TTS returned empty audio");return{base64:d.Buffer.from(h).toString("base64"),format:"mp3"}}},openai:{async synthesize(a,b,c){if(!c?.apiKey)throw Error("No OpenAI API key configured");let e="gpt-4o-mini-tts",f="alloy";if(b&&b.includes("/")){let a=b.split("/");2===a.length&&([e,f]=a)}else b&&(f=b);let g=(c.baseUrl||"https://api.openai.com").replace(/\/+$/,""),h=await fetch(`${g}/v1/audio/speech`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c.apiKey}`},body:JSON.stringify({model:e,voice:f,input:a})});if(!h.ok){let a=await h.json().catch(()=>({}));throw Error(a?.error?.message||`OpenAI TTS failed: ${h.status}`)}let i=await h.arrayBuffer();return{base64:d.Buffer.from(i).toString("base64"),format:"mp3"}}},openrouter:{async synthesize(a,b,c){if(!c?.apiKey)throw Error("No OpenRouter API key configured");let d="openai/gpt-4o-mini-tts",e="alloy";if(b&&b.includes("/")){let a=b.lastIndexOf("/"),c=b.slice(a+1),f=b.slice(0,a);f.includes("/")?(d=f,e=c):e=b}else b&&(e=b);let f=await fetch("https://openrouter.ai/api/v1/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c.apiKey}`,"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"},body:JSON.stringify({model:d,modalities:["text","audio"],audio:{voice:e,format:"wav"},stream:!0,messages:[{role:"user",content:a}]})});if(!f.ok){let a=await f.json().catch(()=>({}));throw Error(a?.error?.message||`OpenRouter TTS failed: ${f.status}`)}let g=[],h=f.body.getReader(),i=new TextDecoder,j="";for(;;){let{done:a,value:b}=await h.read();if(a)break;let c=(j+=i.decode(b,{stream:!0})).split("\n");for(let a of(j=c.pop(),c))if(a.startsWith("data: ")&&"data: [DONE]"!==a)try{let b=JSON.parse(a.slice(6)),c=b.choices?.[0]?.delta?.audio?.data;c&&g.push(c)}catch{}}if(0===g.length)throw Error("OpenRouter TTS returned no audio data");return{base64:g.join(""),format:"wav"}}},gemini:{async synthesize(a,b,c,e,f={}){var g,h;let i,j;if(!c?.apiKey)throw Error("No Gemini API key configured");let{modelId:k,voiceId:l}=function(a){if(!a)return{modelId:F,voiceId:G};for(let b of H){if(a===b)return{modelId:b,voiceId:G};if(a.startsWith(`${b}/`))return{modelId:b,voiceId:a.slice(b.length+1)}}return{modelId:F,voiceId:a}}(b),m=`https://generativelanguage.googleapis.com/v1beta/models/${k}:generateContent?key=${c.apiKey}`,n=await fetch(m,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:[{parts:[{text:(g=f.language,/:\s/.test(a)?a:g?`Say in ${g}: ${a}`:`Say: ${a}`)}]}],generationConfig:{responseModalities:["AUDIO"],speechConfig:{voiceConfig:{prebuiltVoiceConfig:{voiceName:l}}}}})});if(!n.ok){let a=await n.json().catch(()=>({}));throw Error(a?.error?.message||`Gemini TTS failed: ${n.status}`)}let o=await n.json(),p=o?.candidates?.[0]?.content?.parts?.find(a=>a.inlineData?.data)?.inlineData?.data;if(!p){let a=o?.candidates?.[0]?.finishReason||o?.promptFeedback?.blockReason||"unknown";throw Error(`Gemini TTS returned no audio (finishReason: ${a}, voice: ${l}, model: ${k})`)}return{base64:(i=(h=d.Buffer.from(p,"base64")).length,(j=d.Buffer.alloc(44)).write("RIFF",0),j.writeUInt32LE(36+i,4),j.write("WAVE",8),j.write("fmt ",12),j.writeUInt32LE(16,16),j.writeUInt16LE(1,20),j.writeUInt16LE(1,22),j.writeUInt32LE(24e3,24),j.writeUInt32LE(48e3,28),j.writeUInt16LE(2,32),j.writeUInt16LE(16,34),j.write("data",36),j.writeUInt32LE(i,40),d.Buffer.concat([j,h])).toString("base64"),format:"wav"}}}};async function M(a,b,d,e){let{AI_PROVIDERS:f}=await c.e(5681).then(c.bind(c,75681)),g=f[a]?.ttsConfig;if(!g)return null;let h=K[g.format];if(!h)return null;let i=e?.apiKey;if("none"!==g.authType&&!i)throw Error(`${a} API key required`);let{modelId:j,voiceId:k}=function(a,b="",c="",d=[]){if(!a)return{modelId:b,voiceId:c};for(let b of d.map(a=>a.id||a).filter(Boolean).sort((a,b)=>b.length-a.length)){if(a===b)return{modelId:b,voiceId:c};if(a.startsWith(`${b}/`))return{modelId:b,voiceId:a.slice(b.length+1)}}let e=a.lastIndexOf("/");return e>0?{modelId:a.slice(0,e),voiceId:a.slice(e+1)}:{modelId:b||a,voiceId:c||a}}(d,g.models?.[0]?.id||"","",g.models||[]);return h({baseUrl:g.baseUrl,apiKey:i,text:b,modelId:j,voiceId:k})}let N={"edge-tts":r,"local-device":B,elevenlabs:E,gemini:J};function O(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 P({provider:a,model:b,input:c,credentials:d,responseFormat:g="mp3",language:h}){if(!c?.trim())return(0,e.A1)(f.gx.BAD_REQUEST,"Missing required field: input");try{let i=L[a]||null;if(i){let a=await i.synthesize(c.trim(),b,d,g,{language:h});if(void 0!==a.success)return a;return O(a.base64,a.format,g)}let j=await M(a,c.trim(),b,d);if(j)return O(j.base64,j.format,g);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")}}}};
1
+ "use strict";exports.id=4632,exports.ids=[4632],exports.modules={43659:(a,b,c)=>{c.d(b,{A1:()=>g,lR:()=>i,wO:()=>h,yj:()=>e,zL:()=>f});var d=c(3662);function e(a,b){let c;return new Response(JSON.stringify((c=d.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""}),{error:{message:b||d.O[a]||"An error occurred",type:c.type,code:c.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function f(a,b=null){let c="";try{c=await a.text()}catch{c=""}if(b&&"function"==typeof b.parseError)try{let e=b.parseError(a,c);if(e&&"object"==typeof e){let b=e.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:e.status||a.status,message:b,resetsAtMs:e.resetsAtMs}}}catch{}let e="";try{let a=JSON.parse(c);e=a.error?.message||a.message||a.error||c}catch{e=c}let g=("string"==typeof e?e:JSON.stringify(e))||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:g}}function g(a,b,c){return{success:!1,status:a,error:b,resetsAtMs:c,response:e(a,b)}}function h(a,b,c,d){let e=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(e)}})}function i(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},64632:(a,b,c)=>{c.d(b,{Op:()=>S,Nq:()=>E,PE:()=>U});var d=c(4573),e=c(43659),f=c(41004);let g="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36";async function h(a,b="mp3"){let c=await a.arrayBuffer();if(c.byteLength<100)throw Error("Upstream returned empty audio");let e=a.headers.get("content-type")||"",f=b;return e.includes("wav")?f="wav":e.includes("mpeg")||e.includes("mp3")?f="mp3":e.includes("ogg")&&(f="ogg"),{base64:d.Buffer.from(c).toString("base64"),format:f}}async function i(a){let b=await a.text().catch(()=>""),c=`Upstream error (${a.status})`;try{let a=JSON.parse(b);c=a?.error?.message||a?.message||a?.detail?.message||("string"==typeof a?.detail?a.detail:null)||b||c}catch{c=b||c}throw Error(c)}let j={token:null,tokenTime:0},k=0;async function l(){let a=Date.now();if(j.token&&a-j.tokenTime<66e4)return j.token;let b=await fetch("https://translate.google.com/",{headers:{"User-Agent":g}});if(!b.ok)throw Error(`Google translate fetch failed: ${b.status}`);let c=await b.text(),d=c.match(/"FdrFJe":"(.*?)"/)?.[1],e=c.match(/"cfb2h":"(.*?)"/)?.[1];if(!d||!e)throw Error("Failed to parse Google token");return j.token={"f.sid":d,bl:e},j.tokenTime=a,j.token}let m={token:null,tokenTime:0},n=null,o=0;async function p(){let a=Date.now();if(m.token&&a-m.tokenTime<3e5)return m.token;let b=await fetch("https://www.bing.com/translator",{headers:{"User-Agent":g,"Accept-Language":"vi,en-US;q=0.9,en;q=0.8"}});if(!b.ok)throw Error(`Bing translator fetch failed: ${b.status}`);let c=(b.headers.getSetCookie?.()||[]).map(a=>a.split(";")[0]).join("; "),d=(await b.text()).match(/params_AbusePreventionHelper\s*=\s*\[([^,]+),([^,]+),/);if(!d)throw Error("Failed to parse Bing token");return m.token={key:d[1],token:d[2].replace(/"/g,""),cookie:c},m.tokenTime=a,m.token}async function q(a,b,c){let d=b.split("-").slice(0,2).join("-"),e=b.toLowerCase().includes("male")?"Male":"Female",f=`<speak version='1.0' xml:lang='${d}'><voice xml:lang='${d}' xml:gender='${e}' name='${b}'><prosody rate='0.00%'>${a}</prosody></voice></speak>`,h=new URLSearchParams;return h.append("ssml",f),h.append("token",c.token),h.append("key",c.key),fetch("https://www.bing.com/tfettts?isVertical=1&&IG=1&IID=translator.5023&SFX=1",{method:"POST",body:h.toString(),headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"*/*",Origin:"https://www.bing.com",Referer:"https://www.bing.com/translator","User-Agent":g,...c.cookie?{Cookie:c.cookie}:{}}})}async function r(){let a=Date.now();if(n&&a-o<864e5)return n;let b=await fetch("https://speech.platform.bing.com/consumer/speech/synthesize/readaloud/voices/list?trustedclienttoken=6A5AA1D4EAFF4E9FB37E23D68491D6F4",{headers:{"User-Agent":g}});if(!b.ok)throw Error(`Edge TTS voices fetch failed: ${b.status}`);let c=await b.json();return n=c,o=a,c}var s=c(31421),t=c(57975),u=c(51455),v=c(48161),w=c(76760);let x=(0,t.promisify)(s.execFile),y=null;async function z(){let{stdout:a}=await x("say",["-v","?"]),b=[];for(let c of a.split("\n")){let a=c.match(/^([^\s].*?)\s{2,}([a-z]{2}_[A-Z]{2})/);if(!a)continue;let d=a[1].trim(),e=a[2].trim(),f=e.split("_")[0],g=e.split("_")[1];b.push({id:d,name:d,locale:e,lang:f,country:g,gender:""})}return b}async function A(){let{stdout:a}=await x("powershell.exe",["-NoProfile","-NonInteractive","-WindowStyle","Hidden","-Command","Add-Type -AssemblyName System.Speech; $s = New-Object System.Speech.Synthesis.SpeechSynthesizer; $s.GetInstalledVoices() | ForEach-Object { $v = $_.VoiceInfo; [PSCustomObject]@{ Name=$v.Name; Culture=$v.Culture.Name; Gender=$v.Gender } } | ConvertTo-Json -Compress"],{windowsHide:!0}),b=JSON.parse(a.trim()||"[]");return(Array.isArray(b)?b:[b]).map(a=>{let b=a.Culture||"en-US",[c,d=""]=b.split("-");return{id:a.Name,name:a.Name,locale:b.replace("-","_"),lang:c,country:d,gender:({1:"Male",2:"Female",Male:"Male",Female:"Female"})[a.Gender]||""}})}async function B(){if(y)return y;try{let a="win32"===process.platform?await A():await z();return y=a,a}catch{return[]}}async function C(a,b){let c=await (0,u.mkdtemp)((0,w.join)((0,v.tmpdir)(),"tts-")),d=(0,w.join)(c,"out.aiff"),e=(0,w.join)(c,"out.mp3");try{let c=b?["-v",b,"-o",d,a]:["-o",d,a];return await x("say",c),await x("ffmpeg",["-y","-i",d,"-codec:a","libmp3lame","-qscale:a","4",e]),(await (0,u.readFile)(e)).toString("base64")}finally{await (0,u.rm)(c,{recursive:!0,force:!0})}}let D=new Map;async function E(a){if(!a)throw Error("ElevenLabs API key required");let b=Date.now(),c=D.get(a);if(c&&b-c.time<864e5)return c.voices;let d=await fetch("https://api.elevenlabs.io/v1/voices",{headers:{"xi-api-key":a,"Content-Type":"application/json"}});if(!d.ok)throw Error(`ElevenLabs voices fetch failed: ${d.status}`);let e=((await d.json()).voices||[]).map(a=>({...a,lang:a.labels?.language||"en"}));return D.set(a,{voices:e,time:b}),e}var F=c(26070);let G=F.B$.openai?.ttsConfig?.defaultModel,H=F.B$.openrouter?.ttsConfig||{},I=F.B$.gemini?.ttsConfig||{},J=I.baseUrl,K=(I.models||[]).map(a=>a.id),L=K[0],M="Kore",N=[{id:"Zephyr",lang:"en",gender:"Female"},{id:"Puck",lang:"en",gender:"Male"},{id:"Charon",lang:"en",gender:"Male"},{id:"Kore",lang:"en",gender:"Female"},{id:"Fenrir",lang:"en",gender:"Male"},{id:"Leda",lang:"en",gender:"Female"},{id:"Orus",lang:"en",gender:"Male"},{id:"Aoede",lang:"en",gender:"Female"},{id:"Callirrhoe",lang:"en",gender:"Female"},{id:"Autonoe",lang:"en",gender:"Female"},{id:"Enceladus",lang:"en",gender:"Male"},{id:"Iapetus",lang:"en",gender:"Male"},{id:"Umbriel",lang:"en",gender:"Male"},{id:"Algieba",lang:"en",gender:"Male"},{id:"Despina",lang:"en",gender:"Female"},{id:"Erinome",lang:"en",gender:"Female"},{id:"Algenib",lang:"en",gender:"Male"},{id:"Rasalgethi",lang:"en",gender:"Male"},{id:"Laomedeia",lang:"en",gender:"Female"},{id:"Achernar",lang:"en",gender:"Female"},{id:"Alnilam",lang:"en",gender:"Male"},{id:"Schedar",lang:"en",gender:"Male"},{id:"Gacrux",lang:"en",gender:"Female"},{id:"Pulcherrima",lang:"en",gender:"Female"},{id:"Achird",lang:"en",gender:"Male"},{id:"Zubenelgenubi",lang:"en",gender:"Male"},{id:"Vindemiatrix",lang:"en",gender:"Female"},{id:"Sadachbia",lang:"en",gender:"Male"},{id:"Sadaltager",lang:"en",gender:"Male"},{id:"Sulafat",lang:"en",gender:"Female"}];async function O(){return N.map(a=>({voice_id:a.id,name:a.id,labels:{language:a.lang,gender:a.gender}}))}let P={hyperbolic:async function({baseUrl:a,apiKey:b,text:c}){let d=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({text:c})});return d.ok||await i(d),{base64:(await d.json()).audio,format:"mp3"}},deepgram:async function({baseUrl:a,apiKey:b,text:c,modelId:d}){let e=new URL(a);e.searchParams.set("model",d||"aura-asteria-en");let f=await fetch(e.toString(),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Token ${b}`},body:JSON.stringify({text:c})});return f.ok||await i(f),h(f,"mp3")},"nvidia-tts":async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({input:{text:c},voice:e||"default",model:d})});return f.ok||await i(f),h(f,"wav")},"huggingface-tts":async function({baseUrl:a,apiKey:b,text:c,modelId:d}){if(!d||d.includes(".."))throw Error("Invalid HuggingFace model ID");let e=await fetch(`${a}/${d}`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({inputs:c})});return e.ok||await i(e),h(e,"wav")},inworld:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Basic ${b}`},body:JSON.stringify({text:c,voiceId:e||"Alex",modelId:d||"inworld-tts-1.5-mini",audioConfig:{audioEncoding:"MP3"}})});f.ok||await i(f);let g=await f.json();if(!g.audioContent)throw Error("Inworld TTS returned no audio");return{base64:g.audioContent,format:"mp3"}},cartesia:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":b,"Cartesia-Version":"2024-06-10"},body:JSON.stringify({model_id:d||"sonic-2",transcript:c,...e?{voice:{mode:"id",id:e}}:{},output_format:{container:"mp3",bit_rate:128e3,sample_rate:44100}})});return f.ok||await i(f),h(f,"mp3")},playht:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let[f,g]=(b||":").split(":"),j=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Accept:"audio/mpeg","X-USER-ID":f||"",Authorization:`Bearer ${g||b}`},body:JSON.stringify({text:c,voice:e||"s3://voice-cloning-zero-shot/d9ff78ba-d016-47f6-b0ef-dd630f59414e/female-cs/manifest.json",voice_engine:d||"PlayDialog",output_format:"mp3",speed:1})});return j.ok||await i(j),h(j,"mp3")},coqui:async function({baseUrl:a,text:b,voiceId:c}){let d=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:b,...c?{speaker_id:c}:{}})});return d.ok||await i(d),h(d,"wav")},tortoise:async function({baseUrl:a,text:b,voiceId:c}){let d=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:b,voice:c||"random"})});return d.ok||await i(d),h(d,"wav")},openai:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f={"Content-Type":"application/json"};b&&(f.Authorization=`Bearer ${b}`);let g=await fetch(a,{method:"POST",headers:f,body:JSON.stringify({model:d,input:c,voice:e||"alloy",response_format:"mp3",speed:1})});return g.ok||await i(g),h(g,"mp3")},"minimax-tts":async function({baseUrl:a,apiKey:b,text:c,modelId:e,voiceId:f}){let g=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({model:e||"speech-2.8-hd",text:c,stream:!1,language_boost:"auto",output_format:"hex",voice_setting:{voice_id:f||"English_expressive_narrator",speed:1,vol:1,pitch:0},audio_setting:{sample_rate:32e3,bitrate:128e3,format:"mp3",channel:1}})}),h=await g.text(),i={};if(h)try{i=JSON.parse(h)}catch{i={}}let j=i.base_resp||i.baseResp||{},k=Number(j.status_code??j.statusCode??0),l=j.status_msg||j.statusMsg||i.message||"";if(!g.ok)throw Error(l||h||`MiniMax TTS error (${g.status})`);if(0!==k)throw Error(l||"MiniMax TTS upstream error");return{base64:function(a){let b="string"==typeof a?a.trim():"";if(!b)throw Error("MiniMax TTS returned no audio");if(b.length%2!=0||!/^[0-9a-f]+$/i.test(b))throw Error("MiniMax TTS returned invalid audio");return d.Buffer.from(b,"hex").toString("base64")}(i.data?.audio),format:i.extra_info?.audio_format||i.extraInfo?.audioFormat||"mp3"}}},Q={"google-tts":{noAuth:!0,async synthesize(a,b){let c=b||"en",d=await l(),e=a.replace(/[@^*()\\/\-_+=><"'\u201c\u201d\u3010\u3011]/g," ").replaceAll(", ",". "),f="jQ1olc",g=1e5*++k+Math.floor(1e3+9e3*Math.random()),h=new URLSearchParams({rpcids:f,"f.sid":d["f.sid"],bl:d.bl,hl:c,"soc-app":1,"soc-platform":1,"soc-device":1,_reqid:g,rt:"c"}),i=[e,c,null,"undefined",[0]],j=new URLSearchParams;j.append("f.req",JSON.stringify([[[f,JSON.stringify(i),null,"generic"]]]));let m=await fetch(`https://translate.google.com/_/TranslateWebserverUi/data/batchexecute?${h}`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Referer:"https://translate.google.com/"},body:j.toString()});if(!m.ok)throw Error(`Google TTS failed: ${m.status}`);let n=JSON.parse(JSON.parse((await m.text()).split("\n")[3])[0][2])[0];if(!n||n.length<100)throw Error("Google TTS returned empty audio");return{base64:n,format:"mp3"}}},"edge-tts":{noAuth:!0,async synthesize(a,b){let c=b||"vi-VN-HoaiMyNeural",e=await p(),f=await q(a,c,e);if((429===f.status||403===f.status)&&(m.token=null,m.tokenTime=0,e=await p(),f=await q(a,c,e)),!f.ok){let a=await f.text().catch(()=>"");throw Error(`Bing TTS failed: ${f.status}${a?" - "+a:""}`)}let g=await f.arrayBuffer();if(g.byteLength<1024)throw Error("Bing TTS returned empty audio");return{base64:d.Buffer.from(g).toString("base64"),format:"mp3"}}},"local-device":{noAuth:!0,synthesize:async(a,b)=>({base64:await C(a,b),format:"mp3"})},elevenlabs:{async synthesize(a,b,c){if(!c?.apiKey)throw Error("ElevenLabs API key required");let e="eleven_flash_v2_5",f=b;b&&b.includes("/")&&([e,f]=b.split("/"));let g=await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${f}`,{method:"POST",headers:{"xi-api-key":c.apiKey,"Content-Type":"application/json"},body:JSON.stringify({text:a,model_id:e,voice_settings:{stability:.5,similarity_boost:.75}})});if(!g.ok){let a=await g.json().catch(()=>({}));throw Error(a?.detail?.message||`ElevenLabs TTS failed: ${g.status}`)}let h=await g.arrayBuffer();if(h.byteLength<1024)throw Error("ElevenLabs TTS returned empty audio");return{base64:d.Buffer.from(h).toString("base64"),format:"mp3"}}},openai:{async synthesize(a,b,c){if(!c?.apiKey)throw Error("No OpenAI API key configured");let e=G,f="alloy";if(b&&b.includes("/")){let a=b.split("/");2===a.length&&([e,f]=a)}else b&&(f=b);let g=(c.baseUrl||"https://api.openai.com").replace(/\/+$/,""),h=await fetch(`${g}/v1/audio/speech`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c.apiKey}`},body:JSON.stringify({model:e,voice:f,input:a})});if(!h.ok){let a=await h.json().catch(()=>({}));throw Error(a?.error?.message||`OpenAI TTS failed: ${h.status}`)}let i=await h.arrayBuffer();return{base64:d.Buffer.from(i).toString("base64"),format:"mp3"}}},openrouter:{async synthesize(a,b,c){if(!c?.apiKey)throw Error("No OpenRouter API key configured");let d=H.defaultModel,e="alloy";if(b&&b.includes("/")){let a=b.lastIndexOf("/"),c=b.slice(a+1),f=b.slice(0,a);f.includes("/")?(d=f,e=c):e=b}else b&&(e=b);let f=await fetch(H.baseUrl,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c.apiKey}`,...H.headers||{}},body:JSON.stringify({model:d,modalities:["text","audio"],audio:{voice:e,format:"wav"},stream:!0,messages:[{role:"user",content:a}]})});if(!f.ok){let a=await f.json().catch(()=>({}));throw Error(a?.error?.message||`OpenRouter TTS failed: ${f.status}`)}let g=[],h=f.body.getReader(),i=new TextDecoder,j="";for(;;){let{done:a,value:b}=await h.read();if(a)break;let c=(j+=i.decode(b,{stream:!0})).split("\n");for(let a of(j=c.pop(),c))if(a.startsWith("data: ")&&"data: [DONE]"!==a)try{let b=JSON.parse(a.slice(6)),c=b.choices?.[0]?.delta?.audio?.data;c&&g.push(c)}catch{}}if(0===g.length)throw Error("OpenRouter TTS returned no audio data");return{base64:g.join(""),format:"wav"}}},gemini:{async synthesize(a,b,c,e,f={}){var g,h;let i,j;if(!c?.apiKey)throw Error("No Gemini API key configured");let{modelId:k,voiceId:l}=function(a){if(!a)return{modelId:L,voiceId:M};for(let b of K){if(a===b)return{modelId:b,voiceId:M};if(a.startsWith(`${b}/`))return{modelId:b,voiceId:a.slice(b.length+1)}}return{modelId:L,voiceId:a}}(b),m=`${J}/${k}:generateContent?key=${c.apiKey}`,n=await fetch(m,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:[{parts:[{text:(g=f.language,/:\s/.test(a)?a:g?`Say in ${g}: ${a}`:`Say: ${a}`)}]}],generationConfig:{responseModalities:["AUDIO"],speechConfig:{voiceConfig:{prebuiltVoiceConfig:{voiceName:l}}}}})});if(!n.ok){let a=await n.json().catch(()=>({}));throw Error(a?.error?.message||`Gemini TTS failed: ${n.status}`)}let o=await n.json(),p=o?.candidates?.[0]?.content?.parts?.find(a=>a.inlineData?.data)?.inlineData?.data;if(!p){let a=o?.candidates?.[0]?.finishReason||o?.promptFeedback?.blockReason||"unknown";throw Error(`Gemini TTS returned no audio (finishReason: ${a}, voice: ${l}, model: ${k})`)}return{base64:(i=(h=d.Buffer.from(p,"base64")).length,(j=d.Buffer.alloc(44)).write("RIFF",0),j.writeUInt32LE(36+i,4),j.write("WAVE",8),j.write("fmt ",12),j.writeUInt32LE(16,16),j.writeUInt16LE(1,20),j.writeUInt16LE(1,22),j.writeUInt32LE(24e3,24),j.writeUInt32LE(48e3,28),j.writeUInt16LE(2,32),j.writeUInt16LE(16,34),j.write("data",36),j.writeUInt32LE(i,40),d.Buffer.concat([j,h])).toString("base64"),format:"wav"}}}};async function R(a,b,d,e){let{AI_PROVIDERS:f}=await c.e(2996).then(c.bind(c,40615)),g=f[a]?.ttsConfig;if(!g)return null;let h=P[g.format];if(!h)return null;let i=e?.apiKey;if("none"!==g.authType&&!i)throw Error(`${a} API key required`);let{PROVIDER_MODELS:j}=await c.e(8080).then(c.bind(c,45699)),k=(j[a]||[]).filter(a=>"tts"===(a.kind||a.type)),{modelId:l,voiceId:m}=function(a,b="",c="",d=[]){if(!a)return{modelId:b,voiceId:c};for(let b of d.map(a=>a.id||a).filter(Boolean).sort((a,b)=>b.length-a.length)){if(a===b)return{modelId:b,voiceId:c};if(a.startsWith(`${b}/`))return{modelId:b,voiceId:a.slice(b.length+1)}}let e=a.lastIndexOf("/");return e>0?{modelId:a.slice(0,e),voiceId:a.slice(e+1)}:{modelId:b||a,voiceId:c||a}}(d,k[0]?.id||"","",k);return h({baseUrl:g.baseUrl,apiKey:i,text:b,modelId:l,voiceId:m})}let S={"edge-tts":r,"local-device":B,elevenlabs:E,gemini:O};function T(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 U({provider:a,model:b,input:c,credentials:d,responseFormat:g="mp3",language:h}){if(!c?.trim())return(0,e.A1)(f.gx.BAD_REQUEST,"Missing required field: input");try{let i=Q[a]||null;if(i){let a=await i.synthesize(c.trim(),b,d,g,{language:h});if(void 0!==a.success)return a;return T(a.base64,a.format,g)}let j=await R(a,c.trim(),b,d);if(j)return T(j.base64,j.format,g);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")}}}};