@rabbi696/ezrouter 0.5.84 → 0.5.87

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 (317) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +13 -13
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/convoy/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-health/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  32. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  33. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  34. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  35. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  36. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  37. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  38. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  39. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  41. package/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  42. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  43. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  44. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +3 -3
  45. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  46. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  47. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  48. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  49. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  50. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  51. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  52. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  53. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  54. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  55. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  56. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  57. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  58. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/callback.html +1 -1
  60. package/app/.next-cli-build/server/app/callback.rsc +3 -3
  61. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  62. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  63. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +3 -3
  64. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  65. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  66. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  67. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  68. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  69. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  70. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  71. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  72. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  73. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  74. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  75. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
  76. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  77. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  78. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
  79. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  80. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  81. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  82. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  83. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  84. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  85. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
  86. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  87. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  88. package/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
  89. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  90. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  91. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  92. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  93. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  94. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  95. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
  96. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  97. package/app/.next-cli-build/server/app/dashboard/convoy.html +1 -1
  98. package/app/.next-cli-build/server/app/dashboard/convoy.rsc +5 -5
  99. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy/__PAGE__.segment.rsc +2 -2
  100. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy.segment.rsc +1 -1
  101. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  102. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  103. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_full.segment.rsc +5 -5
  104. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_head.segment.rsc +1 -1
  105. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_index.segment.rsc +3 -3
  106. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_tree.segment.rsc +1 -1
  107. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  108. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
  109. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  110. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  111. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  112. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  113. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  114. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  115. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
  116. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  117. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  118. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  119. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  120. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  121. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  122. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  123. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  124. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  125. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  126. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +3 -3
  127. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  128. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  129. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
  130. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  131. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  132. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  133. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  134. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
  135. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  136. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
  137. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  138. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  139. package/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  140. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  141. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  142. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  143. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  144. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  145. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  146. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
  147. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  148. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  149. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  150. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  151. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  152. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  153. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  154. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  155. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  156. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  157. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
  158. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  159. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  160. package/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  161. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  162. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  163. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  164. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  165. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  166. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  167. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
  168. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  169. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  170. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
  171. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  172. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  173. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  174. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  175. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  176. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  177. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
  178. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  179. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  180. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
  181. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  182. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  183. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  184. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  185. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
  186. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  187. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +3 -3
  188. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  189. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  190. package/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
  191. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  192. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  193. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  194. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  195. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  196. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  197. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
  198. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  199. package/app/.next-cli-build/server/app/dashboard/routing-health.html +1 -1
  200. package/app/.next-cli-build/server/app/dashboard/routing-health.rsc +5 -5
  201. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health/__PAGE__.segment.rsc +2 -2
  202. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health.segment.rsc +1 -1
  203. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  204. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  205. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_full.segment.rsc +5 -5
  206. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_head.segment.rsc +1 -1
  207. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_index.segment.rsc +3 -3
  208. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_tree.segment.rsc +1 -1
  209. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  210. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  211. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
  212. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
  213. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  214. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
  215. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  216. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  217. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  218. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  219. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  220. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  221. package/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
  222. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  223. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  224. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  225. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  226. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
  227. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  228. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +3 -3
  229. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  230. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  231. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
  232. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  233. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  234. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  235. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  236. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
  237. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  238. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +3 -3
  239. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  240. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  241. package/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  242. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  243. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  244. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  245. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  246. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  247. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  248. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
  249. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  250. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  251. package/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  252. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  253. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  254. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  255. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  256. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  257. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  258. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
  259. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  260. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  261. package/app/.next-cli-build/server/app/dashboard.rsc +5 -5
  262. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  263. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  264. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  265. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
  266. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  267. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +3 -3
  268. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  269. package/app/.next-cli-build/server/app/index.html +1 -1
  270. package/app/.next-cli-build/server/app/index.rsc +3 -3
  271. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  272. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  273. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  274. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +3 -3
  275. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  276. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  277. package/app/.next-cli-build/server/app/landing.html +1 -1
  278. package/app/.next-cli-build/server/app/landing.rsc +3 -3
  279. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
  280. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  281. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +3 -3
  282. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  283. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  284. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  285. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  286. package/app/.next-cli-build/server/app/login.html +1 -1
  287. package/app/.next-cli-build/server/app/login.rsc +4 -4
  288. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  289. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  290. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +3 -3
  291. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  292. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  293. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  294. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  295. package/app/.next-cli-build/server/app-paths-manifest.json +13 -13
  296. package/app/.next-cli-build/server/chunks/369.js +1 -1
  297. package/app/.next-cli-build/server/chunks/476.js +1 -1
  298. package/app/.next-cli-build/server/chunks/5210.js +1 -1
  299. package/app/.next-cli-build/server/chunks/5767.js +1 -1
  300. package/app/.next-cli-build/server/chunks/7456.js +1 -1
  301. package/app/.next-cli-build/server/chunks/7591.js +1 -1
  302. package/app/.next-cli-build/server/chunks/7775.js +1 -1
  303. package/app/.next-cli-build/server/chunks/8901.js +1 -1
  304. package/app/.next-cli-build/server/chunks/921.js +1 -1
  305. package/app/.next-cli-build/server/chunks/9212.js +1 -1
  306. package/app/.next-cli-build/server/chunks/9489.js +1 -1
  307. package/app/.next-cli-build/server/chunks/9998.js +1 -1
  308. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  309. package/app/.next-cli-build/server/pages/404.html +1 -1
  310. package/app/.next-cli-build/server/pages/500.html +1 -1
  311. package/app/.next-cli-build/static/chunks/{1321-a76a5ce6fb44bef4.js → 1321-9389b48fe7a462e1.js} +1 -1
  312. package/app/CHANGELOG.md +20 -0
  313. package/app/package.json +1 -1
  314. package/app/public/CHANGELOG.md +20 -0
  315. package/package.json +1 -1
  316. /package/app/.next-cli-build/static/{aIO7ZyKttC5GAMPa7OJWG → BYVvwHqAkC7426A8216z4}/_buildManifest.js +0 -0
  317. /package/app/.next-cli-build/static/{aIO7ZyKttC5GAMPa7OJWG → BYVvwHqAkC7426A8216z4}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=1910,a.ids=[1910],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},4573:a=>{a.exports=require("node:buffer")},8086:a=>{a.exports=require("module")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},25479:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>Z,patchFetch:()=>Y,routeModule:()=>U,serverHooks:()=>X,workAsyncStorage:()=>V,workUnitAsyncStorage:()=>W});var d={};c.r(d),c.d(d,{OPTIONS:()=>S,POST:()=>T,maxDuration:()=>R});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23433),w=c(89718),x=c(29273),y=c(38775),z=c(4573),A=c(89865),B=c(60290);function C(a,b){if(!b)return{};switch(a.authHeader){case"bearer":default:return{Authorization:`Bearer ${b}`};case"token":return{Authorization:`Token ${b}`};case"authorization":return{Authorization:b};case"x-api-key":return{"x-api-key":b};case"key":return{Authorization:`Key ${b}`}}}function D(a){let b=(a.type||"").toLowerCase();if(b.startsWith("audio/"))return b;let c="string"==typeof a.name?a.name.toLowerCase():"";return({mp3:"audio/mpeg",mp4:"audio/mp4",m4a:"audio/mp4",wav:"audio/wav",ogg:"audio/ogg",flac:"audio/flac",webm:"audio/webm",aac:"audio/aac",opus:"audio/opus"})[c.includes(".")?c.split(".").pop():""]||"application/octet-stream"}async function E(a){let b="";try{b=await a.text()}catch{}let c=b||`Upstream error (${a.status})`;try{let a=JSON.parse(b);c=a?.error?.message||a?.error||a?.message||c}catch{}return(0,A.A1)(a.status,"string"==typeof c?c:JSON.stringify(c))}async function F(a,b,c,d,e){let f=new URL(a.baseUrl);f.searchParams.set("model",c),f.searchParams.set("smart_format","true"),f.searchParams.set("punctuate","true");let g=e.get("language");"string"==typeof g&&g.trim()?f.searchParams.set("language",g.trim()):f.searchParams.set("detect_language","true");let h=await b.arrayBuffer(),i=await fetch(f,{method:"POST",headers:{...C(a,d),"Content-Type":D(b)},body:h});if(!i.ok)return E(i);let j=await i.json();return L({text:j.results?.channels?.[0]?.alternatives?.[0]?.transcript??""})}async function G(a,b,c,d,e){let f=C(a,d),g=await b.arrayBuffer(),h=await fetch("https://api.assemblyai.com/v2/upload",{method:"POST",headers:{...f,"Content-Type":"application/octet-stream"},body:g});if(!h.ok)return E(h);let{upload_url:i}=await h.json(),j={audio_url:i,speech_models:[c]},k=e.get("language");"string"==typeof k&&k.trim()?j.language_code=k.trim():j.language_detection=!0;let l=await fetch(a.baseUrl,{method:"POST",headers:{...f,"Content-Type":"application/json"},body:JSON.stringify(j)});if(!l.ok)return E(l);let{id:m}=await l.json(),n=Date.now();for(;Date.now()-n<12e4;){await new Promise(a=>setTimeout(a,2e3));let b=await fetch(`${a.baseUrl}/${m}`,{headers:f});if(!b.ok)continue;let c=await b.json();if("completed"===c.status)return L({text:c.text||""});if("error"===c.status)return(0,A.A1)(500,c.error||"AssemblyAI failed")}return(0,A.A1)(504,"AssemblyAI timeout after 120s")}async function H(a,b,c,d){let e=new FormData;e.append("file",b,b.name||"audio.wav"),e.append("model",c);let f=await fetch(a.baseUrl,{method:"POST",headers:C(a,d),body:e});if(!f.ok)return E(f);let g=await f.json();return L({text:g.text||g.transcript||""})}async function I(a,b,c,d,e){let f=await b.arrayBuffer(),g=z.Buffer.from(f).toString("base64"),h=D(b),i=e.get("language"),j=e.get("prompt"),k=j&&"string"==typeof j&&j.trim()?j.trim():"Generate a transcript of the speech. Return only the transcribed text, no commentary.";"string"==typeof i&&i.trim()&&(k+=` Language: ${i.trim()}.`);let l=`${a.baseUrl}/${c}:generateContent?key=${d}`,m=await fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:[{parts:[{text:k},{inline_data:{mime_type:h,data:g}}]}]})});if(!m.ok)return E(m);let n=await m.json();return L({text:n?.candidates?.[0]?.content?.parts?.map(a=>a.text).filter(Boolean).join("")||""})}async function J(a,b,c,d){if(c.includes("..")||c.includes("//"))return(0,A.A1)(400,"Invalid model ID");let e=`${a.baseUrl.replace(/\/+$/,"")}/${c}`,f=await b.arrayBuffer(),g=await fetch(e,{method:"POST",headers:{...C(a,d),"Content-Type":D(b)},body:f});return g.ok?L({text:(await g.json()).text||""}):E(g)}async function K(a,b,c,d,e){let f=new FormData;for(let a of(f.append("file",b,b.name||"audio.wav"),f.append("model",c),["language","prompt","response_format","temperature"])){let b=e.get(a);null!=b&&""!==b&&f.append(a,b)}let g=await fetch(a.baseUrl,{method:"POST",headers:C(a,d),body:f});if(!g.ok)return E(g);let h=g.headers.get("content-type")||"application/json";return{success:!0,response:new Response(await g.text(),{status:200,headers:{"Content-Type":h,"Access-Control-Allow-Origin":"*"}})}}function L(a){return{success:!0,response:new Response(JSON.stringify(a),{status:200,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}async function M({provider:a,model:b,formData:c,credentials:d,sttConfig:e}){let f=c.get("file");if(!f)return(0,A.A1)(B.gx.BAD_REQUEST,"Missing required field: file");let g=e;if(!g)return(0,A.A1)(B.gx.BAD_REQUEST,`Provider '${a}' does not support STT`);let h=d?.providerSpecificData?.baseUrl;h&&(g={...g,baseUrl:String(h).replace(/\/+$/,"")});let i="none"===g.authType?null:d?.apiKey||d?.accessToken;if("none"!==g.authType&&!i)return(0,A.A1)(B.gx.UNAUTHORIZED,`No credentials for STT provider: ${a}`);try{switch(g.format){case"deepgram":return await F(g,f,b,i,c);case"assemblyai":return await G(g,f,b,i,c);case"nvidia-asr":return await H(g,f,b,i);case"huggingface-asr":return await J(g,f,b,i);case"gemini-stt":return await I(g,f,b,i,c);default:return await K(g,f,b,i,c)}}catch(a){return(0,A.A1)(B.gx.BAD_GATEWAY,a.message||"STT request failed")}}var N=c(40615),O=c(7803);let P=new Set(Object.entries(N.AI_PROVIDERS).filter(([,a])=>a.serviceKinds?.includes("stt")&&!a.noAuth&&a.sttConfig?.authType!=="none").map(([a])=>a));async function Q(a){let b;try{b=await a.formData()}catch{return(0,A.yj)(B.gx.BAD_REQUEST,"Invalid multipart form data")}let c=b.get("model");if(O.request("POST",`/v1/audio/transcriptions | ${c}`),(await (0,w.mt)()).requireApiKey){let{apiKey:b,valid:c}=await (0,v.$A)(a);if(!b)return(0,A.yj)(B.gx.UNAUTHORIZED,"Missing API key");if(!c)return(0,A.yj)(B.gx.UNAUTHORIZED,"Invalid API key")}if(!c)return(0,A.yj)(B.gx.BAD_REQUEST,"Missing model");if(!b.get("file"))return(0,A.yj)(B.gx.BAD_REQUEST,"Missing required field: file");let d=await (0,y.mA)(c);if(!d.provider)return(0,A.yj)(B.gx.BAD_REQUEST,"Invalid model format");let{provider:e,model:f}=d,g=await (0,x.K)(a,{model:`${e}/${f}`});if(g.error)return g.error;if(O.info("ROUTING",`Provider: ${e}, Model: ${f}`),!P.has(e)){let a=await M({provider:e,model:f,formData:b,sttConfig:N.AI_PROVIDERS[e]?.sttConfig});return a.success?a.response:(0,A.yj)(a.status||B.gx.BAD_GATEWAY,a.error||"STT failed")}let h=new Set,i=null,j=null;for(;;){let a=await (0,v.c1)(e,h,f);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=i||a.lastError||"Unavailable",c=j||Number(a.lastErrorCode)||B.gx.SERVICE_UNAVAILABLE;return(0,A.wO)(c,`[${e}/${f}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===h.size)return(0,A.yj)(B.gx.BAD_REQUEST,`No credentials for provider: ${e}`);return(0,A.yj)(j||B.gx.SERVICE_UNAVAILABLE,i||"All accounts unavailable")}O.info("AUTH",`\x1b[32mUsing ${e} account: ${a.connectionName}\x1b[0m`);let c=await M({provider:e,model:f,formData:b,credentials:a,sttConfig:N.AI_PROVIDERS[e]?.sttConfig});if(c.success)return c.response;let{shouldFallback:d}=await (0,v.vk)(a.connectionId,c.status,c.error,e,f);if(d){h.add(a.connectionId),i=c.error,j=c.status;continue}return c.response||(0,A.yj)(c.status,c.error)}}let R=300;async function S(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function T(a){return await Q(a)}let U=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/audio/transcriptions/route",pathname:"/api/v1/audio/transcriptions",filename:"route",bundlePath:"app/api/v1/audio/transcriptions/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/v1/audio/transcriptions/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:V,workUnitAsyncStorage:W,serverHooks:X}=U;function Y(){return(0,g.patchFetch)({workAsyncStorage:V,workUnitAsyncStorage:W})}async function Z(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),U.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/audio/transcriptions/route";"/index"===d&&(d="/");let e=await U.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||U.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===U.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await U.getIncrementalCache(a,x,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>U.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>U.handle(X,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(V,W,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await U.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await U.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await U.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},38775:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>h});var d=c(89718),e=c(66451),f=c(99471);c(45502);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"};async function h(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model};let f=(await (0,d.Fh)({type:"custom-video"})).find(a=>a.prefix===c.providerAlias);return f?{provider:f.id,model:c.model}:{provider:c.provider,model:c.model}}if(await (0,d.Dj)(c.model))return{provider:null,model:c.model};let f=await i(c.model);return f||(0,e.js)(a,d.OM)}async function i(a){try{let b=(await (0,d.uv)()).find(b=>b&&b.id===a&&("llm"===b.type||!b.type));if(b&&b.providerAlias)return{provider:(0,e.g2)(b.providerAlias),model:b.id}}catch{}try{let b=await (0,d.OM)(),c=(0,e.sc)(a,b);if(c)return c}catch{}let b=(0,e.PN)(a);if(b)return{provider:b,model:a};try{let b=await (0,f.w)(a);if(b)return b}catch{}return null}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66451:(a,b,c)=>{c.d(b,{PN:()=>k,Xh:()=>l,ff:()=>i,g2:()=>j,js:()=>n,sc:()=>m});var d=c(45502),e=c(27335);let f={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.A)for(let b of(f[a.id]=a.id,a.alias&&(f[a.alias]=a.id),a.aliases||[]))f[b]=a.id;let g={"grok-build":"gcli/grok-build"},h=new Map;for(let a of d.A)a.noAuth&&a.modelsFetcher&&a.alias&&h.set(a.id,a.alias);function i({requestedModel:a,provider:b,model:c}){if(!a||a.includes("/"))return a;let d=h.get(b);return d?`${d}/${c}`:a}function j(a){return f[a]||a}function k(a){if(!a)return null;let b=[];for(let[c,d]of Object.entries(e.PROVIDER_MODELS))Array.isArray(d)&&d.some(b=>b&&b.id===a)&&b.push(c);if(0===b.length)return null;if(1===b.length)return j(b[0]);let c=b.find(b=>a.startsWith(b));return c?j(c):null}function l(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:j(c),model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}function m(a,b){if(!b)return null;let c=b[a];if(!c)return null;if("string"==typeof c&&c.includes("/")){let a=c.indexOf("/");return{provider:j(c.slice(0,a)),model:c.slice(a+1)}}return"object"==typeof c&&c.provider&&c.model?{provider:j(c.provider),model:c.model}:null}async function n(a,b){let c=l(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,e=m(c.model,d)||m(c.model,g);return e||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return"default"===b||"auto"===b?"cursor":o.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let o=[[/^claude-/,"anthropic"],[/^gemini-/,"gemini"],[/^grok-/,"xai"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},68001:(a,b,c)=>{c.d(b,{S:()=>f});var d=c(38071);let e=["big-pickle"],f={"openrouter-free":a=>a.filter(a=>a.pricing?.prompt==="0"&&a.pricing?.completion==="0"&&a.context_length>=2e5).map(a=>({id:a.id,name:a.name,contextLength:a.context_length})).sort((a,b)=>b.contextLength-a.contextLength),"opencode-free":a=>a.filter(a=>a.id?.endsWith("-free")||e.includes(a.id)).map(a=>({id:a.id,name:a.id})),"mimo-free":a=>(Array.isArray(a)?a:[]).filter(a=>a.id?.startsWith("mimo")||a.name?.toLowerCase().includes("mimo")).map(a=>({id:a.id,name:a.name||a.id})),"nous-free":d.pD}},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79868:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},89865:(a,b,c)=>{c.d(b,{A1:()=>h,lR:()=>j,wO:()=>i,yj:()=>f,zL:()=>g});var d=c(87252),e=c(60290);function f(a,b,c){let e;return new Response(JSON.stringify((e=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:e.type,code:c??e.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function g(a,b=null){let c,f="";try{f=await a.text()}catch{f=""}let h="",i=null,j=!1;try{let a=JSON.parse(f);if(h=a.error?.message||a.message||a.error||f,c=a.error?.code||a.code,i=a.error?.metadata?.provider_name||null,"string"==typeof h){let a=/^Invalid URL:\s*(.*)$/.exec(h);a&&(j=""===a[1].trim())}}catch{h=f}let k="string"==typeof h?h:JSON.stringify(h);if((i||j)&&(a.status===e.gx.BAD_GATEWAY||a.status===e.gx.SERVER_ERROR||502===a.status||500===a.status)){let a=i?`OpenRouter upstream "${i}" returned an invalid routing URL — its endpoint is misconfigured on OpenRouter's side`:"Upstream returned an invalid (empty) routing URL";k=`${k} — ${a}. Try a different model, or set \`provider: { allow_fallbacks: true }\` to opt into OpenRouter's automatic upstream fallback.`}let l=k||d.O[a.status]||`Upstream error: ${a.status}`;if(b&&"function"==typeof b.parseError)try{let d=b.parseError(a,f);if(d&&"object"==typeof d){let b=d.message&&d.message!==f?d.message:l;return{statusCode:d.status||a.status,message:b,resetsAtMs:d.resetsAtMs,code:d.code??c}}}catch{}return{statusCode:a.status,message:l,code:c}}function h(a,b,c,d){return{success:!1,status:a,error:b,resetsAtMs:c,response:f(a,b,d)}}function i(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 j(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},99471:(a,b,c)=>{c.d(b,{Y:()=>k,w:()=>j});var d=c(68001);let e=null,f=0,g=null;async function h(){let a=new AbortController,b=setTimeout(()=>a.abort(),5e3);try{let b=await fetch("https://opencode.ai/zen/v1/models",{signal:a.signal});if(!b.ok)return e||[];let c=await b.json(),g=c.data??c.models??c,h=d.S["opencode-free"](Array.isArray(g)?g:[]);return e=h,f=Date.now(),h}catch{return e||[]}finally{clearTimeout(b)}}async function i(){if(e&&Date.now()-f<6e5)return e;if(!g){g=h();try{return await g}finally{g=null}}return g}async function j(a){let b=(await i()).find(b=>b&&b.id===a);return b?{provider:"opencode",model:b.id}:"big-pickle"===a||String(a).endsWith("-free")?{provider:"opencode",model:a}:null}async function k(){return await i()}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,7965,5502,1522,4646,3904,8851,8946,3148,9884,871,5841],()=>b(b.s=25479));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=1910,a.ids=[1910],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},4573:a=>{a.exports=require("node:buffer")},8086:a=>{a.exports=require("module")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},25479:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>Z,patchFetch:()=>Y,routeModule:()=>U,serverHooks:()=>X,workAsyncStorage:()=>V,workUnitAsyncStorage:()=>W});var d={};c.r(d),c.d(d,{OPTIONS:()=>S,POST:()=>T,maxDuration:()=>R});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23433),w=c(89718),x=c(29273),y=c(38775),z=c(4573),A=c(89865),B=c(60290);function C(a,b){if(!b)return{};switch(a.authHeader){case"bearer":default:return{Authorization:`Bearer ${b}`};case"token":return{Authorization:`Token ${b}`};case"authorization":return{Authorization:b};case"x-api-key":return{"x-api-key":b};case"key":return{Authorization:`Key ${b}`}}}function D(a){let b=(a.type||"").toLowerCase();if(b.startsWith("audio/"))return b;let c="string"==typeof a.name?a.name.toLowerCase():"";return({mp3:"audio/mpeg",mp4:"audio/mp4",m4a:"audio/mp4",wav:"audio/wav",ogg:"audio/ogg",flac:"audio/flac",webm:"audio/webm",aac:"audio/aac",opus:"audio/opus"})[c.includes(".")?c.split(".").pop():""]||"application/octet-stream"}async function E(a){let b="";try{b=await a.text()}catch{}let c=b||`Upstream error (${a.status})`;try{let a=JSON.parse(b);c=a?.error?.message||a?.error||a?.message||c}catch{}return(0,A.A1)(a.status,"string"==typeof c?c:JSON.stringify(c))}async function F(a,b,c,d,e){let f=new URL(a.baseUrl);f.searchParams.set("model",c),f.searchParams.set("smart_format","true"),f.searchParams.set("punctuate","true");let g=e.get("language");"string"==typeof g&&g.trim()?f.searchParams.set("language",g.trim()):f.searchParams.set("detect_language","true");let h=await b.arrayBuffer(),i=await fetch(f,{method:"POST",headers:{...C(a,d),"Content-Type":D(b)},body:h});if(!i.ok)return E(i);let j=await i.json();return L({text:j.results?.channels?.[0]?.alternatives?.[0]?.transcript??""})}async function G(a,b,c,d,e){let f=C(a,d),g=await b.arrayBuffer(),h=await fetch("https://api.assemblyai.com/v2/upload",{method:"POST",headers:{...f,"Content-Type":"application/octet-stream"},body:g});if(!h.ok)return E(h);let{upload_url:i}=await h.json(),j={audio_url:i,speech_models:[c]},k=e.get("language");"string"==typeof k&&k.trim()?j.language_code=k.trim():j.language_detection=!0;let l=await fetch(a.baseUrl,{method:"POST",headers:{...f,"Content-Type":"application/json"},body:JSON.stringify(j)});if(!l.ok)return E(l);let{id:m}=await l.json(),n=Date.now();for(;Date.now()-n<12e4;){await new Promise(a=>setTimeout(a,2e3));let b=await fetch(`${a.baseUrl}/${m}`,{headers:f});if(!b.ok)continue;let c=await b.json();if("completed"===c.status)return L({text:c.text||""});if("error"===c.status)return(0,A.A1)(500,c.error||"AssemblyAI failed")}return(0,A.A1)(504,"AssemblyAI timeout after 120s")}async function H(a,b,c,d){let e=new FormData;e.append("file",b,b.name||"audio.wav"),e.append("model",c);let f=await fetch(a.baseUrl,{method:"POST",headers:C(a,d),body:e});if(!f.ok)return E(f);let g=await f.json();return L({text:g.text||g.transcript||""})}async function I(a,b,c,d,e){let f=await b.arrayBuffer(),g=z.Buffer.from(f).toString("base64"),h=D(b),i=e.get("language"),j=e.get("prompt"),k=j&&"string"==typeof j&&j.trim()?j.trim():"Generate a transcript of the speech. Return only the transcribed text, no commentary.";"string"==typeof i&&i.trim()&&(k+=` Language: ${i.trim()}.`);let l=`${a.baseUrl}/${c}:generateContent?key=${d}`,m=await fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:[{parts:[{text:k},{inline_data:{mime_type:h,data:g}}]}]})});if(!m.ok)return E(m);let n=await m.json();return L({text:n?.candidates?.[0]?.content?.parts?.map(a=>a.text).filter(Boolean).join("")||""})}async function J(a,b,c,d){if(c.includes("..")||c.includes("//"))return(0,A.A1)(400,"Invalid model ID");let e=`${a.baseUrl.replace(/\/+$/,"")}/${c}`,f=await b.arrayBuffer(),g=await fetch(e,{method:"POST",headers:{...C(a,d),"Content-Type":D(b)},body:f});return g.ok?L({text:(await g.json()).text||""}):E(g)}async function K(a,b,c,d,e){let f=new FormData;for(let a of(f.append("file",b,b.name||"audio.wav"),f.append("model",c),["language","prompt","response_format","temperature"])){let b=e.get(a);null!=b&&""!==b&&f.append(a,b)}let g=await fetch(a.baseUrl,{method:"POST",headers:C(a,d),body:f});if(!g.ok)return E(g);let h=g.headers.get("content-type")||"application/json";return{success:!0,response:new Response(await g.text(),{status:200,headers:{"Content-Type":h,"Access-Control-Allow-Origin":"*"}})}}function L(a){return{success:!0,response:new Response(JSON.stringify(a),{status:200,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}async function M({provider:a,model:b,formData:c,credentials:d,sttConfig:e}){let f=c.get("file");if(!f)return(0,A.A1)(B.gx.BAD_REQUEST,"Missing required field: file");let g=e;if(!g)return(0,A.A1)(B.gx.BAD_REQUEST,`Provider '${a}' does not support STT`);let h=d?.providerSpecificData?.baseUrl;h&&(g={...g,baseUrl:String(h).replace(/\/+$/,"")});let i="none"===g.authType?null:d?.apiKey||d?.accessToken;if("none"!==g.authType&&!i)return(0,A.A1)(B.gx.UNAUTHORIZED,`No credentials for STT provider: ${a}`);try{switch(g.format){case"deepgram":return await F(g,f,b,i,c);case"assemblyai":return await G(g,f,b,i,c);case"nvidia-asr":return await H(g,f,b,i);case"huggingface-asr":return await J(g,f,b,i);case"gemini-stt":return await I(g,f,b,i,c);default:return await K(g,f,b,i,c)}}catch(a){return(0,A.A1)(B.gx.BAD_GATEWAY,a.message||"STT request failed")}}var N=c(40615),O=c(7803);let P=new Set(Object.entries(N.AI_PROVIDERS).filter(([,a])=>a.serviceKinds?.includes("stt")&&!a.noAuth&&a.sttConfig?.authType!=="none").map(([a])=>a));async function Q(a){let b;try{b=await a.formData()}catch{return(0,A.yj)(B.gx.BAD_REQUEST,"Invalid multipart form data")}let c=b.get("model");if(O.request("POST",`/v1/audio/transcriptions | ${c}`),(await (0,w.mt)()).requireApiKey){let{apiKey:b,valid:c}=await (0,v.$A)(a);if(!b)return(0,A.yj)(B.gx.UNAUTHORIZED,"Missing API key");if(!c)return(0,A.yj)(B.gx.UNAUTHORIZED,"Invalid API key")}if(!c)return(0,A.yj)(B.gx.BAD_REQUEST,"Missing model");if(!b.get("file"))return(0,A.yj)(B.gx.BAD_REQUEST,"Missing required field: file");let d=await (0,y.mA)(c);if(!d.provider)return(0,A.yj)(B.gx.BAD_REQUEST,"Invalid model format");let{provider:e,model:f}=d,g=await (0,x.K)(a,{model:`${e}/${f}`});if(g.error)return g.error;if(O.info("ROUTING",`Provider: ${e}, Model: ${f}`),!P.has(e)){let a=await M({provider:e,model:f,formData:b,sttConfig:N.AI_PROVIDERS[e]?.sttConfig});return a.success?a.response:(0,A.yj)(a.status||B.gx.BAD_GATEWAY,a.error||"STT failed")}let h=new Set,i=null,j=null;for(;;){let a=await (0,v.c1)(e,h,f);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=i||a.lastError||"Unavailable",c=j||Number(a.lastErrorCode)||B.gx.SERVICE_UNAVAILABLE;return(0,A.wO)(c,`[${e}/${f}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===h.size)return(0,A.yj)(B.gx.BAD_REQUEST,`No credentials for provider: ${e}`);return(0,A.yj)(j||B.gx.SERVICE_UNAVAILABLE,i||"All accounts unavailable")}O.info("AUTH",`\x1b[32mUsing ${e} account: ${a.connectionName}\x1b[0m`);let c=await M({provider:e,model:f,formData:b,credentials:a,sttConfig:N.AI_PROVIDERS[e]?.sttConfig});if(c.success)return c.response;let{shouldFallback:d}=await (0,v.vk)(a.connectionId,c.status,c.error,e,f);if(d){h.add(a.connectionId),i=c.error,j=c.status;continue}return c.response||(0,A.yj)(c.status,c.error)}}let R=300;async function S(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function T(a){return await Q(a)}let U=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/audio/transcriptions/route",pathname:"/api/v1/audio/transcriptions",filename:"route",bundlePath:"app/api/v1/audio/transcriptions/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/v1/audio/transcriptions/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:V,workUnitAsyncStorage:W,serverHooks:X}=U;function Y(){return(0,g.patchFetch)({workAsyncStorage:V,workUnitAsyncStorage:W})}async function Z(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),U.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/audio/transcriptions/route";"/index"===d&&(d="/");let e=await U.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||U.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===U.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await U.getIncrementalCache(a,x,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>U.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>U.handle(X,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(V,W,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await U.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await U.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await U.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},38775:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>h});var d=c(89718),e=c(66451),f=c(99471);c(45502);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"};async function h(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model};let f=(await (0,d.Fh)({type:"custom-video"})).find(a=>a.prefix===c.providerAlias);return f?{provider:f.id,model:c.model}:{provider:c.provider,model:c.model}}if(await (0,d.Dj)(c.model))return{provider:null,model:c.model};let f=await i(c.model);return f||(0,e.js)(a,d.OM)}async function i(a){try{let b=(await (0,d.uv)()).find(b=>b&&b.id===a&&("llm"===b.type||!b.type));if(b&&b.providerAlias)return{provider:(0,e.g2)(b.providerAlias),model:b.id}}catch{}try{let b=await (0,d.OM)(),c=(0,e.sc)(a,b);if(c)return c}catch{}let b=(0,e.PN)(a);if(b)return{provider:b,model:a};try{let b=await (0,f.w)(a);if(b)return b}catch{}return null}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66451:(a,b,c)=>{c.d(b,{PN:()=>k,Xh:()=>l,ff:()=>i,g2:()=>j,js:()=>n,sc:()=>m});var d=c(45502),e=c(27335);let f={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.A)for(let b of(f[a.id]=a.id,a.alias&&(f[a.alias]=a.id),a.aliases||[]))f[b]=a.id;let g={"grok-build":"gcli/grok-build"},h=new Map;for(let a of d.A)a.noAuth&&a.modelsFetcher&&a.alias&&h.set(a.id,a.alias);function i(a,b){let c,d,e;if(a&&"object"==typeof a?(c=a.requestedModel,d=a.provider,e=a.model):(c=a,d=b?.provider,e=b?.model),!c||c.includes("/"))return c;let f=h.get(d);return f?`${f}/${e}`:c}function j(a){return f[a]||a}function k(a){if(!a)return null;let b=[];for(let[c,d]of Object.entries(e.PROVIDER_MODELS))Array.isArray(d)&&d.some(b=>b&&b.id===a)&&b.push(c);if(0===b.length)return null;if(1===b.length)return j(b[0]);let c=b.find(b=>a.startsWith(b));return c?j(c):null}function l(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:j(c),model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}function m(a,b){if(!b)return null;let c=b[a];if(!c)return null;if("string"==typeof c&&c.includes("/")){let a=c.indexOf("/");return{provider:j(c.slice(0,a)),model:c.slice(a+1)}}return"object"==typeof c&&c.provider&&c.model?{provider:j(c.provider),model:c.model}:null}async function n(a,b){let c=l(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,e=m(c.model,d)||m(c.model,g);return e||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return"default"===b||"auto"===b?"cursor":o.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let o=[[/^claude-/,"anthropic"],[/^gemini-/,"gemini"],[/^grok-/,"xai"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},68001:(a,b,c)=>{c.d(b,{S:()=>f});var d=c(38071);let e=["big-pickle"],f={"openrouter-free":a=>a.filter(a=>a.pricing?.prompt==="0"&&a.pricing?.completion==="0"&&a.context_length>=2e5).map(a=>({id:a.id,name:a.name,contextLength:a.context_length})).sort((a,b)=>b.contextLength-a.contextLength),"opencode-free":a=>a.filter(a=>a.id?.endsWith("-free")||e.includes(a.id)).map(a=>({id:a.id,name:a.id})),"mimo-free":a=>(Array.isArray(a)?a:[]).filter(a=>a.id?.startsWith("mimo")||a.name?.toLowerCase().includes("mimo")).map(a=>({id:a.id,name:a.name||a.id})),"nous-free":d.pD}},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79868:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},89865:(a,b,c)=>{c.d(b,{A1:()=>h,lR:()=>j,wO:()=>i,yj:()=>f,zL:()=>g});var d=c(87252),e=c(60290);function f(a,b,c){let e;return new Response(JSON.stringify((e=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:e.type,code:c??e.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function g(a,b=null){let c,f="";try{f=await a.text()}catch{f=""}let h="",i=null,j=!1;try{let a=JSON.parse(f);if(h=a.error?.message||a.message||a.error||f,c=a.error?.code||a.code,i=a.error?.metadata?.provider_name||null,"string"==typeof h){let a=/^Invalid URL:\s*(.*)$/.exec(h);a&&(j=""===a[1].trim())}}catch{h=f}let k="string"==typeof h?h:JSON.stringify(h);if((i||j)&&(a.status===e.gx.BAD_GATEWAY||a.status===e.gx.SERVER_ERROR||502===a.status||500===a.status)){let a=i?`OpenRouter upstream "${i}" returned an invalid routing URL — its endpoint is misconfigured on OpenRouter's side`:"Upstream returned an invalid (empty) routing URL";k=`${k} — ${a}. Try a different model, or set \`provider: { allow_fallbacks: true }\` to opt into OpenRouter's automatic upstream fallback.`}let l=k||d.O[a.status]||`Upstream error: ${a.status}`;if(b&&"function"==typeof b.parseError)try{let d=b.parseError(a,f);if(d&&"object"==typeof d){let b=d.message&&d.message!==f?d.message:l;return{statusCode:d.status||a.status,message:b,resetsAtMs:d.resetsAtMs,code:d.code??c}}}catch{}return{statusCode:a.status,message:l,code:c}}function h(a,b,c,d){return{success:!1,status:a,error:b,resetsAtMs:c,response:f(a,b,d)}}function i(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 j(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},99471:(a,b,c)=>{c.d(b,{Y:()=>k,w:()=>j});var d=c(68001);let e=null,f=0,g=null;async function h(){let a=new AbortController,b=setTimeout(()=>a.abort(),5e3);try{let b=await fetch("https://opencode.ai/zen/v1/models",{signal:a.signal});if(!b.ok)return e||[];let c=await b.json(),g=c.data??c.models??c,h=d.S["opencode-free"](Array.isArray(g)?g:[]);return e=h,f=Date.now(),h}catch{return e||[]}finally{clearTimeout(b)}}async function i(){if(e&&Date.now()-f<6e5)return e;if(!g){g=h();try{return await g}finally{g=null}}return g}async function j(a){let b=(await i()).find(b=>b&&b.id===a);return b?{provider:"opencode",model:b.id}:"big-pickle"===a||String(a).endsWith("-free")?{provider:"opencode",model:a}:null}async function k(){return await i()}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,7965,5502,1522,4646,3904,8851,8946,3148,9884,871,5841],()=>b(b.s=25479));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=5018,a.ids=[5018],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},8086:a=>{a.exports=require("module")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},26814:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>aa,patchFetch:()=>_,routeModule:()=>X,serverHooks:()=>$,workAsyncStorage:()=>Y,workUnitAsyncStorage:()=>Z});var d={};c.r(d),c.d(d,{OPTIONS:()=>V,POST:()=>W});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23433),w=c(29273),x=c(89718),y=c(38775),z=c(89865),A=c(60290),B=c(47456),C=c(85640),D=c(39141);let E={"jina-ai":"https://api.jina.ai/v1/embeddings"},F=a=>D.B$[a]?.embeddingConfig||{};function G(a){let b=F(a);return{buildUrl:()=>F(a).baseUrl||E[a],buildHeaders:a=>({"Content-Type":"application/json",...{Authorization:`Bearer ${a.apiKey||a.accessToken}`},...b.headers||{}}),buildBody:(a,{input:b,encoding_format:c,dimensions:d})=>{let e={model:a,input:b};if(c&&(e.encoding_format=c),null!=d&&""!==d){let a=Number(d);Number.isFinite(a)&&a>0&&(e.dimensions=a)}return e},normalize:a=>a}}function H(a){return a.startsWith("models/")?a:`models/${a}`}let I={buildUrl:(a,b,{input:c}={})=>{let d=b.apiKey||b.accessToken,e=H(a),f=Array.isArray(c)?"batchEmbedContents":"embedContent";return`https://generativelanguage.googleapis.com/v1beta/${e}:${f}?key=${encodeURIComponent(d)}`},buildHeaders:()=>({"Content-Type":"application/json"}),buildBody:(a,{input:b,dimensions:c})=>{let d=H(a),e=Number(c),f=Number.isFinite(e)&&e>0;return Array.isArray(b)?{requests:b.map(a=>({model:d,content:{parts:[{text:String(a)}]},...f?{outputDimensionality:e}:{}}))}:{model:d,content:{parts:[{text:String(b)}]},...f?{outputDimensionality:e}:{}}},normalize:(a,b)=>{if("list"===a.object&&Array.isArray(a.data))return a;let c=[];return Array.isArray(a.embeddings)?c=a.embeddings.map((a,b)=>({object:"embedding",index:b,embedding:a.values||[]})):a.embedding?.values&&(c=[{object:"embedding",index:0,embedding:a.embedding.values}]),{object:"list",data:c,model:b,usage:{prompt_tokens:0,total_tokens:0}}}};var J=c(74986);let K={...G("openai"),buildUrl:(a,b)=>{let c=(b?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,"").replace(/\/embeddings$/,"");return`${c}/embeddings`},buildHeaders:a=>(0,J.im)({"Content-Type":"application/json"},a?.providerSpecificData||{},{Authorization:`Bearer ${a?.apiKey||a?.accessToken}`})},L=G("openai");class M extends Error{constructor(){super('Self-hosted Embedding needs an endpoint: set this connection\'s baseUrl to the OpenAI base URL of your server, e.g. http://host:8080/v1 (note the /v1 — "/embeddings" is appended to it). Refusing to fall back to api.openai.com, which would send your input and API key to OpenAI.'),this.name="MissingBaseUrlError",this.isConfigError=!0}}let N={...L,buildUrl:(a,b)=>{let c=b?.providerSpecificData?.baseUrl;if(!c||!String(c).trim())throw new M;let d=String(c).trim().replace(/\/$/,"").replace(/\/embeddings$/,"");return`${d}/embeddings`}};var O=c(4630);let P={...Object.fromEntries(["openai","openrouter","mistral","voyage-ai","fireworks","together","nebius","github","nvidia","jina-ai","vercel-ai-gateway"].map(a=>[a,G(a)])),gemini:I,google_ai_studio:I,"selfhosted-embedding":N,"ollama-local":{buildUrl:(a,b)=>{let c=((0,O.Ak)(b)||"").replace(/\/+$/,"");return`${c}/v1/embeddings`},buildHeaders:()=>({"Content-Type":"application/json"}),buildBody:(a,{input:b,encoding_format:c,dimensions:d})=>{let e={model:a,input:b};if(c&&(e.encoding_format=c),null!=d&&""!==d){let a=Number(d);Number.isFinite(a)&&a>0&&(e.dimensions=a)}return e},normalize:a=>a}};async function Q({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:e,onRequestSuccess:f}){let g,h,i,j,k,{provider:l,model:m}=b,n=a.input;if(!n)return(0,z.A1)(A.gx.BAD_REQUEST,"Missing required field: input");if("string"!=typeof n&&!Array.isArray(n))return(0,z.A1)(A.gx.BAD_REQUEST,"input must be a string or array of strings");let o=P[l]?P[l]:l?.startsWith?.("openai-compatible-")||l?.startsWith?.("custom-embedding-")?K:null;if(!o)return(0,z.A1)(A.gx.BAD_REQUEST,`Provider '${l}' does not support embeddings.`);let p={input:n};try{g=o.buildUrl(m,c,p),h=o.buildHeaders(c,p),i=o.buildBody(m,{input:n,encoding_format:a.encoding_format||"float",dimensions:a.dimensions})}catch(a){return d?.debug?.("EMBEDDINGS",`Request build failed: ${a.message}`),(0,z.A1)(A.gx.BAD_REQUEST,`[${l}/${m}] ${a.message}`)}d?.debug?.("EMBEDDINGS",`${l.toUpperCase()} | ${m} | input_type=${Array.isArray(n)?`array[${n.length}]`:"string"}`);try{j=await fetch(g,{method:"POST",headers:h,body:JSON.stringify(i),..."function"==typeof AbortSignal?.timeout?{signal:AbortSignal.timeout(A.pH)}:{}})}catch(b){let a=(0,z.lR)(b,l,m,A.gx.BAD_GATEWAY);return d?.debug?.("EMBEDDINGS",`Fetch error: ${a}`),(0,z.A1)(A.gx.BAD_GATEWAY,a)}let q=(0,B.SB)(l);if(!q?.noAuth&&(j.status===A.gx.UNAUTHORIZED||j.status===A.gx.FORBIDDEN)){let a=await (0,C.qZ)(()=>q.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.apiKey){d?.info?.("TOKEN",`${l.toUpperCase()} | refreshed for embeddings`),Object.assign(c,a),e&&await e(a);try{let a=o.buildHeaders(c,p),b=o.buildUrl(m,c,p);j=await fetch(b,{method:"POST",headers:a,body:JSON.stringify(i)})}catch{d?.warn?.("TOKEN",`${l.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${l.toUpperCase()} | refresh failed`)}if(!j.ok){let{statusCode:a,message:b}=await (0,z.zL)(j),c=(0,z.lR)(Error(b),l,m,a);return d?.debug?.("EMBEDDINGS",`Provider error: ${c}`),(0,z.A1)(a,c)}try{k=await j.json()}catch{return(0,z.A1)(A.gx.BAD_GATEWAY,`Invalid JSON response from ${l}`)}f&&await f();let r=o.normalize(k,m);return d?.debug?.("EMBEDDINGS",`Success | usage=${JSON.stringify(r.usage||{})}`),{success:!0,usage:r.usage||null,response:new Response(JSON.stringify(r),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}var R=c(7803),S=c(67828),T=c(47370);async function U(a){let b;try{b=await a.json()}catch{return R.warn("EMBEDDINGS","Invalid JSON body"),(0,z.yj)(A.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=b.model;R.request("POST",`${c.pathname} | ${d}`);let{apiKey:e,valid:f}=await (0,v.$A)(a);if(e?R.debug("AUTH",`API Key: ${R.maskKey(e)}`):R.debug("AUTH","No API key provided (local mode)"),(await (0,x.mt)()).requireApiKey){if(!e)return R.warn("AUTH","Missing API key (requireApiKey=true)"),(0,z.yj)(A.gx.UNAUTHORIZED,"Missing API key");if(!f)return R.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,z.yj)(A.gx.UNAUTHORIZED,"Invalid API key")}if(!d)return R.warn("EMBEDDINGS","Missing model"),(0,z.yj)(A.gx.BAD_REQUEST,"Missing model");if(!b.input)return R.warn("EMBEDDINGS","Missing input"),(0,z.yj)(A.gx.BAD_REQUEST,"Missing required field: input");let g=await (0,y.mA)(d);if(!g.provider)return R.warn("EMBEDDINGS","Invalid model format",{model:d}),(0,z.yj)(A.gx.BAD_REQUEST,"Invalid model format");let{provider:h,model:i}=g,j=await (0,w.K)(a,{model:`${h}/${i}`,body:b});if(j.error)return j.error;d!==`${h}/${i}`?R.info("ROUTING",`${d} → ${h}/${i}`):R.info("ROUTING",`Provider: ${h}, Model: ${i}`);let k=new Set,l=null,m=null;for(;;){let a=await (0,v.c1)(h,k,i);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=l||a.lastError||"Unavailable",c=m||Number(a.lastErrorCode)||A.gx.SERVICE_UNAVAILABLE;return R.warn("EMBEDDINGS",`[${h}/${i}] ${b} (${a.retryAfterHuman})`),(0,z.wO)(c,`[${h}/${i}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===k.size)return R.error("AUTH",`No credentials for provider: ${h}`),(0,z.yj)(A.gx.BAD_REQUEST,`No credentials for provider: ${h}`);return R.warn("EMBEDDINGS","No more accounts available",{provider:h}),(0,z.yj)(m||A.gx.SERVICE_UNAVAILABLE,l||"All accounts unavailable")}R.info("AUTH",`\x1b[32mUsing ${h} account: ${a.connectionName}\x1b[0m`);let d=await (0,S.checkAndRefreshToken)(h,a,(0,B.SB)(h)),f=await Q({body:{...b,model:`${h}/${i}`},modelInfo:{provider:h,model:i},credentials:d,log:R,onCredentialsRefreshed:async b=>{await (0,S.vN)(a.connectionId,{...b,existingProviderSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,v.Pt)(a.connectionId,a,i)}});if(f.success){let b=function(a){if(!a||"object"!=typeof a||Array.isArray(a)||!0===a.estimated)return null;let b=a.prompt_tokens??a.input_tokens,c=a.completion_tokens??a.output_tokens??0,d=a.total_tokens;return!Number.isSafeInteger(b)||b<=0||0!==c||d!==b?null:{prompt_tokens:b,completion_tokens:0,total_tokens:d}}(f.usage);return b&&(0,T.sZ)({provider:h,model:i,connectionId:a.connectionId,apiKey:e,endpoint:c.pathname,tokens:b,status:"success"}).catch(()=>{}),f.response}let{shouldFallback:g}=await (0,v.vk)(a.connectionId,f.status,f.error,h,i);if(g){R.warn("AUTH",`Account ${a.connectionName} unavailable (${f.status}), trying fallback`),k.add(a.connectionId),l=f.error,m=f.status;continue}return f.response}}async function V(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function W(a){return await U(a)}let X=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/embeddings/route",pathname:"/api/v1/embeddings",filename:"route",bundlePath:"app/api/v1/embeddings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/v1/embeddings/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:Y,workUnitAsyncStorage:Z,serverHooks:$}=X;function _(){return(0,g.patchFetch)({workAsyncStorage:Y,workUnitAsyncStorage:Z})}async function aa(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),X.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/embeddings/route";"/index"===d&&(d="/");let e=await X.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||X.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===X.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await X.getIncrementalCache(a,x,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>X.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>X.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await X.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await X.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await X.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},38775:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>h});var d=c(89718),e=c(66451),f=c(99471);c(45502);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"};async function h(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model};let f=(await (0,d.Fh)({type:"custom-video"})).find(a=>a.prefix===c.providerAlias);return f?{provider:f.id,model:c.model}:{provider:c.provider,model:c.model}}if(await (0,d.Dj)(c.model))return{provider:null,model:c.model};let f=await i(c.model);return f||(0,e.js)(a,d.OM)}async function i(a){try{let b=(await (0,d.uv)()).find(b=>b&&b.id===a&&("llm"===b.type||!b.type));if(b&&b.providerAlias)return{provider:(0,e.g2)(b.providerAlias),model:b.id}}catch{}try{let b=await (0,d.OM)(),c=(0,e.sc)(a,b);if(c)return c}catch{}let b=(0,e.PN)(a);if(b)return{provider:b,model:a};try{let b=await (0,f.w)(a);if(b)return b}catch{}return null}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,QB:()=>d.QB,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw,wV:()=>d.wV});var d=c(5129)},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66451:(a,b,c)=>{c.d(b,{PN:()=>k,Xh:()=>l,ff:()=>i,g2:()=>j,js:()=>n,sc:()=>m});var d=c(45502),e=c(27335);let f={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.A)for(let b of(f[a.id]=a.id,a.alias&&(f[a.alias]=a.id),a.aliases||[]))f[b]=a.id;let g={"grok-build":"gcli/grok-build"},h=new Map;for(let a of d.A)a.noAuth&&a.modelsFetcher&&a.alias&&h.set(a.id,a.alias);function i({requestedModel:a,provider:b,model:c}){if(!a||a.includes("/"))return a;let d=h.get(b);return d?`${d}/${c}`:a}function j(a){return f[a]||a}function k(a){if(!a)return null;let b=[];for(let[c,d]of Object.entries(e.PROVIDER_MODELS))Array.isArray(d)&&d.some(b=>b&&b.id===a)&&b.push(c);if(0===b.length)return null;if(1===b.length)return j(b[0]);let c=b.find(b=>a.startsWith(b));return c?j(c):null}function l(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:j(c),model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}function m(a,b){if(!b)return null;let c=b[a];if(!c)return null;if("string"==typeof c&&c.includes("/")){let a=c.indexOf("/");return{provider:j(c.slice(0,a)),model:c.slice(a+1)}}return"object"==typeof c&&c.provider&&c.model?{provider:j(c.provider),model:c.model}:null}async function n(a,b){let c=l(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,e=m(c.model,d)||m(c.model,g);return e||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return"default"===b||"auto"===b?"cursor":o.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let o=[[/^claude-/,"anthropic"],[/^gemini-/,"gemini"],[/^grok-/,"xai"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},67677:(a,b,c)=>{c.d(b,{Gh:()=>k,IF:()=>p,O9:()=>g,OF:()=>o,WL:()=>h,_6:()=>j,_L:()=>m,bC:()=>n,f5:()=>l,lm:()=>f});var d=c(19956);let e="1"===process.env.LOG_USAGE_VERBOSE,f={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"};function g(a){if(!a||"object"!=typeof a)return a;let b={...a};return void 0!==b.input_tokens&&(b.input_tokens+=2e3),void 0!==b.prompt_tokens&&(b.prompt_tokens+=2e3),void 0!==b.total_tokens?b.total_tokens+=2e3:void 0!==b.prompt_tokens&&void 0!==b.completion_tokens&&(b.total_tokens=b.prompt_tokens+b.completion_tokens),b}function h(a,b){if(!a||"object"!=typeof a)return a;let c={[d.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks"],[d.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks"],[d.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks"]},e=c[b];b===d.h.GEMINI_CLI||b===d.h.ANTIGRAVITY?e=c[d.h.GEMINI]:b===d.h.OPENAI_RESPONSE?e=c[d.h.OPENAI_RESPONSES]:e||(e=c.default);let f={};for(let b of e)void 0!==a[b]&&(f[b]=a[b]);return f}function i(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={},c=(a,c)=>{if(null==c)return;let d=Number(c);Number.isFinite(d)&&(b[a]=d)},d=(a,c)=>{if(null==c||""===c)return;let d=Number(c);Number.isFinite(d)&&d>=0&&(b[a]=d)};return(c("prompt_tokens",a?.prompt_tokens),c("completion_tokens",a?.completion_tokens),c("total_tokens",a?.total_tokens),c("cache_read_input_tokens",a?.cache_read_input_tokens),c("cache_creation_input_tokens",a?.cache_creation_input_tokens),c("cached_tokens",a?.cached_tokens),c("reasoning_tokens",a?.reasoning_tokens),d("cost_usd",a?.cost_usd),d("cost_in_usd",a?.cost_in_usd),d("cost_in_usd_ticks",a?.cost_in_usd_ticks),a?.prompt_tokens_details&&"object"==typeof a.prompt_tokens_details&&(b.prompt_tokens_details=a.prompt_tokens_details),a?.completion_tokens_details&&"object"==typeof a.completion_tokens_details&&(b.completion_tokens_details=a.completion_tokens_details),0===Object.keys(b).length)?null:b}function j(a){let b;if(!a||"object"!=typeof a||Array.isArray(a))return null;let c=a=>Number.isFinite(Number(a))?Number(a):0,d=c(a.completion_tokens??a.output_tokens),e=c(a.reasoning_tokens),f=c(a.cache_creation_input_tokens??a.prompt_tokens_details?.cache_creation_tokens),g=c(a.prompt_tokens??a.input_tokens);void 0===a.cached_tokens&&(void 0!==a.cache_read_input_tokens||void 0!==a.cache_creation_input_tokens)?g=g+(b=c(a.cache_read_input_tokens))+f:b=c(a.cached_tokens??a.prompt_tokens_details?.cached_tokens);let h={prompt_tokens:g,completion_tokens:d,total_tokens:g+d,cached_tokens:b,cache_creation_input_tokens:f},i=b=>{if(null===a[b]||void 0===a[b]||""===a[b])return;let c=Number(a[b]);Number.isFinite(c)&&c>=0&&(h[b]=c)};return i("cost_usd"),i("cost_in_usd"),i("cost_in_usd_ticks"),e>0&&(h.reasoning_tokens=e),h}function k(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function l(a){if(!a||"object"!=typeof a)return null;if("message_start"===a.type&&a.message?.usage&&"object"==typeof a.message.usage){let b=a.message.usage;return i({prompt_tokens:b.input_tokens||0,completion_tokens:b.output_tokens||0,cache_read_input_tokens:b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens,cost_usd:b.cost_usd,cost_in_usd:b.cost_in_usd,cost_in_usd_ticks:b.cost_in_usd_ticks})}if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage)return i({prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens,cost_usd:a.usage.cost_usd,cost_in_usd:a.usage.cost_in_usd,cost_in_usd_ticks:a.usage.cost_in_usd_ticks});if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage,c=b.input_tokens_details?.cached_tokens;return i({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:c,reasoning_tokens:b.output_tokens_details?.reasoning_tokens,cost_usd:b.cost_usd,cost_in_usd:b.cost_in_usd,cost_in_usd_ticks:b.cost_in_usd_ticks,prompt_tokens_details:c?{cached_tokens:c}:void 0})}if(a.usage&&"object"==typeof a.usage&&void 0!==a.usage.prompt_tokens)return i({prompt_tokens:a.usage.prompt_tokens,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens||a.usage.prompt_cache_hit_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens,cost_usd:a.usage.cost_usd,cost_in_usd:a.usage.cost_in_usd,cost_in_usd_ticks:a.usage.cost_in_usd_ticks,prompt_tokens_details:a.usage.prompt_tokens_details,completion_tokens_details:a.usage.completion_tokens_details});let b=a.usageMetadata||a.response?.usageMetadata;return b&&"object"==typeof b?i({prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,total_tokens:b.totalTokenCount,cached_tokens:b.cachedContentTokenCount,reasoning_tokens:b.thoughtsTokenCount}):!0===a.done&&"number"==typeof a.prompt_eval_count?i({prompt_tokens:a.prompt_eval_count||0,completion_tokens:a.eval_count||0,total_tokens:(a.prompt_eval_count||0)+(a.eval_count||0)}):null}function m(a,b){if(!a)return b||null;if(!b)return a;let c={...a};for(let[a,d]of Object.entries(b))"number"==typeof d&&Number.isFinite(d)?c[a]=Math.max("number"==typeof c[a]?c[a]:0,d):d&&"object"==typeof d&&(c[a]=d);return c}function n(a){if(!a||"object"!=typeof a)return 0;try{let b=JSON.stringify(a).length;return Math.ceil(b/4)}catch(a){return 0}}function o(a,b,c=d.h.OPENAI){var e,f;return e=n(a),f=b&&!(b<=0)?Math.max(1,Math.floor(b/4)):0,c===d.h.CLAUDE?g({input_tokens:e,output_tokens:f,estimated:!0}):g({prompt_tokens:e,completion_tokens:f,total_tokens:e+f,estimated:!0})}function p(a,b,c=null,d=null,g=null){if(!b||"object"!=typeof b||!e)return;let h=a?.toUpperCase()||"UNKNOWN",i=b?.prompt_tokens||b?.input_tokens||0,j=b?.completion_tokens||b?.output_tokens||0,k=d?d.slice(0,8)+"...":"unknown",l=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${f.green}[USAGE] ${h} | in=${i} | out=${j} | account=${k}${f.reset}`;b.estimated&&(l+=` ${f.yellow}(estimated)${f.reset}`);let m=b.cache_read_input_tokens||b.cached_tokens||b.prompt_tokens_details?.cached_tokens;m&&(l+=` | cache_read=${m}`);let n=b.cache_creation_input_tokens;n&&(l+=` | cache_create=${n}`);let o=b.reasoning_tokens;o&&(l+=` | reasoning=${o}`),console.log(l)}},68001:(a,b,c)=>{c.d(b,{S:()=>f});var d=c(38071);let e=["big-pickle"],f={"openrouter-free":a=>a.filter(a=>a.pricing?.prompt==="0"&&a.pricing?.completion==="0"&&a.context_length>=2e5).map(a=>({id:a.id,name:a.name,contextLength:a.context_length})).sort((a,b)=>b.contextLength-a.contextLength),"opencode-free":a=>a.filter(a=>a.id?.endsWith("-free")||e.includes(a.id)).map(a=>({id:a.id,name:a.id})),"mimo-free":a=>(Array.isArray(a)?a:[]).filter(a=>a.id?.startsWith("mimo")||a.name?.toLowerCase().includes("mimo")).map(a=>({id:a.id,name:a.name||a.id})),"nous-free":d.pD}},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},74075:a=>{a.exports=require("zlib")},74986:(a,b,c)=>{c.d(b,{im:()=>i,z5:()=>j});let d={default:{label:"Default",headers:{}},"claude-cli":{label:"Claude CLI",headers:c(92675).$B},"codex-cli":{label:"Codex CLI",headers:{originator:"codex_cli_rs","User-Agent":"codex_cli_rs/0.136.0"}},openclaw:{label:"OpenClaw",headers:{"User-Agent":"openclaw/2026.2.3"}},custom:{label:"Custom",headers:{}}},e=new Set(["authorization","x-api-key","api-key","cookie"]);function f(a){return d[a]?a:"default"}function g(a){let b={};for(let[c,d]of a){let a=String(c||"").trim();if(!a||e.has(String(a||"").trim().toLowerCase())||null==d)continue;let f=String(d).trim();f&&(b[a]=f)}return b}function h(a){if(!a)return{};if("object"==typeof a&&!Array.isArray(a))return g(Object.entries(a));let b=String(a).trim();if(!b)return{};if(b.startsWith("{")){let a=JSON.parse(b);return!a||"object"!=typeof a||Array.isArray(a)?{}:g(Object.entries(a))}return g(function(a){let b=[];for(let c of String(a||"").split(/\r?\n/)){let a=c.trim();if(!a||a.startsWith("#"))continue;let d=a.indexOf(":");d<=0||b.push([a.slice(0,d),a.slice(d+1)])}return b}(b))}function i(a={},b={},c={}){return{...a||{},...function(a={}){let b=f(a.clientIdentityProfile);return"custom"===b?h(a.clientIdentityHeaders):{...d[b]?.headers||{}}}(b),...c||{}}}function j(a={}){let b=f(a.clientIdentityProfile);return{clientIdentityProfile:b,clientIdentityHeaders:"custom"===b?h(a.clientIdentityHeaders):{}}}},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79868:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},89865:(a,b,c)=>{c.d(b,{A1:()=>h,lR:()=>j,wO:()=>i,yj:()=>f,zL:()=>g});var d=c(87252),e=c(60290);function f(a,b,c){let e;return new Response(JSON.stringify((e=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:e.type,code:c??e.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function g(a,b=null){let c,f="";try{f=await a.text()}catch{f=""}let h="",i=null,j=!1;try{let a=JSON.parse(f);if(h=a.error?.message||a.message||a.error||f,c=a.error?.code||a.code,i=a.error?.metadata?.provider_name||null,"string"==typeof h){let a=/^Invalid URL:\s*(.*)$/.exec(h);a&&(j=""===a[1].trim())}}catch{h=f}let k="string"==typeof h?h:JSON.stringify(h);if((i||j)&&(a.status===e.gx.BAD_GATEWAY||a.status===e.gx.SERVER_ERROR||502===a.status||500===a.status)){let a=i?`OpenRouter upstream "${i}" returned an invalid routing URL — its endpoint is misconfigured on OpenRouter's side`:"Upstream returned an invalid (empty) routing URL";k=`${k} — ${a}. Try a different model, or set \`provider: { allow_fallbacks: true }\` to opt into OpenRouter's automatic upstream fallback.`}let l=k||d.O[a.status]||`Upstream error: ${a.status}`;if(b&&"function"==typeof b.parseError)try{let d=b.parseError(a,f);if(d&&"object"==typeof d){let b=d.message&&d.message!==f?d.message:l;return{statusCode:d.status||a.status,message:b,resetsAtMs:d.resetsAtMs,code:d.code??c}}}catch{}return{statusCode:a.status,message:l,code:c}}function h(a,b,c,d){return{success:!1,status:a,error:b,resetsAtMs:c,response:f(a,b,d)}}function i(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 j(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},99471:(a,b,c)=>{c.d(b,{Y:()=>k,w:()=>j});var d=c(68001);let e=null,f=0,g=null;async function h(){let a=new AbortController,b=setTimeout(()=>a.abort(),5e3);try{let b=await fetch("https://opencode.ai/zen/v1/models",{signal:a.signal});if(!b.ok)return e||[];let c=await b.json(),g=c.data??c.models??c,h=d.S["opencode-free"](Array.isArray(g)?g:[]);return e=h,f=Date.now(),h}catch{return e||[]}finally{clearTimeout(b)}}async function i(){if(e&&Date.now()-f<6e5)return e;if(!g){g=h();try{return await g}finally{g=null}}return g}async function j(a){let b=(await i()).find(b=>b&&b.id===a);return b?{provider:"opencode",model:b.id}:"big-pickle"===a||String(a).endsWith("-free")?{provider:"opencode",model:a}:null}async function k(){return await i()}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,7774,7965,5502,1522,4646,3904,8851,8946,8129,3148,9884,871,7828,7353,9276,2547,7456,5841],()=>b(b.s=26814));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=5018,a.ids=[5018],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},8086:a=>{a.exports=require("module")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},26814:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>aa,patchFetch:()=>_,routeModule:()=>X,serverHooks:()=>$,workAsyncStorage:()=>Y,workUnitAsyncStorage:()=>Z});var d={};c.r(d),c.d(d,{OPTIONS:()=>V,POST:()=>W});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23433),w=c(29273),x=c(89718),y=c(38775),z=c(89865),A=c(60290),B=c(47456),C=c(85640),D=c(39141);let E={"jina-ai":"https://api.jina.ai/v1/embeddings"},F=a=>D.B$[a]?.embeddingConfig||{};function G(a){let b=F(a);return{buildUrl:()=>F(a).baseUrl||E[a],buildHeaders:a=>({"Content-Type":"application/json",...{Authorization:`Bearer ${a.apiKey||a.accessToken}`},...b.headers||{}}),buildBody:(a,{input:b,encoding_format:c,dimensions:d})=>{let e={model:a,input:b};if(c&&(e.encoding_format=c),null!=d&&""!==d){let a=Number(d);Number.isFinite(a)&&a>0&&(e.dimensions=a)}return e},normalize:a=>a}}function H(a){return a.startsWith("models/")?a:`models/${a}`}let I={buildUrl:(a,b,{input:c}={})=>{let d=b.apiKey||b.accessToken,e=H(a),f=Array.isArray(c)?"batchEmbedContents":"embedContent";return`https://generativelanguage.googleapis.com/v1beta/${e}:${f}?key=${encodeURIComponent(d)}`},buildHeaders:()=>({"Content-Type":"application/json"}),buildBody:(a,{input:b,dimensions:c})=>{let d=H(a),e=Number(c),f=Number.isFinite(e)&&e>0;return Array.isArray(b)?{requests:b.map(a=>({model:d,content:{parts:[{text:String(a)}]},...f?{outputDimensionality:e}:{}}))}:{model:d,content:{parts:[{text:String(b)}]},...f?{outputDimensionality:e}:{}}},normalize:(a,b)=>{if("list"===a.object&&Array.isArray(a.data))return a;let c=[];return Array.isArray(a.embeddings)?c=a.embeddings.map((a,b)=>({object:"embedding",index:b,embedding:a.values||[]})):a.embedding?.values&&(c=[{object:"embedding",index:0,embedding:a.embedding.values}]),{object:"list",data:c,model:b,usage:{prompt_tokens:0,total_tokens:0}}}};var J=c(74986);let K={...G("openai"),buildUrl:(a,b)=>{let c=(b?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,"").replace(/\/embeddings$/,"");return`${c}/embeddings`},buildHeaders:a=>(0,J.im)({"Content-Type":"application/json"},a?.providerSpecificData||{},{Authorization:`Bearer ${a?.apiKey||a?.accessToken}`})},L=G("openai");class M extends Error{constructor(){super('Self-hosted Embedding needs an endpoint: set this connection\'s baseUrl to the OpenAI base URL of your server, e.g. http://host:8080/v1 (note the /v1 — "/embeddings" is appended to it). Refusing to fall back to api.openai.com, which would send your input and API key to OpenAI.'),this.name="MissingBaseUrlError",this.isConfigError=!0}}let N={...L,buildUrl:(a,b)=>{let c=b?.providerSpecificData?.baseUrl;if(!c||!String(c).trim())throw new M;let d=String(c).trim().replace(/\/$/,"").replace(/\/embeddings$/,"");return`${d}/embeddings`}};var O=c(4630);let P={...Object.fromEntries(["openai","openrouter","mistral","voyage-ai","fireworks","together","nebius","github","nvidia","jina-ai","vercel-ai-gateway"].map(a=>[a,G(a)])),gemini:I,google_ai_studio:I,"selfhosted-embedding":N,"ollama-local":{buildUrl:(a,b)=>{let c=((0,O.Ak)(b)||"").replace(/\/+$/,"");return`${c}/v1/embeddings`},buildHeaders:()=>({"Content-Type":"application/json"}),buildBody:(a,{input:b,encoding_format:c,dimensions:d})=>{let e={model:a,input:b};if(c&&(e.encoding_format=c),null!=d&&""!==d){let a=Number(d);Number.isFinite(a)&&a>0&&(e.dimensions=a)}return e},normalize:a=>a}};async function Q({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:e,onRequestSuccess:f}){let g,h,i,j,k,{provider:l,model:m}=b,n=a.input;if(!n)return(0,z.A1)(A.gx.BAD_REQUEST,"Missing required field: input");if("string"!=typeof n&&!Array.isArray(n))return(0,z.A1)(A.gx.BAD_REQUEST,"input must be a string or array of strings");let o=P[l]?P[l]:l?.startsWith?.("openai-compatible-")||l?.startsWith?.("custom-embedding-")?K:null;if(!o)return(0,z.A1)(A.gx.BAD_REQUEST,`Provider '${l}' does not support embeddings.`);let p={input:n};try{g=o.buildUrl(m,c,p),h=o.buildHeaders(c,p),i=o.buildBody(m,{input:n,encoding_format:a.encoding_format||"float",dimensions:a.dimensions})}catch(a){return d?.debug?.("EMBEDDINGS",`Request build failed: ${a.message}`),(0,z.A1)(A.gx.BAD_REQUEST,`[${l}/${m}] ${a.message}`)}d?.debug?.("EMBEDDINGS",`${l.toUpperCase()} | ${m} | input_type=${Array.isArray(n)?`array[${n.length}]`:"string"}`);try{j=await fetch(g,{method:"POST",headers:h,body:JSON.stringify(i),..."function"==typeof AbortSignal?.timeout?{signal:AbortSignal.timeout(A.pH)}:{}})}catch(b){let a=(0,z.lR)(b,l,m,A.gx.BAD_GATEWAY);return d?.debug?.("EMBEDDINGS",`Fetch error: ${a}`),(0,z.A1)(A.gx.BAD_GATEWAY,a)}let q=(0,B.SB)(l);if(!q?.noAuth&&(j.status===A.gx.UNAUTHORIZED||j.status===A.gx.FORBIDDEN)){let a=await (0,C.qZ)(()=>q.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.apiKey){d?.info?.("TOKEN",`${l.toUpperCase()} | refreshed for embeddings`),Object.assign(c,a),e&&await e(a);try{let a=o.buildHeaders(c,p),b=o.buildUrl(m,c,p);j=await fetch(b,{method:"POST",headers:a,body:JSON.stringify(i)})}catch{d?.warn?.("TOKEN",`${l.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${l.toUpperCase()} | refresh failed`)}if(!j.ok){let{statusCode:a,message:b}=await (0,z.zL)(j),c=(0,z.lR)(Error(b),l,m,a);return d?.debug?.("EMBEDDINGS",`Provider error: ${c}`),(0,z.A1)(a,c)}try{k=await j.json()}catch{return(0,z.A1)(A.gx.BAD_GATEWAY,`Invalid JSON response from ${l}`)}f&&await f();let r=o.normalize(k,m);return d?.debug?.("EMBEDDINGS",`Success | usage=${JSON.stringify(r.usage||{})}`),{success:!0,usage:r.usage||null,response:new Response(JSON.stringify(r),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}var R=c(7803),S=c(67828),T=c(47370);async function U(a){let b;try{b=await a.json()}catch{return R.warn("EMBEDDINGS","Invalid JSON body"),(0,z.yj)(A.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=b.model;R.request("POST",`${c.pathname} | ${d}`);let{apiKey:e,valid:f}=await (0,v.$A)(a);if(e?R.debug("AUTH",`API Key: ${R.maskKey(e)}`):R.debug("AUTH","No API key provided (local mode)"),(await (0,x.mt)()).requireApiKey){if(!e)return R.warn("AUTH","Missing API key (requireApiKey=true)"),(0,z.yj)(A.gx.UNAUTHORIZED,"Missing API key");if(!f)return R.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,z.yj)(A.gx.UNAUTHORIZED,"Invalid API key")}if(!d)return R.warn("EMBEDDINGS","Missing model"),(0,z.yj)(A.gx.BAD_REQUEST,"Missing model");if(!b.input)return R.warn("EMBEDDINGS","Missing input"),(0,z.yj)(A.gx.BAD_REQUEST,"Missing required field: input");let g=await (0,y.mA)(d);if(!g.provider)return R.warn("EMBEDDINGS","Invalid model format",{model:d}),(0,z.yj)(A.gx.BAD_REQUEST,"Invalid model format");let{provider:h,model:i}=g,j=await (0,w.K)(a,{model:`${h}/${i}`,body:b});if(j.error)return j.error;d!==`${h}/${i}`?R.info("ROUTING",`${d} → ${h}/${i}`):R.info("ROUTING",`Provider: ${h}, Model: ${i}`);let k=new Set,l=null,m=null;for(;;){let a=await (0,v.c1)(h,k,i);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=l||a.lastError||"Unavailable",c=m||Number(a.lastErrorCode)||A.gx.SERVICE_UNAVAILABLE;return R.warn("EMBEDDINGS",`[${h}/${i}] ${b} (${a.retryAfterHuman})`),(0,z.wO)(c,`[${h}/${i}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===k.size)return R.error("AUTH",`No credentials for provider: ${h}`),(0,z.yj)(A.gx.BAD_REQUEST,`No credentials for provider: ${h}`);return R.warn("EMBEDDINGS","No more accounts available",{provider:h}),(0,z.yj)(m||A.gx.SERVICE_UNAVAILABLE,l||"All accounts unavailable")}R.info("AUTH",`\x1b[32mUsing ${h} account: ${a.connectionName}\x1b[0m`);let d=await (0,S.checkAndRefreshToken)(h,a,(0,B.SB)(h)),f=await Q({body:{...b,model:`${h}/${i}`},modelInfo:{provider:h,model:i},credentials:d,log:R,onCredentialsRefreshed:async b=>{await (0,S.vN)(a.connectionId,{...b,existingProviderSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,v.Pt)(a.connectionId,a,i)}});if(f.success){let b=function(a){if(!a||"object"!=typeof a||Array.isArray(a)||!0===a.estimated)return null;let b=a.prompt_tokens??a.input_tokens,c=a.completion_tokens??a.output_tokens??0,d=a.total_tokens;return!Number.isSafeInteger(b)||b<=0||0!==c||d!==b?null:{prompt_tokens:b,completion_tokens:0,total_tokens:d}}(f.usage);return b&&(0,T.sZ)({provider:h,model:i,connectionId:a.connectionId,apiKey:e,endpoint:c.pathname,tokens:b,status:"success"}).catch(()=>{}),f.response}let{shouldFallback:g}=await (0,v.vk)(a.connectionId,f.status,f.error,h,i);if(g){R.warn("AUTH",`Account ${a.connectionName} unavailable (${f.status}), trying fallback`),k.add(a.connectionId),l=f.error,m=f.status;continue}return f.response}}async function V(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function W(a){return await U(a)}let X=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/embeddings/route",pathname:"/api/v1/embeddings",filename:"route",bundlePath:"app/api/v1/embeddings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/v1/embeddings/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:Y,workUnitAsyncStorage:Z,serverHooks:$}=X;function _(){return(0,g.patchFetch)({workAsyncStorage:Y,workUnitAsyncStorage:Z})}async function aa(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),X.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/embeddings/route";"/index"===d&&(d="/");let e=await X.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||X.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===X.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await X.getIncrementalCache(a,x,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>X.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>X.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await X.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await X.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await X.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},38775:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>h});var d=c(89718),e=c(66451),f=c(99471);c(45502);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"};async function h(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model};let f=(await (0,d.Fh)({type:"custom-video"})).find(a=>a.prefix===c.providerAlias);return f?{provider:f.id,model:c.model}:{provider:c.provider,model:c.model}}if(await (0,d.Dj)(c.model))return{provider:null,model:c.model};let f=await i(c.model);return f||(0,e.js)(a,d.OM)}async function i(a){try{let b=(await (0,d.uv)()).find(b=>b&&b.id===a&&("llm"===b.type||!b.type));if(b&&b.providerAlias)return{provider:(0,e.g2)(b.providerAlias),model:b.id}}catch{}try{let b=await (0,d.OM)(),c=(0,e.sc)(a,b);if(c)return c}catch{}let b=(0,e.PN)(a);if(b)return{provider:b,model:a};try{let b=await (0,f.w)(a);if(b)return b}catch{}return null}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,QB:()=>d.QB,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw,wV:()=>d.wV});var d=c(5129)},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66451:(a,b,c)=>{c.d(b,{PN:()=>k,Xh:()=>l,ff:()=>i,g2:()=>j,js:()=>n,sc:()=>m});var d=c(45502),e=c(27335);let f={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.A)for(let b of(f[a.id]=a.id,a.alias&&(f[a.alias]=a.id),a.aliases||[]))f[b]=a.id;let g={"grok-build":"gcli/grok-build"},h=new Map;for(let a of d.A)a.noAuth&&a.modelsFetcher&&a.alias&&h.set(a.id,a.alias);function i(a,b){let c,d,e;if(a&&"object"==typeof a?(c=a.requestedModel,d=a.provider,e=a.model):(c=a,d=b?.provider,e=b?.model),!c||c.includes("/"))return c;let f=h.get(d);return f?`${f}/${e}`:c}function j(a){return f[a]||a}function k(a){if(!a)return null;let b=[];for(let[c,d]of Object.entries(e.PROVIDER_MODELS))Array.isArray(d)&&d.some(b=>b&&b.id===a)&&b.push(c);if(0===b.length)return null;if(1===b.length)return j(b[0]);let c=b.find(b=>a.startsWith(b));return c?j(c):null}function l(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:j(c),model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}function m(a,b){if(!b)return null;let c=b[a];if(!c)return null;if("string"==typeof c&&c.includes("/")){let a=c.indexOf("/");return{provider:j(c.slice(0,a)),model:c.slice(a+1)}}return"object"==typeof c&&c.provider&&c.model?{provider:j(c.provider),model:c.model}:null}async function n(a,b){let c=l(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,e=m(c.model,d)||m(c.model,g);return e||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return"default"===b||"auto"===b?"cursor":o.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let o=[[/^claude-/,"anthropic"],[/^gemini-/,"gemini"],[/^grok-/,"xai"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},67677:(a,b,c)=>{c.d(b,{Gh:()=>k,IF:()=>p,O9:()=>g,OF:()=>o,WL:()=>h,_6:()=>j,_L:()=>m,bC:()=>n,f5:()=>l,lm:()=>f});var d=c(19956);let e="1"===process.env.LOG_USAGE_VERBOSE,f={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"};function g(a){if(!a||"object"!=typeof a)return a;let b={...a};return void 0!==b.input_tokens&&(b.input_tokens+=2e3),void 0!==b.prompt_tokens&&(b.prompt_tokens+=2e3),void 0!==b.total_tokens?b.total_tokens+=2e3:void 0!==b.prompt_tokens&&void 0!==b.completion_tokens&&(b.total_tokens=b.prompt_tokens+b.completion_tokens),b}function h(a,b){if(!a||"object"!=typeof a)return a;let c={[d.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks"],[d.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks"],[d.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated","cost_usd","cost_in_usd","cost_in_usd_ticks"]},e=c[b];b===d.h.GEMINI_CLI||b===d.h.ANTIGRAVITY?e=c[d.h.GEMINI]:b===d.h.OPENAI_RESPONSE?e=c[d.h.OPENAI_RESPONSES]:e||(e=c.default);let f={};for(let b of e)void 0!==a[b]&&(f[b]=a[b]);return f}function i(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={},c=(a,c)=>{if(null==c)return;let d=Number(c);Number.isFinite(d)&&(b[a]=d)},d=(a,c)=>{if(null==c||""===c)return;let d=Number(c);Number.isFinite(d)&&d>=0&&(b[a]=d)};return(c("prompt_tokens",a?.prompt_tokens),c("completion_tokens",a?.completion_tokens),c("total_tokens",a?.total_tokens),c("cache_read_input_tokens",a?.cache_read_input_tokens),c("cache_creation_input_tokens",a?.cache_creation_input_tokens),c("cached_tokens",a?.cached_tokens),c("reasoning_tokens",a?.reasoning_tokens),d("cost_usd",a?.cost_usd),d("cost_in_usd",a?.cost_in_usd),d("cost_in_usd_ticks",a?.cost_in_usd_ticks),a?.prompt_tokens_details&&"object"==typeof a.prompt_tokens_details&&(b.prompt_tokens_details=a.prompt_tokens_details),a?.completion_tokens_details&&"object"==typeof a.completion_tokens_details&&(b.completion_tokens_details=a.completion_tokens_details),0===Object.keys(b).length)?null:b}function j(a){let b;if(!a||"object"!=typeof a||Array.isArray(a))return null;let c=a=>Number.isFinite(Number(a))?Number(a):0,d=c(a.completion_tokens??a.output_tokens),e=c(a.reasoning_tokens),f=c(a.cache_creation_input_tokens??a.prompt_tokens_details?.cache_creation_tokens),g=c(a.prompt_tokens??a.input_tokens);void 0===a.cached_tokens&&(void 0!==a.cache_read_input_tokens||void 0!==a.cache_creation_input_tokens)?g=g+(b=c(a.cache_read_input_tokens))+f:b=c(a.cached_tokens??a.prompt_tokens_details?.cached_tokens);let h={prompt_tokens:g,completion_tokens:d,total_tokens:g+d,cached_tokens:b,cache_creation_input_tokens:f},i=b=>{if(null===a[b]||void 0===a[b]||""===a[b])return;let c=Number(a[b]);Number.isFinite(c)&&c>=0&&(h[b]=c)};return i("cost_usd"),i("cost_in_usd"),i("cost_in_usd_ticks"),e>0&&(h.reasoning_tokens=e),h}function k(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function l(a){if(!a||"object"!=typeof a)return null;if("message_start"===a.type&&a.message?.usage&&"object"==typeof a.message.usage){let b=a.message.usage;return i({prompt_tokens:b.input_tokens||0,completion_tokens:b.output_tokens||0,cache_read_input_tokens:b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens,cost_usd:b.cost_usd,cost_in_usd:b.cost_in_usd,cost_in_usd_ticks:b.cost_in_usd_ticks})}if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage)return i({prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens,cost_usd:a.usage.cost_usd,cost_in_usd:a.usage.cost_in_usd,cost_in_usd_ticks:a.usage.cost_in_usd_ticks});if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage,c=b.input_tokens_details?.cached_tokens;return i({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:c,reasoning_tokens:b.output_tokens_details?.reasoning_tokens,cost_usd:b.cost_usd,cost_in_usd:b.cost_in_usd,cost_in_usd_ticks:b.cost_in_usd_ticks,prompt_tokens_details:c?{cached_tokens:c}:void 0})}if(a.usage&&"object"==typeof a.usage&&void 0!==a.usage.prompt_tokens)return i({prompt_tokens:a.usage.prompt_tokens,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens||a.usage.prompt_cache_hit_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens,cost_usd:a.usage.cost_usd,cost_in_usd:a.usage.cost_in_usd,cost_in_usd_ticks:a.usage.cost_in_usd_ticks,prompt_tokens_details:a.usage.prompt_tokens_details,completion_tokens_details:a.usage.completion_tokens_details});let b=a.usageMetadata||a.response?.usageMetadata;return b&&"object"==typeof b?i({prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,total_tokens:b.totalTokenCount,cached_tokens:b.cachedContentTokenCount,reasoning_tokens:b.thoughtsTokenCount}):!0===a.done&&"number"==typeof a.prompt_eval_count?i({prompt_tokens:a.prompt_eval_count||0,completion_tokens:a.eval_count||0,total_tokens:(a.prompt_eval_count||0)+(a.eval_count||0)}):null}function m(a,b){if(!a)return b||null;if(!b)return a;let c={...a};for(let[a,d]of Object.entries(b))"number"==typeof d&&Number.isFinite(d)?c[a]=Math.max("number"==typeof c[a]?c[a]:0,d):d&&"object"==typeof d&&(c[a]=d);return c}function n(a){if(!a||"object"!=typeof a)return 0;try{let b=JSON.stringify(a).length;return Math.ceil(b/4)}catch(a){return 0}}function o(a,b,c=d.h.OPENAI){var e,f;return e=n(a),f=b&&!(b<=0)?Math.max(1,Math.floor(b/4)):0,c===d.h.CLAUDE?g({input_tokens:e,output_tokens:f,estimated:!0}):g({prompt_tokens:e,completion_tokens:f,total_tokens:e+f,estimated:!0})}function p(a,b,c=null,d=null,g=null){if(!b||"object"!=typeof b||!e)return;let h=a?.toUpperCase()||"UNKNOWN",i=b?.prompt_tokens||b?.input_tokens||0,j=b?.completion_tokens||b?.output_tokens||0,k=d?d.slice(0,8)+"...":"unknown",l=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${f.green}[USAGE] ${h} | in=${i} | out=${j} | account=${k}${f.reset}`;b.estimated&&(l+=` ${f.yellow}(estimated)${f.reset}`);let m=b.cache_read_input_tokens||b.cached_tokens||b.prompt_tokens_details?.cached_tokens;m&&(l+=` | cache_read=${m}`);let n=b.cache_creation_input_tokens;n&&(l+=` | cache_create=${n}`);let o=b.reasoning_tokens;o&&(l+=` | reasoning=${o}`),console.log(l)}},68001:(a,b,c)=>{c.d(b,{S:()=>f});var d=c(38071);let e=["big-pickle"],f={"openrouter-free":a=>a.filter(a=>a.pricing?.prompt==="0"&&a.pricing?.completion==="0"&&a.context_length>=2e5).map(a=>({id:a.id,name:a.name,contextLength:a.context_length})).sort((a,b)=>b.contextLength-a.contextLength),"opencode-free":a=>a.filter(a=>a.id?.endsWith("-free")||e.includes(a.id)).map(a=>({id:a.id,name:a.id})),"mimo-free":a=>(Array.isArray(a)?a:[]).filter(a=>a.id?.startsWith("mimo")||a.name?.toLowerCase().includes("mimo")).map(a=>({id:a.id,name:a.name||a.id})),"nous-free":d.pD}},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},74075:a=>{a.exports=require("zlib")},74986:(a,b,c)=>{c.d(b,{im:()=>i,z5:()=>j});let d={default:{label:"Default",headers:{}},"claude-cli":{label:"Claude CLI",headers:c(92675).$B},"codex-cli":{label:"Codex CLI",headers:{originator:"codex_cli_rs","User-Agent":"codex_cli_rs/0.136.0"}},openclaw:{label:"OpenClaw",headers:{"User-Agent":"openclaw/2026.2.3"}},custom:{label:"Custom",headers:{}}},e=new Set(["authorization","x-api-key","api-key","cookie"]);function f(a){return d[a]?a:"default"}function g(a){let b={};for(let[c,d]of a){let a=String(c||"").trim();if(!a||e.has(String(a||"").trim().toLowerCase())||null==d)continue;let f=String(d).trim();f&&(b[a]=f)}return b}function h(a){if(!a)return{};if("object"==typeof a&&!Array.isArray(a))return g(Object.entries(a));let b=String(a).trim();if(!b)return{};if(b.startsWith("{")){let a=JSON.parse(b);return!a||"object"!=typeof a||Array.isArray(a)?{}:g(Object.entries(a))}return g(function(a){let b=[];for(let c of String(a||"").split(/\r?\n/)){let a=c.trim();if(!a||a.startsWith("#"))continue;let d=a.indexOf(":");d<=0||b.push([a.slice(0,d),a.slice(d+1)])}return b}(b))}function i(a={},b={},c={}){return{...a||{},...function(a={}){let b=f(a.clientIdentityProfile);return"custom"===b?h(a.clientIdentityHeaders):{...d[b]?.headers||{}}}(b),...c||{}}}function j(a={}){let b=f(a.clientIdentityProfile);return{clientIdentityProfile:b,clientIdentityHeaders:"custom"===b?h(a.clientIdentityHeaders):{}}}},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79868:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},89865:(a,b,c)=>{c.d(b,{A1:()=>h,lR:()=>j,wO:()=>i,yj:()=>f,zL:()=>g});var d=c(87252),e=c(60290);function f(a,b,c){let e;return new Response(JSON.stringify((e=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:e.type,code:c??e.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function g(a,b=null){let c,f="";try{f=await a.text()}catch{f=""}let h="",i=null,j=!1;try{let a=JSON.parse(f);if(h=a.error?.message||a.message||a.error||f,c=a.error?.code||a.code,i=a.error?.metadata?.provider_name||null,"string"==typeof h){let a=/^Invalid URL:\s*(.*)$/.exec(h);a&&(j=""===a[1].trim())}}catch{h=f}let k="string"==typeof h?h:JSON.stringify(h);if((i||j)&&(a.status===e.gx.BAD_GATEWAY||a.status===e.gx.SERVER_ERROR||502===a.status||500===a.status)){let a=i?`OpenRouter upstream "${i}" returned an invalid routing URL — its endpoint is misconfigured on OpenRouter's side`:"Upstream returned an invalid (empty) routing URL";k=`${k} — ${a}. Try a different model, or set \`provider: { allow_fallbacks: true }\` to opt into OpenRouter's automatic upstream fallback.`}let l=k||d.O[a.status]||`Upstream error: ${a.status}`;if(b&&"function"==typeof b.parseError)try{let d=b.parseError(a,f);if(d&&"object"==typeof d){let b=d.message&&d.message!==f?d.message:l;return{statusCode:d.status||a.status,message:b,resetsAtMs:d.resetsAtMs,code:d.code??c}}}catch{}return{statusCode:a.status,message:l,code:c}}function h(a,b,c,d){return{success:!1,status:a,error:b,resetsAtMs:c,response:f(a,b,d)}}function i(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 j(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},99471:(a,b,c)=>{c.d(b,{Y:()=>k,w:()=>j});var d=c(68001);let e=null,f=0,g=null;async function h(){let a=new AbortController,b=setTimeout(()=>a.abort(),5e3);try{let b=await fetch("https://opencode.ai/zen/v1/models",{signal:a.signal});if(!b.ok)return e||[];let c=await b.json(),g=c.data??c.models??c,h=d.S["opencode-free"](Array.isArray(g)?g:[]);return e=h,f=Date.now(),h}catch{return e||[]}finally{clearTimeout(b)}}async function i(){if(e&&Date.now()-f<6e5)return e;if(!g){g=h();try{return await g}finally{g=null}}return g}async function j(a){let b=(await i()).find(b=>b&&b.id===a);return b?{provider:"opencode",model:b.id}:"big-pickle"===a||String(a).endsWith("-free")?{provider:"opencode",model:a}:null}async function k(){return await i()}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,7774,7965,5502,1522,4646,3904,8851,8946,8129,3148,9884,871,7828,7353,9276,2547,7456,5841],()=>b(b.s=26814));module.exports=c})();
@@ -3,4 +3,4 @@ data: ${JSON.stringify(b)}
3
3
 
4
4
  `))};try{let c=await S(a,b,{onProgress:a=>f("progress",a),onPartialImage:a=>f("partial_image",a)});c?(d&&await d(),f("done",{created:J(),data:[{b64_json:c}]})):f("error",{message:"Codex did not return an image. Account may not be entitled (Plus/Pro required)."})}catch(a){f("error",{message:a?.message||"Stream failed"})}finally{c.close()}}}),new Response(c,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no","Access-Control-Allow-Origin":"*"}}))}}let e=await S(a,b);if(!e)throw Error("Codex did not return an image. Account may not be entitled (Plus/Pro required).");return{created:J(),data:[{b64_json:e}]}},normalize:a=>a},sdwebui:{noAuth:!0,buildUrl:()=>T,buildHeaders:()=>({"Content-Type":"application/json"}),buildBody:(a,b)=>{let{prompt:c,n:d=1,size:e="1024x1024"}=b,[f,g]=e.split("x").map(Number);return{prompt:c,width:f||512,height:g||512,steps:20,batch_size:d}},normalize:a=>{let b=Array.isArray(a.images)?a.images.map(a=>({b64_json:a})):[];return{created:J(),data:b}}},comfyui:{noAuth:!0,buildUrl:()=>U,buildHeaders:()=>({"Content-Type":"application/json"}),buildBody:(a,b)=>({prompt:b.prompt}),normalize:a=>a},huggingface:{buildUrl:a=>`${V}/${a}`,buildHeaders:a=>{let b={"Content-Type":"application/json"},c=a?.apiKey||a?.accessToken;return c&&(b.Authorization=`Bearer ${c}`),b},buildBody:(a,b)=>({inputs:b.prompt}),async parseResponse(a){let b=await a.arrayBuffer(),c=Buffer.from(b).toString("base64");return{created:J(),data:[{b64_json:c}]}},normalize:a=>a},nanobanana:{async:!0,buildUrl:()=>X,buildHeaders:a=>{let b={"Content-Type":"application/json"},c=a?.apiKey||a?.accessToken;return c&&(b.Authorization=`Bearer ${c}`),b},buildBody:(a,b)=>{let c=H(b.size),d=!!(b.image||Array.isArray(b.images)&&b.images.length),e={prompt:b.prompt,type:d?"IMAGETOIAMGE":"TEXTTOIAMGE",numImages:b.n||1,image_size:c,callBackUrl:"https://localhost/callback"};if(d){let a=Array.isArray(b.images)?b.images.filter(Boolean):[];b.image&&a.push(b.image),e.imageUrls=a}return e},async parseResponse(a,{headers:b}){let c=await a.json();if(200!==c.code)throw Error(c.msg||"NanoBanana submit failed");let d=c.data?.taskId;if(!d)throw Error("NanoBanana: no taskId returned");let e=`${Y}?taskId=${encodeURIComponent(d)}`,f=Date.now()+12e4;for(;Date.now()<f;){await G(1500);let a=await fetch(e,{headers:b});if(!a.ok)throw Error(`NanoBanana status ${a.status}`);let c=await a.json(),d=c.data?.successFlag;if(1===d)return c.data;if(2===d||3===d)throw Error(c.data?.errorMessage||"NanoBanana generation failed")}throw Error("NanoBanana polling timeout")},normalize:(a,b)=>{let c=a.response?.resultImageUrl||a.response?.originImageUrl;return c?{created:J(),data:[{url:c,revised_prompt:b}]}:{created:J(),data:[]}}},antigravity:{useExecutor:!0,buildUrl:()=>"",buildHeaders:()=>({}),buildBody:()=>({}),async executeViaExecutor(a,b,c,d){var e,f;let g,h=(0,C.SB)("antigravity");if(!h)throw Error("Antigravity executor not found");let i=[];Array.isArray(b.images)&&i.push(...b.images),Array.isArray(b.image)?i.push(...b.image):b.image&&i.push(b.image);let j=[];for(let a of i){let b=await al(a);if(!b){let a=Error("Invalid reference image. Use a data URL, HTTP(S) URL, or raw base64 image.");throw a.status=400,a.retryable=!1,a}j.push(b)}j.push({text:(e=b.prompt,g=(f=i.length)>0?`Use all ${f} attached reference image${1===f?"":"s"} in the result. `:"",`Generate an image as the final response. ${g}Do not answer with text only.
5
5
 
6
- ${e}`)});let k=await h.execute({model:a,body:{contents:[{role:"user",parts:j}]},stream:!1,credentials:c,log:d});if(!k.response.ok){let a=await k.response.text(),b=Error(a||`HTTP ${k.response.status}`);throw b.status=k.response.status,b.resetsAtMs=function(a){try{let b=JSON.parse(a);for(let a of b?.error?.details||[]){let b=a?.metadata?.quotaResetTimeStamp,c=b?Date.parse(b):NaN;if(Number.isFinite(c)&&c>Date.now())return c;let d=a?.retryDelay,e="string"==typeof d?d.match(/^(\d+(?:\.\d+)?)s$/):null;if(e){let a=1e3*Number(e[1]);if(Number.isFinite(a)&&a>0)return Date.now()+a}}}catch{}return null}(a),b}return k.response.json()},normalize:(a,b)=>{let c=a.candidates||a.response?.candidates||[],d=c[0]?.content?.parts||[],e=d.map(a=>a.inlineData||a.inline_data).filter(a=>a?.data).map(a=>({b64_json:a.data}));if(0===e.length){let a=d.map(a=>a.text).filter(Boolean).join(" ").trim();throw Error(a?`Antigravity returned text instead of an image: ${a}`:"Antigravity did not return an image.")}return{created:J(),data:e}}},"fal-ai":{async:!0,buildUrl:a=>`${Z}/${a}`,buildHeaders:a=>{let b=a?.apiKey||a?.accessToken;return{"Content-Type":"application/json",Authorization:`Key ${b}`}},buildBody:(a,b)=>{let c={prompt:b.prompt,num_images:b.n||1};return b.size&&(c.image_size=H(b.size)),b.image&&(c.image_url=b.image),c},async parseResponse(a,{headers:b}){let{status_url:c,response_url:d}=await a.json(),e=Date.now()+12e4;for(;Date.now()<e;){await G(1500);let a=await fetch(c,{headers:b});if(!a.ok)throw Error(`Fal status ${a.status}`);let e=await a.json();if("COMPLETED"===e.status){let a=await fetch(d,{headers:b});return await a.json()}if("FAILED"===e.status)throw Error(e.error||"Fal generation failed")}throw Error("Fal polling timeout")},normalize:a=>{let b=Array.isArray(a.images)?a.images:a.image?[a.image]:[];return{created:J(),data:b.map(a=>({url:a.url||a}))}}},"stability-ai":{buildUrl:a=>`${$}/${a.includes("ultra")?"ultra":a.includes("sd3")?"sd3":"core"}`,buildHeaders:a=>{let b=a?.apiKey||a?.accessToken;return{"Content-Type":"application/json",Authorization:`Bearer ${b}`,Accept:"application/json"}},buildBody:(a,b)=>{let c={prompt:b.prompt,output_format:(b.output_format||"png").toLowerCase()};return b.size&&(c.aspect_ratio=H(b.size)),b.style&&(c.style_preset=b.style),a.includes("sd3")&&(c.model=a),c},normalize:a=>a.image?{created:J(),data:[{b64_json:a.image}]}:{created:J(),data:[]}},"black-forest-labs":{async:!0,buildUrl:a=>`${_}/${a}`,buildHeaders:a=>({"Content-Type":"application/json","x-key":a?.apiKey||a?.accessToken}),buildBody:(a,b)=>{let c={prompt:b.prompt};if(b.size){let[a,d]=b.size.split("x").map(Number);a&&(c.width=a),d&&(c.height=d)}return b.image&&(c.image_prompt=b.image),c},async parseResponse(a,{headers:b}){let c=(await a.json()).polling_url;if(!c)throw Error("BFL: no polling_url returned");let d=Date.now()+12e4;for(;Date.now()<d;){await G(1500);let a=await fetch(c,{headers:{"x-key":b["x-key"],Accept:"application/json"}});if(!a.ok)throw Error(`BFL status ${a.status}`);let d=await a.json();if("Ready"===d.status)return d;if("Error"===d.status||"Failed"===d.status)throw Error(d.error||"BFL generation failed")}throw Error("BFL polling timeout")},normalize:a=>{let b=a.result?.sample;return b?{created:J(),data:[{url:b}]}:{created:J(),data:[]}}},runwayml:{async:!0,buildUrl:a=>`${aa}/${a.includes("image")?"text_to_image":"image_to_video"}`,buildHeaders:a=>{let b=a?.apiKey||a?.accessToken;return{"Content-Type":"application/json",Authorization:`Bearer ${b}`,"X-Runway-Version":"2024-11-06"}},buildBody:(a,b)=>{let c=!a.includes("image"),d=H(b.size);return c?{promptText:b.prompt,model:a,ratio:d,duration:5,...b.image?{promptImage:b.image}:{}}:{promptText:b.prompt,model:a,ratio:d,...b.image?{referenceImages:[{uri:b.image}]}:{}}},async parseResponse(a,{headers:b}){let{id:c}=await a.json();if(!c)throw Error("Runway: no task id returned");let d=`${aa}/tasks/${c}`,e=Date.now()+12e4;for(;Date.now()<e;){await G(1500);let a=await fetch(d,{headers:b});if(!a.ok)throw Error(`Runway status ${a.status}`);let c=await a.json();if("SUCCEEDED"===c.status)return c;if("FAILED"===c.status||"CANCELLED"===c.status)throw Error(c.failure||"Runway task failed")}throw Error("Runway polling timeout")},normalize:a=>{let b=Array.isArray(a.output)?a.output:[];return{created:J(),data:b.map(a=>({url:a}))}}},"cloudflare-ai":{buildUrl:(a,b)=>{let c=b?.providerSpecificData?.accountId;if(!c)throw Error("cloudflare-ai requires accountId in providerSpecificData");return`${ab}/${c}/ai/run/${a}`},buildHeaders:(a,b)=>{let c={};"u">typeof FormData&&b instanceof FormData||(c["Content-Type"]="application/json");let d=a?.apiKey||a?.accessToken;return d&&(c.Authorization=`Bearer ${d}`),c},buildBody:async(a,b)=>ac.has(a)?function(a){let b=new FormData;for(let[c,d]of(b.append("prompt",a.prompt),Object.entries(ae(a))))b.append(c,String(d));return ah(b,a,(a,b,c)=>{a.append(b,String(c))}),b}(b):await ai(b),async parseResponse(a){if((a.headers.get("Content-Type")||"").toLowerCase().startsWith("image/")){let b=await a.arrayBuffer();return{created:J(),data:[{b64_json:Buffer.from(b).toString("base64")}]}}return aj(await a.json())},normalize:aj}};function an(a){return"u">typeof FormData&&a instanceof FormData||"string"==typeof a?a:JSON.stringify(a)}async function ao({body:a,modelInfo:b,credentials:c,log:d,streamToClient:e=!1,binaryOutput:f=!1,onCredentialsRefreshed:g,onRequestSuccess:h}){let i,j,k,l,m,{provider:n,model:o}=b;if(!a.prompt)return(0,z.A1)(A.gx.BAD_REQUEST,"Missing required field: prompt");let p=am[n]||null;if(!p)return(0,z.A1)(A.gx.BAD_REQUEST,`Provider '${n}' does not support image generation`);if(p.useExecutor&&p.executeViaExecutor)try{d?.debug?.("IMAGE",`${n.toUpperCase()} | ${o} | prompt="${a.prompt.slice(0,50)}..." (executor)`);let b=await p.executeViaExecutor(o,a,c,d);h&&await h();let e=p.normalize(b,a.prompt),g=e.created&&Array.isArray(e.data)?e:b;if(f){let b=g.data?.[0],c=b?.b64_json;if(!c&&b?.url)try{c=await I(b.url)}catch{}if(c){let b=Buffer.from(c,"base64"),d=(a.output_format||"png").toLowerCase();return{success:!0,response:new Response(b,{headers:{"Content-Type":"jpeg"===d||"jpg"===d?"image/jpeg":"webp"===d?"image/webp":"image/png","Content-Disposition":`inline; filename="image.${"jpeg"===d?"jpg":d}"`,"Access-Control-Allow-Origin":"*"}})}}}return{success:!0,response:new Response(JSON.stringify(g),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(c){let a=Number(c?.statusCode||c?.status)||A.gx.BAD_GATEWAY,b=(0,z.lR)(c,n,o,a);return d?.debug?.("IMAGE",`Executor error: ${b}`),{...(0,z.A1)(a,b,c?.resetsAtMs),retryable:c?.retryable!==!1}}try{i=p.buildUrl(o,c),k=await p.buildBody(o,a),j=p.buildHeaders(c,k,o,a)}catch(a){return{...(0,z.A1)(A.gx.BAD_REQUEST,a.message||`Invalid ${n} image request`),retryable:!1}}d?.debug?.("IMAGE",`${n.toUpperCase()} | ${o} | prompt="${a.prompt.slice(0,50)}..."`);try{l=await fetch(i,{method:"POST",headers:j,body:an(k)})}catch(b){let a=(0,z.lR)(b,n,o,A.gx.BAD_GATEWAY);return d?.debug?.("IMAGE",`Fetch error: ${a}`),(0,z.A1)(A.gx.BAD_GATEWAY,a)}let q=(0,C.SB)(n);if(!q?.noAuth&&!p.noAuth&&(l.status===A.gx.UNAUTHORIZED||l.status===A.gx.FORBIDDEN)){let b=await (0,B.qZ)(()=>q.refreshCredentials(c,d),3,d);if(b?.accessToken||b?.apiKey){d?.info?.("TOKEN",`${n.toUpperCase()} | refreshed for image generation`),Object.assign(c,b),g&&await g(b);try{let b=await p.buildBody(o,a),d=p.buildHeaders(c,b,o,a),e=p.buildUrl(o,c);l=await fetch(e,{method:"POST",headers:d,body:an(b)})}catch{d?.warn?.("TOKEN",`${n.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${n.toUpperCase()} | refresh failed`)}if(!l.ok){let{statusCode:a,message:b}=await (0,z.zL)(l),c=(0,z.lR)(Error(b),n,o,a);return d?.debug?.("IMAGE",`Provider error: ${c}`),(0,z.A1)(a,c)}try{if(p.parseResponse){if(m=await p.parseResponse(l,{headers:j,log:d,streamToClient:e,onRequestSuccess:h,url:i,requestBody:k,model:o,body:a}),m?.sseResponse)return{success:!0,response:m.sseResponse}}else m=await l.json()}catch(a){return(0,z.A1)(A.gx.BAD_GATEWAY,a.message||`Invalid response from ${n}`)}h&&await h();let r=p.normalize(m,a.prompt),s=r.created&&Array.isArray(r.data)?r:m;if(f){let b=s.data?.[0],c=b?.b64_json;if(!c&&b?.url)try{c=await I(b.url)}catch{}if(c){let b=Buffer.from(c,"base64"),d=(a.output_format||"png").toLowerCase();return{success:!0,response:new Response(b,{headers:{"Content-Type":"jpeg"===d||"jpg"===d?"image/jpeg":"webp"===d?"image/webp":"image/png","Content-Disposition":`inline; filename="image.${"jpeg"===d?"jpg":d}"`,"Access-Control-Allow-Origin":"*"}})}}}return{success:!0,response:new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}var ap=c(67828),aq=c(57362),ar=c(7803);let as=new Set(["sdwebui","comfyui"]);async function at(a){let b;try{b=await a.json()}catch{return(0,z.yj)(A.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=a.headers.get("x-connection-id")||null,e=(a.headers.get("accept")||"").includes("text/event-stream"),f="binary"===c.searchParams.get("response_format"),g=b.model,{apiKey:h,valid:i}=await (0,v.$A)(a),j=await (0,x.mt)();if(j.requireApiKey){if(!h)return(0,z.yj)(A.gx.UNAUTHORIZED,"Missing API key");if(!i)return(0,z.yj)(A.gx.UNAUTHORIZED,"Invalid API key")}if(!g)return(0,z.yj)(A.gx.BAD_REQUEST,"Missing model");if(!b.prompt)return(0,z.yj)(A.gx.BAD_REQUEST,"Missing required field: prompt");let k=await (0,y.d_)(g);if(k){let c=j.comboStrategies||{},h=c[g]?.fallbackStrategy||j.comboStrategy||"fallback",i=j.comboStickyRoundRobinLimit;return ar.info("IMAGE",`Combo "${g}" with ${k.length} models (strategy: ${h}, sticky: ${i})`),(0,aq.Pr)({body:b,models:k,handleSingleModel:(b,c)=>au(b,c,a,{wantsStream:e,binaryOutput:f,preferredConnectionId:d}),log:ar,comboName:g,comboStrategy:h,comboStickyLimit:i})}return au(b,g,a,{wantsStream:e,binaryOutput:f,preferredConnectionId:d})}async function au(a,b,c,{wantsStream:d,binaryOutput:e,preferredConnectionId:f}={}){let g=await (0,y.mA)(b);if(!g.provider)return(0,z.yj)(A.gx.BAD_REQUEST,"Invalid model format");let{provider:h,model:i}=g,j=await (0,w.K)(c,{model:`${h}/${i}`,body:a});if(j.error)return j.error;if(as.has(h)){let b=await ao({body:a,modelInfo:{provider:h,model:i},credentials:null,binaryOutput:e});return b.success?b.response:(0,z.yj)(b.status||A.gx.BAD_GATEWAY,b.error||"Image generation failed")}let k=new Set,l=null,m=null;for(;;){let b=await (0,v.c1)(h,k,i,{preferredConnectionId:f});if(!b||b.allRateLimited){if(b?.allRateLimited){let a=l||b.lastError||"Unavailable",c=m||Number(b.lastErrorCode)||A.gx.SERVICE_UNAVAILABLE;return(0,z.wO)(c,`[${h}/${i}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(0===k.size)return(0,z.yj)(A.gx.BAD_REQUEST,`No credentials for provider: ${h}`);return(0,z.yj)(m||A.gx.SERVICE_UNAVAILABLE,l||"All accounts unavailable")}let c=await (0,ap.checkAndRefreshToken)(h,b,(0,C.SB)(h)),g=await ao({body:a,modelInfo:{provider:h,model:i},credentials:c,streamToClient:d,binaryOutput:e,onCredentialsRefreshed:async a=>{await (0,ap.vN)(b.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,v.Pt)(b.connectionId,b,i)}});if(g.success)return function(a,b){if(!a||!b?.connectionId)return a;let c=new Headers(a.headers);c.set("x-connection-id",b.connectionId);let d=new Set((c.get("Access-Control-Expose-Headers")||"").split(",").map(a=>a.trim()).filter(Boolean));return d.add("x-connection-id"),c.set("Access-Control-Expose-Headers",[...d].join(", ")),new Response(a.body,{status:a.status,statusText:a.statusText,headers:c})}(g.response,b);if(!1===g.retryable)return g.response;let{shouldFallback:j}=await (0,v.vk)(b.connectionId,g.status,g.error,h,i,g.resetsAtMs);if(j){k.add(b.connectionId),l=g.error,m=g.status;continue}return g.response}}async function av(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function aw(a){return await at(a)}let ax=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/images/generations/route",pathname:"/api/v1/images/generations",filename:"route",bundlePath:"app/api/v1/images/generations/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/v1/images/generations/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:ay,workUnitAsyncStorage:az,serverHooks:aA}=ax;function aB(){return(0,g.patchFetch)({workAsyncStorage:ay,workUnitAsyncStorage:az})}async function aC(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),ax.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/images/generations/route";"/index"===d&&(d="/");let e=await ax.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||ax.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===ax.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await ax.getIncrementalCache(a,x,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>ax.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>ax.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await ax.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await ax.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await ax.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},38775:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>h});var d=c(89718),e=c(66451),f=c(99471);c(45502);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"};async function h(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model};let f=(await (0,d.Fh)({type:"custom-video"})).find(a=>a.prefix===c.providerAlias);return f?{provider:f.id,model:c.model}:{provider:c.provider,model:c.model}}if(await (0,d.Dj)(c.model))return{provider:null,model:c.model};let f=await i(c.model);return f||(0,e.js)(a,d.OM)}async function i(a){try{let b=(await (0,d.uv)()).find(b=>b&&b.id===a&&("llm"===b.type||!b.type));if(b&&b.providerAlias)return{provider:(0,e.g2)(b.providerAlias),model:b.id}}catch{}try{let b=await (0,d.OM)(),c=(0,e.sc)(a,b);if(c)return c}catch{}let b=(0,e.PN)(a);if(b)return{provider:b,model:a};try{let b=await (0,f.w)(a);if(b)return b}catch{}return null}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66451:(a,b,c)=>{c.d(b,{PN:()=>k,Xh:()=>l,ff:()=>i,g2:()=>j,js:()=>n,sc:()=>m});var d=c(45502),e=c(27335);let f={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.A)for(let b of(f[a.id]=a.id,a.alias&&(f[a.alias]=a.id),a.aliases||[]))f[b]=a.id;let g={"grok-build":"gcli/grok-build"},h=new Map;for(let a of d.A)a.noAuth&&a.modelsFetcher&&a.alias&&h.set(a.id,a.alias);function i({requestedModel:a,provider:b,model:c}){if(!a||a.includes("/"))return a;let d=h.get(b);return d?`${d}/${c}`:a}function j(a){return f[a]||a}function k(a){if(!a)return null;let b=[];for(let[c,d]of Object.entries(e.PROVIDER_MODELS))Array.isArray(d)&&d.some(b=>b&&b.id===a)&&b.push(c);if(0===b.length)return null;if(1===b.length)return j(b[0]);let c=b.find(b=>a.startsWith(b));return c?j(c):null}function l(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:j(c),model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}function m(a,b){if(!b)return null;let c=b[a];if(!c)return null;if("string"==typeof c&&c.includes("/")){let a=c.indexOf("/");return{provider:j(c.slice(0,a)),model:c.slice(a+1)}}return"object"==typeof c&&c.provider&&c.model?{provider:j(c.provider),model:c.model}:null}async function n(a,b){let c=l(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,e=m(c.model,d)||m(c.model,g);return e||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return"default"===b||"auto"===b?"cursor":o.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let o=[[/^claude-/,"anthropic"],[/^gemini-/,"gemini"],[/^grok-/,"xai"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},68001:(a,b,c)=>{c.d(b,{S:()=>f});var d=c(38071);let e=["big-pickle"],f={"openrouter-free":a=>a.filter(a=>a.pricing?.prompt==="0"&&a.pricing?.completion==="0"&&a.context_length>=2e5).map(a=>({id:a.id,name:a.name,contextLength:a.context_length})).sort((a,b)=>b.contextLength-a.contextLength),"opencode-free":a=>a.filter(a=>a.id?.endsWith("-free")||e.includes(a.id)).map(a=>({id:a.id,name:a.id})),"mimo-free":a=>(Array.isArray(a)?a:[]).filter(a=>a.id?.startsWith("mimo")||a.name?.toLowerCase().includes("mimo")).map(a=>({id:a.id,name:a.name||a.id})),"nous-free":d.pD}},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79868:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},99471:(a,b,c)=>{c.d(b,{Y:()=>k,w:()=>j});var d=c(68001);let e=null,f=0,g=null;async function h(){let a=new AbortController,b=setTimeout(()=>a.abort(),5e3);try{let b=await fetch("https://opencode.ai/zen/v1/models",{signal:a.signal});if(!b.ok)return e||[];let c=await b.json(),g=c.data??c.models??c,h=d.S["opencode-free"](Array.isArray(g)?g:[]);return e=h,f=Date.now(),h}catch{return e||[]}finally{clearTimeout(b)}}async function i(){if(e&&Date.now()-f<6e5)return e;if(!g){g=h();try{return await g}finally{g=null}}return g}async function j(a){let b=(await i()).find(b=>b&&b.id===a);return b?{provider:"opencode",model:b.id}:"big-pickle"===a||String(a).endsWith("-free")?{provider:"opencode",model:a}:null}async function k(){return await i()}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,7774,7965,5502,1522,4646,3904,8851,8946,8129,3148,9884,871,7828,7353,9276,2547,7456,7362,5841],()=>b(b.s=36244));module.exports=c})();
6
+ ${e}`)});let k=await h.execute({model:a,body:{contents:[{role:"user",parts:j}]},stream:!1,credentials:c,log:d});if(!k.response.ok){let a=await k.response.text(),b=Error(a||`HTTP ${k.response.status}`);throw b.status=k.response.status,b.resetsAtMs=function(a){try{let b=JSON.parse(a);for(let a of b?.error?.details||[]){let b=a?.metadata?.quotaResetTimeStamp,c=b?Date.parse(b):NaN;if(Number.isFinite(c)&&c>Date.now())return c;let d=a?.retryDelay,e="string"==typeof d?d.match(/^(\d+(?:\.\d+)?)s$/):null;if(e){let a=1e3*Number(e[1]);if(Number.isFinite(a)&&a>0)return Date.now()+a}}}catch{}return null}(a),b}return k.response.json()},normalize:(a,b)=>{let c=a.candidates||a.response?.candidates||[],d=c[0]?.content?.parts||[],e=d.map(a=>a.inlineData||a.inline_data).filter(a=>a?.data).map(a=>({b64_json:a.data}));if(0===e.length){let a=d.map(a=>a.text).filter(Boolean).join(" ").trim();throw Error(a?`Antigravity returned text instead of an image: ${a}`:"Antigravity did not return an image.")}return{created:J(),data:e}}},"fal-ai":{async:!0,buildUrl:a=>`${Z}/${a}`,buildHeaders:a=>{let b=a?.apiKey||a?.accessToken;return{"Content-Type":"application/json",Authorization:`Key ${b}`}},buildBody:(a,b)=>{let c={prompt:b.prompt,num_images:b.n||1};return b.size&&(c.image_size=H(b.size)),b.image&&(c.image_url=b.image),c},async parseResponse(a,{headers:b}){let{status_url:c,response_url:d}=await a.json(),e=Date.now()+12e4;for(;Date.now()<e;){await G(1500);let a=await fetch(c,{headers:b});if(!a.ok)throw Error(`Fal status ${a.status}`);let e=await a.json();if("COMPLETED"===e.status){let a=await fetch(d,{headers:b});return await a.json()}if("FAILED"===e.status)throw Error(e.error||"Fal generation failed")}throw Error("Fal polling timeout")},normalize:a=>{let b=Array.isArray(a.images)?a.images:a.image?[a.image]:[];return{created:J(),data:b.map(a=>({url:a.url||a}))}}},"stability-ai":{buildUrl:a=>`${$}/${a.includes("ultra")?"ultra":a.includes("sd3")?"sd3":"core"}`,buildHeaders:a=>{let b=a?.apiKey||a?.accessToken;return{"Content-Type":"application/json",Authorization:`Bearer ${b}`,Accept:"application/json"}},buildBody:(a,b)=>{let c={prompt:b.prompt,output_format:(b.output_format||"png").toLowerCase()};return b.size&&(c.aspect_ratio=H(b.size)),b.style&&(c.style_preset=b.style),a.includes("sd3")&&(c.model=a),c},normalize:a=>a.image?{created:J(),data:[{b64_json:a.image}]}:{created:J(),data:[]}},"black-forest-labs":{async:!0,buildUrl:a=>`${_}/${a}`,buildHeaders:a=>({"Content-Type":"application/json","x-key":a?.apiKey||a?.accessToken}),buildBody:(a,b)=>{let c={prompt:b.prompt};if(b.size){let[a,d]=b.size.split("x").map(Number);a&&(c.width=a),d&&(c.height=d)}return b.image&&(c.image_prompt=b.image),c},async parseResponse(a,{headers:b}){let c=(await a.json()).polling_url;if(!c)throw Error("BFL: no polling_url returned");let d=Date.now()+12e4;for(;Date.now()<d;){await G(1500);let a=await fetch(c,{headers:{"x-key":b["x-key"],Accept:"application/json"}});if(!a.ok)throw Error(`BFL status ${a.status}`);let d=await a.json();if("Ready"===d.status)return d;if("Error"===d.status||"Failed"===d.status)throw Error(d.error||"BFL generation failed")}throw Error("BFL polling timeout")},normalize:a=>{let b=a.result?.sample;return b?{created:J(),data:[{url:b}]}:{created:J(),data:[]}}},runwayml:{async:!0,buildUrl:a=>`${aa}/${a.includes("image")?"text_to_image":"image_to_video"}`,buildHeaders:a=>{let b=a?.apiKey||a?.accessToken;return{"Content-Type":"application/json",Authorization:`Bearer ${b}`,"X-Runway-Version":"2024-11-06"}},buildBody:(a,b)=>{let c=!a.includes("image"),d=H(b.size);return c?{promptText:b.prompt,model:a,ratio:d,duration:5,...b.image?{promptImage:b.image}:{}}:{promptText:b.prompt,model:a,ratio:d,...b.image?{referenceImages:[{uri:b.image}]}:{}}},async parseResponse(a,{headers:b}){let{id:c}=await a.json();if(!c)throw Error("Runway: no task id returned");let d=`${aa}/tasks/${c}`,e=Date.now()+12e4;for(;Date.now()<e;){await G(1500);let a=await fetch(d,{headers:b});if(!a.ok)throw Error(`Runway status ${a.status}`);let c=await a.json();if("SUCCEEDED"===c.status)return c;if("FAILED"===c.status||"CANCELLED"===c.status)throw Error(c.failure||"Runway task failed")}throw Error("Runway polling timeout")},normalize:a=>{let b=Array.isArray(a.output)?a.output:[];return{created:J(),data:b.map(a=>({url:a}))}}},"cloudflare-ai":{buildUrl:(a,b)=>{let c=b?.providerSpecificData?.accountId;if(!c)throw Error("cloudflare-ai requires accountId in providerSpecificData");return`${ab}/${c}/ai/run/${a}`},buildHeaders:(a,b)=>{let c={};"u">typeof FormData&&b instanceof FormData||(c["Content-Type"]="application/json");let d=a?.apiKey||a?.accessToken;return d&&(c.Authorization=`Bearer ${d}`),c},buildBody:async(a,b)=>ac.has(a)?function(a){let b=new FormData;for(let[c,d]of(b.append("prompt",a.prompt),Object.entries(ae(a))))b.append(c,String(d));return ah(b,a,(a,b,c)=>{a.append(b,String(c))}),b}(b):await ai(b),async parseResponse(a){if((a.headers.get("Content-Type")||"").toLowerCase().startsWith("image/")){let b=await a.arrayBuffer();return{created:J(),data:[{b64_json:Buffer.from(b).toString("base64")}]}}return aj(await a.json())},normalize:aj}};function an(a){return"u">typeof FormData&&a instanceof FormData||"string"==typeof a?a:JSON.stringify(a)}async function ao({body:a,modelInfo:b,credentials:c,log:d,streamToClient:e=!1,binaryOutput:f=!1,onCredentialsRefreshed:g,onRequestSuccess:h}){let i,j,k,l,m,{provider:n,model:o}=b;if(!a.prompt)return(0,z.A1)(A.gx.BAD_REQUEST,"Missing required field: prompt");let p=am[n]||null;if(!p)return(0,z.A1)(A.gx.BAD_REQUEST,`Provider '${n}' does not support image generation`);if(p.useExecutor&&p.executeViaExecutor)try{d?.debug?.("IMAGE",`${n.toUpperCase()} | ${o} | prompt="${a.prompt.slice(0,50)}..." (executor)`);let b=await p.executeViaExecutor(o,a,c,d);h&&await h();let e=p.normalize(b,a.prompt),g=e.created&&Array.isArray(e.data)?e:b;if(f){let b=g.data?.[0],c=b?.b64_json;if(!c&&b?.url)try{c=await I(b.url)}catch{}if(c){let b=Buffer.from(c,"base64"),d=(a.output_format||"png").toLowerCase();return{success:!0,response:new Response(b,{headers:{"Content-Type":"jpeg"===d||"jpg"===d?"image/jpeg":"webp"===d?"image/webp":"image/png","Content-Disposition":`inline; filename="image.${"jpeg"===d?"jpg":d}"`,"Access-Control-Allow-Origin":"*"}})}}}return{success:!0,response:new Response(JSON.stringify(g),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(c){let a=Number(c?.statusCode||c?.status)||A.gx.BAD_GATEWAY,b=(0,z.lR)(c,n,o,a);return d?.debug?.("IMAGE",`Executor error: ${b}`),{...(0,z.A1)(a,b,c?.resetsAtMs),retryable:c?.retryable!==!1}}try{i=p.buildUrl(o,c),k=await p.buildBody(o,a),j=p.buildHeaders(c,k,o,a)}catch(a){return{...(0,z.A1)(A.gx.BAD_REQUEST,a.message||`Invalid ${n} image request`),retryable:!1}}d?.debug?.("IMAGE",`${n.toUpperCase()} | ${o} | prompt="${a.prompt.slice(0,50)}..."`);try{l=await fetch(i,{method:"POST",headers:j,body:an(k)})}catch(b){let a=(0,z.lR)(b,n,o,A.gx.BAD_GATEWAY);return d?.debug?.("IMAGE",`Fetch error: ${a}`),(0,z.A1)(A.gx.BAD_GATEWAY,a)}let q=(0,C.SB)(n);if(!q?.noAuth&&!p.noAuth&&(l.status===A.gx.UNAUTHORIZED||l.status===A.gx.FORBIDDEN)){let b=await (0,B.qZ)(()=>q.refreshCredentials(c,d),3,d);if(b?.accessToken||b?.apiKey){d?.info?.("TOKEN",`${n.toUpperCase()} | refreshed for image generation`),Object.assign(c,b),g&&await g(b);try{let b=await p.buildBody(o,a),d=p.buildHeaders(c,b,o,a),e=p.buildUrl(o,c);l=await fetch(e,{method:"POST",headers:d,body:an(b)})}catch{d?.warn?.("TOKEN",`${n.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${n.toUpperCase()} | refresh failed`)}if(!l.ok){let{statusCode:a,message:b}=await (0,z.zL)(l),c=(0,z.lR)(Error(b),n,o,a);return d?.debug?.("IMAGE",`Provider error: ${c}`),(0,z.A1)(a,c)}try{if(p.parseResponse){if(m=await p.parseResponse(l,{headers:j,log:d,streamToClient:e,onRequestSuccess:h,url:i,requestBody:k,model:o,body:a}),m?.sseResponse)return{success:!0,response:m.sseResponse}}else m=await l.json()}catch(a){return(0,z.A1)(A.gx.BAD_GATEWAY,a.message||`Invalid response from ${n}`)}h&&await h();let r=p.normalize(m,a.prompt),s=r.created&&Array.isArray(r.data)?r:m;if(f){let b=s.data?.[0],c=b?.b64_json;if(!c&&b?.url)try{c=await I(b.url)}catch{}if(c){let b=Buffer.from(c,"base64"),d=(a.output_format||"png").toLowerCase();return{success:!0,response:new Response(b,{headers:{"Content-Type":"jpeg"===d||"jpg"===d?"image/jpeg":"webp"===d?"image/webp":"image/png","Content-Disposition":`inline; filename="image.${"jpeg"===d?"jpg":d}"`,"Access-Control-Allow-Origin":"*"}})}}}return{success:!0,response:new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}var ap=c(67828),aq=c(57362),ar=c(7803);let as=new Set(["sdwebui","comfyui"]);async function at(a){let b;try{b=await a.json()}catch{return(0,z.yj)(A.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=a.headers.get("x-connection-id")||null,e=(a.headers.get("accept")||"").includes("text/event-stream"),f="binary"===c.searchParams.get("response_format"),g=b.model,{apiKey:h,valid:i}=await (0,v.$A)(a),j=await (0,x.mt)();if(j.requireApiKey){if(!h)return(0,z.yj)(A.gx.UNAUTHORIZED,"Missing API key");if(!i)return(0,z.yj)(A.gx.UNAUTHORIZED,"Invalid API key")}if(!g)return(0,z.yj)(A.gx.BAD_REQUEST,"Missing model");if(!b.prompt)return(0,z.yj)(A.gx.BAD_REQUEST,"Missing required field: prompt");let k=await (0,y.d_)(g);if(k){let c=j.comboStrategies||{},h=c[g]?.fallbackStrategy||j.comboStrategy||"fallback",i=j.comboStickyRoundRobinLimit;return ar.info("IMAGE",`Combo "${g}" with ${k.length} models (strategy: ${h}, sticky: ${i})`),(0,aq.Pr)({body:b,models:k,handleSingleModel:(b,c)=>au(b,c,a,{wantsStream:e,binaryOutput:f,preferredConnectionId:d}),log:ar,comboName:g,comboStrategy:h,comboStickyLimit:i})}return au(b,g,a,{wantsStream:e,binaryOutput:f,preferredConnectionId:d})}async function au(a,b,c,{wantsStream:d,binaryOutput:e,preferredConnectionId:f}={}){let g=await (0,y.mA)(b);if(!g.provider)return(0,z.yj)(A.gx.BAD_REQUEST,"Invalid model format");let{provider:h,model:i}=g,j=await (0,w.K)(c,{model:`${h}/${i}`,body:a});if(j.error)return j.error;if(as.has(h)){let b=await ao({body:a,modelInfo:{provider:h,model:i},credentials:null,binaryOutput:e});return b.success?b.response:(0,z.yj)(b.status||A.gx.BAD_GATEWAY,b.error||"Image generation failed")}let k=new Set,l=null,m=null;for(;;){let b=await (0,v.c1)(h,k,i,{preferredConnectionId:f});if(!b||b.allRateLimited){if(b?.allRateLimited){let a=l||b.lastError||"Unavailable",c=m||Number(b.lastErrorCode)||A.gx.SERVICE_UNAVAILABLE;return(0,z.wO)(c,`[${h}/${i}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(0===k.size)return(0,z.yj)(A.gx.BAD_REQUEST,`No credentials for provider: ${h}`);return(0,z.yj)(m||A.gx.SERVICE_UNAVAILABLE,l||"All accounts unavailable")}let c=await (0,ap.checkAndRefreshToken)(h,b,(0,C.SB)(h)),g=await ao({body:a,modelInfo:{provider:h,model:i},credentials:c,streamToClient:d,binaryOutput:e,onCredentialsRefreshed:async a=>{await (0,ap.vN)(b.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,v.Pt)(b.connectionId,b,i)}});if(g.success)return function(a,b){if(!a||!b?.connectionId)return a;let c=new Headers(a.headers);c.set("x-connection-id",b.connectionId);let d=new Set((c.get("Access-Control-Expose-Headers")||"").split(",").map(a=>a.trim()).filter(Boolean));return d.add("x-connection-id"),c.set("Access-Control-Expose-Headers",[...d].join(", ")),new Response(a.body,{status:a.status,statusText:a.statusText,headers:c})}(g.response,b);if(!1===g.retryable)return g.response;let{shouldFallback:j}=await (0,v.vk)(b.connectionId,g.status,g.error,h,i,g.resetsAtMs);if(j){k.add(b.connectionId),l=g.error,m=g.status;continue}return g.response}}async function av(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function aw(a){return await at(a)}let ax=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/images/generations/route",pathname:"/api/v1/images/generations",filename:"route",bundlePath:"app/api/v1/images/generations/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/v1/images/generations/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:ay,workUnitAsyncStorage:az,serverHooks:aA}=ax;function aB(){return(0,g.patchFetch)({workAsyncStorage:ay,workUnitAsyncStorage:az})}async function aC(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),ax.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/images/generations/route";"/index"===d&&(d="/");let e=await ax.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||ax.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===ax.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await ax.getIncrementalCache(a,x,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>ax.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>ax.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await ax.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await ax.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await ax.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},38775:(a,b,c)=>{c.d(b,{d_:()=>j,mA:()=>h});var d=c(89718),e=c(66451),f=c(99471);c(45502);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"};async function h(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!c.isAlias){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model};let f=(await (0,d.Fh)({type:"custom-video"})).find(a=>a.prefix===c.providerAlias);return f?{provider:f.id,model:c.model}:{provider:c.provider,model:c.model}}if(await (0,d.Dj)(c.model))return{provider:null,model:c.model};let f=await i(c.model);return f||(0,e.js)(a,d.OM)}async function i(a){try{let b=(await (0,d.uv)()).find(b=>b&&b.id===a&&("llm"===b.type||!b.type));if(b&&b.providerAlias)return{provider:(0,e.g2)(b.providerAlias),model:b.id}}catch{}try{let b=await (0,d.OM)(),c=(0,e.sc)(a,b);if(c)return c}catch{}let b=(0,e.PN)(a);if(b)return{provider:b,model:a};try{let b=await (0,f.w)(a);if(b)return b}catch{}return null}async function j(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66451:(a,b,c)=>{c.d(b,{PN:()=>k,Xh:()=>l,ff:()=>i,g2:()=>j,js:()=>n,sc:()=>m});var d=c(45502),e=c(27335);let f={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of d.A)for(let b of(f[a.id]=a.id,a.alias&&(f[a.alias]=a.id),a.aliases||[]))f[b]=a.id;let g={"grok-build":"gcli/grok-build"},h=new Map;for(let a of d.A)a.noAuth&&a.modelsFetcher&&a.alias&&h.set(a.id,a.alias);function i(a,b){let c,d,e;if(a&&"object"==typeof a?(c=a.requestedModel,d=a.provider,e=a.model):(c=a,d=b?.provider,e=b?.model),!c||c.includes("/"))return c;let f=h.get(d);return f?`${f}/${e}`:c}function j(a){return f[a]||a}function k(a){if(!a)return null;let b=[];for(let[c,d]of Object.entries(e.PROVIDER_MODELS))Array.isArray(d)&&d.some(b=>b&&b.id===a)&&b.push(c);if(0===b.length)return null;if(1===b.length)return j(b[0]);let c=b.find(b=>a.startsWith(b));return c?j(c):null}function l(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:j(c),model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}function m(a,b){if(!b)return null;let c=b[a];if(!c)return null;if("string"==typeof c&&c.includes("/")){let a=c.indexOf("/");return{provider:j(c.slice(0,a)),model:c.slice(a+1)}}return"object"==typeof c&&c.provider&&c.model?{provider:j(c.provider),model:c.model}:null}async function n(a,b){let c=l(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,e=m(c.model,d)||m(c.model,g);return e||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return"default"===b||"auto"===b?"cursor":o.find(([a])=>a.test(b))?.[1]||"openai"}(c.model),model:c.model}}let o=[[/^claude-/,"anthropic"],[/^gemini-/,"gemini"],[/^grok-/,"xai"],[/^gpt-/,"openai"],[/^o[134]/,"openai"],[/^deepseek-/,"openrouter"]]},68001:(a,b,c)=>{c.d(b,{S:()=>f});var d=c(38071);let e=["big-pickle"],f={"openrouter-free":a=>a.filter(a=>a.pricing?.prompt==="0"&&a.pricing?.completion==="0"&&a.context_length>=2e5).map(a=>({id:a.id,name:a.name,contextLength:a.context_length})).sort((a,b)=>b.contextLength-a.contextLength),"opencode-free":a=>a.filter(a=>a.id?.endsWith("-free")||e.includes(a.id)).map(a=>({id:a.id,name:a.id})),"mimo-free":a=>(Array.isArray(a)?a:[]).filter(a=>a.id?.startsWith("mimo")||a.name?.toLowerCase().includes("mimo")).map(a=>({id:a.id,name:a.name||a.id})),"nous-free":d.pD}},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79868:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},99471:(a,b,c)=>{c.d(b,{Y:()=>k,w:()=>j});var d=c(68001);let e=null,f=0,g=null;async function h(){let a=new AbortController,b=setTimeout(()=>a.abort(),5e3);try{let b=await fetch("https://opencode.ai/zen/v1/models",{signal:a.signal});if(!b.ok)return e||[];let c=await b.json(),g=c.data??c.models??c,h=d.S["opencode-free"](Array.isArray(g)?g:[]);return e=h,f=Date.now(),h}catch{return e||[]}finally{clearTimeout(b)}}async function i(){if(e&&Date.now()-f<6e5)return e;if(!g){g=h();try{return await g}finally{g=null}}return g}async function j(a){let b=(await i()).find(b=>b&&b.id===a);return b?{provider:"opencode",model:b.id}:"big-pickle"===a||String(a).endsWith("-free")?{provider:"opencode",model:a}:null}async function k(){return await i()}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,7774,7965,5502,1522,4646,3904,8851,8946,8129,3148,9884,871,7828,7353,9276,2547,7456,7362,5841],()=>b(b.s=36244));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=2922,a.ids=[2922],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},39006:a=>{"use strict";a.exports={rE:"0.5.84"}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55591:a=>{"use strict";a.exports=require("https")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},72671:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>G,patchFetch:()=>F,routeModule:()=>B,serverHooks:()=>E,workAsyncStorage:()=>C,workUnitAsyncStorage:()=>D});var d={};c.r(d),c.d(d,{GET:()=>A});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(55591),w=c.n(v),x=c(39006);let y=global.__npmVersionCache??={value:null,fetchedAt:0};async function z(){if(y.value&&Date.now()-y.fetchedAt<36e5)return y.value;let a=await new Promise(a=>{let b=w().get("https://registry.npmjs.org/@rabbi696/ezrouter/latest",{timeout:4e3},b=>{let c="";b.on("data",a=>c+=a),b.on("end",()=>{try{a(JSON.parse(c).version||null)}catch{a(null)}})});b.on("error",()=>a(null)),b.on("timeout",()=>{b.destroy(),a(null)})});return a&&(y.value=a,y.fetchedAt=Date.now()),a}async function A(){let a=await z(),b=x.rE,c=!!a&&function(a,b){let c=a.split(".").map(Number),d=b.split(".").map(Number);for(let a=0;a<3;a++){if(c[a]>d[a])return 1;if(c[a]<d[a])return -1}return 0}(a,b)>0;return Response.json({currentVersion:b,latestVersion:a,hasUpdate:c})}let B=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/version/route",pathname:"/api/version",filename:"route",bundlePath:"app/api/version/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/version/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:D,serverHooks:E}=B;function F(){return(0,g.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:D})}async function G(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),B.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/version/route";"/index"===d&&(d="/");let e=await B.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||B.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===B.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await B.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>B.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>B.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await B.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await B.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await B.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},92280:(a,b,c)=>{"use strict";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()}}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741],()=>b(b.s=72671));module.exports=c})();
1
+ (()=>{var a={};a.id=2922,a.ids=[2922],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},39006:a=>{"use strict";a.exports={rE:"0.5.87"}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55591:a=>{"use strict";a.exports=require("https")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},72671:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>G,patchFetch:()=>F,routeModule:()=>B,serverHooks:()=>E,workAsyncStorage:()=>C,workUnitAsyncStorage:()=>D});var d={};c.r(d),c.d(d,{GET:()=>A});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(55591),w=c.n(v),x=c(39006);let y=global.__npmVersionCache??={value:null,fetchedAt:0};async function z(){if(y.value&&Date.now()-y.fetchedAt<36e5)return y.value;let a=await new Promise(a=>{let b=w().get("https://registry.npmjs.org/@rabbi696/ezrouter/latest",{timeout:4e3},b=>{let c="";b.on("data",a=>c+=a),b.on("end",()=>{try{a(JSON.parse(c).version||null)}catch{a(null)}})});b.on("error",()=>a(null)),b.on("timeout",()=>{b.destroy(),a(null)})});return a&&(y.value=a,y.fetchedAt=Date.now()),a}async function A(){let a=await z(),b=x.rE,c=!!a&&function(a,b){let c=a.split(".").map(Number),d=b.split(".").map(Number);for(let a=0;a<3;a++){if(c[a]>d[a])return 1;if(c[a]<d[a])return -1}return 0}(a,b)>0;return Response.json({currentVersion:b,latestVersion:a,hasUpdate:c})}let B=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/version/route",pathname:"/api/version",filename:"route",bundlePath:"app/api/version/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/Volumes/Files/Projects/EzRouter/EzRouter/src/app/api/version/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:D,serverHooks:E}=B;function F(){return(0,g.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:D})}async function G(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),B.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/version/route";"/index"===d&&(d="/");let e=await B.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||B.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===B.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await B.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>B.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>B.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await B.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await B.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await B.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},92280:(a,b,c)=>{"use strict";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()}}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741],()=>b(b.s=72671));module.exports=c})();